http://bugs.winehq.org/show_bug.cgi?id=20377
Summary: MacOS LANG=xyz wine winecfg does not switch language/locale Product: Wine Version: 1.1.31 Platform: PC OS/Version: Mac OS X 10.5 Status: UNCONFIRMED Severity: minor Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: hoehle@users.sourceforge.net
Hi,
on my Mac, LANG=C or LANG=fr_FR.UTF-8 wine winecfg has no effect at all, unlike a Linux machine. winecfg's texts are always displayed in German.
locale -a lists a lot of locales. "LANG=C ls -l" reacts instantly.
OTOH, going to the Mac system preferences and moving French or English upfront manages to switch the language in winecfg (and Terminal.app and others), the next time it's started.
For the purpose of Wine, I believe the local LANG setting should be obeyed, not the desktop session setting.
Note that I have no idea how to start Wine outside of a Terminal.app context (no Wine[Helper].app here). So LANG is always set when I start Wine in the shell.
http://bugs.winehq.org/show_bug.cgi?id=20377
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #1 from Dmitry Timoshkov dmitry@codeweavers.com 2009-10-16 01:43:25 --- Confirming. dlls/kernel32/locale.c,LOCALE_Init() assumes that MacOS doesn't set LANG environment variable and sets it on its own using user's locale preferences. The code should check whether LANG is set and do not override it.
http://bugs.winehq.org/show_bug.cgi?id=20377
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |kernel32
http://bugs.winehq.org/show_bug.cgi?id=20377
Charles Davis cdavis@mines.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cdavis@mines.edu
--- Comment #2 from Charles Davis cdavis@mines.edu 2009-11-20 20:37:26 --- Then why has nobody fixed this yet?
This seems like a really easy fix. All we have to do is call getenv("LANG"), and if it returns non-NULL, we don't use the system locale. Or am I missing something?
http://bugs.winehq.org/show_bug.cgi?id=20377
--- Comment #3 from Dmitry Timoshkov dmitry@codeweavers.com 2009-11-23 08:59:22 --- (In reply to comment #2)
This seems like a really easy fix. All we have to do is call getenv("LANG"), and if it returns non-NULL, we don't use the system locale. Or am I missing something?
Something like that would work. Feel free to send a patch.
http://bugs.winehq.org/show_bug.cgi?id=20377
--- Comment #4 from Charles Davis cdavis@mines.edu 2009-11-23 15:24:48 --- (In reply to comment #3)
(In reply to comment #2)
This seems like a really easy fix. All we have to do is call getenv("LANG"), and if it returns non-NULL, we don't use the system locale. Or am I missing something?
Something like that would work. Feel free to send a patch.
Actually, it would be closer to having no effect. Ken Thomases on the mailing list told me that, in the call to setenv(), the third parameter is set to FALSE so that any existing LANG variable isn't clobbered.
I'll tell you guys what I told Ken in reply: wherever the problem lies, it lies elsewhere.
http://bugs.winehq.org/show_bug.cgi?id=20377
--- Comment #5 from Dmitry Timoshkov dmitry@codeweavers.com 2009-11-24 02:28:28 --- (In reply to comment #4)
Actually, it would be closer to having no effect. Ken Thomases on the mailing list told me that, in the call to setenv(), the third parameter is set to FALSE so that any existing LANG variable isn't clobbered.
If you set LANG before running Wine does the locale returned by Mac framework match it? +nls log would help to see that.
http://bugs.winehq.org/show_bug.cgi?id=20377
--- Comment #6 from Charles Davis cdavis@mines.edu 2009-11-24 14:13:27 --- (In reply to comment #5)
If you set LANG before running Wine does the locale returned by Mac framework match it? +nls log would help to see that.
Nope. Core Foundation returns en_US.UTF-8, no matter what I set LANG to. (That's the current locale on my system, as set in System Preferences.app.)
I found this line several times in the +nls log:
trace:nls:LOCALE_Init setting lcid_LC_MESSAGES to 'en'
which indicates that the real reason LANG doesn't appear to affect locale is that Wine loads strings based off of the LC_MESSAGES setting, which is set to the user's default language on Mac OS.
I know how to fix this now. What we want to do is avoid overriding LC_MESSAGES if there was a LANG variable to begin with.
http://bugs.winehq.org/show_bug.cgi?id=20377
--- Comment #7 from Charles Davis cdavis@mines.edu 2009-11-24 19:58:26 --- Created an attachment (id=24944) --> (http://bugs.winehq.org/attachment.cgi?id=24944) Patch to avoid overriding LC_MESSAGES
Try this patch. It prevents Wine from overriding LC_MESSAGES with the user's default language if LANG is set. It works for me :).
http://bugs.winehq.org/show_bug.cgi?id=20377
--- Comment #8 from Charles Davis cdavis@mines.edu 2009-11-25 11:01:12 --- (In reply to comment #6)
I know how to fix this now. What we want to do is avoid overriding LC_MESSAGES if there was a LANG variable to begin with.
Now Ken tells me that we don't want to do this. See http://www.winehq.org/pipermail/wine-devel/2009-November/080062.html . He says that instead, if you want Wine to appear in another language, you should set LC_MESSAGES.
http://bugs.winehq.org/show_bug.cgi?id=20377
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- OS/Version|Mac OS X 10.5 |Mac OS X
http://bugs.winehq.org/show_bug.cgi?id=20377
--- Comment #9 from Austin English austinenglish@gmail.com 2013-11-13 16:51:17 CST --- This is your friendly reminder that there has been no bug activity for 2 years. Is this still an issue in current (1.7.6 or newer) wine? If so, please attach the terminal output in 1.7.6 (see http://wiki.winehq.org/FAQ#get_log).
https://bugs.winehq.org/show_bug.cgi?id=20377
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |ABANDONED
--- Comment #10 from Austin English austinenglish@gmail.com --- Abandoned.
https://bugs.winehq.org/show_bug.cgi?id=20377
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Austin English austinenglish@gmail.com --- Closing.