﻿// ***************************************************************************
// *
// * 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"}
        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"}
        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"}
        IM{"Ostrvo Man"}
        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"}
        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"}
        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.53"}
    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}",
            }
            availableFormats{
                yyMMdd{"dd.MM.yy"}
            }
            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.",
                }
                wide{
                    "Pre nove ere",
                    "Nove ere",
                }
            }
            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",
                    }
                }
            }
        }
    }
    messages{
        nostr{"ne:n"}
        yesstr{"da:d"}
    }
    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"}
        }
    }
}
