﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/hr.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/hr.xml
 */
hr{
    Countries{
        001{"Svijet"}
        002{"Afrika"}
        003{"Sjevernoamerički kontinent"}
        005{"Južna Amerika"}
        009{"Oceanija"}
        011{"Zapadna Afrika"}
        013{"Centralna Amerika"}
        014{"Istočna Afrika"}
        015{"Sjeverna Afrika"}
        017{"Središnja Afrika"}
        018{"Južna Afrika"}
        019{"Amerike"}
        021{"Sjeverna Amerika"}
        029{"Karibi"}
        030{"Istočna Azija"}
        034{"Južna Azija"}
        035{"Jugoistočna Azija"}
        039{"Južna Europa"}
        053{"Australija i Novi Zeland"}
        054{"Melanezija"}
        057{"Mikronezki oblast"}
        061{"Polinezija"}
        062{"Južno-centralna Azija"}
        142{"Azija"}
        143{"Srednja Azija"}
        145{"Zapadna Azija"}
        150{"Europa"}
        151{"Istočna Europa"}
        154{"Sjeverna Europa"}
        155{"Zapadna Europa"}
        172{"Zajednica nezavisnih država"}
        419{"Latinska Amerika i Karibi"}
        830{"Kanalski otoci"}
        AD{"Andora"}
        AE{"Ujedinjeni Arapski Emirati"}
        AF{"Afganistan"}
        AG{"Antigua i Barbuda"}
        AI{"Anguila"}
        AL{"Albanija"}
        AM{"Armenija"}
        AN{"Nizozemski Antili"}
        AO{"Angola"}
        AQ{"Antarktik"}
        AR{"Argentina"}
        AS{"Američka Samoa"}
        AT{"Austrija"}
        AU{"Australija"}
        AW{"Aruba"}
        AX{"Alandski otoci"}
        AZ{"Azerbajdžan"}
        BA{"Bosna i Hercegovina"}
        BB{"Barbados"}
        BD{"Bangladeš"}
        BE{"Belgija"}
        BF{"Burkina Faso"}
        BG{"Bugarska"}
        BH{"Bahrein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Sveti Bartolomej"}
        BM{"Bermuda"}
        BN{"Brunej"}
        BO{"Bolivija"}
        BR{"Brazil"}
        BS{"Bahami"}
        BT{"Butan"}
        BV{"Otok Bouvet"}
        BW{"Bocvana"}
        BY{"Bjelorusija"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosovi Otoci"}
        CD{"Demokratska Republika Kongo"}
        CF{"Srednjoafrička Republika"}
        CG{"Kongo"}
        CH{"Švicarska"}
        CI{"Obala Bjelokosti"}
        CK{"Kukovi Otoci"}
        CL{"Čile"}
        CM{"Kamerun"}
        CN{"Kina"}
        CO{"Kolumbija"}
        CR{"Kostarika"}
        CS{"Srbija i Crna Gora"}
        CU{"Kuba"}
        CV{"Zeleni Rt"}
        CX{"Božićni Otok"}
        CY{"Cipar"}
        CZ{"Češka Republika"}
        DE{"Njemačka"}
        DJ{"Džibuti"}
        DK{"Danska"}
        DM{"Dominika"}
        DO{"Dominikanska Republika"}
        DZ{"Alžir"}
        EC{"Ekvador"}
        EE{"Estonija"}
        EG{"Egipat"}
        EH{"Zapadna Sahara"}
        ER{"Eritreja"}
        ES{"Španjolska"}
        ET{"Etiopija"}
        FI{"Finska"}
        FJ{"Fidži"}
        FK{"Falklandski Otoci"}
        FM{"Mikronezija"}
        FO{"Farski Otoci"}
        FR{"Francuska"}
        GA{"Gabon"}
        GB{"Velika Britanija"}
        GD{"Grenada"}
        GE{"Gruzija"}
        GF{"Francuska Gvajana"}
        GG{"Guernsey"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Grenland"}
        GM{"Gambija"}
        GN{"Gvineja"}
        GP{"Guadeloupe"}
        GQ{"Ekvatorska Gvineja"}
        GR{"Grčka"}
        GS{"Južna Gruzija i Južni Sendvič Otoci"}
        GT{"Gvatemala"}
        GU{"Guam"}
        GW{"Gvineja Bisau"}
        GY{"Gvajana"}
        HK{"Hong Kong S.A.R. Kine"}
        HM{"Otok Heard i Otoci McDonald"}
        HN{"Honduras"}
        HR{"Hrvatska"}
        HT{"Haiti"}
        HU{"Mađarska"}
        ID{"Indonezija"}
        IE{"Irska"}
        IL{"Izrael"}
        IM{"Otok Man"}
        IN{"Indija"}
        IO{"Britanski Teritorij Indijskog Oceana"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italija"}
        JE{"Jersey"}
        JM{"Jamajka"}
        JO{"Jordan"}
        JP{"Japan"}
        KE{"Kenija"}
        KG{"Kirgistan"}
        KH{"Kambodža"}
        KI{"Kiribati"}
        KM{"Komori"}
        KN{"Sveti Kristofor i Nevis"}
        KP{"Koreja, Sjeverna"}
        KR{"Južna Koreja"}
        KW{"Kuvajt"}
        KY{"Kajmanski Otoci"}
        KZ{"Kazakstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Sveta Lucija"}
        LI{"Lihtenštajn"}
        LK{"Šri Lanka"}
        LR{"Liberija"}
        LS{"Lesoto"}
        LT{"Litva"}
        LU{"Luksemburg"}
        LV{"Latvija"}
        LY{"Libijska Arapska Džamahirija"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Moldavija"}
        ME{"Crna Gora"}
        MF{"Sveti Martin"}
        MG{"Madagaskar"}
        MH{"Maršalovi Otoci"}
        MK{"Bivša Jugoslavenska Republika Makedonija"}
        ML{"Mali"}
        MM{"Mijanma"}
        MN{"Mongolija"}
        MO{"Makao S.A.R. Kine"}
        MP{"Sjeverni Marijanski Otoci"}
        MQ{"Martinik"}
        MR{"Mauritanija"}
        MS{"Montserat"}
        MT{"Malta"}
        MU{"Mauricijus"}
        MV{"Maldivi"}
        MW{"Malavi"}
        MX{"Meksiko"}
        MY{"Malezija"}
        MZ{"Mozambik"}
        NA{"Namibija"}
        NC{"Nova Kaledonija"}
        NE{"Niger"}
        NF{"Otok Norfolk"}
        NG{"Nigerija"}
        NI{"Nikaragva"}
        NL{"Nizozemska"}
        NO{"Norveška"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Novi Zeland"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Francuska Polinezija"}
        PG{"Papua Nova Gvineja"}
        PH{"Filipini"}
        PK{"Pakistan"}
        PL{"Poljska"}
        PM{"Sveti Petar i Miguel"}
        PN{"Pitcairn"}
        PR{"Portoriko"}
        PS{"Palestinsko Područje"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paragvaj"}
        QA{"Katar"}
        QO{"Ostala oceanija"}
        QU{"Europska Unija"}
        RE{"Reunion"}
        RO{"Rumunjska"}
        RS{"Srbija"}
        RU{"Rusija"}
        RW{"Ruanda"}
        SA{"Saudijska Arabija"}
        SB{"Solomonski Otoci"}
        SC{"Sejšeli"}
        SD{"Sudan"}
        SE{"Švedska"}
        SG{"Singapur"}
        SH{"Sveta Helena"}
        SI{"Slovenija"}
        SJ{"Svalbard i Jan Mayen"}
        SK{"Slovačka"}
        SL{"Sijera Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalija"}
        SR{"Surinam"}
        ST{"Sveti Toma i Prinsipe"}
        SV{"El Salvador"}
        SY{"Sirija"}
        SZ{"Svazi"}
        TC{"Turkski i Kaikos Otoci"}
        TD{"Čad"}
        TF{"Francuski Južni Teritoriji"}
        TG{"Togo"}
        TH{"Tajland"}
        TJ{"Tadžikistan"}
        TK{"Tokelau"}
        TL{"Istočni Timor"}
        TM{"Turkmenistan"}
        TN{"Tunis"}
        TO{"Tonga"}
        TR{"Turska"}
        TT{"Trinidad i Tobago"}
        TV{"Tuvalu"}
        TW{"Tajvan"}
        TZ{"Tanzanija"}
        UA{"Ukrajina"}
        UG{"Uganda"}
        UM{"Ujedinjene Države Manjih Pacifičkih Otoka"}
        US{"Sjedinjene Države"}
        UY{"Urugvaj"}
        UZ{"Uzbekistan"}
        VA{"Grad Vatikan"}
        VC{"Sveti Vincent i Grenadini"}
        VE{"Venezuela"}
        VG{"Britanski Djevičanski Otoci"}
        VI{"Američki Djevičanski Otoci"}
        VN{"Vijetnam"}
        VU{"Vanuatu"}
        WF{"Wallis i Futuna"}
        WS{"Samoa"}
        YE{"Jemen"}
        YT{"Majote"}
        ZA{"Južnoafrička Republika"}
        ZM{"Zambija"}
        ZW{"Zimbabve"}
        ZZ{"nepoznata ili nevažeća oblast"}
    }
    Version{"2.0.42.82"}
}
