Wine and locales

Shachar Shemesh wine-devel at shemesh.biz
Wed Jul 28 05:04:22 CDT 2004


Dmitry Timoshkov wrote:

>"Shachar Shemesh" <wine-devel at shemesh.biz> wrote:
>
>  
>
>>In an attempt to get away from a possibly confusing subject line, and to 
>>converge on an agreed behavior, here is an attempt to clear the desired 
>>locale behavior Wine should have. Dmitry (and anyone else), please 
>>comment on this table where you think there are errors in it, and say 
>>what should be there.
>>
>>In the "Unix setting", I'm always assuming that LC_ALL overrides 
>>whatever is written in that column, and that LANG is used if neither 
>>LC_ALL nor the column are set.
>>    
>>
>
>I said it many times already, and I'll repeat once more: Windows has
>only one active locale which defines all the things you mentioned in
>the table except language of the interface which let's set aside to not
>confuse each other. There is no need to try to find appropriate mappings
>for LC_TYPE or anything else you find in the output of the 'locale'
>command. But still (almost) any locale setting you want to modify in
>the win32 environment on a per user basis can be done either by running
>Control Panel/Regional Options, or modifying the registry or win.ini
>directly. By default all locale data are set according to the global
>system locale.
>  
>
Ok. Then please do the following experiment for me, will ya?
1. Hover the mouse over the clock. The date is displayed. Watch the date 
display language. Now go to "Regional options", and change the setting 
to "English (U.S.)". Hover over the clock again - see how the date 
display setting changed? Obviously, the user locale affects the date format.
2. With the user locale still in English, open Word and save a document 
with a file name in Russian. Look at it in Explorer, and make sure it 
is, indeed, in Russian. Use Word's "open..." dialog to open the file. 
Obviously, Word can still interpret the file's name as Russian, despite 
having it's user locale set to English.
3. Switch your system locale to English. This will require a reboot. 
Open the folder containing the file in Explorer (a unicode application) 
- the name is still Russian. Now try to open the file in Word (a 
non-unicode application). It matters not if you double click the file or 
go through the "File/Open" dialog. The file will not open. With the 
system locale set to English, word has no way to tell CreateFileA to 
open a file who's name is outside the current codepage.

This, at least, should convince you that system locale and user locale 
are distinct things.

>Any attempt to have more than one active locale simultaneously will lead
>to confusion and nothing else, be it unix environment or win32.
>  
>
The question is not whether confusion will arise from using different 
system and user locale. The question is whether it's supported, and 
whether we should support it as well.

Please do report the results of the above test. If they are anything 
other than what I have said, I'll be glad to amend my understanding of 
Windows.

                Shachar

-- 
Shachar Shemesh
Lingnu Open Source Consulting ltd.
http://www.lingnu.com/




More information about the wine-devel mailing list