﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sk.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/sk.xml
 */
sk{
    AuxExemplarCharacters{"[à ă â å ā æ ç è ĕ ê ë ē ì ĭ î ï ī ñ ò ŏ ö ø ō œ ř ù ŭ û ü ū ÿ]"}
    ExemplarCharacters{
        "[a á ä b c č d ď e é f g h {ch} i í j k l ĺ ľ m n ň o ó ô p q r ŕ s š t ť u "
        "ú v w x y ý z ž]"
    }
    ExemplarCharactersIndex{"[A Ä B C Č D Ď E F G H {CH} I J K L Ľ M N O Ô P Q R S Š T Ť U V W X Y Z Ž]"}
    ExemplarCharactersPunctuation{"[\- ‐ – , ; \: ! ? . … ‘ ‚ “ „ ( ) \[ \] § @ * / \&]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0 %"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        few{"0 tisíc"}
                        one{"0 tisíc"}
                        other{"0 tisíc"}
                    }
                    10000{
                        few{"00 tisíc"}
                        one{"00 tisíc"}
                        other{"00 tisíc"}
                    }
                    100000{
                        few{"000 tisíc"}
                        one{"000 tisíc"}
                        other{"000 tisíc"}
                    }
                    1000000{
                        few{"0 milióny"}
                        one{"0 milión"}
                        other{"0 miliónov"}
                    }
                    10000000{
                        few{"00 milióny"}
                        one{"00 milión"}
                        other{"00 miliónov"}
                    }
                    100000000{
                        few{"000 milióny"}
                        one{"000 milión"}
                        other{"000 miliónov"}
                    }
                    1000000000{
                        few{"0 miliardy"}
                        one{"0 miliarda"}
                        other{"0 miliard"}
                    }
                    10000000000{
                        few{"00 miliárdy"}
                        one{"00 miliarda"}
                        other{"00 miliárd"}
                    }
                    100000000000{
                        few{"000 miliárdy"}
                        one{"000 miliarda"}
                        other{"000 miliárd"}
                    }
                    1000000000000{
                        few{"0 bilióny"}
                        one{"0 bilión"}
                        other{"0 biliónov"}
                    }
                    10000000000000{
                        few{"00 bilióny"}
                        one{"00 bilión"}
                        other{"00 biliónov"}
                    }
                    100000000000000{
                        few{"000 bilióny"}
                        one{"000 bilión"}
                        other{"000 biliónov"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        few{"0 tis'.'"}
                        one{"0 tis'.'"}
                        other{"0 tis'.'"}
                    }
                    10000{
                        few{"00 tis'.'"}
                        one{"00 tis'.'"}
                        other{"00 tis'.'"}
                    }
                    100000{
                        few{"000 tis'.'"}
                        one{"000 tis'.'"}
                        other{"000 tis'.'"}
                    }
                    1000000{
                        few{"0 mil'.'"}
                        one{"0 mil'.'"}
                        other{"0 mil'.'"}
                    }
                    10000000{
                        few{"00 mil'.'"}
                        one{"00 mil'.'"}
                        other{"00 mil'.'"}
                    }
                    100000000{
                        few{"000 mil'.'"}
                        one{"000 mil'.'"}
                        other{"000 mil'.'"}
                    }
                    1000000000{
                        few{"0 mld'.'"}
                        one{"0 mld'.'"}
                        other{"0 mld'.'"}
                    }
                    10000000000{
                        few{"00 mld'.'"}
                        one{"00 mld'.'"}
                        other{"00 mld'.'"}
                    }
                    100000000000{
                        few{"000 mld'.'"}
                        one{"000 mld'.'"}
                        other{"000 mld'.'"}
                    }
                    1000000000000{
                        few{"0 bil'.'"}
                        one{"0 bil'.'"}
                        other{"0 bil'.'"}
                    }
                    10000000000000{
                        few{"00 bil'.'"}
                        one{"00 bil'.'"}
                        other{"00 bil'.'"}
                    }
                    100000000000000{
                        few{"000 bil'.'"}
                        one{"000 bil'.'"}
                        other{"000 bil'.'"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.78.38"}
    calendar{
        gregorian{
            AmPmMarkers{
                "dopoludnia",
                "popoludní",
            }
            DateTimePatterns{
                "H:mm:ss zzzz",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE, d. MMMM y",
                "d. MMMM y",
                "d.M.yyyy",
                "d.M.yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d."}
                H{"H"}
                Hm{"H:mm"}
                Hms{"H:mm:ss"}
                M{"L."}
                MEd{"E, d.M."}
                MMM{"LLL"}
                MMMEd{"E, d. MMM."}
                MMMMEd{"E, d. MMMM"}
                MMMMd{"d. MMMM"}
                MMMd{"d. MMM."}
                Md{"d.M."}
                d{"d."}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M.yyyy"}
                yMEd{"E d. M. y"}
                yMMM{"LLL y"}
                yMMMEd{"E, d. MMM y"}
                yMMMM{"LLLL y"}
                yMMMd{"d.M.yyyy"}
                yMd{"d.M.yyyy"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
                yyyyM{"M.yyyy"}
                yyyyMMMM{"LLLL y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ne",
                        "po",
                        "ut",
                        "st",
                        "št",
                        "pi",
                        "so",
                    }
                    narrow{
                        "N",
                        "P",
                        "U",
                        "S",
                        "Š",
                        "P",
                        "S",
                    }
                    short{
                        "Ne",
                        "Po",
                        "Ut",
                        "St",
                        "Št",
                        "Pi",
                        "So",
                    }
                    wide{
                        "nedeľa",
                        "pondelok",
                        "utorok",
                        "streda",
                        "štvrtok",
                        "piatok",
                        "sobota",
                    }
                }
                stand-alone{
                    abbreviated{
                        "ne",
                        "po",
                        "ut",
                        "st",
                        "št",
                        "pi",
                        "so",
                    }
                    narrow{
                        "N",
                        "P",
                        "U",
                        "S",
                        "Š",
                        "P",
                        "S",
                    }
                    short{
                        "Ne",
                        "Po",
                        "Ut",
                        "St",
                        "Št",
                        "Pi",
                        "So",
                    }
                    wide{
                        "nedeľa",
                        "pondelok",
                        "utorok",
                        "streda",
                        "štvrtok",
                        "piatok",
                        "sobota",
                    }
                }
            }
            eras{
                abbreviated{
                    "pred n.l.",
                    "n.l.",
                }
            }
            fields{
                day{
                    dn{"Deň"}
                    relative{
                        "-1"{"Včera"}
                        "-2"{"Predvčerom"}
                        "0"{"Dnes"}
                        "1"{"Zajtra"}
                        "2"{"Pozajtra"}
                    }
                }
                dayperiod{
                    dn{"Časť dňa"}
                }
                era{
                    dn{"Éra"}
                }
                hour{
                    dn{"Hodina"}
                }
                minute{
                    dn{"Minúta"}
                }
                month{
                    dn{"Mesiac"}
                    relative{
                        "-1"{"Posledný mesiac"}
                        "0"{"Tento mesiac"}
                        "1"{"Budúci mesiac"}
                    }
                }
                second{
                    dn{"Sekunda"}
                }
                week{
                    dn{"Týždeň"}
                    relative{
                        "-1"{"Minulý týždeň"}
                        "0"{"Tento týždeň"}
                        "1"{"Budúci týždeň"}
                    }
                }
                weekday{
                    dn{"Deň v týždni"}
                }
                year{
                    dn{"Rok"}
                    relative{
                        "-1"{"Minulý rok"}
                        "0"{"Tento rok"}
                        "1"{"Budúci rok"}
                    }
                }
                zone{
                    dn{"Časové pásmo"}
                }
            }
            intervalFormats{
                H{
                    H{"HH – HH"}
                }
                Hm{
                    H{"H:mm – H:mm"}
                    m{"H:mm – H:mm"}
                }
                Hmv{
                    H{"H:mm – H:mm v"}
                    m{"H:mm – H:mm v"}
                }
                Hv{
                    H{"HH – HH v"}
                }
                M{
                    M{"M. – M."}
                }
                MEd{
                    M{"E, d.M. - E, d.M."}
                    d{"E, d.M. - E, d.M."}
                }
                MMM{
                    M{"LLL – LLL"}
                }
                MMMEd{
                    M{"E, d. MMM - E, d. MMM"}
                    d{"E, d. - E, d. MMM"}
                }
                MMMM{
                    M{"LLLL-LLLL"}
                }
                MMMd{
                    M{"d. MMM - d. MMM"}
                    d{"d. - d. MMM"}
                }
                Md{
                    M{"d.M. - d.M."}
                    d{"d.M. - 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.yyyy - M.yyyy"}
                    y{"M.yyyy - M.yyyy"}
                }
                yMEd{
                    M{"E, d.M.yy - E, d.M.yy"}
                    d{"E, d.M.yy - E, d.M.yy"}
                    y{"E, d.M.yy - E, d.M.yy"}
                }
                yMMM{
                    M{"LLL - LLL y"}
                    y{"LLL y - LLL y"}
                }
                yMMMEd{
                    M{"E, d. MMM - E, d. MMM y"}
                    d{"E, d. - E, d. MMM y"}
                    y{"E, d. MMM y - E, d. MMM y"}
                }
                yMMMM{
                    M{"LLLL - LLLL y"}
                    y{"LLLL y - LLLL y"}
                }
                yMMMd{
                    M{"d. MMM - d. MMM y"}
                    d{"d. - d. MMM y"}
                    y{"d. MMM y - d. MMM y"}
                }
                yMd{
                    M{"d.M.yy - d.M.yy"}
                    d{"d.M.yy - d.M.yy"}
                    y{"d.M.yy - d.M.yy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "máj",
                        "jún",
                        "júl",
                        "aug",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    narrow{
                        "j",
                        "f",
                        "m",
                        "a",
                        "m",
                        "j",
                        "j",
                        "a",
                        "s",
                        "o",
                        "n",
                        "d",
                    }
                    wide{
                        "január",
                        "február",
                        "marec",
                        "apríl",
                        "máj",
                        "jún",
                        "júl",
                        "august",
                        "september",
                        "október",
                        "november",
                        "december",
                    }
                }
                stand-alone{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "máj",
                        "jún",
                        "júl",
                        "aug",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    narrow{
                        "j",
                        "f",
                        "m",
                        "a",
                        "m",
                        "j",
                        "j",
                        "a",
                        "s",
                        "o",
                        "n",
                        "d",
                    }
                    wide{
                        "január",
                        "február",
                        "marec",
                        "apríl",
                        "máj",
                        "jún",
                        "júl",
                        "august",
                        "september",
                        "október",
                        "november",
                        "december",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. štvrťrok",
                        "2. štvrťrok",
                        "3. štvrťrok",
                        "4. štvrťrok",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1Q",
                        "2Q",
                        "3Q",
                        "4Q",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. štvrťrok",
                        "2. štvrťrok",
                        "3. štvrťrok",
                        "4. štvrťrok",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    listPattern{
        standard{
            2{"{0} a {1}"}
            end{"{0} a {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"imperiálny"}
        US{"americký"}
        metric{"metrický"}
    }
    units{
        day{
            few{"{0} dni"}
            one{"{0} deň"}
            other{"{0} dní"}
        }
        day-future{
            few{"O {0} dni"}
            one{"{0} deň"}
            other{"O {0} dní"}
        }
        day-past{
            few{"Pred {0} dňami"}
            one{"Pred {0} dňom"}
            other{"Pred {0} dňami"}
        }
        hour{
            few{"{0} hodiny"}
            one{"{0} hodina"}
            other{"{0} hodín"}
        }
        hour-future{
            few{"O {0} hodiny"}
            one{"O {0} hodinu"}
            other{"O {0} hodín"}
        }
        hour-past{
            few{"Pred {0} hodinami"}
            one{"Pred {0} hodinou"}
            other{"Pred {0} hodinami"}
        }
        minute{
            few{"{0} minúty"}
            one{"{0} minúta"}
            other{"{0} minút"}
        }
        minute-future{
            few{"O {0} minúty"}
            one{"O {0} minútu"}
            other{"O {0} minút"}
        }
        minute-past{
            few{"Pred {0} minútami"}
            one{"Pred {0} minútou"}
            other{"Pred {0} minútami"}
        }
        month{
            few{"{0} mesiace"}
            one{"{0} mesiac"}
            other{"{0} mesiacov"}
        }
        month-future{
            few{"O {0} mesiace"}
            one{"O {0} mesiac"}
            other{"O {0} mesiacov"}
        }
        month-past{
            few{"Pred {0} mesiacmi"}
            one{"Pred {0} mesiacom"}
            other{"Pred {0} mesiacmi"}
        }
        second{
            few{"{0} sekundy"}
            one{"{0} sekunda"}
            other{"{0} sekúnd"}
        }
        second-future{
            few{"O {0} sekundy"}
            one{"O {0} sekundu"}
            other{"O {0} sekúnd"}
        }
        second-past{
            few{"Pred {0} sekundami"}
            one{"Pred {0} sekundou"}
            other{"Pred {0} sekundami"}
        }
        week{
            few{"{0} týždne"}
            one{"{0} týždeň"}
            other{"{0} týždňov"}
        }
        week-future{
            few{"O {0} týždne"}
            one{"O {0} týždeň"}
            other{"O {0} týždňov"}
        }
        week-past{
            few{"Pred {0} týždňami"}
            one{"Pred {0} týždňom"}
            other{"Pred {0} týždňami"}
        }
        year{
            few{"{0} roky"}
            one{"{0} rok"}
            other{"{0} rokov"}
        }
        year-future{
            few{"O {0} roky"}
            one{"O {0} rok"}
            other{"O {0} rokov"}
        }
        year-past{
            few{"Pred {0} rokmi"}
            one{"Pred {0} rokom"}
            other{"Pred {0} rokmi"}
        }
    }
    unitsShort{
        day{
            few{"{0} d."}
            one{"{0} d."}
            other{"{0} d."}
        }
        hour{
            few{"{0} h"}
            one{"{0} h"}
            other{"{0} h"}
        }
        minute{
            few{"{0} min"}
            one{"{0} min"}
            other{"{0} min"}
        }
        month{
            few{"{0} mes."}
            one{"{0} mes."}
            other{"{0} mes."}
        }
        second{
            few{"{0} s"}
            one{"{0} s"}
            other{"{0} s"}
        }
        week{
            few{"{0} týžd."}
            one{"{0} týžd."}
            other{"{0} týžd."}
        }
        year{
            few{"{0} r."}
            one{"{0} r."}
            other{"{0} r."}
        }
    }
}
