JauntyLanguageSelectorImprovements

Differences between revisions 2 and 5 (spanning 3 versions)
Revision 2 as of 2007-10-24 09:33:52
Size: 2601
Editor: a91-154-119-10
Comment:
Revision 5 as of 2007-11-07 19:58:04
Size: 6499
Editor: pool-71-124-234-44
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
 * '''Packages affected''':  * '''Packages affected''': language-selector
Line 10: Line 10:
This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. The language-selector should be improved to support CJK languages and common use-cases better.
Line 14: Line 14:
This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.
TBD
Line 20: Line 18:
This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified. TBD
Line 28: Line 26:
You can have subsections that better describe specific parts of the issue. 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)
 * 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", "
 * if any font specfic features (like hinting/bitmaps) need to be
   checked, the python package fontstools will be used


=== Input Methods ===

 *
Line 63: Line 103:
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, https://bugs.launchpad.net/ubuntu/+source/language-selector/+bug/138224)
 * Language list not correctly populated until sources are refreshed from Internet - thus even if a language is selected as Default Language (for example in the installer), it's not shown in the language list (bug #146484 for example, https://bugs.launchpad.net/ubuntu/+source/language-selector/+bug/146484)
 * Language support not enabled for the installation language, meaning both that downloading language packs silently fails when no Internet connection, and also that Language selector does not recommend downloading language support for the default language when going to Language Selector after installation (bug #135752 | https://bugs.launchpad.net/ubuntu/+source/language-selector/+bug/135752)


=== 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:
  * selection of language upon bootup from desktop CD not obvious, always English unless user presses F2 in the boot menu - maybe a language selector dialog before GNOME session?
  * should suggest enabling Internet connection and downloading language packs automatically, when a non-English language is selected

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.

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)
  • 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", "
  • if any font specfic features (like hinting/bitmaps) need to be
    • checked, the python package fontstools will be used

Input Methods

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

UI Changes

Should cover changes required to the UI, or specific UI that is required to implement this

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Include:

  • data migration, if any
  • redirects from old URLs to new ones, if any
  • how users will be pointed to the new way of doing things, if necessary.

Test/Demo Plan

It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release.

This need not be added or completed until the specification is nearing beta.

Outstanding Issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.

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

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:

    • selection of language upon bootup from desktop CD not obvious, always English unless user presses F2 in the boot menu - maybe a language selector dialog before GNOME session?
    • should suggest enabling Internet connection and downloading language packs automatically, when a non-English language is selected


CategorySpec

JauntyLanguageSelectorImprovements (last edited 2009-03-02 16:54:20 by yttrium)