LanguageSelector

Differences between revisions 5 and 6
Revision 5 as of 2009-11-30 14:27:02
Size: 3589
Editor: www
Comment:
Revision 6 as of 2009-12-02 08:44:08
Size: 4271
Editor: www
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 * '''Packages affected''': language-selector  * '''Packages affected''': language-selector, software-center, aptdaemon
Line 13: Line 13:
  * software-center/aptdaemon: pull language specific packages when main application package is going to be installed
Line 22: Line 23:
 1. pull language specific packages when main application package gets installed:
   Currently the user needs to run language-selector manually when he installed a package which has additional localisation packages (e.g. mozilla applications, oo.o). Language-selector will then check for the installed locales and mark the additional packages for installation. This step should be done by software-center/aptdaemon already.
Line 39: Line 42:
 1. pull language specific packages when main application package gets installed
  * improve check-language-support function in language-selector to support package wise queries
  * add feature in software-center and aptdaemon to call this function, parse the output and mark the additional packages for install (mvo)
Line 45: Line 51:

 1. 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 aptd (?)

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
    • software-center/aptdaemon: pull language specific packages when main application package is going to be installed

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).
  2. pull language specific packages when main application package gets installed:
    • Currently the user needs to run language-selector manually when he installed a package which has additional localisation packages (e.g. mozilla applications, oo.o). Language-selector will then check for the installed locales and mark the additional packages for installation. This step should be done by software-center/aptdaemon already.

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)
  2. pull language specific packages when main application package gets installed
    • improve check-language-support function in language-selector to support package wise queries
    • add feature in software-center and aptdaemon to call this function, parse the output and mark the additional packages for install (mvo)

Test/Demo Plan

TBD

Unresolved Issues

  1. Design issues:
    • 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

DesktopTeam/Specs/Lucid/LanguageSelector (last edited 2010-02-24 21:34:59 by www)