LanguagePacks

Differences between revisions 7 and 16 (spanning 9 versions)
Revision 7 as of 2005-11-03 14:57:15
Size: 3874
Editor: 209
Comment: progress bar
Revision 16 as of 2008-08-06 16:21:26
Size: 4375
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
 * '''Created''': [[Date(2005-10-31T18:00:23Z)]] by JaneWeideman  * '''Created''': <<Date(2005-10-31T18:00:23Z)>> by JaneWeideman
Line 17: Line 17:
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. In our current installer, if the install CD does not contain some required language support packages, the user is asked whether to download language support from the network. This can help avoid flooding slow network connections. We want to preserve this ability, but a simple checkbox may not be the right interface; see below.

In breezy, the size of language packs ranges from almost nothing to around 5 MB; the largest language support package is around 28 MB.
Line 23: Line 25:
 * A user with a slow metered network connection cannot afford to download 40 megabytes of language support packages, so wishes to skip that step.  * A Chinese user with a slow metered network connection cannot afford to download 28 megabytes of language support packages, so wishes to skip that step.
Line 31: Line 33:
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. The language selection near the start of Ubuntu Express will be fed into the 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.
Line 33: Line 35:
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]. Language packs and language support packages will be installed after [[UbuntuExpress/CopyFileSystem|copying the live filesystem]], and will occupy a segment of the overall UbuntuExpress progress bar depending on stopwatch measurements. The progress bar segment will be driven by the same code used to [[InstallerStage2Progress|display a progress bar in the second stage of the traditional installer]] (which already arranges to show the remaining size and time, thanks to apt's status FD support).
Line 35: Line 37:
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. 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 display and support a cancel button on the progress bar while downloading language packs and language support packages.
Line 37: Line 39:
== Implementation == === Support for derivatives and customisation ===
Line 39: Line 41:
=== Data preservation and migration === 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.
Line 41: Line 43:
== Outstanding issues == `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 43: Line 45:
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? == Future work ==
Line 45: Line 47:
== BoF agenda and discussion == If the user cancels the language support download, queue the packages for installation by update-manager at the next opportunity, or perhaps get update-manager to try to download language support packages matching your locale (Windows Update does something like this).
Line 47: Line 49:
{{{
need something like the current debconf preseeding facilities for people producing customised live CDs
== Implementation status ==
Line 50: Line 51:
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
}}}
 * 2006-03-01 ColinWatson: All implemented, apart from "Future work".

----
CategorySpec

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 some required language support packages, the user is asked whether to download language support from the network. This can help avoid flooding slow network connections. We want to preserve this ability, but a simple checkbox may not be the right interface; see below.

In breezy, the size of language packs ranges from almost nothing to around 5 MB; the largest language support package is around 28 MB.

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 Chinese user with a slow metered network connection cannot afford to download 28 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 the 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 copying the live filesystem, and will occupy a segment of the overall UbuntuExpress progress bar depending on stopwatch measurements. The progress bar segment will be driven by the same code used to display a progress bar in the second stage of the traditional installer (which already arranges to show the remaining size and time, thanks to apt's status FD support).

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 display and support a cancel button on the progress bar 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.

Future work

If the user cancels the language support download, queue the packages for installation by update-manager at the next opportunity, or perhaps get update-manager to try to download language support packages matching your locale (Windows Update does something like this).

Implementation status

  • 2006-03-01 ColinWatson: All implemented, apart from "Future work".


CategorySpec

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