Release 970329
[wine/multimedia.git] / misc / ole2nls.c
blob66e2f36b37ecbd60be5ea44f582f5aa3fa5c90c6
1 /*
2 * OLE2NLS library
4 * Copyright 1995 Martin von Loewis
5 */
7 #include <string.h>
8 #include <ctype.h>
9 #include <malloc.h>
10 #include "windows.h"
11 #include "heap.h"
12 #include "ole.h"
13 #include "options.h"
14 #include "winnls.h"
15 #include "stddebug.h"
16 #include "debug.h"
18 /* Locale name to id map. used by EnumSystemLocales, GetLocalInfoA
19 * MUST contain all #defines from winnls.h
20 * last entry has NULL name, 0 id.
21 */
22 #define LOCALE_ENTRY(x) {#x,LOCALE_##x}
23 static struct tagLOCALE_NAME2ID {
24 char *name;
25 DWORD id;
26 } locale_name2id[]= {
27 LOCALE_ENTRY(ILANGUAGE),
28 LOCALE_ENTRY(SLANGUAGE),
29 LOCALE_ENTRY(SENGLANGUAGE),
30 LOCALE_ENTRY(SABBREVLANGNAME),
31 LOCALE_ENTRY(SNATIVELANGNAME),
32 LOCALE_ENTRY(ICOUNTRY),
33 LOCALE_ENTRY(SCOUNTRY),
34 LOCALE_ENTRY(SENGCOUNTRY),
35 LOCALE_ENTRY(SABBREVCTRYNAME),
36 LOCALE_ENTRY(SNATIVECTRYNAME),
37 LOCALE_ENTRY(IDEFAULTLANGUAGE),
38 LOCALE_ENTRY(IDEFAULTCOUNTRY),
39 LOCALE_ENTRY(IDEFAULTCODEPAGE),
40 LOCALE_ENTRY(IDEFAULTANSICODEPAGE),
41 LOCALE_ENTRY(SLIST),
42 LOCALE_ENTRY(IMEASURE),
43 LOCALE_ENTRY(SDECIMAL),
44 LOCALE_ENTRY(STHOUSAND),
45 LOCALE_ENTRY(SGROUPING),
46 LOCALE_ENTRY(IDIGITS),
47 LOCALE_ENTRY(ILZERO),
48 LOCALE_ENTRY(INEGNUMBER),
49 LOCALE_ENTRY(SNATIVEDIGITS),
50 LOCALE_ENTRY(SCURRENCY),
51 LOCALE_ENTRY(SINTLSYMBOL),
52 LOCALE_ENTRY(SMONDECIMALSEP),
53 LOCALE_ENTRY(SMONTHOUSANDSEP),
54 LOCALE_ENTRY(SMONGROUPING),
55 LOCALE_ENTRY(ICURRDIGITS),
56 LOCALE_ENTRY(IINTLCURRDIGITS),
57 LOCALE_ENTRY(ICURRENCY),
58 LOCALE_ENTRY(INEGCURR),
59 LOCALE_ENTRY(SDATE),
60 LOCALE_ENTRY(STIME),
61 LOCALE_ENTRY(SSHORTDATE),
62 LOCALE_ENTRY(SLONGDATE),
63 LOCALE_ENTRY(STIMEFORMAT),
64 LOCALE_ENTRY(IDATE),
65 LOCALE_ENTRY(ILDATE),
66 LOCALE_ENTRY(ITIME),
67 LOCALE_ENTRY(ITIMEMARKPOSN),
68 LOCALE_ENTRY(ICENTURY),
69 LOCALE_ENTRY(ITLZERO),
70 LOCALE_ENTRY(IDAYLZERO),
71 LOCALE_ENTRY(IMONLZERO),
72 LOCALE_ENTRY(S1159),
73 LOCALE_ENTRY(S2359),
74 LOCALE_ENTRY(ICALENDARTYPE),
75 LOCALE_ENTRY(IOPTIONALCALENDAR),
76 LOCALE_ENTRY(IFIRSTDAYOFWEEK),
77 LOCALE_ENTRY(IFIRSTWEEKOFYEAR),
78 LOCALE_ENTRY(SDAYNAME1),
79 LOCALE_ENTRY(SDAYNAME2),
80 LOCALE_ENTRY(SDAYNAME3),
81 LOCALE_ENTRY(SDAYNAME4),
82 LOCALE_ENTRY(SDAYNAME5),
83 LOCALE_ENTRY(SDAYNAME6),
84 LOCALE_ENTRY(SDAYNAME7),
85 LOCALE_ENTRY(SABBREVDAYNAME1),
86 LOCALE_ENTRY(SABBREVDAYNAME2),
87 LOCALE_ENTRY(SABBREVDAYNAME3),
88 LOCALE_ENTRY(SABBREVDAYNAME4),
89 LOCALE_ENTRY(SABBREVDAYNAME5),
90 LOCALE_ENTRY(SABBREVDAYNAME6),
91 LOCALE_ENTRY(SABBREVDAYNAME7),
92 LOCALE_ENTRY(SMONTHNAME1),
93 LOCALE_ENTRY(SMONTHNAME2),
94 LOCALE_ENTRY(SMONTHNAME3),
95 LOCALE_ENTRY(SMONTHNAME4),
96 LOCALE_ENTRY(SMONTHNAME5),
97 LOCALE_ENTRY(SMONTHNAME6),
98 LOCALE_ENTRY(SMONTHNAME7),
99 LOCALE_ENTRY(SMONTHNAME8),
100 LOCALE_ENTRY(SMONTHNAME9),
101 LOCALE_ENTRY(SMONTHNAME10),
102 LOCALE_ENTRY(SMONTHNAME11),
103 LOCALE_ENTRY(SMONTHNAME12),
104 LOCALE_ENTRY(SMONTHNAME13),
105 LOCALE_ENTRY(SABBREVMONTHNAME1),
106 LOCALE_ENTRY(SABBREVMONTHNAME2),
107 LOCALE_ENTRY(SABBREVMONTHNAME3),
108 LOCALE_ENTRY(SABBREVMONTHNAME4),
109 LOCALE_ENTRY(SABBREVMONTHNAME5),
110 LOCALE_ENTRY(SABBREVMONTHNAME6),
111 LOCALE_ENTRY(SABBREVMONTHNAME7),
112 LOCALE_ENTRY(SABBREVMONTHNAME8),
113 LOCALE_ENTRY(SABBREVMONTHNAME9),
114 LOCALE_ENTRY(SABBREVMONTHNAME10),
115 LOCALE_ENTRY(SABBREVMONTHNAME11),
116 LOCALE_ENTRY(SABBREVMONTHNAME12),
117 LOCALE_ENTRY(SABBREVMONTHNAME13),
118 LOCALE_ENTRY(SPOSITIVESIGN),
119 LOCALE_ENTRY(SNEGATIVESIGN),
120 LOCALE_ENTRY(IPOSSIGNPOSN),
121 LOCALE_ENTRY(INEGSIGNPOSN),
122 LOCALE_ENTRY(IPOSSYMPRECEDES),
123 LOCALE_ENTRY(IPOSSEPBYSPACE),
124 LOCALE_ENTRY(INEGSYMPRECEDES),
125 LOCALE_ENTRY(INEGSEPBYSPACE),
126 {NULL,0},
129 /***********************************************************************
130 * GetUserDefaultLCID (OLE2NLS.1)
132 DWORD GetUserDefaultLCID()
134 /* Default sorting, neutral sublanguage */
135 switch(Options.language)
137 /* case LANG_Bu: return 0x02; */ /* Bulgarian */
138 /* case LANG_Ch: return 0x04; */ /* Chinese */
139 case LANG_Cz: return 0x05; /* Czech */
140 case LANG_Da: return 0x06; /* Danish */
141 case LANG_De: return 0x07; /* German */
142 /* case LANG_Gr: return 0x08; */ /* Greek */
143 case LANG_En: return 0x09; /* English */
144 case LANG_Es: return 0x0a; /* Spanish */
145 case LANG_Fi: return 0x0b; /* Finnish */
146 case LANG_Fr: return 0x0c; /* French */
147 case LANG_Hu: return 0x0e; /* Hungarian */
148 /* case LANG_Ic: return 0x0f; */ /* Icelandic */
149 case LANG_It: return 0x10; /* Italian */
150 /* case LANG_Jp: return 0x11; */ /* Japanese */
151 case LANG_Ko: return 0x12; /* Korean */
152 /* case LANG_Du: return 0x13; */ /* Dutch */
153 case LANG_No: return 0x14; /* Norwegian */
154 case LANG_Pl: return 0x15; /* Polish */
155 case LANG_Po: return 0x16; /* Portuguese */
156 /* case LANG_Ro: return 0x18; */ /* Romanian */
157 /* case LANG_Ru: return 0x19; */ /* Russian */
158 /* case LANG_Cr: return 0x1a; */ /* Croatian */
159 /* case LANG_Sl: return 0x1b; */ /* Slovak */
160 /* case LANG_Sw: return 0x1d; */ /* Swedish */
161 /* case LANG_Tu: return 0x1f; */ /* Turkish */
162 /* case LANG_Sv: return 0x24; */ /* Slovenian */
163 case LANG_Eo: return 0x25; /* Esperanto (not official) */
165 default:
166 return 0x00; /* Neutral language */
170 /***********************************************************************
171 * GetSystemDefaultLCID (OLE2NLS.2)
173 DWORD GetSystemDefaultLCID()
175 return GetUserDefaultLCID();
178 /***********************************************************************
179 * GetUserDefaultLangID (OLE2NLS.3)
181 WORD GetUserDefaultLangID()
183 return (WORD)GetUserDefaultLCID();
186 /***********************************************************************
187 * GetSystemDefaultLangID (OLE2NLS.4)
189 WORD GetSystemDefaultLangID()
191 return GetUserDefaultLangID();
194 /***********************************************************************
195 * GetLocaleInfoA (OLE2NLS.5)
196 * Is the last parameter really WORD for Win16?
198 int GetLocaleInfoA(DWORD lcid,DWORD LCType,LPSTR buf,WORD len)
200 char *retString;
201 int found,i;
203 dprintf_ole(stddeb,"GetLocaleInfoA(%8lX,%8lX,%p,%4X)\n",
204 lcid,LCType,buf,len);
205 /* As an option, we could obtain the value from win.ini.
206 This would not match the Wine compile-time option.
207 Also, not all identifiers are available from win.ini */
208 retString=0;
209 /* If we are through all of this, retLen should not be zero anymore.
210 If it is, the value is not supported */
211 i=0;
212 while (locale_name2id[i].name!=NULL) {
213 if (LCType == locale_name2id[i].id) {
214 retString = locale_name2id[i].name;
215 break;
217 i++;
219 if (!retString) {
220 fprintf(stderr,"Unkown LC type %lX\n",LCType);
221 return 0;
224 #define LOCVAL(type,value) case type:retString=value;break;
226 /* Now, the language specific definitions. They don't have to be
227 complete */
228 found=1;
229 switch(Options.language)
231 case LANG_De:
232 switch (LCType) {
233 /* This definitions apply to Germany only. Users in Austria
234 or Switzerland might want to modify them */
235 LOCVAL(LOCALE_ILANGUAGE,"9")
236 LOCVAL(LOCALE_SLANGUAGE,"Deutsch")
237 LOCVAL(LOCALE_SENGLANGUAGE,"German")
238 LOCVAL(LOCALE_SABBREVLANGNAME,"deu")
239 LOCVAL(LOCALE_SNATIVELANGNAME,"Deutsch")
240 LOCVAL(LOCALE_ICOUNTRY,"49")
241 LOCVAL(LOCALE_SCOUNTRY,"Deutschland")
242 LOCVAL(LOCALE_SENGCOUNTRY,"Deutschland")
243 LOCVAL(LOCALE_SABBREVCTRYNAME,"De")
244 LOCVAL(LOCALE_SNATIVECTRYNAME,"Deutschland")
245 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
246 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49")
247 /* Dunno
248 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
249 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
251 LOCVAL(LOCALE_SLIST,";")
252 LOCVAL(LOCALE_IMEASURE,"0")
253 LOCVAL(LOCALE_SDECIMAL,",")
254 LOCVAL(LOCALE_STHOUSAND,".")
256 LOCVAL(LOCALE_SGROUPING)
258 LOCVAL(LOCALE_IDIGITS,"2")
259 LOCVAL(LOCALE_ILZERO,"1")
261 LOCVAL(LOCALE_INEGNUMBER)
262 Is this "0123456789" ??
263 LOCVAL(LOCALE_SNATIVEDIGITS)
265 LOCVAL(LOCALE_SCURRENCY,"DM")
267 LOCVAL(LOCALE_SINTLSYMBOL)
268 LOCVAL(LOCALE_SMONDECIMALSEP)
269 LOCVAL(LOCALE_SMONTHOUSANDSEP)
270 LOCVAL(LOCALE_SMONGROUPING)
272 LOCVAL(LOCALE_ICURRDIGITS,"2")
274 LOCVAL(LOCALE_IINTLCURRDIGITS)
276 LOCVAL(LOCALE_ICURRENCY,"3")
277 LOCVAL(LOCALE_INEGCURR,"8")
278 LOCVAL(LOCALE_SDATE,".")
279 LOCVAL(LOCALE_STIME,":")
280 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
281 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
283 LOCVAL(LOCALE_STIMEFORMAT)
285 LOCVAL(LOCALE_IDATE,"1")
287 LOCVAL(LOCALE_ILDATE)
289 LOCVAL(LOCALE_ITIME,"1")
291 LOCVAL(LOCALE_ITIMEMARKPOSN)
292 LOCVAL(LOCALE_ICENTURY)
294 LOCVAL(LOCALE_ITLZERO,"1")
296 LOCVAL(LOCALE_IDAYLZERO)
297 LOCVAL(LOCALE_IMONLZERO)
298 LOCVAL(LOCALE_S1159)
299 LOCVAL(LOCALE_S2359)
300 LOCVAL(LOCALE_ICALENDARTYPE)
301 LOCVAL(LOCALE_IOPTIONALCALENDAR)
302 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
303 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
305 LOCVAL(LOCALE_SDAYNAME1,"Montag")
306 LOCVAL(LOCALE_SDAYNAME2,"Dienstag")
307 LOCVAL(LOCALE_SDAYNAME3,"Mittwoch")
308 LOCVAL(LOCALE_SDAYNAME4,"Donnerstag")
309 LOCVAL(LOCALE_SDAYNAME5,"Freitag")
310 LOCVAL(LOCALE_SDAYNAME6,"Sonnabend")
311 LOCVAL(LOCALE_SDAYNAME7,"Sonntag")
312 LOCVAL(LOCALE_SABBREVDAYNAME1,"Mo")
313 LOCVAL(LOCALE_SABBREVDAYNAME2,"Di")
314 LOCVAL(LOCALE_SABBREVDAYNAME3,"Mi")
315 LOCVAL(LOCALE_SABBREVDAYNAME4,"Do")
316 LOCVAL(LOCALE_SABBREVDAYNAME5,"Fr")
317 LOCVAL(LOCALE_SABBREVDAYNAME6,"Sa")
318 LOCVAL(LOCALE_SABBREVDAYNAME7,"So")
319 LOCVAL(LOCALE_SMONTHNAME1,"Januar")
320 LOCVAL(LOCALE_SMONTHNAME2,"Februar")
321 LOCVAL(LOCALE_SMONTHNAME3,"März")
322 LOCVAL(LOCALE_SMONTHNAME4,"April")
323 LOCVAL(LOCALE_SMONTHNAME5,"Mai")
324 LOCVAL(LOCALE_SMONTHNAME6,"Juni")
325 LOCVAL(LOCALE_SMONTHNAME7,"Juli")
326 LOCVAL(LOCALE_SMONTHNAME8,"August")
327 LOCVAL(LOCALE_SMONTHNAME9,"September")
328 LOCVAL(LOCALE_SMONTHNAME10,"Oktober")
329 LOCVAL(LOCALE_SMONTHNAME11,"November")
330 LOCVAL(LOCALE_SMONTHNAME12,"Dezember")
331 LOCVAL(LOCALE_SMONTHNAME13,"")
332 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
333 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
334 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mär")
335 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
336 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Mai")
337 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jun")
338 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Jul")
339 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
340 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sep")
341 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
342 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
343 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dez")
344 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
346 LOCVAL(LOCALE_SPOSITIVESIGN)
347 LOCVAL(LOCALE_SNEGATIVESIGN)
348 LOCVAL(LOCALE_IPOSSIGNPOSN)
349 LOCVAL(LOCALE_INEGSIGNPOSN)
350 LOCVAL(LOCALE_IPOSSYMPRECEDES)
351 LOCVAL(LOCALE_IPOSSEPBYSPACE)
352 LOCVAL(LOCALE_INEGSYMPRECEDES)
353 LOCVAL(LOCALE_INEGSEPBYSPACE)
355 default: found=0;break;
357 break; /* LANG(De) */
359 case LANG_Da:
360 switch (LCType) {
361 /* LOCVAL(LOCALE_ILANGUAGE,"9") */
362 LOCVAL(LOCALE_SLANGUAGE,"Dansk")
363 LOCVAL(LOCALE_SENGLANGUAGE,"Danish")
364 LOCVAL(LOCALE_SABBREVLANGNAME,"dan")
365 LOCVAL(LOCALE_SNATIVELANGNAME,"Dansk")
366 LOCVAL(LOCALE_ICOUNTRY,"45")
367 LOCVAL(LOCALE_SCOUNTRY,"Danmark")
368 LOCVAL(LOCALE_SENGCOUNTRY,"Denmark")
369 LOCVAL(LOCALE_SABBREVCTRYNAME,"Da")
370 LOCVAL(LOCALE_SNATIVECTRYNAME,"Danmark")
371 /* LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9") */
372 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"45")
373 /* LOCVAL(LOCALE_IDEFAULTCODEPAGE) */
374 /* LOCVAL(LOCALE_IDEFAULTANSICODEPAGE) */
375 LOCVAL(LOCALE_SLIST,";")
376 LOCVAL(LOCALE_IMEASURE,"0")
377 LOCVAL(LOCALE_SDECIMAL,",")
378 LOCVAL(LOCALE_STHOUSAND,".")
379 /* LOCVAL(LOCALE_SGROUPING) */
380 LOCVAL(LOCALE_IDIGITS,"2")
381 LOCVAL(LOCALE_ILZERO,"1")
382 /* LOCVAL(LOCALE_INEGNUMBER) */
383 /* LOCVAL(LOCALE_SNATIVEDIGITS) */
384 LOCVAL(LOCALE_SCURRENCY,"kr")
385 /* LOCVAL(LOCALE_SINTLSYMBOL) */
386 LOCVAL(LOCALE_SMONDECIMALSEP,",")
387 LOCVAL(LOCALE_SMONTHOUSANDSEP,".")
388 /* LOCVAL(LOCALE_SMONGROUPING) */
389 LOCVAL(LOCALE_ICURRDIGITS,"2")
390 /* LOCVAL(LOCALE_IINTLCURRDIGITS) */
391 LOCVAL(LOCALE_ICURRENCY,"3")
392 LOCVAL(LOCALE_INEGCURR,"8")
393 LOCVAL(LOCALE_SDATE,".")
394 LOCVAL(LOCALE_STIME,":")
395 LOCVAL(LOCALE_SSHORTDATE,"dd/MM-yyyy")
396 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
397 /* LOCVAL(LOCALE_STIMEFORMAT) */
398 LOCVAL(LOCALE_IDATE,"1")
399 /* LOCVAL(LOCALE_ILDATE) */
400 LOCVAL(LOCALE_ITIME,"1")
401 /* LOCVAL(LOCALE_ITIMEMARKPOSN) */
402 /* LOCVAL(LOCALE_ICENTURY) */
403 LOCVAL(LOCALE_ITLZERO,"1")
404 /* LOCVAL(LOCALE_IDAYLZERO) */
405 /* LOCVAL(LOCALE_IMONLZERO) */
406 /* LOCVAL(LOCALE_S1159) */
407 /* LOCVAL(LOCALE_S2359) */
408 /* LOCVAL(LOCALE_ICALENDARTYPE) */
409 /* LOCVAL(LOCALE_IOPTIONALCALENDAR) */
410 /* LOCVAL(LOCALE_IFIRSTDAYOFWEEK) */
411 /* LOCVAL(LOCALE_IFIRSTWEEKOFYEAR) */
412 LOCVAL(LOCALE_SDAYNAME1,"Mandag")
413 LOCVAL(LOCALE_SDAYNAME2,"Tirsdag")
414 LOCVAL(LOCALE_SDAYNAME3,"Onsdag")
415 LOCVAL(LOCALE_SDAYNAME4,"Torsdag")
416 LOCVAL(LOCALE_SDAYNAME5,"Fredag")
417 LOCVAL(LOCALE_SDAYNAME6,"Lørdag")
418 LOCVAL(LOCALE_SDAYNAME7,"Søndag")
419 LOCVAL(LOCALE_SABBREVDAYNAME1,"Ma")
420 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ti")
421 LOCVAL(LOCALE_SABBREVDAYNAME3,"On")
422 LOCVAL(LOCALE_SABBREVDAYNAME4,"To")
423 LOCVAL(LOCALE_SABBREVDAYNAME5,"Fr")
424 LOCVAL(LOCALE_SABBREVDAYNAME6,"Lø")
425 LOCVAL(LOCALE_SABBREVDAYNAME7,"Sø")
426 LOCVAL(LOCALE_SMONTHNAME1,"Januar")
427 LOCVAL(LOCALE_SMONTHNAME2,"Februar")
428 LOCVAL(LOCALE_SMONTHNAME3,"Marts")
429 LOCVAL(LOCALE_SMONTHNAME4,"April")
430 LOCVAL(LOCALE_SMONTHNAME5,"Maj")
431 LOCVAL(LOCALE_SMONTHNAME6,"Juni")
432 LOCVAL(LOCALE_SMONTHNAME7,"Juli")
433 LOCVAL(LOCALE_SMONTHNAME8,"August")
434 LOCVAL(LOCALE_SMONTHNAME9,"September")
435 LOCVAL(LOCALE_SMONTHNAME10,"Oktober")
436 LOCVAL(LOCALE_SMONTHNAME11,"November")
437 LOCVAL(LOCALE_SMONTHNAME12,"December")
438 LOCVAL(LOCALE_SMONTHNAME13,"")
439 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
440 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
441 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mar")
442 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
443 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Maj")
444 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jun")
445 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Jul")
446 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
447 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sep")
448 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
449 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
450 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dec")
451 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
452 /* LOCVAL(LOCALE_SPOSITIVESIGN) */
453 /* LOCVAL(LOCALE_SNEGATIVESIGN) */
454 /* LOCVAL(LOCALE_IPOSSIGNPOSN) */
455 /* LOCVAL(LOCALE_INEGSIGNPOSN) */
456 /* LOCVAL(LOCALE_IPOSSYMPRECEDES) */
457 /* LOCVAL(LOCALE_IPOSSEPBYSPACE) */
458 /* LOCVAL(LOCALE_INEGSYMPRECEDES) */
459 /* LOCVAL(LOCALE_INEGSEPBYSPACE) */
460 default: found=0;break;
462 break; /* LANG(Da) */
464 case LANG_En:
465 switch (LCType) {
466 /* This definitions apply to Germany only. Users in Austria
467 or Switzerland might want to modify them */
468 LOCVAL(LOCALE_ILANGUAGE,"9")
469 LOCVAL(LOCALE_SLANGUAGE,"English")
470 LOCVAL(LOCALE_SENGLANGUAGE,"English")
471 LOCVAL(LOCALE_SABBREVLANGNAME,"enu")
472 LOCVAL(LOCALE_SNATIVELANGNAME,"English")
473 LOCVAL(LOCALE_ICOUNTRY,"11")
474 LOCVAL(LOCALE_SCOUNTRY,"Deutschland")
475 LOCVAL(LOCALE_SENGCOUNTRY,"Deutschland")
476 LOCVAL(LOCALE_SABBREVCTRYNAME,"De")
477 LOCVAL(LOCALE_SNATIVECTRYNAME,"Deutschland")
478 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
479 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49")
480 /* Dunno
481 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
482 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
484 LOCVAL(LOCALE_SLIST,";")
485 LOCVAL(LOCALE_IMEASURE,"0")
486 LOCVAL(LOCALE_SDECIMAL,",")
487 LOCVAL(LOCALE_STHOUSAND,".")
489 LOCVAL(LOCALE_SGROUPING)
491 LOCVAL(LOCALE_IDIGITS,"2")
492 LOCVAL(LOCALE_ILZERO,"1")
494 LOCVAL(LOCALE_INEGNUMBER)
495 Is this "0123456789" ??
496 LOCVAL(LOCALE_SNATIVEDIGITS)
498 LOCVAL(LOCALE_SCURRENCY,"DM")
500 LOCVAL(LOCALE_SINTLSYMBOL)
501 LOCVAL(LOCALE_SMONDECIMALSEP)
502 LOCVAL(LOCALE_SMONTHOUSANDSEP)
503 LOCVAL(LOCALE_SMONGROUPING)
505 LOCVAL(LOCALE_ICURRDIGITS,"2")
507 LOCVAL(LOCALE_IINTLCURRDIGITS)
509 LOCVAL(LOCALE_ICURRENCY,"3")
510 LOCVAL(LOCALE_INEGCURR,"8")
511 LOCVAL(LOCALE_SDATE,".")
512 LOCVAL(LOCALE_STIME,":")
513 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
514 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
516 LOCVAL(LOCALE_STIMEFORMAT)
518 LOCVAL(LOCALE_IDATE,"1")
520 LOCVAL(LOCALE_ILDATE)
522 LOCVAL(LOCALE_ITIME,"1")
524 LOCVAL(LOCALE_ITIMEMARKPOSN)
525 LOCVAL(LOCALE_ICENTURY)
527 LOCVAL(LOCALE_ITLZERO,"1")
529 LOCVAL(LOCALE_IDAYLZERO)
530 LOCVAL(LOCALE_IMONLZERO)
531 LOCVAL(LOCALE_S1159)
532 LOCVAL(LOCALE_S2359)
533 LOCVAL(LOCALE_ICALENDARTYPE)
534 LOCVAL(LOCALE_IOPTIONALCALENDAR)
535 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
536 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
538 LOCVAL(LOCALE_SDAYNAME1,"Montag")
539 LOCVAL(LOCALE_SDAYNAME2,"Dienstag")
540 LOCVAL(LOCALE_SDAYNAME3,"Mittwoch")
541 LOCVAL(LOCALE_SDAYNAME4,"Donnerstag")
542 LOCVAL(LOCALE_SDAYNAME5,"Freitag")
543 LOCVAL(LOCALE_SDAYNAME6,"Sonnabend")
544 LOCVAL(LOCALE_SDAYNAME7,"Sonntag")
545 LOCVAL(LOCALE_SABBREVDAYNAME1,"Mo")
546 LOCVAL(LOCALE_SABBREVDAYNAME2,"Di")
547 LOCVAL(LOCALE_SABBREVDAYNAME3,"Mi")
548 LOCVAL(LOCALE_SABBREVDAYNAME4,"Do")
549 LOCVAL(LOCALE_SABBREVDAYNAME5,"Fr")
550 LOCVAL(LOCALE_SABBREVDAYNAME6,"Sa")
551 LOCVAL(LOCALE_SABBREVDAYNAME7,"So")
552 LOCVAL(LOCALE_SMONTHNAME1,"Januar")
553 LOCVAL(LOCALE_SMONTHNAME2,"Februar")
554 LOCVAL(LOCALE_SMONTHNAME3,"März")
555 LOCVAL(LOCALE_SMONTHNAME4,"April")
556 LOCVAL(LOCALE_SMONTHNAME5,"Mai")
557 LOCVAL(LOCALE_SMONTHNAME6,"Juni")
558 LOCVAL(LOCALE_SMONTHNAME7,"Juli")
559 LOCVAL(LOCALE_SMONTHNAME8,"August")
560 LOCVAL(LOCALE_SMONTHNAME9,"September")
561 LOCVAL(LOCALE_SMONTHNAME10,"Oktober")
562 LOCVAL(LOCALE_SMONTHNAME11,"November")
563 LOCVAL(LOCALE_SMONTHNAME12,"Dezember")
564 LOCVAL(LOCALE_SMONTHNAME13,"")
565 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
566 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
567 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mär")
568 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
569 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Mai")
570 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jun")
571 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Jul")
572 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
573 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sep")
574 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
575 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
576 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dez")
577 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
579 LOCVAL(LOCALE_SPOSITIVESIGN)
580 LOCVAL(LOCALE_SNEGATIVESIGN)
581 LOCVAL(LOCALE_IPOSSIGNPOSN)
582 LOCVAL(LOCALE_INEGSIGNPOSN)
583 LOCVAL(LOCALE_IPOSSYMPRECEDES)
584 LOCVAL(LOCALE_IPOSSEPBYSPACE)
585 LOCVAL(LOCALE_INEGSYMPRECEDES)
586 LOCVAL(LOCALE_INEGSEPBYSPACE)
588 default: found=0;break;
590 break; /* LANG(En) */
592 case LANG_Eo:
593 switch (LCType) {
594 /* LOCVAL(LOCALE_ILANGUAGE,"9") ISO numerical ID for language TODO */
595 LOCVAL(LOCALE_SLANGUAGE,"Esperanto")
596 LOCVAL(LOCALE_SENGLANGUAGE,"Esperanto")
597 /* LOCVAL(LOCALE_SABBREVLANGNAME,"deu") */
598 LOCVAL(LOCALE_SNATIVELANGNAME,"Esperanto")
599 /* LOCVAL(LOCALE_ICOUNTRY,"49") not official in any one country */
600 /* LOCVAL(LOCALE_SCOUNTRY,"Deutschland") */
601 /* LOCVAL(LOCALE_SENGCOUNTRY,"Germany") */
602 /* LOCVAL(LOCALE_SABBREVCTRYNAME,"De") */
603 /* LOCVAL(LOCALE_SNATIVECTRYNAME,"Deutschland") */
604 /* LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9") ISO ID of lang TODO */
605 /* LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49") */
606 LOCVAL(LOCALE_IDEFAULTCODEPAGE,"3") /* is this right? TODO */
607 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE,"3") /* is this right? TODO */
608 LOCVAL(LOCALE_SLIST,";")
609 LOCVAL(LOCALE_IMEASURE,"0")
610 LOCVAL(LOCALE_SDECIMAL,",")
611 LOCVAL(LOCALE_STHOUSAND,".")
612 /* LOCVAL(LOCALE_SGROUPING) */
613 LOCVAL(LOCALE_IDIGITS,"2")
614 LOCVAL(LOCALE_ILZERO,"1")
615 /* LOCVAL(LOCALE_INEGNUMBER) */
616 /* LOCVAL(LOCALE_SNATIVEDIGITS) */
617 LOCVAL(LOCALE_SCURRENCY,"NLG") /* accounting currency of UEA */
618 /* LOCVAL(LOCALE_SINTLSYMBOL) */
619 /* LOCVAL(LOCALE_SMONDECIMALSEP) */
620 /* LOCVAL(LOCALE_SMONTHOUSANDSEP) */
621 /* LOCVAL(LOCALE_SMONGROUPING) */
622 /* LOCVAL(LOCALE_ICURRDIGITS,"2") */
623 /* LOCVAL(LOCALE_IINTLCURRDIGITS) */
624 LOCVAL(LOCALE_ICURRENCY,"3")
625 LOCVAL(LOCALE_INEGCURR,"8")
626 LOCVAL(LOCALE_SDATE,".")
627 LOCVAL(LOCALE_STIME,":")
628 LOCVAL(LOCALE_SSHORTDATE,"yyyy.mm.dd")
629 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
630 /* LOCVAL(LOCALE_STIMEFORMAT) */
631 LOCVAL(LOCALE_IDATE,"1")
632 /* LOCVAL(LOCALE_ILDATE) */
633 LOCVAL(LOCALE_ITIME,"1")
634 /* LOCVAL(LOCALE_ITIMEMARKPOSN) */
635 /* LOCVAL(LOCALE_ICENTURY) */
636 LOCVAL(LOCALE_ITLZERO,"1")
637 /* LOCVAL(LOCALE_IDAYLZERO) */
638 /* LOCVAL(LOCALE_IMONLZERO) */
639 /* LOCVAL(LOCALE_S1159) */
640 /* LOCVAL(LOCALE_S2359) */
641 /* LOCVAL(LOCALE_ICALENDARTYPE) */
642 /* LOCVAL(LOCALE_IOPTIONALCALENDAR) */
643 /* LOCVAL(LOCALE_IFIRSTDAYOFWEEK) */
644 /* LOCVAL(LOCALE_IFIRSTWEEKOFYEAR) */
645 LOCVAL(LOCALE_SDAYNAME1,"lundo")
646 LOCVAL(LOCALE_SDAYNAME2,"mardo")
647 LOCVAL(LOCALE_SDAYNAME3,"merkredo")
648 LOCVAL(LOCALE_SDAYNAME4,"¼aýdo")
649 LOCVAL(LOCALE_SDAYNAME5,"vendredo")
650 LOCVAL(LOCALE_SDAYNAME6,"sabato")
651 LOCVAL(LOCALE_SDAYNAME7,"dimanæo")
652 LOCVAL(LOCALE_SABBREVDAYNAME1,"lu")
653 LOCVAL(LOCALE_SABBREVDAYNAME2,"ma")
654 LOCVAL(LOCALE_SABBREVDAYNAME3,"me")
655 LOCVAL(LOCALE_SABBREVDAYNAME4,"¼a")
656 LOCVAL(LOCALE_SABBREVDAYNAME5,"ve")
657 LOCVAL(LOCALE_SABBREVDAYNAME6,"sa")
658 LOCVAL(LOCALE_SABBREVDAYNAME7,"di")
659 LOCVAL(LOCALE_SMONTHNAME1,"januaro")
660 LOCVAL(LOCALE_SMONTHNAME2,"februaro")
661 LOCVAL(LOCALE_SMONTHNAME3,"marto")
662 LOCVAL(LOCALE_SMONTHNAME4,"aprilo")
663 LOCVAL(LOCALE_SMONTHNAME5,"majo")
664 LOCVAL(LOCALE_SMONTHNAME6,"junio")
665 LOCVAL(LOCALE_SMONTHNAME7,"julio")
666 LOCVAL(LOCALE_SMONTHNAME8,"aýgusto")
667 LOCVAL(LOCALE_SMONTHNAME9,"septembro")
668 LOCVAL(LOCALE_SMONTHNAME10,"oktobro")
669 LOCVAL(LOCALE_SMONTHNAME11,"novembro")
670 LOCVAL(LOCALE_SMONTHNAME12,"decembro")
671 LOCVAL(LOCALE_SMONTHNAME13,"")
672 LOCVAL(LOCALE_SABBREVMONTHNAME1,"jan")
673 LOCVAL(LOCALE_SABBREVMONTHNAME2,"feb")
674 LOCVAL(LOCALE_SABBREVMONTHNAME3,"mar")
675 LOCVAL(LOCALE_SABBREVMONTHNAME4,"apr")
676 LOCVAL(LOCALE_SABBREVMONTHNAME5,"maj")
677 LOCVAL(LOCALE_SABBREVMONTHNAME6,"jun")
678 LOCVAL(LOCALE_SABBREVMONTHNAME7,"jul")
679 LOCVAL(LOCALE_SABBREVMONTHNAME8,"aýg")
680 LOCVAL(LOCALE_SABBREVMONTHNAME9,"sep")
681 LOCVAL(LOCALE_SABBREVMONTHNAME10,"okt")
682 LOCVAL(LOCALE_SABBREVMONTHNAME11,"nov")
683 LOCVAL(LOCALE_SABBREVMONTHNAME12,"dec")
684 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
685 /* LOCVAL(LOCALE_SPOSITIVESIGN) */
686 /* LOCVAL(LOCALE_SNEGATIVESIGN) */
687 /* LOCVAL(LOCALE_IPOSSIGNPOSN) */
688 /* LOCVAL(LOCALE_INEGSIGNPOSN) */
689 /* LOCVAL(LOCALE_IPOSSYMPRECEDES) */
690 /* LOCVAL(LOCALE_IPOSSEPBYSPACE) */
691 /* LOCVAL(LOCALE_INEGSYMPRECEDES) */
692 /* LOCVAL(LOCALE_INEGSEPBYSPACE) */
693 default: found=0;break;
695 break; /* LANG(Eo) */
697 case LANG_Fi:
698 switch (LCType) {
699 LOCVAL(LOCALE_ILANGUAGE,"11")
700 LOCVAL(LOCALE_SLANGUAGE,"Suomi")
701 LOCVAL(LOCALE_SENGLANGUAGE,"Finnish")
702 LOCVAL(LOCALE_SABBREVLANGNAME,"fin")
703 LOCVAL(LOCALE_SNATIVELANGNAME,"suomi")
704 LOCVAL(LOCALE_ICOUNTRY,"49")
705 LOCVAL(LOCALE_SCOUNTRY,"Suomi")
706 LOCVAL(LOCALE_SENGCOUNTRY,"Finland")
707 LOCVAL(LOCALE_SABBREVCTRYNAME,"Fin")
708 LOCVAL(LOCALE_SNATIVECTRYNAME,"Suomi")
709 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"11")
710 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"358")
712 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
713 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
715 LOCVAL(LOCALE_SLIST,";")
716 LOCVAL(LOCALE_IMEASURE,"0")
717 LOCVAL(LOCALE_SDECIMAL,",")
718 LOCVAL(LOCALE_STHOUSAND,".")
720 LOCVAL(LOCALE_SGROUPING)
722 LOCVAL(LOCALE_IDIGITS,"2")
723 LOCVAL(LOCALE_ILZERO,"1")
725 LOCVAL(LOCALE_INEGNUMBER)
726 Is this "0123456789" ??
727 LOCVAL(LOCALE_SNATIVEDIGITS)
729 LOCVAL(LOCALE_SCURRENCY,"mk")
731 LOCVAL(LOCALE_SINTLSYMBOL)
732 LOCVAL(LOCALE_SMONDECIMALSEP)
733 LOCVAL(LOCALE_SMONTHOUSANDSEP)
734 LOCVAL(LOCALE_SMONGROUPING)
736 LOCVAL(LOCALE_ICURRDIGITS,"2")
738 LOCVAL(LOCALE_IINTLCURRDIGITS)
740 LOCVAL(LOCALE_ICURRENCY,"3")
741 LOCVAL(LOCALE_INEGCURR,"8")
742 LOCVAL(LOCALE_SDATE,".")
743 LOCVAL(LOCALE_STIME,":")
744 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
745 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
747 LOCVAL(LOCALE_STIMEFORMAT)
749 LOCVAL(LOCALE_IDATE,"1")
751 LOCVAL(LOCALE_ILDATE)
753 LOCVAL(LOCALE_ITIME,"1")
755 LOCVAL(LOCALE_ITIMEMARKPOSN)
756 LOCVAL(LOCALE_ICENTURY)
758 LOCVAL(LOCALE_ITLZERO,"1")
760 LOCVAL(LOCALE_IDAYLZERO)
761 LOCVAL(LOCALE_IMONLZERO)
762 LOCVAL(LOCALE_S1159)
763 LOCVAL(LOCALE_S2359)
764 LOCVAL(LOCALE_ICALENDARTYPE)
765 LOCVAL(LOCALE_IOPTIONALCALENDAR)
766 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
767 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
769 LOCVAL(LOCALE_SDAYNAME1,"maanantai")
770 LOCVAL(LOCALE_SDAYNAME2,"tiistai")
771 LOCVAL(LOCALE_SDAYNAME3,"keskiviikko")
772 LOCVAL(LOCALE_SDAYNAME4,"torstai")
773 LOCVAL(LOCALE_SDAYNAME5,"perjantai")
774 LOCVAL(LOCALE_SDAYNAME6,"lauantai")
775 LOCVAL(LOCALE_SDAYNAME7,"sunnuntai")
776 LOCVAL(LOCALE_SABBREVDAYNAME1,"Ma")
777 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ti")
778 LOCVAL(LOCALE_SABBREVDAYNAME3,"Ke")
779 LOCVAL(LOCALE_SABBREVDAYNAME4,"To")
780 LOCVAL(LOCALE_SABBREVDAYNAME5,"Pe")
781 LOCVAL(LOCALE_SABBREVDAYNAME6,"La")
782 LOCVAL(LOCALE_SABBREVDAYNAME7,"Su")
783 LOCVAL(LOCALE_SMONTHNAME1,"tammikuu")
784 LOCVAL(LOCALE_SMONTHNAME2,"helmikuu")
785 LOCVAL(LOCALE_SMONTHNAME3,"maaliskuu")
786 LOCVAL(LOCALE_SMONTHNAME4,"huhtikuu")
787 LOCVAL(LOCALE_SMONTHNAME5,"toukokuu")
788 LOCVAL(LOCALE_SMONTHNAME6,"kesäkuu")
789 LOCVAL(LOCALE_SMONTHNAME7,"heinäkuu")
790 LOCVAL(LOCALE_SMONTHNAME8,"elokuu")
791 LOCVAL(LOCALE_SMONTHNAME9,"syyskuu")
792 LOCVAL(LOCALE_SMONTHNAME10,"lokakuu")
793 LOCVAL(LOCALE_SMONTHNAME11,"marraskuu")
794 LOCVAL(LOCALE_SMONTHNAME12,"joulukuu")
795 LOCVAL(LOCALE_SMONTHNAME13,"")
796 LOCVAL(LOCALE_SABBREVMONTHNAME1,"tammi")
797 LOCVAL(LOCALE_SABBREVMONTHNAME2,"helmi")
798 LOCVAL(LOCALE_SABBREVMONTHNAME3,"maalis")
799 LOCVAL(LOCALE_SABBREVMONTHNAME4,"huhti")
800 LOCVAL(LOCALE_SABBREVMONTHNAME5,"touko")
801 LOCVAL(LOCALE_SABBREVMONTHNAME6,"kesä")
802 LOCVAL(LOCALE_SABBREVMONTHNAME7,"heinä")
803 LOCVAL(LOCALE_SABBREVMONTHNAME8,"elo")
804 LOCVAL(LOCALE_SABBREVMONTHNAME9,"syys")
805 LOCVAL(LOCALE_SABBREVMONTHNAME10,"loka")
806 LOCVAL(LOCALE_SABBREVMONTHNAME11,"marras")
807 LOCVAL(LOCALE_SABBREVMONTHNAME12,"joulu")
808 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
810 LOCVAL(LOCALE_SPOSITIVESIGN)
811 LOCVAL(LOCALE_SNEGATIVESIGN)
812 LOCVAL(LOCALE_IPOSSIGNPOSN)
813 LOCVAL(LOCALE_INEGSIGNPOSN)
814 LOCVAL(LOCALE_IPOSSYMPRECEDES)
815 LOCVAL(LOCALE_IPOSSEPBYSPACE)
816 LOCVAL(LOCALE_INEGSYMPRECEDES)
817 LOCVAL(LOCALE_INEGSEPBYSPACE)
819 default: found=0;break;
821 break; /* LANG(Fi) */
823 case LANG_It:
824 switch (LCType) {
825 LOCVAL(LOCALE_ILANGUAGE,"9")
826 LOCVAL(LOCALE_SLANGUAGE,"Italiano")
827 LOCVAL(LOCALE_SENGLANGUAGE,"Italian")
828 LOCVAL(LOCALE_SABBREVLANGNAME,"ita")
829 LOCVAL(LOCALE_SNATIVELANGNAME,"Italiano")
830 LOCVAL(LOCALE_ICOUNTRY,"39")
831 LOCVAL(LOCALE_SCOUNTRY,"Italia")
832 LOCVAL(LOCALE_SENGCOUNTRY,"Italy")
833 LOCVAL(LOCALE_SABBREVCTRYNAME,"It")
834 LOCVAL(LOCALE_SNATIVECTRYNAME,"Italia")
835 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
836 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"39")
837 /* Dunno
838 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
839 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
841 LOCVAL(LOCALE_SLIST,";")
842 LOCVAL(LOCALE_IMEASURE,"0")
843 LOCVAL(LOCALE_SDECIMAL,",")
844 LOCVAL(LOCALE_STHOUSAND,".")
846 LOCVAL(LOCALE_SGROUPING)
848 LOCVAL(LOCALE_IDIGITS,"2")
849 LOCVAL(LOCALE_ILZERO,"1")
851 LOCVAL(LOCALE_INEGNUMBER)
852 Is this "0123456789" ??
853 LOCVAL(LOCALE_SNATIVEDIGITS)
855 LOCVAL(LOCALE_SCURRENCY,"Lit.")
857 LOCVAL(LOCALE_SINTLSYMBOL)
858 LOCVAL(LOCALE_SMONDECIMALSEP)
859 LOCVAL(LOCALE_SMONTHOUSANDSEP)
860 LOCVAL(LOCALE_SMONGROUPING)
862 LOCVAL(LOCALE_ICURRDIGITS,"2")
864 LOCVAL(LOCALE_IINTLCURRDIGITS)
866 LOCVAL(LOCALE_ICURRENCY,"3")
867 LOCVAL(LOCALE_INEGCURR,"8")
868 LOCVAL(LOCALE_SDATE,".")
869 LOCVAL(LOCALE_STIME,":")
870 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
871 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
873 LOCVAL(LOCALE_STIMEFORMAT)
875 LOCVAL(LOCALE_IDATE,"1")
877 LOCVAL(LOCALE_ILDATE)
879 LOCVAL(LOCALE_ITIME,"1")
881 LOCVAL(LOCALE_ITIMEMARKPOSN)
882 LOCVAL(LOCALE_ICENTURY)
884 LOCVAL(LOCALE_ITLZERO,"1")
886 LOCVAL(LOCALE_IDAYLZERO)
887 LOCVAL(LOCALE_IMONLZERO)
888 LOCVAL(LOCALE_S1159)
889 LOCVAL(LOCALE_S2359)
890 LOCVAL(LOCALE_ICALENDARTYPE)
891 LOCVAL(LOCALE_IOPTIONALCALENDAR)
892 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
893 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
895 LOCVAL(LOCALE_SDAYNAME1,"Lunedi'")
896 LOCVAL(LOCALE_SDAYNAME2,"Martedi'")
897 LOCVAL(LOCALE_SDAYNAME3,"Mercoledi'")
898 LOCVAL(LOCALE_SDAYNAME4,"Giovedi'")
899 LOCVAL(LOCALE_SDAYNAME5,"Venerdi'")
900 LOCVAL(LOCALE_SDAYNAME6,"Sabato")
901 LOCVAL(LOCALE_SDAYNAME7,"Domenica")
902 LOCVAL(LOCALE_SABBREVDAYNAME1,"Lu")
903 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ma")
904 LOCVAL(LOCALE_SABBREVDAYNAME3,"Me")
905 LOCVAL(LOCALE_SABBREVDAYNAME4,"Gi")
906 LOCVAL(LOCALE_SABBREVDAYNAME5,"Ve")
907 LOCVAL(LOCALE_SABBREVDAYNAME6,"Sa")
908 LOCVAL(LOCALE_SABBREVDAYNAME7,"Do")
909 LOCVAL(LOCALE_SMONTHNAME1,"Gennaio")
910 LOCVAL(LOCALE_SMONTHNAME2,"Febbraio")
911 LOCVAL(LOCALE_SMONTHNAME3,"Marzo")
912 LOCVAL(LOCALE_SMONTHNAME4,"Aprile")
913 LOCVAL(LOCALE_SMONTHNAME5,"Maggio")
914 LOCVAL(LOCALE_SMONTHNAME6,"Giugno")
915 LOCVAL(LOCALE_SMONTHNAME7,"Luglio")
916 LOCVAL(LOCALE_SMONTHNAME8,"Agosto")
917 LOCVAL(LOCALE_SMONTHNAME9,"Settembre")
918 LOCVAL(LOCALE_SMONTHNAME10,"Ottobre")
919 LOCVAL(LOCALE_SMONTHNAME11,"Novembre")
920 LOCVAL(LOCALE_SMONTHNAME12,"Dicembre")
921 LOCVAL(LOCALE_SMONTHNAME13,"")
922 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Gen")
923 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
924 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mar")
925 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
926 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Mag")
927 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Giu")
928 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Lug")
929 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Ago")
930 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Set")
931 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Ott")
932 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
933 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dic")
934 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
936 LOCVAL(LOCALE_SPOSITIVESIGN)
937 LOCVAL(LOCALE_SNEGATIVESIGN)
938 LOCVAL(LOCALE_IPOSSIGNPOSN)
939 LOCVAL(LOCALE_INEGSIGNPOSN)
940 LOCVAL(LOCALE_IPOSSYMPRECEDES)
941 LOCVAL(LOCALE_IPOSSEPBYSPACE)
942 LOCVAL(LOCALE_INEGSYMPRECEDES)
943 LOCVAL(LOCALE_INEGSEPBYSPACE)
945 default: found=0;break;
947 break; /* LANG(It) */
949 case 0x0409:
950 switch (LCType) {
951 LOCVAL(LOCALE_ILANGUAGE, "0409")
952 LOCVAL(LOCALE_SLANGUAGE, "English (United States)")
953 LOCVAL(LOCALE_SENGLANGUAGE, "English")
954 LOCVAL(LOCALE_SABBREVLANGNAME, "ENU")
955 LOCVAL(LOCALE_SNATIVELANGNAME, "English")
956 LOCVAL(LOCALE_ICOUNTRY, "1")
957 LOCVAL(LOCALE_SCOUNTRY, "United States")
958 LOCVAL(LOCALE_SENGCOUNTRY, "United States")
959 LOCVAL(LOCALE_SABBREVCTRYNAME, "USA")
960 LOCVAL(LOCALE_SNATIVECTRYNAME, "United States")
961 LOCVAL(LOCALE_IDEFAULTLANGUAGE, "0409")
962 LOCVAL(LOCALE_IDEFAULTCOUNTRY, "1")
963 LOCVAL(LOCALE_IDEFAULTCODEPAGE, "437")
964 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE, "1252")
965 LOCVAL(LOCALE_SLIST, ",")
966 LOCVAL(LOCALE_IMEASURE, "1")
967 LOCVAL(LOCALE_SDECIMAL, ".")
968 LOCVAL(LOCALE_STHOUSAND, ",")
969 LOCVAL(LOCALE_SGROUPING, "3;0")
970 LOCVAL(LOCALE_IDIGITS, "2")
971 LOCVAL(LOCALE_ILZERO, "1")
972 LOCVAL(LOCALE_INEGNUMBER, "1")
973 LOCVAL(LOCALE_SNATIVEDIGITS, "0123456789")
974 LOCVAL(LOCALE_SCURRENCY, "$")
975 LOCVAL(LOCALE_SINTLSYMBOL, "USD")
976 LOCVAL(LOCALE_SMONDECIMALSEP, ".")
977 LOCVAL(LOCALE_SMONTHOUSANDSEP, ",")
978 LOCVAL(LOCALE_SMONGROUPING, "3;0")
979 LOCVAL(LOCALE_ICURRDIGITS, "2")
980 LOCVAL(LOCALE_IINTLCURRDIGITS, "2")
981 LOCVAL(LOCALE_ICURRENCY, "0")
982 LOCVAL(LOCALE_INEGCURR, "0")
983 LOCVAL(LOCALE_SDATE, "/")
984 LOCVAL(LOCALE_STIME, ":")
985 LOCVAL(LOCALE_SSHORTDATE, "M/d/yy")
986 LOCVAL(LOCALE_SLONGDATE, "dddd, MMMM dd, yyyy")
987 LOCVAL(LOCALE_STIMEFORMAT, "h:mm:ss tt")
988 LOCVAL(LOCALE_IDATE, "0")
989 LOCVAL(LOCALE_ILDATE, "0")
990 LOCVAL(LOCALE_ITIME, "0")
991 LOCVAL(LOCALE_ITIMEMARKPOSN, "0")
992 LOCVAL(LOCALE_ICENTURY, "0")
993 LOCVAL(LOCALE_ITLZERO, "0")
994 LOCVAL(LOCALE_IDAYLZERO, "0")
995 LOCVAL(LOCALE_IMONLZERO, "0")
996 LOCVAL(LOCALE_S1159, "AM")
997 LOCVAL(LOCALE_S2359, "PM")
998 LOCVAL(LOCALE_ICALENDARTYPE, "1")
999 LOCVAL(LOCALE_IOPTIONALCALENDAR, "0")
1000 LOCVAL(LOCALE_IFIRSTDAYOFWEEK, "6")
1001 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR, "0")
1002 LOCVAL(LOCALE_SDAYNAME1, "Monday")
1003 LOCVAL(LOCALE_SDAYNAME2, "Tuesday")
1004 LOCVAL(LOCALE_SDAYNAME3, "Wednesday")
1005 LOCVAL(LOCALE_SDAYNAME4, "Thursday")
1006 LOCVAL(LOCALE_SDAYNAME5, "Friday")
1007 LOCVAL(LOCALE_SDAYNAME6, "Saturday")
1008 LOCVAL(LOCALE_SDAYNAME7, "Sunday")
1009 LOCVAL(LOCALE_SABBREVDAYNAME1, "Mon")
1010 LOCVAL(LOCALE_SABBREVDAYNAME2, "Tue")
1011 LOCVAL(LOCALE_SABBREVDAYNAME3, "Wed")
1012 LOCVAL(LOCALE_SABBREVDAYNAME4, "Thu")
1013 LOCVAL(LOCALE_SABBREVDAYNAME5, "Fri")
1014 LOCVAL(LOCALE_SABBREVDAYNAME6, "Sat")
1015 LOCVAL(LOCALE_SABBREVDAYNAME7, "Sun")
1016 LOCVAL(LOCALE_SMONTHNAME1, "January")
1017 LOCVAL(LOCALE_SMONTHNAME2, "February")
1018 LOCVAL(LOCALE_SMONTHNAME3, "March")
1019 LOCVAL(LOCALE_SMONTHNAME4, "April")
1020 LOCVAL(LOCALE_SMONTHNAME5, "May")
1021 LOCVAL(LOCALE_SMONTHNAME6, "June")
1022 LOCVAL(LOCALE_SMONTHNAME7, "July")
1023 LOCVAL(LOCALE_SMONTHNAME8, "August")
1024 LOCVAL(LOCALE_SMONTHNAME9, "September")
1025 LOCVAL(LOCALE_SMONTHNAME10, "October")
1026 LOCVAL(LOCALE_SMONTHNAME11, "November")
1027 LOCVAL(LOCALE_SMONTHNAME12, "December")
1028 LOCVAL(LOCALE_SMONTHNAME13, "")
1029 LOCVAL(LOCALE_SABBREVMONTHNAME1, "Jan")
1030 LOCVAL(LOCALE_SABBREVMONTHNAME2, "Feb")
1031 LOCVAL(LOCALE_SABBREVMONTHNAME3, "Mar")
1032 LOCVAL(LOCALE_SABBREVMONTHNAME4, "Apr")
1033 LOCVAL(LOCALE_SABBREVMONTHNAME5, "May")
1034 LOCVAL(LOCALE_SABBREVMONTHNAME6, "Jun")
1035 LOCVAL(LOCALE_SABBREVMONTHNAME7, "Jul")
1036 LOCVAL(LOCALE_SABBREVMONTHNAME8, "Aug")
1037 LOCVAL(LOCALE_SABBREVMONTHNAME9, "Sep")
1038 LOCVAL(LOCALE_SABBREVMONTHNAME10, "Oct")
1039 LOCVAL(LOCALE_SABBREVMONTHNAME11, "Nov")
1040 LOCVAL(LOCALE_SABBREVMONTHNAME12, "Dec")
1041 LOCVAL(LOCALE_SABBREVMONTHNAME13, "")
1042 LOCVAL(LOCALE_SPOSITIVESIGN, "")
1043 LOCVAL(LOCALE_SNEGATIVESIGN, "-")
1044 LOCVAL(LOCALE_IPOSSIGNPOSN, "3")
1045 LOCVAL(LOCALE_INEGSIGNPOSN, "0")
1046 LOCVAL(LOCALE_IPOSSYMPRECEDES, "1")
1047 LOCVAL(LOCALE_IPOSSEPBYSPACE, "0")
1048 LOCVAL(LOCALE_INEGSYMPRECEDES, "1")
1049 LOCVAL(LOCALE_INEGSEPBYSPACE, "0")
1050 default: found=0;break;
1052 break; /* LANG(0x0409) (U.S. English) */
1054 case 0x0809:
1055 switch (LCType) {
1056 LOCVAL(LOCALE_ILANGUAGE, "0809")
1057 LOCVAL(LOCALE_SLANGUAGE, "English (United Kingdom)")
1058 LOCVAL(LOCALE_SENGLANGUAGE, "English")
1059 LOCVAL(LOCALE_SABBREVLANGNAME, "ENG")
1060 LOCVAL(LOCALE_SNATIVELANGNAME, "English")
1061 LOCVAL(LOCALE_ICOUNTRY, "44")
1062 LOCVAL(LOCALE_SCOUNTRY, "United Kingdom")
1063 LOCVAL(LOCALE_SENGCOUNTRY, "United Kingdom")
1064 LOCVAL(LOCALE_SABBREVCTRYNAME, "GBR")
1065 LOCVAL(LOCALE_SNATIVECTRYNAME, "United Kingdom")
1066 LOCVAL(LOCALE_IDEFAULTLANGUAGE, "0809")
1067 LOCVAL(LOCALE_IDEFAULTCOUNTRY, "44")
1068 LOCVAL(LOCALE_IDEFAULTCODEPAGE, "850")
1069 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE, "1252")
1070 LOCVAL(LOCALE_SLIST, ",")
1071 LOCVAL(LOCALE_IMEASURE, "0")
1072 LOCVAL(LOCALE_SDECIMAL, ".")
1073 LOCVAL(LOCALE_STHOUSAND, ",")
1074 LOCVAL(LOCALE_SGROUPING, "3;0")
1075 LOCVAL(LOCALE_IDIGITS, "2")
1076 LOCVAL(LOCALE_ILZERO, "1")
1077 LOCVAL(LOCALE_INEGNUMBER, "1")
1078 LOCVAL(LOCALE_SNATIVEDIGITS, "0123456789")
1079 LOCVAL(LOCALE_SCURRENCY, "£")
1080 LOCVAL(LOCALE_SINTLSYMBOL, "GBP")
1081 LOCVAL(LOCALE_SMONDECIMALSEP, ".")
1082 LOCVAL(LOCALE_SMONTHOUSANDSEP, ",")
1083 LOCVAL(LOCALE_SMONGROUPING, "3;0")
1084 LOCVAL(LOCALE_ICURRDIGITS, "2")
1085 LOCVAL(LOCALE_IINTLCURRDIGITS, "2")
1086 LOCVAL(LOCALE_ICURRENCY, "0")
1087 LOCVAL(LOCALE_INEGCURR, "1")
1088 LOCVAL(LOCALE_SDATE, "/")
1089 LOCVAL(LOCALE_STIME, ":")
1090 LOCVAL(LOCALE_SSHORTDATE, "dd/MM/yy")
1091 LOCVAL(LOCALE_SLONGDATE, "dd MMMM yyyy")
1092 LOCVAL(LOCALE_STIMEFORMAT, "HH:mm:ss")
1093 LOCVAL(LOCALE_IDATE, "1")
1094 LOCVAL(LOCALE_ILDATE, "1")
1095 LOCVAL(LOCALE_ITIME, "1")
1096 LOCVAL(LOCALE_ITIMEMARKPOSN, "0")
1097 LOCVAL(LOCALE_ICENTURY, "0")
1098 LOCVAL(LOCALE_ITLZERO, "1")
1099 LOCVAL(LOCALE_IDAYLZERO, "1")
1100 LOCVAL(LOCALE_IMONLZERO, "1")
1101 LOCVAL(LOCALE_S1159, "")
1102 LOCVAL(LOCALE_S2359, "")
1103 LOCVAL(LOCALE_ICALENDARTYPE, "1")
1104 LOCVAL(LOCALE_IOPTIONALCALENDAR, "0")
1105 LOCVAL(LOCALE_IFIRSTDAYOFWEEK, "0")
1106 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR, "0")
1107 LOCVAL(LOCALE_SDAYNAME1, "Monday")
1108 LOCVAL(LOCALE_SDAYNAME2, "Tuesday")
1109 LOCVAL(LOCALE_SDAYNAME3, "Wednesday")
1110 LOCVAL(LOCALE_SDAYNAME4, "Thursday")
1111 LOCVAL(LOCALE_SDAYNAME5, "Friday")
1112 LOCVAL(LOCALE_SDAYNAME6, "Saturday")
1113 LOCVAL(LOCALE_SDAYNAME7, "Sunday")
1114 LOCVAL(LOCALE_SABBREVDAYNAME1, "Mon")
1115 LOCVAL(LOCALE_SABBREVDAYNAME2, "Tue")
1116 LOCVAL(LOCALE_SABBREVDAYNAME3, "Wed")
1117 LOCVAL(LOCALE_SABBREVDAYNAME4, "Thu")
1118 LOCVAL(LOCALE_SABBREVDAYNAME5, "Fri")
1119 LOCVAL(LOCALE_SABBREVDAYNAME6, "Sat")
1120 LOCVAL(LOCALE_SABBREVDAYNAME7, "Sun")
1121 LOCVAL(LOCALE_SMONTHNAME1, "January")
1122 LOCVAL(LOCALE_SMONTHNAME2, "February")
1123 LOCVAL(LOCALE_SMONTHNAME3, "March")
1124 LOCVAL(LOCALE_SMONTHNAME4, "April")
1125 LOCVAL(LOCALE_SMONTHNAME5, "May")
1126 LOCVAL(LOCALE_SMONTHNAME6, "June")
1127 LOCVAL(LOCALE_SMONTHNAME7, "July")
1128 LOCVAL(LOCALE_SMONTHNAME8, "August")
1129 LOCVAL(LOCALE_SMONTHNAME9, "September")
1130 LOCVAL(LOCALE_SMONTHNAME10, "October")
1131 LOCVAL(LOCALE_SMONTHNAME11, "November")
1132 LOCVAL(LOCALE_SMONTHNAME12, "December")
1133 LOCVAL(LOCALE_SMONTHNAME13, "")
1134 LOCVAL(LOCALE_SABBREVMONTHNAME1, "Jan")
1135 LOCVAL(LOCALE_SABBREVMONTHNAME2, "Feb")
1136 LOCVAL(LOCALE_SABBREVMONTHNAME3, "Mar")
1137 LOCVAL(LOCALE_SABBREVMONTHNAME4, "Apr")
1138 LOCVAL(LOCALE_SABBREVMONTHNAME5, "May")
1139 LOCVAL(LOCALE_SABBREVMONTHNAME6, "Jun")
1140 LOCVAL(LOCALE_SABBREVMONTHNAME7, "Jul")
1141 LOCVAL(LOCALE_SABBREVMONTHNAME8, "Aug")
1142 LOCVAL(LOCALE_SABBREVMONTHNAME9, "Sep")
1143 LOCVAL(LOCALE_SABBREVMONTHNAME10, "Oct")
1144 LOCVAL(LOCALE_SABBREVMONTHNAME11, "Nov")
1145 LOCVAL(LOCALE_SABBREVMONTHNAME12, "Dec")
1146 LOCVAL(LOCALE_SABBREVMONTHNAME13, "")
1147 LOCVAL(LOCALE_SPOSITIVESIGN, "")
1148 LOCVAL(LOCALE_SNEGATIVESIGN, "-")
1149 LOCVAL(LOCALE_IPOSSIGNPOSN, "3")
1150 LOCVAL(LOCALE_INEGSIGNPOSN, "3")
1151 LOCVAL(LOCALE_IPOSSYMPRECEDES, "1")
1152 LOCVAL(LOCALE_IPOSSEPBYSPACE, "0")
1153 LOCVAL(LOCALE_INEGSYMPRECEDES, "1")
1154 LOCVAL(LOCALE_INEGSEPBYSPACE, "0")
1155 default: found=0;break;
1157 break; /* LANG(0x0809) (U.K. English) */
1159 case LANG_Ko: /* string using codepage 949 */
1160 switch (LCType) {
1161 LOCVAL(LOCALE_ILANGUAGE,"18")
1162 LOCVAL(LOCALE_SLANGUAGE,"\307\321\261\271\276\356")
1163 LOCVAL(LOCALE_SENGLANGUAGE,"Korean")
1164 LOCVAL(LOCALE_SABBREVLANGNAME,"KOR")
1165 LOCVAL(LOCALE_SNATIVELANGNAME,"\307\321\261\271\276\356")
1166 LOCVAL(LOCALE_ICOUNTRY,"82")
1167 LOCVAL(LOCALE_SCOUNTRY,"\264\353\307\321\271\316\261\271")
1168 LOCVAL(LOCALE_SENGCOUNTRY,"Korea (South)")
1169 LOCVAL(LOCALE_SABBREVCTRYNAME,"KOR")
1170 LOCVAL(LOCALE_SNATIVECTRYNAME,"\264\353\307\321\271\316\261\271")
1171 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"18")
1172 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"82")
1173 LOCVAL(LOCALE_IDEFAULTCODEPAGE,"949")
1174 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE,"949")
1175 LOCVAL(LOCALE_SLIST,",")
1176 LOCVAL(LOCALE_IMEASURE,"0")
1177 LOCVAL(LOCALE_SDECIMAL,".")
1178 LOCVAL(LOCALE_STHOUSAND,",")
1179 LOCVAL(LOCALE_SGROUPING,"3;0")
1180 LOCVAL(LOCALE_IDIGITS,"2")
1181 LOCVAL(LOCALE_ILZERO,"0")
1182 LOCVAL(LOCALE_INEGNUMBER,"1")
1183 LOCVAL(LOCALE_SNATIVEDIGITS,"0123456789")
1184 LOCVAL(LOCALE_SCURRENCY,"\\")
1185 LOCVAL(LOCALE_SINTLSYMBOL,"Won")
1186 LOCVAL(LOCALE_SMONDECIMALSEP,".")
1187 LOCVAL(LOCALE_SMONTHOUSANDSEP,",")
1188 LOCVAL(LOCALE_SMONGROUPING,"3;0")
1189 LOCVAL(LOCALE_ICURRDIGITS,"2")
1190 LOCVAL(LOCALE_IINTLCURRDIGITS,"2")
1191 LOCVAL(LOCALE_ICURRENCY,"3")
1192 LOCVAL(LOCALE_INEGCURR,"8")
1193 LOCVAL(LOCALE_SDATE,"/")
1194 LOCVAL(LOCALE_STIME,":")
1195 LOCVAL(LOCALE_SSHORTDATE,"yyyy/MM/dd")
1196 LOCVAL(LOCALE_SLONGDATE,"yyyy/MM/dd")
1197 LOCVAL(LOCALE_STIMEFORMAT,"h:mm:ss tt")
1198 LOCVAL(LOCALE_IDATE,"1")
1199 LOCVAL(LOCALE_ILDATE,"1")
1200 LOCVAL(LOCALE_ITIME,"1")
1201 LOCVAL(LOCALE_ITIMEMARKPOSN,"0")
1202 LOCVAL(LOCALE_ICENTURY,"0")
1203 LOCVAL(LOCALE_ITLZERO,"0")
1204 LOCVAL(LOCALE_IDAYLZERO,"0")
1205 LOCVAL(LOCALE_IMONLZERO,"0")
1206 LOCVAL(LOCALE_S1159,"\277\300\300\374")
1207 LOCVAL(LOCALE_S2359,"\277\300\310\304")
1208 LOCVAL(LOCALE_ICALENDARTYPE,"1")
1209 /* Korean Tangun Era calendar */
1210 LOCVAL(LOCALE_IOPTIONALCALENDAR,"5")
1211 LOCVAL(LOCALE_IFIRSTDAYOFWEEK,"6")
1212 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR,"0")
1213 LOCVAL(LOCALE_SDAYNAME1,"\277\371\277\344\300\317")
1214 LOCVAL(LOCALE_SDAYNAME2,"\310\255\277\344\300\317")
1215 LOCVAL(LOCALE_SDAYNAME3,"\274\366\277\344\300\317")
1216 LOCVAL(LOCALE_SDAYNAME4,"\270\361\277\344\300\317")
1217 LOCVAL(LOCALE_SDAYNAME5,"\261\335\277\344\300\317")
1218 LOCVAL(LOCALE_SDAYNAME6,"\305\344\277\344\300\317")
1219 LOCVAL(LOCALE_SDAYNAME7,"\300\317\277\344\300\317")
1220 LOCVAL(LOCALE_SABBREVDAYNAME1,"\277\371")
1221 LOCVAL(LOCALE_SABBREVDAYNAME2,"\310\255")
1222 LOCVAL(LOCALE_SABBREVDAYNAME3,"\274\366")
1223 LOCVAL(LOCALE_SABBREVDAYNAME4,"\270\361")
1224 LOCVAL(LOCALE_SABBREVDAYNAME5,"\261\335")
1225 LOCVAL(LOCALE_SABBREVDAYNAME6,"\305\344")
1226 LOCVAL(LOCALE_SABBREVDAYNAME7,"\300\317")
1227 LOCVAL(LOCALE_SMONTHNAME1,"1\277\371")
1228 LOCVAL(LOCALE_SMONTHNAME2,"2\277\371")
1229 LOCVAL(LOCALE_SMONTHNAME3,"3\277\371")
1230 LOCVAL(LOCALE_SMONTHNAME4,"4\277\371")
1231 LOCVAL(LOCALE_SMONTHNAME5,"5\277\371")
1232 LOCVAL(LOCALE_SMONTHNAME6,"6\277\371")
1233 LOCVAL(LOCALE_SMONTHNAME7,"7\277\371")
1234 LOCVAL(LOCALE_SMONTHNAME8,"8\277\371")
1235 LOCVAL(LOCALE_SMONTHNAME9,"9\277\371")
1236 LOCVAL(LOCALE_SMONTHNAME10,"10\277\371")
1237 LOCVAL(LOCALE_SMONTHNAME11,"11\277\371")
1238 LOCVAL(LOCALE_SMONTHNAME12,"12\277\371")
1239 LOCVAL(LOCALE_SMONTHNAME13,"")
1240 LOCVAL(LOCALE_SABBREVMONTHNAME1,"1\277\371")
1241 LOCVAL(LOCALE_SABBREVMONTHNAME2,"2\277\371")
1242 LOCVAL(LOCALE_SABBREVMONTHNAME3,"3\277\371")
1243 LOCVAL(LOCALE_SABBREVMONTHNAME4,"4\277\371")
1244 LOCVAL(LOCALE_SABBREVMONTHNAME5,"5\277\371")
1245 LOCVAL(LOCALE_SABBREVMONTHNAME6,"6\277\371")
1246 LOCVAL(LOCALE_SABBREVMONTHNAME7,"7\277\371")
1247 LOCVAL(LOCALE_SABBREVMONTHNAME8,"8\277\371")
1248 LOCVAL(LOCALE_SABBREVMONTHNAME9,"9\277\371")
1249 LOCVAL(LOCALE_SABBREVMONTHNAME10,"10\277\371")
1250 LOCVAL(LOCALE_SABBREVMONTHNAME11,"11\277\371")
1251 LOCVAL(LOCALE_SABBREVMONTHNAME12,"12\277\371")
1252 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
1253 LOCVAL(LOCALE_SPOSITIVESIGN,"")
1254 LOCVAL(LOCALE_SNEGATIVESIGN,"-")
1255 LOCVAL(LOCALE_IPOSSIGNPOSN,"3")
1256 LOCVAL(LOCALE_INEGSIGNPOSN,"0")
1257 LOCVAL(LOCALE_IPOSSYMPRECEDES,"3")
1258 LOCVAL(LOCALE_IPOSSEPBYSPACE,"0")
1259 LOCVAL(LOCALE_INEGSYMPRECEDES,"3")
1260 LOCVAL(LOCALE_INEGSEPBYSPACE,"0")
1261 default: found=0;break;
1263 break; /* LANG(Ko) */
1265 case LANG_Hu:
1266 switch (LCType) {
1267 LOCVAL(LOCALE_ILANGUAGE,"9")
1268 LOCVAL(LOCALE_SLANGUAGE,"Magyar")
1269 LOCVAL(LOCALE_SENGLANGUAGE,"Hungarian")
1270 LOCVAL(LOCALE_SABBREVLANGNAME,"hun")
1271 LOCVAL(LOCALE_SNATIVELANGNAME,"Magyar")
1272 LOCVAL(LOCALE_ICOUNTRY,"36")
1273 LOCVAL(LOCALE_SCOUNTRY,"Magyarország")
1274 LOCVAL(LOCALE_SENGCOUNTRY,"Hungary")
1275 LOCVAL(LOCALE_SABBREVCTRYNAME,"Hu")
1276 LOCVAL(LOCALE_SNATIVECTRYNAME,"Magyarország")
1277 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
1278 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"36")
1279 LOCVAL(LOCALE_IDEFAULTCODEPAGE,"852")
1280 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE,"852")
1281 LOCVAL(LOCALE_SLIST,";")
1282 LOCVAL(LOCALE_IMEASURE,"0")
1283 LOCVAL(LOCALE_SDECIMAL,".")
1284 LOCVAL(LOCALE_STHOUSAND,",")
1286 LOCVAL(LOCALE_SGROUPING)
1288 LOCVAL(LOCALE_IDIGITS,"2")
1289 LOCVAL(LOCALE_ILZERO,"1")
1291 LOCVAL(LOCALE_INEGNUMBER)
1292 Is this "0123456789" ??
1293 LOCVAL(LOCALE_SNATIVEDIGITS)
1295 LOCVAL(LOCALE_SCURRENCY,"Ft")
1297 LOCVAL(LOCALE_SINTLSYMBOL)
1298 LOCVAL(LOCALE_SMONDECIMALSEP)
1299 LOCVAL(LOCALE_SMONTHOUSANDSEP)
1300 LOCVAL(LOCALE_SMONGROUPING)
1302 LOCVAL(LOCALE_ICURRDIGITS,"0")
1304 LOCVAL(LOCALE_IINTLCURRDIGITS)
1306 LOCVAL(LOCALE_ICURRENCY,"3")
1307 LOCVAL(LOCALE_INEGCURR,"8")
1308 LOCVAL(LOCALE_SDATE,"/")
1309 LOCVAL(LOCALE_STIME,":")
1310 LOCVAL(LOCALE_SSHORTDATE,"yyyy.MM.dd")
1311 LOCVAL(LOCALE_SLONGDATE,"ddd, yyyy. MMMM d")
1313 LOCVAL(LOCALE_STIMEFORMAT)
1315 LOCVAL(LOCALE_IDATE,"1")
1317 LOCVAL(LOCALE_ILDATE)
1319 LOCVAL(LOCALE_ITIME,"1")
1321 LOCVAL(LOCALE_ITIMEMARKPOSN)
1322 LOCVAL(LOCALE_ICENTURY)
1324 LOCVAL(LOCALE_ITLZERO,"1")
1326 LOCVAL(LOCALE_IDAYLZERO)
1327 LOCVAL(LOCALE_IMONLZERO)
1328 LOCVAL(LOCALE_S1159)
1329 LOCVAL(LOCALE_S2359)
1330 LOCVAL(LOCALE_ICALENDARTYPE)
1331 LOCVAL(LOCALE_IOPTIONALCALENDAR)
1332 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
1333 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
1335 LOCVAL(LOCALE_SDAYNAME1,"Hétfõ")
1336 LOCVAL(LOCALE_SDAYNAME2,"Kedd")
1337 LOCVAL(LOCALE_SDAYNAME3,"Szerda")
1338 LOCVAL(LOCALE_SDAYNAME4,"Csütörtök")
1339 LOCVAL(LOCALE_SDAYNAME5,"Péntek")
1340 LOCVAL(LOCALE_SDAYNAME6,"Szombat")
1341 LOCVAL(LOCALE_SDAYNAME7,"Vasárnap")
1342 LOCVAL(LOCALE_SABBREVDAYNAME1,"Hé")
1343 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ke")
1344 LOCVAL(LOCALE_SABBREVDAYNAME3,"Se")
1345 LOCVAL(LOCALE_SABBREVDAYNAME4,"Cs")
1346 LOCVAL(LOCALE_SABBREVDAYNAME5,"Pé")
1347 LOCVAL(LOCALE_SABBREVDAYNAME6,"So")
1348 LOCVAL(LOCALE_SABBREVDAYNAME7,"Va")
1349 LOCVAL(LOCALE_SMONTHNAME1,"Január")
1350 LOCVAL(LOCALE_SMONTHNAME2,"Február")
1351 LOCVAL(LOCALE_SMONTHNAME3,"Március")
1352 LOCVAL(LOCALE_SMONTHNAME4,"Április")
1353 LOCVAL(LOCALE_SMONTHNAME5,"Május")
1354 LOCVAL(LOCALE_SMONTHNAME6,"Június")
1355 LOCVAL(LOCALE_SMONTHNAME7,"Július")
1356 LOCVAL(LOCALE_SMONTHNAME8,"Augusztus")
1357 LOCVAL(LOCALE_SMONTHNAME9,"Szeptember")
1358 LOCVAL(LOCALE_SMONTHNAME10,"Október")
1359 LOCVAL(LOCALE_SMONTHNAME11,"November")
1360 LOCVAL(LOCALE_SMONTHNAME12,"December")
1361 LOCVAL(LOCALE_SMONTHNAME13,"")
1362 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
1363 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
1364 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Már")
1365 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Ápr")
1366 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Máj")
1367 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jún")
1368 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Júl")
1369 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
1370 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sze")
1371 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
1372 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
1373 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dec")
1374 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
1376 LOCVAL(LOCALE_SPOSITIVESIGN)
1377 LOCVAL(LOCALE_SNEGATIVESIGN)
1378 LOCVAL(LOCALE_IPOSSIGNPOSN)
1379 LOCVAL(LOCALE_INEGSIGNPOSN)
1380 LOCVAL(LOCALE_IPOSSYMPRECEDES)
1381 LOCVAL(LOCALE_IPOSSEPBYSPACE)
1382 LOCVAL(LOCALE_INEGSYMPRECEDES)
1383 LOCVAL(LOCALE_INEGSEPBYSPACE)
1385 default: found=0;break;
1387 break; /* LANG(En) */
1389 case LANG_Pl:
1390 switch (LCType) {
1391 LOCVAL(LOCALE_ILANGUAGE,"9")
1392 LOCVAL(LOCALE_SLANGUAGE,"Polski")
1393 LOCVAL(LOCALE_SENGLANGUAGE,"Polish")
1394 LOCVAL(LOCALE_SABBREVLANGNAME, "pol")
1395 LOCVAL(LOCALE_SNATIVELANGNAME,"Polski")
1396 LOCVAL(LOCALE_ICOUNTRY,"49")
1397 LOCVAL(LOCALE_SCOUNTRY,"Polska")
1398 LOCVAL(LOCALE_SENGCOUNTRY,"Poland")
1399 LOCVAL(LOCALE_SABBREVCTRYNAME,"Pl")
1400 LOCVAL(LOCALE_SNATIVECTRYNAME,"Polska")
1401 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
1402 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49")
1403 LOCVAL(LOCALE_IDEFAULTCODEPAGE,"1252")
1404 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE,"1252")
1405 LOCVAL(LOCALE_SLIST,";")
1406 LOCVAL(LOCALE_IMEASURE,"0")
1407 LOCVAL(LOCALE_SDECIMAL,",")
1408 LOCVAL(LOCALE_STHOUSAND," ")
1410 LOCVAL(LOCALE_SGROUPING)
1412 LOCVAL(LOCALE_IDIGITS,"2")
1413 LOCVAL(LOCALE_ILZERO,"1")
1415 LOCVAL(LOCALE_INEGNUMBER)
1416 Is this "0123456789" ??
1417 LOCVAL(LOCALE_SNATIVEDIGITS)
1419 LOCVAL(LOCALE_SCURRENCY,"z\xB3")
1421 LOCVAL(LOCALE_SINTLSYMBOL)
1422 LOCVAL(LOCALE_SMONDECIMALSEP)
1423 LOCVAL(LOCALE_SMONTHOUSANDSEP)
1424 LOCVAL(LOCALE_SMONGROUPING)
1426 LOCVAL(LOCALE_ICURRDIGITS,"2")
1428 LOCVAL(LOCALE_IINTLCURRDIGITS)
1430 LOCVAL(LOCALE_ICURRENCY,"3")
1431 LOCVAL(LOCALE_INEGCURR,"8")
1432 LOCVAL(LOCALE_SDATE,".")
1433 LOCVAL(LOCALE_STIME,":")
1434 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
1435 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
1437 LOCVAL(LOCALE_STIMEFORMAT)
1439 LOCVAL(LOCALE_IDATE,"1")
1441 LOCVAL(LOCALE_ILDATE)
1443 LOCVAL(LOCALE_ITIME,"1")
1445 LOCVAL(LOCALE_ITIMEMARKPOSN)
1446 LOCVAL(LOCALE_ICENTURY)
1448 LOCVAL(LOCALE_ITLZERO,"1")
1450 LOCVAL(LOCALE_IDAYLZERO)
1451 LOCVAL(LOCALE_IMONLZERO)
1452 LOCVAL(LOCALE_S1159)
1453 LOCVAL(LOCALE_S2359)
1454 LOCVAL(LOCALE_ICALENDARTYPE)
1455 LOCVAL(LOCALE_IOPTIONALCALENDAR)
1456 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
1457 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
1459 LOCVAL(LOCALE_SDAYNAME1,"Poniedzia\263ek")
1460 LOCVAL(LOCALE_SDAYNAME2,"Wtorek")
1461 LOCVAL(LOCALE_SDAYNAME3,"Sroda")
1462 LOCVAL(LOCALE_SDAYNAME4,"Czwartek")
1463 LOCVAL(LOCALE_SDAYNAME5,"Pi\xB9tek")
1464 LOCVAL(LOCALE_SDAYNAME6,"Sobota")
1465 LOCVAL(LOCALE_SDAYNAME7,"Niedziela")
1466 LOCVAL(LOCALE_SABBREVDAYNAME1,"Po")
1467 LOCVAL(LOCALE_SABBREVDAYNAME2,"Wt")
1468 LOCVAL(LOCALE_SABBREVDAYNAME3,"Sr")
1469 LOCVAL(LOCALE_SABBREVDAYNAME4,"Cz")
1470 LOCVAL(LOCALE_SABBREVDAYNAME5,"Pt")
1471 LOCVAL(LOCALE_SABBREVDAYNAME6,"So")
1472 LOCVAL(LOCALE_SABBREVDAYNAME7,"Ni")
1473 LOCVAL(LOCALE_SMONTHNAME1,"Stycze\xF1")
1474 LOCVAL(LOCALE_SMONTHNAME2,"Luty")
1475 LOCVAL(LOCALE_SMONTHNAME3,"Marzec")
1476 LOCVAL(LOCALE_SMONTHNAME4,"Kwiecie\xF1")
1477 LOCVAL(LOCALE_SMONTHNAME5,"Maj")
1478 LOCVAL(LOCALE_SMONTHNAME6,"Czerwiec")
1479 LOCVAL(LOCALE_SMONTHNAME7,"Lipiec")
1480 LOCVAL(LOCALE_SMONTHNAME8,"Sierpie\xF1")
1481 LOCVAL(LOCALE_SMONTHNAME9,"Wrzesie\xF1")
1482 LOCVAL(LOCALE_SMONTHNAME10,"Pa\237dziernik")
1483 LOCVAL(LOCALE_SMONTHNAME11,"Listapad")
1484 LOCVAL(LOCALE_SMONTHNAME12,"Grudzie\xF1")
1485 LOCVAL(LOCALE_SMONTHNAME13,"")
1486 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Sty")
1487 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Lut")
1488 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mar")
1489 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Kwi")
1490 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Maj")
1491 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Cze")
1492 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Lip")
1493 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Sie")
1494 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Wrz")
1495 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Pa\x9F")
1496 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Lis")
1497 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Gru")
1498 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
1500 LOCVAL(LOCALE_SPOSITIVESIGN)
1501 LOCVAL(LOCALE_SNEGATIVESIGN)
1502 LOCVAL(LOCALE_IPOSSIGNPOSN)
1503 LOCVAL(LOCALE_INEGSIGNPOSN)
1504 LOCVAL(LOCALE_IPOSSYMPRECEDES)
1505 LOCVAL(LOCALE_IPOSSEPBYSPACE)
1506 LOCVAL(LOCALE_INEGSYMPRECEDES)
1507 LOCVAL(LOCALE_INEGSEPBYSPACE)
1509 default: found=0;break;
1511 break; /* LANG(Pl) */
1513 case LANG_Po:
1514 switch (LCType) {
1515 LOCVAL(LOCALE_ILANGUAGE, "0416")
1516 LOCVAL(LOCALE_SLANGUAGE, "Portugu\352s (Brasil)")
1517 LOCVAL(LOCALE_SENGLANGUAGE, "Protuguese")
1518 LOCVAL(LOCALE_SABBREVLANGNAME, "POR")
1519 LOCVAL(LOCALE_SNATIVELANGNAME, "Portugu\352s")
1520 LOCVAL(LOCALE_ICOUNTRY, "1")
1521 LOCVAL(LOCALE_SCOUNTRY, "Brasil")
1522 LOCVAL(LOCALE_SENGCOUNTRY, "Brazil")
1523 LOCVAL(LOCALE_SABBREVCTRYNAME, "BRA")
1524 LOCVAL(LOCALE_SNATIVECTRYNAME, "Brasil")
1525 LOCVAL(LOCALE_IDEFAULTLANGUAGE, "0409")
1526 LOCVAL(LOCALE_IDEFAULTCOUNTRY, "1")
1527 LOCVAL(LOCALE_IDEFAULTCODEPAGE, "437")
1528 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE, "1252")
1529 LOCVAL(LOCALE_SLIST, ";")
1530 LOCVAL(LOCALE_IMEASURE, "1")
1531 LOCVAL(LOCALE_SDECIMAL, ",")
1532 LOCVAL(LOCALE_STHOUSAND, ".")
1533 LOCVAL(LOCALE_SGROUPING, "3;0")
1534 LOCVAL(LOCALE_IDIGITS, "2")
1535 LOCVAL(LOCALE_ILZERO, "1")
1536 LOCVAL(LOCALE_INEGNUMBER, "1")
1537 LOCVAL(LOCALE_SNATIVEDIGITS, "0123456789")
1538 LOCVAL(LOCALE_SCURRENCY, "$")
1539 LOCVAL(LOCALE_SINTLSYMBOL, "USD")
1540 LOCVAL(LOCALE_SMONDECIMALSEP, ",")
1541 LOCVAL(LOCALE_SMONTHOUSANDSEP, ".")
1542 LOCVAL(LOCALE_SMONGROUPING, "3;0")
1543 LOCVAL(LOCALE_ICURRDIGITS, "2")
1544 LOCVAL(LOCALE_IINTLCURRDIGITS, "2")
1545 LOCVAL(LOCALE_ICURRENCY, "0")
1546 LOCVAL(LOCALE_INEGCURR, "0")
1547 LOCVAL(LOCALE_SDATE, "/")
1548 LOCVAL(LOCALE_STIME, ":")
1549 LOCVAL(LOCALE_SSHORTDATE, "dd/MM/yy")
1550 LOCVAL(LOCALE_SLONGDATE, "dddd, MMMM dd, yyyy")
1551 LOCVAL(LOCALE_STIMEFORMAT, "h:mm:ss tt")
1552 LOCVAL(LOCALE_IDATE, "0")
1553 LOCVAL(LOCALE_ILDATE, "0")
1554 LOCVAL(LOCALE_ITIME, "0")
1555 LOCVAL(LOCALE_ITIMEMARKPOSN, "0")
1556 LOCVAL(LOCALE_ICENTURY, "0")
1557 LOCVAL(LOCALE_ITLZERO, "0")
1558 LOCVAL(LOCALE_IDAYLZERO, "0")
1559 LOCVAL(LOCALE_IMONLZERO, "0")
1560 LOCVAL(LOCALE_S1159, "AM")
1561 LOCVAL(LOCALE_S2359, "PM")
1562 LOCVAL(LOCALE_ICALENDARTYPE, "1")
1563 LOCVAL(LOCALE_IOPTIONALCALENDAR, "0")
1564 LOCVAL(LOCALE_IFIRSTDAYOFWEEK, "6")
1565 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR, "0")
1566 LOCVAL(LOCALE_SDAYNAME1, "Segunda")
1567 LOCVAL(LOCALE_SDAYNAME2, "Ter\347a")
1568 LOCVAL(LOCALE_SDAYNAME3, "Quarta")
1569 LOCVAL(LOCALE_SDAYNAME4, "Quinta")
1570 LOCVAL(LOCALE_SDAYNAME5, "Sexta")
1571 LOCVAL(LOCALE_SDAYNAME6, "S\341bado")
1572 LOCVAL(LOCALE_SDAYNAME7, "Domingo")
1573 LOCVAL(LOCALE_SABBREVDAYNAME1, "Seg")
1574 LOCVAL(LOCALE_SABBREVDAYNAME2, "Ter")
1575 LOCVAL(LOCALE_SABBREVDAYNAME3, "Qua")
1576 LOCVAL(LOCALE_SABBREVDAYNAME4, "Qui")
1577 LOCVAL(LOCALE_SABBREVDAYNAME5, "Sex")
1578 LOCVAL(LOCALE_SABBREVDAYNAME6, "S\341b")
1579 LOCVAL(LOCALE_SABBREVDAYNAME7, "Dom")
1580 LOCVAL(LOCALE_SMONTHNAME1, "Janeiro")
1581 LOCVAL(LOCALE_SMONTHNAME2, "Fevereiro")
1582 LOCVAL(LOCALE_SMONTHNAME3, "Mar\347o")
1583 LOCVAL(LOCALE_SMONTHNAME4, "Abril")
1584 LOCVAL(LOCALE_SMONTHNAME5, "Maio")
1585 LOCVAL(LOCALE_SMONTHNAME6, "Junho")
1586 LOCVAL(LOCALE_SMONTHNAME7, "Julho")
1587 LOCVAL(LOCALE_SMONTHNAME8, "Agosto")
1588 LOCVAL(LOCALE_SMONTHNAME9, "Setembro")
1589 LOCVAL(LOCALE_SMONTHNAME10, "Outubro")
1590 LOCVAL(LOCALE_SMONTHNAME11, "Novembro")
1591 LOCVAL(LOCALE_SMONTHNAME12, "Dezembro")
1592 LOCVAL(LOCALE_SMONTHNAME13, "")
1593 LOCVAL(LOCALE_SABBREVMONTHNAME1, "Jan")
1594 LOCVAL(LOCALE_SABBREVMONTHNAME2, "Fev")
1595 LOCVAL(LOCALE_SABBREVMONTHNAME3, "Mar")
1596 LOCVAL(LOCALE_SABBREVMONTHNAME4, "Abr")
1597 LOCVAL(LOCALE_SABBREVMONTHNAME5, "Mai")
1598 LOCVAL(LOCALE_SABBREVMONTHNAME6, "Jun")
1599 LOCVAL(LOCALE_SABBREVMONTHNAME7, "Jul")
1600 LOCVAL(LOCALE_SABBREVMONTHNAME8, "Ago")
1601 LOCVAL(LOCALE_SABBREVMONTHNAME9, "Set")
1602 LOCVAL(LOCALE_SABBREVMONTHNAME10, "Out")
1603 LOCVAL(LOCALE_SABBREVMONTHNAME11, "Nov")
1604 LOCVAL(LOCALE_SABBREVMONTHNAME12, "Dez")
1605 LOCVAL(LOCALE_SABBREVMONTHNAME13, "")
1606 LOCVAL(LOCALE_SPOSITIVESIGN, "")
1607 LOCVAL(LOCALE_SNEGATIVESIGN, "-")
1608 LOCVAL(LOCALE_IPOSSIGNPOSN, "3")
1609 LOCVAL(LOCALE_INEGSIGNPOSN, "0")
1610 LOCVAL(LOCALE_IPOSSYMPRECEDES, "1")
1611 LOCVAL(LOCALE_IPOSSEPBYSPACE, "0")
1612 LOCVAL(LOCALE_INEGSYMPRECEDES, "1")
1613 LOCVAL(LOCALE_INEGSEPBYSPACE, "0")
1614 default: found=0;break;
1616 break; /* LANG(Po) */
1619 /*Insert other languages here*/
1621 default:
1622 found=0;
1623 break;
1624 } /* switch */
1626 if(!found) {
1627 fprintf(stderr,"'%s' not supported for your language.\n",
1628 retString);
1629 return 0;
1631 if (buf)
1632 lstrcpyn32A(buf,retString,len);
1633 return strlen(retString)+1;
1636 /***********************************************************************
1637 * GetLocaleInfo32W (KERNEL32.230)
1638 * Is the last parameter really WORD for Win16?
1640 INT32 GetLocaleInfo32W(LCID lcid,LCTYPE LCType,LPWSTR wbuf,INT32 len)
1642 int i;
1643 LPSTR abuf = (LPSTR) wbuf;
1644 INT32 n = GetLocaleInfoA(lcid, LCType, abuf, len);
1645 if (wbuf)
1646 for (i = n; i > 0; --i)
1647 wbuf[i] = abuf[i];
1648 return n;
1651 /***********************************************************************
1652 * CompareString16 (OLE2NLS.8)
1654 UINT16 CompareString16(DWORD lcid,DWORD fdwStyle,
1655 LPCSTR s1,DWORD l1,LPCSTR s2,DWORD l2)
1657 return (UINT16)CompareString32A(lcid,fdwStyle,s1,l1,s2,l2);
1660 /***********************************************************************
1661 * CompareString32A (KERNEL32.29)
1662 * This implementation ignores the locale
1663 * FIXME
1665 UINT32 CompareString32A(DWORD lcid, DWORD fdwStyle,
1666 LPCSTR s1, DWORD l1, LPCSTR s2,DWORD l2)
1668 int len,ret;
1669 if(fdwStyle & NORM_IGNORENONSPACE)
1671 fprintf(stdnimp, "CompareStringA: IGNORENONSPACE not supprted\n");
1673 if(fdwStyle & NORM_IGNORESYMBOLS)
1674 fprintf(stdnimp, "CompareStringA: IGNORESYMBOLS not supported\n");
1675 /* Is strcmp defaulting to string sort or to word sort?? */
1676 /* FIXME: Handle NORM_STRINGSORT */
1677 l1 = (l1==-1)?strlen(s1):l1;
1678 l2 = (l2==-1)?strlen(s2):l2;
1679 len = l1<l2 ? l1:l2;
1680 ret = (fdwStyle & NORM_IGNORECASE) ?
1681 lstrncmpi32A(s1,s2,len) : lstrncmp32A(s1,s2,len);
1682 /* not equal, return 1 or 3 */
1683 if(ret!=0)return ret+2;
1684 /* same len, return 2 */
1685 if(l1==l2)return 2;
1686 /* the longer one is lexically greater */
1687 return (l1<l2)? 1 : 3;
1690 /***********************************************************************
1691 * CompareString32W (KERNEL32.30)
1692 * This implementation ignores the locale
1693 * FIXME
1695 UINT32 CompareString32W(DWORD lcid, DWORD fdwStyle,
1696 LPCWSTR s1, DWORD l1, LPCWSTR s2,DWORD l2)
1698 int len,ret;
1699 if(fdwStyle & NORM_IGNORENONSPACE)
1700 fprintf(stdnimp,"CompareStringW:IGNORENONSPACE not supprted\n");
1701 if(fdwStyle & NORM_IGNORESYMBOLS)
1702 fprintf(stdnimp,"CompareStringW:IGNORESYMBOLS not supported\n");
1704 /* Is strcmp defaulting to string sort or to word sort?? */
1705 /* FIXME: Handle NORM_STRINGSORT */
1706 l1 = (l1==-1)?lstrlen32W(s1):l1;
1707 l2 = (l2==-1)?lstrlen32W(s2):l2;
1708 len = l1<l2 ? l1:l2;
1709 ret = (fdwStyle & NORM_IGNORECASE) ?
1710 lstrncmpi32W(s1,s2,len) : lstrncmp32W(s1,s2,len);
1711 /* not equal, return 1 or 3 */
1712 if(ret!=0) return ret+2;
1713 /* same len, return 2 */
1714 if(l1==l2) return 2;
1715 /* the longer one is lexically greater */
1716 return (l1<l2)? 1 : 3;
1719 /***********************************************************************
1720 * SetLocalInfoA (KERNEL32.499)
1722 BOOL16 SetLocaleInfoA(DWORD lcid, DWORD lctype, LPCSTR data)
1724 fprintf(stdnimp,"SetLocaleInfoA(%ld,%ld,%s)\n",lcid,lctype,data);
1725 return TRUE;
1728 /***********************************************************************
1729 * IsValidLocale (KERNEL32.361)
1731 BOOL32 IsValidLocale(DWORD lcid,DWORD flags) {
1732 int i;
1734 i=0;
1735 while (locale_name2id[i].name!=NULL)
1736 if (locale_name2id[i].id == lcid)
1737 return TRUE;
1738 return FALSE;
1741 /***********************************************************************
1742 * EnumSystemLocales32W (KERNEL32.93)
1744 BOOL32 EnumSystemLocales32W( LOCALE_ENUMPROC32W lpfnLocaleEnum, DWORD flags )
1746 int i;
1747 BOOL32 ret;
1749 dprintf_win32(stddeb,"EnumSystemLocales32W(%p,%08lx)\n",
1750 lpfnLocaleEnum,flags );
1751 i=0;
1752 while (locale_name2id[i].name!=NULL)
1754 LPWSTR cp = HEAP_strdupAtoW( GetProcessHeap(), 0,
1755 locale_name2id[i].name );
1756 ret = lpfnLocaleEnum(cp);
1757 HeapFree( GetProcessHeap(), 0, cp );
1758 if (!ret) break;
1759 i++;
1761 return TRUE;
1764 /***********************************************************************
1765 * EnumSystemLocales32A (KERNEL32.92)
1767 BOOL32
1768 EnumSystemLocales32A(LOCALE_ENUMPROC32A lpfnLocaleEnum,DWORD flags) {
1769 int i;
1771 dprintf_win32(stddeb,"EnumSystemLocales32A(%p,%08lx)\n",
1772 lpfnLocaleEnum,flags
1774 i=0;
1775 while (locale_name2id[i].name!=NULL) {
1776 if (!lpfnLocaleEnum(locale_name2id[i].name))
1777 break;
1778 i++;
1780 return TRUE;
1783 /***********************************************************************
1784 * GetStringTypeA (OLE2NLS.7)
1786 BOOL16
1787 GetStringType16(LCID locale,DWORD dwInfoType,LPCSTR src,INT16 cchSrc,LPWORD chartype) {
1788 return GetStringTypeEx32A(locale,dwInfoType,src,cchSrc,chartype);
1790 /***********************************************************************
1791 * GetStringTypeA (KERNEL32.277)
1793 BOOL32
1794 GetStringType32A(LCID locale,DWORD dwInfoType,LPCSTR src,INT32 cchSrc,LPWORD chartype) {
1795 return GetStringTypeEx32A(locale,dwInfoType,src,cchSrc,chartype);
1797 /***********************************************************************
1798 * GetStringTypeExA (KERNEL32.276)
1800 BOOL32
1801 GetStringTypeEx32A(LCID locale,DWORD dwInfoType,LPCSTR src,INT32 cchSrc,LPWORD chartype) {
1802 int i;
1804 switch (dwInfoType) {
1805 case CT_CTYPE2:
1806 fprintf(stderr,"GetStringType32A:CT_CTYPE2 not supported.\n");
1807 return FALSE;
1808 case CT_CTYPE3:
1809 fprintf(stderr,"GetStringType32A:CT_CTYPE3 not supported.\n");
1810 return FALSE;
1811 default:break;
1813 if (cchSrc==-1)
1814 cchSrc=lstrlen32A(src);
1815 for (i=0;i<cchSrc;i++) {
1816 chartype[i] = 0;
1817 if (isdigit(src[i])) chartype[i]|=C1_DIGIT;
1818 if (isalpha(src[i])) chartype[i]|=C1_ALPHA;
1819 if (islower(src[i])) chartype[i]|=C1_LOWER;
1820 if (isupper(src[i])) chartype[i]|=C1_UPPER;
1821 if (isspace(src[i])) chartype[i]|=C1_SPACE;
1822 if (ispunct(src[i])) chartype[i]|=C1_PUNCT;
1823 if (iscntrl(src[i])) chartype[i]|=C1_CNTRL;
1824 if (isblank(src[i])) chartype[i]|=C1_BLANK;
1825 /* C1_XDIGIT */
1827 return TRUE;
1830 /***********************************************************************
1831 * GetStringTypeW (KERNEL32.279)
1832 * Yes, this is missing LCID locale. MS fault.
1834 BOOL32
1835 GetStringType32W(DWORD dwInfoType,LPCWSTR src,INT32 cchSrc,LPWORD chartype) {
1836 return GetStringTypeEx32W(0/*defaultlocale*/,dwInfoType,src,cchSrc,chartype);
1839 /***********************************************************************
1840 * GetStringTypeW (KERNEL32.278)
1841 * FIXME: unicode chars are assumed chars
1843 BOOL32
1844 GetStringTypeEx32W(LCID locale,DWORD dwInfoType,LPCWSTR src,INT32 cchSrc,LPWORD chartype) {
1845 int i;
1847 switch (dwInfoType) {
1848 case CT_CTYPE2:
1849 fprintf(stderr,"GetStringType32W:CT_CTYPE2 not supported.\n");
1850 return FALSE;
1851 case CT_CTYPE3:
1852 fprintf(stderr,"GetStringType32W:CT_CTYPE3 not supported.\n");
1853 return FALSE;
1854 default:break;
1856 if (cchSrc==-1)
1857 cchSrc=lstrlen32W(src);
1858 for (i=0;i<cchSrc;i++) {
1859 chartype[i] = 0;
1860 if (isdigit(src[i])) chartype[i]|=C1_DIGIT;
1861 if (isalpha(src[i])) chartype[i]|=C1_ALPHA;
1862 if (islower(src[i])) chartype[i]|=C1_LOWER;
1863 if (isupper(src[i])) chartype[i]|=C1_UPPER;
1864 if (isspace(src[i])) chartype[i]|=C1_SPACE;
1865 if (ispunct(src[i])) chartype[i]|=C1_PUNCT;
1866 if (iscntrl(src[i])) chartype[i]|=C1_CNTRL;
1867 if (isblank(src[i])) chartype[i]|=C1_BLANK;
1868 /* C1_XDIGIT */
1870 return TRUE;