﻿// ***************************************************************************
// *
// * Copyright (C) 2013 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.86.71"}
    calendar{
        generic{
            DateTimePatterns{
                "H:mm:ss zzzz",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE, d. MMMM y G",
                "d. MMMM y G",
                "d.M.y G",
                "d.M.y GGGGG",
                "{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.y"}
                yMEd{"E d. M. y"}
                yMMM{"LLL y"}
                yMMMEd{"E, d. MMM y"}
                yMMMM{"LLLL y"}
                yMMMd{"d.M.y"}
                yMd{"d.M.y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            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.y - M.y"}
                    y{"M.y - M.y"}
                }
                yMEd{
                    M{"E, d.M.y - E, d.M.y"}
                    d{"E, d.M.y - E, d.M.y"}
                    y{"E, d.M.y - E, d.M.y"}
                }
                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.y - d.M.y"}
                    d{"d.M.y - d.M.y"}
                    y{"d.M.y - d.M.y"}
                }
            }
        }
        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.y",
                "d.M.y",
                "{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.y"}
                yMEd{"E d. M. y"}
                yMMM{"LLL y"}
                yMMMEd{"E, d. MMM y"}
                yMMMM{"LLLL y"}
                yMMMd{"d.M.y"}
                yMd{"d.M.y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ 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.",
                }
            }
            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.y - M.y"}
                    y{"M.y - M.y"}
                }
                yMEd{
                    M{"E, d.M.y - E, d.M.y"}
                    d{"E, d.M.y - E, d.M.y"}
                    y{"E, d.M.y - E, d.M.y"}
                }
                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.y - d.M.y"}
                    d{"d.M.y - d.M.y"}
                    y{"d.M.y - d.M.y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "máj",
                        "jún",
                        "júl",
                        "aug",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    wide{
                        "januára",
                        "februára",
                        "marca",
                        "apríla",
                        "mája",
                        "júna",
                        "júla",
                        "augusta",
                        "septembra",
                        "októbra",
                        "novembra",
                        "decembra",
                    }
                }
                stand-alone{
                    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{"„"}
    }
    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"}
        }
    }
    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."}
        }
    }
}
