﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sr_Latn.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/sr_Latn.xml
 */
sr_Latn{
    %%Parent{"root"}
    Countries{
        001{"Svet"}
        002{"Afrika"}
        003{"Severnoamerički kontinent"}
        005{"Južna Amerika"}
        009{"Okeanija"}
        011{"Zapadna Afrika"}
        013{"Centralna Amerika"}
        014{"Istočna Afrika"}
        015{"Severna Afrika"}
        017{"Centralna Afrika"}
        018{"Južna Afrika"}
        019{"Amerike"}
        021{"Severna Amerika"}
        029{"Karibi"}
        030{"Istočna Azija"}
        034{"Južna Azija"}
        035{"Jugoistočna Azija"}
        039{"Južna Evropa"}
        053{"Australija i Novi Zeland"}
        054{"Melanezija"}
        057{"Mikronezijski region"}
        061{"Polinezija"}
        142{"Azija"}
        143{"Centralna Azija"}
        145{"Zapadna Azija"}
        150{"Evropa"}
        151{"Istočna Evropa"}
        154{"Severna Evropa"}
        155{"Zapadna Evropa"}
        419{"Latinska Amerika"}
        AC{"Ostrvo Asension"}
        AD{"Andora"}
        AE{"Ujedinjeni Arapski Emirati"}
        AF{"Avganistan"}
        AG{"Antigve i Barbuda"}
        AI{"Angvila"}
        AL{"Albanija"}
        AM{"Armenija"}
        AN{"Holandski Antili"}
        AO{"Angola"}
        AQ{"Antarktik"}
        AR{"Argentina"}
        AS{"Američka Samoa"}
        AT{"Austrija"}
        AU{"Australija"}
        AW{"Aruba"}
        AX{"Alandska ostrva"}
        AZ{"Azerbejdž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"}
        BQ{"Karipska Holandija"}
        BR{"Brazil"}
        BS{"Bahami"}
        BT{"Butan"}
        BV{"Buve Ostrva"}
        BW{"Bocvana"}
        BY{"Belorusija"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokos (Keling) Ostrva"}
        CD{"Kongo - Kinšasa"}
        CF{"Centralno Afrička Republika"}
        CG{"Kongo - Brazavil"}
        CH{"Švajcarska"}
        CI{"Obala Slonovače"}
        CK{"Kukova Ostrva"}
        CL{"Čile"}
        CM{"Kamerun"}
        CN{"Kina"}
        CO{"Kolumbija"}
        CP{"Ostrvo Kliperton"}
        CR{"Kostarika"}
        CU{"Kuba"}
        CV{"Kape Verde"}
        CW{"Kurasao"}
        CX{"Božićna ostrva"}
        CY{"Kipar"}
        CZ{"Češka"}
        DE{"Nemačka"}
        DG{"Dijego Garsija"}
        DJ{"Džibuti"}
        DK{"Danska"}
        DM{"Dominika"}
        DO{"Dominikanska Republika"}
        DZ{"Alžir"}
        EA{"Seuta i Melilja"}
        EC{"Ekvador"}
        EE{"Estonija"}
        EG{"Egipat"}
        EH{"Zapadna Sahara"}
        ER{"Eritreja"}
        ES{"Španija"}
        ET{"Etiopija"}
        EU{"Evropska Unija"}
        FI{"Finska"}
        FJ{"Fidži"}
        FK{"Foklandska ostrva"}
        FM{"Mikronezija"}
        FO{"Farska Ostrva"}
        FR{"Francuska"}
        GA{"Gabon"}
        GB{"Velika Britanija"}
        GD{"Grenada"}
        GE{"Gruzija"}
        GF{"Francuska Gvajana"}
        GG{"Gurnsi"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Grenland"}
        GM{"Gambija"}
        GN{"Gvineja"}
        GP{"Gvadelupe"}
        GQ{"Ekvatorijalna Gvineja"}
        GR{"Grčka"}
        GS{"Južna Džordžija i Južna Sendvič Ostrva"}
        GT{"Gvatemala"}
        GU{"Guam"}
        GW{"Gvineja-Bisao"}
        GY{"Gvajana"}
        HK{"Hong Kong"}
        HM{"Herd i Mekdonald Ostrva"}
        HN{"Honduras"}
        HR{"Hrvatska"}
        HT{"Haiti"}
        HU{"Mađarska"}
        IC{"Kanarska ostrva"}
        ID{"Indonezija"}
        IE{"Irska"}
        IL{"Izrael"}
        IM{"Ostrvo Man"}
        IN{"Indija"}
        IO{"Britanska teritorija u Indijskom okeanu"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italija"}
        JE{"Džersi"}
        JM{"Jamajka"}
        JO{"Jordan"}
        JP{"Japan"}
        KE{"Kenija"}
        KG{"Kirgizstan"}
        KH{"Kambodža"}
        KI{"Kiribati"}
        KM{"Komorska Ostrva"}
        KN{"Sent Kits i Nevis"}
        KP{"Severna Koreja"}
        KR{"Južna Koreja"}
        KW{"Kuvajt"}
        KY{"Kajmanska Ostrva"}
        KZ{"Kazahstan"}
        LA{"Laos"}
        LB{"Liban"}
        LC{"Sent Lucija"}
        LI{"Lihtenštajn"}
        LK{"Šri Lanka"}
        LR{"Liberija"}
        LS{"Lesoto"}
        LT{"Litvanija"}
        LU{"Luksemburg"}
        LV{"Letonija"}
        LY{"Libija"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Moldavija"}
        ME{"Crna Gora"}
        MF{"Sent Martin"}
        MG{"Madagaskar"}
        MH{"Maršalska Ostrva"}
        MK{"Makedonija"}
        ML{"Mali"}
        MM{"Mijanmar (Burma)"}
        MN{"Mongolija"}
        MO{"Makao"}
        MP{"Severna Marijanska Ostrva"}
        MQ{"Martinik"}
        MR{"Mauritanija"}
        MS{"Monserat"}
        MT{"Malta"}
        MU{"Mauricijus"}
        MV{"Maldivi"}
        MW{"Malavi"}
        MX{"Meksiko"}
        MY{"Malezija"}
        MZ{"Mozambik"}
        NA{"Namibija"}
        NC{"Nova Kaledonija"}
        NE{"Niger"}
        NF{"Norfolk Ostrvo"}
        NG{"Nigerija"}
        NI{"Nikaragva"}
        NL{"Holandija"}
        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{"Sen Pjer i Mikelon"}
        PN{"Pitkern"}
        PR{"Porto Riko"}
        PS{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paragvaj"}
        QA{"Katar"}
        QO{"Ostala okeanija"}
        RE{"Reinion"}
        RO{"Rumunija"}
        RS{"Srbija"}
        RU{"Rusija"}
        RW{"Ruanda"}
        SA{"Saudijska Arabija"}
        SB{"Solomonska Ostrva"}
        SC{"Sejšeli"}
        SD{"Sudan"}
        SE{"Švedska"}
        SG{"Singapur"}
        SH{"Sveta Jelena"}
        SI{"Slovenija"}
        SJ{"Svalbard i Janmajen Ostrva"}
        SK{"Slovačka"}
        SL{"Sijera Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalija"}
        SR{"Surinam"}
        SS{"Južni Sudan"}
        ST{"Sao Tome i Principe"}
        SV{"Salvador"}
        SX{"Sveti Martin"}
        SY{"Sirija"}
        SZ{"Svazilend"}
        TA{"Tristan da Kunja"}
        TC{"Turks i Kajkos Ostrva"}
        TD{"Čad"}
        TF{"Francuske Južne Teritorije"}
        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{"Manja udaljena ostrva SAD"}
        US{"Sjedinjene Američke Države"}
        UY{"Urugvaj"}
        UZ{"Uzbekistan"}
        VA{"Vatikan"}
        VC{"Sent Vinsent i Grenadini"}
        VE{"Venecuela"}
        VG{"Britanska Devičanska Ostrva"}
        VI{"S.A.D. Devičanska Ostrva"}
        VN{"Vijetnam"}
        VU{"Vanuatu"}
        WF{"Valis i Futuna Ostrva"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Majote"}
        ZA{"Južnoafrička Republika"}
        ZM{"Zambija"}
        ZW{"Zimbabve"}
        ZZ{"Nepoznata ili nevažeća oblast"}
    }
    CountriesShort{
        GB{"UK"}
        US{"SAD"}
    }
    Version{"2.0.98.62"}
}
