comment_char    %
escape_char     /
% Chinese language locale for Singapore.
% Contributed by Kentaroh Noji <knoji@jp.ibm.com> and
% Tetsuji Orita <orita@jp.ibm.com>.

LC_IDENTIFICATION
title      "Chinese language locale for Singapore"
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    "Chinese"
territory   "Singapore"
revision    "1.0"
date        "2000,October,27 (XML source:2000,July,20)"
%
category  "zh_SG:2000";LC_IDENTIFICATION
category  "zh_SG:2000";LC_CTYPE
category  "zh_SG:2000";LC_COLLATE
category  "zh_SG:2000";LC_TIME
category  "zh_SG:2000";LC_NUMERIC
category  "zh_SG:2000";LC_MONETARY
category  "zh_SG:2000";LC_MESSAGES
category  "zh_SG:2000";LC_PAPER
category  "zh_SG:2000";LC_NAME
category  "zh_SG:2000";LC_ADDRESS
category  "zh_SG:2000";LC_TELEPHONE

END LC_IDENTIFICATION

LC_CTYPE
copy "zh_CN"
END LC_CTYPE

LC_COLLATE

% Copy the template from ISO/IEC 14651
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       "<U0053><U0047><U0044><U0020>"
currency_symbol       "<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 difintion file
% for IBM Class for Unicode.
%
% Abbreviated weekday names (%a)
abday       "<U661F><U671F><U65E5>";"<U661F><U671F><U4E00>";/
            "<U661F><U671F><U4E8C>";"<U661F><U671F><U4E09>";/
            "<U661F><U671F><U56DB>";"<U661F><U671F><U4E94>";/
            "<U661F><U671F><U516D>"
%
% Full weekday names (%A)
day         "<U661F><U671F><U65E5>";"<U661F><U671F><U4E00>";/
            "<U661F><U671F><U4E8C>";"<U661F><U671F><U4E09>";/
            "<U661F><U671F><U56DB>";"<U661F><U671F><U4E94>";/
            "<U661F><U671F><U516D>"
%
% Abbreviated month names (%b)
abmon       "<U4E00><U6708>";"<U4E8C><U6708>";/
            "<U4E09><U6708>";"<U56DB><U6708>";/
            "<U4E94><U6708>";"<U516D><U6708>";/
            "<U4E03><U6708>";"<U516B><U6708>";/
            "<U4E5D><U6708>";"<U5341><U6708>";/
            "<U5341><U4E00><U6708>";"<U5341><U4E8C><U6708>"
%
% Full month names (%B)
mon         "<U4E00><U6708>";"<U4E8C><U6708>";/
            "<U4E09><U6708>";"<U56DB><U6708>";/
            "<U4E94><U6708>";"<U516D><U6708>";/
            "<U4E03><U6708>";"<U516B><U6708>";/
            "<U4E5D><U6708>";"<U5341><U6708>";/
            "<U5341><U4E00><U6708>";"<U5341><U4E8C><U6708>"
%
% Equivalent of AM PM
am_pm       "<U4E0A><U5348>";"<U4E0B><U5348>"
%
% Appropriate date and time representation
% %Y\u5e74%m\u6708%d\u65e5 %H\u65f6%M\u5206%S\u79d2 %Z
d_t_fmt     "<U0025><U0059><U5E74><U0025><U006D><U6708><U0025><U0064><U65E5><U0020><U0025><U0048><U65F6><U0025><U004D><U5206><U0025><U0053><U79D2><U0020><U0025><U005A>"
%
% Appropriate date representation
% %Y\u5e74%m\u6708%d\u65e5
d_fmt       "<U0025><U0059><U5E74><U0025><U006D><U6708><U0025><U0064><U65E5>"
%
% Appropriate time representation
% %H\u65f6%M\u5206%S\u79d2 %Z
t_fmt       "<U0025><U0048><U65F6><U0025><U004D><U5206><U0025><U0053><U79D2><U0020><U0025><U005A>"
%
% Appropriate 12 h time representation (%r)
t_fmt_ampm  ""
%
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 difintion 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><U0066><U0025><U0074><U0025><U0067>"
name_gen    ""
name_mr     "<U004D><U0072><U002E>"
name_mrs    "<U004D><U0072><U0073><U002E>"
name_miss   "<U004D><U0069><U0073><U0073><U002E>"
name_ms     "<U004D><U0073><U002E>"

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 "<U0053><U0047>"
country_ab3 "<U0053><U0047><U0050>"
country_num 702
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
% This is the ISO_IEC TR14652 Locale definition for the LC_MEASUREMENT
% category generated by IBM Basic CountryPack Transformer.
measurement 1

END LC_MEASUREMENT
