﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <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 Emirerri 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{"Saint Barthélemy"}
        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 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{"Guernesey"}
        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{"Tajikistan"}
        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"}
    }
    Countries%short{
        GB{"EB"}
        HK{"Hong Kong"}
        MO{"Macau"}
        PS{"Palestina"}
        US{"AEB"}
    }
    Countries%variant{
        CD{"Kongo (KED)"}
        CG{"Kongo (errepublika)"}
        FK{"Falkland uharteak (Malvina uharteak)"}
        MK{"Mazedonia (Mazedoniako Yugoslaviar Errepublika ohia)"}
        TL{"Timor ekialdea"}
    }
    Version{"2.1.12.94"}
}
