LanguageSelectorImprovements

Differences between revisions 17 and 18
Revision 17 as of 2006-06-08 11:48:50
Size: 3575
Editor: p54A6673E
Comment: updated for edgy
Revision 18 as of 2006-06-23 12:47:08
Size: 3156
Editor: ALagny-109-1-9-177
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
Language selector should offer more support than installing language-packs and setting /etc/environment. It should take care of setting a a system-wide keyboard and the required input methods, fonts and dictionaries as well. 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.
Line 19: Line 19:
Bob switched to dvorak and wants to have this layout system-wide.  1. Claire learns chinese and likes to read chinese websites. Her default environemnt is still english though.
Line 21: Line 21:
The computer is used by a new user who speaks Arabic and wants fonts, input methods, dictionaries etc setup with a single step.  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 25: Line 25:
Language selector needs to be modified. Language selector needs to be modified to add a "Advanced" tab that includes options like "Optimize fonts for" and "Enable input method" contols.
Line 29: Line 29:
There are various different goals here: There are different steps involved:
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. 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.
Line 46: Line 46:
The language-support-* packages depend on the 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.
Line 50: Line 50:
 * The default keyboard layout should be automatically suggested from the selected language.
 * relationship between language and layout
 * simple list of those relationships to choose default
 * list includes only what is installed, rather than the entire set of languages (and you click 'add...' to install more)
 * unsure if there's a standard place to store the selection of relationships
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.
Line 56: Line 52:
Example how others do it:
[http://www.muhammadanism.org/Unicode/text_services_input_languages_xp.gif XP-image]
=== Per-User vs. per-system setup ===
Line 59: Line 54:
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.
Line 62: Line 58:
There are three things to do here:
 1. change gdm so that it reads a gconf (root) variable to setup its keyboard
No code has been written yet to implement this spec.
Line 65: Line 60:
 1. have a sensible way to configure the keyboard in language-selector

 1. make sure that the user gets the updated keyboard if he hasn't configured his own

=== gdm ===

The gdm keyboard setting can be applied using:
{{{
setxkbmap - layout ... -model ... -option .. -print | xkbcomp - :0.0
}}}

=== Finding available keyboard ===

The gnome-control-center keyboard capplet has code to figure the list of available keyboards and already maps keyboard layout and languages.

=== users keyboard ===

It should just work, if no settings are done by the user, the layout shouldn't be changed.

=== Code ===

=== Data preservation and migration ===

== Outstanding issues ==

== BoF agenda and discussion ==

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 environemnt 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. 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.

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.


CategorySpec

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