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 How reproducible: always Steps to Reproduce: 1.Boot from Fedora-9-Preview-x86_64-Live DVD 2.Select Japanese from the menu bottom of login screen 3.Logging in 4.Click Live installer icon Actual results: Fedora installer is starting up, and shows 'Next' button at bottom-right. And all words on following screen are also displayed in English. Expected results: Fedora installer is starting up, and shows '次(N)' button at bottom-right. And all words on following screen are also displayed in Japanese. Additional info: 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 problem. 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 installer.
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 "en_US.UTF-8". 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. Thank you.
*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.