Red Hat Bugzilla – Bug 443408
Fedora 9 Preview Live installer always display messages in English
Last modified: 2008-04-30 14:40:33 EDT
Description of problem:
Fedora 9 Preview Live installer always display messages in English even if I
choose Japanese as desktop language from the menu of GDM login screen.
Live desktop is displayed in Japanese as expected.
Version-Release number of selected component (if applicable):
Fedora 9 Preview Live DVD x86_64
Steps to Reproduce:
1.Boot from Fedora-9-Preview-x86_64-Live DVD
2.Select Japanese from the menu bottom of login screen
4.Click Live installer icon
Fedora installer is starting up, and shows 'Next' button at bottom-right.
And all words on following screen are also displayed in English.
Fedora installer is starting up, and shows '次(N)' button at bottom-right.
And all words on following screen are also displayed in Japanese.
I opened a terminal and check LANG environment variable; it's ja_JP.utf8.
I tried a command "liveinst --lang=ja_JP.utf8", and got same result.
After successful live installation, installed systems show Japanese without any
I don't know how to get anaconda.log for Live installer.
In the Fedora 8 era, Live installer shows messages in Japanese if Japanese was
selected as desktop language.
Created attachment 303140 [details]
this is /tmp/anaconda.log
Created attachment 303142 [details]
/tmp/anaconda.log with --lang=ja.
I tried a command "liveinst --lang=ja", and got Japanese messages on the Live
Created attachment 303143 [details]
and this is messages on the terminal running liveinst --lang=ja
I think this caused by gdm's LANG value "ja_JP.utf8" instead of "ja_JP.UTF-8".
Another languages could have same problem, i.e. "en_US.utf8" instead of
This problem exists not only for Live CD, but also installed system's gdm.
Created attachment 303187 [details]
This one-liner for gdm may fix this problem.
The gdm-simple-greeter collect locale name by reading directories under
/usr/share/locale. And check if it's UTF-8 by setlocale(LC_CTYPE, language) and
nl_langinfo(CODESET). But for most locale name without codeset name,
nl_langinfo(CODESET) returns non-UTF8 codeset; for example, "EUC-JP" for
"ja_JP", "ISO-8859-1" for "en_US". In this case, gdm-simple-greeter append
".utf8" to locale name. This ".utf8" is hard-coded into gdm-languages.c.
Changing this ".utf8" to ".UTF-8" may fix this problem.
GDM collects locale names by reading them from /usr/lib/locale/locale-archive.
It then filters that list by stripping:
1) locales that don't have translations in /usr/share/locale
2) locales that aren't UTF-8
3) locales that don't have font coverage
It has a fallback mode where if it can't get a list of locales from
/usr/lib/locale/locale-archive then it will try to guess available locales from
/usr/share/locale. This won't work very well, but isn't something Fedora users
will ever encounter.
locale codesets should be normalized such that all dashes and underscores are
removed and all letters are the same case. I suspect anaconda isn't doing this.
In some ways ".utf8" is more canonical than ".UTF-8" because .utf8 is the format
you get with locale -a
OK, I understood that changing gdm's locale name to fix this problem is wrong.
*sigh* Of course, it used to be .UTF-8 and the change is after beta.
But put something into anaconda so that it will work with either
*** Bug 443845 has been marked as a duplicate of this bug. ***
Confirmed with today's rawhide.