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

sh {
    Version { "2.0" }
    collations {
      standard { 
        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}",
    }

    DateTimeElements:intvector {
        2,
        1, // "Minimal Days in First Week" is unknown. Root value used instead
    }

    DayAbbreviations { 
        "ned",
        "pon",
        "uto",
        "sre",
        "\u010Det",
        "pet",
        "sub",
    }
    DayNames { 
        "nedelja",
        "ponedeljak",
        "utorak",
        "sreda",
        "\u010Detvrtak",
        "petak",
        "subota",
    }
    Eras { 
        "p. n. e.",
        "n. e.",
    }
    Languages { 
        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" }
    }
}
