﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/wae.xml
// *
// ***************************************************************************
wae{
    Countries{
        001{"Wäld"}
        002{"Afrika"}
        003{"Nordamerika"}
        005{"Südamerika"}
        009{"Ozeanie"}
        011{"Weštafrika"}
        013{"Zentralamerika"}
        014{"Oštafrika"}
        015{"Nordafrika"}
        017{"Mittelafrika"}
        018{"Südličs Afrika"}
        019{"Amerikaniš Kontinänt"}
        021{"Nördličs Amerika"}
        029{"Karibik"}
        030{"Oštasie"}
        034{"Südasie"}
        035{"Südoštasie"}
        039{"Südeuropa"}
        053{"Auštralie und Niwséland"}
        054{"Melanesie"}
        057{"Mikronesišes Inselgebiet"}
        061{"Polinesie"}
        142{"Asie"}
        143{"Zentralasie"}
        145{"Weštasie"}
        150{"Europa"}
        151{"Ošteuropa"}
        154{"Nordeuropa"}
        155{"Wešteuropa"}
        419{"Latíamerika"}
        AC{"Himmelfártsinsla"}
        AD{"Andorra"}
        AE{"Vereinigti Arabiše Emirat"}
        AF{"Afganištan"}
        AG{"Antigua und Barbuda"}
        AI{"Anguilla"}
        AL{"Albanie"}
        AM{"Armenie"}
        AN{"Holändiši Antillä"}
        AO{"Angola"}
        AQ{"Antarktis"}
        AR{"Argentinie"}
        AS{"Amerikaniš Samoa"}
        AT{"Öštrič"}
        AU{"Australie"}
        AW{"Aruba"}
        AX{"Alandinslä"}
        AZ{"Aserbaidšan"}
        BA{"Bosnie und Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladeš"}
        BE{"Belgie"}
        BF{"Burkina Faso"}
        BG{"Bulgarie"}
        BH{"Bačrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"St. Bartholomäus-Insla"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Boliwie"}
        BR{"Brasilie"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Bouvetinsla"}
        BW{"Botswana"}
        BY{"Wísrussland"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosinslä"}
        CD{"Kongo-Kinshasa"}
        CF{"Zentralafrikaniši Rebublik"}
        CG{"Kongo Brazzaville"}
        CH{"Schwiz"}
        CI{"Elfebeiküšta"}
        CK{"Cookinslä"}
        CL{"Tšile"}
        CM{"Kamerun"}
        CN{"China"}
        CO{"Kolumbie"}
        CP{"Clipperton Insla"}
        CR{"Costa Rica"}
        CU{"Kuba"}
        CV{"Kap Verde"}
        CX{"Wienäčtsinslä"}
        CY{"Zypre"}
        CZ{"Tšečie"}
        DE{"Titšland"}
        DG{"Diego Garcia"}
        DJ{"Dšibuti"}
        DK{"Dänemark"}
        DM{"Doninica"}
        DO{"Dominikaniši Rebublik"}
        DZ{"Algerie"}
        EA{"Ceuta und Melilla"}
        EC{"Ecuador"}
        EE{"Eštland"}
        EG{"Egypte"}
        EH{"Weštsahara"}
        ER{"Eritrea"}
        ES{"Schpanie"}
        ET{"Ethiopie"}
        EU{"Europäiši Unio"}
        FI{"Finnland"}
        FJ{"Fidši"}
        FK{"Falklandinslä"}
        FM{"Mikronesie"}
        FO{"Färöe"}
        FR{"Frankrič"}
        GA{"Gabon"}
        GB{"England"}
        GD{"Grenada"}
        GE{"Georgie"}
        GF{"Französiš Guiana"}
        GG{"Guernsey"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Grönland"}
        GM{"Gambia"}
        GN{"Ginea"}
        GP{"Guadeloupe"}
        GQ{"Equatorialginea"}
        GR{"Gričeland"}
        GS{"Südgeorgie und d’südliče Senwičinslä"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Ginea Bissau"}
        GY{"Guyana"}
        HK{"Hongkong"}
        HM{"Heard- und McDonald-Inslä"}
        HN{"Honduras"}
        HR{"Kroatie"}
        HT{"Haiti"}
        HU{"Ungare"}
        IC{"Kanariše Inslä"}
        ID{"Indonesie"}
        IE{"Irland"}
        IL{"Israel"}
        IM{"Isle of Man"}
        IN{"Indie"}
        IO{"Britišes Territorium em indiše Ozean"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italie"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Jordanie"}
        JP{"Japan"}
        KE{"Kenya"}
        KG{"Kirgištan"}
        KH{"Kambodša"}
        KI{"Kiribati"}
        KM{"Komore"}
        KN{"St. Kitts und Nevis"}
        KP{"Nordkorea"}
        KR{"Südkorea"}
        KW{"Kuweit"}
        KY{"Kaimaninslä"}
        KZ{"Kasačstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"St. Lucia"}
        LI{"Liečteštei"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Litaue"}
        LU{"Luxeburg"}
        LV{"Lettland"}
        LY{"Lübie"}
        MA{"Maroko"}
        MC{"Monago"}
        MD{"Moldau"}
        ME{"Montenegro"}
        MF{"St. Martin"}
        MG{"Madagaskar"}
        MH{"Maršalinslä"}
        MK{"Mazedonie"}
        ML{"Mali"}
        MM{"Burma"}
        MN{"Mongolei"}
        MO{"Makau"}
        MP{"Nördliči Mariane"}
        MQ{"Martinique"}
        MR{"Mauretanie"}
        MS{"Monserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Malediwe"}
        MW{"Malawi"}
        MX{"Mexiko"}
        MY{"Malaysia"}
        MZ{"Mosambik"}
        NA{"Namibia"}
        NC{"Niwkaledonie"}
        NE{"Niger"}
        NF{"Norfolkinsla"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Holand"}
        NO{"Norwäge"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Niwséland"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Französiš Polinesie"}
        PG{"Papua Niwginea"}
        PH{"Philippine"}
        PK{"Pakištan"}
        PL{"Pole"}
        PM{"St. Pierre und Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Paleština"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Katar"}
        QO{"Üssers Ozeanie"}
        RE{"Réunion"}
        RO{"Rumänie"}
        RS{"Serbie"}
        RU{"Russland"}
        RW{"Ruanda"}
        SA{"Saudi Arabie"}
        SB{"Salomone"}
        SC{"Sečelle"}
        SD{"Sudan"}
        SE{"Schwede"}
        SG{"Singapur"}
        SH{"St. Helena"}
        SI{"Slowenie"}
        SJ{"Svalbard und Jan Mayen"}
        SK{"Slowakei"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Suriname"}
        ST{"São Tomé and Príncipe"}
        SV{"El Salvador"}
        SY{"Sürie"}
        SZ{"Swasiland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- und Caicosinslä"}
        TD{"Tšad"}
        TF{"Französiši Süd- und Antarktisgebiet"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadšikistan"}
        TK{"Tokelau"}
        TL{"Ošttimor"}
        TM{"Turkmeništan"}
        TN{"Tunesie"}
        TO{"Tonga"}
        TR{"Türkei"}
        TT{"Trinidad und Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tansania"}
        UA{"Ukraine"}
        UG{"Uganda"}
        UM{"Amerikaniš Ozeanie"}
        US{"Amerika"}
        UY{"Urugauy"}
        UZ{"Usbekištan"}
        VA{"Vatikan"}
        VC{"St. Vincent und d’Grenadine"}
        VE{"Venezuela"}
        VG{"Britiši Jungfröiwinslä"}
        VI{"Amerikaniši Jungfröiwinslä"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis und Futuna"}
        WS{"Samoa"}
        YE{"Jéme"}
        YT{"Moyette"}
        ZA{"Südafrika"}
        ZM{"Sambia"}
        ZW{"Simbabwe"}
        ZZ{"Unbekannti Regio"}
    }
    Countries%variant{
        CD{"Kongo (Demokratiši Rebublik)"}
        CG{"Kongo (Rebublik)"}
        CI{"Côte d’Ivoire"}
        FK{"Falklandinslä (Malwine)"}
        MK{"Mazedonie (EJR)"}
        TL{"Wešttimor"}
    }
    Version{"2.1.19.14"}
}
