﻿// ***************************************************************************
// *
// * 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"}
                        one{"0"}
                        other{"0"}
                    }
                    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óna"}
                        one{"0 milióna"}
                        other{"0 milióna"}
                    }
                    10000000{
                        few{"00 miliónov"}
                        one{"00 miliónov"}
                        other{"00 miliónov"}
                    }
                    100000000{
                        few{"000 miliónov"}
                        one{"000 miliónov"}
                        other{"000 miliónov"}
                    }
                    1000000000{
                        few{"0 miliardy"}
                        one{"0 miliardy"}
                        other{"0 miliardy"}
                    }
                    10000000000{
                        few{"00 miliárd"}
                        one{"00 miliárd"}
                        other{"00 miliárd"}
                    }
                    100000000000{
                        few{"000 miliárd"}
                        one{"000 miliárd"}
                        other{"000 miliárd"}
                    }
                    1000000000000{
                        few{"0 bilióna"}
                        one{"0 bilióna"}
                        other{"0 bilióna"}
                    }
                    10000000000000{
                        few{"00 biliónov"}
                        one{"00 biliónov"}
                        other{"00 biliónov"}
                    }
                    100000000000000{
                        few{"000 biliónov"}
                        one{"000 biliónov"}
                        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.75.99"}
    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"}
                yQ{"Q yyyy"}
                yQQQ{"QQQ y"}
                yyQ{"Q yy"}
                yyQQQQ{"QQQQ yy"}
                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."}
        }
    }
}
