﻿// ***************************************************************************
// *
// * 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>/common/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",
    }
    MoreInformation{"?"}
    NumberElements{
        latn{
            miscPatterns{
                atLeast{"⩾{0}"}
                range{"{0}–{1}"}
            }
            patterns{
                accountingFormat{"¤#,##0.00;(¤#,##0.00)"}
                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{"+"}
                superscriptingExponent{"×"}
            }
        }
    }
    Version{"2.0.92.87"}
    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."}
                Gy{"y G"}
                GyM{"M/y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d. MMM y G"}
                GyMMMd{"d. MMM y G"}
                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"}
                ms{"mm:ss"}
                y{"y"}
                yyyy{"y G"}
                yyyyM{"M/y G"}
                yyyyMEd{"E, d. M. y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d. MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d. MMM y G"}
                yyyyMd{"d. M. y G"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            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}",
            }
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                EHm{"E HH.mm"}
                EHms{"E HH.mm.ss"}
                Ed{"E, d."}
                Ehm{"E h.mm a"}
                Ehms{"E h.mm.ss a"}
                Gy{"y G"}
                GyM{"M/y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d. MMM y G"}
                GyMMMd{"d. MMM y G"}
                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"}
                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.",
                    }
                    narrow{
                        "n",
                        "p",
                        "t",
                        "s",
                        "č",
                        "p",
                        "s",
                    }
                    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.",
                    }
                    wide{
                        "nedelja",
                        "ponedeljek",
                        "torek",
                        "sreda",
                        "četrtek",
                        "petek",
                        "sobota",
                    }
                }
            }
            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.",
                    }
                    narrow{
                        "j",
                        "f",
                        "m",
                        "a",
                        "m",
                        "j",
                        "j",
                        "a",
                        "s",
                        "o",
                        "n",
                        "d",
                    }
                    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",
                    }
                    wide{
                        "januar",
                        "februar",
                        "marec",
                        "april",
                        "maj",
                        "junij",
                        "julij",
                        "avgust",
                        "september",
                        "oktober",
                        "november",
                        "december",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. četrtletje",
                        "2. četrtletje",
                        "3. četrtletje",
                        "4. četrtletje",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. četrtletje",
                        "2. četrtletje",
                        "3. četrtletje",
                        "4. četrtletje",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    durationUnits{
        hm{"h.mm"}
        hms{"h.mm.ss"}
        ms{"m.ss"}
    }
    fields{
        day{
            dn{"Dan"}
            relative{
                "-1"{"Včeraj"}
                "-2"{"Predvčerajšnjim"}
                "0"{"Danes"}
                "1"{"Jutri"}
                "2"{"Pojutrišnjem"}
            }
            relativeTime{
                future{
                    few{"Čez {0} dni"}
                    one{"Čez {0} dan"}
                    other{"Čez {0} dni"}
                    two{"Čez {0} dni"}
                }
                past{
                    few{"Pred {0} dnevi"}
                    one{"Pred {0} dnevom"}
                    other{"Pred {0} dnevi"}
                    two{"Pred {0} dnevoma"}
                }
            }
        }
        dayperiod{
            dn{"Čas dneva"}
        }
        era{
            dn{"Doba"}
        }
        fri{
            relative{
                "-1"{"Prejšnji petek"}
                "0"{"Ta petek"}
                "1"{"Naslednji petek"}
            }
        }
        hour{
            dn{"Ura"}
            relativeTime{
                future{
                    few{"Čez {0} h"}
                    one{"Čez {0} h"}
                    other{"Čez {0} h"}
                    two{"Čez {0} h"}
                }
                past{
                    few{"Pred {0} h"}
                    one{"Pred {0} h"}
                    other{"Pred {0} h"}
                    two{"Pred {0} h"}
                }
            }
        }
        minute{
            dn{"Minuta"}
            relativeTime{
                future{
                    few{"Čez {0} min."}
                    one{"Čez {0} min."}
                    other{"Čez {0} min."}
                    two{"Čez {0} min."}
                }
                past{
                    few{"Pred {0} min."}
                    one{"Pred {0} min."}
                    other{"Pred {0} min."}
                    two{"Pred {0} min."}
                }
            }
        }
        mon{
            relative{
                "-1"{"Prejšnji ponedeljek"}
                "0"{"Ta ponedeljek"}
                "1"{"Naslednji ponedeljek"}
            }
        }
        month{
            dn{"Mesec"}
            relative{
                "-1"{"Prejšnji mesec"}
                "0"{"Ta mesec"}
                "1"{"Naslednji mesec"}
            }
            relativeTime{
                future{
                    few{"Čez {0} mesece"}
                    one{"Čez {0} mesec"}
                    other{"Čez {0} mesecev"}
                    two{"Čez {0} meseca"}
                }
                past{
                    few{"Pred {0} meseci"}
                    one{"Pred {0} mesecem"}
                    other{"Pred {0} meseci"}
                    two{"Pred {0} meseci"}
                }
            }
        }
        sat{
            relative{
                "-1"{"Prejšnjo soboto"}
                "0"{"To soboto"}
                "1"{"Naslednjo soboto"}
            }
        }
        second{
            dn{"Sekunda"}
            relative{
                "0"{"zdaj"}
            }
            relativeTime{
                future{
                    few{"Čez {0} sekunde"}
                    one{"Čez {0} sekundo"}
                    other{"Čez {0} sekundi"}
                    two{"Čez {0} sekundi"}
                }
                past{
                    few{"Pred {0} sekundami"}
                    one{"Pred {0} sekundo"}
                    other{"Pred {0} sekundami"}
                    two{"Pred {0} sekundama"}
                }
            }
        }
        sun{
            relative{
                "-1"{"Prejšnjo nedeljo"}
                "0"{"To nedeljo"}
                "1"{"Naslednjo nedeljo"}
            }
        }
        thu{
            relative{
                "-1"{"Prejšnji četrtek"}
                "0"{"Ta četrtek"}
                "1"{"Naslednji četrtek"}
            }
        }
        tue{
            relative{
                "-1"{"Prejšnji torek"}
                "0"{"Ta torek"}
                "1"{"Naslednji torek"}
            }
        }
        wed{
            relative{
                "-1"{"Prejšnjo sredo"}
                "0"{"To sredo"}
                "1"{"Naslednjo sredo"}
            }
        }
        week{
            dn{"Teden"}
            relative{
                "-1"{"Prejšnji teden"}
                "0"{"Ta teden"}
                "1"{"Naslednji teden"}
            }
            relativeTime{
                future{
                    few{"Čez {0} tedne"}
                    one{"Čez {0} teden"}
                    other{"Čez {0} tednov"}
                    two{"Čez {0} tedna"}
                }
                past{
                    few{"Pred {0} tedni"}
                    one{"Pred {0} tednom"}
                    other{"Pred {0} tedni"}
                    two{"Pred {0} tednoma"}
                }
            }
        }
        weekday{
            dn{"Dan v tednu"}
        }
        year{
            dn{"Leto"}
            relative{
                "-1"{"Lani"}
                "0"{"Letos"}
                "1"{"Naslednje leto"}
            }
            relativeTime{
                future{
                    few{"Čez {0} leta"}
                    one{"Čez {0} leto"}
                    other{"Čez {0} let"}
                    two{"Čez {0} leti"}
                }
                past{
                    few{"Pred {0} leti"}
                    one{"Pred {0} letom"}
                    other{"Pred {0} leti"}
                    two{"Pred {0} leti"}
                }
            }
        }
        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"}
    }
    transformNames{
        BGN{"BGN"}
        Numeric{"Številsko"}
        Tone{"Ton"}
        UNGEGN{"UNGEGN"}
        x-Accents{"Accents"}
        x-Fullwidth{"Polna širina"}
        x-Halfwidth{"Polovična širina"}
        x-Jamo{"Jamo"}
        x-Pinyin{"Pinjin"}
        x-Publishing{"Publishing"}
    }
    units{
        acceleration{
            g-force{
                few{"{0} G"}
                one{"{0} G"}
                other{"{0} G"}
                two{"{0} G"}
            }
        }
        angle{
            arc-minute{
                few{"{0}′"}
                one{"{0}′"}
                other{"{0}′"}
                two{"{0}′"}
            }
            arc-second{
                few{"{0}″"}
                one{"{0}″"}
                other{"{0}″"}
                two{"{0}″"}
            }
            degree{
                few{"{0} °"}
                one{"{0} °"}
                other{"{0} °"}
                two{"{0} °"}
            }
        }
        area{
            acre{
                few{"{0} jutra"}
                one{"{0} jutro"}
                other{"{0} juter"}
                two{"{0} jutri"}
            }
            hectare{
                few{"{0} ha"}
                one{"{0} ha"}
                other{"{0} ha"}
                two{"{0} ha"}
            }
            square-foot{
                few{"{0} ft²"}
                one{"{0} ft²"}
                other{"{0} ft²"}
                two{"{0} ft²"}
            }
            square-kilometer{
                few{"{0} km²"}
                one{"{0} km²"}
                other{"{0} km²"}
                two{"{0} km²"}
            }
            square-meter{
                few{"{0} m²"}
                one{"{0} m²"}
                other{"{0} m²"}
                two{"{0} m²"}
            }
            square-mile{
                few{"{0} mi²"}
                one{"{0} mi²"}
                other{"{0} mi²"}
                two{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            day{
                few{"{0} dnevi"}
                one{"{0} dan"}
                other{"{0} dni"}
                two{"{0} dni"}
            }
            hour{
                few{"{0} ure"}
                one{"{0} ura"}
                other{"{0} ur"}
                two{"{0} uri"}
            }
            millisecond{
                few{"{0} ms"}
                one{"{0} ms"}
                other{"{0} ms"}
                two{"{0} ms"}
            }
            minute{
                few{"{0} minute"}
                one{"{0} minuta"}
                other{"{0} minut"}
                two{"{0} minuti"}
            }
            month{
                few{"{0} meseci"}
                one{"{0} mesec"}
                other{"{0} mesecev"}
                two{"{0} meseca"}
            }
            second{
                few{"{0} sekunde"}
                one{"{0} sekunda"}
                other{"{0} sekund"}
                two{"{0} sekundi"}
            }
            week{
                few{"{0} tedni"}
                one{"{0} teden"}
                other{"{0} tednov"}
                two{"{0} tedna"}
            }
            year{
                few{"{0} leta"}
                one{"{0} leto"}
                other{"{0} let"}
                two{"{0} leti"}
            }
        }
        length{
            centimeter{
                few{"{0} cm"}
                one{"{0} cm"}
                other{"{0} cm"}
                two{"{0} cm"}
            }
            foot{
                few{"{0} ft"}
                one{"{0} ft"}
                other{"{0} ft"}
                two{"{0} ft"}
            }
            inch{
                few{"{0} in"}
                one{"{0} in"}
                other{"{0} in"}
                two{"{0} in"}
            }
            kilometer{
                few{"{0} km"}
                one{"{0} km"}
                other{"{0} km"}
                two{"{0} km"}
            }
            light-year{
                few{"{0} svetlobna leta"}
                one{"{0} svetlobno leto"}
                other{"{0} svetlobnih let"}
                two{"{0} svetlobni leti"}
            }
            meter{
                few{"{0} m"}
                one{"{0} m"}
                other{"{0} m"}
                two{"{0} m"}
            }
            mile{
                few{"{0} mi"}
                one{"{0} mi"}
                other{"{0} mi"}
                two{"{0} mi"}
            }
            millimeter{
                few{"{0} mm"}
                one{"{0} mm"}
                other{"{0} mm"}
                two{"{0} mm"}
            }
            picometer{
                few{"{0} pm"}
                one{"{0} pm"}
                other{"{0} pm"}
                two{"{0} pm"}
            }
            yard{
                few{"{0} yd"}
                one{"{0} yd"}
                other{"{0} yd"}
                two{"{0} yd"}
            }
        }
        mass{
            gram{
                few{"{0} g"}
                one{"{0} g"}
                other{"{0} g"}
                two{"{0} g"}
            }
            kilogram{
                few{"{0} kg"}
                one{"{0} kg"}
                other{"{0} kg"}
                two{"{0} kg"}
            }
            ounce{
                few{"{0} oz"}
                one{"{0} oz"}
                other{"{0} oz"}
                two{"{0} oz"}
            }
            pound{
                few{"{0} lb"}
                one{"{0} lb"}
                other{"{0} lb"}
                two{"{0} lb"}
            }
        }
        power{
            horsepower{
                few{"{0} KM"}
                one{"{0} KM"}
                other{"{0} KM"}
                two{"{0} KM"}
            }
            kilowatt{
                few{"{0} kW"}
                one{"{0} kW"}
                other{"{0} kW"}
                two{"{0} kW"}
            }
            watt{
                few{"{0} W"}
                one{"{0} W"}
                other{"{0} W"}
                two{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                few{"{0} hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
                two{"{0} hPa"}
            }
            inch-hg{
                few{"{0} inHg"}
                one{"{0} inHg"}
                other{"{0} inHg"}
                two{"{0} inHg"}
            }
            millibar{
                few{"{0} mbar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
                two{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                few{"{0} km/h"}
                one{"{0} km/h"}
                other{"{0} km/h"}
                two{"{0} km/h"}
            }
            meter-per-second{
                few{"{0} m/s"}
                one{"{0} m/s"}
                other{"{0} m/s"}
                two{"{0} m/s"}
            }
            mile-per-hour{
                few{"{0} mi/h"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
                two{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                few{"{0} °C"}
                one{"{0} °C"}
                other{"{0} °C"}
                two{"{0} °C"}
            }
            fahrenheit{
                few{"{0} °F"}
                one{"{0} °F"}
                other{"{0} °F"}
                two{"{0} °F"}
            }
        }
        volume{
            cubic-kilometer{
                few{"{0} km³"}
                one{"{0} km³"}
                other{"{0} km³"}
                two{"{0} km³"}
            }
            cubic-mile{
                few{"{0} mi³"}
                one{"{0} mi³"}
                other{"{0} mi³"}
                two{"{0} mi³"}
            }
            liter{
                few{"{0} l"}
                one{"{0} l"}
                other{"{0} l"}
                two{"{0} l"}
            }
        }
    }
    unitsNarrow{
        acceleration{
            g-force{
                few{"{0} G"}
                one{"{0} G"}
                other{"{0} G"}
                two{"{0} G"}
            }
        }
        angle{
            arc-minute{
                few{"{0}′"}
                one{"{0}′"}
                other{"{0}′"}
                two{"{0}′"}
            }
            arc-second{
                few{"{0}″"}
                one{"{0}″"}
                other{"{0}″"}
                two{"{0}″"}
            }
            degree{
                few{"{0} °"}
                one{"{0} °"}
                other{"{0} °"}
                two{"{0} °"}
            }
        }
        area{
            acre{
                few{"{0} jut."}
                one{"{0} jut."}
                other{"{0} jut."}
                two{"{0} jut."}
            }
            hectare{
                few{"{0} ha"}
                one{"{0} ha"}
                other{"{0} ha"}
                two{"{0} ha"}
            }
            square-foot{
                few{"{0} ft²"}
                one{"{0} ft²"}
                other{"{0} ft²"}
                two{"{0} ft²"}
            }
            square-kilometer{
                few{"{0} km²"}
                one{"{0} km²"}
                other{"{0} km²"}
                two{"{0} km²"}
            }
            square-meter{
                few{"{0} m²"}
                one{"{0} m²"}
                other{"{0} m²"}
                two{"{0} m²"}
            }
            square-mile{
                few{"{0} mi²"}
                one{"{0} mi²"}
                other{"{0} mi²"}
                two{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            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"}
            }
            millisecond{
                few{"{0} ms"}
                one{"{0} ms"}
                other{"{0} ms"}
                two{"{0} ms"}
            }
            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"}
            }
        }
        length{
            centimeter{
                few{"{0} cm"}
                one{"{0} cm"}
                other{"{0} cm"}
                two{"{0} cm"}
            }
            foot{
                few{"{0} ft"}
                one{"{0} ft"}
                other{"{0} ft"}
                two{"{0} ft"}
            }
            inch{
                few{"{0} in"}
                one{"{0} in"}
                other{"{0} in"}
                two{"{0} in"}
            }
            kilometer{
                few{"{0} km"}
                one{"{0} km"}
                other{"{0} km"}
                two{"{0} km"}
            }
            light-year{
                few{"{0} sv. l."}
                one{"{0} ly"}
                other{"{0} sv. l."}
                two{"{0} sv. l."}
            }
            meter{
                few{"{0} m"}
                one{"{0} m"}
                other{"{0} m"}
                two{"{0} m"}
            }
            mile{
                few{"{0} mi"}
                one{"{0} mi"}
                other{"{0} mi"}
                two{"{0} mi"}
            }
            millimeter{
                few{"{0} mm"}
                one{"{0} mm"}
                other{"{0} mm"}
                two{"{0} mm"}
            }
            picometer{
                few{"{0} pm"}
                one{"{0} pm"}
                other{"{0} pm"}
                two{"{0} pm"}
            }
            yard{
                few{"{0} yd"}
                one{"{0} yd"}
                other{"{0} yd"}
                two{"{0} yd"}
            }
        }
        mass{
            gram{
                few{"{0} g"}
                one{"{0} g"}
                other{"{0} g"}
                two{"{0} g"}
            }
            kilogram{
                few{"{0} kg"}
                one{"{0} kg"}
                other{"{0} kg"}
                two{"{0} kg"}
            }
            ounce{
                few{"{0} oz"}
                one{"{0} oz"}
                other{"{0} oz"}
                two{"{0} oz"}
            }
            pound{
                few{"{0} lb"}
                one{"{0} lb"}
                other{"{0} lb"}
                two{"{0} lb"}
            }
        }
        power{
            horsepower{
                few{"{0} KM"}
                one{"{0} KM"}
                other{"{0} hp"}
                two{"{0} KM"}
            }
            kilowatt{
                few{"{0} kW"}
                one{"{0} kW"}
                other{"{0} kW"}
                two{"{0} kW"}
            }
            watt{
                few{"{0} W"}
                one{"{0} W"}
                other{"{0} W"}
                two{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                few{"{0} hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
                two{"{0} hPa"}
            }
            inch-hg{
                few{"{0} inHg"}
                one{"{0} inHg"}
                other{"{0} inHg"}
                two{"{0} inHg"}
            }
            millibar{
                few{"{0} mbar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
                two{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                few{"{0} km/h"}
                one{"{0} km/h"}
                other{"{0} km/h"}
                two{"{0} km/h"}
            }
            meter-per-second{
                few{"{0} m/s"}
                one{"{0} m/s"}
                other{"{0} m/s"}
                two{"{0} m/s"}
            }
            mile-per-hour{
                few{"{0} mi/h"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
                two{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                few{"{0} °"}
                one{"{0} °"}
                other{"{0} °"}
                two{"{0} °"}
            }
            fahrenheit{
                few{"{0} °F"}
                one{"{0} °F"}
                other{"{0} °F"}
                two{"{0} °F"}
            }
        }
        volume{
            cubic-kilometer{
                few{"{0} km³"}
                one{"{0} km³"}
                other{"{0} km³"}
                two{"{0} km³"}
            }
            cubic-mile{
                few{"{0} mi³"}
                one{"{0} mi³"}
                other{"{0} mi³"}
                two{"{0} mi³"}
            }
            liter{
                few{"{0} l"}
                one{"{0} l"}
                other{"{0} l"}
                two{"{0} l"}
            }
        }
    }
    unitsShort{
        acceleration{
            g-force{
                few{"{0} G"}
                one{"{0} G"}
                other{"{0} G"}
                two{"{0} G"}
            }
        }
        angle{
            arc-minute{
                few{"{0}′"}
                one{"{0}′"}
                other{"{0}′"}
                two{"{0}′"}
            }
            arc-second{
                few{"{0}″"}
                one{"{0}″"}
                other{"{0}″"}
                two{"{0}″"}
            }
            degree{
                few{"{0} °"}
                one{"{0} °"}
                other{"{0} °"}
                two{"{0} °"}
            }
        }
        area{
            acre{
                few{"{0} jut."}
                one{"{0} jut."}
                other{"{0} jut."}
                two{"{0} jut."}
            }
            hectare{
                few{"{0} ha"}
                one{"{0} ha"}
                other{"{0} ha"}
                two{"{0} ha"}
            }
            square-foot{
                few{"{0} ft²"}
                one{"{0} ft²"}
                other{"{0} ft²"}
                two{"{0} ft²"}
            }
            square-kilometer{
                few{"{0} km²"}
                one{"{0} km²"}
                other{"{0} km²"}
                two{"{0} km²"}
            }
            square-meter{
                few{"{0} m²"}
                one{"{0} m²"}
                other{"{0} m²"}
                two{"{0} m²"}
            }
            square-mile{
                few{"{0} mi²"}
                one{"{0} mi²"}
                other{"{0} mi²"}
                two{"{0} mi²"}
            }
        }
        compound{
            per{"{0}/{1}"}
        }
        duration{
            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"}
            }
            millisecond{
                few{"{0} ms"}
                one{"{0} ms"}
                other{"{0} ms"}
                two{"{0} ms"}
            }
            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"}
            }
        }
        length{
            centimeter{
                few{"{0} cm"}
                one{"{0} cm"}
                other{"{0} cm"}
                two{"{0} cm"}
            }
            foot{
                few{"{0} ft"}
                one{"{0} ft"}
                other{"{0} ft"}
                two{"{0} ft"}
            }
            inch{
                few{"{0} in"}
                one{"{0} in"}
                other{"{0} in"}
                two{"{0} in"}
            }
            kilometer{
                few{"{0} km"}
                one{"{0} km"}
                other{"{0} km"}
                two{"{0} km"}
            }
            light-year{
                few{"{0} sv. leta"}
                one{"{0} sv. let"}
                other{"{0} sv. let"}
                two{"{0} sv. leti"}
            }
            meter{
                few{"{0} m"}
                one{"{0} m"}
                other{"{0} m"}
                two{"{0} m"}
            }
            mile{
                few{"{0} mi"}
                one{"{0} mi"}
                other{"{0} mi"}
                two{"{0} mi"}
            }
            millimeter{
                few{"{0} mm"}
                one{"{0} mm"}
                other{"{0} mm"}
                two{"{0} mm"}
            }
            picometer{
                few{"{0} pm"}
                one{"{0} pm"}
                other{"{0} pm"}
                two{"{0} pm"}
            }
            yard{
                few{"{0} yd"}
                one{"{0} yd"}
                other{"{0} yd"}
                two{"{0} yd"}
            }
        }
        mass{
            gram{
                few{"{0} g"}
                one{"{0} g"}
                other{"{0} g"}
                two{"{0} g"}
            }
            kilogram{
                few{"{0} kg"}
                one{"{0} kg"}
                other{"{0} kg"}
                two{"{0} kg"}
            }
            ounce{
                few{"{0} oz"}
                one{"{0} oz"}
                other{"{0} oz"}
                two{"{0} oz"}
            }
            pound{
                few{"{0} lb"}
                one{"{0} lb"}
                other{"{0} lb"}
                two{"{0} lb"}
            }
        }
        power{
            horsepower{
                few{"{0} KM"}
                one{"{0} KM"}
                other{"{0} KM"}
                two{"{0} KM"}
            }
            kilowatt{
                few{"{0} kW"}
                one{"{0} kW"}
                other{"{0} kW"}
                two{"{0} kW"}
            }
            watt{
                few{"{0} W"}
                one{"{0} W"}
                other{"{0} W"}
                two{"{0} W"}
            }
        }
        pressure{
            hectopascal{
                few{"{0} hPa"}
                one{"{0} hPa"}
                other{"{0} hPa"}
                two{"{0} hPa"}
            }
            inch-hg{
                few{"{0} inHg"}
                one{"{0} inHg"}
                other{"{0} inHg"}
                two{"{0} inHg"}
            }
            millibar{
                few{"{0} mbar"}
                one{"{0} mbar"}
                other{"{0} mbar"}
                two{"{0} mbar"}
            }
        }
        speed{
            kilometer-per-hour{
                few{"{0} km/h"}
                one{"{0} km/h"}
                other{"{0} km/h"}
                two{"{0} km/h"}
            }
            meter-per-second{
                few{"{0} m/s"}
                one{"{0} m/s"}
                other{"{0} m/s"}
                two{"{0} m/s"}
            }
            mile-per-hour{
                few{"{0} mi/h"}
                one{"{0} mi/h"}
                other{"{0} mi/h"}
                two{"{0} mi/h"}
            }
        }
        temperature{
            celsius{
                few{"{0} °C"}
                one{"{0} °C"}
                other{"{0} °C"}
                two{"{0} °C"}
            }
            fahrenheit{
                few{"{0} °F"}
                one{"{0} °F"}
                other{"{0} °F"}
                two{"{0} °F"}
            }
        }
        volume{
            cubic-kilometer{
                few{"{0} km³"}
                one{"{0} km³"}
                other{"{0} km³"}
                two{"{0} km³"}
            }
            cubic-mile{
                few{"{0} mi³"}
                one{"{0} mi³"}
                other{"{0} mi³"}
                two{"{0} mi³"}
            }
            liter{
                few{"{0} l"}
                one{"{0} l"}
                other{"{0} l"}
                two{"{0} l"}
            }
        }
    }
}
