﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sl.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/sl.xml
 */
sl{
    AuxExemplarCharacters{
        "[á à ă â å ä ā æ ç ć đ é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ q ú ù ŭ û ü"
        " ū w x y ÿ]"
    }
    ExemplarCharacters{"[a b c č d e f g h i j k l m n o p r s š t u v z ž]"}
    ExemplarCharactersIndex{"[A B C Č Ć D Đ E F G H I J K L M N O P Q R S Š T U V W X Y Z Ž]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00;(¤#,##0.00)"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        few{"0 tisoč"}
                        one{"0 tisoč"}
                        other{"0 tisoč"}
                        two{"0 tisoč"}
                    }
                    10000{
                        few{"00 tisoč"}
                        one{"00 tisoč"}
                        other{"00 tisoč"}
                        two{"00 tisoč"}
                    }
                    100000{
                        few{"000 tisoč"}
                        one{"000 tisoč"}
                        other{"000 tisoč"}
                        two{"000 tisoč"}
                    }
                    1000000{
                        few{"0 milijone"}
                        one{"0 milijon"}
                        other{"0 milijonov"}
                        two{"0 milijona"}
                    }
                    10000000{
                        few{"00 milijoni"}
                        one{"00 milijon"}
                        other{"00 milijonov"}
                        two{"00 milijona"}
                    }
                    100000000{
                        few{"000 milijoni"}
                        one{"000 milijon"}
                        other{"000 milijonov"}
                        two{"000 milijona"}
                    }
                    1000000000{
                        few{"0 milijarde"}
                        one{"0 milijarda"}
                        other{"0 milijard"}
                        two{"0 milijardi"}
                    }
                    10000000000{
                        few{"00 milijarde"}
                        one{"00 milijarda"}
                        other{"00 milijard"}
                        two{"00 milijardi"}
                    }
                    100000000000{
                        few{"000 milijarde"}
                        one{"000 milijarda"}
                        other{"000 milijard"}
                        two{"000 milijardi"}
                    }
                    1000000000000{
                        few{"0 bilijoni"}
                        one{"0 bilijon"}
                        other{"0 bilijonov"}
                        two{"0 bilijona"}
                    }
                    10000000000000{
                        few{"00 bilijoni"}
                        one{"00 bilijon"}
                        other{"00 bilijonov"}
                        two{"00 bilijona"}
                    }
                    100000000000000{
                        few{"000 bilijoni("}
                        one{"000 bilijon"}
                        other{"000 bilijonov"}
                        two{"000 bilijona"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        few{"0 tis'.'"}
                        one{"0 tis'.'"}
                        other{"0 tis'.'"}
                        two{"0 tis'.'"}
                    }
                    10000{
                        few{"00 tis'.'"}
                        one{"00 tis'.'"}
                        other{"00 tis'.'"}
                        two{"00 tis'.'"}
                    }
                    100000{
                        few{"000 tis'.'"}
                        one{"000 tis'.'"}
                        other{"000 tis'.'"}
                        two{"000 tis'.'"}
                    }
                    1000000{
                        few{"0 mio'.'"}
                        one{"0 mio'.'"}
                        other{"0 mio'.'"}
                        two{"0 mio'.'"}
                    }
                    10000000{
                        few{"00 mio'.'"}
                        one{"00 mio'.'"}
                        other{"00 mio'.'"}
                        two{"00 mio'.'"}
                    }
                    100000000{
                        few{"000 mio'.'"}
                        one{"000 mio'.'"}
                        other{"000 mio'.'"}
                        two{"000 mio'.'"}
                    }
                    1000000000{
                        few{"0 mrd'.'"}
                        one{"0 mrd'.'"}
                        other{"0 mrd'.'"}
                        two{"0 mrd'.'"}
                    }
                    10000000000{
                        few{"00 mrd'.'"}
                        one{"00 mrd'.'"}
                        other{"00 mrd'.'"}
                        two{"00 mrd'.'"}
                    }
                    100000000000{
                        few{"000 mrd'.'"}
                        one{"000 mrd'.'"}
                        other{"000 mrd'.'"}
                        two{"000 mrd'.'"}
                    }
                    1000000000000{
                        few{"0 bil'.'"}
                        one{"0 bil'.'"}
                        other{"0 bil'.'"}
                        two{"0 bil'.'"}
                    }
                    10000000000000{
                        few{"00 bil'.'"}
                        one{"00 bil'.'"}
                        other{"00 bil'.'"}
                        two{"00 bil'.'"}
                    }
                    100000000000000{
                        few{"000 bil'.'"}
                        one{"000 bil'.'"}
                        other{"000 bil'.'"}
                        two{"000 bil'.'"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"e"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.86.71"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd. MMMM y G",
                "dd. MMMM y G",
                "d. MMM y G",
                "d. MM. yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d."}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d. MM."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMd{"d. MMM"}
                Md{"d. M."}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, d. M. y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d. MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d. MMM y"}
                yMd{"d. M. y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH.mm–HH.mm"}
                    m{"HH.mm–HH.mm"}
                }
                Hmv{
                    H{"HH.mm–HH.mm v"}
                    m{"HH.mm–HH.mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M.–M."}
                }
                MEd{
                    M{"E, d. M. – E, d. M."}
                    d{"E, d. – E, d. M."}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d. MMM – E, d. MMM"}
                    d{"E, d. – E, d. MMM"}
                }
                MMMd{
                    M{"d. MMM – d. MMM"}
                    d{"d.–d. MMM"}
                }
                Md{
                    M{"d. M. – d. M."}
                    d{"d. – d. M."}
                }
                d{
                    d{"d.–d."}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"M.–M. y"}
                    y{"M. y – M. y"}
                }
                yMEd{
                    M{"E, d. M. – E, d. M. y"}
                    d{"E, d. – E, d. M. y"}
                    y{"E, d. M. y – E, d. M. y"}
                }
                yMMM{
                    M{"MMM – MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d. MMM – E, d. MMM y"}
                    d{"E, d. MMM – E, d. MMM y"}
                    y{"E, d. MMM y – E, d. MMM y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d. MMM – d. MMM y"}
                    d{"d.–d. MMM y"}
                    y{"d. MMM y – d. MMM y"}
                }
                yMd{
                    M{"d. M. – d. M. y"}
                    d{"d. M. y – d. M. y"}
                    y{"d. M. y – d. M. y"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "dop.",
                "pop.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, dd. MMMM y",
                "dd. MMMM y",
                "d. MMM y",
                "d. MM. yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d."}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d. MM."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM"}
                MMMd{"d. MMM"}
                Md{"d. M."}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, d. M. y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d. MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d. MMM y"}
                yMd{"d. M. y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ned.",
                        "pon.",
                        "tor.",
                        "sre.",
                        "čet.",
                        "pet.",
                        "sob.",
                    }
                    short{
                        "ned.",
                        "pon.",
                        "tor.",
                        "sre.",
                        "čet.",
                        "pet.",
                        "sob.",
                    }
                    wide{
                        "nedelja",
                        "ponedeljek",
                        "torek",
                        "sreda",
                        "četrtek",
                        "petek",
                        "sobota",
                    }
                }
                stand-alone{
                    abbreviated{
                        "ned",
                        "pon",
                        "tor",
                        "sre",
                        "čet",
                        "pet",
                        "sob",
                    }
                    narrow{
                        "n",
                        "p",
                        "t",
                        "s",
                        "č",
                        "p",
                        "s",
                    }
                    short{
                        "ned.",
                        "pon.",
                        "tor.",
                        "sre.",
                        "čet.",
                        "pet.",
                        "sob.",
                    }
                }
            }
            eras{
                abbreviated{
                    "pr. n. št.",
                    "po Kr.",
                }
                wide{
                    "pred našim štetjem",
                    "naše štetje",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH.mm–HH.mm"}
                    m{"HH.mm–HH.mm"}
                }
                Hmv{
                    H{"HH.mm–HH.mm v"}
                    m{"HH.mm–HH.mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M.–M."}
                }
                MEd{
                    M{"E, d. M. – E, d. M."}
                    d{"E, d. – E, d. M."}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d. MMM – E, d. MMM"}
                    d{"E, d. – E, d. MMM"}
                }
                MMMd{
                    M{"d. MMM – d. MMM"}
                    d{"d.–d. MMM"}
                }
                Md{
                    M{"d. M. – d. M."}
                    d{"d. – d. M."}
                }
                d{
                    d{"d.–d."}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"M.–M. y"}
                    y{"M. y – M. y"}
                }
                yMEd{
                    M{"E, d. M. – E, d. M. y"}
                    d{"E, d. – E, d. M. y"}
                    y{"E, d. M. y – E, d. M. y"}
                }
                yMMM{
                    M{"MMM – MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d. MMM – E, d. MMM y"}
                    d{"E, d. MMM – E, d. MMM y"}
                    y{"E, d. MMM y – E, d. MMM y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d. MMM – d. MMM y"}
                    d{"d.–d. MMM y"}
                    y{"d. MMM y – d. MMM y"}
                }
                yMd{
                    M{"d. M. – d. M. y"}
                    d{"d. M. y – d. M. y"}
                    y{"d. M. y – d. M. y"}
                }
            }
            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",
                    }
                }
                stand-alone{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "maj",
                        "jun",
                        "jul",
                        "avg",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    narrow{
                        "j",
                        "f",
                        "m",
                        "a",
                        "m",
                        "j",
                        "j",
                        "a",
                        "s",
                        "o",
                        "n",
                        "d",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. četrtletje",
                        "2. četrtletje",
                        "3. četrtletje",
                        "4. četrtletje",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    fields{
        day{
            dn{"Dan"}
            relative{
                "-1"{"Včeraj"}
                "-2"{"Predvčerajšnjim"}
                "0"{"Danes"}
                "1"{"Jutri"}
                "2"{"Pojutrišnjem"}
            }
        }
        dayperiod{
            dn{"Čas dneva"}
        }
        era{
            dn{"Doba"}
        }
        hour{
            dn{"Ura"}
        }
        minute{
            dn{"Minuta"}
        }
        month{
            dn{"Mesec"}
            relative{
                "-1"{"Prejšnji mesec"}
                "0"{"Ta mesec"}
                "1"{"Naslednji mesec"}
            }
        }
        second{
            dn{"Sekunda"}
        }
        week{
            dn{"Teden"}
            relative{
                "-1"{"Prejšnji teden"}
                "0"{"Ta teden"}
                "1"{"Naslednji teden"}
            }
        }
        weekday{
            dn{"Dan v tednu"}
        }
        year{
            dn{"Leto"}
            relative{
                "-1"{"Lani"}
                "0"{"Letos"}
                "1"{"Naslednje leto"}
            }
        }
        zone{
            dn{"Območje"}
        }
    }
    listPattern{
        standard{
            2{"{0} in {1}"}
            end{"{0} in {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"Angleški"}
        US{"imperialni"}
        metric{"metrični"}
    }
    units{
        day{
            few{"{0} dnevi"}
            one{"{0} dan"}
            other{"{0} dni"}
            two{"{0} dni"}
        }
        day-future{
            few{"Čez {0} dni"}
            one{"Čez {0} dan"}
            other{"Čez {0} dni"}
            two{"Čez {0} dni"}
        }
        day-past{
            few{"Pred {0} dnevi"}
            one{"Pred {0} dnevom"}
            other{"Pred {0} dnevi"}
            two{"Pred {0} dnevoma"}
        }
        hour{
            few{"{0} ure"}
            one{"{0} ura"}
            other{"{0} ur"}
            two{"{0} uri"}
        }
        hour-future{
            few{"Čez {0} h"}
            one{"Čez {0} h"}
            other{"Čez {0} h"}
            two{"Čez {0} h"}
        }
        hour-past{
            few{"Pred {0} h"}
            one{"Pred {0} h"}
            other{"Pred {0} h"}
            two{"Pred {0} h"}
        }
        minute{
            few{"{0} minute"}
            one{"{0} minuta"}
            other{"{0} minut"}
            two{"{0} minuti"}
        }
        minute-future{
            few{"Čez {0} min."}
            one{"Čez {0} min."}
            other{"Čez {0} min."}
            two{"Čez {0} min."}
        }
        minute-past{
            few{"Pred {0} min."}
            one{"Pred {0} min."}
            other{"Pred {0} min."}
            two{"Pred {0} min."}
        }
        month{
            few{"{0} meseci"}
            one{"{0} mesec"}
            other{"{0} mesecev"}
            two{"{0} meseca"}
        }
        month-future{
            few{"Čez {0} mesece"}
            one{"Čez {0} mesec"}
            other{"Čez {0} mesecev"}
            two{"Čez {0} meseca"}
        }
        month-past{
            few{"Pred {0} meseci"}
            one{"Pred {0} mesecem"}
            other{"Pred {0} meseci"}
            two{"Pred {0} meseci"}
        }
        second{
            few{"{0} sekunde"}
            one{"{0} sekunda"}
            other{"{0} sekund"}
            two{"{0} sekundi"}
        }
        second-future{
            few{"Čez {0} sekunde"}
            one{"Čez {0} sekundo"}
            other{"Čez {0} sekundi"}
            two{"Čez {0} sekundi"}
        }
        second-past{
            few{"Pred {0} sekundami"}
            one{"Pred {0} sekundo"}
            other{"Pred {0} sekundami"}
            two{"Pred {0} sekundama"}
        }
        week{
            few{"{0} tedni"}
            one{"{0} teden"}
            other{"{0} tednov"}
            two{"{0} tedna"}
        }
        week-future{
            few{"Čez {0} tedne"}
            one{"Čez {0} teden"}
            other{"Čez {0} tednov"}
            two{"Čez {0} tedna"}
        }
        week-past{
            few{"Pred {0} tedni"}
            one{"Pred {0} tednom"}
            other{"Pred {0} tedni"}
            two{"Pred {0} tednoma"}
        }
        year{
            few{"{0} leta"}
            one{"{0} leto"}
            other{"{0} let"}
            two{"{0} leti"}
        }
        year-future{
            few{"Čez {0} leta"}
            one{"Čez {0} leto"}
            other{"Čez {0} let"}
            two{"Čez {0} leti"}
        }
        year-past{
            few{"Pred {0} leti"}
            one{"Pred {0} letom"}
            other{"Pred {0} leti"}
            two{"Pred {0} leti"}
        }
    }
    unitsShort{
        day{
            few{"{0} d"}
            one{"{0} d"}
            other{"{0} d"}
            two{"{0} d"}
        }
        hour{
            few{"{0} h"}
            one{"{0} h"}
            other{"{0} h"}
            two{"{0} h"}
        }
        minute{
            few{"{0} min"}
            one{"{0} min"}
            other{"{0} min"}
            two{"{0} min"}
        }
        month{
            few{"{0} m"}
            one{"{0} m"}
            other{"{0} m"}
            two{"{0} m"}
        }
        second{
            few{"{0} s"}
            one{"{0} s"}
            other{"{0} s"}
            two{"{0} s"}
        }
        week{
            few{"{0} t"}
            one{"{0} t"}
            other{"{0} t"}
            two{"{0} t"}
        }
        year{
            few{"{0} l"}
            one{"{0} l"}
            other{"{0} l"}
            two{"{0} l"}
        }
    }
}
