﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <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 Emírségek"}
        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"}
        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{"Bissau-Guinea"}
        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"}
    }
    Countries%short{
        GB{"UK"}
        HK{"Hongkong"}
        MO{"Makaó"}
        PS{"Palesztina"}
        US{"USA"}
    }
    Countries%variant{
        CD{"Kongó (KDK)"}
        CG{"Kongó (Köztársaság)"}
        FK{"Falkland-szigetek (Malvin-szigetek)"}
        MK{"Macedónia (MVJK)"}
    }
    Version{"2.1.19.17"}
}
