| Author |
Message |
|
|
Post subject: lang=be cheatcode broken (again!)
Posted: Jul 28, 2008 - 08:13 PM
|
|

Joined: Feb 25, 2007
Posts: 49
Status: Offline
|
|
Way back in this old thread I complained about the same topic and actually ended up contributing to the implementation of what I wanted and the support of compound "lang" codes (e.g. ll-cc for language-country).
Now, I recently tried the latest XFCE flavour (great job as usual, folks - virtualbox integration is another extra touch that sets sidux apart). And there I noticed that the plain "lang=be" cheatcode is broken again (thanks to someone's misguided suggestion over here).
Let me explain:
- be as a country code represents Belgium
- be as a language code represents Belarus
Confusion ensues - i've lost track of live CD's that get this wrong. Which is why i kicked my sorry *ss and originally explained what I think makes sense for Belgium and actually implemented it.
The current situation (at least since 2008-01) is satisfaying for no one, since
- Belgians get a wrong locale (be_BY.UTF8) resulting in the display of cyrillic characters in XFCE (the reason I immediately noticed the regression with that edition)
- Belarusians get the wrong keyboard layout (console be-latin1, X be) - sorry I do not know what would suit them
I can still get what I want by using "lang=en-be" (e.g english locale, belgian keyboard), but that's tedious. Can the original implementation please be restored? |
|
|
| |
|
|
|
 |
|
|
Post subject:
Posted: Jul 29, 2008 - 01:39 PM
|
|
Joined: Nov 28, 2006
Posts: 111
Status: Offline
|
|
A fix has been committed to the source repository to fix the current oddity whereby lang=be was broken by making things work closer to the way the new code should function. This ensures that, for example, lang=be means you will get the default locale for the Byelorussian language "be_BY.UTF-8".
If you want to use a different country settings then the default for a language you must enter the full lang=ll_cc variant you want at the command line UNLESS your country code does not share it's name with a langauge. For example the country code "be" share's it's name with the language code for Belarus, while the country code "ie" doesn't share it's name with any language so we can claim "ie" for the country, letting lang=ie setup for Ireland.
In the case of Belgium you will always need to supply a full locale for the lang if you want to get a full localisation, you could simply use lang=en|fr|nl and have some settings wrong (timezone and mirrors certainly) but bug reports on en_BE, fr_BE and nl_BE are what we will really be interested in from Belgium!
I had hoped to try and get a new version of the locales handling code in for the next release but it's (probably) too late for that now. Belgium/Belarus is one of the "good" fringe cases for checking the code and it does seem like the current code falls over here. You could download, check and report problems (even with patches) for release candidates to help make sure we get things right on releases.
If any be_BY users are reading this please note that there was no country setup for BY in our code (though we seem to have a Byelorussian section for console-data). I've made what seems to be a sane guess that the following should be correct, please check the next release candidate and report any problems!
Code:
by) ### BY Belarus kb:by ###
KEYTABLE="by"
XKBLAYOUT="by,us"
TZ="Europe/Minsk"
CD_COUNTRY="Byelorussian"
MIRROR="linux.org.by"
;;
|
|
|
| |
|
|
|
 |
|
|
|
|