LanguageSelectorImprovements

Differences between revisions 19 and 20
Revision 19 as of 2006-06-23 12:54:49
Size: 3368
Editor: ALagny-109-1-9-177
Comment:
Revision 20 as of 2006-06-23 13:48:32
Size: 3638
Editor: ALagny-109-1-2-193
Comment: fixed minor typos + bits about openfonts + kmfl
Deletions are marked like this. Additions are marked like this.
Line 19: Line 19:
 1. Claire learns chinese and likes to read chinese websites. Her default environemnt is still english though.  1. Claire learns Chinese and likes to read chinese websites. Her default environment is still English though.
Line 21: Line 21:
 1. 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.  1. 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.
Line 42: Line 42:
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. We should also make the "fontconfig-voodoo" mechnasim 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. 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.
Line 60: Line 60:
We need to package and upload kmfl (a smart input method integrating with SCIM ) and the appropriate kmfl keyboards.
See [http://packages.debian.org/unstable/libs/libkmfl0 Debian upstream] and
[http://sourceforge.net/projects/kmfl sf.net project].

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 [http://packages.debian.org/unstable/libs/libkmfl0 Debian upstream] and [http://sourceforge.net/projects/kmfl sf.net project].


CategorySpec

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