LanguageSelector

Revision 4 as of 2009-11-26 15:14:53

Clear message

Summary

  1. UI changes:
    • Users will be able to specify which fallback languages they want to use in case their applications are not fully translated into their main language.
    • Users will be able to manipulate the LANG and LANGUAGES locale specific environment variables separately through the GUI.
    • Ability to choose "@ locales" - e.g. sr@latin

Release Note

TBD

Rationale

  1. UI changes:
    • The list of fallback languages is currently configured in a config file in language-selector. This configuration provides some sane default fallback settings for a number of languages. Since those settings might not satisfy every user, we should provide an easy to use interface to change it. KDE and Firefox contain this possibility already. Some users prefer to use their desktop in a different language than which is spoken in their country of residence. E.g. a user might live in Thailand, but prefers to use his desktop in English. Since the main English locale (en_US) uses the imperial system, but the user prefers to use system used in his country of residence, it would be useful to have a GUI to set this information. The information then gets stored in the locale specific environment variables (e.g. LANG=th_TH and LANGUAGE=en_US).

Design

language-selector-lucid.jpg

  • Language settings:
    • system settings, like measurements, paper format, currency, etc. are set with the LANG variable (also sets the default language)
    • if the user wants his desktop in a different language, set LANGUAGE to his preferred language(s). This overrides the setting in LANG, but only for the desktop language. Everything else stays the same.
    • Fallback language settings get set in LANGUAGE, separated by colon.
    • Measurement setting basically depends on the country of residence, only one choice, no fallbacks.
    • The treeview for selecting the preferred languages, will set LANGUAGE.

Implementation

  1. environment variable settings
    • system wide settings go in /etc/default/locale
    • user specific settings go in ~/.profile
    • LANGUAGE (= Default language and Fallback languages, separated by colon)
    • LANG (= System settings, depending on the country of residence)

Test/Demo Plan

TBD

BoF agenda and discussion

  • Related:
    • Define and implement how translation packages can be installed automatically when the main package gets installed
      • Ideas:
        • Add a tag to the Packages.gz file
          • -> requires code change in apt, synaptic, software-center, etc. - Arne won't be working on implementing this

  • Ability to choose "@ locales" - e.g. sr@latin - doable for Lucid
    • gdm 2.20 also used iso-639, but offered these options
  • Should install/remove language be just a selectable "add more" or "Add" + "Remove" besides the lists above, instead of a popping up window which has checkboxes? Removing would work by simply selecting and removing, adding would require new window (or sidepanel) but no need for additional checkboxes.
  • List of install/remove languages is a bit unusable because of the longness of it - any solutions? ]

-> AP: Consult design again. One thing relatively clear is that already installed languages should be grouped together / shown clearly

installed-languages.jpg

  • Administrate button which opens a separate window with Admin only tasks. Then split language-selector and have two menu entries, one in Preferences, one in Administration
    • -> ask Design team for input


CategorySpec