﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/wae.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <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{"Sonderverwaltigszona 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{"Sonderverwaltigszona 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"}
    }
    CountriesShort{
        HK{"Hongkong"}
        MO{"Makau"}
    }
    Version{"2.1.7.53"}
}
