LanguagePacks

Differences between revisions 5 and 16 (spanning 11 versions)
Revision 5 as of 2005-11-01 20:37:20
Size: 3477
Editor: 209
Comment: partial draft
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 7: Line 7:
 * '''Packages affected''':  * '''Packages affected''': ubuntu-express
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. 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 27: Line 29:
This specification considers only the component of UbuntuExpress that installs language packs, and the associated user interface issues.
Line 29: 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 31: Line 35:
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. We will want to preserve the ability to avoid this large download, but a checkbox may not be the right interface. A more intuitive interface would be simply to support a cancel button on the progress bar displayed while downloading language support packages. 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 33: Line 37:
== Implementation == 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 35: Line 39:
=== Code === === Support for derivatives and customisation ===
Line 37: 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 39: 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 41: 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 43: 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 45: Line 49:
{{{
need something like the current debconf preseeding facilities for people producing customised live CDs
== Implementation status ==
Line 48: 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".
Line 53: Line 53:
install language packs after copying the live filesystem
 - need a quick progress bar UI step for this
}}}
----
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)