kernel: fix determination of using locale

Sergei Butakov butsergej at
Sat Apr 22 08:11:24 CDT 2006

1)On Wednesday 19 April 2006 15:00, Alexandre Julliard wrote:
> I'm not sure why you expect LC_CTYPE to set the user locale. LC_CTYPE
> defines the locale used for character conversions, and that's what
> Wine does by setting the system locale. The user locale affects things
> like resource loading and date formats, but these have nothing to do
> with LC_CTYPE.
I did not find any information about purpose of system_lcid/user_lcid. So I 
wrongly thinked variables with similar names have similar purpose: 
system_lcid affect _ALL_ Windows locale variables of _SOME_ part (system) of 
Wine, user_lcid affect _ALL_ Windows locale variables of _OTHER_ part of 
Wine. And it was "confirmed" by my practice :).
But reality system_lcid affect on _SOME_ part of Windows locale variables, 
user_lcid affect on _OTHER_ one.

> ... It sounds like there's a real bug here, and playing with the
> locale setting is only hiding it.
Is it means that something in Wine is defined by user_lcid but must by 

So, is it right for Wine:
LANG - define default values of all Windows locale variables;
LC_CTYPE - is equivalent of LC_CTYPE and LC_COLLATE of *NIX locale;
LC_MESSAGES - see below;
LC_ALL - override all above;

There are system_ui_language and user_ui_language variables in Wine: 
system_ui_language set same system_lcid, user_ui_language can be setted by 
Changing LC_MESSAGES (LC_ALL is unsetted) I don't see any visible changes of 
Wine's or Windows'es programs. The result is same if I set system_ui_language 
equal user_ui_language.  What is purpose of  

> ... like resource loading ...
Is it De.rc, En.rc, ... files?

More information about the wine-devel mailing list