﻿// ***************************************************************************
// *
// * 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"}
        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ó"}
        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{"Palesztina"}
        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"}
        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"}
}
