// *******************************************************************************
// *
// *   Copyright (C) 1997-2000, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************

sk {
    CollationElements { 
	    Version { "1.0" }
		Override { "FALSE" }
		Sequence { "& \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 { "1b" }
    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 { "GanjkHmsSEDFwWxhKzAe" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
}
