// ****************************************************************************
// *                                                                          *
// * 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.                   *
// *                                                                          *
// ****************************************************************************

hr {
    CollationElements { "& \u200F = \u030C & \u0306 = \u030D & C < c\u030C , C\u030C"
        " < c\u0301 , C\u0301 & D < \u01F3 , \u01F2 , \u01F1 < dz , dZ , Dz , DZ < \u01C6"
        " , \u01C5 , \u01C4 < \u0111 , \u0110 & L < lj , lJ , Lj , LJ & N < nj , nJ , Nj"
        " , NJ & S < s\u030C , S\u030C & Z < z\u030C , Z\u030C " }
    Countries { 
        HR { "Hrvatska" }
    }
    DateTimePatterns { 
            "HH:mm:ss z",
            "HH:mm:ss z",
            "HH:mm:ss",
            "HH:mm",
            "yyyy. MMMM dd",
            "yyyy. MMMM dd",
            "yyyy.MM.dd",
            "yyyy.MM.dd",
            "{1} {0}",
    }
    DayAbbreviations { 
            "ned",
            "pon",
            "uto",
            "sri",
            "\u010Det",
            "pet",
            "sub",
    }
    DayNames { 
            "nedjelja",
            "ponedjeljak",
            "utorak",
            "srijeda",
            "\u010Detvrtak",
            "petak",
            "subota",
    }
    Languages { 
        hr { "hrvatski" }
    }
    LocaleID { "041a" }
    LocaleString { "hr" }
    MonthAbbreviations { 
            "sij",
            "vel",
            "o\u017Eu",
            "tra",
            "svi",
            "lip",
            "srp",
            "kol",
            "ruj",
            "lis",
            "stu",
            "pro",
            "",
    }
    MonthNames { 
            "sije\u010Danj",
            "velja\u010Da",
            "o\u017Eujak",
            "travanj",
            "svibanj",
            "lipanj",
            "srpanj",
            "kolovoz",
            "rujan",
            "listopad",
            "studeni",
            "prosinac",
            "",
    }
    NumberElements { 
            ",",
            ".",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    ShortLanguage { "hrv" }
    localPatternChars { "GanjkHmsSEDFwWxhKz" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
}
