﻿// ***************************************************************************
// *
// * 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"}
        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"}
        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{"Palestina"}
        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"}
        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.19.14"}
}
