LanguagePacks

Differences between revisions 8 and 9
Revision 8 as of 2005-11-03 14:59:59
Size: 3876
Editor: 209
Comment: fix wiki links
Revision 9 as of 2005-11-04 21:12:42
Size: 4032
Editor: 251_220_103_66-WIFI_HOTSPOTS
Comment: debconf preseeding
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:
=== Support for derivatives and customisation ===

To support the different sets of language packs used by derivatives (for example, Kubuntu requires `language-pack-kde-$LL` and `kde-i18n-$LL` instead of `language-pack-gnome-$LL`) without major changes to the CD image build infrastructure, and to support customisers who are used to working with the Ubuntu and Kubuntu 5.04 and 5.10 live CDs, we will need something like the current debconf preseeding facilities. In fact, we can easily support exactly the same mechanism despite the changes specified by SimplifiedLiveCD, by installing a preseed hook in casper's `post.d` directory which feeds any preseed file through `debconf-set-selections` in the live filesystem.

`ubuntu-express.deb` (or some other component of UbuntuExpress) will include a debconf template to control which language packs are installed, matching the current template provided by base-config.
Line 44: Line 50:

== BoF agenda and discussion ==

{{{
need something like the current debconf preseeding facilities for people producing customised live CDs

for derivatives, we use a preseed file on the live CD to control which language packs are installed; it is desirable to have this mechanism remain common between the install CD and the live CD
take into account that live CD may stop using debconf in the first stage
 - but that's OK, since we can write a casper post.d script that reads /proc/cmdline and does debconf-set-selections on any preseed file it finds there, pretty much as the preseed udebs do now
 - ubuntu-express.deb can include a debconf template to control which language packs are installed, matching the current template provided by base-config
}}}

Summary

Language Pack handling in the Ubuntu Express installer.

Rationale

Our current installer installs language packs and language support packages, usually from the network. Ubuntu Express needs to do the same, since not all language packs will already be unpacked into the live filesystem.

In our current installer, if the install CD does not contain all required language support packages, the user is asked whether to download language support from the network. This can help to avoid flooding poor network connections. The will want to preserve this ability, but a simple checkbox may not be the right interface; see below.

Use cases

  • A user selects Spanish as their language for installation, and wants Spanish messages for the base system and GNOME and Spanish language support to be installed by default.
  • A Kubuntu user selects French as their language for installation, and wants French messages for the base system and KDE and French language support to be installed by default.
  • A user with a slow metered network connection cannot afford to download 40 megabytes of language support packages, so wishes to skip that step.

Scope

This specification considers only the component of UbuntuExpress that installs language packs, and the associated user interface issues.

Design

The language selection near the start of Ubuntu Express will be fed into a debconf database, and retrieved later by the backend in order to select the set of language packs and language support packages to install. The mechanism will be similar to that used in base-config at present.

Language packs and language support packages will be installed after [:UbuntuExpress/CopyFileSystem:copying the live filesystem], with a progress bar provided by the appropriate user interface frontend. The progress bar will be driven by the same code used to [:InstallerStage2Progress:display a progress bar in the second stage of the traditional installer].

The current installer asks whether to download language support packages (and language packs, if they aren't on the CD), on the basis that for some languages they are very large and cause problems for users on slow and/or metered connections. Instead of asking this question, we will support a cancel button on the progress bar displayed while downloading language packs and language support packages.

Support for derivatives and customisation

To support the different sets of language packs used by derivatives (for example, Kubuntu requires language-pack-kde-$LL and kde-i18n-$LL instead of language-pack-gnome-$LL) without major changes to the CD image build infrastructure, and to support customisers who are used to working with the Ubuntu and Kubuntu 5.04 and 5.10 live CDs, we will need something like the current debconf preseeding facilities. In fact, we can easily support exactly the same mechanism despite the changes specified by SimplifiedLiveCD, by installing a preseed hook in casper's post.d directory which feeds any preseed file through debconf-set-selections in the live filesystem.

ubuntu-express.deb (or some other component of UbuntuExpress) will include a debconf template to control which language packs are installed, matching the current template provided by base-config.

Implementation

Data preservation and migration

Outstanding issues

If the user cancels the language support download progress bar, queue the packages for installation by update-manager at the next opportunity? ... or get update-manager to try to download language support packages matching your locale, à la Windows Update?

UbuntuExpress/LanguagePacks (last edited 2008-08-06 16:21:26 by localhost)