﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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 Ž]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        default{"arab"}
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                percentFormat{"#,##0 %"}
            }
            symbols{
                decimal{","}
                group{" "}
                list{","}
            }
        }
    }
    Version{"2.0.57.98"}
    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{
                EEEd{"EEE, 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."}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                yM{"M.yyyy"}
                yMEd{"EEE, d.M.yyyy"}
                yMMM{"LLL y"}
                yMMMEd{"EEE, 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",
                    }
                    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",
                    }
                    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"}
                        "-3"{"Pred tromi dňami"}
                        "0"{"Dnes"}
                        "1"{"Zajtra"}
                        "2"{"Pozajtra"}
                        "3"{"O tri dni"}
                    }
                }
                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{"Pásmo"}
                }
            }
            intervalFormats{
                H{
                    H{"HH – HH"}
                    a{"H-H"}
                }
                Hm{
                    H{"H:mm - H:mm"}
                    a{"H:mm - H:mm"}
                    m{"H:mm - H:mm"}
                }
                Hmv{
                    H{"H:mm - H:mm v"}
                    a{"H:mm - H:mm v"}
                    m{"H:mm - H:mm v"}
                }
                Hv{
                    H{"HH – HH v"}
                    a{"H-H 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ára",
                        "februára",
                        "marca",
                        "apríla",
                        "mája",
                        "júna",
                        "júla",
                        "augusta",
                        "septembra",
                        "októbra",
                        "novembra",
                        "decembra",
                    }
                }
                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",
                    }
                    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}"}
        }
    }
    measurementSystemNames{
        UK{"Imperiálny"}
        US{"Americký"}
        metric{"Metrický"}
    }
    units{
        day{
            few{"{0} dni"}
            one{"{0} deň"}
            other{"{0} dní"}
        }
        day-future{
            0{"O 0 dní"}
            1{"O 1 deň"}
            few{"O {0} dni"}
            one{"{0} deň"}
            other{"O {0} dní"}
        }
        day-past{
            0{"Pred 0 dňami"}
            1{"Pred 1 dňom"}
            few{"Pred {0} dňami"}
            one{"{0} dňom"}
            other{"Pred {0} dňami"}
        }
        hour{
            few{"{0} hodiny"}
            one{"{0} hodina"}
            other{"{0} hodín"}
        }
        hour-future{
            0{"O 0 hodín"}
            1{"0 1 hodinu"}
            few{"O {0} hodiny"}
            one{"{0} hodinu"}
            other{"O {0} hodín"}
        }
        hour-past{
            0{"Pred 0 hodinami"}
            1{"Pred 1 hodinou"}
            few{"Pred {0} hodinami"}
            one{"{0} hodinou"}
            other{"Pred {0} hodinami"}
        }
        minute{
            few{"{0} minúty"}
            one{"{0} minúta"}
            other{"{0} minút"}
        }
        minute-future{
            0{"O 0 minút"}
            1{"0 1 minútu"}
            few{"O {0} minúty"}
            one{"{0} minútu"}
            other{"O {0} minút"}
        }
        minute-past{
            0{"Pred 0 minútami"}
            1{"Pred 1 minútou"}
            few{"Pred {0} minútami"}
            one{"{0} minútou"}
            other{"Pred {0} minútami"}
        }
        month{
            few{"{0} mesiace"}
            one{"{0} mesiac"}
            other{"{0} mesiacov"}
        }
        month-future{
            0{"O 0 mesiacov"}
            1{"O 1 mesiac"}
            few{"O {0} mesiace"}
            one{"{0} mesiac"}
            other{"O {0} mesiacov"}
        }
        month-past{
            0{"Pred 0 mesiacmi"}
            1{"Pred 1 mesiacom"}
            few{"Pred {0} mesiacmi"}
            one{"{0} mesiacom"}
            other{"Pred {0} mesiacmi"}
        }
        second{
            few{"{0} sekundy"}
            one{"{0} sekunda"}
            other{"{0} sekúnd"}
        }
        second-future{
            0{"O 0 sekúnd"}
            1{"O 1 sekundu"}
            few{"O {0} sekundy"}
            one{"{0} sekundu"}
            other{"O {0} sekúnd"}
        }
        second-past{
            0{"Pred 0 sekundami"}
            1{"Pred 1 sekundou"}
            few{"Pred {0} sekundami"}
            one{"{0} sekundou"}
            other{"Pred {0} sekundami"}
        }
        week{
            few{"{0} týždne"}
            one{"{0} týždeň"}
            other{"{0} týždňov"}
        }
        week-future{
            0{"O 0 týždňov"}
            1{"O 1 týždeň"}
            few{"O {0} týždne"}
            one{"{0} týždeň"}
            other{"O {0} týždňov"}
        }
        week-past{
            0{"Pred 0 týždňami"}
            1{"Pred 1 týždňom"}
            few{"Pred {0} týždňami"}
            one{"{0} týždňom"}
            other{"Pred {0} týždňami"}
        }
        year{
            few{"{0} roky"}
            one{"{0} rok"}
            other{"{0} rokov"}
        }
        year-future{
            0{"O 0 rokov"}
            1{"O 1 rok"}
            few{"O {0} roky"}
            one{"{0} rok"}
            other{"O {0} rokov"}
        }
        year-past{
            0{"Pred 0 rokmi"}
            1{"Pred 1 rokom"}
            few{"Pred {0} rokmi"}
            one{"{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."}
        }
    }
}
