COVERAGE SUMMARY
FILE SUMMARY
NameExecutedRoutines%ExecutedLines%Unexecuted
/home/matt/eu/rds/include/std/localeconv.e2366.67%244454.55%20
ROUTINE SUMMARY
RoutineExecutedLinesUnexecuted
canon2win()080.00%8
canonical()91560.00%6
decanonical()91560.00%6
LINE COVERAGE DETAIL
#Executed
1
-- (c) Copyright - See License.txt
2
--
3
namespace localconv
4
5
--****
6
-- === Constants
7
-- //Win32// locale names:
8
--
9
-- | af-ZA| sq-AL| gsw-FR| am-ET| ar-DZ| ar-BH| ar-EG| ar-IQ|
10
-- | ar-JO| ar-KW| ar-LB| ar-LY| ar-MA| ar-OM| ar-QA| ar-SA|
11
-- | ar-SY| ar-TN| ar-AE| ar-YE| hy-AM| as-IN| az-Cyrl-AZ| az-Latn-AZ|
12
-- | ba-RU| eu-ES| be-BY| bn-IN| bs-Cyrl-BA| bs-Latn-BA| br-FR| bg-BG|
13
-- | ca-ES| zh-HK| zh-MO| zh-CN| zh-SG| zh-TW| co-FR| hr-BA|
14
-- | hr-HR| cs-CZ| da-DK| prs-AF| dv-MV| nl-BE| nl-NL| en-AU|
15
-- | en-BZ| en-CA| en-029| en-IN| en-IE| en-JM| en-MY| en-NZ|
16
-- | en-PH| en-SG| en-ZA| en-TT| en-GB| en-US| en-ZW| et-EE|
17
-- | fo-FO| fil-PH| fi-FI| fr-BE| fr-CA| fr-FR| fr-LU| fr-MC|
18
-- | fr-CH| fy-NL| gl-ES| ka-GE| de-AT| de-DE| de-LI| de-LU|
19
-- | de-CH| el-GR| kl-GL| gu-IN| ha-Latn-NG| he-IL| hi-IN| hu-HU|
20
-- | is-IS| ig-NG| id-ID| iu-Latn-CA| iu-Cans-CA| ga-IE| it-IT| it-CH|
21
-- | ja-JP| kn-IN| kk-KZ| kh-KH| qut-GT| rw-RW| kok-IN| ko-KR|
22
-- | ky-KG| lo-LA| lv-LV| lt-LT| dsb-DE| lb-LU| mk-MK| ms-BN|
23
-- | ms-MY| ml-IN| mt-MT| mi-NZ| arn-CL| mr-IN| moh-CA| mn-Cyrl-MN|
24
-- | mn-Mong-CN| ne-IN| ne-NP| nb-NO| nn-NO| oc-FR| or-IN| ps-AF|
25
-- | fa-IR| pl-PL| pt-BR| pt-PT| pa-IN| quz-BO| quz-EC| quz-PE|
26
-- | ro-RO| rm-CH| ru-RU| smn-FI| smj-NO| smj-SE| se-FI| se-NO|
27
-- | se-SE| sms-FI| sma-NO| sma-SE| sa-IN| sr-Cyrl-BA| sr-Latn-BA| sr-Cyrl-CS|
28
-- | sr-Latn-CS| ns-ZA| tn-ZA| si-LK| sk-SK| sl-SI| es-AR| es-BO|
29
-- | es-CL| es-CO| es-CR| es-DO| es-EC| es-SV| es-GT| es-HN|
30
-- | es-MX| es-NI| es-PA| es-PY| es-PE| es-PR| es-ES| es-ES_tradnl|
31
-- | es-US| es-UY| es-VE| sw-KE| sv-FI| sv-SE| syr-SY| tg-Cyrl-TJ|
32
-- | tmz-Latn-DZ| ta-IN| tt-RU| te-IN| th-TH| bo-BT| bo-CN| tr-TR|
33
-- | tk-TM| ug-CN| uk-UA| wen-DE| tr-IN| ur-PK| uz-Cyrl-UZ| uz-Latn-UZ|
34
-- | vi-VN| cy-GB| wo-SN| xh-ZA| sah-RU| ii-CN| yo-NG| zu-ZA|
35
361
public constant w32_names = {
37
"af-ZA",
38
"sq-AL",
39
"gsw-FR",
40
"am-ET",
41
"ar-DZ",
42
"ar-BH",
43
"ar-EG",
44
"ar-IQ",
45
"ar-JO",
46
"ar-KW",
47
"ar-LB",
48
"ar-LY",
49
"ar-MA",
50
"ar-OM",
51
"ar-QA",
52
"ar-SA",
53
"ar-SY",
54
"ar-TN",
55
"ar-AE",
56
"ar-YE",
57
"hy-AM",
58
"as-IN",
59
"az-Cyrl-AZ",
60
"az-Latn-AZ",
61
"ba-RU",
62
"eu-ES",
63
"be-BY",
64
"bn-IN",
65
"bs-Cyrl-BA",
66
"bs-Latn-BA",
67
"br-FR",
68
"bg-BG",
69
"ca-ES",
70
"zh-HK",
71
"zh-MO",
72
"zh-CN",
73
"zh-SG",
74
"zh-TW",
75
"co-FR",
76
"hr-BA",
77
"hr-HR",
78
"cs-CZ",
79
"da-DK",
80
"prs-AF",
81
"dv-MV",
82
"nl-BE",
83
"nl-NL",
84
"en-AU",
85
"en-BZ",
86
"en-CA",
87
"en-029",
88
"en-IN",
89
"en-IE",
90
"en-JM",
91
"en-MY",
92
"en-NZ",
93
"en-PH",
94
"en-SG",
95
"en-ZA",
96
"en-TT",
97
"en-GB",
98
"en-US",
99
"en-ZW",
100
"et-EE",
101
"fo-FO",
102
"fil-PH",
103
"fi-FI",
104
"fr-BE",
105
"fr-CA",
106
"fr-FR",
107
"fr-LU",
108
"fr-MC",
109
"fr-CH",
110
"fy-NL",
111
"gl-ES",
112
"ka-GE",
113
"de-AT",
114
"de-DE",
115
"de-LI",
116
"de-LU",
117
"de-CH",
118
"el-GR",
119
"kl-GL",
120
"gu-IN",
121
"ha-Latn-NG",
122
"he-IL",
123
"hi-IN",
124
"hu-HU",
125
"is-IS",
126
"ig-NG",
127
"id-ID",
128
"iu-Latn-CA",
129
"iu-Cans-CA",
130
"ga-IE",
131
"it-IT",
132
"it-CH",
133
"ja-JP",
134
"kn-IN",
135
"kk-KZ",
136
"kh-KH",
137
"qut-GT",
138
"rw-RW",
139
"kok-IN",
140
"ko-KR",
141
"ky-KG",
142
"lo-LA",
143
"lv-LV",
144
"lt-LT",
145
"dsb-DE",
146
"lb-LU",
147
"mk-MK",
148
"ms-BN",
149
"ms-MY",
150
"ml-IN",
151
"mt-MT",
152
"mi-NZ",
153
"arn-CL",
154
"mr-IN",
155
"moh-CA",
156
"mn-Cyrl-MN",
157
"mn-Mong-CN",
158
"ne-IN",
159
"ne-NP",
160
"nb-NO",
161
"nn-NO",
162
"oc-FR",
163
"or-IN",
164
"ps-AF",
165
"fa-IR",
166
"pl-PL",
167
"pt-BR",
168
"pt-PT",
169
"pa-IN",
170
"quz-BO",
171
"quz-EC",
172
"quz-PE",
173
"ro-RO",
174
"rm-CH",
175
"ru-RU",
176
"smn-FI",
177
"smj-NO",
178
"smj-SE",
179
"se-FI",
180
"se-NO",
181
"se-SE",
182
"sms-FI",
183
"sma-NO",
184
"sma-SE",
185
"sa-IN",
186
"sr-Cyrl-BA",
187
"sr-Latn-BA",
188
"sr-Cyrl-CS",
189
"sr-Latn-CS",
190
"ns-ZA",
191
"tn-ZA",
192
"si-LK",
193
"sk-SK",
194
"sl-SI",
195
"es-AR",
196
"es-BO",
197
"es-CL",
198
"es-CO",
199
"es-CR",
200
"es-DO",
201
"es-EC",
202
"es-SV",
203
"es-GT",
204
"es-HN",
205
"es-MX",
206
"es-NI",
207
"es-PA",
208
"es-PY",
209
"es-PE",
210
"es-PR",
211
"es-ES",
212
"es-ES_tradnl",
213
"es-US",
214
"es-UY",
215
"es-VE",
216
"sw-KE",
217
"sv-FI",
218
"sv-SE",
219
"syr-SY",
220
"tg-Cyrl-TJ",
221
"tmz-Latn-DZ",
222
"ta-IN",
223
"tt-RU",
224
"te-IN",
225
"th-TH",
226
"bo-BT",
227
"bo-CN",
228
"tr-TR",
229
"tk-TM",
230
"ug-CN",
231
"uk-UA",
232
"wen-DE",
233
"tr-IN",
234
"ur-PK",
235
"uz-Cyrl-UZ",
236
"uz-Latn-UZ",
237
"vi-VN",
238
"cy-GB",
239
"wo-SN",
240
"xh-ZA",
241
"sah-RU",
242
"ii-CN",
243
"yo-NG",
244
"zu-ZA"
245
}
246
247
--**
248
-- Canonical locale names for //WIN32//:
249
--
250
-- | Afrikaans_South Africa| Afrikaans_South Africa| Afrikaans_South Africa|
251
-- | Afrikaans_South Africa| Afrikaans_South Africa| Afrikaans_South Africa|
252
-- | Afrikaans_South Africa| Afrikaans_South Africa| Afrikaans_South Africa|
253
-- | Afrikaans_South Africa| Afrikaans_South Africa| Afrikaans_South Africa|
254
-- | Afrikaans_South Africa| Afrikaans_South Africa| Afrikaans_South Africa|
255
-- | Afrikaans_South Africa| Afrikaans_South Africa| Afrikaans_South Africa|
256
-- | Afrikaans_South Africa| Afrikaans_South Africa| Afrikaans_South Africa|
257
-- | Afrikaans_South Africa| Afrikaans_South Africa| Afrikaans_South Africa|
258
-- | Basque_Spain| Basque_Spain| Belarusian_Belarus|
259
-- | Belarusian_Belarus| Belarusian_Belarus| Belarusian_Belarus|
260
-- | Belarusian_Belarus| Belarusian_Belarus| Catalan_Spain|
261
-- | Catalan_Spain| Catalan_Spain| Catalan_Spain|
262
-- | Catalan_Spain| Catalan_Spain| Catalan_Spain|
263
-- | Catalan_Spain| Catalan_Spain| Catalan_Spain|
264
-- | Danish_Denmark| Danish_Denmark| Danish_Denmark|
265
-- | Danish_Denmark| Danish_Denmark| English_Australia|
266
-- | English_United States| English_United States| English_United States|
267
-- | English_United States| English_United States| English_United States|
268
-- | English_United States| English_United States| English_United States|
269
-- | English_United States| English_United States| English_United States|
270
-- | English_United States| English_United States| English_United States|
271
-- | English_United States| English_United States| English_United States|
272
-- | Finnish_Finland| French_France| French_France|
273
-- | French_France| French_France| French_France|
274
-- | French_France| French_France| French_France|
275
-- | French_France| French_France| French_France|
276
-- | French_France| French_France| French_France|
277
-- | French_France| French_France| French_France|
278
-- | French_France| French_France| French_France|
279
-- | Hungarian_Hungary| Hungarian_Hungary| Hungarian_Hungary|
280
-- | Hungarian_Hungary| Hungarian_Hungary| Hungarian_Hungary|
281
-- | Hungarian_Hungary| Italian_Italy| Italian_Italy|
282
-- | Italian_Italy| Italian_Italy| Italian_Italy|
283
-- | Italian_Italy| Italian_Italy| Italian_Italy|
284
-- | Italian_Italy| Italian_Italy| Italian_Italy|
285
-- | Italian_Italy| Italian_Italy| Italian_Italy|
286
-- | Italian_Italy| Italian_Italy| Italian_Italy|
287
-- | Italian_Italy| Italian_Italy| Italian_Italy|
288
-- | Italian_Italy| Italian_Italy| Italian_Italy|
289
-- | Italian_Italy| Italian_Italy| Italian_Italy|
290
-- | Italian_Italy| Italian_Italy| Italian_Italy|
291
-- | Italian_Italy| Italian_Italy| Italian_Italy|
292
-- | Italian_Italy| Italian_Italy| Italian_Italy|
293
-- | Italian_Italy| Italian_Italy| Italian_Italy|
294
-- | Italian_Italy| Italian_Italy| Italian_Italy|
295
-- | Italian_Italy| Romanian_Romania| Romanian_Romania|
296
-- | Russian_Russia| Russian_Russia| Russian_Russia|
297
-- | Russian_Russia| Serbian (Cyrillic)_Serbia| Serbian (Cyrillic)_Serbia|
298
-- | Serbian (Cyrillic)_Serbia| Serbian (Cyrillic)_Serbia| Serbian (Cyrillic)_Serbia|
299
-- | Serbian (Cyrillic)_Serbia| Serbian (Cyrillic)_Serbia| Serbian (Cyrillic)_Serbia|
300
-- | Serbian (Cyrillic)_Serbia| Serbian (Cyrillic)_Serbia| Serbian (Cyrillic)_Serbia|
301
-- | Serbian (Cyrillic)_Serbia| Serbian (Cyrillic)_Serbia| Serbian (Cyrillic)_Serbia|
302
-- | Serbian (Cyrillic)_Serbia| Slovak_Slovakia| Estonian_Estonia|
303
-- | Estonian_Estonia| Estonian_Estonia| Estonian_Estonia|
304
-- | Estonian_Estonia| Estonian_Estonia| Estonian_Estonia|
305
-- | Estonian_Estonia| Estonian_Estonia| Estonian_Estonia|
306
-- | Estonian_Estonia| Estonian_Estonia| Estonian_Estonia|
307
-- | Estonian_Estonia| Estonian_Estonia| Estonian_Estonia|
308
-- | Estonian_Estonia| Estonian_Estonia| Estonian_Estonia|
309
-- | Estonian_Estonia| Estonian_Estonia| Swedish_Sweden|
310
-- | Swedish_Sweden| Swedish_Sweden| Swedish_Sweden|
311
-- | Swedish_Sweden| Swedish_Sweden| Swedish_Sweden|
312
-- | Swedish_Sweden| Swedish_Sweden| Swedish_Sweden|
313
-- | Swedish_Sweden| Swedish_Sweden| Swedish_Sweden|
314
-- | Swedish_Sweden| Swedish_Sweden| Ukrainian_Ukraine|
315
-- | Ukrainian_Ukraine| Ukrainian_Ukraine| Ukrainian_Ukraine|
316
-- | Ukrainian_Ukraine| Ukrainian_Ukraine| Ukrainian_Ukraine|
317
-- | Ukrainian_Ukraine| Ukrainian_Ukraine| Ukrainian_Ukraine|
318
-- | Ukrainian_Ukraine| Ukrainian_Ukraine| Ukrainian_Ukraine|
319
-- | Ukrainian_Ukraine| | |
320
3211
public constant w32_name_canonical = {
322
"Afrikaans_South Africa",
323
"Afrikaans_South Africa",
324
"Afrikaans_South Africa",
325
"Afrikaans_South Africa",
326
"Afrikaans_South Africa",
327
"Afrikaans_South Africa",
328
"Afrikaans_South Africa",
329
"Afrikaans_South Africa",
330
"Afrikaans_South Africa",
331
"Afrikaans_South Africa",
332
"Afrikaans_South Africa",
333
"Afrikaans_South Africa",
334
"Afrikaans_South Africa",
335
"Afrikaans_South Africa",
336
"Afrikaans_South Africa",
337
"Afrikaans_South Africa",
338
"Afrikaans_South Africa",
339
"Afrikaans_South Africa",
340
"Afrikaans_South Africa",
341
"Afrikaans_South Africa",
342
"Afrikaans_South Africa",
343
"Afrikaans_South Africa",
344
"Afrikaans_South Africa",
345
"Afrikaans_South Africa",
346
"Basque_Spain",
347
"Basque_Spain",
348
"Belarusian_Belarus",
349
"Belarusian_Belarus",
350
"Belarusian_Belarus",
351
"Belarusian_Belarus",
352
"Belarusian_Belarus",
353
"Belarusian_Belarus",
354
"Catalan_Spain",
355
"Catalan_Spain",
356
"Catalan_Spain",
357
"Catalan_Spain",
358
"Catalan_Spain",
359
"Catalan_Spain",
360
"Catalan_Spain",
361
"Catalan_Spain",
362
"Catalan_Spain",
363
"Catalan_Spain",
364
"Danish_Denmark",
365
"Danish_Denmark",
366
"Danish_Denmark",
367
"Danish_Denmark",
368
"Danish_Denmark",
369
"English_Australia",
370
"English_United States",
371
"English_United States",
372
"English_United States",
373
"English_United States",
374
"English_United States",
375
"English_United States",
376
"English_United States",
377
"English_United States",
378
"English_United States",
379
"English_United States",
380
"English_United States",
381
"English_United States",
382
"English_United States",
383
"English_United States",
384
"English_United States",
385
"Estonian_Estonia",
386
"English_United States",
387
"English_United States",
388
"Finnish_Finland",
389
"French_France",
390
"French_France",
391
"French_France",
392
"French_France",
393
"French_France",
394
"French_France",
395
"French_France",
396
"French_France",
397
"French_France",
398
"French_France",
399
"French_France",
400
"French_France",
401
"French_France",
402
"French_France",
403
"French_France",
404
"French_France",
405
"French_France",
406
"French_France",
407
"French_France",
408
"French_France",
409
"Hungarian_Hungary",
410
"Hungarian_Hungary",
411
"Hungarian_Hungary",
412
"Hungarian_Hungary",
413
"Hungarian_Hungary",
414
"Hungarian_Hungary",
415
"Hungarian_Hungary",
416
"Italian_Italy",
417
"Italian_Italy",
418
"Italian_Italy",
419
"Italian_Italy",
420
"Italian_Italy",
421
"Italian_Italy",
422
"Italian_Italy",
423
"Italian_Italy",
424
"Italian_Italy",
425
"Italian_Italy",
426
"Italian_Italy",
427
"Italian_Italy",
428
"Italian_Italy",
429
"Italian_Italy",
430
"Italian_Italy",
431
"Italian_Italy",
432
"Italian_Italy",
433
"Italian_Italy",
434
"Italian_Italy",
435
"Italian_Italy",
436
"Italian_Italy",
437
"Italian_Italy",
438
"Italian_Italy",
439
"Italian_Italy",
440
"Italian_Italy",
441
"Italian_Italy",
442
"Italian_Italy",
443
"Italian_Italy",
444
"Italian_Italy",
445
"Italian_Italy",
446
"Italian_Italy",
447
"Italian_Italy",
448
"Italian_Italy",
449
"Italian_Italy",
450
"Italian_Italy",
451
"Italian_Italy",
452
"Italian_Italy",
453
"Italian_Italy",
454
"Italian_Italy",
455
"Italian_Italy",
456
"Italian_Italy",
457
"Italian_Italy",
458
"Romanian_Romania",
459
"Romanian_Romania",
460
"Russian_Russia",
461
"Russian_Russia",
462
"Russian_Russia",
463
"Russian_Russia",
464
"Serbian (Cyrillic)_Serbia",
465
"Serbian (Cyrillic)_Serbia",
466
"Serbian (Cyrillic)_Serbia",
467
"Serbian (Cyrillic)_Serbia",
468
"Serbian (Cyrillic)_Serbia",
469
"Serbian (Cyrillic)_Serbia",
470
"Serbian (Cyrillic)_Serbia",
471
"Serbian (Cyrillic)_Serbia",
472
"Serbian (Cyrillic)_Serbia",
473
"Serbian (Cyrillic)_Serbia",
474
"Serbian (Cyrillic)_Serbia",
475
"Serbian (Cyrillic)_Serbia",
476
"Serbian (Cyrillic)_Serbia",
477
"Serbian (Cyrillic)_Serbia",
478
"Serbian (Cyrillic)_Serbia",
479
"Slovak_Slovakia",
480
"Estonian_Estonia",
481
"Estonian_Estonia",
482
"Estonian_Estonia",
483
"Estonian_Estonia",
484
"Estonian_Estonia",
485
"Estonian_Estonia",
486
"Estonian_Estonia",
487
"Estonian_Estonia",
488
"Estonian_Estonia",
489
"Estonian_Estonia",
490
"Estonian_Estonia",
491
"Estonian_Estonia",
492
"Estonian_Estonia",
493
"Estonian_Estonia",
494
"Estonian_Estonia",
495
"Estonian_Estonia",
496
"Spanish_Spain",
497
"Estonian_Estonia",
498
"Estonian_Estonia",
499
"Estonian_Estonia",
500
"Estonian_Estonia",
501
"Swedish_Sweden",
502
"Swedish_Sweden",
503
"Swedish_Sweden",
504
"Swedish_Sweden",
505
"Swedish_Sweden",
506
"Swedish_Sweden",
507
"Swedish_Sweden",
508
"Swedish_Sweden",
509
"Swedish_Sweden",
510
"Swedish_Sweden",
511
"Swedish_Sweden",
512
"Swedish_Sweden",
513
"Swedish_Sweden",
514
"Swedish_Sweden",
515
"Swedish_Sweden",
516
"Ukrainian_Ukraine",
517
"Ukrainian_Ukraine",
518
"Ukrainian_Ukraine",
519
"Ukrainian_Ukraine",
520
"Ukrainian_Ukraine",
521
"Ukrainian_Ukraine",
522
"Ukrainian_Ukraine",
523
"Ukrainian_Ukraine",
524
"Ukrainian_Ukraine",
525
"Ukrainian_Ukraine",
526
"Ukrainian_Ukraine",
527
"Ukrainian_Ukraine",
528
"Ukrainian_Ukraine",
529
"Ukrainian_Ukraine"
530
}
531
532
--**
533
-- POSIX locale names:
534
--
535
-- | af_ZA| sq_AL| gsw_FR| am_ET| ar_DZ | ar_BH | ar_EG | ar_IQ|
536
-- | ar_JO| ar_KW| ar_LB| ar_LY| ar_MA| ar_OM| ar_QA| ar_SA|
537
-- | ar_SY| ar_TN| ar_AE| ar_YE| hy_AM| as_IN| az_Cyrl_AZ| az_Latn_AZ|
538
-- | ba_RU| eu_ES| be_BY| bn_IN| bs_Cyrl_BA| bs_Latn_BA| br_FR| bg_BG|
539
-- | ca_ES| zh_HK| zh_MO| zh_CN| zh_SG| zh_TW| co_FR| hr_BA|
540
-- | hr_HR| cs_CZ| da_DK| prs_AF| dv_MV| nl_BE| nl_NL| en_AU|
541
-- | en_BZ| en_CA| en_029| en_IN| en_IE| en_JM| en_MY| en_NZ|
542
-- | en_PH| en_SG| en_ZA| en_TT| en_GB| en_US| en_ZW| et_EE|
543
-- | fo_FO| fil_PH| fi_FI| fr_BE| fr_CA| fr_FR| fr_LU| fr_MC|
544
-- | fr_CH| fy_NL| gl_ES| ka_GE| de_AT| de_DE| de_LI| de_LU|
545
-- | de_CH| el_GR| kl_GL| gu_IN| ha_Latn_NG| he_IL| hi_IN| hu_HU|
546
-- | is_IS| ig_NG| id_ID| iu_Latn_CA| iu_Cans_CA| ga_IE| it_IT| it_CH|
547
-- | ja_JP| kn_IN| kk_KZ| kh_KH| qut_GT| rw_RW| kok_IN| ko_KR|
548
-- | ky_KG| lo_LA| lv_LV| lt_LT| dsb_DE| lb_LU| mk_MK| ms_BN|
549
-- | ms_MY| ml_IN| mt_MT| mi_NZ| arn_CL| mr_IN| moh_CA| mn_Cyrl_MN|
550
-- | mn_Mong_CN| ne_IN| ne_NP| nb_NO| nn_NO| oc_FR| or_IN| ps_AF|
551
-- | fa_IR| pl_PL| pt_BR| pt_PT| pa_IN| quz_BO| quz_EC| quz_PE|
552
-- | ro_RO| rm_CH| ru_RU| smn_FI| smj_NO| smj_SE| se_FI| se_NO|
553
-- | se_SE| sms_FI| sma_NO| sma_SE| sa_IN| sr_Cyrl_BA| sr_Latn_BA| sr_Cyrl_CS|
554
-- | sr_Latn_CS| ns_ZA| tn_ZA| si_LK| sk_SK| sl_SI| es_AR| es_BO|
555
-- | es_CL| es_CO| es_CR| es_DO| es_EC| es_SV| es_GT| es_HN|
556
-- | es_MX| es_NI| es_PA| es_PY| es_PE| es_PR| es_ES| es_ES_tradnl|
557
-- | es_US| es_UY| es_VE| sw_KE| sv_FI| sv_SE| syr_SY| tg_Cyrl_TJ|
558
-- | tmz_Latn_DZ| ta_IN| tt_RU| te_IN| th_TH| bo_BT| bo_CN| tr_TR|
559
-- | tk_TM| ug_CN| uk_UA| wen_DE| tr_IN| ur_PK| uz_Cyrl_UZ| uz_Latn_UZ|
560
-- | vi_VN| cy_GB| wo_SN| xh_ZA| sah_RU| ii_CN| yo_NG | zu_ZA|
561
5621
public constant posix_names = {
563
"af_ZA",
564
"sq_AL",
565
"gsw_FR",
566
"am_ET",
567
"ar_DZ",
568
"ar_BH",
569
"ar_EG",
570
"ar_IQ",
571
"ar_JO",
572
"ar_KW",
573
"ar_LB",
574
"ar_LY",
575
"ar_MA",
576
"ar_OM",
577
"ar_QA",
578
"ar_SA",
579
"ar_SY",
580
"ar_TN",
581
"ar_AE",
582
"ar_YE",
583
"hy_AM",
584
"as_IN",
585
"az_Cyrl_AZ",
586
"az_Latn_AZ",
587
"ba_RU",
588
"eu_ES",
589
"be_BY",
590
"bn_IN",
591
"bs_Cyrl_BA",
592
"bs_Latn_BA",
593
"br_FR",
594
"bg_BG",
595
"ca_ES",
596
"zh_HK",
597
"zh_MO",
598
"zh_CN",
599
"zh_SG",
600
"zh_TW",
601
"co_FR",
602
"hr_BA",
603
"hr_HR",
604
"cs_CZ",
605
"da_DK",
606
"prs_AF",
607
"dv_MV",
608
"nl_BE",
609
"nl_NL",
610
"en_AU",
611
"en_BZ",
612
"en_CA",
613
"en_029",
614
"en_IN",
615
"en_IE",
616
"en_JM",
617
"en_MY",
618
"en_NZ",
619
"en_PH",
620
"en_SG",
621
"en_ZA",
622
"en_TT",
623
"en_GB",
624
"en_US",
625
"en_ZW",
626
"et_EE",
627
"fo_FO",
628
"fil_PH",
629
"fi_FI",
630
"fr_BE",
631
"fr_CA",
632
"fr_FR",
633
"fr_LU",
634
"fr_MC",
635
"fr_CH",
636
"fy_NL",
637
"gl_ES",
638
"ka_GE",
639
"de_AT",
640
"de_DE",
641
"de_LI",
642
"de_LU",
643
"de_CH",
644
"el_GR",
645
"kl_GL",
646
"gu_IN",
647
"ha_Latn_NG",
648
"he_IL",
649
"hi_IN",
650
"hu_HU",
651
"is_IS",
652
"ig_NG",
653
"id_ID",
654
"iu_Latn_CA",
655
"iu_Cans_CA",
656
"ga_IE",
657
"it_IT",
658
"it_CH",
659
"ja_JP",
660
"kn_IN",
661
"kk_KZ",
662
"kh_KH",
663
"qut_GT",
664
"rw_RW",
665
"kok_IN",
666
"ko_KR",
667
"ky_KG",
668
"lo_LA",
669
"lv_LV",
670
"lt_LT",
671
"dsb_DE",
672
"lb_LU",
673
"mk_MK",
674
"ms_BN",
675
"ms_MY",
676
"ml_IN",
677
"mt_MT",
678
"mi_NZ",
679
"arn_CL",
680
"mr_IN",
681
"moh_CA",
682
"mn_Cyrl_MN",
683
"mn_Mong_CN",
684
"ne_IN",
685
"ne_NP",
686
"nb_NO",
687
"nn_NO",
688
"oc_FR",
689
"or_IN",
690
"ps_AF",
691
"fa_IR",
692
"pl_PL",
693
"pt_BR",
694
"pt_PT",
695
"pa_IN",
696
"quz_BO",
697
"quz_EC",
698
"quz_PE",
699
"ro_RO",
700
"rm_CH",
701
"ru_RU",
702
"smn_FI",
703
"smj_NO",
704
"smj_SE",
705
"se_FI",
706
"se_NO",
707
"se_SE",
708
"sms_FI",
709
"sma_NO",
710
"sma_SE",
711
"sa_IN",
712
"sr_Cyrl_BA",
713
"sr_Latn_BA",
714
"sr_Cyrl_CS",
715
"sr_Latn_CS",
716
"ns_ZA",
717
"tn_ZA",
718
"si_LK",
719
"sk_SK",
720
"sl_SI",
721
"es_AR",
722
"es_BO",
723
"es_CL",
724
"es_CO",
725
"es_CR",
726
"es_DO",
727
"es_EC",
728
"es_SV",
729
"es_GT",
730
"es_HN",
731
"es_MX",
732
"es_NI",
733
"es_PA",
734
"es_PY",
735
"es_PE",
736
"es_PR",
737
"es_ES",
738
"es_ES_tradnl",
739
"es_US",
740
"es_UY",
741
"es_VE",
742
"sw_KE",
743
"sv_FI",
744
"sv_SE",
745
"syr_SY",
746
"tg_Cyrl_TJ",
747
"tmz_Latn_DZ",
748
"ta_IN",
749
"tt_RU",
750
"te_IN",
751
"th_TH",
752
"bo_BT",
753
"bo_CN",
754
"tr_TR",
755
"tk_TM",
756
"ug_CN",
757
"uk_UA",
758
"wen_DE",
759
"tr_IN",
760
"ur_PK",
761
"uz_Cyrl_UZ",
762
"uz_Latn_UZ",
763
"vi_VN",
764
"cy_GB",
765
"wo_SN",
766
"xh_ZA",
767
"sah_RU",
768
"ii_CN",
769
"yo_NG",
770
"zu_ZA"
771
}
772
7731
public constant locale_canonical = posix_names
774
7751
ifdef UNIX then
7761
public constant platform_locale = posix_names
777
elsedef
778
public constant platform_locale = w32_name_canonical
779
end ifdef
780
781
--****
782
-- === Locale Name Translation
783
--
784
785
--**
786
-- Get canonical name for a locale.
787
--
788
-- Parameters:
789
-- # ##new_locale## : a sequence, the string for the locale.
790
-- Returns:
791
-- A **sequence**, either the translated locale on success or ##new_locale## on failure.
792
--
793
-- See Also:
794
-- [[:get]], [[:set]], [[:decanonical]]
795
7963
797
integer w, ws, p, n
7983
ifdef WIN32 then
799
if find('.', new_locale) then
800
new_locale = new_locale[1..find('.', new_locale)-1]
801
end if
802
end ifdef
8033
p = find(new_locale, posix_names)
8043
w = find(new_locale, w32_names)
8053
ws = find(new_locale, w32_name_canonical)
8063
if p != 0 then
8070
n = p
8083
elsif w != 0 then
8090
n = w
8103
elsif ws != 0 then
8110
n = ws
812
else
813
--unknown, can not be canonical
8143
return new_locale
815
end if
8160
new_locale = locale_canonical[n]
8170
ifdef WIN32 then
818
if find('.', new_locale) then
819
new_locale = new_locale[1..find('.', new_locale)-1]
820
end if
821
end ifdef
8220
return new_locale
823
end function
824
825
--**
826
-- Get the translation of a locale string for current platform.
827
--
828
-- Parameters:
829
-- # ##new_locale##: a sequence, the string for the locale.
830
--
831
-- Returns:
832
-- A **sequence**, either the translated locale on success or ##new_locale## on failure.
833
--
834
-- See Also:
835
-- [[:get]], [[:set]], [[:canonical]]
836
8377
838
integer w, ws, p, n
8397
ifdef WIN32 then
840
if find('.', new_locale) then
841
new_locale = new_locale[1..find('.', new_locale)-1]
842
end if
843
end ifdef
8447
p = find(new_locale, posix_names)
8457
w = find(new_locale, w32_names)
8467
ws = find(new_locale, w32_name_canonical)
8477
if p != 0 then
8480
n = p
8497
elsif w != 0 then
8500
n = w
8517
elsif ws != 0 then
8520
n = ws
853
else
854
--unknown, can not be canonical
8557
return new_locale
856
end if
8570
new_locale = platform_locale[n]
8580
ifdef WIN32 then
859
if find('.', new_locale) then
860
new_locale = new_locale[1..find('.', new_locale)-1]
861
end if
862
end ifdef
8630
return new_locale
864
end function
865
866
--**
867
-- TODO: document
868
8690
870
integer w
8710
ifdef WIN32 then
872
if find('.', new_locale) then
873
new_locale = new_locale[1..find('.', new_locale)-1]
874
end if
875
end ifdef
8760
w = find(new_locale, posix_names)
8770
if w = 0 then
878
-- unknown
8790
return "C"
880
end if
8810
new_locale = w32_names[w]
8820
ifdef WIN32 then
883
if find('.', new_locale) then
884
new_locale = new_locale[1..find('.', new_locale)-1]
885
end if
886
end ifdef
8870
return new_locale
888
end function