comment_char    %
escape_char     /
% Telugu language locale for India.
% Contributed by Kentaroh Noji <knoji@jp.ibm.com> and
% Tetsuji Orita <orita@jp.ibm.com>.
%
% Updated by Sunil Mohan Adapa <sunil AT atc tcs co in>

LC_IDENTIFICATION
title      "Telugu 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    "Telugu"
territory   "India"
revision    "0.95"
date        "2004-10-05"
%
category  "i18n:2003";LC_IDENTIFICATION
category  "i18n:2003";LC_CTYPE
category  "i18n:2003";LC_COLLATE
category  "i18n:2003";LC_TIME
category  "posix:1993";LC_NUMERIC
category  "i18n:2003";LC_MONETARY
category  "i18n:2003";LC_MESSAGES
category  "i18n:2003";LC_PAPER
category  "i18n:2003";LC_NAME
category  "i18n:2003";LC_ADDRESS
category  "i18n:2003";LC_TELEPHONE

END LC_IDENTIFICATION

LC_CTYPE
copy "i18n"

% Telugu uses the alternate digits U+0C66..U+0C6F
outdigit <U0C66>..<U0C6F>

% This is used in the scanf family of functions to read Telugu numbers
% using "%Id" and such.
map to_inpunct; /
  (<U0030>,<U0C66>); /
  (<U0031>,<U0C67>); /
  (<U0032>,<U0C68>); /
  (<U0033>,<U0C69>); /
  (<U0034>,<U0C6A>); /
  (<U0035>,<U0C6B>); /
  (<U0036>,<U0C6C>); /
  (<U0037>,<U0C6D>); /
  (<U0038>,<U0C6E>); /
  (<U0039>,<U0C6F>);

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       "<U20B9>"
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        0
n_cs_precedes         1
n_sep_by_space        0
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       "<U0C06><U0C26><U0C3F>";"<U0C38><U0C4b><U0C2E>";/
            "<U0C2E><U0C02><U0C17><U0C33>";"<U0C2C><U0C41><U0C27>";/
            "<U0C17><U0C41><U0C30><U0C41>";"<U0C36><U0C41><U0C15><U0C4D><U0C30>";/
            "<U0C36><U0C28><U0C3F>"


% Full weekday names (%A)
day         "<U0C06><U0C26><U0C3F><U0C35><U0C3E><U0C30><U0C02>";"<U0C38><U0C4b><U0C2E><U0C35><U0C3E><U0C30><U0C02>";/
            "<U0C2E><U0C02><U0C17><U0C33><U0C35><U0C3E><U0C30><U0C02>";"<U0C2C><U0C41><U0C27><U0C35><U0C3E><U0C30><U0C02>";/
            "<U0C17><U0C41><U0C30><U0C41><U0C35><U0C3E><U0C30><U0C02>";"<U0C36><U0C41><U0C15><U0C4d><U0C30><U0C35><U0C3E><U0C30><U0C02>";/
            "<U0C36><U0C28><U0C3F><U0C35><U0C3E><U0C30><U0C02>"

%
% Abbreviated month names (%b)
abmon       "<U0C1C><U0C28><U0C35><U0C30><U0C3F>";"<U0C2B><U0C3F><U0C2C><U0C4D><U0C30><U0C35><U0C30><U0C3F>";/
            "<U0C2E><U0C3E><U0C30><U0C4D><U0C1A><U0C3F>";"<U0C0F><U0C2a><U0C4D><U0C30><U0C3F><U0C32><U0C4D>";/
            "<U0C2E><U0C47>";"<U0C1C><U0C42><U0C28><U0C4D>";/
            "<U0C1C><U0C42><U0C32><U0C48>";"<U0C06><U0C17><U0C38><U0C4D><U0C1F><U0C41>";/
            "<U0C38><U0C46><U0C2A><U0C4D><U0C1F><U0C46><U0C02><U0C2C><U0C30><U0C41>";"<U0C05><U0C15><U0C4D><U0C1F><U0C4B><U0C2C><U0C30><U0C41>";/
            "<U0C28><U0C35><U0C02><U0C2C><U0C30><U0C41>";"<U0C21><U0C3F><U0C38><U0C46><U0C02><U0C2C><U0C30><U0C41>"

