comment_char    %
escape_char     /

% English locale for Hong Kong
% Contributed by Kentaroh Noji <knoji@jp.ibm.com> and
% Tetsuji Orita <orita@jp.ibm.com>.

LC_IDENTIFICATION
% This is the ISO_IEC TR14652 Locale definition for the LC_IDENTIFICATION
% category generated by IBM Basic CountryPack Transformer.
%
title      "English locale for Hong Kong"
source     "IBM Globalization Center of Competency, Yamato Software Laboratory"
address    "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan"
contact    ""
email      "bug-glibc-locales@gnu.org"
tel         ""
fax         ""
language    "English"
territory   "Hong Kong"
revision    "1.0"
date        "2000,October,27 (XML source:2000,July,20)"
%
category  "en_HK:2000";LC_IDENTIFICATION
category  "en_HK:2000";LC_CTYPE
category  "en_HK:2000";LC_COLLATE
category  "en_HK:2000";LC_TIME
category  "en_HK:2000";LC_NUMERIC
category  "en_HK:2000";LC_MONETARY
category  "en_HK:2000";LC_MESSAGES
category  "en_HK:2000";LC_PAPER
category  "en_HK:2000";LC_NAME
category  "en_HK:2000";LC_ADDRESS
category  "en_HK:2000";LC_TELEPHONE
category  "en_HK:2000";LC_MEASUREMENT
END LC_IDENTIFICATION


LC_CTYPE
copy "en_GB"
END LC_CTYPE


LC_COLLATE
copy "iso14651_t1"
END LC_COLLATE


LC_MONETARY
% This is the POSIX Locale definition the LC_MONETARY category
% generated by IBM Basic CountryPack Transformer.
% These are generated based on XML base Locale defintion file
% for IBM Class for Unicode.
%
int_curr_symbol       "<U0048><U004B><U0044><U0020>"
currency_symbol       "<U0048><U004B><U0024>"
mon_decimal_point     "<U002E>"
mon_thousands_sep     "<U002C>"
mon_grouping          3
positive_sign         ""
negative_sign         "<U002D>"
int_frac_digits       2
frac_digits           2
p_cs_precedes         1
p_sep_by_space        0
n_cs_precedes         1
n_sep_by_space        0
p_sign_posn           1
n_sign_posn           0
%
END LC_MONETARY


LC_NUMERIC
% This is the POSIX Locale definition for the LC_NUMERIC  category.
%
decimal_point          "<U002E>"
thousands_sep          "<U002C>"
grouping               3
%
END LC_NUMERIC


LC_TIME
% This is the POSIX Locale definition for the LC_TIME category
% generated by IBM Basic CountryPack Transformer.
% These are generated based on XML base Locale definition file
% for IBM Class for Unicode.
%
% Abbreviated weekday names (%a)
abday       "<U0053><U0075><U006E>";"<U004D><U006F><U006E>";/
            "<U0054><U0075><U0065>";"<U0057><U0065><U0064>";/
            "<U0054><U0068><U0075>";"<U0046><U0072><U0069>";/
            "<U0053><U0061><U0074>"
%
% Full weekday names (%A)
day         "<U0053><U0075><U006E><U0064><U0061><U0079>";"<U004D><U006F><U006E><U0064><U0061><U0079>";/
            "<U0054><U0075><U0065><U0073><U0064><U0061><U0079>";"<U0057><U0065><U0064><U006E><U0065><U0073><U0064><U0061><U0079>";/
            "<U0054><U0068><U0075><U0072><U0073><U0064><U0061><U0079>";"<U0046><U0072><U0069><U0064><U0061><U0079>";/
            "<U0053><U0061><U0074><U0075><U0072><U0064><U0061><U0079>"
%
% Abbreviated month names (%b)
abmon       "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
            "<U004D><U0061><U0072>";"<U0041><U0070><U0072>";/
            "<U004D><U0061><U0079>";"<U004A><U0075><U006E>";/
            "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
            "<U0053><U0065><U0070>";"<U004F><U0063><U0074>";/
            "<U004E><U006F><U0076>";"<U0044><U0065><U0063>"
