Ideas For i18n

From Mandriva Community Wiki

(Redirected from Development/Ideas/i18n)
Jump to: navigation, search
Ideas For i18n

Internationlization Thoughts of Mandriva 2008

This page summarize the massive ideas on I18n support of Next release of Mandriva Linux.

Contents


What we concen here is: locale, keyboard layout/IMEs, various configurations for different programs, localdrake, predefined packages selection on installation (aka previous rpmsrate), etc. Other topics such as glyph rendering shouldn't follow.

[edit] Current Situation

  • locales are seperated as locales-LL packages.
  • The i18n subsystem is locales-LL packages dependent.
  • Localedrake deals with /etc/sysconfig/i18n, mounting policy, kblayout/IMEs.
  • DrakX deals with package selection (via rpmsrate).

[edit] Problems

  • Where the users reside should have no relation with locales nor languages.
  • Keyboard layout and timezone should not have relation with locales. They belong to hardware, or computer itself.
  • No CLI interface of localedrake. (half wrong, eg: localedrake --apply --kde_lang=fr --kde_country=fr)
  • There is no smart way to install corresponding language pack (ff/tb, ooo, etc) besides DrakX.

[edit] Aims

[edit] Framework

[edit] IMEs

  • A core script (CLI version of localedrake) that manages all the IMEs. Users could use localedrake to activate certain IME. In fact, localedrake is just a frontend of update-alternatives.
  • All the IMEs should provide their environment settings themseleves. For example, /etc/sysconfig/i18n/xinput.d/scim.
  • All the IME packages should be splitted to something like scim-core, scim-xim, scim-immodule-gtk2, scim-immodule-qt3, scim-immoudle-qt4.
  • scim-core uses %trigger to keep changes on package installations, in order to modify /etc/sysconfig/i18n/xinput.d/scim accordingly. Or, more generically, use file detection when setting environment.

[edit] Implementation

  • For FHS, /etc/sysconfig/xinput.d/ (name to be discussed) will be introduced, to store configuration files for different IMEs. i.e., the alternatives. It will look like something like:

/etc/sysconfig/xinput.d/scim
/etc/sysconfig/xinput.d/fcitx
/etc/sysconfig/xinput.d/uim

  • New alternatives /etc/sysconfig/xinput (name to be discussed) will be introduced, it is maintained via update-alternatives command.
  • /etc/sysconfig/i18n needed to be modifed so that it involks /etc/sysconfig/xinput. It will become:

LC_ALL=zh_CN
LC_CTYPE=zh_CN
...
/etc/sysconfig/xinput

  • As for different environment variables, it will be handled via provided alternatives.

[edit] Packages

Personal tools