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.

% Sanskrit language locale for India.
% Contributed by Vidya Ayer <svaksha@gmail.com>
% and Christian Perrier <bubulle@debian.org>

LC_IDENTIFICATION
title      "Sanskrit language locale for India"
source     "The Debian project"
address    ""
contact    "Christian Perrier"
email      "bubulle@debian.org"
tel        ""
fax        ""
language   "Sanskrit"
territory  "India"
revision   "1.0"
date       "2005-09-25"

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"

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
%
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)
% ravih,somah,mangalah,budhah,brhaspatih,shukra,shanih
abday       "<U0930><U0935><U093F><U0903>";/
            "<U0938><U094B><U092E>:";/
            "<U092E><U0902><U0917><U0932>:";/
            "<U092C><U0941><U0927>:";/
            "<U092C><U0943><U0939><U0938><U094D><U092A><U0924><U093F><U0903>";/
            "<U0936><U0941><U0915><U094D><U0930>";/
            "<U0936><U0928><U093F>:"
%
% Full weekday names (%A)
% ravivasarah, somavasarah, mangalavasarah, budhavasarah, brhaspativasarah, shukravasarah, shanivasarah
day         "<U0930><U0935><U093F><U0935><U093E><U0938><U0930>:";/
            "<U0938><U094B><U092E><U0935><U093E><U0938><U0930>:";/
            "<U092E><U0902><U0917><U0932><U0935><U093E><U0938><U0930>:";/
            "<U092C><U0941><U0927><U0935><U093E><U0938><U0930>:";/
            "<U092C><U0943><U0939><U0938><U094D><U092A><U0924><U093F><U0935><U093E><U0938><U0930><U0903>";/
            "<U0936><U0941><U0915><U094D><U0930><U0935><U093E><U0938><U0930>";/
            "<U0936><U0928><U093F><U0935><U093E><U0938><U0930>:"
%
% Abbreviated month names (%b)
% Below comes from hi_IN.
% Sanskrit uses a lunar calendar. When gregorian month names
% are needed, the names are the same names than those used
% by Hindi
% names for gregorian month names:
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)
% Sanskrit uses a lunar calendar. When gregorian month names
% are needed, the names are the same names than those used
% by Hindi
% Lunar calendar month names:
% Chaitra            March 22
% Vaisakha           April 29
% jyeshthah          May 22
% ashadah            June 22
% shravanah          July 23
% bhadrapadah        August 23
% ashvinah           September 23
% kartikah           October 23
% margashirsah       November 22
% paushah            December 22
% maghah             January 29
% phalgunah          February 20
% names for gregorian month names:
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
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 "^[+1aAyY<U0906>]"
noexpr  "^[-0nN<U0928>]"
yesstr  "<U0906><U092E><U094D>"
nostr	"<U0928>"
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    "%p%t%f%t%g"
name_gen    ""
%
% shri
name_mr     "<U0936><U094D><U0930><U0940>"
% For boys under 18, this is "kumar"
% but locales are sexist and do not even imagine
% that some language may have different forms for MEN too
% name_mr     "<U0915><U0941><U092E><U093E><U0930>"
% shrimati
name_mrs    "<U0936><U094D><U0930><U0940><U092E><U0924><U0940>"
% kumari
name_miss   "<U0915><U0941><U092E><U093E><U0930><U0940>"
% shrimati
name_ms     "<U0936><U094D><U0930><U0940><U092E><U0924><U0940>"

END LC_NAME


LC_ADDRESS
% This is the ISO_IEC TR14652 Locale definition for the
% LC_ADDRESS
postal_fmt  "%z%c%T%s%b%e%r"
% https://sa.wikipedia.org/wiki/%E0%A4%AD%E0%A4%BE%E0%A4%B0%E0%A4%A4%E0%A4%AE%E0%A5%8D : "भारतम्"
country_name "<U092D><U093E><U0930><U0924><U092E><U094D>"
country_ab2 "IN"
country_ab3 "IND"
country_num 356
country_car    "IND"
% संस्कृतम्
lang_name    "<U0938><U0902><U0938><U094D><U0915><U0943><U0924><U092E><U094D>"
lang_ab      "sa"
lang_term    "san"
lang_lib    "san"
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 "+%c ;%a ;%l"
int_prefix "91"
int_select "00"
END LC_TELEPHONE


LC_MEASUREMENT
copy "hi_IN"
END LC_MEASUREMENT
