Wine and locales
Shachar Shemesh
wine-devel at shemesh.biz
Wed Jul 28 07:40:31 CDT 2004
I think I found the source of our misunderstanding.
To me, this is the terminology (Windows 2000):
User locale (aka "User default locale"): the locale as appearing in the
"Regional options" as "Your locale (location)".
System locale: the locale as appearing in the "Regional options" as "Set
default".
Under XP, the terminology is a little better:
User locale: "This option affects how some programs format numbers,
currencies, dates and time" ("Regional options" tab in the control panel
applet).
System locale: "Language for non-Unicode programs" ("Advanced" tab in
the above mentioned applet).
Changing the system locale does require a reboot. If it did not require
a reboot, you did not change the correct locale. If you re-run the below
test, I believe you will find that there are, indeed, two distinct settings.
Shachar
Dmitry Timoshkov wrote:
>"Shachar Shemesh" <wine-devel at shemesh.biz> wrote:
>
>
>
>>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.
>>
>>
>
>In the language of the system locale, russian for me.
>
>
>
>>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.
>>
>>
>
>That's the system locale again, and yes, when the system locale changes,
>date format changes as well.
>
>
>
>>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.
>>
>>
>
>It *does not* require a reboot, that's exactly the same thing as #1
>above and demonstrates exactly the same behaviour.
>
>You are trying to persuade yourself by taking into account only the look
>of the Windows. Please write a test app how I did and see what data
>GetSystemDefaultLCID and GetUserDefaultLCID return.
>
>
>
>>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).
>>
>>
>
>Word is a *unicode* application when it's running under NT. It uses
>a sophisticated system of API pointers for that task in order to run
>under Win9x and NT.
>
>
>
>>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.
>>
>>
>
>I see that you do not understand, that there is no user locale at all
>under Windows, and therefore there is no way to change user locale.
>There are just adjustable per user locale data in the registry. Please
>realize that, otherwise it's a useless discussion, pointing again and
>again to the same facts.
>
>
>
>>>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.
>>
>>
>
>It can't be supported in any sane manner since characters can't be
>mapped between incompatible charsets like hebrew and russian, and
>therefore characters from those charsets can't be displayed
>simultaneously by a not unicode application. That's exactly what
>you are trying to accomplish. Just realize that.
>
>
>
>>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.
>>
>>
>
>Your understanding of Windows is based on conclusions you made by
>observing visual effects, not API behaviour.
>
>
>
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
http://www.lingnu.com/
More information about the wine-devel
mailing list