﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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"}
        142{"Azija"}
        143{"Srednja Azija"}
        145{"Zapadna Azija"}
        150{"Europa"}
        151{"Istočna Europa"}
        154{"Sjeverna Europa"}
        155{"Zapadna Europa"}
        419{"Latinska Amerika"}
        AC{"Otok Ascension"}
        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 - Brazzaville"}
        CH{"Švicarska"}
        CI{"Obala Bjelokosti"}
        CK{"Kukovi Otoci"}
        CL{"Čile"}
        CM{"Kamerun"}
        CN{"Kina"}
        CO{"Kolumbija"}
        CP{"Otok Clipperton"}
        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"}
        DG{"Diego Garcia"}
        DJ{"Džibuti"}
        DK{"Danska"}
        DM{"Dominika"}
        DO{"Dominikanska Republika"}
        DZ{"Alžir"}
        EA{"Ceuta i Melilla"}
        EC{"Ekvador"}
        EE{"Estonija"}
        EG{"Egipat"}
        EH{"Zapadna Sahara"}
        ER{"Eritreja"}
        ES{"Španjolska"}
        ET{"Etiopija"}
        EU{"Europska Unija"}
        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"}
        IC{"Kanarski Otoci"}
        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{"Sjeverna Koreja"}
        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{"Libija"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Moldavija"}
        ME{"Crna Gora"}
        MF{"Sveti Martin"}
        MG{"Madagaskar"}
        MH{"Maršalovi Otoci"}
        MK{"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"}
        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"}
        TA{"Tristan da Cunha"}
        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.65.46"}
}
