1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
|
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.
% Malayalam language locale for India.
% Contributed by Free Software Foundation of India http://gnu.org.in
% E-Mail : gnu@gnu.org.in
LC_IDENTIFICATION
title "Malayalam language locale for India"
source "Free Software Foundation of India, Trivandrum"
address ""
contact ""
email "bug-glibc-locales@gnu.org"
tel ""
fax ""
language "Malayalam"
territory "India"
revision "0.1"
date "2003-February-01"
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"
% Malayalam uses the alternate digits U+0D66..U+0D6F
outdigit <U0D66>..<U0D6F>
% This is used in the scanf family of functions to read Malayalam numbers
% using "%Id" and such.
map to_inpunct; /
(<U0030>,<U0D66>); /
(<U0031>,<U0D67>); /
(<U0032>,<U0D68>); /
(<U0033>,<U0D69>); /
(<U0034>,<U0D6A>); /
(<U0035>,<U0D6B>); /
(<U0036>,<U0D6C>); /
(<U0037>,<U0D6D>); /
(<U0038>,<U0D6E>); /
(<U0039>,<U0D6F>);
translit_start
include "translit_combining";""
translit_end
END LC_CTYPE
%
%
LC_COLLATE
% CLDR collation rules for Malayalam:
% (see: https://unicode.org/cldr/trac/browser/trunk/common/collation/ml.xml)
%
% <collation type="standard" references="Sabdatharavali Malayalam Dictionary 23rd Ed. by Sahithya Pravarthaka Co-operative Society Ltd.">
% <cr><![CDATA[
% [reorder Mlym Latn Deva Arab Taml Knda Telu Beng Guru Gujr Orya Sinh] # native speaker's special list
% #
% # Avagraha and Visarga are primary ignorables.
% #
% &ഃ<<ഽ
% #
% # Vowel sign AU ( ൌ) and AU length mark ( ൗ) need to differ
% # only on secondary level, not primary.
% #
% &\u0D4C<<\u0D57
% #
% # Pre-5.1 Chillus secondary equal to 5.1 chillus.
% # Chillus primary equal to their consonant_dead form.
% #
% &ക്<<ക്\u200D<<<ൿ
% &ണ്<<ണ്\u200D<<<ൺ
% &ന്<<ന്\u200D<<<ൻ
% &ര്<<ര്\u200D<<<ർ
% &ല്<<ല്\u200D<<<ൽ
% &ള്<<ള്\u200D<<<ൾ
% #
% # Anuswara primary equal to MA_dead.
% #
% &മ്<<ം
% #
% # /nta/ is sorted as <NA, Virama, RRA>.
% #
% &ന്<<<ൻ്
% ]]></cr>
% </collation>
%
% And CLDR also lists the following
% index characters:
% (see: https://unicode.org/cldr/trac/browser/trunk/common/main/ml.xml)
%
% <exemplarCharacters type="index" draft="contributed">[അ ആ ഇ ഈ ഉ ഊ ഋ എ ഏ ഐ ഒ ഓ ഔ ക ഖ ഗ ഘ ങ ച ഛ ജ ഝ ഞ ട ഠ ഡ ഢ ണ ത ഥ ദ ധ ന പ ഫ ബ ഭ മ യ ര ല വ ശ ഷ സ ഹ ള ഴ റ]</exemplarCharacters>
%
% The following rules implement the same order for glibc.
copy "iso14651_t1"
% &ക്<<ക്\u200D<<<ൿ
collating-element <e0d15-0d4d> from "<U0D15><U0D4D>"
collating-symbol <s0d15-0d4d>
collating-element <e0d15-0d4d-200d> from "<U0D15><U0D4D><U200D>"
collating-symbol <s0d15-0d4d-200d>
% &ണ്<<ണ്\u200D<<<ൺ
collating-element <e0d23-0d4d> from "<U0D23><U0D4D>"
collating-symbol <s0d23-0d4d>
collating-element <e0d23-0d4d-200d> from "<U0D23><U0D4D><U200D>"
collating-symbol <s0d23-0d4d-200d>
% &ന്<sന്\u200D<<<ൻ
collating-element <e0d28-0d4d> from "<U0D28><U0D4D>"
collating-symbol <s0d28-0d4d>
collating-element <e0d28-0d4d-200d> from "<U0D28><U0D4D><U200D>"
collating-symbol <s0d28-0d4d-200d>
% &ര്<<ര്\u200D<<<ർ
collating-element <e0d30-0d4d> from "<U0D30><U0D4D>"
collating-symbol <s0d30-0d4d>
collating-element <e0d30-0d4d-200d> from "<U0D30><U0D4D><U200D>"
collating-symbol <s0d30-0d4d-200d>
% &ല്<<ല്\u200D<<<ൽ
collating-element <e0d32-0d4d> from "<U0D32><U0D4D>"
collating-symbol <s0d32-0d4d>
collating-element <e0d32-0d4d-200d> from "<U0D32><U0D4D><U200D>"
collating-symbol <s0d32-0d4d-200d>
% &ള്<<ള്\u200D<<<ൾ
collating-element <e0d33-0d4d> from "<U0D33><U0D4D>"
collating-symbol <s0d33-0d4d>
collating-element <e0d33-0d4d-200d> from "<U0D33><U0D4D><U200D>"
collating-symbol <s0d33-0d4d-200d>
% #
% # Anuswara primary equal to MA_dead.
% #
% &മ്<<ം
collating-element <e0d2e-0d4d> from "<U0D2e><U0D4D>"
collating-symbol <s0d2e-0d4d>
% #
% # /nta/ is sorted as <NA, Virama, RRA>.
% #
% &ന്<<<ൻ്
% already defined:
% collating-element <e0d28-0d4d> from "<U0D28><U0D4D>"
% already defined:
% collating-symbol <s0d28-0d4d>
collating-element <e0d7b-0d4d> from "<U0D7B><U0D4D>"
collating-symbol <s0d7b-0d4d>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Finished defining collating-elements and collating-symbols
%
% One dummy reorder-after statement here to avoid a syntax error
% because the first rule reordering stuff starts without a reorder-after:
collating-symbol <dummy>
reorder-after <AFTER-A>
<dummy>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% # Avagraha and Visarga are primary ignorables.
% &ഃ<<ഽ
<U0D03> IGNORE;<VISARGA>;<MIN>;<U0D03> % MALAYALAM SIGN VISARGA
<U0D3D> IGNORE;<VRNT1>;<MIN>;<U0D3D> % MALAYALAM SIGN AVAGRAHA
% # Vowel sign AU ( ൌ) and AU length mark ( ൗ) need to differ
% # only on secondary level, not primary.
% #
% &\u0D4C<<\u0D57
<U0D4C> <S0D4C>;<BASE>;<MIN>;<U0D4C> % MALAYALAM VOWEL SIGN AU
<U0D57> <S0D4C>;<VRNT1>;<MIN>;<U0D57> % MALAYALAM AU LENGTH MARK
% &ക്<<ക്\u200D<<<ൿ
<e0d15-0d4d> "<S0D15><S0D4D>";"<BASE><BASE>";"<MIN><MIN>";IGNORE
<e0d15-0d4d-200d> "<S0D15><S0D4D>";"<BASE><VRNT1>";"<MIN><MIN>";IGNORE
<U0D7F> "<S0D15><S0D4D>";"<BASE><VRNT1>";"<COMPAT><COMPAT>";<U0D7F>
% &ണ്<<ണ്\u200D<<<ൺ
<e0d23-0d4d> "<S0D23><S0D4D>";"<BASE><BASE>";"<MIN><MIN>";IGNORE
<e0d23-0d4d-200d> "<S0D23><S0D4D>";"<BASE><VRNT1>";"<MIN><MIN>";IGNORE
<U0D7A> "<S0D23><S0D4D>";"<BASE><VRNT1>";"<COMPAT><COMPAT>";<U0D7A>
% &ന്<<ന്\u200D<<<ൻ
<e0d28-0d4d> "<S0D28><S0D4D>";"<BASE><BASE>";"<MIN><MIN>";IGNORE % ന്
<e0d28-0d4d-200d> "<S0D28><S0D4D>";"<BASE><VRNT1>";"<MIN><MIN>";IGNORE % ന്
<U0D7B> "<S0D28><S0D4D>";"<BASE><VRNT1>";"<COMPATCAP><COMPATCAP>";<U0D7B> % ൻ
% &ര്<<ര്\u200D<<<ർ
<e0d30-0d4d> "<S0D30><S0D4D>";"<BASE><BASE>";"<MIN><MIN>";IGNORE
<e0d30-0d4d-200d> "<S0D30><S0D4D>";"<BASE><VRNT1>";"<MIN><MIN>";IGNORE
<U0D7C> "<S0D30><S0D4D>";"<BASE><VRNT1>";"<COMPAT><COMPAT>";<U0D7C> % ർ
% &ല്<<ല്\u200D<<<ൽ
<e0d32-0d4d> "<S0D32><S0D4D>";"<BASE><BASE>";"<MIN><MIN>";IGNORE
<e0d32-0d4d-200d> "<S0D32><S0D4D>";"<BASE><VRNT1>";"<MIN><MIN>";IGNORE
<U0D7D> "<S0D32><S0D4D>";"<BASE><VRNT1>";"<COMPAT><COMPAT>";<U0D7D>
% &ള്<<ള്\u200D<<<ൾ
<e0d33-0d4d> "<S0D33><S0D4D>";"<BASE><BASE>";"<MIN><MIN>";IGNORE
<e0d33-0d4d-200d> "<S0D33><S0D4D>";"<BASE><VRNT1>";"<MIN><MIN>";IGNORE
<U0D7E> "<S0D33><S0D4D>";"<BASE><VRNT1>";"<COMPAT><COMPAT>";<U0D7E>
% #
% # Anuswara primary equal to MA_dead.
% #
% &മ്<<ം
<e0d2e-0d4d> "<S0D2E><S0D4D>";"<BASE><BASE>";"<MIN><MIN>";IGNORE % മ്
<U0D02> "<S0D2E><S0D4D>";"<BASE><VRNT1>";"<MIN><MIN>";IGNORE % MALAYALAM SIGN ANUSVARA
% #
% # /nta/ is sorted as <NA, Virama, RRA>.
% #
% &ന്<<<ൻ്
%
% It looks to me that the above line
% is a contradiction to the earlier rule: &ന്<<ന്\u200D<<<ൻ
% I experimented with libicu to see how libicu sorts given these rules.
% And the end result seems to be the same as if the above two rules had been
% combined in a rule like this:
%
% &ന്<<ന്\u200D<<<ൻ്<<<ൻ
%
% So I write the glibc rules to reproduce that behaviour.
<e0d28-0d4d> "<S0D28><S0D4D>";"<BASE><BASE>";"<MIN><MIN>";<U0D28> % ന്
<e0d7b-0d4d> "<S0D28><S0D4D>";"<BASE><VRNT1>";"<COMPAT><COMPAT>";<U0D7B> % ൻ്
reorder-end
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 "<U0D1E><U0D3E>";"<U0D24><U0D3F>";/
"<U0D1A><U0D4A>";"<U0D2C><U0D41>";/
"<U0D35><U0D4D><U0D2F><U0D3E>";"<U0D35><U0D46>";/
"<U0D36>"
%
% Full weekday names (%A)
day "<U0D1E><U0D3E><U0D2F><U0D30><U0D4D><U200D>";/
"<U0D24><U0D3F><U0D19><U0D4D><U0D15><U0D33><U0D4D><U200D>";/
"<U0D1A><U0D4A><U0D35><U0D4D><U0D35>";/
"<U0D2C><U0D41><U0D27><U0D28><U0D4D><U200D>";/
"<U0D35><U0D4D><U0D2F><U0D3E><U0D34><U0D02>";/
"<U0D35><U0D46><U0D33><U0D4D><U0D33><U0D3F>";/
"<U0D36><U0D28><U0D3F>"
%
% Abbreviated month names (%b)
abmon "<U0D1C><U0D28><U0D41>";/
"<U0D2B><U0D46><U0D2C><U0D4D><U0D30><U0D41>";/
"<U0D2E><U0D3E><U0D7C>";/
"<U0D0F><U0D2A><U0D4D><U0D30><U0D3F>";/
"<U0D2E><U0D47><U0D2F><U0D4D>";/
"<U0D1C><U0D42><U0D7A>";/
"<U0D1C><U0D42><U0D32><U0D48>";/
"<U0D13><U0D17>";/
"<U0D38><U0D46><U0D2A><U0D4D><U0D31><U0D4D><U0D31><U0D02>";/
"<U0D12><U0D15><U0D4D><U0D1F><U0D4B>";/
"<U0D28><U0D35><U0D02>";/
"<U0D21><U0D3F><U0D38><U0D02>"
%
% FULL month names (%B)
mon "<U0D1C><U0D28><U0D41><U0D35><U0D30><U0D3F>";/
"<U0D2B><U0D46><U0D2C><U0D4D><U0D30><U0D41><U0D35><U0D30><U0D3F>";/
"<U0D2E><U0D3E><U0D7C><U0D1A><U0D4D><U0D1A><U0D4D>";/
"<U0D0F><U0D2A><U0D4D><U0D30><U0D3F><U0D7D>";/
"<U0D2E><U0D47><U0D2F><U0D4D>";/
"<U0D1C><U0D42><U0D7A>";/
"<U0D1C><U0D42><U0D32><U0D48>";/
"<U0D13><U0D17><U0D38><U0D4D><U0D31><U0D4D><U0D31><U0D4D>";/
"<U0D38><U0D46><U0D2A><U0D4D><U0D31><U0D4D><U0D31><U0D02><U0D2C><U0D7C>";/
"<U0D12><U0D15><U0D4D><U200C><U0D1F><U0D4B><U0D2C><U0D7C>";/
"<U0D28><U0D35><U0D02><U0D2C><U0D7C>";/
"<U0D21><U0D3F><U0D38><U0D02><U0D2C><U0D7C>"
%
%
% Equivalent of AM PM
am_pm "<U0D30><U0D3E><U0D35><U0D3F><U0D32><U0D46>";"<U0D35><U0D48><U0D15><U0D41>"
%
% Appropriate date and time representation
d_t_fmt "%A %d %B %Y %I:%M:%S %p %Z"
%
% Appropriate date representation
d_fmt "%-d//%-m//%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 "^[+1yY<U0D09>]"
noexpr "^[-0nN<U0D05>]"
yesstr "<U0D09><U0D35><U0D4D><U0D35><U0D4D>"
nostr "<U0D05><U0D32><U0D4D><U0D32>"
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"
name_gen "<U0D36><U0D4D><U0D30><U0D40>"
name_mr "<U0D36><U0D4D><U0D30><U0D40><U0D2E><U0D3E><U0D28><U0D41><U0D4D>"
name_mrs "<U0D36><U0D4D><U0D30><U0D40><U0D2E><U0D24><U0D3F>"
name_miss "<U0D15><U0D41><U0D2E><U0D3E><U0D30><U0D3F>"
name_ms "<U0D36><U0D4D><U0D30><U0D40><U0D2E><U0D24><U0D3F>"
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 "%z%c%T%s%b%e%r"
country_name "<U0D07><U0D28><U0D4D><U0D24><U0D4D><U0D2F>"
country_ab2 "IN"
country_ab3 "IND"
country_num 356
country_car "IND"
% മലയാളം
lang_name "<U0D2E><U0D32><U0D2F><U0D3E><U0D33><U0D02>"
lang_ab "ml"
lang_term "mal"
lang_lib "mal"
END LC_ADDRESS
%
LC_TELEPHONE
copy "hi_IN"
END LC_TELEPHONE
%
LC_MEASUREMENT
copy "hi_IN"
END LC_MEASUREMENT
|