comment_char    %
escape_char     /

% Malay language locale for Malaysia.
% Contributed by Kentaroh Noji <knoji@jp.ibm.com> and
% Tetsuji Orita <orita@jp.ibm.com>.
% Modified by Hasbullah Bin Pit (sebol)<sebol@ikhlas.com> 2001, December, 10

LC_IDENTIFICATION
title      "Malay language locale for Malaysia"
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, sebol@ikhlas.com"
tel         ""
fax         ""
language    "Malay"
territory   "Malaysia"
revision    "0.92b"
date        "2001, December, 10"
%
category  "ms_MY:2000";LC_IDENTIFICATION
category  "ms_MY:2000";LC_CTYPE
category  "ms_MY:2000";LC_COLLATE
category  "ms_MY:2000";LC_TIME
category  "ms_MY:2000";LC_NUMERIC
category  "ms_MY:2000";LC_MONETARY
category  "ms_MY:2000";LC_MESSAGES
category  "ms_MY:2000";LC_PAPER
category  "ms_MY:2000";LC_NAME
category  "ms_MY:2000";LC_ADDRESS
category  "ms_MY:2000";LC_TELEPHONE
category  "ms_MY:2000";LC_MEASUREMENT
END LC_IDENTIFICATION

LC_CTYPE
copy "i18n"

translit_start
include  "translit_combining";""
translit_end
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       "<U004D><U0059><U0052><U0020>"
currency_symbol       "<U0052><U004D>"
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
% generated by IBM Basic CountryPack Transformer.
% These are generated based on XML base Locale defintion file
% for IBM Class for Unicode.
%
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       "<U0041><U0068><U0064>";"<U0049><U0073><U006E>";/
            "<U0053><U0065><U006C>";"<U0052><U0061><U0062>";/
            "<U004B><U0068><U0061>";"<U004A><U0075><U006D>";/
            "<U0053><U0061><U0062>"
%
% Full weekday names (%A)
day         "<U0041><U0068><U0061><U0064>";"<U0049><U0073><U006E><U0069><U006E>";/
            "<U0053><U0065><U006C><U0061><U0073><U0061>";"<U0052><U0061><U0062><U0075>";/
            "<U004B><U0068><U0061><U006D><U0069><U0073>";"<U004A><U0075><U006D><U0061><U0061><U0074>";/
            "<U0053><U0061><U0062><U0074><U0075>"
%
% Abbreviated month names (%b)
abmon       "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
            "<U004D><U0061><U0063>";"<U0041><U0070><U0072>";/
            "<U004D><U0065><U0069>";"<U004A><U0075><U006E>";/
            "<U004A><U0075><U006C>";"<U004F><U0067><U006F><U0073>";/
            "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/
            "<U004E><U006F><U0076>";"<U0044><U0069><U0073>"
%
% Full month names (%B)
mon         "<U004A><U0061><U006E><U0075><U0061><U0072><U0069>";"<U0046><U0065><U0062><U0072><U0075><U0061><U0072><U0069>";/
            "<U004D><U0061><U0063>";"<U0041><U0070><U0072><U0069><U006C>";/
            "<U004D><U0065><U0069>";"<U004A><U0075><U006E>";/
            "<U004A><U0075><U006C><U0061><U0069>";"<U004F><U0067><U006F><U0073>";/
            "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";"<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/
            "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";"<U0044><U0069><U0073><U0065><U006D><U0062><U0065><U0072>"
%
% Equivalent of AM PM
am_pm       "";""
%
% Appropriate date and time representation
% %A %d %b %Y %I:%M:%S  %Z
d_t_fmt     "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062><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><U0020><U0025><U0064><U0020><U0025><U0062><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]  --> ^[tT]
noexpr      "<U005E><U005B><U0074><U0054><U005D>"

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

% Yes      Ya
yesstr      "<U0059><U0061>"
%
% No       Tidak
nostr       "<U0054><U0069><U0064><U0061><U006B>"
%
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
%  Edited By Hand by Hasbullah Pit <sebol@ikhlas.com>
% name_mr = Encik, name_mrs = Puan , name_miss = Cik name_ms= Cik/Puan
name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074><U0025><U0067>"
name_gen    ""
name_mr     "<U0045><U0065><U0063><U0069><U006B>"
name_mrs    "<U0050><U0075><U0061><U006E>"
name_miss   "<U0063><U0069><U006B>"
name_ms     "<U0063><U0069><U006B><U002F><U0050><U0075><U0061><U006E>"

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 "<U004D><U0059>"
country_ab3 "<U004D><U0059><U0053>"
country_num 458
% MAL
country_car    "<U004D><U0041><U004C>"
% Bahasa Melayu
lang_name    "<U0042><U0061><U0068><U0061><U0073><U0061><U0020><U004D><U0065><U006C><U0061><U0079><U0075>"
% ms
lang_ab      "<U006D><U0073>"
% msa
lang_term    "<U006D><U0073><U0061>"
% may
lang_lib    "<U006D><U0061><U0079>"
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>"
int_prefix     "<U0036><U0030>"

END LC_TELEPHONE


LC_MEASUREMENT
% metric
measurement 1
END LC_MEASUREMENT
