comment_char    %
escape_char     /
% English language locale for Philippines.
% 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 language locale for Philippines"
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   "Philippines"
revision    "1.0"
date        "2000,October,27 (XML source:2000,July,20)"
%
category  "en_PH:2000";LC_IDENTIFICATION
category  "en_PH:2000";LC_CTYPE
category  "en_PH:2000";LC_COLLATE
category  "en_PH:2000";LC_TIME
category  "en_PH:2000";LC_NUMERIC
category  "en_PH:2000";LC_MONETARY
category  "en_PH:2000";LC_MESSAGES
category  "en_PH:2000";LC_PAPER
category  "en_PH:2000";LC_NAME
category  "en_PH:2000";LC_ADDRESS
category  "en_PH:2000";LC_TELEPHONE

END LC_IDENTIFICATION


LC_CTYPE
copy "en_GB"
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       "<U0050><U0048><U0050><U0020>"
currency_symbol       "<U0050><U0068><U0070>"
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, %d %B, %Y %I:%M:%S  %Z
d_t_fmt     "<U0025><U0041><U002C><U0020><U0025><U0064><U0020><U0025><U0042><U002C><U0020><U0025><U0059><U0020><U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070><U0020><U0025><U005A>"
%
% Appropriate date representation
% %A, %d %B, %Y
d_fmt       "<U0025><U0041><U002C><U0020><U0025><U0064><U0020><U0025><U0042><U002C><U0020><U0025><U0059>"
%
% Appropriate time representation
% %I:%M:%S  %Z
t_fmt       "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0020><U0025><U005A>"
%
% Appropriate 12 h time representation (%r)
t_fmt_ampm  "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070><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
copy "tl_PH"
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   "<U0049><U0044>"
country_ab3   "<U0049><U0044><U004E>"
country_num   360
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
