﻿// ***************************************************************************
// *
// * Copyright (C) 2010 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{
        419{"Latinska Amerika i Karibi"}
        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.50.96"}
}
