comment_char    %
escape_char     /
% Hindi language locale for India.
% Contributed by Kentaroh Noji <knoji@jp.ibm.com> and
% Tetsuji Orita <orita@jp.ibm.com>.

LC_IDENTIFICATION
title      "Hindi 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   "Hindi"
territory  "India"
revision   "1.0"
date       "2000-07-21"
%
category  "hi_IN:2000";LC_IDENTIFICATION
category  "hi_IN:2000";LC_CTYPE
category  "hi_IN:2000";LC_COLLATE
category  "hi_IN:2000";LC_TIME
category  "hi_IN:2000";LC_NUMERIC
category  "hi_IN:2000";LC_MONETARY
category  "hi_IN:2000";LC_MESSAGES
category  "hi_IN:2000";LC_PAPER
category  "hi_IN:2000";LC_NAME
category  "hi_IN:2000";LC_ADDRESS
category  "hi_IN:2000";LC_TELEPHONE

END LC_IDENTIFICATION

LC_CTYPE
copy "i18n"

% Devanagari uses the alternate digits U+0966..U+096F
outdigit <U0966>..<U096F>

% This is used in the scanf family of functions to read devanagari numbers
% using "%Id" and such.
map to_inpunct; /
  (<U0030>,<U0966>); /
  (<U0031>,<U0967>); /
  (<U0032>,<U0968>); /
  (<U0033>,<U0969>); /
  (<U0034>,<U096A>); /
  (<U0035>,<U096B>); /
  (<U0036>,<U096C>); /
  (<U0037>,<U096D>); /
  (<U0038>,<U096E>); /
  (<U0039>,<U096F>); 

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.
% These are generated based on XML base Locale definition file
% for IBM Class for Unicode/Java
%
int_curr_symbol       "<U0049><U004E><U0052><U0020>"
currency_symbol       "<U0930><U0942>"
mon_decimal_point     "<U002E>"
mon_thousands_sep     "<U002C>"
mon_grouping          3
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
%
END LC_NUMERIC


LC_TIME
% This is the POSIX Locale definition for the LC_TIME category.
% These are generated based on XML base Locale definition file
% for IBM Class for Unicode/Java
%
% Abbreviated weekday names (%a)
abday       "<U0930><U0935><U093F><U0020>";/
            "<U0938><U094B><U092E><U0020>";/
            "<U092E><U0902><U0917><U0932><U0020>";/
            "<U092C><U0941><U0927><U0020>";/
            "<U0917><U0941><U0930><U0941><U0020>";/
            "<U0936><U0941><U0915><U094D><U0930><U0020>";/
            "<U0936><U0928><U093F><U0020>"
%
% Full weekday names (%A)
day         "<U0930><U0935><U093F><U0935><U093E><U0930><U0020>";/
            "<U0938><U094B><U092E><U0935><U093E><U0930><U0020>";/
            "<U092E><U0902><U0917><U0932><U0935><U093E><U0930><U0020>";/
            "<U092C><U0941><U0927><U0935><U093E><U0930><U0020>";/
            "<U0917><U0941><U0930><U0941><U0935><U093E><U0930><U0020>";/
            "<U0936><U0941><U0915><U094D><U0930><U0935><U093E><U0930><U0020>";/
            "<U0936><U0928><U093F><U0935><U093E><U0930><U0020>"
%
% Abbreviated month names (%b)
abmon       "<U091C><U0928><U0935><U0930><U0940>";/
            "<U092B><U093C><U0930><U0935><U0930><U0940>";/
            "<U092E><U093E><U0930><U094D><U091A>";/
            "<U0905><U092A><U094D><U0930><U0947><U0932>";/
            "<U092E><U0908>";"<U091C><U0942><U0928>";/
            "<U091C><U0941><U0932><U093E><U0908>";/
            "<U0905><U0917><U0938><U094D><U0924>";/
            "<U0938><U093F><U0924><U092E><U094D><U092C><U0930>";/
            "<U0905><U0915><U094D><U091F><U0942><U092C><U0930>";/
            "<U0928><U0935><U092E><U094D><U092C><U0930>";/
            "<U0926><U093F><U0938><U092E><U094D><U092C><U0930>"
%
% Full month names (%B)
mon         "<U091C><U0928><U0935><U0930><U0940>";/
            "<U092B><U093C><U0930><U0935><U0930><U0940>";/
            "<U092E><U093E><U0930><U094D><U091A>";/
            "<U0905><U092A><U094D><U0930><U0947><U0932>";/
            "<U092E><U0908>";"<U091C><U0942><U0928>";/
            "<U091C><U0941><U0932><U093E><U0908>";/
            "<U0905><U0917><U0938><U094D><U0924>";/
            "<U0938><U093F><U0924><U092E><U094D><U092C><U0930>";/
            "<U0905><U0915><U094D><U091F><U0942><U092C><U0930>";/
            "<U0928><U0935><U092E><U094D><U092C><U0930>";/
            "<U0926><U093F><U0938><U092E><U094D><U092C><U0930>"
%
% Equivalent of AM PM
am_pm       "<U092A><U0942><U0930><U094D><U0935><U093E><U0939><U094D><U0928>";/
            "<U0905><U092A><U0930><U093E><U0939><U094D><U0928>"
%
% Appropriate date and time representation
% %A %d %b %Y%I:%M:%S  %Z
d_t_fmt     "<U0025><U0041><U0020><U0025><U0064><U0020><U0025><U0062>/
<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><U0062>/
<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>"
%
date_fmt       "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
<U0025><U005A><U0020><U0025><U0059>"
END LC_TIME


LC_MESSAGES
yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>"
noexpr  "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
END LC_MESSAGES


LC_PAPER
% This is the ISO_IEC TR14652 Locale definition for the LC_PAPER category
% generated by IBM Basic CountryPack Transformer.
height      297
width       210

END LC_PAPER


LC_NAME
% This is the ISO_IEC TR14652 Locale definition for the
% LC_NAME category.
%
name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/
<U0025><U0067>"
name_gen    ""
name_mr     "<U004D><U0072><U002E>"
name_mrs    "<U004D><U0072><U0073><U002E>"
name_miss   "<U004D><U0069><U0073><U0073><U002E>"
name_ms     "<U004D><U0073><U002E>"

END LC_NAME


LC_ADDRESS
% This is the ISO_IEC TR14652 Locale definition for the
% LC_ADDRESS
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
% This is the ISO_IEC TR14652 Locale definition for the LC_TELEPHONE
% generated by IBM Basic CountryPack Transformer.
tel_int_fmt "<U002B><U0025><U0063><U0020><U003B><U0025><U0061><U0020><U003B><U0025><U006C>"
int_prefix "<U0039><U0031>"
int_select "<U0030><U0030>"
END LC_TELEPHONE


LC_MEASUREMENT
% This is the ISO_IEC TR14652 Locale definition for the LC_MEASUREMENT
% category generated by IBM Basic CountryPack Transformer.
measurement 1
END LC_MEASUREMENT
