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.

% 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: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"

% 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
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       "<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>";"<U0C2B><U0C3F><U0C2C><U0C4D><U0C30>";/
            "<U0C2E><U0C3E><U0C30><U0C4D><U0C1A><U0C3F>";"<U0C0F><U0C2A><U0C4D><U0C30><U0C3F>";/
            "<U0C2E><U0C47>";"<U0C1C><U0C42><U0C28><U0C4D>";/
            "<U0C1C><U0C41><U0C32><U0C48>";"<U0C06><U0C17>";/
            "<U0C38><U0C46><U0C2A><U0C4D><U0C1F><U0C46><U0C02>";"<U0C05><U0C15><U0C4D><U0C1F><U0C4B>";/
            "<U0C28><U0C35><U0C02>";"<U0C21><U0C3F><U0C38><U0C46><U0C02>"

% 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><U0C41><U0C32><U0C48>";"<U0C06><U0C17><U0C38><U0C4D><U0C1F><U0C41>";/
            "<U0C38><U0C46><U0C2A><U0C4D><U0C1F><U0C46><U0C02><U0C2C><U0C30><U0C4D>";"<U0C05><U0C15><U0C4D><U0C1F><U0C4B><U0C2C><U0C30><U0C4D>";/
            "<U0C28><U0C35><U0C02><U0C2C><U0C30><U0C4D>";"<U0C21><U0C3F><U0C38><U0C46><U0C02><U0C2C><U0C30><U0C4D>"
%
% Equivalent of AM PM
am_pm       "<U0C09>.";"<U0C38><U0C3E>."
%
% Appropriate date and time representation
d_t_fmt     "%B %d %A %Y %p%I.%M.%S %Z"
%
% Appropriate date representation
d_fmt       "%B %d %A %Y"
%
% Appropriate time representation
t_fmt       "%p%I.%M.%S %Z"
%
% Appropriate 12 h time representation (%r)
t_fmt_ampm  "%p%I.%M.%S %Z"
%
week 7;19971130;1
END LC_TIME


LC_MESSAGES
yesexpr "^[+1yY<U0C05>]"
noexpr  "^[-0nN<U0C35>]"
yesstr  "<U0C05><U0C35><U0C41><U0C28><U0C41>"
nostr   "<U0C35><U0C26><U0C4D><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    "%p%t%f%t%g%t%m"
name_gen    ""
name_mr     "<U0C36><U0C4D><U0C30><U0C40>"
name_mrs    "<U0C36><U0C4D><U0C30><U0C40><U0C2E><U0C24><U0C3F>"
name_miss   "<U0C15><U0C41><U0C2E><U0C3E><U0C30><U0C3F>"
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"
country_name    "<U0C2D><U0C3E><U0C30><U0C24> <U0C26><U0C47><U0C36><U0C02>"
country_ab2     "IN"
country_ab3     "IND"
country_num     356
country_car     "IND"
lang_name       "<U0C24><U0C46><U0C32><U0C41><U0C17><U0C41>"
lang_ab      "te"
lang_term    "tel"
lang_lib    "tel"
END LC_ADDRESS


LC_TELEPHONE
copy "hi_IN"
END LC_TELEPHONE


LC_MEASUREMENT
copy "hi_IN"
END LC_MEASUREMENT
