[BlueOnyx:09217] Re: Admin GUI text all whacky...
Michael Stauber
mstauber at blueonyx.it
Tue Dec 13 00:52:00 -05 2011
Hi all,
> Greg Kuhnert wrote:
> The problem you are describing sounds like a I18N issue... which does
> not appear to have been updated recently.
That is correct. This is purely an i18n issue and has nothing to do
with Tomcat or Java.
The language stuff on BlueQuartz and BlueOnyx works like this:
There is a config file: /etc/sysconfig/i18n
It contains three lines. The first two define what the system language
and locales are. Means: Which language the system shell is in. The last
line "linguas" lists the locales that are supported by the GUI. Usually
these are English, Danish, German and Japanese.
When CCEd is (re)started, it (among other things) parses
/etc/syconfig/i18n and the GUI is set to the default language defined in
that config file. When you login with a browser to the GUI, a couple of
things happen:
1.) The GUI polls your browser to see if your browser is set to a
certain default language. For example: If you're Danish and use a Danish
version of Firefox or Internet Exploder (or any other browser) to
connect to the BlueOnyx GUI, then the GUI may default to show you the
Danish text on the login screen.
2.) If your browser locale cannot be determined, or if it is not one of
the supported languages, the GUI will default to English.
3.) Once you ARE logged in, the GUI checks which prefered language is
set for your account and will switch to that language instead.
If none of this works, English is used. Or ought to be used. But like
any complicated mechanism there are cases where it might simply decide
to fall apart or do something unpredicted. ;-)
All "text" in the GUI - may it be menus, help texts, buttons, info
texts or descriptions - are just coded in "shorthands".
Example: [[base-vsite.userName_help]]
This tells CCE that the "real" text to show for "userName_help" is
found in the package base-vsite. Depending on the chosen or determined
display language, the GUI will then poll the GetText *.mo files of the
package "base-vsite" in the respective language subdirectory somewhere
deep inside /usr/share/locales/
There it then finds something like this:
msgid "userName_help"
msgstr "Please enter the username here."
Those of you who know GetText know that the "real" text is of course in
the *.PO files and that the *.MO files are binarized versions of it
after "msgfmt" is done with it. But I don't want to make this
explanation more complicated than it already is.
And yes: There is also some JavaScript involved in this wizardry and
there of course the parsing is entirely done on the browser side of
things.
Now if you see the shorthands instead of the "real" texts, then indeed
something went wrong:
- Like the locales for a certain package got updated and CCEd and/or
AdmServ were not restarted. Then it can also happen that the text will
flip-flop between showing shorthands and the "real" text when you reload
a certain page.
- Or the browser locale could not be determined and the "fallback"
mechanism to English didn't work.
- Or your /etc/sysconfig/i18n is buggered.
- Or the language preference stored for your user account is buggered
and contains an unsupported locale.
- Or your browser choked on some JavaScript and failed to do what it
was supposed to do.
In any case one of the following (or a combination of it) will fix it:
1.) Restart CCEd and AdmServ:
/etc/init.d/cced.init restart
/etc/init.d/admserv restart
Or if you're lazy, reboot the box.
2.) Log out of the GUI and log back in.
3.) Go to "personal profile" and change your language to something else
for a moment. Save the changes and then revert it back to the language
you want to use and save again. This step is usually not necessary
This last step (if done as "admin") is the ONLY transaction that
modifies a "good" /etc/sysconfig/i18n. CCEd *may* rewrite this file on
(re)start as well, but only if it is missing or contains garbage. But no
OS update or BlueOnyx update will ever mess with /etc/sysconfig/i18n
This works the same between 5106R on one hand and 5107R/5108R on the
other hand. With one minor difference: On 5106R the English and Japanese
locales are named "en" and "jp" and on 5107R/5108R they're more
specifically named "en_US" (for American English) and "jp_JP" (for
Japanese). This also affects in which subdirectory these locales are
stored inside /usr/share/locale/. But regardless of that the GUI knows
where to find them depending on the platform.
So long story short:
Restarting CCEd and AdmServ and logging out and back in usually fixes
this problem in the rare cases where it might happen. When I'm back from
my holiday I will look into the "fallback" mechanism that defaults the
GUI to English when it's no longer sure about which locale to use. There
is perhaps a small glitch in it or room for futher improvement to make
sure it doesn't just show the shorthands.
Regards,
Michael
More information about the Blueonyx
mailing list