﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/hu.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/hu.xml
 */
hu{
    Countries{
        001{"Világ"}
        002{"Afrika"}
        003{"Észak-Amerika"}
        005{"Dél-Amerika"}
        009{"Óceánia"}
        011{"Nyugat-Afrika"}
        013{"Közép-Amerika"}
        014{"Kelet-Afrika"}
        015{"Észak-Afrika"}
        017{"Közép-Afrika"}
        018{"Afrika déli része"}
        019{"Amerika"}
        021{"Amerika északi része"}
        029{"Karib-térség"}
        030{"Kelet-Ázsia"}
        034{"Dél-Ázsia"}
        035{"Délkelet-Ázsia"}
        039{"Dél-Európa"}
        053{"Ausztrálázsia"}
        054{"Melanézia"}
        057{"Mikronéziai régió"}
        061{"Polinézia"}
        142{"Ázsia"}
        143{"Közép-Ázsia"}
        145{"Nyugat-Ázsia"}
        150{"Európa"}
        151{"Kelet-Európa"}
        154{"Észak-Európa"}
        155{"Nyugat-Európa"}
        419{"Latin-Amerika"}
        AC{"Ascension-sziget"}
        AD{"Andorra"}
        AE{"Egyesült Arab Emirátus"}
        AF{"Afganisztán"}
        AG{"Antigua és Barbuda"}
        AI{"Anguilla"}
        AL{"Albánia"}
        AM{"Örményország"}
        AN{"Holland Antillák"}
        AO{"Angola"}
        AQ{"Antarktisz"}
        AR{"Argentína"}
        AS{"Amerikai Szamoa"}
        AT{"Ausztria"}
        AU{"Ausztrália"}
        AW{"Aruba"}
        AX{"Åland-szigetek"}
        AZ{"Azerbajdzsán"}
        BA{"Bosznia-Hercegovina"}
        BB{"Barbados"}
        BD{"Banglades"}
        BE{"Belgium"}
        BF{"Burkina Faso"}
        BG{"Bulgária"}
        BH{"Bahrein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolívia"}
        BQ{"Holland Karib-térség"}
        BR{"Brazília"}
        BS{"Bahama-szigetek"}
        BT{"Bhután"}
        BV{"Bouvet-sziget"}
        BW{"Botswana"}
        BY{"Fehéroroszország"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kókusz-szigetek"}
        CD{"Kongó - Kinshasa"}
        CF{"Közép-afrikai Köztársaság"}
        CG{"Kongó - Brazzaville"}
        CH{"Svájc"}
        CI{"Elefántcsontpart"}
        CK{"Cook-szigetek"}
        CL{"Chile"}
        CM{"Kamerun"}
        CN{"Kína"}
        CO{"Kolumbia"}
        CP{"Clipperton-sziget"}
        CR{"Costa Rica"}
        CU{"Kuba"}
        CV{"Zöld-foki Köztársaság"}
        CW{"Curaçao"}
        CX{"Karácsony-sziget"}
        CY{"Ciprus"}
        CZ{"Csehország"}
        DE{"Németország"}
        DG{"Diego Garcia"}
        DJ{"Dzsibuti"}
        DK{"Dánia"}
        DM{"Dominika"}
        DO{"Dominikai Köztársaság"}
        DZ{"Algéria"}
        EA{"Ceuta és Melilla"}
        EC{"Ecuador"}
        EE{"Észtország"}
        EG{"Egyiptom"}
        EH{"Nyugat-Szahara"}
        ER{"Eritrea"}
        ES{"Spanyolország"}
        ET{"Etiópia"}
        EU{"Európai Unió"}
        FI{"Finnország"}
        FJ{"Fidzsi-szigetek"}
        FK{"Falkland-szigetek"}
        FM{"Mikronézia"}
        FO{"Feröer-szigetek"}
        FR{"Franciaország"}
        GA{"Gabon"}
        GB{"Egyesült Királyság"}
        GD{"Grenada"}
        GE{"Grúzia"}
        GF{"Francia Guyana"}
        GG{"Guernsey"}
        GH{"Ghána"}
        GI{"Gibraltár"}
        GL{"Grönland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Egyenlítői-Guinea"}
        GR{"Görögország"}
        GS{"Déli-Georgia és Déli-Sandwich-szigetek"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hongkong SAR Kína"}
        HM{"Heard-sziget és McDonald-szigetek"}
        HN{"Honduras"}
        HR{"Horvátország"}
        HT{"Haiti"}
        HU{"Magyarország"}
        IC{"Kanári-szigetek"}
        ID{"Indonézia"}
        IE{"Írország"}
        IL{"Izrael"}
        IM{"Man-sziget"}
        IN{"India"}
        IO{"Brit Indiai-óceáni Terület"}
        IQ{"Irak"}
        IR{"Irán"}
        IS{"Izland"}
        IT{"Olaszország"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordánia"}
        JP{"Japán"}
        KE{"Kenya"}
        KG{"Kirgizisztán"}
        KH{"Kambodzsa"}
        KI{"Kiribati"}
        KM{"Comore-szigetek"}
        KN{"Saint Kitts és Nevis"}
        KP{"Észak-Korea"}
        KR{"Dél-Korea"}
        KW{"Kuvait"}
        KY{"Kajmán-szigetek"}
        KZ{"Kazahsztán"}
        LA{"Laosz"}
        LB{"Libanon"}
        LC{"Santa Lucia"}
        LI{"Liechtenstein"}
        LK{"Srí Lanka"}
        LR{"Libéria"}
        LS{"Lesotho"}
        LT{"Litvánia"}
        LU{"Luxemburg"}
        LV{"Lettország"}
        LY{"Líbia"}
        MA{"Marokkó"}
        MC{"Monaco"}
        MD{"Moldova"}
        ME{"Montenegró"}
        MF{"Saint Martin"}
        MG{"Madagaszkár"}
        MH{"Marshall-szigetek"}
        MK{"Macedónia"}
        ML{"Mali"}
        MM{"Mianmar (Burma)"}
        MN{"Mongólia"}
        MO{"Makaó SAR Kína"}
        MP{"Északi Mariana-szigetek"}
        MQ{"Martinique"}
        MR{"Mauritánia"}
        MS{"Montserrat"}
        MT{"Málta"}
        MU{"Mauritius"}
        MV{"Maldív-szigetek"}
        MW{"Malawi"}
        MX{"Mexikó"}
        MY{"Malajzia"}
        MZ{"Mozambik"}
        NA{"Namíbia"}
        NC{"Új-Kaledónia"}
        NE{"Niger"}
        NF{"Norfolk-sziget"}
        NG{"Nigéria"}
        NI{"Nicaragua"}
        NL{"Hollandia"}
        NO{"Norvégia"}
        NP{"Nepál"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Új-Zéland"}
        OM{"Omán"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Francia Polinézia"}
        PG{"Pápua Új-Guinea"}
        PH{"Fülöp-szigetek"}
        PK{"Pakisztán"}
        PL{"Lengyelország"}
        PM{"Saint Pierre és Miquelon"}
        PN{"Pitcairn-szigetek"}
        PR{"Puerto Rico"}
        PS{"Palesztin Terület"}
        PT{"Portugália"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Külső-Óceánia"}
        RE{"Reunion"}
        RO{"Románia"}
        RS{"Szerbia"}
        RU{"Oroszország"}
        RW{"Ruanda"}
        SA{"Szaúd-Arábia"}
        SB{"Salamon-szigetek"}
        SC{"Seychelle-szigetek"}
        SD{"Szudán"}
        SE{"Svédország"}
        SG{"Szingapúr"}
        SH{"Szent Ilona"}
        SI{"Szlovénia"}
        SJ{"Spitzbergák és Jan Mayen-szigetek"}
        SK{"Szlovákia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Szenegál"}
        SO{"Szomália"}
        SR{"Suriname"}
        SS{"Dél-Szudán"}
        ST{"Sao Tomé és Príncipe"}
        SV{"Salvador"}
        SX{"Sint Maarten"}
        SY{"Szíria"}
        SZ{"Szváziföld"}
        TA{"Tristan da Cunha"}
        TC{"Turks- és Caicos-szigetek"}
        TD{"Csád"}
        TF{"Francia Déli Területek"}
        TG{"Togo"}
        TH{"Thaiföld"}
        TJ{"Tádzsikisztán"}
        TK{"Tokelau"}
        TL{"Kelet-Timor"}
        TM{"Türkmenisztán"}
        TN{"Tunézia"}
        TO{"Tonga"}
        TR{"Törökország"}
        TT{"Trinidad és Tobago"}
        TV{"Tuvalu"}
        TW{"Tajvan"}
        TZ{"Tanzánia"}
        UA{"Ukrajna"}
        UG{"Uganda"}
        UM{"Amerikai Csendes-óceáni Szigetek"}
        US{"Egyesült Államok"}
        UY{"Uruguay"}
        UZ{"Üzbegisztán"}
        VA{"Vatikán"}
        VC{"Saint Vincent és a Grenadine-szigetek"}
        VE{"Venezuela"}
        VG{"Brit Virgin-szigetek"}
        VI{"Amerikai Virgin-szigetek"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis- és Futuna-szigetek"}
        WS{"Szamoa"}
        XK{"Koszovó"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Dél-afrikai Köztársaság"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Ismeretlen körzet"}
    }
    CountriesShort{
        GB{"UK"}
        HK{"Hongkong"}
        MO{"Makaó"}
        PS{"Palesztina"}
        US{"USA"}
    }
    Version{"2.0.98.52"}
}
