JauntyLanguageSelectorImprovements

Revision 12 as of 2008-12-10 21:17:01

Clear message

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

The language-selector should be improved to support CJK languages and common use-cases better, and fix the remaining issues for suggesting and installing support for the default language.

Release Note

TBD

Rationale

TBD

Use Cases

Assumptions

Design

A non-root mode needs to be added so that people can modify personal settings.

Granularity

The current level of granuarity to select what bits of the "language" people want is too limited. It is currently a all or nothing selection. In addition to the single checkbutton we provide a additional details pane that is hiden by default with the following checkbuttons:

  • Input methods/Dictionaries
  • Translations
  • Additional Fonts

For the language-support-$language package we represent input methods, dictionaries as full depends, langpacks as recommends and additional fonts as suggests.

Fonts

  • make it possible to configure fonts on a per user basis,
    • fontconfig-voodoo needs to be changed for this to write its configuration to the users dir (~/.fonts.conf). There should be something in the GUI that says: "Optimize fonts for my environment" .

In addition to such a simple option a advanced button should be specified that provides finer fontconfig control. This should be part of a different spec, the basic ideas are:

  • add a button "details" to the gnome fonts capplet that will call
    • language-selector-font-config-gui
  • add a GUI so that the font preferences ordering can be modified and
    • fonts can be added. A dialog with a list of the defaults aliases (serif, sans, sans serif) is displayed with button to "add", "delete", "edit". Edit fires up a dialog that lists the fonts and their ordering for the current alias. The ordering can then be modified with up/down buttons and add/edit/remove buttons. The add window opens a list of all the fonts and it can be added, a "details" button that fires up the edit dialog. The edit dialog has checkboxes for "enable bitmaps", "enable binary hints", "enable anti-antialiasing"
  • if any font specific features (like hinting/bitmaps) need to be
    • checked, the python package fontstools will be used

Input Methods

  • For some language environments (e.g. Korean, Traditional Chinese) there are multiple input method frameworks for the user to choose from:
    • Korean: SCIM, Nabi
    • Traditional Chinese: SCIM, gcin
  • Basically a frontend for im-switch: The user gets a list of available input method frameworks. Choosing one of them calls im-switch to set the environment variables. Display a message that a re-login is necessary to activate the changes.
  • Should be hidden under an "Advanced" button.

Implementation

UI Changes

Code Changes

Test/Demo Plan

TBD

BoF agenda and discussion

Language-support-XX regorganization:

  • Depends: extra translations, input support, writing aids (dictionaries, thesauri, etc.)
  • Recommends: help/doc
  • Suggests: extra fonts

Add possibility to split language specific support package into special subclasses (like Chinese traditional/simplified, or German and Austrian German).

From Gobby:

Issues

  • configure scim
  • configure fonts on a per-user basis
    • font preferences (move the installed fonts up/down in the list)
    • set anti-aliasing / hinting / bitmaps (all exclusive) on a per font basis (or global)
    • create a ~/.fonts.conf file and put it into the user's home directory
  • programatic interface to install missing langpacks/support stuff to make installer/oem install happy - they set something like "install this at the next opportunity"
    • dpkg --set-selections, have either apt or update-manager honour this
  • split Chinese into Simplified and Traditional Chinese.

from bug reports

  • Language selector should allow selecting newly marked languages as the default immediately (bug #138224)

  • Language selector only suggests installing partial language support for the default language (bug #289165)

Ideas

  • have a new set of langpack packages:
    • - "translations" - "support input methods/fonts" (depends) - "supported dictionaty/spell-checker" (recommends)
  • instead of one check box have a combobox to select the level
  • when update-notifier becomes available it could notice that the missing language
    • packages can now be installed now and prompt for it (basicly dpkg --set-selections, apt-get dselect-upgrade)
  • update-manager/python-apt should check the dselect database
  • make sure it works in kde
  • From https://wiki.ubuntu.com/BetterDesktopCDLanguageSupport:

    • Installer could suggest enabling Internet connection and downloading language packs automatically, when a non-English language is selected [note: it has been noted by the ubiquity developer that post-install suggestion, now implemented, is preferable]
  • standardize the notation of language entries in language-selector and gdm
    • provide translated and native entries next to each other.
    • take the native names from the translated iso-codes package


CategorySpec