﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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 ¤"}
                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.99.67"}
    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"}
            }
        }
    }
}
