﻿// ***************************************************************************
// *
// * Copyright (C) 2006 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/sr_Latn.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/sr_Latn.xml
 */
sr_Latn{
    AuxExemplarCharacters{"[q w-y]"}
    Countries{
        001{"Svet"}
        002{"Afrika"}
        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"}
        035{"Jugoistočna Azija"}
        039{"Južna Evropa"}
        053{"Australija i Novi Zeland"}
        054{"Melanezija"}
        057{"Micronezija"}
        061{"Polinezija"}
        062{"Južno-centralna Azija"}
        142{"Azija"}
        145{"Zapadna Azija"}
        150{"Evropa"}
        151{"Istočna Evropa"}
        154{"Severna Evropa"}
        155{"Zapadna Evropa"}
        830{"Kanalska ostrva"}
        833{"Ostrvo Man"}
        AD{"Andora"}
        AE{"Ujedinjeni Arapski Emirati"}
        AF{"Avganistan"}
        AG{"Antigva i Barbuda"}
        AI{"Angvila"}
        AL{"Albanija"}
        AM{"Armenija"}
        AN{"Holandski Antili"}
        AO{"Angola"}
        AQ{"Antarktika"}
        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"}
        BM{"Bermuda"}
        BN{"Brunej"}
        BO{"Bolivija"}
        BR{"Brazil"}
        BS{"Bahami"}
        BT{"Butan"}
        BV{"Buve Ostrva"}
        BW{"Bocvana"}
        BY{"Belorusija"}
        BZ{"Belise"}
        CA{"Kanada"}
        CC{"Kokos (Keling) Ostrva"}
        CD{"Demokratska Republika Kongo"}
        CF{"Centralno Afrička Republika"}
        CG{"Kongo"}
        CH{"Švajcarska"}
        CI{"Obala Slonovače"}
        CK{"Kukova Ostrva"}
        CL{"Čile"}
        CM{"Kamerun"}
        CN{"Kina"}
        CO{"Kolumbija"}
        CR{"Kostarika"}
        CS{"Srbija i Crna Gora"}
        CU{"Kuba"}
        CV{"Kape Verde"}
        CX{"Uskršnja Ostrva"}
        CY{"Kipar"}
        CZ{"Češka"}
        DE{"Nemačka"}
        DJ{"Džibuti"}
        DK{"Danska"}
        DM{"Dominika"}
        DO{"Dominikanska Republika"}
        DZ{"Alžir"}
        EC{"Ekvador"}
        EE{"Estonija"}
        EG{"Egipat"}
        EH{"Zapadna Sahara"}
        ER{"Eritreja"}
        ES{"Španija"}
        ET{"Etiopija"}
        FI{"Finska"}
        FJ{"Fidži"}
        FK{"Folklandska Ostrva"}
        FM{"Mikronezija"}
        FO{"Farska Ostrva"}
        FR{"Francuska"}
        GA{"Gabon"}
        GB{"Velika Britanija"}
        GD{"Grenada"}
        GE{"Gruzija"}
        GF{"Francuska Gvajana"}
        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 (S. A. R. Kina)"}
        HM{"Herd i Mekdonald Ostrva"}
        HN{"Honduras"}
        HR{"Hrvatska"}
        HT{"Haiti"}
        HU{"Mađarska"}
        ID{"Indonezija"}
        IE{"Irska"}
        IL{"Izrael"}
        IN{"Indija"}
        IO{"British Indian Ocean Territory"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italija"}
        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"}
        MG{"Madagaskar"}
        MH{"Maršalska Ostrva"}
        MK{"Makedonija"}
        ML{"Mali"}
        MM{"Mijanmar"}
        MN{"Mongolija"}
        MO{"Makao (S. A. R. Kina)"}
        MP{"Severna Marijanska Ostrva"}
        MQ{"Martinik"}
        MR{"Mauritanija"}
        MS{"Monserat"}
        MT{"Malta"}
        MU{"Mauricius"}
        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{"Pitcairn"}
        PR{"Porto Riko"}
        PS{"Palestinska Teritorija"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paragvaj"}
        QA{"Katar"}
        QO{"Ostala okeanija"}
        RE{"Rejunion"}
        RO{"Rumunija"}
        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"}
        ST{"Sao Tome i Principe"}
        SV{"Salvador"}
        SY{"Sirija"}
        SZ{"Svazilend"}
        TC{"Turks i Kajkos Ostrva"}
        TD{"Čad"}
        TF{"Francuske Južne Teritorije"}
        TG{"Togo"}
        TH{"Tajland"}
        TJ{"Tadžikistan"}
        TK{"Tokelau"}
        TL{"Timor-Leste"}
        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"}
        YE{"Jemen"}
        YT{"Majote"}
        ZA{"Južnoafrička Republika"}
        ZM{"Zambija"}
        ZW{"Zimbabve"}
    }
    Currencies{
        ATS{
            "ATS",
            "Austrijski šiling",
        }
        AUD{
            "$A",
            "Australijski dolar",
        }
        BAM{
            "KM",
            "Konvertibilna marka",
        }
        BEF{
            "BF",
            "Belgijski franak",
        }
        BRL{
            "BRL",
            "Brazilski Real",
        }
        CAD{
            "Can$",
            "Kanadski dolar",
        }
        CHF{
            "SwF",
            "Švajcarski franak",
        }
        CNY{
            "U",
            "Kineski Juan Renminbi",
        }
        CSD{
            "CSD",
            "Srpski Dinar",
        }
        DEM{
            "DEM",
            "Nemačka marka",
        }
        DKK{
            "DKr",
            "Danska kruna",
        }
        ESP{
            "ESP",
            "Španska pezeta",
        }
        EUR{
            "€",
            "EVRO",
        }
        FIM{
            "FIM",
            "Finska marka",
        }
        FRF{
            "FRF",
            "Francuski franak",
        }
        GBP{
            "£",
            "Funta sterlinga",
        }
        GRD{
            "GRD",
            "Drahma",
        }
        HRD{
            "HRD",
            "Hrvatski dinar",
        }
        HRK{
            "HRK",
            "Kuna",
        }
        IEP{
            "IR£",
            "Irska funta",
        }
        INR{
            "INR",
            "Indijski Rupi",
        }
        ITL{
            "₤",
            "Italijanska lira",
        }
        JPY{
            "¥",
            "Jen",
        }
        KWD{
            "KD",
            "Kuvajtski dinar",
        }
        LUF{
            "LUF",
            "Luksemburški franak",
        }
        NLG{
            "NLG",
            "Holandski gulden",
        }
        NOK{
            "NKr",
            "Norveška kruna",
        }
        PTE{
            "PTE",
            "Portugalski eskudo",
        }
        RUB{
            "RUB",
            "Ruska rublja",
        }
        RUR{
            "RUR",
            "Ruska rublja (1991-1998)",
        }
        SEK{
            "SKr",
            "Švedska kruna",
        }
        SIT{
            "SIT",
            "Tolar",
        }
        USD{
            "US$",
            "Američki dolar",
        }
        YUN{
            "Din",
            "YUN",
        }
    }
    ExemplarCharacters{"[a-c ć č d đ {dž} e-l {lj} m n {nj} o p r s š t-v z ž]"}
    Keys{
        calendar{"Kalendar"}
        collation{"Sortiranje"}
        currency{"Valuta"}
    }
    Languages{
        af{"Afrikanerski"}
        ar{"Arapski"}
        be{"Beloruski"}
        bg{"Bugarski"}
        br{"Bretonski"}
        ca{"Katalonski"}
        co{"Korzikanski"}
        cs{"Češki"}
        da{"Danski"}
        de{"Nemački"}
        el{"Grčki"}
        en{"Engleski"}
        eo{"Esperanto"}
        es{"Španski"}
        et{"Estonski"}
        eu{"Baskijski"}
        fa{"Persijski"}
        fi{"Finski"}
        fr{"Francuski"}
        ga{"Irski"}
        he{"Hebrejski"}
        hi{"Hindi"}
        hr{"Hrvatski"}
        hu{"Mađarski"}
        hy{"Armenski"}
        id{"Indonezijski"}
        is{"Islandski"}
        it{"Italijanski"}
        ja{"Japanski"}
        ka{"Gruzijski"}
        km{"Kmerski"}
        ko{"Korejski"}
        ku{"Kurdski"}
        ky{"Kirgiski"}
        la{"Latinski"}
        lt{"Litvanski"}
        lv{"Letonski"}
        mk{"Makedonski"}
        mn{"Mongolski"}
        mo{"Moldavski"}
        my{"Burmanski"}
        nl{"Holandski"}
        no{"Norveški"}
        pl{"Poljski"}
        pt{"Portugalski"}
        rm{"Reto-Romanski"}
        ro{"Rumunski"}
        ru{"Ruski"}
        sa{"Sanskrit"}
        sh{"Srpsko-Hrvatski"}
        sk{"Slovački"}
        sl{"Slovenački"}
        sq{"Albanski"}
        sr{"Srpski"}
        sv{"Švedski"}
        sw{"Svahili"}
        tr{"Turski"}
        uk{"Ukrajinski"}
        vi{"Vijetnamski"}
        yi{"Jidiš"}
        zh{"Kineski"}
    }
    LocaleScript{
        "Latn",
    }
    Scripts{
        Arab{"arapsko pismo"}
        Armn{"jermensko pismo"}
        Beng{"bengalsko pismo"}
        Brai{"Brajevo pismo"}
        Cher{"Čeroki"}
        Copt{"koptičko pismo"}
        Cyrl{"Ćirilica"}
        Cyrs{"ćirilica (crkveno slovenska varijanta)"}
        Deva{"Devanagari"}
        Dsrt{"Dezeret"}
        Ethi{"etiopsko pismo"}
        Geor{"gruzijsko pismo"}
        Glag{"glagoljica"}
        Goth{"Gotika"}
        Grek{"grčko pismo"}
        Hebr{"hebrejsko pismo"}
        Hira{"Hiragana"}
        Hrkt{"Katakana ili Hiragana"}
        Kana{"Katakana"}
        Khmr{"kmersko pismo"}
        Latf{"Latinica (Fraktur varijanta)"}
        Latn{"Latinica"}
        Runr{"runsko pismo"}
    }
    Types{
        calendar{
            buddhist{"Budistički kalendar"}
            chinese{"Kineski kalendar"}
            gregorian{"Gregorijanski kalendar"}
            hebrew{"Hebrejski kalendar"}
            islamic{"Islamski kalendar"}
            islamic-civil{"Islamski civilni kalendar"}
            japanese{"Japanski kalendar"}
        }
        collation{
            big5han{"Tradicionalni kineski"}
            direct{"Direktno sortiranje"}
            gb2312han{"Pojednostavljeni kineski"}
            phonebook{"Sortiranje po azbuci"}
            pinyin{"Pinjin sortiranje"}
            stroke{"Sortiranje po broju crta"}
            traditional{"Tradicionalno sortiranje"}
        }
    }
    Version{"1.52"}
    calendar{
        gregorian{
            DateTimePatterns{
                "HH.mm.ss z",
                "HH.mm.ss z",
                "HH.mm.ss",
                "HH.mm",
                "EEEE, dd. MMMM yyyy.",
                "EEEE, d.MM.yyyy.",
                "dd.MM.yyyy.",
                "d.M.yy.",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "ned",
                        "pon",
                        "uto",
                        "sre",
                        "čet",
                        "pet",
                        "sub",
                    }
                    wide{
                        "nedelja",
                        "ponedeljak",
                        "utorak",
                        "sreda",
                        "četvrtak",
                        "petak",
                        "subota",
                    }
                }
                stand-alone{
                    narrow{
                        "n",
                        "p",
                        "u",
                        "s",
                        "č",
                        "p",
                        "s",
                    }
                }
            }
            eras{
                abbreviated{
                    "p. n. e.",
                    "n. e.",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "maj",
                        "jun",
                        "jul",
                        "avg",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    wide{
                        "januar",
                        "februar",
                        "mart",
                        "april",
                        "maj",
                        "jun",
                        "jul",
                        "avgust",
                        "septembar",
                        "oktobar",
                        "novembar",
                        "decembar",
                    }
                }
                stand-alone{
                    narrow{
                        "j",
                        "f",
                        "m",
                        "a",
                        "m",
                        "j",
                        "j",
                        "a",
                        "s",
                        "o",
                        "n",
                        "d",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "Prvi kvartal",
                        "Drugi kvartal",
                        "Treći kvartal",
                        "Četvrti kvartal",
                    }
                }
            }
        }
    }
    zoneStrings{
        "Africa:Kinshasa"{
            ec{"Kinšasa"}
        }
        "Africa:Lubumbashi"{
            ec{"Lumumbaši"}
        }
        "Antarctica:South_Pole"{
            ec{"Južni pol"}
        }
        "Asia:Anadyr"{
            ec{"Anadir"}
        }
        "Asia:Kamchatka"{
            ec{"Kamčatka"}
        }
        "Asia:Krasnoyarsk"{
            ec{"Krasnojarsk"}
        }
        "Asia:Shanghai"{
            ec{"Šangaj"}
        }
        "Asia:Tashkent"{
            ec{"Taškent"}
        }
        "Europe:Belgrade"{
            ec{"Belgrade"}
            ld{"Centralno Evropsko Letnje Vreme"}
            ls{"Centralno Evropsko Vreme"}
        }
        "Europe:Kiev"{
            ec{"Kijev"}
        }
        "Europe:Moscow"{
            ec{"Moskva"}
        }
        "Europe:Sarajevo"{
            ec{"Sarajevo"}
            ls{"Srednje Evropsko Vrijeme"}
        }
        "Europe:Uzhgorod"{
            ec{"Užgorod"}
        }
        "Europe:Zaporozhye"{
            ec{"Zaporožje"}
        }
    }
}
