﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <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{"Severna i Južna Amerika"}
        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{"Antigva i Barbuda"}
        AI{"Angvila"}
        AL{"Albanija"}
        AM{"Jermenija"}
        AN{"Holandski Antili"}
        AO{"Angola"}
        AQ{"Antarktik"}
        AR{"Argentina"}
        AS{"Američka Samoa"}
        AT{"Austrija"}
        AU{"Australija"}
        AW{"Aruba"}
        AX{"Olandska 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{"Ostrvo Buve"}
        BW{"Bocvana"}
        BY{"Belorusija"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosova (Kilingova) Ostrva"}
        CD{"Kongo - Kinšasa"}
        CF{"Centralnoafrič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{"Zelenortska Ostrva"}
        CW{"Kurasao"}
        CX{"Božićno ostrvo"}
        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{"Ostrva Herd i Mekdonald"}
        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{"Kirgistan"}
        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{"Sveta 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{"Ostrvo Norfok"}
        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{"Portoriko"}
        PS{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paragvaj"}
        QA{"Katar"}
        QO{"Okeanija (udaljena ostrva)"}
        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 Jan Majen"}
        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{"Ostrva Turks i Kaikos"}
        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{"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{"Američka Devičanska Ostrva"}
        VN{"Vijetnam"}
        VU{"Vanuatu"}
        WF{"Valis i Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Majot"}
        ZA{"Južnoafrička Republika"}
        ZM{"Zambija"}
        ZW{"Zimbabve"}
        ZZ{"Nepoznat region"}
    }
    Countries%short{
        GB{"UK"}
        US{"SAD"}
    }
    Countries%variant{
        CD{"Kongo (DRK)"}
        CG{"Kongo (Republika)"}
        FK{"Foklandska (Malvinska) ostrva"}
        MK{"Makedonija (BJRM)"}
    }
    Version{"2.1.20.4"}
}
