// ***************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

sh {
    Version { "2.0" }
    CollationElements { 
        Version { "2.0" }
        Sequence {
            "& C < \u010D <<< \u010C < \u0107 <<< \u0106"
            "&\u0110 < d\u017E <<< D\u017E <<< D\u017D"
            "& L < lj<<< Lj <<< LJ"
            "& N < nj<<< Nj <<< NJ "
            "& S < \u0161 <<< \u0160"
            "& Z < \u017E <<< \u017D"
            }
    }
    Countries { 
        Fallback{ "en"}
        AF { "Avganistan" }
        AL { "Albanija" }
        DZ { "Al\u017Eir" }
        AD { "Andora" }
        //AO { "Angola" }
        //AR { "Argentina" }
        AM { "Armenija" }
        //AW { "Aruba" }
        AU { "Australija" }
        AT { "Austrija" }
        AZ { "Azerbejd\u017Ean" }
        BS { "Bahami" }
        BH { "Bahrein" }
        BD { "Banglade\u0161" }
        //BB { "Barbados" }
        BY { "Belorusija" }
        BE { "Belgija" }
        BZ { "Belise" }
        //BJ { "Benin" }
        //BM { "Bermuda" }
        BT { "Butan" }
        BO { "Bolivija" }
        BA { "Bosna i Hercegovina" }
        BW { "Bocvana" }
        //BR { "Brazil" }
        BN { "Brunej" }
        BG { "Bugarska" }
        //BF { "Burkina Faso" }
        //BI { "Burundi" }
        KH { "Kambod\u017Ea" }
        CM { "Kamerun" }
        CA { "Kanada" }
        CF { "Centralno Afri\u010Dka Republika" }
        TD { "\u010Cad" }
        CL { "\u010Cile" }
        CN { "Kina" }
        CO { "Kolumbija" }
        CG { "Kongo" }
        CR { "Kostarika" }
        CI { "Obala Slonova\u010De" }
        HR { "Hrvatska" }
        CU { "Kuba" }
        CY { "Kipar" }
        CZ { "\u010Ce\u0161ka" }
        DK { "Danska" }
        DJ { "D\u017Eibuti" }
        DM { "Dominika" }
        DO { "Dominikanska Republika" }
        EC { "Ekvador" }
        EG { "Egipat" }
        SV { "Salvador" }
        GQ { "Ekvatorijalna Gvineja" }
        ER { "Eritreja" }
        EE { "Estonija" }
        ET { "Etiopija" }
        FJ { "Fid\u017Ei" }
        FI { "Finska" }
        FR { "Francuska" }
        GF { "Francuska Gvajana" }
        PF { "Francuska Polinezija" }
        TF { "Francuske Ju\u017Ene Teritorije" }
        //GA { "Gabon" }
        GM { "Gambija" }
        GE { "Gruzija" }
        DE { "Nema\u010Dka" }
        GH { "Gana" }
        GR { "Gr\u010Dka" }
        GP { "Gvadelupe" }
        GT { "Gvatemala" }
        GN { "Gvineja" }
        GW { "Gvineja-Bisao" }
        GY { "Gvajana" }
        //HT { "Haiti" }
        //HN { "Honduras" }
        //HK { "Hong Kong S.A.R., China" }
        HU { "Ma\u0111arska" }
        IS { "Island" }
        IN { "Indija" }
        ID { "Indonezija" }
        //IR { "Iran" }
        IQ { "Irak" }
        IE { "Irska" }
        IL { "Izrael" }
        IT { "Italija" }
        JM { "Jamajka" }
        //JP { "Japan" }
        //JO { "Jordan" }
        KZ { "Kazahstan" }
        KE { "Kenija" }
        KP { "Severna Koreja" }
        KR { "Ju\u017Ena Koreja" }
        KW { "Kuvajt" }
        KG { "Kirgistan" }
        //LA { "Laos" }
        LV { "Letonija" }
        LB { "Liban" }
        LS { "Lesoto" }
        LR { "Liberija" }
        LY { "Libija" }
        LI { "Lihen\u0161tajn" }
        LT { "Litvanija" }
        LU { "Luksemburg" }
        MK { "Makedonija" }
        MG { "Madagaskar" }
        MY { "Malezija" }
        //ML { "Mali" }
        //MT { "Malta" }
        MQ { "Martinik" }
        MR { "Mauritanija" }
        MU { "Mauricius" }
        MX { "Meksiko" }
        FM { "Mikronezija" }
        MD { "Moldavija" }
        MC { "Monako" }
        MN { "Mongolija" }
        MA { "Maroko" }
        MZ { "Mozambik" }
        MM { "Mijnamar" }
        NA { "Namibija" }
        //NP { "Nepal" }
        NL { "Holandija" }
        AN { "Holandski Antili" }
        NC { "Nova Kaledonija" }
        NZ { "Novi Zeland" }
        NI { "Nikaragva" }
        //NE { "Niger" }
        NG { "Nigerija" }
        NO { "Norve\u0161ka" }
        //OM { "Oman" }
        //PK { "Pakistan" }
        //PA { "Panama" }
        PG { "Papua Nova Gvineja" }
        PY { "Paragvaj" }
        //PE { "Peru" }
        PH { "Filipini" }
        PL { "Poljska" }
        //PT { "Portugal" }
        PR { "Porto Riko" }
        QA { "Katar" }
        RO { "Rumunija" }
        RU { "Rusija" }
        RW { "Ruanda" }
        SA { "Saudijska Arabija" }
        //SN { "Senegal" }
        SP { "Srbija" }
        SC { "Sej\u0161eli" }
        SL { "Sijera Leone" }
        SG { "Singapur" }
        SK { "Slova\u010Dka" }
        SI { "Slovenija" }
        SO { "Somalija" }
        ZA { "Ju\u017Ena Afrika" }
        ES { "\u0160panija" }
        LK { "\u0160rilanka" }
        //SD { "Sudan" }
        SR { "Surinam" }
        SZ { "Svazilend" }
        SE { "\u0160vedska" }
        CH { "\u0160vajcarska" }
        SY { "Sirija" }
        TW { "Tajvan" }
        TJ { "Tad\u017Eikistan" }
        TZ { "Tanzanija" }
        TH { "Tajland" }
        //TG { "Togo" }
        TT { "Trinidad i Tobago" }
        TN { "Tunis" }
        TR { "Turska" }
        //TM { "Turkmenistan" }
        //UG { "Uganda" }
        UA { "Ukrajina" }
        AE { "Ujedinjeni Arapski Emirati" }
        GB { "Velika Britanija" }
        US { "Sjedinjene Ameri\u010Dke Dr\u017Eave" }
        UY { "Urugvaj" }
        //UZ { "Uzbekistan" }
        VA { "Vatikan" }
        VE { "Venecuela" }
        VN { "Vijetnam" }
        VG { "Britanska Devi\u010Danska Ostrva" }
        VI { "S.A.D. Devi\u010Danska Ostrva" }
        EH { "Zapadna Sahara" }
        YE { "Jemen" }
        YU { "Jugoslavija" }
        //ZR { "Zair" } // It's now called CD { "Democratic Republic of the Congo" }
        ZM { "Zambija" }
        ZW { "Zimbabve" }
    }
    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}",
    }
    DayAbbreviations { 
        "ned",
        "pon",
        "uto",
        "sre",
        "\u010Det",
        "pet",
        "sub",
    }
    DayNames { 
        "nedelja",
        "ponedeljak",
        "utorak",
        "sreda",
        "\u010Detvrtak",
        "petak",
        "subota",
    }
    Eras { 
        "p. n. e.",
        "n. e.",
    }
    Languages { 
        Fallback{ "en"}
        af { "Afrikanerski" }
        sq { "Albanski" }
        ar { "Arapski" }
        hy { "Armenski" }
        eu { "Baskijski" }
        br { "Bretonski" }
        bg { "Bugarski" }
        my { "Burmanski" }
        be { "Beloruski" }
        km { "Kambod\u017Eanski" }
        ca { "Katalonski" }
        zh { "Kineski" }
        co { "Korzikanski" }
        hr { "Hrvatski" }
        cs { "\u010Ce\u0161ki" }
        da { "Danski" }
        nl { "Holandski" }
        en { "Engleski" }
        //eo { "Esperanto" }
        et { "Estonski" }
        fi { "Finski" }
        fr { "Francuski" }
        ka { "Gruzijski" }
        de { "Nema\u010Dki" }
        el { "Gr\u010Dki" }
        he { "Hebrejski" }
        hu { "Ma\u0111arski" }
        is { "Islandski" }
        id { "Indonezijski" }
        //in { "Indonezijski" }  // Use "id" instead
        ga { "Irski" }
        it { "Italijanski" }
        ja { "Japanski" }
        ky { "Kirgiski" }
        ko { "Korejski" }
        ku { "Kurdski" }
        la { "Latinski" }
        lv { "Letonski" }
        lt { "Litvanski" }
        mk { "Makedonski" }
        mo { "Moldavski" }
        mn { "Mongolski" }
        no { "Norve\u0161ki" }
        fa { "Persijski" }
        pl { "Poljski" }
        pt { "Portugalski" }
        rm { "Reto-Romanski" }
        ro { "Rumunski" }
        ru { "Ruski" }
        //sa { "Sanskrit" }
        sr { "Srpski" }
        sh { "Srpsko-Hrvatski" }
        sk { "Slova\u010Dki" }
        sl { "Slovena\u010Dki" }
        es { "\u0160panski" }
        sw { "Svahili" }
        sv { "\u0160vedski" }
        tr { "Turski" }
        uk { "Ukrajnski" }
        vi { "Vijetnamski" }
        //ji { "Jidi\u0161" }  // Use "yi" instead
        yi { "Jidi\u0161" }
    }
    MonthAbbreviations { 
        "jan",
        "feb",
        "mar",
        "apr",
        "maj",
        "jun",
        "jul",
        "avg",
        "sep",
        "okt",
        "nov",
        "dec",
    }
    MonthNames { 
        "januar",
        "februar",
        "mart",
        "april",
        "maj",
        "juni",
        "juli",
        "avgust",
        "septembar",
        "oktobar",
        "novembar",
        "decembar",
    }
    NumberElements { 
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
    localPatternChars { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
            "Europe/Belgrade",
            "Centralno Evropsko Vreme",
            "CET",
            "Centralno Evropsko Letnje Vreme",
            "CET",
        }
    }
    LocaleScript{ 
         "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters { "[a-p r-v z \u0111 \u0107 \u010d \u017e \u0161 {lj} {nj} {d\u017e}]" }

    // Currency display names
    Currencies {
        YUN { "Din", "YUN" }
    }
}
