Language search order

Shachar Shemesh wine-devel at sun.consumer.org.il
Sat Dec 7 13:24:11 CST 2002


 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





More information about the wine-devel mailing list