grass startup script and wx preference file: language setting in wx does not contain country specific language code
|Reported by:||mlennert||Owned by:|
When I launch grass7 (fresh from trunk), I get the following message at startup:
WARNING: A language override has been requested. Trying to switch GRASS into 'fr'... Failed to enforce user specified language 'fr' with error: 'unsupported locale setting' A LANGUAGE environmental variable has been set. Part of messages will be displayed in the requested language.
Tracing back what happens I see that when the user sets a language preference in the wx gui, this preference is stored in the .grass7/wx file as the two-letter language code ('fr' for French in this case). The locale checking and setting magic in set_language() in the grass7 startup script uses (among others):
encoding = 'UTF-8' normalized = locale.normalize('%s.%s' % (language, encoding)) locale.setlocale(locale.LC_ALL, normalized)
However, locale.normalize in this case transforms fr into fr_FR, whereas on my machine the only installed locale is fr_BE. Now I can just install fr_FR and the message goes away, and even with the message, GRASS seems to work ok, so this is not a major issue. However, it might throw off some users to see this message every time they start GRASS.