GNOME Bugzilla – Bug 170706
English language names not properly displayed
Last modified: 2005-03-21 18:43:50 UTC
Please describe the problem: If locales of the form en_XX are present, where en_XX is not listed in the internal list of locale transations in gdmlanguages.c, (for example, en_IN.UTF-8), then the language is listed as "English (UTF-8)", with no indication of the country. Thus, in my system which has a number of such locales installed, I have three or four identical entries which say "English (UTF-8)" when they should say "English (India)" and so on. Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information: This behaviour occurs because there is an entry for locale "en" in the internal list in gdmlanguages.c (whereas all the other entries in that list have a country, as well as a language). Since the find_lang function falls back to matching just the language if it can't match country and language, "en_IN" matches "en", and the internal "en" entry (which just says "English") is used isntead of the more informative "English (India)" in the external locale.conf. A simple fix for this would be to simply remove the line for "en" in gdmlanguages.conf. Locales such as en_ZA which are in that internal list will behaviour just as before, and locales such as en_IN not in the internal list will use their name from locale.conf. I don't see any major problems with doing this. en_XX languages not in the internal list will be filed under 'Other' rather than 'A-M' in gdmlogin, but that's not a big deal IMO.
Can you provide a patch?
Created attachment 38949 [details] [review] Patch to gdmlangauges.c removing the "en" entry as per my comment
Fixed in CVS head.