% Full month names (%B)
mon         "<U0C1C><U0C28><U0C35><U0C30><U0C3F>";"<U0C2B><U0C3F><U0C2C><U0C4D><U0C30><U0C35><U0C30><U0C3F>";/
            "<U0C2E><U0C3E><U0C30><U0C4D><U0C1A><U0C3F>";"<U0C0F><U0C2A><U0C4D><U0C30><U0C3F><U0C32><U0C4D>";/
            "<U0C2E><U0C47>";"<U0C1C><U0C42><U0C28><U0C4D>";/
            "<U0C1C><U0C42><U0C32><U0C48>";"<U0C06><U0C17><U0C38><U0C4D><U0C1F><U0C41>";/
            "<U0C38><U0C46><U0C2A><U0C4D><U0C1F><U0C46><U0C02><U0C2C><U0C30><U0C41>";"<U0C05><U0C15><U0C4D><U0C1F><U0C4B><U0C2C><U0C30><U0C41>";/
            "<U0C28><U0C35><U0C02><U0C2C><U0C30><U0C41>";"<U0C21><U0C3F><U0C38><U0C46><U0C02><U0C2C><U0C30><U0C41>"
%
% Equivalent of AM PM
am_pm       "<U0C09><U002E>";"<U0C38><U0C3E><U002E>"
%
% Appropriate date and time representation
% %B %d %A %Y %p%I.%M.%S %Z
d_t_fmt     "<U0025><U0042><U0020><U0025><U0064><U0020><U0025><U0041><U0020><U0025><U0059><U0020><U0025><U0070><U0025><U0049><U002E><U0025><U004D><U002E><U0025><U0053><U0020><U0025><U005A>"
%
% Appropriate date representation
% %B %d %A %Y
d_fmt       "<U0025><U0042><U0020><U0025><U0064><U0020><U0025><U0041><U0020><U0025><U0059>"
%
% Appropriate time representation
% %p%I.%M.%S %Z
t_fmt       "<U0025><U0070><U0025><U0049><U002E><U0025><U004D><U002E><U0025><U0053><U0020><U0025><U005A>"
%
% Appropriate 12 h time representation (%r)
% %p%I.%M.%S %Z
t_fmt_ampm  "<U0025><U0070><U0025><U0049><U002E><U0025><U004D><U002E><U0025><U0053><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.
%
% Syntax on Unicode Regular Expression Guidelines TR#18
% ^[yY\u0C05].*
yesexpr     "<U005E><U005B><U0079><U0059><U0C05><U005D><U002E><U002A>"

%
% Syntax on Unicode Regular Expression Guidelines TR#18
% ^[yY\u0C15].*
noexpr      "<U005E><U005B><U006E><U004E><U0C15><U005D><U002E><U002A>"

%
yesstr      "<U0C05><U0C35><U0C28><U0C41>"
%
%
nostr       "<U0C15><U0C3E><U0C26><U0C41>"
%
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><U0025><U0074><U0025><U006D>"
name_gen    ""
name_mr     "<U0C36><U0C4D><U0C30><U0C40><U0020>"
name_mrs    "<U0C36><U0C4D><U0C30><U0C40><U0C2E><U0C24><U0C3F><U0020>"
name_miss   "<U0C15><U0C41><U0C2E><U0C3E><U0C30><U0C3F><U0020>"
name_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    "%a%N%d%N%f%N%r%t%e%N%h%t%b%N%s%t%N%T%t%z%N%S%N%c"
postal_fmt      "<U0025><U0061><U0025><U004E>/
<U0025><U0064><U0025><U004E>/
<U0025><U0066><U0025><U004E>/
<U0025><U0072><U0025><U0074><U0025><U0065><U0025><U004E>/
<U0025><U0068><U0025><U0074><U0025><U0062><U0025><U004E>/
<U0025><U0073><U0025><U0074><U0025><U004E>/
<U0025><U0054><U0025><U0074><U0025><U007A><U0025><U004E>/
<U0025><U0053><U0025><U004E>/
<U0025><U0063>"
country_name    "<U0C2D><U0C3E><U0C30><U0C24><U0020><U0C26><U0C47><U0C36><U0C02>"
country_ab2     "<U0049><U004E>"
country_ab3     "<U0049><U004E><U0044>"
country_num     356
lang_name       "<U0C24><U0C46><U0C32><U0C41><U0C17><U0C41>"
lang_ab         "te"
lang_term       "tel"
END LC_ADDRESS


LC_TELEPHONE
copy "hi_IN"
END LC_TELEPHONE


LC_MEASUREMENT
copy "hi_IN"
END LC_MEASUREMENT
