Bugzilla – Bug 1090
Setting of default locale does not really work
Last modified: 2008-05-03 10:44:48 UTC
You need to log in before you can comment on or make changes to this bug.
The language screen accepts the input from the user as to which locale to install and make the default. however, this doesn't appear to actually work. The languages are installed properly but the setting in /etc/default/init doesn't work to set the desktop and apps to run in the correct locale. Currently the installer sets all the LC_xxx values in /etc/default/init. It does not set LANG. However, LANG needs to be set for gdm to set the locale. When manually settting LANG in /etc/default/init and rebooting the desktop comes up localized correctly.
It seems that setting default locale works for "core" languages (which user can choose on language screen during LiveCD boot for bringing up localized desktop), but doesn't work for other languages. This is currently caused by the fact, that LC_MESSAGES is set to "C" in /usr/lib/locale/<LOCALE>/locale_map for non-core languages. Orchestrator propagates LC_* variables from LiveCD locale_map to the target /etc/default/init. When LC_MESSAGES variable (or LANG variable, as Sarah pointed out) is set to the <locale> in /etc/default/init, desktop is brought up localized correctly. Since this issue might be related to the http://bugs.opensolaris.org/view_bug.do?bug_id=6533406 I will follow up with Takao Fujiwara to find out, what might be the right approach to follow.
After talking with G11N people, the most straightforward and less risky way is the one Sarah is suggesting - orchestrator will set LANG variable in /etc/default/init to the default locale
fixed in changeset: 73ae3dba821c9dcdfa96aa87b81fa2a7c71dedad