Release 960818
[wine/multimedia.git] / misc / ole2nls.c
blob297ca18d815117770f3d171ac327285da60e35b4
1 /*
2 * OLE2NLS library
4 * Copyright 1995 Martin von Loewis
5 */
7 /* At the moment, these are only empty stubs.
8 */
10 #include <string.h>
11 #include "windows.h"
12 #include "ole.h"
13 #include "options.h"
14 #include "winnls.h"
15 #include "stddebug.h"
16 #include "debug.h"
18 /***********************************************************************
19 * GetUserDefaultLCID (OLE2NLS.1)
21 DWORD GetUserDefaultLCID()
23 /* Default sorting, neutral sublanguage */
24 switch(Options.language)
26 case LANG_En: return 0x09;
27 case LANG_Es: return 0x0a;
28 case LANG_De: return 0x07;
29 case LANG_No: return 0x14;
30 case LANG_Fr: return 0x0c;
31 case LANG_Fi: return 0x0b;
32 case LANG_Da: return 0x06;
33 case LANG_Cz: return 0x05;
34 case LANG_Eo: return 0x25; /* not official */
35 case LANG_It: return 0x10;
36 case LANG_Ko: return 0x12;
37 default:
38 return 0; /* Neutral language */
42 /***********************************************************************
43 * GetSystemDefaultLCID (OLE2NLS.2)
45 DWORD GetSystemDefaultLCID()
47 return GetUserDefaultLCID();
50 /***********************************************************************
51 * GetUserDefaultLangID (OLE2NLS.3)
53 WORD GetUserDefaultLangID()
55 return (WORD)GetUserDefaultLCID();
58 /***********************************************************************
59 * GetSystemDefaultLangID (OLE2NLS.4)
61 WORD GetSystemDefaultLangID()
63 return GetUserDefaultLangID();
66 /***********************************************************************
67 * GetLocaleInfoA (OLE2NLS.5)
68 * Is the last parameter really WORD for Win16?
70 int GetLocaleInfoA(DWORD lcid,DWORD LCType,LPSTR buf,WORD len)
72 char *retString;
73 int retLen;
74 dprintf_ole(stddeb,"GetLocaleInfoA(%8lX,%8lX,%p,%4X)\n",
75 lcid,LCType,buf,len);
76 #if 0
77 /* Wine is supporting only the default locale */
78 if(lcid!=GetUserDefaultLCID())
80 dprintf_ole(stdnimp,"GetLocaleInfoA: Unknown locale\n");
81 return 0;
83 #endif
84 /* As an option, we could obtain the value from win.ini.
85 This would not match the Wine compile-time option.
86 Also, not all identifiers are available from win.ini */
87 retString=0;
88 retLen=0;
89 /* If we are through all of this, retLen should not be zero anymore.
90 If it is, the value is not supported */
91 #define LOCVAL(type,value) if(type==LCType) \
92 {retLen=strlen(value)+1;\
93 retString=value; \
95 #define UNSUPPORTED(type) if(type==lcid)retString=#type;
97 /* I really wish I would know a better way to do this */
98 UNSUPPORTED(LOCALE_ILANGUAGE)
99 UNSUPPORTED(LOCALE_SLANGUAGE)
100 UNSUPPORTED(LOCALE_SENGLANGUAGE)
101 UNSUPPORTED(LOCALE_SABBREVLANGNAME)
102 UNSUPPORTED(LOCALE_SNATIVELANGNAME)
103 UNSUPPORTED(LOCALE_ICOUNTRY)
104 UNSUPPORTED(LOCALE_SCOUNTRY)
105 UNSUPPORTED(LOCALE_SENGCOUNTRY)
106 UNSUPPORTED(LOCALE_SABBREVCTRYNAME)
107 UNSUPPORTED(LOCALE_SNATIVECTRYNAME)
108 UNSUPPORTED(LOCALE_IDEFAULTLANGUAGE)
109 UNSUPPORTED(LOCALE_IDEFAULTCOUNTRY)
110 UNSUPPORTED(LOCALE_IDEFAULTCODEPAGE)
111 UNSUPPORTED(LOCALE_IDEFAULTANSICODEPAGE)
112 UNSUPPORTED(LOCALE_SLIST)
113 UNSUPPORTED(LOCALE_IMEASURE)
114 UNSUPPORTED(LOCALE_SDECIMAL)
115 UNSUPPORTED(LOCALE_STHOUSAND)
116 UNSUPPORTED(LOCALE_SGROUPING)
117 UNSUPPORTED(LOCALE_IDIGITS)
118 UNSUPPORTED(LOCALE_ILZERO)
119 UNSUPPORTED(LOCALE_INEGNUMBER)
120 UNSUPPORTED(LOCALE_SNATIVEDIGITS)
121 UNSUPPORTED(LOCALE_SCURRENCY)
122 UNSUPPORTED(LOCALE_SINTLSYMBOL)
123 UNSUPPORTED(LOCALE_SMONDECIMALSEP)
124 UNSUPPORTED(LOCALE_SMONTHOUSANDSEP)
125 UNSUPPORTED(LOCALE_SMONGROUPING)
126 UNSUPPORTED(LOCALE_ICURRDIGITS)
127 UNSUPPORTED(LOCALE_IINTLCURRDIGITS)
128 UNSUPPORTED(LOCALE_ICURRENCY)
129 UNSUPPORTED(LOCALE_INEGCURR)
130 UNSUPPORTED(LOCALE_SDATE)
131 UNSUPPORTED(LOCALE_STIME)
132 UNSUPPORTED(LOCALE_SSHORTDATE)
133 UNSUPPORTED(LOCALE_SLONGDATE)
134 UNSUPPORTED(LOCALE_STIMEFORMAT)
135 UNSUPPORTED(LOCALE_IDATE)
136 UNSUPPORTED(LOCALE_ILDATE)
137 UNSUPPORTED(LOCALE_ITIME)
138 UNSUPPORTED(LOCALE_ITIMEMARKPOSN)
139 UNSUPPORTED(LOCALE_ICENTURY)
140 UNSUPPORTED(LOCALE_ITLZERO)
141 UNSUPPORTED(LOCALE_IDAYLZERO)
142 UNSUPPORTED(LOCALE_IMONLZERO)
143 UNSUPPORTED(LOCALE_S1159)
144 UNSUPPORTED(LOCALE_S2359)
145 UNSUPPORTED(LOCALE_ICALENDARTYPE)
146 UNSUPPORTED(LOCALE_IOPTIONALCALENDAR)
147 UNSUPPORTED(LOCALE_IFIRSTDAYOFWEEK)
148 UNSUPPORTED(LOCALE_IFIRSTWEEKOFYEAR)
149 UNSUPPORTED(LOCALE_SDAYNAME1)
150 UNSUPPORTED(LOCALE_SDAYNAME2)
151 UNSUPPORTED(LOCALE_SDAYNAME3)
152 UNSUPPORTED(LOCALE_SDAYNAME4)
153 UNSUPPORTED(LOCALE_SDAYNAME5)
154 UNSUPPORTED(LOCALE_SDAYNAME6)
155 UNSUPPORTED(LOCALE_SDAYNAME7)
156 UNSUPPORTED(LOCALE_SABBREVDAYNAME1)
157 UNSUPPORTED(LOCALE_SABBREVDAYNAME2)
158 UNSUPPORTED(LOCALE_SABBREVDAYNAME3)
159 UNSUPPORTED(LOCALE_SABBREVDAYNAME4)
160 UNSUPPORTED(LOCALE_SABBREVDAYNAME5)
161 UNSUPPORTED(LOCALE_SABBREVDAYNAME6)
162 UNSUPPORTED(LOCALE_SABBREVDAYNAME7)
163 UNSUPPORTED(LOCALE_SMONTHNAME1)
164 UNSUPPORTED(LOCALE_SMONTHNAME2)
165 UNSUPPORTED(LOCALE_SMONTHNAME3)
166 UNSUPPORTED(LOCALE_SMONTHNAME4)
167 UNSUPPORTED(LOCALE_SMONTHNAME5)
168 UNSUPPORTED(LOCALE_SMONTHNAME6)
169 UNSUPPORTED(LOCALE_SMONTHNAME7)
170 UNSUPPORTED(LOCALE_SMONTHNAME8)
171 UNSUPPORTED(LOCALE_SMONTHNAME9)
172 UNSUPPORTED(LOCALE_SMONTHNAME10)
173 UNSUPPORTED(LOCALE_SMONTHNAME11)
174 UNSUPPORTED(LOCALE_SMONTHNAME12)
175 UNSUPPORTED(LOCALE_SMONTHNAME13)
176 UNSUPPORTED(LOCALE_SABBREVMONTHNAME1)
177 UNSUPPORTED(LOCALE_SABBREVMONTHNAME2)
178 UNSUPPORTED(LOCALE_SABBREVMONTHNAME3)
179 UNSUPPORTED(LOCALE_SABBREVMONTHNAME4)
180 UNSUPPORTED(LOCALE_SABBREVMONTHNAME5)
181 UNSUPPORTED(LOCALE_SABBREVMONTHNAME6)
182 UNSUPPORTED(LOCALE_SABBREVMONTHNAME7)
183 UNSUPPORTED(LOCALE_SABBREVMONTHNAME8)
184 UNSUPPORTED(LOCALE_SABBREVMONTHNAME9)
185 UNSUPPORTED(LOCALE_SABBREVMONTHNAME10)
186 UNSUPPORTED(LOCALE_SABBREVMONTHNAME11)
187 UNSUPPORTED(LOCALE_SABBREVMONTHNAME12)
188 UNSUPPORTED(LOCALE_SABBREVMONTHNAME13)
189 UNSUPPORTED(LOCALE_SPOSITIVESIGN)
190 UNSUPPORTED(LOCALE_SNEGATIVESIGN)
191 UNSUPPORTED(LOCALE_IPOSSIGNPOSN)
192 UNSUPPORTED(LOCALE_INEGSIGNPOSN)
193 UNSUPPORTED(LOCALE_IPOSSYMPRECEDES)
194 UNSUPPORTED(LOCALE_IPOSSEPBYSPACE)
195 UNSUPPORTED(LOCALE_INEGSYMPRECEDES)
196 UNSUPPORTED(LOCALE_INEGSEPBYSPACE)
198 /* Now, the language specific definitions. They don't have to be
199 complete */
200 switch(Options.language)
202 case LANG_De:
203 /* This definitions apply to Germany only. Users in Austria
204 or Switzerland might want to modify them */
205 LOCVAL(LOCALE_ILANGUAGE,"9")
206 LOCVAL(LOCALE_SLANGUAGE,"Deutsch")
207 LOCVAL(LOCALE_SENGLANGUAGE,"German")
208 LOCVAL(LOCALE_SABBREVLANGNAME,"deu")
209 LOCVAL(LOCALE_SNATIVELANGNAME,"Deutsch")
210 LOCVAL(LOCALE_ICOUNTRY,"49")
211 LOCVAL(LOCALE_SCOUNTRY,"Deutschland")
212 LOCVAL(LOCALE_SENGCOUNTRY,"Deutschland")
213 LOCVAL(LOCALE_SABBREVCTRYNAME,"De")
214 LOCVAL(LOCALE_SNATIVECTRYNAME,"Deutschland")
215 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
216 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49")
217 /* Dunno
218 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
219 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
221 LOCVAL(LOCALE_SLIST,";")
222 LOCVAL(LOCALE_IMEASURE,"0")
223 LOCVAL(LOCALE_SDECIMAL,",")
224 LOCVAL(LOCALE_STHOUSAND,".")
226 LOCVAL(LOCALE_SGROUPING)
228 LOCVAL(LOCALE_IDIGITS,"2")
229 LOCVAL(LOCALE_ILZERO,"1")
231 LOCVAL(LOCALE_INEGNUMBER)
232 Is this "0123456789" ??
233 LOCVAL(LOCALE_SNATIVEDIGITS)
235 LOCVAL(LOCALE_SCURRENCY,"DM")
237 LOCVAL(LOCALE_SINTLSYMBOL)
238 LOCVAL(LOCALE_SMONDECIMALSEP)
239 LOCVAL(LOCALE_SMONTHOUSANDSEP)
240 LOCVAL(LOCALE_SMONGROUPING)
242 LOCVAL(LOCALE_ICURRDIGITS,"2")
244 LOCVAL(LOCALE_IINTLCURRDIGITS)
246 LOCVAL(LOCALE_ICURRENCY,"3")
247 LOCVAL(LOCALE_INEGCURR,"8")
248 LOCVAL(LOCALE_SDATE,".")
249 LOCVAL(LOCALE_STIME,":")
250 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
251 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
253 LOCVAL(LOCALE_STIMEFORMAT)
255 LOCVAL(LOCALE_IDATE,"1")
257 LOCVAL(LOCALE_ILDATE)
259 LOCVAL(LOCALE_ITIME,"1")
261 LOCVAL(LOCALE_ITIMEMARKPOSN)
262 LOCVAL(LOCALE_ICENTURY)
264 LOCVAL(LOCALE_ITLZERO,"1")
266 LOCVAL(LOCALE_IDAYLZERO)
267 LOCVAL(LOCALE_IMONLZERO)
268 LOCVAL(LOCALE_S1159)
269 LOCVAL(LOCALE_S2359)
270 LOCVAL(LOCALE_ICALENDARTYPE)
271 LOCVAL(LOCALE_IOPTIONALCALENDAR)
272 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
273 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
275 LOCVAL(LOCALE_SDAYNAME1,"Montag")
276 LOCVAL(LOCALE_SDAYNAME2,"Dienstag")
277 LOCVAL(LOCALE_SDAYNAME3,"Mittwoch")
278 LOCVAL(LOCALE_SDAYNAME4,"Donnerstag")
279 LOCVAL(LOCALE_SDAYNAME5,"Freitag")
280 LOCVAL(LOCALE_SDAYNAME6,"Sonnabend")
281 LOCVAL(LOCALE_SDAYNAME7,"Sonntag")
282 LOCVAL(LOCALE_SABBREVDAYNAME1,"Mo")
283 LOCVAL(LOCALE_SABBREVDAYNAME2,"Di")
284 LOCVAL(LOCALE_SABBREVDAYNAME3,"Mi")
285 LOCVAL(LOCALE_SABBREVDAYNAME4,"Do")
286 LOCVAL(LOCALE_SABBREVDAYNAME5,"Fr")
287 LOCVAL(LOCALE_SABBREVDAYNAME6,"Sa")
288 LOCVAL(LOCALE_SABBREVDAYNAME7,"So")
289 LOCVAL(LOCALE_SMONTHNAME1,"Januar")
290 LOCVAL(LOCALE_SMONTHNAME2,"Februar")
291 LOCVAL(LOCALE_SMONTHNAME3,"März")
292 LOCVAL(LOCALE_SMONTHNAME4,"April")
293 LOCVAL(LOCALE_SMONTHNAME5,"Mai")
294 LOCVAL(LOCALE_SMONTHNAME6,"Juni")
295 LOCVAL(LOCALE_SMONTHNAME7,"Juli")
296 LOCVAL(LOCALE_SMONTHNAME8,"August")
297 LOCVAL(LOCALE_SMONTHNAME9,"September")
298 LOCVAL(LOCALE_SMONTHNAME10,"Oktober")
299 LOCVAL(LOCALE_SMONTHNAME11,"November")
300 LOCVAL(LOCALE_SMONTHNAME12,"Dezember")
301 LOCVAL(LOCALE_SMONTHNAME13,"")
302 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
303 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
304 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mär")
305 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
306 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Mai")
307 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jun")
308 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Jul")
309 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
310 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sep")
311 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
312 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
313 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dez")
314 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
316 LOCVAL(LOCALE_SPOSITIVESIGN)
317 LOCVAL(LOCALE_SNEGATIVESIGN)
318 LOCVAL(LOCALE_IPOSSIGNPOSN)
319 LOCVAL(LOCALE_INEGSIGNPOSN)
320 LOCVAL(LOCALE_IPOSSYMPRECEDES)
321 LOCVAL(LOCALE_IPOSSEPBYSPACE)
322 LOCVAL(LOCALE_INEGSYMPRECEDES)
323 LOCVAL(LOCALE_INEGSEPBYSPACE)
325 break; /* LANG(De) */
327 case LANG_Da:
328 /* LOCVAL(LOCALE_ILANGUAGE,"9") */
329 LOCVAL(LOCALE_SLANGUAGE,"Dansk")
330 LOCVAL(LOCALE_SENGLANGUAGE,"Danish")
331 LOCVAL(LOCALE_SABBREVLANGNAME,"dan")
332 LOCVAL(LOCALE_SNATIVELANGNAME,"Dansk")
333 LOCVAL(LOCALE_ICOUNTRY,"45")
334 LOCVAL(LOCALE_SCOUNTRY,"Danmark")
335 LOCVAL(LOCALE_SENGCOUNTRY,"Denmark")
336 LOCVAL(LOCALE_SABBREVCTRYNAME,"Da")
337 LOCVAL(LOCALE_SNATIVECTRYNAME,"Danmark")
338 /* LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9") */
339 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"45")
340 /* LOCVAL(LOCALE_IDEFAULTCODEPAGE) */
341 /* LOCVAL(LOCALE_IDEFAULTANSICODEPAGE) */
342 LOCVAL(LOCALE_SLIST,";")
343 LOCVAL(LOCALE_IMEASURE,"0")
344 LOCVAL(LOCALE_SDECIMAL,",")
345 LOCVAL(LOCALE_STHOUSAND,".")
346 /* LOCVAL(LOCALE_SGROUPING) */
347 LOCVAL(LOCALE_IDIGITS,"2")
348 LOCVAL(LOCALE_ILZERO,"1")
349 /* LOCVAL(LOCALE_INEGNUMBER) */
350 /* LOCVAL(LOCALE_SNATIVEDIGITS) */
351 LOCVAL(LOCALE_SCURRENCY,"kr")
352 /* LOCVAL(LOCALE_SINTLSYMBOL) */
353 LOCVAL(LOCALE_SMONDECIMALSEP,",")
354 LOCVAL(LOCALE_SMONTHOUSANDSEP,".")
355 /* LOCVAL(LOCALE_SMONGROUPING) */
356 LOCVAL(LOCALE_ICURRDIGITS,"2")
357 /* LOCVAL(LOCALE_IINTLCURRDIGITS) */
358 LOCVAL(LOCALE_ICURRENCY,"3")
359 LOCVAL(LOCALE_INEGCURR,"8")
360 LOCVAL(LOCALE_SDATE,".")
361 LOCVAL(LOCALE_STIME,":")
362 LOCVAL(LOCALE_SSHORTDATE,"dd/MM-yyyy")
363 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
364 /* LOCVAL(LOCALE_STIMEFORMAT) */
365 LOCVAL(LOCALE_IDATE,"1")
366 /* LOCVAL(LOCALE_ILDATE) */
367 LOCVAL(LOCALE_ITIME,"1")
368 /* LOCVAL(LOCALE_ITIMEMARKPOSN) */
369 /* LOCVAL(LOCALE_ICENTURY) */
370 LOCVAL(LOCALE_ITLZERO,"1")
371 /* LOCVAL(LOCALE_IDAYLZERO) */
372 /* LOCVAL(LOCALE_IMONLZERO) */
373 /* LOCVAL(LOCALE_S1159) */
374 /* LOCVAL(LOCALE_S2359) */
375 /* LOCVAL(LOCALE_ICALENDARTYPE) */
376 /* LOCVAL(LOCALE_IOPTIONALCALENDAR) */
377 /* LOCVAL(LOCALE_IFIRSTDAYOFWEEK) */
378 /* LOCVAL(LOCALE_IFIRSTWEEKOFYEAR) */
379 LOCVAL(LOCALE_SDAYNAME1,"Mandag")
380 LOCVAL(LOCALE_SDAYNAME2,"Tirsdag")
381 LOCVAL(LOCALE_SDAYNAME3,"Onsdag")
382 LOCVAL(LOCALE_SDAYNAME4,"Torsdag")
383 LOCVAL(LOCALE_SDAYNAME5,"Fredag")
384 LOCVAL(LOCALE_SDAYNAME6,"Lørdag")
385 LOCVAL(LOCALE_SDAYNAME7,"Søndag")
386 LOCVAL(LOCALE_SABBREVDAYNAME1,"Ma")
387 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ti")
388 LOCVAL(LOCALE_SABBREVDAYNAME3,"On")
389 LOCVAL(LOCALE_SABBREVDAYNAME4,"To")
390 LOCVAL(LOCALE_SABBREVDAYNAME5,"Fr")
391 LOCVAL(LOCALE_SABBREVDAYNAME6,"Lø")
392 LOCVAL(LOCALE_SABBREVDAYNAME7,"Sø")
393 LOCVAL(LOCALE_SMONTHNAME1,"Januar")
394 LOCVAL(LOCALE_SMONTHNAME2,"Februar")
395 LOCVAL(LOCALE_SMONTHNAME3,"Marts")
396 LOCVAL(LOCALE_SMONTHNAME4,"April")
397 LOCVAL(LOCALE_SMONTHNAME5,"Maj")
398 LOCVAL(LOCALE_SMONTHNAME6,"Juni")
399 LOCVAL(LOCALE_SMONTHNAME7,"Juli")
400 LOCVAL(LOCALE_SMONTHNAME8,"August")
401 LOCVAL(LOCALE_SMONTHNAME9,"September")
402 LOCVAL(LOCALE_SMONTHNAME10,"Oktober")
403 LOCVAL(LOCALE_SMONTHNAME11,"November")
404 LOCVAL(LOCALE_SMONTHNAME12,"December")
405 LOCVAL(LOCALE_SMONTHNAME13,"")
406 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
407 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
408 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mar")
409 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
410 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Maj")
411 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jun")
412 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Jul")
413 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
414 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sep")
415 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
416 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
417 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dec")
418 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
419 /* LOCVAL(LOCALE_SPOSITIVESIGN) */
420 /* LOCVAL(LOCALE_SNEGATIVESIGN) */
421 /* LOCVAL(LOCALE_IPOSSIGNPOSN) */
422 /* LOCVAL(LOCALE_INEGSIGNPOSN) */
423 /* LOCVAL(LOCALE_IPOSSYMPRECEDES) */
424 /* LOCVAL(LOCALE_IPOSSEPBYSPACE) */
425 /* LOCVAL(LOCALE_INEGSYMPRECEDES) */
426 /* LOCVAL(LOCALE_INEGSEPBYSPACE) */
427 break; /* LANG(Da) */
429 case LANG_En:
430 /* This definitions apply to Germany only. Users in Austria
431 or Switzerland might want to modify them */
432 LOCVAL(LOCALE_ILANGUAGE,"9")
433 LOCVAL(LOCALE_SLANGUAGE,"English")
434 LOCVAL(LOCALE_SENGLANGUAGE,"English")
435 LOCVAL(LOCALE_SABBREVLANGNAME,"enu")
436 LOCVAL(LOCALE_SNATIVELANGNAME,"English")
437 LOCVAL(LOCALE_ICOUNTRY,"11")
438 LOCVAL(LOCALE_SCOUNTRY,"Deutschland")
439 LOCVAL(LOCALE_SENGCOUNTRY,"Deutschland")
440 LOCVAL(LOCALE_SABBREVCTRYNAME,"De")
441 LOCVAL(LOCALE_SNATIVECTRYNAME,"Deutschland")
442 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
443 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49")
444 /* Dunno
445 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
446 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
448 LOCVAL(LOCALE_SLIST,";")
449 LOCVAL(LOCALE_IMEASURE,"0")
450 LOCVAL(LOCALE_SDECIMAL,",")
451 LOCVAL(LOCALE_STHOUSAND,".")
453 LOCVAL(LOCALE_SGROUPING)
455 LOCVAL(LOCALE_IDIGITS,"2")
456 LOCVAL(LOCALE_ILZERO,"1")
458 LOCVAL(LOCALE_INEGNUMBER)
459 Is this "0123456789" ??
460 LOCVAL(LOCALE_SNATIVEDIGITS)
462 LOCVAL(LOCALE_SCURRENCY,"DM")
464 LOCVAL(LOCALE_SINTLSYMBOL)
465 LOCVAL(LOCALE_SMONDECIMALSEP)
466 LOCVAL(LOCALE_SMONTHOUSANDSEP)
467 LOCVAL(LOCALE_SMONGROUPING)
469 LOCVAL(LOCALE_ICURRDIGITS,"2")
471 LOCVAL(LOCALE_IINTLCURRDIGITS)
473 LOCVAL(LOCALE_ICURRENCY,"3")
474 LOCVAL(LOCALE_INEGCURR,"8")
475 LOCVAL(LOCALE_SDATE,".")
476 LOCVAL(LOCALE_STIME,":")
477 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
478 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
480 LOCVAL(LOCALE_STIMEFORMAT)
482 LOCVAL(LOCALE_IDATE,"1")
484 LOCVAL(LOCALE_ILDATE)
486 LOCVAL(LOCALE_ITIME,"1")
488 LOCVAL(LOCALE_ITIMEMARKPOSN)
489 LOCVAL(LOCALE_ICENTURY)
491 LOCVAL(LOCALE_ITLZERO,"1")
493 LOCVAL(LOCALE_IDAYLZERO)
494 LOCVAL(LOCALE_IMONLZERO)
495 LOCVAL(LOCALE_S1159)
496 LOCVAL(LOCALE_S2359)
497 LOCVAL(LOCALE_ICALENDARTYPE)
498 LOCVAL(LOCALE_IOPTIONALCALENDAR)
499 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
500 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
502 LOCVAL(LOCALE_SDAYNAME1,"Montag")
503 LOCVAL(LOCALE_SDAYNAME2,"Dienstag")
504 LOCVAL(LOCALE_SDAYNAME3,"Mittwoch")
505 LOCVAL(LOCALE_SDAYNAME4,"Donnerstag")
506 LOCVAL(LOCALE_SDAYNAME5,"Freitag")
507 LOCVAL(LOCALE_SDAYNAME6,"Sonnabend")
508 LOCVAL(LOCALE_SDAYNAME7,"Sonntag")
509 LOCVAL(LOCALE_SABBREVDAYNAME1,"Mo")
510 LOCVAL(LOCALE_SABBREVDAYNAME2,"Di")
511 LOCVAL(LOCALE_SABBREVDAYNAME3,"Mi")
512 LOCVAL(LOCALE_SABBREVDAYNAME4,"Do")
513 LOCVAL(LOCALE_SABBREVDAYNAME5,"Fr")
514 LOCVAL(LOCALE_SABBREVDAYNAME6,"Sa")
515 LOCVAL(LOCALE_SABBREVDAYNAME7,"So")
516 LOCVAL(LOCALE_SMONTHNAME1,"Januar")
517 LOCVAL(LOCALE_SMONTHNAME2,"Februar")
518 LOCVAL(LOCALE_SMONTHNAME3,"März")
519 LOCVAL(LOCALE_SMONTHNAME4,"April")
520 LOCVAL(LOCALE_SMONTHNAME5,"Mai")
521 LOCVAL(LOCALE_SMONTHNAME6,"Juni")
522 LOCVAL(LOCALE_SMONTHNAME7,"Juli")
523 LOCVAL(LOCALE_SMONTHNAME8,"August")
524 LOCVAL(LOCALE_SMONTHNAME9,"September")
525 LOCVAL(LOCALE_SMONTHNAME10,"Oktober")
526 LOCVAL(LOCALE_SMONTHNAME11,"November")
527 LOCVAL(LOCALE_SMONTHNAME12,"Dezember")
528 LOCVAL(LOCALE_SMONTHNAME13,"")
529 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Jan")
530 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
531 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mär")
532 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
533 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Mai")
534 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Jun")
535 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Jul")
536 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Aug")
537 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Sep")
538 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Okt")
539 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
540 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dez")
541 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
543 LOCVAL(LOCALE_SPOSITIVESIGN)
544 LOCVAL(LOCALE_SNEGATIVESIGN)
545 LOCVAL(LOCALE_IPOSSIGNPOSN)
546 LOCVAL(LOCALE_INEGSIGNPOSN)
547 LOCVAL(LOCALE_IPOSSYMPRECEDES)
548 LOCVAL(LOCALE_IPOSSEPBYSPACE)
549 LOCVAL(LOCALE_INEGSYMPRECEDES)
550 LOCVAL(LOCALE_INEGSEPBYSPACE)
552 break; /* LANG(En) */
554 case LANG_Eo:
555 /* LOCVAL(LOCALE_ILANGUAGE,"9") ISO numerical ID for language TODO */
556 LOCVAL(LOCALE_SLANGUAGE,"Esperanto")
557 LOCVAL(LOCALE_SENGLANGUAGE,"Esperanto")
558 /* LOCVAL(LOCALE_SABBREVLANGNAME,"deu") */
559 LOCVAL(LOCALE_SNATIVELANGNAME,"Esperanto")
560 /* LOCVAL(LOCALE_ICOUNTRY,"49") not official in any one country */
561 /* LOCVAL(LOCALE_SCOUNTRY,"Deutschland") */
562 /* LOCVAL(LOCALE_SENGCOUNTRY,"Germany") */
563 /* LOCVAL(LOCALE_SABBREVCTRYNAME,"De") */
564 /* LOCVAL(LOCALE_SNATIVECTRYNAME,"Deutschland") */
565 /* LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9") ISO ID of lang TODO */
566 /* LOCVAL(LOCALE_IDEFAULTCOUNTRY,"49") */
567 LOCVAL(LOCALE_IDEFAULTCODEPAGE,"3") /* is this right? TODO */
568 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE,"3") /* is this right? TODO */
569 LOCVAL(LOCALE_SLIST,";")
570 LOCVAL(LOCALE_IMEASURE,"0")
571 LOCVAL(LOCALE_SDECIMAL,",")
572 LOCVAL(LOCALE_STHOUSAND,".")
573 /* LOCVAL(LOCALE_SGROUPING) */
574 LOCVAL(LOCALE_IDIGITS,"2")
575 LOCVAL(LOCALE_ILZERO,"1")
576 /* LOCVAL(LOCALE_INEGNUMBER) */
577 /* LOCVAL(LOCALE_SNATIVEDIGITS) */
578 LOCVAL(LOCALE_SCURRENCY,"NLG") /* accounting currency of UEA */
579 /* LOCVAL(LOCALE_SINTLSYMBOL) */
580 /* LOCVAL(LOCALE_SMONDECIMALSEP) */
581 /* LOCVAL(LOCALE_SMONTHOUSANDSEP) */
582 /* LOCVAL(LOCALE_SMONGROUPING) */
583 /* LOCVAL(LOCALE_ICURRDIGITS,"2") */
584 /* LOCVAL(LOCALE_IINTLCURRDIGITS) */
585 LOCVAL(LOCALE_ICURRENCY,"3")
586 LOCVAL(LOCALE_INEGCURR,"8")
587 LOCVAL(LOCALE_SDATE,".")
588 LOCVAL(LOCALE_STIME,":")
589 LOCVAL(LOCALE_SSHORTDATE,"yyyy.mm.dd")
590 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
591 /* LOCVAL(LOCALE_STIMEFORMAT) */
592 LOCVAL(LOCALE_IDATE,"1")
593 /* LOCVAL(LOCALE_ILDATE) */
594 LOCVAL(LOCALE_ITIME,"1")
595 /* LOCVAL(LOCALE_ITIMEMARKPOSN) */
596 /* LOCVAL(LOCALE_ICENTURY) */
597 LOCVAL(LOCALE_ITLZERO,"1")
598 /* LOCVAL(LOCALE_IDAYLZERO) */
599 /* LOCVAL(LOCALE_IMONLZERO) */
600 /* LOCVAL(LOCALE_S1159) */
601 /* LOCVAL(LOCALE_S2359) */
602 /* LOCVAL(LOCALE_ICALENDARTYPE) */
603 /* LOCVAL(LOCALE_IOPTIONALCALENDAR) */
604 /* LOCVAL(LOCALE_IFIRSTDAYOFWEEK) */
605 /* LOCVAL(LOCALE_IFIRSTWEEKOFYEAR) */
606 LOCVAL(LOCALE_SDAYNAME1,"lundo")
607 LOCVAL(LOCALE_SDAYNAME2,"mardo")
608 LOCVAL(LOCALE_SDAYNAME3,"merkredo")
609 LOCVAL(LOCALE_SDAYNAME4,"¼aýdo")
610 LOCVAL(LOCALE_SDAYNAME5,"vendredo")
611 LOCVAL(LOCALE_SDAYNAME6,"sabato")
612 LOCVAL(LOCALE_SDAYNAME7,"dimanæo")
613 LOCVAL(LOCALE_SABBREVDAYNAME1,"lu")
614 LOCVAL(LOCALE_SABBREVDAYNAME2,"ma")
615 LOCVAL(LOCALE_SABBREVDAYNAME3,"me")
616 LOCVAL(LOCALE_SABBREVDAYNAME4,"¼a")
617 LOCVAL(LOCALE_SABBREVDAYNAME5,"ve")
618 LOCVAL(LOCALE_SABBREVDAYNAME6,"sa")
619 LOCVAL(LOCALE_SABBREVDAYNAME7,"di")
620 LOCVAL(LOCALE_SMONTHNAME1,"januaro")
621 LOCVAL(LOCALE_SMONTHNAME2,"februaro")
622 LOCVAL(LOCALE_SMONTHNAME3,"marto")
623 LOCVAL(LOCALE_SMONTHNAME4,"aprilo")
624 LOCVAL(LOCALE_SMONTHNAME5,"majo")
625 LOCVAL(LOCALE_SMONTHNAME6,"junio")
626 LOCVAL(LOCALE_SMONTHNAME7,"julio")
627 LOCVAL(LOCALE_SMONTHNAME8,"aýgusto")
628 LOCVAL(LOCALE_SMONTHNAME9,"septembro")
629 LOCVAL(LOCALE_SMONTHNAME10,"oktobro")
630 LOCVAL(LOCALE_SMONTHNAME11,"novembro")
631 LOCVAL(LOCALE_SMONTHNAME12,"decembro")
632 LOCVAL(LOCALE_SMONTHNAME13,"")
633 LOCVAL(LOCALE_SABBREVMONTHNAME1,"jan")
634 LOCVAL(LOCALE_SABBREVMONTHNAME2,"feb")
635 LOCVAL(LOCALE_SABBREVMONTHNAME3,"mar")
636 LOCVAL(LOCALE_SABBREVMONTHNAME4,"apr")
637 LOCVAL(LOCALE_SABBREVMONTHNAME5,"maj")
638 LOCVAL(LOCALE_SABBREVMONTHNAME6,"jun")
639 LOCVAL(LOCALE_SABBREVMONTHNAME7,"jul")
640 LOCVAL(LOCALE_SABBREVMONTHNAME8,"aýg")
641 LOCVAL(LOCALE_SABBREVMONTHNAME9,"sep")
642 LOCVAL(LOCALE_SABBREVMONTHNAME10,"okt")
643 LOCVAL(LOCALE_SABBREVMONTHNAME11,"nov")
644 LOCVAL(LOCALE_SABBREVMONTHNAME12,"dec")
645 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
646 /* LOCVAL(LOCALE_SPOSITIVESIGN) */
647 /* LOCVAL(LOCALE_SNEGATIVESIGN) */
648 /* LOCVAL(LOCALE_IPOSSIGNPOSN) */
649 /* LOCVAL(LOCALE_INEGSIGNPOSN) */
650 /* LOCVAL(LOCALE_IPOSSYMPRECEDES) */
651 /* LOCVAL(LOCALE_IPOSSEPBYSPACE) */
652 /* LOCVAL(LOCALE_INEGSYMPRECEDES) */
653 /* LOCVAL(LOCALE_INEGSEPBYSPACE) */
654 break; /* LANG(Eo) */
656 case LANG_Fi:
657 LOCVAL(LOCALE_ILANGUAGE,"11")
658 LOCVAL(LOCALE_SLANGUAGE,"Suomi")
659 LOCVAL(LOCALE_SENGLANGUAGE,"Finnish")
660 LOCVAL(LOCALE_SABBREVLANGNAME,"fin")
661 LOCVAL(LOCALE_SNATIVELANGNAME,"suomi")
662 LOCVAL(LOCALE_ICOUNTRY,"49")
663 LOCVAL(LOCALE_SCOUNTRY,"Suomi")
664 LOCVAL(LOCALE_SENGCOUNTRY,"Finland")
665 LOCVAL(LOCALE_SABBREVCTRYNAME,"Fin")
666 LOCVAL(LOCALE_SNATIVECTRYNAME,"Suomi")
667 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"11")
668 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"358")
670 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
671 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
673 LOCVAL(LOCALE_SLIST,";")
674 LOCVAL(LOCALE_IMEASURE,"0")
675 LOCVAL(LOCALE_SDECIMAL,",")
676 LOCVAL(LOCALE_STHOUSAND,".")
678 LOCVAL(LOCALE_SGROUPING)
680 LOCVAL(LOCALE_IDIGITS,"2")
681 LOCVAL(LOCALE_ILZERO,"1")
683 LOCVAL(LOCALE_INEGNUMBER)
684 Is this "0123456789" ??
685 LOCVAL(LOCALE_SNATIVEDIGITS)
687 LOCVAL(LOCALE_SCURRENCY,"mk")
689 LOCVAL(LOCALE_SINTLSYMBOL)
690 LOCVAL(LOCALE_SMONDECIMALSEP)
691 LOCVAL(LOCALE_SMONTHOUSANDSEP)
692 LOCVAL(LOCALE_SMONGROUPING)
694 LOCVAL(LOCALE_ICURRDIGITS,"2")
696 LOCVAL(LOCALE_IINTLCURRDIGITS)
698 LOCVAL(LOCALE_ICURRENCY,"3")
699 LOCVAL(LOCALE_INEGCURR,"8")
700 LOCVAL(LOCALE_SDATE,".")
701 LOCVAL(LOCALE_STIME,":")
702 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
703 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
705 LOCVAL(LOCALE_STIMEFORMAT)
707 LOCVAL(LOCALE_IDATE,"1")
709 LOCVAL(LOCALE_ILDATE)
711 LOCVAL(LOCALE_ITIME,"1")
713 LOCVAL(LOCALE_ITIMEMARKPOSN)
714 LOCVAL(LOCALE_ICENTURY)
716 LOCVAL(LOCALE_ITLZERO,"1")
718 LOCVAL(LOCALE_IDAYLZERO)
719 LOCVAL(LOCALE_IMONLZERO)
720 LOCVAL(LOCALE_S1159)
721 LOCVAL(LOCALE_S2359)
722 LOCVAL(LOCALE_ICALENDARTYPE)
723 LOCVAL(LOCALE_IOPTIONALCALENDAR)
724 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
725 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
727 LOCVAL(LOCALE_SDAYNAME1,"maanantai")
728 LOCVAL(LOCALE_SDAYNAME2,"tiistai")
729 LOCVAL(LOCALE_SDAYNAME3,"keskiviikko")
730 LOCVAL(LOCALE_SDAYNAME4,"torstai")
731 LOCVAL(LOCALE_SDAYNAME5,"perjantai")
732 LOCVAL(LOCALE_SDAYNAME6,"lauantai")
733 LOCVAL(LOCALE_SDAYNAME7,"sunnuntai")
734 LOCVAL(LOCALE_SABBREVDAYNAME1,"Ma")
735 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ti")
736 LOCVAL(LOCALE_SABBREVDAYNAME3,"Ke")
737 LOCVAL(LOCALE_SABBREVDAYNAME4,"To")
738 LOCVAL(LOCALE_SABBREVDAYNAME5,"Pe")
739 LOCVAL(LOCALE_SABBREVDAYNAME6,"La")
740 LOCVAL(LOCALE_SABBREVDAYNAME7,"Su")
741 LOCVAL(LOCALE_SMONTHNAME1,"tammikuu")
742 LOCVAL(LOCALE_SMONTHNAME2,"helmikuu")
743 LOCVAL(LOCALE_SMONTHNAME3,"maaliskuu")
744 LOCVAL(LOCALE_SMONTHNAME4,"huhtikuu")
745 LOCVAL(LOCALE_SMONTHNAME5,"toukokuu")
746 LOCVAL(LOCALE_SMONTHNAME6,"kesäkuu")
747 LOCVAL(LOCALE_SMONTHNAME7,"heinäkuu")
748 LOCVAL(LOCALE_SMONTHNAME8,"elokuu")
749 LOCVAL(LOCALE_SMONTHNAME9,"syyskuu")
750 LOCVAL(LOCALE_SMONTHNAME10,"lokakuu")
751 LOCVAL(LOCALE_SMONTHNAME11,"marraskuu")
752 LOCVAL(LOCALE_SMONTHNAME12,"joulukuu")
753 LOCVAL(LOCALE_SMONTHNAME13,"")
754 LOCVAL(LOCALE_SABBREVMONTHNAME1,"tammi")
755 LOCVAL(LOCALE_SABBREVMONTHNAME2,"helmi")
756 LOCVAL(LOCALE_SABBREVMONTHNAME3,"maalis")
757 LOCVAL(LOCALE_SABBREVMONTHNAME4,"huhti")
758 LOCVAL(LOCALE_SABBREVMONTHNAME5,"touko")
759 LOCVAL(LOCALE_SABBREVMONTHNAME6,"kesä")
760 LOCVAL(LOCALE_SABBREVMONTHNAME7,"heinä")
761 LOCVAL(LOCALE_SABBREVMONTHNAME8,"elo")
762 LOCVAL(LOCALE_SABBREVMONTHNAME9,"syys")
763 LOCVAL(LOCALE_SABBREVMONTHNAME10,"loka")
764 LOCVAL(LOCALE_SABBREVMONTHNAME11,"marras")
765 LOCVAL(LOCALE_SABBREVMONTHNAME12,"joulu")
766 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
768 LOCVAL(LOCALE_SPOSITIVESIGN)
769 LOCVAL(LOCALE_SNEGATIVESIGN)
770 LOCVAL(LOCALE_IPOSSIGNPOSN)
771 LOCVAL(LOCALE_INEGSIGNPOSN)
772 LOCVAL(LOCALE_IPOSSYMPRECEDES)
773 LOCVAL(LOCALE_IPOSSEPBYSPACE)
774 LOCVAL(LOCALE_INEGSYMPRECEDES)
775 LOCVAL(LOCALE_INEGSEPBYSPACE)
777 break; /* LANG(Fi) */
779 case LANG_It:
780 LOCVAL(LOCALE_ILANGUAGE,"9")
781 LOCVAL(LOCALE_SLANGUAGE,"Italiano")
782 LOCVAL(LOCALE_SENGLANGUAGE,"Italian")
783 LOCVAL(LOCALE_SABBREVLANGNAME,"ita")
784 LOCVAL(LOCALE_SNATIVELANGNAME,"Italiano")
785 LOCVAL(LOCALE_ICOUNTRY,"39")
786 LOCVAL(LOCALE_SCOUNTRY,"Italia")
787 LOCVAL(LOCALE_SENGCOUNTRY,"Italy")
788 LOCVAL(LOCALE_SABBREVCTRYNAME,"It")
789 LOCVAL(LOCALE_SNATIVECTRYNAME,"Italia")
790 LOCVAL(LOCALE_IDEFAULTLANGUAGE,"9")
791 LOCVAL(LOCALE_IDEFAULTCOUNTRY,"39")
792 /* Dunno
793 LOCVAL(LOCALE_IDEFAULTCODEPAGE)
794 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE)
796 LOCVAL(LOCALE_SLIST,";")
797 LOCVAL(LOCALE_IMEASURE,"0")
798 LOCVAL(LOCALE_SDECIMAL,",")
799 LOCVAL(LOCALE_STHOUSAND,".")
801 LOCVAL(LOCALE_SGROUPING)
803 LOCVAL(LOCALE_IDIGITS,"2")
804 LOCVAL(LOCALE_ILZERO,"1")
806 LOCVAL(LOCALE_INEGNUMBER)
807 Is this "0123456789" ??
808 LOCVAL(LOCALE_SNATIVEDIGITS)
810 LOCVAL(LOCALE_SCURRENCY,"Lit.")
812 LOCVAL(LOCALE_SINTLSYMBOL)
813 LOCVAL(LOCALE_SMONDECIMALSEP)
814 LOCVAL(LOCALE_SMONTHOUSANDSEP)
815 LOCVAL(LOCALE_SMONGROUPING)
817 LOCVAL(LOCALE_ICURRDIGITS,"2")
819 LOCVAL(LOCALE_IINTLCURRDIGITS)
821 LOCVAL(LOCALE_ICURRENCY,"3")
822 LOCVAL(LOCALE_INEGCURR,"8")
823 LOCVAL(LOCALE_SDATE,".")
824 LOCVAL(LOCALE_STIME,":")
825 LOCVAL(LOCALE_SSHORTDATE,"dd.MM.yyyy")
826 LOCVAL(LOCALE_SLONGDATE,"ddd, d. MMMM yyyy")
828 LOCVAL(LOCALE_STIMEFORMAT)
830 LOCVAL(LOCALE_IDATE,"1")
832 LOCVAL(LOCALE_ILDATE)
834 LOCVAL(LOCALE_ITIME,"1")
836 LOCVAL(LOCALE_ITIMEMARKPOSN)
837 LOCVAL(LOCALE_ICENTURY)
839 LOCVAL(LOCALE_ITLZERO,"1")
841 LOCVAL(LOCALE_IDAYLZERO)
842 LOCVAL(LOCALE_IMONLZERO)
843 LOCVAL(LOCALE_S1159)
844 LOCVAL(LOCALE_S2359)
845 LOCVAL(LOCALE_ICALENDARTYPE)
846 LOCVAL(LOCALE_IOPTIONALCALENDAR)
847 LOCVAL(LOCALE_IFIRSTDAYOFWEEK)
848 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR)
850 LOCVAL(LOCALE_SDAYNAME1,"Lunedi'")
851 LOCVAL(LOCALE_SDAYNAME2,"Martedi'")
852 LOCVAL(LOCALE_SDAYNAME3,"Mercoledi'")
853 LOCVAL(LOCALE_SDAYNAME4,"Giovedi'")
854 LOCVAL(LOCALE_SDAYNAME5,"Venerdi'")
855 LOCVAL(LOCALE_SDAYNAME6,"Sabato")
856 LOCVAL(LOCALE_SDAYNAME7,"Domenica")
857 LOCVAL(LOCALE_SABBREVDAYNAME1,"Lu")
858 LOCVAL(LOCALE_SABBREVDAYNAME2,"Ma")
859 LOCVAL(LOCALE_SABBREVDAYNAME3,"Me")
860 LOCVAL(LOCALE_SABBREVDAYNAME4,"Gi")
861 LOCVAL(LOCALE_SABBREVDAYNAME5,"Ve")
862 LOCVAL(LOCALE_SABBREVDAYNAME6,"Sa")
863 LOCVAL(LOCALE_SABBREVDAYNAME7,"Do")
864 LOCVAL(LOCALE_SMONTHNAME1,"Gennaio")
865 LOCVAL(LOCALE_SMONTHNAME2,"Febbraio")
866 LOCVAL(LOCALE_SMONTHNAME3,"Marzo")
867 LOCVAL(LOCALE_SMONTHNAME4,"Aprile")
868 LOCVAL(LOCALE_SMONTHNAME5,"Maggio")
869 LOCVAL(LOCALE_SMONTHNAME6,"Giugno")
870 LOCVAL(LOCALE_SMONTHNAME7,"Luglio")
871 LOCVAL(LOCALE_SMONTHNAME8,"Agosto")
872 LOCVAL(LOCALE_SMONTHNAME9,"Settembre")
873 LOCVAL(LOCALE_SMONTHNAME10,"Ottobre")
874 LOCVAL(LOCALE_SMONTHNAME11,"Novembre")
875 LOCVAL(LOCALE_SMONTHNAME12,"Dicembre")
876 LOCVAL(LOCALE_SMONTHNAME13,"")
877 LOCVAL(LOCALE_SABBREVMONTHNAME1,"Gen")
878 LOCVAL(LOCALE_SABBREVMONTHNAME2,"Feb")
879 LOCVAL(LOCALE_SABBREVMONTHNAME3,"Mar")
880 LOCVAL(LOCALE_SABBREVMONTHNAME4,"Apr")
881 LOCVAL(LOCALE_SABBREVMONTHNAME5,"Mag")
882 LOCVAL(LOCALE_SABBREVMONTHNAME6,"Giu")
883 LOCVAL(LOCALE_SABBREVMONTHNAME7,"Lug")
884 LOCVAL(LOCALE_SABBREVMONTHNAME8,"Ago")
885 LOCVAL(LOCALE_SABBREVMONTHNAME9,"Set")
886 LOCVAL(LOCALE_SABBREVMONTHNAME10,"Ott")
887 LOCVAL(LOCALE_SABBREVMONTHNAME11,"Nov")
888 LOCVAL(LOCALE_SABBREVMONTHNAME12,"Dic")
889 LOCVAL(LOCALE_SABBREVMONTHNAME13,"")
891 LOCVAL(LOCALE_SPOSITIVESIGN)
892 LOCVAL(LOCALE_SNEGATIVESIGN)
893 LOCVAL(LOCALE_IPOSSIGNPOSN)
894 LOCVAL(LOCALE_INEGSIGNPOSN)
895 LOCVAL(LOCALE_IPOSSYMPRECEDES)
896 LOCVAL(LOCALE_IPOSSEPBYSPACE)
897 LOCVAL(LOCALE_INEGSYMPRECEDES)
898 LOCVAL(LOCALE_INEGSEPBYSPACE)
900 break; /* LANG(It) */
902 case 0x0409:
903 LOCVAL(LOCALE_ILANGUAGE, "0409")
904 LOCVAL(LOCALE_SLANGUAGE, "English (United States)")
905 LOCVAL(LOCALE_SENGLANGUAGE, "English")
906 LOCVAL(LOCALE_SABBREVLANGNAME, "ENU")
907 LOCVAL(LOCALE_SNATIVELANGNAME, "English")
908 LOCVAL(LOCALE_ICOUNTRY, "1")
909 LOCVAL(LOCALE_SCOUNTRY, "United States")
910 LOCVAL(LOCALE_SENGCOUNTRY, "United States")
911 LOCVAL(LOCALE_SABBREVCTRYNAME, "USA")
912 LOCVAL(LOCALE_SNATIVECTRYNAME, "United States")
913 LOCVAL(LOCALE_IDEFAULTLANGUAGE, "0409")
914 LOCVAL(LOCALE_IDEFAULTCOUNTRY, "1")
915 LOCVAL(LOCALE_IDEFAULTCODEPAGE, "437")
916 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE, "1252")
917 LOCVAL(LOCALE_SLIST, ",")
918 LOCVAL(LOCALE_IMEASURE, "1")
919 LOCVAL(LOCALE_SDECIMAL, ".")
920 LOCVAL(LOCALE_STHOUSAND, ",")
921 LOCVAL(LOCALE_SGROUPING, "3;0")
922 LOCVAL(LOCALE_IDIGITS, "2")
923 LOCVAL(LOCALE_ILZERO, "1")
924 LOCVAL(LOCALE_INEGNUMBER, "1")
925 LOCVAL(LOCALE_SNATIVEDIGITS, "0123456789")
926 LOCVAL(LOCALE_SCURRENCY, "$")
927 LOCVAL(LOCALE_SINTLSYMBOL, "USD")
928 LOCVAL(LOCALE_SMONDECIMALSEP, ".")
929 LOCVAL(LOCALE_SMONTHOUSANDSEP, ",")
930 LOCVAL(LOCALE_SMONGROUPING, "3;0")
931 LOCVAL(LOCALE_ICURRDIGITS, "2")
932 LOCVAL(LOCALE_IINTLCURRDIGITS, "2")
933 LOCVAL(LOCALE_ICURRENCY, "0")
934 LOCVAL(LOCALE_INEGCURR, "0")
935 LOCVAL(LOCALE_SDATE, "/")
936 LOCVAL(LOCALE_STIME, ":")
937 LOCVAL(LOCALE_SSHORTDATE, "M/d/yy")
938 LOCVAL(LOCALE_SLONGDATE, "dddd, MMMM dd, yyyy")
939 LOCVAL(LOCALE_STIMEFORMAT, "h:mm:ss tt")
940 LOCVAL(LOCALE_IDATE, "0")
941 LOCVAL(LOCALE_ILDATE, "0")
942 LOCVAL(LOCALE_ITIME, "0")
943 LOCVAL(LOCALE_ITIMEMARKPOSN, "0")
944 LOCVAL(LOCALE_ICENTURY, "0")
945 LOCVAL(LOCALE_ITLZERO, "0")
946 LOCVAL(LOCALE_IDAYLZERO, "0")
947 LOCVAL(LOCALE_IMONLZERO, "0")
948 LOCVAL(LOCALE_S1159, "AM")
949 LOCVAL(LOCALE_S2359, "PM")
950 LOCVAL(LOCALE_ICALENDARTYPE, "1")
951 LOCVAL(LOCALE_IOPTIONALCALENDAR, "0")
952 LOCVAL(LOCALE_IFIRSTDAYOFWEEK, "6")
953 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR, "0")
954 LOCVAL(LOCALE_SDAYNAME1, "Monday")
955 LOCVAL(LOCALE_SDAYNAME2, "Tuesday")
956 LOCVAL(LOCALE_SDAYNAME3, "Wednesday")
957 LOCVAL(LOCALE_SDAYNAME4, "Thursday")
958 LOCVAL(LOCALE_SDAYNAME5, "Friday")
959 LOCVAL(LOCALE_SDAYNAME6, "Saturday")
960 LOCVAL(LOCALE_SDAYNAME7, "Sunday")
961 LOCVAL(LOCALE_SABBREVDAYNAME1, "Mon")
962 LOCVAL(LOCALE_SABBREVDAYNAME2, "Tue")
963 LOCVAL(LOCALE_SABBREVDAYNAME3, "Wed")
964 LOCVAL(LOCALE_SABBREVDAYNAME4, "Thu")
965 LOCVAL(LOCALE_SABBREVDAYNAME5, "Fri")
966 LOCVAL(LOCALE_SABBREVDAYNAME6, "Sat")
967 LOCVAL(LOCALE_SABBREVDAYNAME7, "Sun")
968 LOCVAL(LOCALE_SMONTHNAME1, "January")
969 LOCVAL(LOCALE_SMONTHNAME2, "February")
970 LOCVAL(LOCALE_SMONTHNAME3, "March")
971 LOCVAL(LOCALE_SMONTHNAME4, "April")
972 LOCVAL(LOCALE_SMONTHNAME5, "May")
973 LOCVAL(LOCALE_SMONTHNAME6, "June")
974 LOCVAL(LOCALE_SMONTHNAME7, "July")
975 LOCVAL(LOCALE_SMONTHNAME8, "August")
976 LOCVAL(LOCALE_SMONTHNAME9, "September")
977 LOCVAL(LOCALE_SMONTHNAME10, "October")
978 LOCVAL(LOCALE_SMONTHNAME11, "November")
979 LOCVAL(LOCALE_SMONTHNAME12, "December")
980 LOCVAL(LOCALE_SMONTHNAME13, "")
981 LOCVAL(LOCALE_SABBREVMONTHNAME1, "Jan")
982 LOCVAL(LOCALE_SABBREVMONTHNAME2, "Feb")
983 LOCVAL(LOCALE_SABBREVMONTHNAME3, "Mar")
984 LOCVAL(LOCALE_SABBREVMONTHNAME4, "Apr")
985 LOCVAL(LOCALE_SABBREVMONTHNAME5, "May")
986 LOCVAL(LOCALE_SABBREVMONTHNAME6, "Jun")
987 LOCVAL(LOCALE_SABBREVMONTHNAME7, "Jul")
988 LOCVAL(LOCALE_SABBREVMONTHNAME8, "Aug")
989 LOCVAL(LOCALE_SABBREVMONTHNAME9, "Sep")
990 LOCVAL(LOCALE_SABBREVMONTHNAME10, "Oct")
991 LOCVAL(LOCALE_SABBREVMONTHNAME11, "Nov")
992 LOCVAL(LOCALE_SABBREVMONTHNAME12, "Dec")
993 LOCVAL(LOCALE_SABBREVMONTHNAME13, "")
994 LOCVAL(LOCALE_SPOSITIVESIGN, "")
995 LOCVAL(LOCALE_SNEGATIVESIGN, "-")
996 LOCVAL(LOCALE_IPOSSIGNPOSN, "3")
997 LOCVAL(LOCALE_INEGSIGNPOSN, "0")
998 LOCVAL(LOCALE_IPOSSYMPRECEDES, "1")
999 LOCVAL(LOCALE_IPOSSEPBYSPACE, "0")
1000 LOCVAL(LOCALE_INEGSYMPRECEDES, "1")
1001 LOCVAL(LOCALE_INEGSEPBYSPACE, "0")
1002 break; /* LANG(0x0409) (U.S. English) */
1004 case 0x0809:
1005 LOCVAL(LOCALE_ILANGUAGE, "0809")
1006 LOCVAL(LOCALE_SLANGUAGE, "English (United Kingdom)")
1007 LOCVAL(LOCALE_SENGLANGUAGE, "English")
1008 LOCVAL(LOCALE_SABBREVLANGNAME, "ENG")
1009 LOCVAL(LOCALE_SNATIVELANGNAME, "English")
1010 LOCVAL(LOCALE_ICOUNTRY, "44")
1011 LOCVAL(LOCALE_SCOUNTRY, "United Kingdom")
1012 LOCVAL(LOCALE_SENGCOUNTRY, "United Kingdom")
1013 LOCVAL(LOCALE_SABBREVCTRYNAME, "GBR")
1014 LOCVAL(LOCALE_SNATIVECTRYNAME, "United Kingdom")
1015 LOCVAL(LOCALE_IDEFAULTLANGUAGE, "0809")
1016 LOCVAL(LOCALE_IDEFAULTCOUNTRY, "44")
1017 LOCVAL(LOCALE_IDEFAULTCODEPAGE, "850")
1018 LOCVAL(LOCALE_IDEFAULTANSICODEPAGE, "1252")
1019 LOCVAL(LOCALE_SLIST, ",")
1020 LOCVAL(LOCALE_IMEASURE, "0")
1021 LOCVAL(LOCALE_SDECIMAL, ".")
1022 LOCVAL(LOCALE_STHOUSAND, ",")
1023 LOCVAL(LOCALE_SGROUPING, "3;0")
1024 LOCVAL(LOCALE_IDIGITS, "2")
1025 LOCVAL(LOCALE_ILZERO, "1")
1026 LOCVAL(LOCALE_INEGNUMBER, "1")
1027 LOCVAL(LOCALE_SNATIVEDIGITS, "0123456789")
1028 LOCVAL(LOCALE_SCURRENCY, "£")
1029 LOCVAL(LOCALE_SINTLSYMBOL, "GBP")
1030 LOCVAL(LOCALE_SMONDECIMALSEP, ".")
1031 LOCVAL(LOCALE_SMONTHOUSANDSEP, ",")
1032 LOCVAL(LOCALE_SMONGROUPING, "3;0")
1033 LOCVAL(LOCALE_ICURRDIGITS, "2")
1034 LOCVAL(LOCALE_IINTLCURRDIGITS, "2")
1035 LOCVAL(LOCALE_ICURRENCY, "0")
1036 LOCVAL(LOCALE_INEGCURR, "1")
1037 LOCVAL(LOCALE_SDATE, "/")
1038 LOCVAL(LOCALE_STIME, ":")
1039 LOCVAL(LOCALE_SSHORTDATE, "dd/MM/yy")
1040 LOCVAL(LOCALE_SLONGDATE, "dd MMMM yyyy")
1041 LOCVAL(LOCALE_STIMEFORMAT, "HH:mm:ss")
1042 LOCVAL(LOCALE_IDATE, "1")
1043 LOCVAL(LOCALE_ILDATE, "1")
1044 LOCVAL(LOCALE_ITIME, "1")
1045 LOCVAL(LOCALE_ITIMEMARKPOSN, "0")
1046 LOCVAL(LOCALE_ICENTURY, "0")
1047 LOCVAL(LOCALE_ITLZERO, "1")
1048 LOCVAL(LOCALE_IDAYLZERO, "1")
1049 LOCVAL(LOCALE_IMONLZERO, "1")
1050 LOCVAL(LOCALE_S1159, "")
1051 LOCVAL(LOCALE_S2359, "")
1052 LOCVAL(LOCALE_ICALENDARTYPE, "1")
1053 LOCVAL(LOCALE_IOPTIONALCALENDAR, "0")
1054 LOCVAL(LOCALE_IFIRSTDAYOFWEEK, "0")
1055 LOCVAL(LOCALE_IFIRSTWEEKOFYEAR, "0")
1056 LOCVAL(LOCALE_SDAYNAME1, "Monday")
1057 LOCVAL(LOCALE_SDAYNAME2, "Tuesday")
1058 LOCVAL(LOCALE_SDAYNAME3, "Wednesday")
1059 LOCVAL(LOCALE_SDAYNAME4, "Thursday")
1060 LOCVAL(LOCALE_SDAYNAME5, "Friday")
1061 LOCVAL(LOCALE_SDAYNAME6, "Saturday")
1062 LOCVAL(LOCALE_SDAYNAME7, "Sunday")
1063 LOCVAL(LOCALE_SABBREVDAYNAME1, "Mon")
1064 LOCVAL(LOCALE_SABBREVDAYNAME2, "Tue")
1065 LOCVAL(LOCALE_SABBREVDAYNAME3, "Wed")
1066 LOCVAL(LOCALE_SABBREVDAYNAME4, "Thu")
1067 LOCVAL(LOCALE_SABBREVDAYNAME5, "Fri")
1068 LOCVAL(LOCALE_SABBREVDAYNAME6, "Sat")
1069 LOCVAL(LOCALE_SABBREVDAYNAME7, "Sun")
1070 LOCVAL(LOCALE_SMONTHNAME1, "January")
1071 LOCVAL(LOCALE_SMONTHNAME2, "February")
1072 LOCVAL(LOCALE_SMONTHNAME3, "March")
1073 LOCVAL(LOCALE_SMONTHNAME4, "April")
1074 LOCVAL(LOCALE_SMONTHNAME5, "May")
1075 LOCVAL(LOCALE_SMONTHNAME6, "June")
1076 LOCVAL(LOCALE_SMONTHNAME7, "July")
1077 LOCVAL(LOCALE_SMONTHNAME8, "August")
1078 LOCVAL(LOCALE_SMONTHNAME9, "September")
1079 LOCVAL(LOCALE_SMONTHNAME10, "October")
1080 LOCVAL(LOCALE_SMONTHNAME11, "November")
1081 LOCVAL(LOCALE_SMONTHNAME12, "December")
1082 LOCVAL(LOCALE_SMONTHNAME13, "")
1083 LOCVAL(LOCALE_SABBREVMONTHNAME1, "Jan")
1084 LOCVAL(LOCALE_SABBREVMONTHNAME2, "Feb")
1085 LOCVAL(LOCALE_SABBREVMONTHNAME3, "Mar")
1086 LOCVAL(LOCALE_SABBREVMONTHNAME4, "Apr")
1087 LOCVAL(LOCALE_SABBREVMONTHNAME5, "May")
1088 LOCVAL(LOCALE_SABBREVMONTHNAME6, "Jun")
1089 LOCVAL(LOCALE_SABBREVMONTHNAME7, "Jul")
1090 LOCVAL(LOCALE_SABBREVMONTHNAME8, "Aug")
1091 LOCVAL(LOCALE_SABBREVMONTHNAME9, "Sep")
1092 LOCVAL(LOCALE_SABBREVMONTHNAME10, "Oct")
1093 LOCVAL(LOCALE_SABBREVMONTHNAME11, "Nov")
1094 LOCVAL(LOCALE_SABBREVMONTHNAME12, "Dec")
1095 LOCVAL(LOCALE_SABBREVMONTHNAME13, "")
1096 LOCVAL(LOCALE_SPOSITIVESIGN, "")
1097 LOCVAL(LOCALE_SNEGATIVESIGN, "-")
1098 LOCVAL(LOCALE_IPOSSIGNPOSN, "3")
1099 LOCVAL(LOCALE_INEGSIGNPOSN, "3")
1100 LOCVAL(LOCALE_IPOSSYMPRECEDES, "1")
1101 LOCVAL(LOCALE_IPOSSEPBYSPACE, "0")
1102 LOCVAL(LOCALE_INEGSYMPRECEDES, "1")
1103 LOCVAL(LOCALE_INEGSEPBYSPACE, "0")
1104 break; /* LANG(0x0809) (U.K. English) */
1106 /*Insert other languages here*/
1108 default:
1109 break;
1110 } /* switch */
1112 if(!retLen)
1114 if(!retString)fprintf(stderr,"Unkown LC type %lX\n",LCType);
1115 else fprintf(stderr,"'%s' not supported for your language.\n",
1116 retString);
1117 return 0;
1120 if(retLen>len)retLen=len;
1121 lstrcpyn32A(buf,retString,len);
1122 return retLen;
1125 /***********************************************************************
1126 * GetLocaleInfo32W (KERNEL32.230)
1127 * Is the last parameter really WORD for Win16?
1129 INT32 GetLocaleInfo32W(LCID lcid,LCTYPE LCType,LPWSTR wbuf,INT32 len)
1131 int i;
1132 LPSTR abuf = (LPSTR) wbuf;
1133 INT32 n = GetLocaleInfoA(lcid, LCType, abuf, len);
1134 for (i = n; i > 0; --i) {
1135 wbuf[i] = abuf[i];
1137 return n;
1140 /***********************************************************************
1141 * CompareString16 (OLE2NLS.8)
1143 UINT16 CompareString16(DWORD lcid,DWORD fdwStyle,
1144 LPCSTR s1,DWORD l1,LPCSTR s2,DWORD l2)
1146 return (UINT16)CompareString32A(lcid,fdwStyle,s1,l1,s2,l2);
1149 /***********************************************************************
1150 * CompareString32A (KERNEL32.29)
1151 * This implementation ignores the locale
1152 * FIXME
1154 UINT32 CompareString32A(DWORD lcid, DWORD fdwStyle,
1155 LPCSTR s1, DWORD l1, LPCSTR s2,DWORD l2)
1157 int len,ret;
1158 if(fdwStyle & NORM_IGNORENONSPACE)
1160 fprintf(stdnimp, "CompareStringA: IGNORENONSPACE not supprted\n");
1162 if(fdwStyle & NORM_IGNORESYMBOLS)
1163 fprintf(stdnimp, "CompareStringA: IGNORESYMBOLS not supported\n");
1164 /* Is strcmp defaulting to string sort or to word sort?? */
1165 /* FIXME: Handle NORM_STRINGSORT */
1166 l1 = (l1==-1)?strlen(s1):l1;
1167 l2 = (l2==-1)?strlen(s2):l2;
1168 len = l1<l2 ? l1:l2;
1169 ret = (fdwStyle & NORM_IGNORECASE) ?
1170 lstrncmpi32A(s1,s2,len) : lstrncmp32A(s1,s2,len);
1171 /* not equal, return 1 or 3 */
1172 if(ret!=0)return ret+2;
1173 /* same len, return 2 */
1174 if(l1==l2)return 2;
1175 /* the longer one is lexically greater */
1176 return (l1<l2)? 1 : 3;
1179 /***********************************************************************
1180 * CompareString32W (KERNEL32.30)
1181 * This implementation ignores the locale
1182 * FIXME
1184 UINT32 CompareString32W(DWORD lcid, DWORD fdwStyle,
1185 LPCWSTR s1, DWORD l1, LPCWSTR s2,DWORD l2)
1187 int len,ret;
1188 if(fdwStyle & NORM_IGNORENONSPACE)
1189 fprintf(stdnimp,"CompareStringW:IGNORENONSPACE not supprted\n");
1190 if(fdwStyle & NORM_IGNORESYMBOLS)
1191 fprintf(stdnimp,"CompareStringW:IGNORESYMBOLS not supported\n");
1193 /* Is strcmp defaulting to string sort or to word sort?? */
1194 /* FIXME: Handle NORM_STRINGSORT */
1195 l1 = (l1==-1)?lstrlen32W(s1):l1;
1196 l2 = (l2==-1)?lstrlen32W(s2):l2;
1197 len = l1<l2 ? l1:l2;
1198 ret = (fdwStyle & NORM_IGNORECASE) ?
1199 lstrncmpi32W(s1,s2,len) : lstrncmp32W(s1,s2,len);
1200 /* not equal, return 1 or 3 */
1201 if(ret!=0) return ret+2;
1202 /* same len, return 2 */
1203 if(l1==l2) return 2;
1204 /* the longer one is lexically greater */
1205 return (l1<l2)? 1 : 3;
1208 /***********************************************************************
1209 * SetLocalInfoA (KERNEL32.499)
1211 BOOL SetLocaleInfoA(DWORD lcid, DWORD lctype, LPCSTR data) {
1212 fprintf(stdnimp,"SetLocaleInfoA(%ld,%ld,%s)\n",lcid,lctype,data);
1213 return TRUE;