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.

% 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 "i18n:2012";LC_IDENTIFICATION
category "i18n:2012";LC_CTYPE
category "i18n:2012";LC_COLLATE
category "i18n:2012";LC_MONETARY
category "i18n:2012";LC_NUMERIC
category "i18n:2012";LC_TIME
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"

% 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
copy "hi_IN"
END LC_MONETARY


LC_NUMERIC
% This is the POSIX Locale definition for the LC_NUMERIC  category.
%
decimal_point          "."
thousands_sep          ","
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
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
END LC_TIME


LC_MESSAGES
yesexpr "^[+1yY<U0B86>]"
noexpr  "^[-0nN<U0B87>]"
yesstr  "<U0B86><U0BAE><U0BCD>"
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    "%p%t%f%t%g"
name_gen    ""
name_mr     "<U0BA4><U0BBF><U0BB0><U0BC1>"
name_mrs    "<U0BA4><U0BBF><U0BB0><U0BC1><U0BAE><U0BA4><U0BBF>"
name_miss   "<U0B9A><U0BC6><U0BB2><U0BCD><U0BB5><U0BBF>"
name_ms     "Ms."

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 "<U0B87><U0BA8><U0BCD><U0BA4><U0BBF><U0BAF><U0BBE>"
country_ab2 "IN"
country_ab3 "IND"
country_num 356
country_car    "IND"
lang_name   "<U0BA4><U0BAE><U0BBF><U0BB4><U0BCD>"
lang_ab      "ta"
lang_term    "tam"
lang_lib    "tam"
END LC_ADDRESS


LC_TELEPHONE
copy "hi_IN"
END LC_TELEPHONE


LC_MEASUREMENT
copy "hi_IN"
END LC_MEASUREMENT
