Task Lists
Regressions
With download
With patch
Bug Lists
Available
Assigned
NeedInfo
Staged
Resolved
Bugzilla
Last modified: 2015-02-20 08:26:17 UTC
LC_MESSAGES=en_GB.UTF-8 LC_CTYPE=fr_FR.UTF-8 ./wine control The command above makes Wine use mostly English, but a few texts are in French instead: the Control panel title, the inetcpl menu item and description, inetcpl title and the text that should say "Security settings for zone:" on the Security tab. Using en_US instead of en_GB works fine. Apparently Wine does something strange when it can't find a translation that matches exactly the given LC_MESSAGES locale. How to reproduce: * Make sure you have the required locales on your system * Set LC_MESSAGES=en_GB.UTF-8 * Set LC_CTYPE=fr_FR.UTF-8 * Run wine control
"Trash" in explorer.exe also does this.
The reason for this behaviour is that the English neutral sublanguage (en.po) is missing a lot of texts. This seems a bit weird considering that English is the primary language for the project. Is it really important to go though all the texts and check that they're "neutral", or would it be ok to just copy the msgids to msgstrs for the missing texts?
I ran the command you specified on my computer: LC_MESSAGES=en_GB.UTF-8 LC_CTYPE=fr_FR.UTF-8 ./wine control But all I get is English, not a trace of French anywhere. Could you recheck? My understanding is that wrc is supposed to generate a fully translated set of resources, using the msgid whenever a translation is missing. So having missing translations in en.po should simply result in Wine's default strings (more or less American English) being used.
Confirming. I could not reproduce this until I replaced fr_FR with my system's current locale. In other words: LC_MESSAGES=en_GB.UTF-8 LC_CTYPE=fr_FR.UTF-8 ./wine control seems to work fine on a non-french system, all strings in English, but e.g. LC_MESSAGES=en_GB.UTF-8 LC_CTYPE=de_DE.UTF-8 ./wine control for a German system shows a mixed German/English GUI.
> But all I get is English, not a trace of French anywhere. Could you recheck? I've checked it many times. Do you have the locales installed? locale -a | grep -e en_GB -e fr_FR > My understanding is that wrc is supposed to generate a fully translated set > of resources, using the msgid whenever a translation is missing. Yes, if the resource exists at all. For example, if I add a translation for msgid "Configure Wine Internet Browser and related settings", the previous msgid "Internet Settings" magically works, too. However, if the resource (STRINGTABLE or whatever) is empty, it's not generated.
I thought I had en_GB.UTF-8 but I did not (apparently I only had en_US.UTF-8). I have added it and now I can reproduce the problem. Sorry about that.
With en.po at 98%, should we mark this fixed? The behaviour hasn't changed, so the bug will come back if en.po isn't kept up to date.
I think we can consider this fixed. The en_GB translation is currently at 100% and it's just a matter of keeping it up to date like every other translation.
Closing bugs fixed in 1.7.37.