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

cs {
    Version{ "1.1" }
    AmPmMarkers { 
        "dop.",
        "odp.",
    }
    CollationElements { 
        Version { "1.0" }
        Sequence { "& 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",
        "\u00FAt",
        "st",
        "\u010dt",
        "p\u00E1",
        "so",
    }
    DayNames { 
        "ned\u011Ble",
        "pond\u011Bl\u00ED",
        "\u00FAter\u00FD",
        "st\u0159eda",
        "\u010dtvrtek",
        "p\u00E1tek",
        "sobota",
    }
    Eras { 
        "p\u0159.Kr.",
        "po Kr.",
    }
    Languages { 
        cs { "\u010De\u0161tina" }
    }
    LocaleID:int { 0x05 }
//    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",
        }
    }
//    LocaleScript{ 
//        "Latn",  // ISO 15924 Name 
//    }
    ExemplarCharacters { "[a-z \u00fd \u00e1 \u00e9 \u00ed \u00f3 \u00fa \u011b \u016f \u010d \u010f \u0148 \u0159 \u0161 \u0165 \u017e]" }

    // Currency display names
    Currencies {
        CZK { "K\u010D", "CZK" }
    }
}
