comment_char    %
escape_char     /
% Gurajati Language Locale For India.
% Copied from hi_IN one, G Karunakar <karunakar@freedomink.org>
% Gujarati stuff from Tapan Parikh <tap2k@yahoo.com>
% Gujarati stuff Modified by Ankit Patel <ankit@redhat.com>

LC_IDENTIFICATION
title      "Gujarati Language Locale For India"
source     "IndLinux.org"
address    ""
contact    ""
email      "bug-glibc-locales@gnu.org"
tel        ""
fax        ""
language   "Gujarati"
territory  "India"
revision   "0.2"
date       "2004-14-09"
%
category  "gu_IN:2000";LC_IDENTIFICATION
category  "gu_IN:2000";LC_CTYPE
category  "gu_IN:2000";LC_COLLATE
category  "gu_IN:2000";LC_TIME
category  "gu_IN:2000";LC_NUMERIC
category  "gu_IN:2000";LC_MONETARY
category  "gu_IN:2000";LC_MESSAGES
category  "gu_IN:2000";LC_PAPER
category  "gu_IN:2000";LC_NAME
category  "gu_IN:2000";LC_ADDRESS
category  "gu_IN:2000";LC_TELEPHONE
category  "gu_IN:2000";LC_MEASUREMENT
END LC_IDENTIFICATION

LC_CTYPE
copy "i18n"

% Gujarati uses the alternate digits U+0AE6..U+0AEF
outdigit <U0AE6>..<U0AEF>

% This is used in the scanf family of functions to read Gujarati numbers
% using "%Id" and such.
map to_inpunct; /
  (<U0030>,<U0AE6>); /
  (<U0031>,<U0AE7>); /
  (<U0032>,<U0AE8>); /
  (<U0033>,<U0AE9>); /
  (<U0034>,<U0AEA>); /
  (<U0035>,<U0AEB>); /
  (<U0036>,<U0AEC>); /
  (<U0037>,<U0AED>); /
  (<U0038>,<U0AEE>); /
  (<U0039>,<U0AEF>);

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       "<U20B9>"
mon_decimal_point     "<U002E>"
mon_thousands_sep     "<U002C>"
mon_grouping          3
positive_sign         "<U002B>"
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
copy "hi_IN"
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		"<U0AB0><U0AB5><U0ABF>";/
		"<U0AB8><U0ACB><U0AAE>";/
		"<U0AAE><U0A82><U0A97><U0AB3>";/
		"<U0AAC><U0AC1><U0AA7>";/
		"<U0A97><U0AC1><U0AB0><U0AC1>";/
		"<U0AB6><U0AC1><U0A95><U0ACD><U0AB0>";/
		"<U0AB6><U0AA8><U0ABF>"

%
% Full weekday names (%A)
day		"<U0AB0><U0AB5><U0ABF><U0AB5><U0ABE><U0AB0>";/
		"<U0AB8><U0ACB><U0AAE><U0AB5><U0ABE><U0AB0>";/
		"<U0AAE><U0A82><U0A97><U0AB3><U0AB5><U0ABE><U0AB0>";/
		"<U0AAC><U0AC1><U0AA7><U0AB5><U0ABE><U0AB0>";/
		"<U0A97><U0AC1><U0AB0><U0AC1><U0AB5><U0ABE><U0AB0>";/
		"<U0AB6><U0AC1><U0A95><U0ACD><U0AB0><U0AB5><U0ABE><U0AB0>";/
		"<U0AB6><U0AA8><U0ABF><U0AB5><U0ABE><U0AB0>"

% Abbreviated month names (%b)
abmon 		"<U0A9C><U0ABE><U0AA8>";/
		"<U0AAB><U0AC7><U0AAC>";/
		"<U0AAE><U0ABE><U0AB0>";/
		"<U0A8F><U0AAA><U0ACD><U0AB0>";/
		"<U0AAE><U0AC7>";/
		"<U0A9C><U0AC1><U0AA8>";/
		"<U0A9C><U0AC1><U0AB2>";/
		"<U0A93><U0A97>";/
		"<U0AB8><U0AAA><U0ACD><U0A9F>";/
		"<U0A93><U0A95><U0ACD><U0A9F>";/
		"<U0AA8><U0ACB><U0AB5>";/
		"<U0AA1><U0ABF><U0AB8>"

%
% Full month names (%B)
mon	"<U0A9C><U0ABE><U0AA8><U0ACD><U0AAF><U0AC1><U0A86><U0AB0><U0AC0>";/
	"<U0AAB><U0AC7><U0AAC><U0ACD><U0AB0><U0AC1><U0A86><U0AB0><U0AC0>";/
	"<U0AAE><U0ABE><U0AB0><U0ACD><U0A9A>";/
	"<U0A8F><U0AAA><U0ACD><U0AB0><U0ABF><U0AB2>";/
	"<U0AAE><U0AC7>";/
	"<U0A9C><U0AC1><U0AA8>";/
	"<U0A9C><U0AC1><U0AB2><U0ABE><U0A87>";/
	"<U0A93><U0A97><U0AB8><U0ACD><U0A9F>";/
	"<U0AB8><U0AAA><U0ACD><U0A9F><U0AC7><U0AAE><U0ACD><U0AAC><U0AB0>";/
	"<U0A93><U0A95><U0ACD><U0A9F><U0ACB><U0AAC><U0AB0>";/
	"<U0AA8><U0AB5><U0AC7><U0AAE><U0ACD><U0AAC><U0AB0>";/
	"<U0AA1><U0ABF><U0AB8><U0AC7><U0AAE><U0ACD><U0AAC><U0AB0>"

%
% Equivalent of AM PM
am_pm		"<U0AB8><U0AB5><U0ABE><U0AB0><U0AC7>";/
		"<U0AB8><U0ABE><U0A82><U0A9C><U0AC7>"

% *** There aren't any Devanagari characters below, so for time being
% *** maintain same for Gujarati also,  Karunakar

%
% 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><U0AB9><U005D>"
noexpr  "<U005E><U005B><U006E><U004E><U0AA8><U005D>"
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.
%
name_fmt    "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/
<U0025><U0067>"
name_gen    "<U0A9C><U0ABE><U0AA4><U0ABF>"
name_mr     "<U0AB6><U0ACD><U0AB0><U0AC0><U0AAE><U0ABE><U0AA8>"
name_mrs    "<U0AB6><U0ACD><U0AB0><U0AC0><U0AAE><U0AA4><U0ABF>"
name_miss   "<U0A95><U0AC1><U0AAE><U0ABE><U0AB0><U0AC0>"
name_ms     "<U0AB8><U0AB6><U0ACD><U0AB0><U0AC0>"

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
% IND
country_car    "<U0049><U004E><U0044>"
% ગુજરાતી
lang_name    "<U0A97><U0AC1><U0A9C><U0AB0><U0ABE><U0AA4><U0AC0>"
% gu
lang_ab      "<U0067><U0075>"
% guj
lang_term    "<U0067><U0075><U006A>"
% guj
lang_lib    "<U0067><U0075><U006A>"
END LC_ADDRESS


LC_TELEPHONE
copy "hi_IN"
END LC_TELEPHONE


LC_MEASUREMENT
% metric
measurement 1
END LC_MEASUREMENT
