Summary

Most of the ISO testing we currently do does not contain any testing for installations or configurations in other languages but English. This specification tries to solve this identifying the different test cases that we need to cover.

Release Note

Rationale

As the Ubuntu user spectrum is wider, we need to make sure that the same level of quality in installations in English and any other language are similar. We have been hitting bugs where a missing lang package made a non-English installation appear in English for some applications.

User stories

Assumptions

Design

Testcases description

Testcases will be described in the Testcase Wiki, under /Install. They will follow the current testcases writing conventions.

They have to include:

Live CD

DVD

BoF agenda and discussion

Testing for translations

https://wiki.ubuntu.com/Specs/TestingForTranslations

Test case proposals

Note: the best languages to use for testing are Spanish, French, Brazilian Portuguese and Italian, since they are usually very complete and it's easy to spot untranslatable vs. untranslated strings in them. We should test other non-Latin languages as well though, perhaps Arabic as an RTL one with good support and Simplified Chinese.

Timo's recipe for generic non-English "first install" testing in VirtualBox:

1. Disable network support, install non-English Ubuntu without network connection. * Check through all dialogs in the installer and see there are no non-translated strings ** If non-translated strings, check ubiquity templates if the string is there - if it is, probably non-issue and will be fixed * After installation, shutdown virtual machine and re-enable network support * Start Ubuntu to the desktop and *wait what happens*. Ubuntu should automatically report about missing translations support. ** 1. Follow the dialog and accept refreshing repositories and install suggested missing support packages. 2. Go again to the language-selector after installation is complete, if it still suggests something it's a bug and should have been already installed during the first run. ** If no automatic popup appears, file a bug.

2. Enable network support, install non-English Ubuntu with network connected via Network Manager if necessary (for wired network NM connects automatically on the live CD) * Start Ubuntu to the desktop, it should be translated. * Go to language-selector, it should optimally not suggest anything since everything should have been fetched during the installation.

(3. Using either installation, look through all the GNOME menus * No English should be observed in any menu entry. If there is, do something about it. It does require knowledge about whether the bug is in the source package, ie. desktop entry not translatable via Rosetta. If it's translatable, then it's translators' job.)

* The installer should be completed translated no matter the language

Live CD

* Languages included in the CD (Bengali (bn), German (de), English (en), Spanish (es), French (fr), Portuguese (pt), Xhosa (xh) for Karmic)

* Languages not included in the CD

* Try Live CD in English and install then in another language (it was broken once)

* Keyboard layout and input method

* Regional settings

* Completion of translations for important applications

Alternate CD

DVD

* Full language support for any language

ACTIONS

* Look for packages per language in the Live CD (adi) * Write the test cases in the testcase wiki (ara) * Review testcases (David - to communicate to translations team) * Get a list of packages that should be installed (Arne) * Check language support on the DVD (Arne) * Check the language support on the alternate CD (David) * David to announce to the translations community to see if anyone comes up with more useful test cases

Packages installed (via Arne)

1. Language-packs For each language we have 6 possible language packs: # For all installations: language-pack-$LCODE-base language-pack-$LCODE # Only for Gnome: language-pack-gnome-$LCODE-base language-pack-gnome-$LCODE # Only for KDE: language-pack-kde-$LCODE-base language-pack-kde-$LCODE

The -base packages contain the full set of translations at release time. The other packages contain the updates, released after release. At release time the update packages are empty.

2. Language-support For each language there are up to three meta packages, which contain dependencies onto other packages. The list is specified in langpack-o-matic, which builds those meta-packages and is attached in the language-support-depends.tar.bz2 tarball (one text file per language code). There are three categories of dependencies:

The text files contain these prefixes to tell langpack-o-matic which meta package should contain the dependency.

The three meta packages are:

Each of these meta packages may or may not be installed, the user can decide to install them selectively in language-selector. Further more there is a general language-support-$LCODE meta package, which just depends on all of those three meta packages.

At system install time, ubiquity just pulls the general language-support-$LCODE package for the target language. Therefor all those dependencies should be installed on a freshly installed system.

3. Conditional packages The file pkg_depends, taken from language-selector, lists packages, which only get installed when a given dependency package is already installed. There are two categories:

The format of the file is explained in the file itself.

The language-support-common package contains a command line tool 'check-language-support', which checks if all packages for a given language, all languages or all languages installed on the system are installed and lists the missing ones. This tool only checks for the conditional packages and language-packs, though (cases 1 and 3). See the man page for how to use it. Smile :)

Files:

DVD Language support (via Arne)

I have downloaded the manifest from the daily DVD builds for Lucid and looked over it. My gut feeling says that language support on the DVD is complete.

If you can help out with that, that would be very much appreciated.

The check is fairly simple, it just needs to be coded.

The main list of packages is 'language-pack-*' and 'language-support-*' from the archive and their dependencies. Further more, we have stuff, which is pulled in on a case by case basis, i.e. thunderbird-locale-* only gets pulled when thunderbird is actually installed on the user's system. The list for those is:

gnome-user-guide-* openoffice.org-l10n-* openoffice.org-help-* thunderbird-locale-* enigmail-locale-* lightning-extension-locale-* sunbird-locale-* sword-language-pack-* gimp-help-* evolution-documentation-* kde-l10n-* kde-i18n-* koffice-i18n-* mozvoikko openoffice.org-voikko


CategorySpec

Specs/TestingForTranslations (last edited 2010-02-17 13:59:30 by 172)