Release 970215
[wine/hacks.git] / misc / ole2nls.c
blob6cb3b1d0401d71d1df2f7d7c3dd9d28073f9b58b
1 /*
2 * OLE2NLS library
4 * Copyright 1995 Martin von Loewis
5 */
7 #include <string.h>
8 #include <malloc.h>
9 #include "windows.h"
10 #include "heap.h"
11 #include "ole.h"
12 #include "options.h"
13 #include "winnls.h"
14 #include "stddebug.h"
15 #include "debug.h"
17 /* Locale name to id map. used by EnumSystemLocales, GetLocalInfoA
18 * MUST contain all #defines from winnls.h
19 * last entry has NULL name, 0 id.
20 */
21 #define LOCALE_ENTRY(x) {#x,LOCALE_##x}
22 static struct tagLOCALE_NAME2ID {
23 char *name;
24 DWORD id;
25 } locale_name2id[]= {
26 LOCALE_ENTRY(ILANGUAGE),
27 LOCALE_ENTRY(SLANGUAGE),
28 LOCALE_ENTRY(SENGLANGUAGE),
29 LOCALE_ENTRY(SABBREVLANGNAME),
30 LOCALE_ENTRY(SNATIVELANGNAME),
31 LOCALE_ENTRY(ICOUNTRY),
32 LOCALE_ENTRY(SCOUNTRY),
33 LOCALE_ENTRY(SENGCOUNTRY),
34 LOCALE_ENTRY(SABBREVCTRYNAME),
35 LOCALE_ENTRY(SNATIVECTRYNAME),
36 LOCALE_ENTRY(IDEFAULTLANGUAGE),
37 LOCALE_ENTRY(IDEFAULTCOUNTRY),
38 LOCALE_ENTRY(IDEFAULTCODEPAGE),
39 LOCALE_ENTRY(IDEFAULTANSICODEPAGE),
40 LOCALE_ENTRY(SLIST),
41 LOCALE_ENTRY(IMEASURE),
42 LOCALE_ENTRY(SDECIMAL),
43 LOCALE_ENTRY(STHOUSAND),
44 LOCALE_ENTRY(SGROUPING),
45 LOCALE_ENTRY(IDIGITS),
46 LOCALE_ENTRY(ILZERO),
47 LOCALE_ENTRY(INEGNUMBER),
48 LOCALE_ENTRY(SNATIVEDIGITS),
49 LOCALE_ENTRY(SCURRENCY),
50 LOCALE_ENTRY(SINTLSYMBOL),
51 LOCALE_ENTRY(SMONDECIMALSEP),
52 LOCALE_ENTRY(SMONTHOUSANDSEP),
53 LOCALE_ENTRY(SMONGROUPING),
54 LOCALE_ENTRY(ICURRDIGITS),
55 LOCALE_ENTRY(IINTLCURRDIGITS),
56 LOCALE_ENTRY(ICURRENCY),
57 LOCALE_ENTRY(INEGCURR),
58 LOCALE_ENTRY(SDATE),
59 LOCALE_ENTRY(STIME),
60 LOCALE_ENTRY(SSHORTDATE),
61 LOCALE_ENTRY(SLONGDATE),
62 LOCALE_ENTRY(STIMEFORMAT),
63 LOCALE_ENTRY(IDATE),
64 LOCALE_ENTRY(ILDATE),
65 LOCALE_ENTRY(ITIME),
66 LOCALE_ENTRY(ITIMEMARKPOSN),
67 LOCALE_ENTRY(ICENTURY),
68 LOCALE_ENTRY(ITLZERO),
69 LOCALE_ENTRY(IDAYLZERO),
70 LOCALE_ENTRY(IMONLZERO),
71 LOCALE_ENTRY(S1159),
72 LOCALE_ENTRY(S2359),
73 LOCALE_ENTRY(ICALENDARTYPE),
74 LOCALE_ENTRY(IOPTIONALCALENDAR),
75 LOCALE_ENTRY(IFIRSTDAYOFWEEK),
76 LOCALE_ENTRY(IFIRSTWEEKOFYEAR),
77 LOCALE_ENTRY(SDAYNAME1),
78 LOCALE_ENTRY(SDAYNAME2),
79 LOCALE_ENTRY(SDAYNAME3),
80 LOCALE_ENTRY(SDAYNAME4),
81 LOCALE_ENTRY(SDAYNAME5),
82 LOCALE_ENTRY(SDAYNAME6),
83 LOCALE_ENTRY(SDAYNAME7),
84 LOCALE_ENTRY(SABBREVDAYNAME1),
85 LOCALE_ENTRY(SABBREVDAYNAME2),
86 LOCALE_ENTRY(SABBREVDAYNAME3),
87 LOCALE_ENTRY(SABBREVDAYNAME4),
88 LOCALE_ENTRY(SABBREVDAYNAME5),
89 LOCALE_ENTRY(SABBREVDAYNAME6),
90 LOCALE_ENTRY(SABBREVDAYNAME7),
91 LOCALE_ENTRY(SMONTHNAME1),
92 LOCALE_ENTRY(SMONTHNAME2),
93 LOCALE_ENTRY(SMONTHNAME3),
94 LOCALE_ENTRY(SMONTHNAME4),
95 LOCALE_ENTRY(SMONTHNAME5),
96 LOCALE_ENTRY(SMONTHNAME6),
97 LOCALE_ENTRY(SMONTHNAME7),
98 LOCALE_ENTRY(SMONTHNAME8),
99 LOCALE_ENTRY(SMONTHNAME9),
100 LOCALE_ENTRY(SMONTHNAME10),
101 LOCALE_ENTRY(SMONTHNAME11),
102 LOCALE_ENTRY(SMONTHNAME12),
103 LOCALE_ENTRY(SMONTHNAME13),
104 LOCALE_ENTRY(SABBREVMONTHNAME1),
105 LOCALE_ENTRY(SABBREVMONTHNAME2),
106 LOCALE_ENTRY(SABBREVMONTHNAME3),
107 LOCALE_ENTRY(SABBREVMONTHNAME4),
108 LOCALE_ENTRY(SABBREVMONTHNAME5),
109 LOCALE_ENTRY(SABBREVMONTHNAME6),
110 LOCALE_ENTRY(SABBREVMONTHNAME7),
111 LOCALE_ENTRY(SABBREVMONTHNAME8),
112 LOCALE_ENTRY(SABBREVMONTHNAME9),
113 LOCALE_ENTRY(SABBREVMONTHNAME10),
114 LOCALE_ENTRY(SABBREVMONTHNAME11),
115 LOCALE_ENTRY(SABBREVMONTHNAME12),
116 LOCALE_ENTRY(SABBREVMONTHNAME13),
117 LOCALE_ENTRY(SPOSITIVESIGN),
118 LOCALE_ENTRY(SNEGATIVESIGN),
119 LOCALE_ENTRY(IPOSSIGNPOSN),
120 LOCALE_ENTRY(INEGSIGNPOSN),
121 LOCALE_ENTRY(IPOSSYMPRECEDES),
122 LOCALE_ENTRY(IPOSSEPBYSPACE),
123 LOCALE_ENTRY(INEGSYMPRECEDES),
124 LOCALE_ENTRY(INEGSEPBYSPACE),
125 {NULL,0},
128 /***********************************************************************
129 * GetUserDefaultLCID (OLE2NLS.1)
131 DWORD GetUserDefaultLCID()
133 /* Default sorting, neutral sublanguage */
134 switch(Options.language)
136 /* case LANG_Bu: return 0x02; */ /* Bulgarian */
137 /* case LANG_Ch: return 0x04; */ /* Chinese */
138 case LANG_Cz: return 0x05; /* Czech */
139 case LANG_Da: return 0x06; /* Danish */
140 case LANG_De: return 0x07; /* German */
141 /* case LANG_Gr: return 0x08; */ /* Greek */
142 case LANG_En: return 0x09; /* English */
143 case LANG_Es: return 0x0a; /* Spanish */
144 case LANG_Fi: return 0x0b; /* Finnish */
145 case LANG_Fr: return 0x0c; /* French */
146 case LANG_Hu: return 0x0e; /* Hungarian */
147 /* case LANG_Ic: return 0x0f; */ /* Icelandic */
148 case LANG_It: return 0x10; /* Italian */
149 /* case LANG_Jp: return 0x11; */ /* Japanese */
150 case LANG_Ko: return 0x12; /* Korean */
151 /* case LANG_Du: return 0x13; */ /* Dutch */
152 case LANG_No: return 0x14; /* Norwegian */
153 /* case LANG_Pl: return 0x15; */ /* Polish */
154 /* case LANG_Po: return 0x16; */ /* Portuguese */
155 /* case LANG_Ro: return 0x18; */ /* Romanian */
156 /* case LANG_Ru: return 0x19; */ /* Russian */
157 /* case LANG_Cr: return 0x1a; */ /* Croatian */
158 /* case LANG_Sl: return 0x1b; */ /* Slovak */
159 /* case LANG_Sw: return 0x1d; */ /* Swedish */
160 /* case LANG_Tu: return 0x1f; */ /* Turkish */
161 /* case LANG_Sv: return 0x24; */ /* Slovenian */
162 case LANG_Eo: return 0x25; /* Esperanto (not official) */
164 default:
165 return 0x00; /* Neutral language */
169 /***********************************************************************
170 * GetSystemDefaultLCID (OLE2NLS.2)
172 DWORD GetSystemDefaultLCID()
174 return GetUserDefaultLCID();
177 /***********************************************************************
178 * GetUserDefaultLangID (OLE2NLS.3)
180 WORD GetUserDefaultLangID()
182 return (WORD)GetUserDefaultLCID();
185 /***********************************************************************
186 * GetSystemDefaultLangID (OLE2NLS.4)
188 WORD GetSystemDefaultLangID()
190 return GetUserDefaultLangID();
193 /***********************************************************************
194 * GetLocaleInfoA (OLE2NLS.5)
195 * Is the last parameter really WORD for Win16?
197 int GetLocaleInfoA(DWORD lcid,DWORD LCType,LPSTR buf,WORD len)
199 char *retString;
200 int found,i;
202 dprintf_ole(stddeb,"GetLocaleInfoA(%8lX,%8lX,%p,%4X)\n",
203 lcid,LCType,buf,len);
204 /* As an option, we could obtain the value from win.ini.
205 This would not match the Wine compile-time option.
206 Also, not all identifiers are available from win.ini */
207 retString=0;
208 /* If we are through all of this, retLen should not be zero anymore.
209 If it is, the value is not supported */
210 i=0;
211 while (locale_name2id[i].name!=NULL) {
212 if (LCType == locale_name2id[i].id) {
213 retString = locale_name2id[i].name;
214 break;
216 i++;
218 if (!retString) {
219 fprintf(stderr,"Unkown LC type %lX\n",LCType);
220 return 0;
223 #define LOCVAL(type,value) case type:retString=value;break;
225 /* Now, the language specific definitions. They don't have to be
226 complete */
227 found=1;
228 switch(Options.language)
230 case LANG_De:
231 switch (LCType) {
232 /* This definitions apply to Germany only. Users in Austria
233 or Switzerland might want to modify them */
234 LOCVAL(LOCALE_ILANGUAGE,"9")
235 LOCVAL(LOCALE_SLANGUAGE,"Deutsch")
236 LOCVAL(LOCALE_SENGLANGUAGE,"German")
237 LOCVAL(LOCALE_SABBREVLANGNAME,"deu")
238 LOCVAL(LOCALE_SNATIVELANGNAME,"Deutsch")
239 LOCVAL(LOCALE_ICOUNTRY,"49")
240 LOCVAL(LOCALE_SCOUNTRY,"Deutschland")
241 LOCVAL(LOCALE_SENGCOUNTRY,"Deutschland")
242 LOCVAL(LOCALE_SABBREVCTRYNAME,"De")
243 LOCVAL(LOCALE_SNATIVECTRYNAME,"Deutschland")
244 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
245 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49")
246 /* Dunno
247 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
248 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
250 LOCVAL(LOCALE_SLIST,";")
251 LOCVAL(LOCALE_IMEASURE,"0")
252 LOCVAL(LOCALE_SDECIMAL,",")
253 LOCVAL(LOCALE_STHOUSAND,".")
255 LOCVAL(LOCALE_SGROUPING)
257 LOCVAL(LOCALE_IDIGITS,"2")
258 LOCVAL(LOCALE_ILZERO,"1")
260 LOCVAL(LOCALE_INEGNUMBER)
261 Is this "0123456789" ??
262 LOCVAL(LOCALE_SNATIVEDIGITS)
264 LOCVAL(LOCALE_SCURRENCY,"DM")
266 LOCVAL(LOCALE_SINTLSYMBOL)
267 LOCVAL(LOCALE_SMONDECIMALSEP)
268 LOCVAL(LOCALE_SMONTHOUSANDSEP)
269 LOCVAL(LOCALE_SMONGROUPING)
271 LOCVAL(LOCALE_ICURRDIGITS,"2")
273 LOCVAL(LOCALE_IINTLCURRDIGITS)
275 LOCVAL(LOCALE_ICURRENCY,"3")
276 LOCVAL(LOCALE_INEGCURR,"8")
277 LOCVAL(LOCALE_SDATE,".")
278 LOCVAL(LOCALE_STIME,":")
279 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
280 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
282 LOCVAL(LOCALE_STIMEFORMAT)
284 LOCVAL(LOCALE_IDATE,"1")
286 LOCVAL(LOCALE_ILDATE)
288 LOCVAL(LOCALE_ITIME,"1")
290 LOCVAL(LOCALE_ITIMEMARKPOSN)
291 LOCVAL(LOCALE_ICENTURY)
293 LOCVAL(LOCALE_ITLZERO,"1")
295 LOCVAL(LOCALE_IDAYLZERO)
296 LOCVAL(LOCALE_IMONLZERO)
297 LOCVAL(LOCALE_S1159)
298 LOCVAL(LOCALE_S2359)
299 LOCVAL(LOCALE_ICALENDARTYPE)
300 LOCVAL(LOCALE_IOPTIONALCALENDAR)
301 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
302 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
304 LOCVAL(LOCALE_SDAYNAME1,"Montag")
305 LOCVAL(LOCALE_SDAYNAME2,"Dienstag")
306 LOCVAL(LOCALE_SDAYNAME3,"Mittwoch")
307 LOCVAL(LOCALE_SDAYNAME4,"Donnerstag")
308 LOCVAL(LOCALE_SDAYNAME5,"Freitag")
309 LOCVAL(LOCALE_SDAYNAME6,"Sonnabend")
310 LOCVAL(LOCALE_SDAYNAME7,"Sonntag")
311 LOCVAL(LOCALE_SABBREVDAYNAME1,"Mo")
312 LOCVAL(LOCALE_SABBREVDAYNAME2,"Di")
313 LOCVAL(LOCALE_SABBREVDAYNAME3,"Mi")
314 LOCVAL(LOCALE_SABBREVDAYNAME4,"Do")
315 LOCVAL(LOCALE_SABBREVDAYNAME5,"Fr")
316 LOCVAL(LOCALE_SABBREVDAYNAME6,"Sa")
317 LOCVAL(LOCALE_SABBREVDAYNAME7,"So")
318 LOCVAL(LOCALE_SMONTHNAME1,"Januar")
319 LOCVAL(LOCALE_SMONTHNAME2,"Februar")
320 LOCVAL(LOCALE_SMONTHNAME3,"März")
321 LOCVAL(LOCALE_SMONTHNAME4,"April")
322 LOCVAL(LOCALE_SMONTHNAME5,"Mai")
323 LOCVAL(LOCALE_SMONTHNAME6,"Juni")
324 LOCVAL(LOCALE_SMONTHNAME7,"Juli")
325 LOCVAL(LOCALE_SMONTHNAME8,"August")
326 LOCVAL(LOCALE_SMONTHNAME9,"September")
327 LOCVAL(LOCALE_SMONTHNAME10,"Oktober")
328 LOCVAL(LOCALE_SMONTHNAME11,"November")
329 LOCVAL(LOCALE_SMONTHNAME12,"Dezember")
330 LOCVAL(LOCALE_SMONTHNAME13,"")
331 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
332 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
333 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mär")
334 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
335 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Mai")
336 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jun")
337 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Jul")
338 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
339 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sep")
340 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
341 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
342 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dez")
343 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
345 LOCVAL(LOCALE_SPOSITIVESIGN)
346 LOCVAL(LOCALE_SNEGATIVESIGN)
347 LOCVAL(LOCALE_IPOSSIGNPOSN)
348 LOCVAL(LOCALE_INEGSIGNPOSN)
349 LOCVAL(LOCALE_IPOSSYMPRECEDES)
350 LOCVAL(LOCALE_IPOSSEPBYSPACE)
351 LOCVAL(LOCALE_INEGSYMPRECEDES)
352 LOCVAL(LOCALE_INEGSEPBYSPACE)
354 default: found=0;break;
356 break; /* LANG(De) */
358 case LANG_Da:
359 switch (LCType) {
360 /* LOCVAL(LOCALE_ILANGUAGE,"9") */
361 LOCVAL(LOCALE_SLANGUAGE,"Dansk")
362 LOCVAL(LOCALE_SENGLANGUAGE,"Danish")
363 LOCVAL(LOCALE_SABBREVLANGNAME,"dan")
364 LOCVAL(LOCALE_SNATIVELANGNAME,"Dansk")
365 LOCVAL(LOCALE_ICOUNTRY,"45")
366 LOCVAL(LOCALE_SCOUNTRY,"Danmark")
367 LOCVAL(LOCALE_SENGCOUNTRY,"Denmark")
368 LOCVAL(LOCALE_SABBREVCTRYNAME,"Da")
369 LOCVAL(LOCALE_SNATIVECTRYNAME,"Danmark")
370 /* LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9") */
371 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"45")
372 /* LOCVAL(LOCALE_IDEFAULTCODEPAGE) */
373 /* LOCVAL(LOCALE_IDEFAULTANSICODEPAGE) */
374 LOCVAL(LOCALE_SLIST,";")
375 LOCVAL(LOCALE_IMEASURE,"0")
376 LOCVAL(LOCALE_SDECIMAL,",")
377 LOCVAL(LOCALE_STHOUSAND,".")
378 /* LOCVAL(LOCALE_SGROUPING) */
379 LOCVAL(LOCALE_IDIGITS,"2")
380 LOCVAL(LOCALE_ILZERO,"1")
381 /* LOCVAL(LOCALE_INEGNUMBER) */
382 /* LOCVAL(LOCALE_SNATIVEDIGITS) */
383 LOCVAL(LOCALE_SCURRENCY,"kr")
384 /* LOCVAL(LOCALE_SINTLSYMBOL) */
385 LOCVAL(LOCALE_SMONDECIMALSEP,",")
386 LOCVAL(LOCALE_SMONTHOUSANDSEP,".")
387 /* LOCVAL(LOCALE_SMONGROUPING) */
388 LOCVAL(LOCALE_ICURRDIGITS,"2")
389 /* LOCVAL(LOCALE_IINTLCURRDIGITS) */
390 LOCVAL(LOCALE_ICURRENCY,"3")
391 LOCVAL(LOCALE_INEGCURR,"8")
392 LOCVAL(LOCALE_SDATE,".")
393 LOCVAL(LOCALE_STIME,":")
394 LOCVAL(LOCALE_SSHORTDATE,"dd/MM-yyyy")
395 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
396 /* LOCVAL(LOCALE_STIMEFORMAT) */
397 LOCVAL(LOCALE_IDATE,"1")
398 /* LOCVAL(LOCALE_ILDATE) */
399 LOCVAL(LOCALE_ITIME,"1")
400 /* LOCVAL(LOCALE_ITIMEMARKPOSN) */
401 /* LOCVAL(LOCALE_ICENTURY) */
402 LOCVAL(LOCALE_ITLZERO,"1")
403 /* LOCVAL(LOCALE_IDAYLZERO) */
404 /* LOCVAL(LOCALE_IMONLZERO) */
405 /* LOCVAL(LOCALE_S1159) */
406 /* LOCVAL(LOCALE_S2359) */
407 /* LOCVAL(LOCALE_ICALENDARTYPE) */
408 /* LOCVAL(LOCALE_IOPTIONALCALENDAR) */
409 /* LOCVAL(LOCALE_IFIRSTDAYOFWEEK) */
410 /* LOCVAL(LOCALE_IFIRSTWEEKOFYEAR) */
411 LOCVAL(LOCALE_SDAYNAME1,"Mandag")
412 LOCVAL(LOCALE_SDAYNAME2,"Tirsdag")
413 LOCVAL(LOCALE_SDAYNAME3,"Onsdag")
414 LOCVAL(LOCALE_SDAYNAME4,"Torsdag")
415 LOCVAL(LOCALE_SDAYNAME5,"Fredag")
416 LOCVAL(LOCALE_SDAYNAME6,"Lørdag")
417 LOCVAL(LOCALE_SDAYNAME7,"Søndag")
418 LOCVAL(LOCALE_SABBREVDAYNAME1,"Ma")
419 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ti")
420 LOCVAL(LOCALE_SABBREVDAYNAME3,"On")
421 LOCVAL(LOCALE_SABBREVDAYNAME4,"To")
422 LOCVAL(LOCALE_SABBREVDAYNAME5,"Fr")
423 LOCVAL(LOCALE_SABBREVDAYNAME6,"Lø")
424 LOCVAL(LOCALE_SABBREVDAYNAME7,"Sø")
425 LOCVAL(LOCALE_SMONTHNAME1,"Januar")
426 LOCVAL(LOCALE_SMONTHNAME2,"Februar")
427 LOCVAL(LOCALE_SMONTHNAME3,"Marts")
428 LOCVAL(LOCALE_SMONTHNAME4,"April")
429 LOCVAL(LOCALE_SMONTHNAME5,"Maj")
430 LOCVAL(LOCALE_SMONTHNAME6,"Juni")
431 LOCVAL(LOCALE_SMONTHNAME7,"Juli")
432 LOCVAL(LOCALE_SMONTHNAME8,"August")
433 LOCVAL(LOCALE_SMONTHNAME9,"September")
434 LOCVAL(LOCALE_SMONTHNAME10,"Oktober")
435 LOCVAL(LOCALE_SMONTHNAME11,"November")
436 LOCVAL(LOCALE_SMONTHNAME12,"December")
437 LOCVAL(LOCALE_SMONTHNAME13,"")
438 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
439 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
440 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mar")
441 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
442 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Maj")
443 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jun")
444 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Jul")
445 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
446 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sep")
447 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
448 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
449 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dec")
450 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
451 /* LOCVAL(LOCALE_SPOSITIVESIGN) */
452 /* LOCVAL(LOCALE_SNEGATIVESIGN) */
453 /* LOCVAL(LOCALE_IPOSSIGNPOSN) */
454 /* LOCVAL(LOCALE_INEGSIGNPOSN) */
455 /* LOCVAL(LOCALE_IPOSSYMPRECEDES) */
456 /* LOCVAL(LOCALE_IPOSSEPBYSPACE) */
457 /* LOCVAL(LOCALE_INEGSYMPRECEDES) */
458 /* LOCVAL(LOCALE_INEGSEPBYSPACE) */
459 default: found=0;break;
461 break; /* LANG(Da) */
463 case LANG_En:
464 switch (LCType) {
465 /* This definitions apply to Germany only. Users in Austria
466 or Switzerland might want to modify them */
467 LOCVAL(LOCALE_ILANGUAGE,"9")
468 LOCVAL(LOCALE_SLANGUAGE,"English")
469 LOCVAL(LOCALE_SENGLANGUAGE,"English")
470 LOCVAL(LOCALE_SABBREVLANGNAME,"enu")
471 LOCVAL(LOCALE_SNATIVELANGNAME,"English")
472 LOCVAL(LOCALE_ICOUNTRY,"11")
473 LOCVAL(LOCALE_SCOUNTRY,"Deutschland")
474 LOCVAL(LOCALE_SENGCOUNTRY,"Deutschland")
475 LOCVAL(LOCALE_SABBREVCTRYNAME,"De")
476 LOCVAL(LOCALE_SNATIVECTRYNAME,"Deutschland")
477 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
478 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49")
479 /* Dunno
480 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
481 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
483 LOCVAL(LOCALE_SLIST,";")
484 LOCVAL(LOCALE_IMEASURE,"0")
485 LOCVAL(LOCALE_SDECIMAL,",")
486 LOCVAL(LOCALE_STHOUSAND,".")
488 LOCVAL(LOCALE_SGROUPING)
490 LOCVAL(LOCALE_IDIGITS,"2")
491 LOCVAL(LOCALE_ILZERO,"1")
493 LOCVAL(LOCALE_INEGNUMBER)
494 Is this "0123456789" ??
495 LOCVAL(LOCALE_SNATIVEDIGITS)
497 LOCVAL(LOCALE_SCURRENCY,"DM")
499 LOCVAL(LOCALE_SINTLSYMBOL)
500 LOCVAL(LOCALE_SMONDECIMALSEP)
501 LOCVAL(LOCALE_SMONTHOUSANDSEP)
502 LOCVAL(LOCALE_SMONGROUPING)
504 LOCVAL(LOCALE_ICURRDIGITS,"2")
506 LOCVAL(LOCALE_IINTLCURRDIGITS)
508 LOCVAL(LOCALE_ICURRENCY,"3")
509 LOCVAL(LOCALE_INEGCURR,"8")
510 LOCVAL(LOCALE_SDATE,".")
511 LOCVAL(LOCALE_STIME,":")
512 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
513 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
515 LOCVAL(LOCALE_STIMEFORMAT)
517 LOCVAL(LOCALE_IDATE,"1")
519 LOCVAL(LOCALE_ILDATE)
521 LOCVAL(LOCALE_ITIME,"1")
523 LOCVAL(LOCALE_ITIMEMARKPOSN)
524 LOCVAL(LOCALE_ICENTURY)
526 LOCVAL(LOCALE_ITLZERO,"1")
528 LOCVAL(LOCALE_IDAYLZERO)
529 LOCVAL(LOCALE_IMONLZERO)
530 LOCVAL(LOCALE_S1159)
531 LOCVAL(LOCALE_S2359)
532 LOCVAL(LOCALE_ICALENDARTYPE)
533 LOCVAL(LOCALE_IOPTIONALCALENDAR)
534 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
535 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
537 LOCVAL(LOCALE_SDAYNAME1,"Montag")
538 LOCVAL(LOCALE_SDAYNAME2,"Dienstag")
539 LOCVAL(LOCALE_SDAYNAME3,"Mittwoch")
540 LOCVAL(LOCALE_SDAYNAME4,"Donnerstag")
541 LOCVAL(LOCALE_SDAYNAME5,"Freitag")
542 LOCVAL(LOCALE_SDAYNAME6,"Sonnabend")
543 LOCVAL(LOCALE_SDAYNAME7,"Sonntag")
544 LOCVAL(LOCALE_SABBREVDAYNAME1,"Mo")
545 LOCVAL(LOCALE_SABBREVDAYNAME2,"Di")
546 LOCVAL(LOCALE_SABBREVDAYNAME3,"Mi")
547 LOCVAL(LOCALE_SABBREVDAYNAME4,"Do")
548 LOCVAL(LOCALE_SABBREVDAYNAME5,"Fr")
549 LOCVAL(LOCALE_SABBREVDAYNAME6,"Sa")
550 LOCVAL(LOCALE_SABBREVDAYNAME7,"So")
551 LOCVAL(LOCALE_SMONTHNAME1,"Januar")
552 LOCVAL(LOCALE_SMONTHNAME2,"Februar")
553 LOCVAL(LOCALE_SMONTHNAME3,"März")
554 LOCVAL(LOCALE_SMONTHNAME4,"April")
555 LOCVAL(LOCALE_SMONTHNAME5,"Mai")
556 LOCVAL(LOCALE_SMONTHNAME6,"Juni")
557 LOCVAL(LOCALE_SMONTHNAME7,"Juli")
558 LOCVAL(LOCALE_SMONTHNAME8,"August")
559 LOCVAL(LOCALE_SMONTHNAME9,"September")
560 LOCVAL(LOCALE_SMONTHNAME10,"Oktober")
561 LOCVAL(LOCALE_SMONTHNAME11,"November")
562 LOCVAL(LOCALE_SMONTHNAME12,"Dezember")
563 LOCVAL(LOCALE_SMONTHNAME13,"")
564 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
565 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
566 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mär")
567 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
568 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Mai")
569 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jun")
570 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Jul")
571 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
572 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sep")
573 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
574 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
575 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dez")
576 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
578 LOCVAL(LOCALE_SPOSITIVESIGN)
579 LOCVAL(LOCALE_SNEGATIVESIGN)
580 LOCVAL(LOCALE_IPOSSIGNPOSN)
581 LOCVAL(LOCALE_INEGSIGNPOSN)
582 LOCVAL(LOCALE_IPOSSYMPRECEDES)
583 LOCVAL(LOCALE_IPOSSEPBYSPACE)
584 LOCVAL(LOCALE_INEGSYMPRECEDES)
585 LOCVAL(LOCALE_INEGSEPBYSPACE)
587 default: found=0;break;
589 break; /* LANG(En) */
591 case LANG_Eo:
592 switch (LCType) {
593 /* LOCVAL(LOCALE_ILANGUAGE,"9") ISO numerical ID for language TODO */
594 LOCVAL(LOCALE_SLANGUAGE,"Esperanto")
595 LOCVAL(LOCALE_SENGLANGUAGE,"Esperanto")
596 /* LOCVAL(LOCALE_SABBREVLANGNAME,"deu") */
597 LOCVAL(LOCALE_SNATIVELANGNAME,"Esperanto")
598 /* LOCVAL(LOCALE_ICOUNTRY,"49") not official in any one country */
599 /* LOCVAL(LOCALE_SCOUNTRY,"Deutschland") */
600 /* LOCVAL(LOCALE_SENGCOUNTRY,"Germany") */
601 /* LOCVAL(LOCALE_SABBREVCTRYNAME,"De") */
602 /* LOCVAL(LOCALE_SNATIVECTRYNAME,"Deutschland") */
603 /* LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9") ISO ID of lang TODO */
604 /* LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49") */
605 LOCVAL(LOCALE_IDEFAULTCODEPAGE,"3") /* is this right? TODO */
606 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE,"3") /* is this right? TODO */
607 LOCVAL(LOCALE_SLIST,";")
608 LOCVAL(LOCALE_IMEASURE,"0")
609 LOCVAL(LOCALE_SDECIMAL,",")
610 LOCVAL(LOCALE_STHOUSAND,".")
611 /* LOCVAL(LOCALE_SGROUPING) */
612 LOCVAL(LOCALE_IDIGITS,"2")
613 LOCVAL(LOCALE_ILZERO,"1")
614 /* LOCVAL(LOCALE_INEGNUMBER) */
615 /* LOCVAL(LOCALE_SNATIVEDIGITS) */
616 LOCVAL(LOCALE_SCURRENCY,"NLG") /* accounting currency of UEA */
617 /* LOCVAL(LOCALE_SINTLSYMBOL) */
618 /* LOCVAL(LOCALE_SMONDECIMALSEP) */
619 /* LOCVAL(LOCALE_SMONTHOUSANDSEP) */
620 /* LOCVAL(LOCALE_SMONGROUPING) */
621 /* LOCVAL(LOCALE_ICURRDIGITS,"2") */
622 /* LOCVAL(LOCALE_IINTLCURRDIGITS) */
623 LOCVAL(LOCALE_ICURRENCY,"3")
624 LOCVAL(LOCALE_INEGCURR,"8")
625 LOCVAL(LOCALE_SDATE,".")
626 LOCVAL(LOCALE_STIME,":")
627 LOCVAL(LOCALE_SSHORTDATE,"yyyy.mm.dd")
628 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
629 /* LOCVAL(LOCALE_STIMEFORMAT) */
630 LOCVAL(LOCALE_IDATE,"1")
631 /* LOCVAL(LOCALE_ILDATE) */
632 LOCVAL(LOCALE_ITIME,"1")
633 /* LOCVAL(LOCALE_ITIMEMARKPOSN) */
634 /* LOCVAL(LOCALE_ICENTURY) */
635 LOCVAL(LOCALE_ITLZERO,"1")
636 /* LOCVAL(LOCALE_IDAYLZERO) */
637 /* LOCVAL(LOCALE_IMONLZERO) */
638 /* LOCVAL(LOCALE_S1159) */
639 /* LOCVAL(LOCALE_S2359) */
640 /* LOCVAL(LOCALE_ICALENDARTYPE) */
641 /* LOCVAL(LOCALE_IOPTIONALCALENDAR) */
642 /* LOCVAL(LOCALE_IFIRSTDAYOFWEEK) */
643 /* LOCVAL(LOCALE_IFIRSTWEEKOFYEAR) */
644 LOCVAL(LOCALE_SDAYNAME1,"lundo")
645 LOCVAL(LOCALE_SDAYNAME2,"mardo")
646 LOCVAL(LOCALE_SDAYNAME3,"merkredo")
647 LOCVAL(LOCALE_SDAYNAME4,"¼aýdo")
648 LOCVAL(LOCALE_SDAYNAME5,"vendredo")
649 LOCVAL(LOCALE_SDAYNAME6,"sabato")
650 LOCVAL(LOCALE_SDAYNAME7,"dimanæo")
651 LOCVAL(LOCALE_SABBREVDAYNAME1,"lu")
652 LOCVAL(LOCALE_SABBREVDAYNAME2,"ma")
653 LOCVAL(LOCALE_SABBREVDAYNAME3,"me")
654 LOCVAL(LOCALE_SABBREVDAYNAME4,"¼a")
655 LOCVAL(LOCALE_SABBREVDAYNAME5,"ve")
656 LOCVAL(LOCALE_SABBREVDAYNAME6,"sa")
657 LOCVAL(LOCALE_SABBREVDAYNAME7,"di")
658 LOCVAL(LOCALE_SMONTHNAME1,"januaro")
659 LOCVAL(LOCALE_SMONTHNAME2,"februaro")
660 LOCVAL(LOCALE_SMONTHNAME3,"marto")
661 LOCVAL(LOCALE_SMONTHNAME4,"aprilo")
662 LOCVAL(LOCALE_SMONTHNAME5,"majo")
663 LOCVAL(LOCALE_SMONTHNAME6,"junio")
664 LOCVAL(LOCALE_SMONTHNAME7,"julio")
665 LOCVAL(LOCALE_SMONTHNAME8,"aýgusto")
666 LOCVAL(LOCALE_SMONTHNAME9,"septembro")
667 LOCVAL(LOCALE_SMONTHNAME10,"oktobro")
668 LOCVAL(LOCALE_SMONTHNAME11,"novembro")
669 LOCVAL(LOCALE_SMONTHNAME12,"decembro")
670 LOCVAL(LOCALE_SMONTHNAME13,"")
671 LOCVAL(LOCALE_SABBREVMONTHNAME1,"jan")
672 LOCVAL(LOCALE_SABBREVMONTHNAME2,"feb")
673 LOCVAL(LOCALE_SABBREVMONTHNAME3,"mar")
674 LOCVAL(LOCALE_SABBREVMONTHNAME4,"apr")
675 LOCVAL(LOCALE_SABBREVMONTHNAME5,"maj")
676 LOCVAL(LOCALE_SABBREVMONTHNAME6,"jun")
677 LOCVAL(LOCALE_SABBREVMONTHNAME7,"jul")
678 LOCVAL(LOCALE_SABBREVMONTHNAME8,"aýg")
679 LOCVAL(LOCALE_SABBREVMONTHNAME9,"sep")
680 LOCVAL(LOCALE_SABBREVMONTHNAME10,"okt")
681 LOCVAL(LOCALE_SABBREVMONTHNAME11,"nov")
682 LOCVAL(LOCALE_SABBREVMONTHNAME12,"dec")
683 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
684 /* LOCVAL(LOCALE_SPOSITIVESIGN) */
685 /* LOCVAL(LOCALE_SNEGATIVESIGN) */
686 /* LOCVAL(LOCALE_IPOSSIGNPOSN) */
687 /* LOCVAL(LOCALE_INEGSIGNPOSN) */
688 /* LOCVAL(LOCALE_IPOSSYMPRECEDES) */
689 /* LOCVAL(LOCALE_IPOSSEPBYSPACE) */
690 /* LOCVAL(LOCALE_INEGSYMPRECEDES) */
691 /* LOCVAL(LOCALE_INEGSEPBYSPACE) */
692 default: found=0;break;
694 break; /* LANG(Eo) */
696 case LANG_Fi:
697 switch (LCType) {
698 LOCVAL(LOCALE_ILANGUAGE,"11")
699 LOCVAL(LOCALE_SLANGUAGE,"Suomi")
700 LOCVAL(LOCALE_SENGLANGUAGE,"Finnish")
701 LOCVAL(LOCALE_SABBREVLANGNAME,"fin")
702 LOCVAL(LOCALE_SNATIVELANGNAME,"suomi")
703 LOCVAL(LOCALE_ICOUNTRY,"49")
704 LOCVAL(LOCALE_SCOUNTRY,"Suomi")
705 LOCVAL(LOCALE_SENGCOUNTRY,"Finland")
706 LOCVAL(LOCALE_SABBREVCTRYNAME,"Fin")
707 LOCVAL(LOCALE_SNATIVECTRYNAME,"Suomi")
708 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"11")
709 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"358")
711 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
712 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
714 LOCVAL(LOCALE_SLIST,";")
715 LOCVAL(LOCALE_IMEASURE,"0")
716 LOCVAL(LOCALE_SDECIMAL,",")
717 LOCVAL(LOCALE_STHOUSAND,".")
719 LOCVAL(LOCALE_SGROUPING)
721 LOCVAL(LOCALE_IDIGITS,"2")
722 LOCVAL(LOCALE_ILZERO,"1")
724 LOCVAL(LOCALE_INEGNUMBER)
725 Is this "0123456789" ??
726 LOCVAL(LOCALE_SNATIVEDIGITS)
728 LOCVAL(LOCALE_SCURRENCY,"mk")
730 LOCVAL(LOCALE_SINTLSYMBOL)
731 LOCVAL(LOCALE_SMONDECIMALSEP)
732 LOCVAL(LOCALE_SMONTHOUSANDSEP)
733 LOCVAL(LOCALE_SMONGROUPING)
735 LOCVAL(LOCALE_ICURRDIGITS,"2")
737 LOCVAL(LOCALE_IINTLCURRDIGITS)
739 LOCVAL(LOCALE_ICURRENCY,"3")
740 LOCVAL(LOCALE_INEGCURR,"8")
741 LOCVAL(LOCALE_SDATE,".")
742 LOCVAL(LOCALE_STIME,":")
743 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
744 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
746 LOCVAL(LOCALE_STIMEFORMAT)
748 LOCVAL(LOCALE_IDATE,"1")
750 LOCVAL(LOCALE_ILDATE)
752 LOCVAL(LOCALE_ITIME,"1")
754 LOCVAL(LOCALE_ITIMEMARKPOSN)
755 LOCVAL(LOCALE_ICENTURY)
757 LOCVAL(LOCALE_ITLZERO,"1")
759 LOCVAL(LOCALE_IDAYLZERO)
760 LOCVAL(LOCALE_IMONLZERO)
761 LOCVAL(LOCALE_S1159)
762 LOCVAL(LOCALE_S2359)
763 LOCVAL(LOCALE_ICALENDARTYPE)
764 LOCVAL(LOCALE_IOPTIONALCALENDAR)
765 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
766 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
768 LOCVAL(LOCALE_SDAYNAME1,"maanantai")
769 LOCVAL(LOCALE_SDAYNAME2,"tiistai")
770 LOCVAL(LOCALE_SDAYNAME3,"keskiviikko")
771 LOCVAL(LOCALE_SDAYNAME4,"torstai")
772 LOCVAL(LOCALE_SDAYNAME5,"perjantai")
773 LOCVAL(LOCALE_SDAYNAME6,"lauantai")
774 LOCVAL(LOCALE_SDAYNAME7,"sunnuntai")
775 LOCVAL(LOCALE_SABBREVDAYNAME1,"Ma")
776 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ti")
777 LOCVAL(LOCALE_SABBREVDAYNAME3,"Ke")
778 LOCVAL(LOCALE_SABBREVDAYNAME4,"To")
779 LOCVAL(LOCALE_SABBREVDAYNAME5,"Pe")
780 LOCVAL(LOCALE_SABBREVDAYNAME6,"La")
781 LOCVAL(LOCALE_SABBREVDAYNAME7,"Su")
782 LOCVAL(LOCALE_SMONTHNAME1,"tammikuu")
783 LOCVAL(LOCALE_SMONTHNAME2,"helmikuu")
784 LOCVAL(LOCALE_SMONTHNAME3,"maaliskuu")
785 LOCVAL(LOCALE_SMONTHNAME4,"huhtikuu")
786 LOCVAL(LOCALE_SMONTHNAME5,"toukokuu")
787 LOCVAL(LOCALE_SMONTHNAME6,"kesäkuu")
788 LOCVAL(LOCALE_SMONTHNAME7,"heinäkuu")
789 LOCVAL(LOCALE_SMONTHNAME8,"elokuu")
790 LOCVAL(LOCALE_SMONTHNAME9,"syyskuu")
791 LOCVAL(LOCALE_SMONTHNAME10,"lokakuu")
792 LOCVAL(LOCALE_SMONTHNAME11,"marraskuu")
793 LOCVAL(LOCALE_SMONTHNAME12,"joulukuu")
794 LOCVAL(LOCALE_SMONTHNAME13,"")
795 LOCVAL(LOCALE_SABBREVMONTHNAME1,"tammi")
796 LOCVAL(LOCALE_SABBREVMONTHNAME2,"helmi")
797 LOCVAL(LOCALE_SABBREVMONTHNAME3,"maalis")
798 LOCVAL(LOCALE_SABBREVMONTHNAME4,"huhti")
799 LOCVAL(LOCALE_SABBREVMONTHNAME5,"touko")
800 LOCVAL(LOCALE_SABBREVMONTHNAME6,"kesä")
801 LOCVAL(LOCALE_SABBREVMONTHNAME7,"heinä")
802 LOCVAL(LOCALE_SABBREVMONTHNAME8,"elo")
803 LOCVAL(LOCALE_SABBREVMONTHNAME9,"syys")
804 LOCVAL(LOCALE_SABBREVMONTHNAME10,"loka")
805 LOCVAL(LOCALE_SABBREVMONTHNAME11,"marras")
806 LOCVAL(LOCALE_SABBREVMONTHNAME12,"joulu")
807 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
809 LOCVAL(LOCALE_SPOSITIVESIGN)
810 LOCVAL(LOCALE_SNEGATIVESIGN)
811 LOCVAL(LOCALE_IPOSSIGNPOSN)
812 LOCVAL(LOCALE_INEGSIGNPOSN)
813 LOCVAL(LOCALE_IPOSSYMPRECEDES)
814 LOCVAL(LOCALE_IPOSSEPBYSPACE)
815 LOCVAL(LOCALE_INEGSYMPRECEDES)
816 LOCVAL(LOCALE_INEGSEPBYSPACE)
818 default: found=0;break;
820 break; /* LANG(Fi) */
822 case LANG_It:
823 switch (LCType) {
824 LOCVAL(LOCALE_ILANGUAGE,"9")
825 LOCVAL(LOCALE_SLANGUAGE,"Italiano")
826 LOCVAL(LOCALE_SENGLANGUAGE,"Italian")
827 LOCVAL(LOCALE_SABBREVLANGNAME,"ita")
828 LOCVAL(LOCALE_SNATIVELANGNAME,"Italiano")
829 LOCVAL(LOCALE_ICOUNTRY,"39")
830 LOCVAL(LOCALE_SCOUNTRY,"Italia")
831 LOCVAL(LOCALE_SENGCOUNTRY,"Italy")
832 LOCVAL(LOCALE_SABBREVCTRYNAME,"It")
833 LOCVAL(LOCALE_SNATIVECTRYNAME,"Italia")
834 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
835 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"39")
836 /* Dunno
837 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
838 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
840 LOCVAL(LOCALE_SLIST,";")
841 LOCVAL(LOCALE_IMEASURE,"0")
842 LOCVAL(LOCALE_SDECIMAL,",")
843 LOCVAL(LOCALE_STHOUSAND,".")
845 LOCVAL(LOCALE_SGROUPING)
847 LOCVAL(LOCALE_IDIGITS,"2")
848 LOCVAL(LOCALE_ILZERO,"1")
850 LOCVAL(LOCALE_INEGNUMBER)
851 Is this "0123456789" ??
852 LOCVAL(LOCALE_SNATIVEDIGITS)
854 LOCVAL(LOCALE_SCURRENCY,"Lit.")
856 LOCVAL(LOCALE_SINTLSYMBOL)
857 LOCVAL(LOCALE_SMONDECIMALSEP)
858 LOCVAL(LOCALE_SMONTHOUSANDSEP)
859 LOCVAL(LOCALE_SMONGROUPING)
861 LOCVAL(LOCALE_ICURRDIGITS,"2")
863 LOCVAL(LOCALE_IINTLCURRDIGITS)
865 LOCVAL(LOCALE_ICURRENCY,"3")
866 LOCVAL(LOCALE_INEGCURR,"8")
867 LOCVAL(LOCALE_SDATE,".")
868 LOCVAL(LOCALE_STIME,":")
869 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
870 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
872 LOCVAL(LOCALE_STIMEFORMAT)
874 LOCVAL(LOCALE_IDATE,"1")
876 LOCVAL(LOCALE_ILDATE)
878 LOCVAL(LOCALE_ITIME,"1")
880 LOCVAL(LOCALE_ITIMEMARKPOSN)
881 LOCVAL(LOCALE_ICENTURY)
883 LOCVAL(LOCALE_ITLZERO,"1")
885 LOCVAL(LOCALE_IDAYLZERO)
886 LOCVAL(LOCALE_IMONLZERO)
887 LOCVAL(LOCALE_S1159)
888 LOCVAL(LOCALE_S2359)
889 LOCVAL(LOCALE_ICALENDARTYPE)
890 LOCVAL(LOCALE_IOPTIONALCALENDAR)
891 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
892 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
894 LOCVAL(LOCALE_SDAYNAME1,"Lunedi'")
895 LOCVAL(LOCALE_SDAYNAME2,"Martedi'")
896 LOCVAL(LOCALE_SDAYNAME3,"Mercoledi'")
897 LOCVAL(LOCALE_SDAYNAME4,"Giovedi'")
898 LOCVAL(LOCALE_SDAYNAME5,"Venerdi'")
899 LOCVAL(LOCALE_SDAYNAME6,"Sabato")
900 LOCVAL(LOCALE_SDAYNAME7,"Domenica")
901 LOCVAL(LOCALE_SABBREVDAYNAME1,"Lu")
902 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ma")
903 LOCVAL(LOCALE_SABBREVDAYNAME3,"Me")
904 LOCVAL(LOCALE_SABBREVDAYNAME4,"Gi")
905 LOCVAL(LOCALE_SABBREVDAYNAME5,"Ve")
906 LOCVAL(LOCALE_SABBREVDAYNAME6,"Sa")
907 LOCVAL(LOCALE_SABBREVDAYNAME7,"Do")
908 LOCVAL(LOCALE_SMONTHNAME1,"Gennaio")
909 LOCVAL(LOCALE_SMONTHNAME2,"Febbraio")
910 LOCVAL(LOCALE_SMONTHNAME3,"Marzo")
911 LOCVAL(LOCALE_SMONTHNAME4,"Aprile")
912 LOCVAL(LOCALE_SMONTHNAME5,"Maggio")
913 LOCVAL(LOCALE_SMONTHNAME6,"Giugno")
914 LOCVAL(LOCALE_SMONTHNAME7,"Luglio")
915 LOCVAL(LOCALE_SMONTHNAME8,"Agosto")
916 LOCVAL(LOCALE_SMONTHNAME9,"Settembre")
917 LOCVAL(LOCALE_SMONTHNAME10,"Ottobre")
918 LOCVAL(LOCALE_SMONTHNAME11,"Novembre")
919 LOCVAL(LOCALE_SMONTHNAME12,"Dicembre")
920 LOCVAL(LOCALE_SMONTHNAME13,"")
921 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Gen")
922 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
923 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mar")
924 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
925 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Mag")
926 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Giu")
927 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Lug")
928 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Ago")
929 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Set")
930 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Ott")
931 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
932 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dic")
933 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
935 LOCVAL(LOCALE_SPOSITIVESIGN)
936 LOCVAL(LOCALE_SNEGATIVESIGN)
937 LOCVAL(LOCALE_IPOSSIGNPOSN)
938 LOCVAL(LOCALE_INEGSIGNPOSN)
939 LOCVAL(LOCALE_IPOSSYMPRECEDES)
940 LOCVAL(LOCALE_IPOSSEPBYSPACE)
941 LOCVAL(LOCALE_INEGSYMPRECEDES)
942 LOCVAL(LOCALE_INEGSEPBYSPACE)
944 default: found=0;break;
946 break; /* LANG(It) */
948 case 0x0409:
949 switch (LCType) {
950 LOCVAL(LOCALE_ILANGUAGE, "0409")
951 LOCVAL(LOCALE_SLANGUAGE, "English (United States)")
952 LOCVAL(LOCALE_SENGLANGUAGE, "English")
953 LOCVAL(LOCALE_SABBREVLANGNAME, "ENU")
954 LOCVAL(LOCALE_SNATIVELANGNAME, "English")
955 LOCVAL(LOCALE_ICOUNTRY, "1")
956 LOCVAL(LOCALE_SCOUNTRY, "United States")
957 LOCVAL(LOCALE_SENGCOUNTRY, "United States")
958 LOCVAL(LOCALE_SABBREVCTRYNAME, "USA")
959 LOCVAL(LOCALE_SNATIVECTRYNAME, "United States")
960 LOCVAL(LOCALE_IDEFAULTLANGUAGE, "0409")
961 LOCVAL(LOCALE_IDEFAULTCOUNTRY, "1")
962 LOCVAL(LOCALE_IDEFAULTCODEPAGE, "437")
963 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE, "1252")
964 LOCVAL(LOCALE_SLIST, ",")
965 LOCVAL(LOCALE_IMEASURE, "1")
966 LOCVAL(LOCALE_SDECIMAL, ".")
967 LOCVAL(LOCALE_STHOUSAND, ",")
968 LOCVAL(LOCALE_SGROUPING, "3;0")
969 LOCVAL(LOCALE_IDIGITS, "2")
970 LOCVAL(LOCALE_ILZERO, "1")
971 LOCVAL(LOCALE_INEGNUMBER, "1")
972 LOCVAL(LOCALE_SNATIVEDIGITS, "0123456789")
973 LOCVAL(LOCALE_SCURRENCY, "$")
974 LOCVAL(LOCALE_SINTLSYMBOL, "USD")
975 LOCVAL(LOCALE_SMONDECIMALSEP, ".")
976 LOCVAL(LOCALE_SMONTHOUSANDSEP, ",")
977 LOCVAL(LOCALE_SMONGROUPING, "3;0")
978 LOCVAL(LOCALE_ICURRDIGITS, "2")
979 LOCVAL(LOCALE_IINTLCURRDIGITS, "2")
980 LOCVAL(LOCALE_ICURRENCY, "0")
981 LOCVAL(LOCALE_INEGCURR, "0")
982 LOCVAL(LOCALE_SDATE, "/")
983 LOCVAL(LOCALE_STIME, ":")
984 LOCVAL(LOCALE_SSHORTDATE, "M/d/yy")
985 LOCVAL(LOCALE_SLONGDATE, "dddd, MMMM dd, yyyy")
986 LOCVAL(LOCALE_STIMEFORMAT, "h:mm:ss tt")
987 LOCVAL(LOCALE_IDATE, "0")
988 LOCVAL(LOCALE_ILDATE, "0")
989 LOCVAL(LOCALE_ITIME, "0")
990 LOCVAL(LOCALE_ITIMEMARKPOSN, "0")
991 LOCVAL(LOCALE_ICENTURY, "0")
992 LOCVAL(LOCALE_ITLZERO, "0")
993 LOCVAL(LOCALE_IDAYLZERO, "0")
994 LOCVAL(LOCALE_IMONLZERO, "0")
995 LOCVAL(LOCALE_S1159, "AM")
996 LOCVAL(LOCALE_S2359, "PM")
997 LOCVAL(LOCALE_ICALENDARTYPE, "1")
998 LOCVAL(LOCALE_IOPTIONALCALENDAR, "0")
999 LOCVAL(LOCALE_IFIRSTDAYOFWEEK, "6")
1000 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR, "0")
1001 LOCVAL(LOCALE_SDAYNAME1, "Monday")
1002 LOCVAL(LOCALE_SDAYNAME2, "Tuesday")
1003 LOCVAL(LOCALE_SDAYNAME3, "Wednesday")
1004 LOCVAL(LOCALE_SDAYNAME4, "Thursday")
1005 LOCVAL(LOCALE_SDAYNAME5, "Friday")
1006 LOCVAL(LOCALE_SDAYNAME6, "Saturday")
1007 LOCVAL(LOCALE_SDAYNAME7, "Sunday")
1008 LOCVAL(LOCALE_SABBREVDAYNAME1, "Mon")
1009 LOCVAL(LOCALE_SABBREVDAYNAME2, "Tue")
1010 LOCVAL(LOCALE_SABBREVDAYNAME3, "Wed")
1011 LOCVAL(LOCALE_SABBREVDAYNAME4, "Thu")
1012 LOCVAL(LOCALE_SABBREVDAYNAME5, "Fri")
1013 LOCVAL(LOCALE_SABBREVDAYNAME6, "Sat")
1014 LOCVAL(LOCALE_SABBREVDAYNAME7, "Sun")
1015 LOCVAL(LOCALE_SMONTHNAME1, "January")
1016 LOCVAL(LOCALE_SMONTHNAME2, "February")
1017 LOCVAL(LOCALE_SMONTHNAME3, "March")
1018 LOCVAL(LOCALE_SMONTHNAME4, "April")
1019 LOCVAL(LOCALE_SMONTHNAME5, "May")
1020 LOCVAL(LOCALE_SMONTHNAME6, "June")
1021 LOCVAL(LOCALE_SMONTHNAME7, "July")
1022 LOCVAL(LOCALE_SMONTHNAME8, "August")
1023 LOCVAL(LOCALE_SMONTHNAME9, "September")
1024 LOCVAL(LOCALE_SMONTHNAME10, "October")
1025 LOCVAL(LOCALE_SMONTHNAME11, "November")
1026 LOCVAL(LOCALE_SMONTHNAME12, "December")
1027 LOCVAL(LOCALE_SMONTHNAME13, "")
1028 LOCVAL(LOCALE_SABBREVMONTHNAME1, "Jan")
1029 LOCVAL(LOCALE_SABBREVMONTHNAME2, "Feb")
1030 LOCVAL(LOCALE_SABBREVMONTHNAME3, "Mar")
1031 LOCVAL(LOCALE_SABBREVMONTHNAME4, "Apr")
1032 LOCVAL(LOCALE_SABBREVMONTHNAME5, "May")
1033 LOCVAL(LOCALE_SABBREVMONTHNAME6, "Jun")
1034 LOCVAL(LOCALE_SABBREVMONTHNAME7, "Jul")
1035 LOCVAL(LOCALE_SABBREVMONTHNAME8, "Aug")
1036 LOCVAL(LOCALE_SABBREVMONTHNAME9, "Sep")
1037 LOCVAL(LOCALE_SABBREVMONTHNAME10, "Oct")
1038 LOCVAL(LOCALE_SABBREVMONTHNAME11, "Nov")
1039 LOCVAL(LOCALE_SABBREVMONTHNAME12, "Dec")
1040 LOCVAL(LOCALE_SABBREVMONTHNAME13, "")
1041 LOCVAL(LOCALE_SPOSITIVESIGN, "")
1042 LOCVAL(LOCALE_SNEGATIVESIGN, "-")
1043 LOCVAL(LOCALE_IPOSSIGNPOSN, "3")
1044 LOCVAL(LOCALE_INEGSIGNPOSN, "0")
1045 LOCVAL(LOCALE_IPOSSYMPRECEDES, "1")
1046 LOCVAL(LOCALE_IPOSSEPBYSPACE, "0")
1047 LOCVAL(LOCALE_INEGSYMPRECEDES, "1")
1048 LOCVAL(LOCALE_INEGSEPBYSPACE, "0")
1049 default: found=0;break;
1051 break; /* LANG(0x0409) (U.S. English) */
1053 case 0x0809:
1054 switch (LCType) {
1055 LOCVAL(LOCALE_ILANGUAGE, "0809")
1056 LOCVAL(LOCALE_SLANGUAGE, "English (United Kingdom)")
1057 LOCVAL(LOCALE_SENGLANGUAGE, "English")
1058 LOCVAL(LOCALE_SABBREVLANGNAME, "ENG")
1059 LOCVAL(LOCALE_SNATIVELANGNAME, "English")
1060 LOCVAL(LOCALE_ICOUNTRY, "44")
1061 LOCVAL(LOCALE_SCOUNTRY, "United Kingdom")
1062 LOCVAL(LOCALE_SENGCOUNTRY, "United Kingdom")
1063 LOCVAL(LOCALE_SABBREVCTRYNAME, "GBR")
1064 LOCVAL(LOCALE_SNATIVECTRYNAME, "United Kingdom")
1065 LOCVAL(LOCALE_IDEFAULTLANGUAGE, "0809")
1066 LOCVAL(LOCALE_IDEFAULTCOUNTRY, "44")
1067 LOCVAL(LOCALE_IDEFAULTCODEPAGE, "850")
1068 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE, "1252")
1069 LOCVAL(LOCALE_SLIST, ",")
1070 LOCVAL(LOCALE_IMEASURE, "0")
1071 LOCVAL(LOCALE_SDECIMAL, ".")
1072 LOCVAL(LOCALE_STHOUSAND, ",")
1073 LOCVAL(LOCALE_SGROUPING, "3;0")
1074 LOCVAL(LOCALE_IDIGITS, "2")
1075 LOCVAL(LOCALE_ILZERO, "1")
1076 LOCVAL(LOCALE_INEGNUMBER, "1")
1077 LOCVAL(LOCALE_SNATIVEDIGITS, "0123456789")
1078 LOCVAL(LOCALE_SCURRENCY, "£")
1079 LOCVAL(LOCALE_SINTLSYMBOL, "GBP")
1080 LOCVAL(LOCALE_SMONDECIMALSEP, ".")
1081 LOCVAL(LOCALE_SMONTHOUSANDSEP, ",")
1082 LOCVAL(LOCALE_SMONGROUPING, "3;0")
1083 LOCVAL(LOCALE_ICURRDIGITS, "2")
1084 LOCVAL(LOCALE_IINTLCURRDIGITS, "2")
1085 LOCVAL(LOCALE_ICURRENCY, "0")
1086 LOCVAL(LOCALE_INEGCURR, "1")
1087 LOCVAL(LOCALE_SDATE, "/")
1088 LOCVAL(LOCALE_STIME, ":")
1089 LOCVAL(LOCALE_SSHORTDATE, "dd/MM/yy")
1090 LOCVAL(LOCALE_SLONGDATE, "dd MMMM yyyy")
1091 LOCVAL(LOCALE_STIMEFORMAT, "HH:mm:ss")
1092 LOCVAL(LOCALE_IDATE, "1")
1093 LOCVAL(LOCALE_ILDATE, "1")
1094 LOCVAL(LOCALE_ITIME, "1")
1095 LOCVAL(LOCALE_ITIMEMARKPOSN, "0")
1096 LOCVAL(LOCALE_ICENTURY, "0")
1097 LOCVAL(LOCALE_ITLZERO, "1")
1098 LOCVAL(LOCALE_IDAYLZERO, "1")
1099 LOCVAL(LOCALE_IMONLZERO, "1")
1100 LOCVAL(LOCALE_S1159, "")
1101 LOCVAL(LOCALE_S2359, "")
1102 LOCVAL(LOCALE_ICALENDARTYPE, "1")
1103 LOCVAL(LOCALE_IOPTIONALCALENDAR, "0")
1104 LOCVAL(LOCALE_IFIRSTDAYOFWEEK, "0")
1105 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR, "0")
1106 LOCVAL(LOCALE_SDAYNAME1, "Monday")
1107 LOCVAL(LOCALE_SDAYNAME2, "Tuesday")
1108 LOCVAL(LOCALE_SDAYNAME3, "Wednesday")
1109 LOCVAL(LOCALE_SDAYNAME4, "Thursday")
1110 LOCVAL(LOCALE_SDAYNAME5, "Friday")
1111 LOCVAL(LOCALE_SDAYNAME6, "Saturday")
1112 LOCVAL(LOCALE_SDAYNAME7, "Sunday")
1113 LOCVAL(LOCALE_SABBREVDAYNAME1, "Mon")
1114 LOCVAL(LOCALE_SABBREVDAYNAME2, "Tue")
1115 LOCVAL(LOCALE_SABBREVDAYNAME3, "Wed")
1116 LOCVAL(LOCALE_SABBREVDAYNAME4, "Thu")
1117 LOCVAL(LOCALE_SABBREVDAYNAME5, "Fri")
1118 LOCVAL(LOCALE_SABBREVDAYNAME6, "Sat")
1119 LOCVAL(LOCALE_SABBREVDAYNAME7, "Sun")
1120 LOCVAL(LOCALE_SMONTHNAME1, "January")
1121 LOCVAL(LOCALE_SMONTHNAME2, "February")
1122 LOCVAL(LOCALE_SMONTHNAME3, "March")
1123 LOCVAL(LOCALE_SMONTHNAME4, "April")
1124 LOCVAL(LOCALE_SMONTHNAME5, "May")
1125 LOCVAL(LOCALE_SMONTHNAME6, "June")
1126 LOCVAL(LOCALE_SMONTHNAME7, "July")
1127 LOCVAL(LOCALE_SMONTHNAME8, "August")
1128 LOCVAL(LOCALE_SMONTHNAME9, "September")
1129 LOCVAL(LOCALE_SMONTHNAME10, "October")
1130 LOCVAL(LOCALE_SMONTHNAME11, "November")
1131 LOCVAL(LOCALE_SMONTHNAME12, "December")
1132 LOCVAL(LOCALE_SMONTHNAME13, "")
1133 LOCVAL(LOCALE_SABBREVMONTHNAME1, "Jan")
1134 LOCVAL(LOCALE_SABBREVMONTHNAME2, "Feb")
1135 LOCVAL(LOCALE_SABBREVMONTHNAME3, "Mar")
1136 LOCVAL(LOCALE_SABBREVMONTHNAME4, "Apr")
1137 LOCVAL(LOCALE_SABBREVMONTHNAME5, "May")
1138 LOCVAL(LOCALE_SABBREVMONTHNAME6, "Jun")
1139 LOCVAL(LOCALE_SABBREVMONTHNAME7, "Jul")
1140 LOCVAL(LOCALE_SABBREVMONTHNAME8, "Aug")
1141 LOCVAL(LOCALE_SABBREVMONTHNAME9, "Sep")
1142 LOCVAL(LOCALE_SABBREVMONTHNAME10, "Oct")
1143 LOCVAL(LOCALE_SABBREVMONTHNAME11, "Nov")
1144 LOCVAL(LOCALE_SABBREVMONTHNAME12, "Dec")
1145 LOCVAL(LOCALE_SABBREVMONTHNAME13, "")
1146 LOCVAL(LOCALE_SPOSITIVESIGN, "")
1147 LOCVAL(LOCALE_SNEGATIVESIGN, "-")
1148 LOCVAL(LOCALE_IPOSSIGNPOSN, "3")
1149 LOCVAL(LOCALE_INEGSIGNPOSN, "3")
1150 LOCVAL(LOCALE_IPOSSYMPRECEDES, "1")
1151 LOCVAL(LOCALE_IPOSSEPBYSPACE, "0")
1152 LOCVAL(LOCALE_INEGSYMPRECEDES, "1")
1153 LOCVAL(LOCALE_INEGSEPBYSPACE, "0")
1154 default: found=0;break;
1156 break; /* LANG(0x0809) (U.K. English) */
1158 case LANG_Ko: /* string using codepage 949 */
1159 switch (LCType) {
1160 LOCVAL(LOCALE_ILANGUAGE,"18")
1161 LOCVAL(LOCALE_SLANGUAGE,"\307\321\261\271\276\356")
1162 LOCVAL(LOCALE_SENGLANGUAGE,"Korean")
1163 LOCVAL(LOCALE_SABBREVLANGNAME,"KOR")
1164 LOCVAL(LOCALE_SNATIVELANGNAME,"\307\321\261\271\276\356")
1165 LOCVAL(LOCALE_ICOUNTRY,"82")
1166 LOCVAL(LOCALE_SCOUNTRY,"\264\353\307\321\271\316\261\271")
1167 LOCVAL(LOCALE_SENGCOUNTRY,"Korea (South)")
1168 LOCVAL(LOCALE_SABBREVCTRYNAME,"KOR")
1169 LOCVAL(LOCALE_SNATIVECTRYNAME,"\264\353\307\321\271\316\261\271")
1170 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"18")
1171 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"82")
1172 LOCVAL(LOCALE_IDEFAULTCODEPAGE,"949")
1173 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE,"949")
1174 LOCVAL(LOCALE_SLIST,",")
1175 LOCVAL(LOCALE_IMEASURE,"0")
1176 LOCVAL(LOCALE_SDECIMAL,".")
1177 LOCVAL(LOCALE_STHOUSAND,",")
1178 LOCVAL(LOCALE_SGROUPING,"3;0")
1179 LOCVAL(LOCALE_IDIGITS,"2")
1180 LOCVAL(LOCALE_ILZERO,"0")
1181 LOCVAL(LOCALE_INEGNUMBER,"1")
1182 LOCVAL(LOCALE_SNATIVEDIGITS,"0123456789")
1183 LOCVAL(LOCALE_SCURRENCY,"\\")
1184 LOCVAL(LOCALE_SINTLSYMBOL,"Won")
1185 LOCVAL(LOCALE_SMONDECIMALSEP,".")
1186 LOCVAL(LOCALE_SMONTHOUSANDSEP,",")
1187 LOCVAL(LOCALE_SMONGROUPING,"3;0")
1188 LOCVAL(LOCALE_ICURRDIGITS,"2")
1189 LOCVAL(LOCALE_IINTLCURRDIGITS,"2")
1190 LOCVAL(LOCALE_ICURRENCY,"3")
1191 LOCVAL(LOCALE_INEGCURR,"8")
1192 LOCVAL(LOCALE_SDATE,"/")
1193 LOCVAL(LOCALE_STIME,":")
1194 LOCVAL(LOCALE_SSHORTDATE,"yyyy/MM/dd")
1195 LOCVAL(LOCALE_SLONGDATE,"yyyy/MM/dd")
1196 LOCVAL(LOCALE_STIMEFORMAT,"h:mm:ss tt")
1197 LOCVAL(LOCALE_IDATE,"1")
1198 LOCVAL(LOCALE_ILDATE,"1")
1199 LOCVAL(LOCALE_ITIME,"1")
1200 LOCVAL(LOCALE_ITIMEMARKPOSN,"0")
1201 LOCVAL(LOCALE_ICENTURY,"0")
1202 LOCVAL(LOCALE_ITLZERO,"0")
1203 LOCVAL(LOCALE_IDAYLZERO,"0")
1204 LOCVAL(LOCALE_IMONLZERO,"0")
1205 LOCVAL(LOCALE_S1159,"\277\300\300\374")
1206 LOCVAL(LOCALE_S2359,"\277\300\310\304")
1207 LOCVAL(LOCALE_ICALENDARTYPE,"1")
1208 /* Korean Tangun Era calendar */
1209 LOCVAL(LOCALE_IOPTIONALCALENDAR,"5")
1210 LOCVAL(LOCALE_IFIRSTDAYOFWEEK,"6")
1211 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR,"0")
1212 LOCVAL(LOCALE_SDAYNAME1,"\277\371\277\344\300\317")
1213 LOCVAL(LOCALE_SDAYNAME2,"\310\255\277\344\300\317")
1214 LOCVAL(LOCALE_SDAYNAME3,"\274\366\277\344\300\317")
1215 LOCVAL(LOCALE_SDAYNAME4,"\270\361\277\344\300\317")
1216 LOCVAL(LOCALE_SDAYNAME5,"\261\335\277\344\300\317")
1217 LOCVAL(LOCALE_SDAYNAME6,"\305\344\277\344\300\317")
1218 LOCVAL(LOCALE_SDAYNAME7,"\300\317\277\344\300\317")
1219 LOCVAL(LOCALE_SABBREVDAYNAME1,"\277\371")
1220 LOCVAL(LOCALE_SABBREVDAYNAME2,"\310\255")
1221 LOCVAL(LOCALE_SABBREVDAYNAME3,"\274\366")
1222 LOCVAL(LOCALE_SABBREVDAYNAME4,"\270\361")
1223 LOCVAL(LOCALE_SABBREVDAYNAME5,"\261\335")
1224 LOCVAL(LOCALE_SABBREVDAYNAME6,"\305\344")
1225 LOCVAL(LOCALE_SABBREVDAYNAME7,"\300\317")
1226 LOCVAL(LOCALE_SMONTHNAME1,"1\277\371")
1227 LOCVAL(LOCALE_SMONTHNAME2,"2\277\371")
1228 LOCVAL(LOCALE_SMONTHNAME3,"3\277\371")
1229 LOCVAL(LOCALE_SMONTHNAME4,"4\277\371")
1230 LOCVAL(LOCALE_SMONTHNAME5,"5\277\371")
1231 LOCVAL(LOCALE_SMONTHNAME6,"6\277\371")
1232 LOCVAL(LOCALE_SMONTHNAME7,"7\277\371")
1233 LOCVAL(LOCALE_SMONTHNAME8,"8\277\371")
1234 LOCVAL(LOCALE_SMONTHNAME9,"9\277\371")
1235 LOCVAL(LOCALE_SMONTHNAME10,"10\277\371")
1236 LOCVAL(LOCALE_SMONTHNAME11,"11\277\371")
1237 LOCVAL(LOCALE_SMONTHNAME12,"12\277\371")
1238 LOCVAL(LOCALE_SMONTHNAME13,"")
1239 LOCVAL(LOCALE_SABBREVMONTHNAME1,"1\277\371")
1240 LOCVAL(LOCALE_SABBREVMONTHNAME2,"2\277\371")
1241 LOCVAL(LOCALE_SABBREVMONTHNAME3,"3\277\371")
1242 LOCVAL(LOCALE_SABBREVMONTHNAME4,"4\277\371")
1243 LOCVAL(LOCALE_SABBREVMONTHNAME5,"5\277\371")
1244 LOCVAL(LOCALE_SABBREVMONTHNAME6,"6\277\371")
1245 LOCVAL(LOCALE_SABBREVMONTHNAME7,"7\277\371")
1246 LOCVAL(LOCALE_SABBREVMONTHNAME8,"8\277\371")
1247 LOCVAL(LOCALE_SABBREVMONTHNAME9,"9\277\371")
1248 LOCVAL(LOCALE_SABBREVMONTHNAME10,"10\277\371")
1249 LOCVAL(LOCALE_SABBREVMONTHNAME11,"11\277\371")
1250 LOCVAL(LOCALE_SABBREVMONTHNAME12,"12\277\371")
1251 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
1252 LOCVAL(LOCALE_SPOSITIVESIGN,"")
1253 LOCVAL(LOCALE_SNEGATIVESIGN,"-")
1254 LOCVAL(LOCALE_IPOSSIGNPOSN,"3")
1255 LOCVAL(LOCALE_INEGSIGNPOSN,"0")
1256 LOCVAL(LOCALE_IPOSSYMPRECEDES,"3")
1257 LOCVAL(LOCALE_IPOSSEPBYSPACE,"0")
1258 LOCVAL(LOCALE_INEGSYMPRECEDES,"3")
1259 LOCVAL(LOCALE_INEGSEPBYSPACE,"0")
1260 default: found=0;break;
1262 break; /* LANG(Ko) */
1264 case LANG_Hu:
1265 switch (LCType) {
1266 LOCVAL(LOCALE_ILANGUAGE,"9")
1267 LOCVAL(LOCALE_SLANGUAGE,"Magyar")
1268 LOCVAL(LOCALE_SENGLANGUAGE,"Hungarian")
1269 LOCVAL(LOCALE_SABBREVLANGNAME,"hun")
1270 LOCVAL(LOCALE_SNATIVELANGNAME,"Magyar")
1271 LOCVAL(LOCALE_ICOUNTRY,"36")
1272 LOCVAL(LOCALE_SCOUNTRY,"Magyarország")
1273 LOCVAL(LOCALE_SENGCOUNTRY,"Hungary")
1274 LOCVAL(LOCALE_SABBREVCTRYNAME,"Hu")
1275 LOCVAL(LOCALE_SNATIVECTRYNAME,"Magyarország")
1276 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
1277 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"36")
1278 LOCVAL(LOCALE_IDEFAULTCODEPAGE,"852")
1279 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE,"852")
1280 LOCVAL(LOCALE_SLIST,";")
1281 LOCVAL(LOCALE_IMEASURE,"0")
1282 LOCVAL(LOCALE_SDECIMAL,".")
1283 LOCVAL(LOCALE_STHOUSAND,",")
1285 LOCVAL(LOCALE_SGROUPING)
1287 LOCVAL(LOCALE_IDIGITS,"2")
1288 LOCVAL(LOCALE_ILZERO,"1")
1290 LOCVAL(LOCALE_INEGNUMBER)
1291 Is this "0123456789" ??
1292 LOCVAL(LOCALE_SNATIVEDIGITS)
1294 LOCVAL(LOCALE_SCURRENCY,"Ft")
1296 LOCVAL(LOCALE_SINTLSYMBOL)
1297 LOCVAL(LOCALE_SMONDECIMALSEP)
1298 LOCVAL(LOCALE_SMONTHOUSANDSEP)
1299 LOCVAL(LOCALE_SMONGROUPING)
1301 LOCVAL(LOCALE_ICURRDIGITS,"0")
1303 LOCVAL(LOCALE_IINTLCURRDIGITS)
1305 LOCVAL(LOCALE_ICURRENCY,"3")
1306 LOCVAL(LOCALE_INEGCURR,"8")
1307 LOCVAL(LOCALE_SDATE,"/")
1308 LOCVAL(LOCALE_STIME,":")
1309 LOCVAL(LOCALE_SSHORTDATE,"yyyy.MM.dd")
1310 LOCVAL(LOCALE_SLONGDATE,"ddd, yyyy. MMMM d")
1312 LOCVAL(LOCALE_STIMEFORMAT)
1314 LOCVAL(LOCALE_IDATE,"1")
1316 LOCVAL(LOCALE_ILDATE)
1318 LOCVAL(LOCALE_ITIME,"1")
1320 LOCVAL(LOCALE_ITIMEMARKPOSN)
1321 LOCVAL(LOCALE_ICENTURY)
1323 LOCVAL(LOCALE_ITLZERO,"1")
1325 LOCVAL(LOCALE_IDAYLZERO)
1326 LOCVAL(LOCALE_IMONLZERO)
1327 LOCVAL(LOCALE_S1159)
1328 LOCVAL(LOCALE_S2359)
1329 LOCVAL(LOCALE_ICALENDARTYPE)
1330 LOCVAL(LOCALE_IOPTIONALCALENDAR)
1331 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
1332 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
1334 LOCVAL(LOCALE_SDAYNAME1,"Hétfõ")
1335 LOCVAL(LOCALE_SDAYNAME2,"Kedd")
1336 LOCVAL(LOCALE_SDAYNAME3,"Szerda")
1337 LOCVAL(LOCALE_SDAYNAME4,"Csütörtök")
1338 LOCVAL(LOCALE_SDAYNAME5,"Péntek")
1339 LOCVAL(LOCALE_SDAYNAME6,"Szombat")
1340 LOCVAL(LOCALE_SDAYNAME7,"Vasárnap")
1341 LOCVAL(LOCALE_SABBREVDAYNAME1,"Hé")
1342 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ke")
1343 LOCVAL(LOCALE_SABBREVDAYNAME3,"Se")
1344 LOCVAL(LOCALE_SABBREVDAYNAME4,"Cs")
1345 LOCVAL(LOCALE_SABBREVDAYNAME5,"Pé")
1346 LOCVAL(LOCALE_SABBREVDAYNAME6,"So")
1347 LOCVAL(LOCALE_SABBREVDAYNAME7,"Va")
1348 LOCVAL(LOCALE_SMONTHNAME1,"Január")
1349 LOCVAL(LOCALE_SMONTHNAME2,"Február")
1350 LOCVAL(LOCALE_SMONTHNAME3,"Március")
1351 LOCVAL(LOCALE_SMONTHNAME4,"Április")
1352 LOCVAL(LOCALE_SMONTHNAME5,"Május")
1353 LOCVAL(LOCALE_SMONTHNAME6,"Június")
1354 LOCVAL(LOCALE_SMONTHNAME7,"Július")
1355 LOCVAL(LOCALE_SMONTHNAME8,"Augusztus")
1356 LOCVAL(LOCALE_SMONTHNAME9,"Szeptember")
1357 LOCVAL(LOCALE_SMONTHNAME10,"Október")
1358 LOCVAL(LOCALE_SMONTHNAME11,"November")
1359 LOCVAL(LOCALE_SMONTHNAME12,"December")
1360 LOCVAL(LOCALE_SMONTHNAME13,"")
1361 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
1362 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
1363 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Már")
1364 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Ápr")
1365 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Máj")
1366 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jún")
1367 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Júl")
1368 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
1369 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sze")
1370 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
1371 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
1372 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dec")
1373 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
1375 LOCVAL(LOCALE_SPOSITIVESIGN)
1376 LOCVAL(LOCALE_SNEGATIVESIGN)
1377 LOCVAL(LOCALE_IPOSSIGNPOSN)
1378 LOCVAL(LOCALE_INEGSIGNPOSN)
1379 LOCVAL(LOCALE_IPOSSYMPRECEDES)
1380 LOCVAL(LOCALE_IPOSSEPBYSPACE)
1381 LOCVAL(LOCALE_INEGSYMPRECEDES)
1382 LOCVAL(LOCALE_INEGSEPBYSPACE)
1384 default: found=0;break;
1386 break; /* LANG(En) */
1389 /*Insert other languages here*/
1391 default:
1392 found=0;
1393 break;
1394 } /* switch */
1396 if(!found) {
1397 fprintf(stderr,"'%s' not supported for your language.\n",
1398 retString);
1399 return 0;
1401 if (buf)
1402 lstrcpyn32A(buf,retString,len);
1403 return strlen(retString)+1;
1406 /***********************************************************************
1407 * GetLocaleInfo32W (KERNEL32.230)
1408 * Is the last parameter really WORD for Win16?
1410 INT32 GetLocaleInfo32W(LCID lcid,LCTYPE LCType,LPWSTR wbuf,INT32 len)
1412 int i;
1413 LPSTR abuf = (LPSTR) wbuf;
1414 INT32 n = GetLocaleInfoA(lcid, LCType, abuf, len);
1415 if (wbuf)
1416 for (i = n; i > 0; --i)
1417 wbuf[i] = abuf[i];
1418 return n;
1421 /***********************************************************************
1422 * CompareString16 (OLE2NLS.8)
1424 UINT16 CompareString16(DWORD lcid,DWORD fdwStyle,
1425 LPCSTR s1,DWORD l1,LPCSTR s2,DWORD l2)
1427 return (UINT16)CompareString32A(lcid,fdwStyle,s1,l1,s2,l2);
1430 /***********************************************************************
1431 * CompareString32A (KERNEL32.29)
1432 * This implementation ignores the locale
1433 * FIXME
1435 UINT32 CompareString32A(DWORD lcid, DWORD fdwStyle,
1436 LPCSTR s1, DWORD l1, LPCSTR s2,DWORD l2)
1438 int len,ret;
1439 if(fdwStyle & NORM_IGNORENONSPACE)
1441 fprintf(stdnimp, "CompareStringA: IGNORENONSPACE not supprted\n");
1443 if(fdwStyle & NORM_IGNORESYMBOLS)
1444 fprintf(stdnimp, "CompareStringA: IGNORESYMBOLS not supported\n");
1445 /* Is strcmp defaulting to string sort or to word sort?? */
1446 /* FIXME: Handle NORM_STRINGSORT */
1447 l1 = (l1==-1)?strlen(s1):l1;
1448 l2 = (l2==-1)?strlen(s2):l2;
1449 len = l1<l2 ? l1:l2;
1450 ret = (fdwStyle & NORM_IGNORECASE) ?
1451 lstrncmpi32A(s1,s2,len) : lstrncmp32A(s1,s2,len);
1452 /* not equal, return 1 or 3 */
1453 if(ret!=0)return ret+2;
1454 /* same len, return 2 */
1455 if(l1==l2)return 2;
1456 /* the longer one is lexically greater */
1457 return (l1<l2)? 1 : 3;
1460 /***********************************************************************
1461 * CompareString32W (KERNEL32.30)
1462 * This implementation ignores the locale
1463 * FIXME
1465 UINT32 CompareString32W(DWORD lcid, DWORD fdwStyle,
1466 LPCWSTR s1, DWORD l1, LPCWSTR s2,DWORD l2)
1468 int len,ret;
1469 if(fdwStyle & NORM_IGNORENONSPACE)
1470 fprintf(stdnimp,"CompareStringW:IGNORENONSPACE not supprted\n");
1471 if(fdwStyle & NORM_IGNORESYMBOLS)
1472 fprintf(stdnimp,"CompareStringW:IGNORESYMBOLS not supported\n");
1474 /* Is strcmp defaulting to string sort or to word sort?? */
1475 /* FIXME: Handle NORM_STRINGSORT */
1476 l1 = (l1==-1)?lstrlen32W(s1):l1;
1477 l2 = (l2==-1)?lstrlen32W(s2):l2;
1478 len = l1<l2 ? l1:l2;
1479 ret = (fdwStyle & NORM_IGNORECASE) ?
1480 lstrncmpi32W(s1,s2,len) : lstrncmp32W(s1,s2,len);
1481 /* not equal, return 1 or 3 */
1482 if(ret!=0) return ret+2;
1483 /* same len, return 2 */
1484 if(l1==l2) return 2;
1485 /* the longer one is lexically greater */
1486 return (l1<l2)? 1 : 3;
1489 /***********************************************************************
1490 * SetLocalInfoA (KERNEL32.499)
1492 BOOL SetLocaleInfoA(DWORD lcid, DWORD lctype, LPCSTR data) {
1493 fprintf(stdnimp,"SetLocaleInfoA(%ld,%ld,%s)\n",lcid,lctype,data);
1494 return TRUE;
1497 /***********************************************************************
1498 * IsValidLocale (KERNEL32.361)
1500 BOOL32 IsValidLocale(DWORD lcid,DWORD flags) {
1501 int i;
1503 i=0;
1504 while (locale_name2id[i].name!=NULL)
1505 if (locale_name2id[i].id == lcid)
1506 return TRUE;
1507 return FALSE;
1510 /***********************************************************************
1511 * EnumSystemLocales32W (KERNEL32.93)
1513 BOOL32 EnumSystemLocales32W( LOCALE_ENUMPROC32W lpfnLocaleEnum, DWORD flags )
1515 int i;
1516 BOOL32 ret;
1518 dprintf_win32(stddeb,"EnumSystemLocales32W(%p,%08lx)\n",
1519 lpfnLocaleEnum,flags );
1520 i=0;
1521 while (locale_name2id[i].name!=NULL)
1523 LPWSTR cp = HEAP_strdupAtoW( GetProcessHeap(), 0,
1524 locale_name2id[i].name );
1525 ret = lpfnLocaleEnum(cp);
1526 HeapFree( GetProcessHeap(), 0, cp );
1527 if (!ret) break;
1528 i++;
1530 return TRUE;
1533 /***********************************************************************
1534 * EnumSystemLocales32A (KERNEL32.92)
1536 BOOL32
1537 EnumSystemLocales32A(LOCALE_ENUMPROC32A lpfnLocaleEnum,DWORD flags) {
1538 int i;
1540 dprintf_win32(stddeb,"EnumSystemLocales32A(%p,%08lx)\n",
1541 lpfnLocaleEnum,flags
1543 i=0;
1544 while (locale_name2id[i].name!=NULL) {
1545 if (!lpfnLocaleEnum(locale_name2id[i].name))
1546 break;
1547 i++;
1549 return TRUE;