LanguageSelector

Summary

As the current language-selector UI is a bit confusing for novice users, we want to create a walk-through assistant to make it easier to do those tasks.

Release Note

Rationale

As the current language-selector UI is a bit confusing for novice users, we want to create a walk-through assistant to make it easier to do those tasks. The current UI can then be reachable by clicking an 'Advanced...' button.

Use cases

  • Adam is administrator of a multi-user machine and wants to make the system available in multiple languages. He opens language-selector and installs complete language support (translations, writing aids, fonts and input methods) for a bunch of languages at the same time.
  • Belinda is originally from Spain, but moved to Finland and wants to use local currency and date formats, but keep her desktop in Spanish. She opens language-selector, sets the Region settings to Finland and ther desktop language to Spanish (Spain).
  • Claudia is a multi-lingual user from Germany. She prefers her desktop to be in German, but since she frequently types longer texts and emails in English, French and Spanish, she wants to install the spellcheckers and other writing aids for those languages. She opens language-selector and installs only the writing aids for French and Spanish, since the English ones have been installed by default already. She does not need the translations for French and Spanish and wants to minimize the download amount, as she does not have any flatrate plan with her provider.
  • Diego is studying Japanese in University and wants to be able to type the language. Since his native language is not Japanese, he is not interested in downloading the translations either. Instead he opens language-selector and installs only the Japanese input methods and fonts.
  • Erik is also administrator of a multi-user machine with users from different countries. He has used Danish as hs primary language during installation, but wants to change the login screen for gdm to English, so that new users can use it without the need to guess how to change their language on a Danish system. He opens language-selector and chooses English (US) as system wide language, but keeps the region settings to Denmark.

Design

  • The label "Text" on the second tab should be reconsidered.
  • Can we tell if its a single user vs multi user system, to provide better default actions?
  • Hide actions that require root access if user does not have admin rights

The following are ideas how the structure of the assistant could look like:

Idea 1:

  1. Add/Remove language components (requires root permissions)
    • display a list of installed language components
      • a) Language -> components:

        •     ├ English
              │ ├ Translations
              │ └ Dictionaries, word lists and spell checkers
              ├ Traditional Chinese
              │ ├ Translations
              │ ├ Additional fonts
              │ └ Input methods

        b) Component -> languages:

        •     ├ Translations
              │ ├ English
              │ └ Traditional Chinese
              ├ Dictionaries, word lists and spell checkers
              │ └ English
              ├ Additional Fonts
              │ └ Traditional Chinese
              ├ Input Methods
              │ └ Traditional Chinese
    • give the user the possibility to remove installed components (maybe except English translations? -- English is the default fall back if no other translation is available)
    • have a '+' button to add new components
      • a) add by language:
        • choose target language
        • select "everything" or by available component for that language
        b) add by component
        • select component
        • add available languages for that component
    • display a note that changes take effect with the next login.
  2. Change region settings (requires root permissions for system wide setting)
    • select region of choice
    • select language (if more than one is available)
  3. Change desktop language
    • display a list of languages from the current setting (e.g. Frisian (Netherlands), Frisian, Dutch (Netherlands), Dutch, English (UK), English)
    • display an alternative choice (recommended by language-selector)
    • "customize" option:
      • be able to remove entry from the above list
      • be able to change the ordering of the above list
      • a '+' button to add another language to the list
  4. Change login screen language (requires root permissions)
    • display a list of languages from the current setting (e.g. Frisian (Netherlands), Frisian, Dutch (Netherlands), Dutch, English (UK), English)
    • display an alternative choice (recommended by language-selector)
    • "customize" option:
      • be able to remove entry from the above list
      • be able to change the ordering of the above list
      • a '+' button to add another language to the list

Idea 2:

language-selector-maverick.glade

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 testing, and to show off after release. Please add an entry to http://testcases.qa.ubuntu.com/Coverage/NewFeatures for tracking test coverage.

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

Unresolved issues

BoF agenda and discussion

The current widgets use both a tree and combo box for different tabs.


CategorySpec

DesktopTeam/Specs/Maverick/LanguageSelector (last edited 2010-06-09 08:40:46 by www)