LanguageSelectorImprovements

Summary

Language selector should offer more support than installing language-packs and setting /etc/environment. It should take care of the required input methods, fonts and dictionaries as well.

Rationale

Once the system is installed it's not easy to add a new language, there is too much hand-holding needed and configurations that need to be changed by hand.

Use cases

  1. Claire learns Chinese and likes to read chinese websites. Her default environment is still English though.
  2. John is japanese but prefers his desktop to be English. He still needs input methods to chat with his friends and is frustated that there is no easy and straightforward way to enable them for non-CJK environments.

Scope

Language selector needs to be modified to add a "Advanced" tab that includes options like "Optimize fonts for" and "Enable input method" contols.

Design

There are different steps involved:

  1. Input methods
  2. Font selection
  3. Dictionaries
  4. Keyboard selection
  5. Per-User vs. Per-System setup

Input methods

The language-support-* packages depend on input methods and dictionaries and the input method will be available by default for locales that need them (e.g. zh_CN). However some people will want a english default locale but still be able to input in e.g. japanese. To support this we need a "advanced" tab so that the user can select the input method he wants (we have the infrastructure via im-switch to do this on a per-system/per-user basis).

Font selection

We could have better fonts for some languages (e.g. Arabic). We need to evaluate what fonts are available and under what license we can use them. (See OpenFonts).We should also make the "fontconfig-voodoo" mechanism available via the interface (e.g. via a advanced tab). This way people can optimize their font settings for e.g. Chinese fonts even if they use a English system by default.

Dictionaries

The language-support-* packages depend on the dictionaries so this is already solved with the current code that pulls in language-{pack,support} packages.

Keyboard selection

Some users expect to be able to change their keyboard in this application as well. Do support them we should add a button to launch the gnome system keyboard selection in the "Advanced" tab.

Per-User vs. per-system setup

The language-selector should run as a user application by default. If root access is required it should prompt via gksu and run the backend. In the advanced tab for font-optimization and input-method selection there should be a checkbox "[ ] apply this option systemwide" that runs the backend command via gksu.

Implementation

No code has been written yet to implement this spec. The input method configuration will be done via the im-switch command and the font optimization via the fontconfig-voodoo command. The fontconfig-voodoo command probably needs to grow a "per-user" mode as well.

We need to package and upload kmfl (a smart input method integrating with SCIM ) and the appropriate kmfl keyboards. See Debian upstream and sf.net project.


CategorySpec

LanguageSelectorImprovements (last edited 2008-08-06 16:26:47 by localhost)