﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/eu.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/eu.xml
 */
eu{
    Countries{
        001{"Mundua"}
        002{"Afrika"}
        003{"Ipar Amerika"}
        005{"Hego Amerika"}
        009{"Ozeania"}
        011{"Afrika mendebaldea"}
        013{"Erdialdeko Amerika"}
        014{"Afrika ekialdea"}
        015{"Afrika iparraldea"}
        017{"Erdialdeko Afrika"}
        018{"Afrika hegoaldea"}
        019{"Amerika"}
        021{"Amerika iparraldea"}
        029{"Karibea"}
        030{"Asia ekialdea"}
        034{"Asia hegoaldea"}
        035{"Asia hego-ekialdea"}
        039{"Europa hegoaldea"}
        053{"Australasia"}
        054{"Melanesia"}
        057{"Mikronesia eskualdea"}
        061{"Polinesia"}
        142{"Asia"}
        143{"Asia erdialdea"}
        145{"Asia mendebaldea"}
        150{"Europa"}
        151{"Europa ekialdea"}
        154{"Europa iparraldea"}
        155{"Europa mendebaldea"}
        419{"Latinoamerika"}
        AC{"Ascension uhartea"}
        AD{"Andorra"}
        AE{"Arabiar Emirrerri Batuak"}
        AF{"Afganistan"}
        AG{"Antigua eta Barbuda"}
        AI{"Angila"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Holandarren Antillak"}
        AO{"Angola"}
        AQ{"Antartika"}
        AR{"Argentina"}
        AS{"Amerikar Samoa"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Aland uharteak"}
        AZ{"Azerbaijan"}
        BA{"Bosnia-Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgika"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"San Bartolome"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Karibeko Herbehereak"}
        BR{"Brasil"}
        BS{"Bahamak"}
        BT{"Bhutan"}
        BV{"Bouvet Uhartea"}
        BW{"Botswana"}
        BY{"Bielorrusia"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Cocos (Keeling) uharteak"}
        CD{"Kongoko Errepublika Demokratikoa"}
        CF{"Afrika Erdiko Errepublika"}
        CG{"Kongo (Brazzaville)"}
        CH{"Suitza"}
        CI{"Boli Kosta"}
        CK{"Cook uharteak"}
        CL{"Txile"}
        CM{"Kamerun"}
        CN{"Txina"}
        CO{"Kolonbia"}
        CP{"Clipperton uhartea"}
        CR{"Costa Rica"}
        CU{"Kuba"}
        CV{"Cabo Verde"}
        CW{"Curaçao"}
        CX{"Christmas uhartea"}
        CY{"Zipre"}
        CZ{"Txekiar Errepublika"}
        DE{"Alemania"}
        DG{"Diego Garcia"}
        DJ{"Djibuti"}
        DK{"Danimarka"}
        DM{"Dominika"}
        DO{"Dominikar Errepublika"}
        DZ{"Aljeria"}
        EA{"Ceuta eta Melilla"}
        EC{"Ekuador"}
        EE{"Estonia"}
        EG{"Egipto"}
        EH{"Mendebaldeko Sahara"}
        ER{"Eritrea"}
        ES{"Espainia"}
        ET{"Etiopia"}
        EU{"Europar Batasuna"}
        FI{"Finlandia"}
        FJ{"Fiji"}
        FK{"Malvinak"}
        FM{"Mikronesia"}
        FO{"Faroe uharteak"}
        FR{"Frantzia"}
        GA{"Gabon"}
        GB{"Erresuma Batua"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Guyana Frantsesa"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Groenlandia"}
        GM{"Gambia"}
        GN{"Ginea"}
        GP{"Guadalupe"}
        GQ{"Ekuatore Ginea"}
        GR{"Grezia"}
        GS{"Hegoaldeko Georgia eta Hegoaldeko Sandwich uharteak"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Ginea-Bissau"}
        GY{"Guyana"}
        HK{"Hong Kong AEB Txina"}
        HM{"Heard eta McDonald uharteak"}
        HN{"Honduras"}
        HR{"Kroazia"}
        HT{"Haiti"}
        HU{"Hungaria"}
        IC{"Kanariak"}
        ID{"Indonesia"}
        IE{"Irlanda"}
        IL{"Israel"}
        IM{"Man uhartea"}
        IN{"India"}
        IO{"Indiako Ozeanoko lurralde britainiarra"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Islandia"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Jordania"}
        JP{"Japonia"}
        KE{"Kenya"}
        KG{"Kirgizistan"}
        KH{"Kanbodia"}
        KI{"Kiribati"}
        KM{"Komoreak"}
        KN{"Saint Kitts eta Nevis"}
        KP{"Ipar Korea"}
        KR{"Hego Korea"}
        KW{"Kuwait"}
        KY{"Kaiman uharteak"}
        KZ{"Kazakhstan"}
        LA{"Laos"}
        LB{"Libano"}
        LC{"Santa Luzia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lituania"}
        LU{"Luxenburgo"}
        LV{"Letonia"}
        LY{"Libia"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Moldavia"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Marshall uharteak"}
        MK{"Mazedonia"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolia"}
        MO{"Macau AEB Txina"}
        MP{"Iparraldeko Mariana uharteak"}
        MQ{"Martinika"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Maurizio"}
        MV{"Maldivak"}
        MW{"Malawi"}
        MX{"Mexiko"}
        MY{"Malaysia"}
        MZ{"Mozambike"}
        NA{"Namibia"}
        NC{"Kaledonia Berria"}
        NE{"Niger"}
        NF{"Norfolk uhartea"}
        NG{"Nigeria"}
        NI{"Nikaragua"}
        NL{"Herbehereak"}
        NO{"Norvegia"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Zeelanda Berria"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polinesia Frantsesa"}
        PG{"Papua Ginea Berria"}
        PH{"Filipinak"}
        PK{"Pakistan"}
        PL{"Polonia"}
        PM{"Saint-Pierre eta Mikelune"}
        PN{"Pitcairn uharteak"}
        PR{"Puerto Rico"}
        PS{"Palestinako Lurraldeak"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguai"}
        QA{"Qatar"}
        QO{"Mugaz kanpoko Ozeania"}
        RE{"Reunion"}
        RO{"Errumania"}
        RS{"Serbia"}
        RU{"Errusia"}
        RW{"Ruanda"}
        SA{"Saudi Arabia"}
        SB{"Salomon uharteak"}
        SC{"Seychelleak"}
        SD{"Sudan"}
        SE{"Suedia"}
        SG{"Singapur"}
        SH{"Saint Helena"}
        SI{"Eslovenia"}
        SJ{"Svalbard eta Jan Mayen uharteak"}
        SK{"Eslovakia"}
        SL{"Sierra Leona"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        SS{"Hego Sudan"}
        ST{"Sao Tome eta Principe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Siria"}
        SZ{"Swazilandia"}
        TA{"Tristan da Cunha"}
        TC{"Turk eta Caicos uharteak"}
        TD{"Txad"}
        TF{"Hegoaldeko lurralde frantsesak"}
        TG{"Togo"}
        TH{"Thailandia"}
        TJ{"Tadjikistan"}
        TK{"Tokelau"}
        TL{"Ekialdeko Timor"}
        TM{"Turkmenistan"}
        TN{"Tunisia"}
        TO{"Tonga"}
        TR{"Turkia"}
        TT{"Trinidad eta Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"Ameriketako Estatu Batuetako Kanpoaldeko Uharte Txikiak"}
        US{"Ameriketako Estatu Batuak"}
        UY{"Uruguai"}
        UZ{"Uzbekistan"}
        VA{"Vatikano Hiria"}
        VC{"Saint Vincent eta Grenadinak"}
        VE{"Venezuela"}
        VG{"Birjina uharte britainiarrak"}
        VI{"Birjina uharte amerikarrak"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis eta Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Hegoafrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Eskualde ezezaguna"}
    }
    CountriesShort{
        HK{"Hong Kong"}
        MO{"Macau"}
        PS{"Palestina"}
        US{"AEB"}
    }
    Version{"2.0.96.25"}
}
