Name | Executed | Routines | % | Executed | Lines | % | Unexecuted |
/home/matt/eu/rds/include/std/localeconv.e | 2 | 3 | 66.67% | 24 | 44 | 54.55% | 20 |
Routine | Executed | Lines | Unexecuted | |
canon2win() | 0 | 8 | 0.00% | 8 |
canonical() | 9 | 15 | 60.00% | 6 |
decanonical() | 9 | 15 | 60.00% | 6 |
# | 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 | ||
36 | 1 | 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 | ||
321 | 1 | 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 | ||
562 | 1 | 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 | ||
773 | 1 | public constant locale_canonical = posix_names |
774 | ||
775 | 1 | ifdef UNIX then |
776 | 1 | 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 | ||
796 | 3 | |
797 | integer w, ws, p, n | |
798 | 3 | 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 | |
803 | 3 | p = find(new_locale, posix_names) |
804 | 3 | w = find(new_locale, w32_names) |
805 | 3 | ws = find(new_locale, w32_name_canonical) |
806 | 3 | if p != 0 then |
807 | 0 | n = p |
808 | 3 | elsif w != 0 then |
809 | 0 | n = w |
810 | 3 | elsif ws != 0 then |
811 | 0 | n = ws |
812 | else | |
813 | --unknown, can not be canonical | |
814 | 3 | return new_locale |
815 | end if | |
816 | 0 | new_locale = locale_canonical[n] |
817 | 0 | 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 | |
822 | 0 | 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 | ||
837 | 7 | |
838 | integer w, ws, p, n | |
839 | 7 | 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 | |
844 | 7 | p = find(new_locale, posix_names) |
845 | 7 | w = find(new_locale, w32_names) |
846 | 7 | ws = find(new_locale, w32_name_canonical) |
847 | 7 | if p != 0 then |
848 | 0 | n = p |
849 | 7 | elsif w != 0 then |
850 | 0 | n = w |
851 | 7 | elsif ws != 0 then |
852 | 0 | n = ws |
853 | else | |
854 | --unknown, can not be canonical | |
855 | 7 | return new_locale |
856 | end if | |
857 | 0 | new_locale = platform_locale[n] |
858 | 0 | 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 | |
863 | 0 | return new_locale |
864 | end function | |
865 | ||
866 | --** | |
867 | -- TODO: document | |
868 | ||
869 | 0 | |
870 | integer w | |
871 | 0 | 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 | |
876 | 0 | w = find(new_locale, posix_names) |
877 | 0 | if w = 0 then |
878 | -- unknown | |
879 | 0 | return "C" |
880 | end if | |
881 | 0 | new_locale = w32_names[w] |
882 | 0 | 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 | |
887 | 0 | return new_locale |
888 | end function |