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

cs {
    AmPmMarkers { 
            "dop.",
            "odp.",
    }
    CollationElements { 
	    Version { "1.0" }
		Override { "FALSE" }
		Sequence { "& \u0361 ; \u0308 = \u030D& C < c\u030C , C\u030C& H < "
        "ch , cH , Ch , CH & R < r\u030C , R\u030C& S < s\u030C , S\u030C& Z < z\u030C ,"
        " Z\u030C" }
	}
    Countries { 
        CZ { "\u010Cesk\u00E1 republika" }
    }
    DateTimePatterns { 
            "H:mm:ss z",
            "H:mm:ss z",
            "H:mm:ss",
            "H:mm",
            "EEEE, d. MMMM yyyy",
            "d. MMMM yyyy",
            "d.M.yyyy",
            "d.M.yy",
            "{1} {0}",
    }
    DayAbbreviations { 
            "Ne",
            "Po",
            "\u00DAt",
            "St",
            "\u010Ct",
            "P\u00E1",
            "So",
    }
    DayNames { 
            "Ned\u011Ble",
            "Pond\u011Bl\u00ED",
            "\u00DAter\u00FD",
            "St\u0159eda",
            "\u010Ctvrtek",
            "P\u00E1tek",
            "Sobota",
    }
    Eras { 
            "p\u0159.Kr.",
            "po Kr.",
    }
    Languages { 
        cs { "\u010De\u0161tina" }
    }
    LocaleID { "05" }
    LocaleString { "cs" }
    MonthAbbreviations { 
            "I",
            "II",
            "III",
            "IV",
            "V",
            "VI",
            "VII",
            "VIII",
            "IX",
            "X",
            "XI",
            "XII",
            "",
    }
    MonthNames { 
            "leden",
            "\u00FAnor",
            "b\u0159ezen",
            "duben",
            "kv\u011Bten",
            "\u010Derven",
            "\u010Dervenec",
            "srpen",
            "z\u00E1\u0159\u00ED",
            "\u0159\u00EDjen",
            "listopad",
            "prosinec",
            "",
    }
    NumberElements { 
            ",",
            "\u00A0",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    ShortLanguage { "ces" }
    localPatternChars { "GuMtkHmsSEDFwWahKzUe" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
}
