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

sl {
    Version{"2.0"}
    calendar{
        gregorian{
            DateTimeElements:intvector {
                2,
                1, // "Minimal Days in First Week" is unknown. Root value used instead
            }
            DateTimePatterns{
                "H:mm:ss z",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE, dd. MMMM yyyy",
                "dd. MMMM yyyy",
                "yyyy.M.d",
                "yy.M.d",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "ned",
                        "pon",
                        "tor",
                        "sre",
                        "\u010det",
                        "pet",
                        "sob",
                    }
                    wide{
                        "nedelja",
                        "ponedeljek",
                        "torek",
                        "sreda",
                        "\u010detrtek",
                        "petek",
                        "sobota",
                    }
                }
            }
            eras{
                "pr.n.\u0161.",
                "po Kr.",
            }
            monthNames{
                format{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "maj",
                        "jun",
                        "jul",
                        "avg",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    wide{
                        "januar",
                        "februar",
                        "marec",
                        "april",
                        "maj",
                        "junij",
                        "julij",
                        "avgust",
                        "september",
                        "oktober",
                        "november",
                        "december",
                    }
                }
            }
        }
    }
    Countries { 
        Fallback{ "en"}
        AD { "Andora" }
        AE { "Zdru\u017Eeni arabski emirati" }
        AF { "Afganistan" }
        AG { "Antigva in Barbuda" }
        AI { "Angvila" }
        AL { "Albanija" }
        AM { "Armenija" }
        AN { "Nizozemski Antili" }
        //AO { "Angola" }
        AQ { "Antarktika" }
        //AR { "Argentina" }
        AS { "Ameri\u0161ka Samoa" }
        AT { "Avstrija" }
        AU { "Avstralija" }
        //AW { "Aruba" }
        AZ { "Azerbajd\u017Ean" }
        BA { "Bosna in Hercegovina" }
        //BB { "Barbados" }
        BD { "Banglade\u0161" }
        BE { "Belgija" }
        //BF { "Burkina Faso" }
        BG { "Bolgarija" }
        BH { "Bahrajn" }
        //BI { "Burundi" }
        //BJ { "Benin" }
        //BM { "Bermuda" }
        BN { "Brunej" }
        BO { "Bolivija" }
        BR { "Brazilija" }
        BS { "Bahami" }
        BT { "Butan" }
        BV { "Otok Bouvet" }
        BW { "Bocvana" }
        BY { "Belorusija" }
        //BZ { "Belize" }
        CA { "Kanada" }
        CC { "Kokosovi otoki" }
        CD { "Demokrati\u010Dna republika Kongo" }
        CF { "Centralnoafri\u0161ka republika" }
        CG { "Kongo" }
        CH { "\u0160vica" }
        CI { "Slonoko\u0161\u010Dena obala" }
        CK { "Cookovi otoki" }
        CL { "\u010Cile" }
        CM { "Kamerun" }
        CN { "Kitajska" }
        CO { "Kolumbija" }
        CR { "Kostarika" }
        CU { "Kuba" }
        CV { "Kapverdski otoki" }
        CX { "Bo\u017Ei\u010Dni otok" }
        CY { "Ciper" }
        CZ { "\u010Ce\u0161ka" }
        DE { "Nem\u010Dija" }
        DJ { "D\u017Eibuti" }
        DK { "Danska" }
        DM { "Dominika" }
        DO { "Dominikanska republika" }
        DZ { "Al\u017Eirija" }
        EC { "Ekvador" }
        EE { "Estonija" }
        EG { "Egipt" }
        EH { "Zahodna Sahara" }
        ER { "Eritreja" }
        ES { "\u0160panija" }
        ET { "Etiopija" }
        FI { "Finska" }
        FJ { "Fid\u017Ei" }
        FK { "Falklandski (Malvinski) otoki" }    // alternate name { "Falklandski otoki" }
        FM { "Mikronezija" }
        FO { "Fererski otoki" }
        FR { "Francija" }
        //GA { "Gabon" }
        GB { "Velika Britanija" }
        //GD { "Grenada" }
        GE { "Gruzija" }
        GF { "Francoska Gvajana" }
        GH { "Gana" }
        //GI { "Gibraltar" }
        GL { "Grenlandija" }
        GM { "Gambija" }
        GN { "Gvineja" }
        //GP { "Guadeloupe" }
        GQ { "Ekvatorialna Gvineja" }
        GR { "Gr\u010Dija" }
        GS { "Ju\u017Ena Georgija in Ju\u017Eni Sandwich Islands" }
        GT { "Gvatemala" }
        //GU { "Guam" }
        GW { "Gvineja Bissau" }
        GY { "Gvajana" }
        HK { "Kitajska republika Hong Kong" }
        HM { "Heardov otok in McDonaldovi otoki" }
        //HN { "Honduras" }
        HR { "Hrva\u0161ka" }
        //HT { "Haiti" }
        HU { "Mad\u017Earska" }
        ID { "Indonezija" }
        IE { "Irska" }
        IL { "Izrael" }
        IN { "Indija" }
        IO { "Britanska Indija" }
        IQ { "Irak" }
        //IR { "Iran" }
        IS { "Islandija" }
        IT { "Italija" }
        JM { "Jamajka" }
        //JO { "Jordan" }
        JP { "Japonska" }
        KE { "Kenija" }
        KG { "Kirgizistan" }
        KH { "Kambod\u017Ea" }
        //KI { "Kiribati" }
        KM { "Komori" }
        KN { "Saint Kitts in Nevis" }
        KP { "Severna Koreja" }    // alternate name { "Demokrati\u010Dna ljudska republika Koreja" }
        KR { "Ju\u017Ena Koreja" }    // alternate name { "Republika Koreja" }
        KW { "Kuvajt" }
        KY { "Kajmanski otoki" }
        KZ { "Kazahstan" }
        LA { "Ljudska demokrati\u010Dna republika Laos" }
        LB { "Libanon" }
        //LC { "Saint Lucia" }
        //LI { "Liechtenstein" }
        LK { "\u0160rilanka" }
        LR { "Liberija" }
        LS { "Lesoto" }
        LT { "Litva" }
        LU { "Luxemburg" }
        LV { "Latvija" }
        LY { "Libija" }
        MA { "Maroko" }
        MC { "Monako" }
        MD { "Republika Moldova" }
        MG { "Madagaskar" }
        MH { "Marshallovi otoki" }
        MK { "Republika Makedonija" }
        //ML { "Mali" }
        //MM { "Myanmar" }
        MN { "Mongolija" }
        MO { "Kitajska republika Macao" }
        MP { "Severni Marianski otoki" }
        MQ { "Martinik" }
        MR { "Mavretanija" }
        //MS { "Montserrat" }
        //MT { "Malta" }
        //MU { "Mauritius" }
        MV { "Maldivi" }
        MW { "Malavi" }
        MX { "Mehika" }
        MY { "Malezija" }
        MZ { "Mozambik" }
        NA { "Namibija" }
        NC { "Nova Kaledonija" }
        NE { "Niger" }
        NF { "Otok Norfolk" }
        NG { "Nigerija" }
        NI { "Nikaragva" }
        NL { "Nizozemska" }
        NO { "Norve\u0161ka" }
        //NP { "Nepal" }
        //NR { "Nauru" }
        //NU { "Niue" }
        NZ { "Nova Zelandija" }
        //OM { "Oman" }
        //PA { "Panama" }
        //PE { "Peru" }
        PF { "Francoska Polinezija" }
        PG { "Papua Nova Gvineja" }
        PH { "Filipini" }
        //PK { "Pakistan" }
        PL { "Poljska" }
        PM { "Saint Pierre in Miquelon" }
        //PN { "Pitcairn" }
        PR { "Portoriko" }
        PS { "Palestinsko ozemlje" }
        PT { "Portugalska" }
        //PW { "Palau" }
        PY { "Paragvaj" }
        QA { "Katar" }
        RE { "Reunion" }
        RO { "Romunija" }
        RU { "Ruska federacija" }
        RW { "Ruanda" }
        SA { "Saudova Arabija" }
        SB { "Salomonovo oto\u010Dje" }
        SC { "Sej\u0161eli" }
        //SD { "Sudan" }
        SE { "\u0160vedska" }
        SG { "Singapur" }
        SH { "Sveta Helena" }
        SI { "Slovenija" }
        SJ { "Svalbard in Jan Mayen" }
        SK { "Slova\u0161ka" }
        //SL { "Sierra Leone" }
        //SM { "San Marino" }
        //SN { "Senegal" }
        SO { "Somalija" }
        SR { "Surinam" }
        ST { "Sao Tome in Principe" }
        SV { "Salvador" }
        SY { "Sirija" }
        SZ { "Svazi" }
        TC { "Oto\u010Dji Turks in Caicos" }
        TD { "\u010Cad" }
        TF { "Francoski zahodni teritorij" }
        //TG { "Togo" }
        TH { "Tajska" }
        TJ { "Tad\u017Eikistan" }
        //TK { "Tokelau" }
        TL { "Vzhodni Timor" }
        //TM { "Turkmenistan" }
        TN { "Tunizija" }
        //TO { "Tonga" }
        TR { "Tur\u010Dija" }
        TT { "Trinidad in Tobago" }
        //TV { "Tuvalu" }
        TW { "Tajvan" }
        TZ { "Tanzanija" }
        UA { "Ukrajina" }
        //UG { "Uganda" }
        UM { "Ameri\u0161ki manj\u0161i oddaljeni otoki" }
        US { "Zdru\u017Eene dr\u017Eave Amerike" }
        UY { "Urugvaj" }
        //UZ { "Uzbekistan" }
        VA { "Vatikan" }
        VC { "Saint Vincent in Grenadine" }
        //VE { "Venezuela" }
        VG { "Britanski Devi\u0161ki otoki" }
        VI { "Ameri\u0161ki Devi\u0161ki otoki" }
        //VN { "Vietnam" }
        //VU { "Vanuatu" }
        WF { "Wallis in Futuna" }
        //WS { "Samoa" }
        YE { "Jemen" }
        //YT { "Mayotte" }
        YU { "Jugoslavija" }
        ZA { "Ju\u017Ena Afrika" }
        ZM { "Zambija" }
        ZW { "Zimbabve" }
    }

    // Currency display names
    Currencies {
        SIT { "SIT", "SIT" }
    }

    Languages { 
        ar { "Arab\u0161\u010Dina" }
        bg { "Bolgar\u0161\u010Dina" }
        cs { "\u010Ce\u0161\u010Dina" }
        da { "Dan\u0161\u010Dina" }
        de { "Nem\u0161\u010Dina" }
        el { "Gr\u0161\u010Dina" }
        en { "Angle\u0161\u010Dina" }
        es { "\u0160pan\u0161\u010Dina" }
        et { "Eston\u0161\u010Dina" }
        fi { "Fin\u0161\u010Dina" }
        fr { "Franco\u0161\u010Dina" }
        he { "Hebrej\u0161\u010Dina" }
        hr { "Hrva\u0161\u010Dina" }
        hu { "Mad\u017Ear\u0161\u010Dina" }
        it { "Italijan\u0161\u010Dina" }
        ja { "Japon\u0161\u010Dina" }
        ko { "Korej\u0161\u010Dina" }
        lt { "Litov\u0161\u010Dina" }
        lv { "Leton\u0161\u010Dina" }
        nl { "Nizozem\u0161\u010Dina" }
        no { "Norve\u0161\u010Dina" }
        pl { "Polj\u0161\u010Dina" }
        pt { "Portugal\u0161\u010Dina" }
        ro { "Romun\u0161\u010Dina" }
        ru { "Ru\u0161\u010Dina" }
        sk { "Slova\u0161\u010Dina" }
        sl { "Sloven\u0161\u010Dina" }
        sv { "\u0160ved\u0161\u010Dina" }
        tr { "Tur\u0161\u010Dina" }
        zh { "Kitaj\u0161\u010Dina" }
        //zh_cn { "Kitaj\u0161\u010Dina (poenostavljena)" }
        //zh_tw { "Kitaj\u0161\u010Dina (tradicionalna)" }
    }
    NumberElements { 
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        "+",
    }
    localPatternChars { "GanjkHmsSEDFwWxhKzAeugXZ" }

    LocaleScript{ 
        "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters { "[a-pr-vz\u010d\u0161\u017e]" }
}
