From dlls/kernel/locale.c
if (GetEnvironmentVariableA( "LC_ALL", buf, sizeof(buf) ) ||
GetEnvironmentVariableA( "*LC_CTYPE*", buf, sizeof(buf) ) ||
GetEnvironmentVariableA( "LANGUAGE", buf, sizeof(buf) ) ||
GetEnvironmentVariableA( "LC_MESSAGES", buf, sizeof(buf) ) ||
GetEnvironmentVariableA( "LANG", buf, sizeof(buf) ))

Hi list,

I'm trying to understand the above line of code. It would appear to me that default_lcid is used for "find resource". The manual for locale says:
LC_CTYPE
This changes the behaviour of the character handling and classi-
fication functions, such as isupper() and toupper(), and the
multi-byte character functions such as mblen() or wctomb().

Specifically, I'm looking into setting LC_CTYPE to "he_IL" so I can type Hebrew characters, while setting "LC_MESSAGE" to "C" so the messages programs issue are in English (or whatever their local setting says). It seems to me we may want to support independant settings of the two.

I realize that there are places where we may want to use the information from LC_CTYPE (WideCharToMultiByte comes to mine), but I believe that we should use a different setting for that so we can allow Unix users independant control over both settings.

Thoughts?

Shachar



Reply via email to