comment_char %
escape_char /

% This file is part of the GNU C Library and contains locale data.
% The Free Software Foundation does not claim any copyright interest
% in the locale data contained in this file.  The foregoing does not
% affect the license of the GNU C Library as a whole.  It does not
% exempt you from the conditions of the license if your use would
% otherwise be governed by that license.

% 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 "i18n:2012";LC_IDENTIFICATION
category "i18n:2012";LC_CTYPE
category "i18n:2012";LC_COLLATE
category "i18n:2012";LC_TIME
category "i18n:2012";LC_NUMERIC
category "i18n:2012";LC_MONETARY
category "i18n:2012";LC_MESSAGES
category "i18n:2012";LC_PAPER
category "i18n:2012";LC_NAME
category "i18n:2012";LC_ADDRESS
category "i18n:2012";LC_TELEPHONE
category "i18n:2012";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       "MYR "
currency_symbol       "RM"
mon_decimal_point     "."
mon_thousands_sep     ","
mon_grouping          3
positive_sign         ""
negative_sign         "-"
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          "."
thousands_sep          ","
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       "Ahd";"Isn";/
            "Sel";"Rab";/
            "Kha";"Jum";/
            "Sab"
%
% Full weekday names (%A)
day         "Ahad";"Isnin";/
            "Selasa";"Rabu";/
            "Khamis";"Jumaat";/
            "Sabtu"
%
% Abbreviated month names (%b)
abmon       "Jan";"Feb";/
            "Mac";"Apr";/
            "Mei";"Jun";/
            "Jul";"Ogos";/
            "Sep";"Okt";/
            "Nov";"Dis"
%
% Full month names (%B)
mon         "Januari";"Februari";/
            "Mac";"April";/
            "Mei";"Jun";/
            "Julai";"Ogos";/
            "September";"Oktober";/
            "November";"Disember"
%
% Equivalent of AM PM
am_pm       "";""
%
% Appropriate date and time representation
d_t_fmt     "%A %d %b %Y %I:%M:%S %p %Z"
%
% Appropriate date representation
d_fmt       "%A %d %b %Y"
%
% Appropriate time representation
t_fmt       "%I:%M:%S  %Z"
%
% Appropriate 12 h time representation (%r)
t_fmt_ampm  "%I:%M:%S %p %Z"
%
week 7;19971130;1
first_weekday 2
END LC_TIME


LC_MESSAGES
yesexpr "^[+1yY]"
noexpr  "^[-0tTnN]"
yesstr  "ya"
nostr   "tidak"
END LC_MESSAGES


LC_PAPER
copy "i18n"
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    "%p%t%f%t%g"
name_gen    ""
name_mr     "Eecik"
name_mrs    "Puan"
name_miss   "cik"
name_ms     "cik//Puan"

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  "%z%c%T%s%b%e%r"
country_name "Malaysia"
country_ab2 "MY"
country_ab3 "MYS"
country_num 458
country_car "MAL"
% Bahasa Melayu
lang_name    "Bahasa Melayu"
lang_ab      "ms"
lang_term    "msa"
lang_lib    "may"
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 "+%c ;%a ;%l"
int_prefix     "60"
int_select     "00"
END LC_TELEPHONE


LC_MEASUREMENT
copy "i18n"
END LC_MEASUREMENT