%
% Full month names (%B)
mon         "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";"<U0046><U0065><U0062><U0072><U0075><U0061><U0072><U0079>";/
            "<U004D><U0061><U0072><U0063><U0068>";"<U0041><U0070><U0072><U0069><U006C>";/
            "<U004D><U0061><U0079>";"<U004A><U0075><U006E><U0065>";/
            "<U004A><U0075><U006C><U0079>";"<U0041><U0075><U0067><U0075><U0073><U0074>";/
            "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";"<U004F><U0063><U0074><U006F><U0062><U0065><U0072>";/
            "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";"<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
%
% Equivalent of AM PM
am_pm       "<U0041><U004D>";"<U0050><U004D>"
%
% Appropriate date and time representation
% %A, %B %d, %Y %I:%M:%S %Z
d_t_fmt     "<U0025><U0041><U002C><U0020><U0025><U0042><U0020><U0025><U0064><U002C><U0020><U0025><U0059><U0020><U0025><U0070><U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A>"
%
% Appropriate date representation
% %A, %B %d, %Y
d_fmt       "<U0025><U0041><U002C><U0020><U0025><U0042><U0020><U0025><U0064><U002C><U0020><U0025><U0059>"
%
% Appropriate time representation
% %I:%M:%S %Z
t_fmt       "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A>"
%
% Appropriate 12 h time representation (%r)
t_fmt_ampm  "<U0025><U0070><U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A>"
%
END LC_TIME


LC_MESSAGES
% This is the POSIX Locale definition for the LC_MESSAGES category
% generated by IBM Basic CountryPack Transformer.
% These are generated based on XML base Locale definition file
% for IBM Class for Unicode.
%
% ^[yY]
yesexpr     "<U005E><U005B><U0079><U0059><U005D>"

% Syntax on Unicode Regular Expression Guidelines TR#18
% yesexpr     "<U005E><U005B><U0079><U0059><U005D>"

%
% ^[nN]
noexpr      "<U005E><U005B><U006E><U004E><U005D>"

% Syntax on Unicode Regular Expression Guidelines TR#18
% noexpr      "<U005E><U005B><U006E><U004E><U005D>"
%

% Yes
yesstr      "<U0059><U0065><U0073>"
%
% No
nostr       "<U004E><U006F>"
%
END LC_MESSAGES


LC_PAPER
% This is the ISO_IEC TR14652 Locale definition for the LC_PAPER category
% generated by IBM Basic CountryPack Transformer.
height      297
width       210

END LC_PAPER


LC_NAME
% This is the ISO_IEC TR14652 Locale definition for the LC_NAME category
% generated by IBM Basic CountryPack Transformer.
%
%
name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0067><U0025><U0074><U0025><U006D><U0025><U0074><U0025><U0066>"
name_gen    ""
name_mr     "<U004D><U0072><U002E>"
name_mrs    "<U004D><U0072><U0073><U002E>"
name_miss   "<U004D><U0073><U002E>"
name_ms     ""

END LC_NAME


LC_ADDRESS
% This is the ISO_IEC TR14652 Locale definition for the LC_ADDRESS category
% generated by IBM Basic CountryPack Transformer.
postal_fmt  "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073><U0025><U0062><U0025><U0065><U0025><U0072>"
country_ab2   "<U0048><U004B>"
country_ab3   "<U0048><U004B><U0047>"
country_num   344
% HK
country_car    "<U0048><U004B>"
% English
lang_name     "<U0045><U006E><U0067><U006C><U0069><U0073><U0068>"
% en
lang_ab      "<U0065><U006E>"
% eng
lang_term    "<U0065><U006E><U0067>"
% eng
lang_lib    "<U0065><U006E><U0067>"
END LC_ADDRESS


LC_TELEPHONE
% This is the ISO_IEC TR14652 Locale definition for the LC_TELEPHONE
% generated by IBM Basic CountryPack Transformer.
tel_int_fmt "<U002B><U0025><U0063><U0020><U003B><U0025><U0061><U0020><U003B><U0025><U006C>"

END LC_TELEPHONE


LC_MEASUREMENT
% metric
measurement 1
END LC_MEASUREMENT
