// ****************************************************************************
// *                                                                          *
// * COPYRIGHT:                                                               *
// * (C) Copyright Taligent, Inc.,  1997                                      *
// * (C) Copyright International Business Machines Corporation,  1997-99      *
// * Licensed Material - Program-Property of IBM - All Rights Reserved.       *
// * US Government Users Restricted Rights - Use, duplication, or disclosure  *
// * restricted by GSA ADP Schedule Contract with IBM Corp.                   *
// *                                                                          *
// ****************************************************************************

sk {
    CollationElements { "& \u0361 ; \u0308 = \u030D & A < a\u0308 , A\u0308 & C "
        "< c\u030C , C\u030C & D < \u0111, \u0110 & H < ch , cH , Ch , CH & L < \u0142 ,"
        " \u0141 & O < o\u0302 , O\u0302 & R < r\u030C , R\u030C & S < s\u030C , S\u030C"
        " & Z < z\u030C , Z\u030C < z\u0307 , Z\u0307 " }
    Countries { 
        SK { "Slovensk\u00E1 republika" }
    }
    DateTimePatterns { 
            "H:mm:ss z",
            "H:mm:ss z",
            "H:mm:ss",
            "H:mm",
            "EEEE, yyyy, MMMM d",
            "EEEE, yyyy, MMMM d",
            "d.M.yyyy",
            "d.M.yyyy",
            "{1} {0}",
    }
    DayAbbreviations { 
            "Ne",
            "Po",
            "Ut",
            "St",
            "\u0160t",
            "Pa",
            "So",
    }
    DayNames { 
            "Nede\u013Ee",
            "Pondelok",
            "Utorok",
            "Streda",
            "\u0160tvrtok",
            "Piatok",
            "Sobota",
    }
    Eras { 
            "pred n.l.",
            "n.l.",
    }
    Languages { 
        sk { "Sloven\u010Dina" }
    }
    LocaleID { "041b" }
    LocaleString { "sk" }
    MonthAbbreviations { 
            "jan",
            "feb",
            "mar",
            "apr",
            "m\u00E1j",
            "j\u00FAn",
            "j\u00FAl",
            "aug",
            "sep",
            "okt",
            "nov",
            "dec",
            "",
    }
    MonthNames { 
            "janu\u00E1r",
            "febru\u00E1r",
            "marec",
            "apr\u00EDl",
            "m\u00E1j",
            "j\u00FAn",
            "j\u00FAl",
            "august",
            "september",
            "okt\u00F3ber",
            "november",
            "december",
            "",
    }
    NumberElements { 
            ",",
            "\u00A0",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    ShortLanguage { "slk" }
    localPatternChars { "GanjkHmsSEDFwWxhKz" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
}
