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