comment_char    %
escape_char     /
% Tamil language locale for India.
% Contributed by Kentaroh Noji <knoji@jp.ibm.com> and
% Tetsuji Orita <orita@jp.ibm.com>.
% Fixed day and month abbr & LC_NAME <sivaraj_d@hotmail.com>
% Added Madras Tamil Lexicon Collation Order: T. Vaseeharan <t_vasee@yahoo.com>

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

END LC_IDENTIFICATION

LC_CTYPE
copy "i18n"

% Tamil uses the alternate digits U+0BE6..U+0BEF
outdigit <U0BE6>..<U0BEF>

% This is used in the scanf family of functions to read Tamil numbers
% using "%Id" and such.
map to_inpunct; /
  (<U0030>,<U0BE6>); /
  (<U0031>,<U0BE7>); /
  (<U0032>,<U0BE8>); /
  (<U0033>,<U0BE9>); /
  (<U0034>,<U0BEA>); /
  (<U0035>,<U0BEB>); /
  (<U0036>,<U0BEC>); /
  (<U0037>,<U0BED>); /
  (<U0038>,<U0BEE>); /
  (<U0039>,<U0BEF>); 

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       "<U0049><U004E><U0052><U0020>"
currency_symbol       "<U20A8>"
mon_decimal_point     "<U002E>"
mon_thousands_sep     "<U002C>"
mon_grouping          3;2
positive_sign         ""
negative_sign         "<U002D>"
int_frac_digits       2
frac_digits           2
p_cs_precedes         1
p_sep_by_space        1
n_cs_precedes         1
n_sep_by_space        1
p_sign_posn           1
n_sign_posn           1
%
END LC_MONETARY


LC_NUMERIC
% This is the POSIX Locale definition for the LC_NUMERIC  category.
%
decimal_point          "<U002E>"
thousands_sep          "<U002C>"
grouping               3;2
%
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       "<U0B9E><U0BBE>";"<U0BA4><U0BBF>";/
            "<U0B9A><U0BC6>";"<U0BAA><U0BC1>";/
            "<U0BB5><U0BBF>";"<U0BB5><U0BC6>";/
            "<U0B9A>"
%
% Full weekday names (%A)
day         "<U0B9E><U0BBE><U0BAF><U0BBF><U0BB1><U0BC1>";"<U0BA4><U0BBF><U0B99><U0BCD><U0B95><U0BB3><U0BCD>";/
            "<U0B9A><U0BC6><U0BB5><U0BCD><U0BB5><U0BBE><U0BAF><U0BCD>";"<U0BAA><U0BC1><U0BA4><U0BA9><U0BCD>";/
            "<U0BB5><U0BBF><U0BAF><U0BBE><U0BB4><U0BA9><U0BCD>";"<U0BB5><U0BC6><U0BB3><U0BCD><U0BB3><U0BBF>";/
            "<U0B9A><U0BA9><U0BBF>"
%
% Abbreviated month names (%b)
abmon       "<U0B9C><U0BA9>";"<U0BAA><U0BBF><U0BAA><U0BCD>";/
            "<U0BAE><U0BBE><U0BB0><U0BCD>";"<U0B8F><U0BAA><U0BCD>";/
            "<U0BAE><U0BC7>";"<U0B9C><U0BC2><U0BA9><U0BCD>";/
            "<U0B9C><U0BC2><U0BB2><U0BC8>";"<U0B86><U0B95>";/
            "<U0B9A><U0BC6><U0BAA><U0BCD>";"<U0B85><U0B95><U0BCD>";/
            "<U0BA8><U0BB5>";"<U0B9F><U0BBF><U0B9A>"
%
% Full month names (%B)
mon         "<U0B9C><U0BA9><U0BB5><U0BB0><U0BBF>";"<U0BAA><U0BBF><U0BAA><U0BCD><U0BB0><U0BB5><U0BB0><U0BBF>";/
            "<U0BAE><U0BBE><U0BB0><U0BCD><U0B9A><U0BCD>";"<U0B8F><U0BAA><U0BCD><U0BB0><U0BB2><U0BCD>";/
            "<U0BAE><U0BC7>";"<U0B9C><U0BC2><U0BA9><U0BCD>";/
            "<U0B9C><U0BC2><U0BB2><U0BC8>";"<U0B86><U0B95><U0BB8><U0BCD><U0B9F><U0BCD>";/
            "<U0B9A><U0BC6><U0BAA><U0BCD><U0B9F><U0BAE><U0BCD><U0BAA><U0BB0><U0BCD>";"<U0B85><U0B95><U0BCD><U0B9F><U0BCB><U0BAA><U0BB0><U0BCD>";/
            "<U0BA8><U0BB5><U0BAE><U0BCD><U0BAA><U0BB0><U0BCD>";"<U0B9F><U0BBF><U0B9A><U0BAE><U0BCD><U0BAA><U0BB0><U0BCD>"
%
% Equivalent of AM PM
am_pm       "<U0B95><U0BBE><U0BB2><U0BC8>";"<U0BAE><U0BBE><U0BB2><U0BC8>"
%
% Appropriate date and time representation
% %A %d %B %Y %I:%M:%S  %Z
d_t_fmt     "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0042><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><U0042><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.
%
yesexpr     "<U005E><U005B><U0B86><U0BAE><U0BCD><U0079><U0059><U005D>"

noexpr      "<U005E><U005B><U0B87><U0BB2><U0BCD><U0BB2><U0BC8><U006E><U004E><U005D>"

% \u0b86\u0bae\u0bcd
yesstr      "<U0B86><U0BAE><U0BCD>"
%
% \u0b87\u0bb2\u0bcd\u0bb2\u0bc8
nostr       "<U0B87><U0BB2><U0BCD><U0BB2><U0BC8>"
%
END LC_MESSAGES


LC_PAPER
copy "hi_IN"
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     "<U0BA4><U0BBF><U0BB0><U0BC1><U0020>"
name_mrs    "<U0BA4><U0BBF><U0BB0><U0BC1><U0BAE><U0BA4><U0BBF><U0020>"
name_miss   "<U0B9A><U0BC6><U0BB2><U0BCD><U0BB5><U0BBF><U0020>"
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><U004E>"
country_ab3 "<U0049><U004E><U0044>"
country_num 356
END LC_ADDRESS


LC_TELEPHONE
copy "hi_IN"
END LC_TELEPHONE


LC_MEASUREMENT
copy "hi_IN"
END LC_MEASUREMENT
