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

zh_HK {
    CurrencyElements { 
            "HK$",
            "HKD",
            ".",
    }
    DateTimePatterns { 
            "ahh'\u6642'mm'\u5206'ss'\u79D2' z",
            "ahh'\u6642'mm'\u5206'ss'\u79D2'",
            "ahh:mm:ss",
            "ah:mm",
            "yyyy'\u5E74'MM'\u6708'dd'\u65E5' EEEE",
            "yyyy'\u5E74'MM'\u6708'dd'\u65E5' EEEE",
            "yyyy'\u5E74'M'\u6708'd'\u65E5'",
            "yy'\u5E74'M'\u6708'd'\u65E5'",
            "{1} {0}",
    }
    DayAbbreviations { 
            "\u65E5",
            "\u4E00",
            "\u4E8C",
            "\u4E09",
            "\u56DB",
            "\u4E94",
            "\u516D",
    }
    LocaleID { "0c04" }
    LocaleString { "zh_HK" }
    MonthAbbreviations { 
            "1\u6708",
            "2\u6708",
            "3\u6708",
            "4\u6708",
            "5\u6708",
            "6\u6708",
            "7\u6708",
            "8\u6708",
            "9\u6708",
            "10\u6708",
            "11\u6708",
            "12\u6708",
            "",
    }
    NumberPatterns { 
            "#,##0.###;-#,##0.###",
            "\u00A4#,##0.00;(\u00A4#,##0.00)",
            "#,##0%",
    }
    ShortCountry { "HKG" }
    localPatternChars { "GanjkHmsSEDFwWxhKz" }
    zoneStrings { 
        {
                "CTT",
                "Hong Kong Standard Time",
                "HKST",
                "Hong Kong Standard Time",
                "HKST",
                "Hong Kong",
        }
    }
}
