﻿// ***************************************************************************
// *
// * 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{"SAR Hongkong (Kina)"}
        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{"SAR Makao (Kina)"}
        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{"Palestinske teritorije"}
        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"}
        HK{"Hong Kong"}
        MO{"Makao"}
        PS{"Palestina"}
        US{"SAD"}
    }
    Countries%variant{
        CD{"Kongo (DRK)"}
        CG{"Kongo (Republika)"}
        FK{"Foklandska (Malvinska) ostrva"}
        MK{"Makedonija (BJRM)"}
    }
    Version{"2.1.20.4"}
}
