TranslatedPackageDescriptionsSpec

Summary

This spec describes what needs to be done to get translated package descriptions in apt.

Rationale

The current apt does only support package descriptions in a single language. This is English currently. A more flexible mechanism is required to show the translations in the locale the user is using.

Use cases

  • Anne can't speak English at all but would still like to know more about the applications on the system. Currently gnome-app-install displays only a localized short description, the long description is in English.
  • Peter speaks English, but prefers his own language because his English skills are not that good. He is a power-user otherwise and uses aptitude regularly. He would like to see the package descriptions in his local language.
  • Paul is using the default package set and is happy with it. He uses update-manager to update his system regularly and sometimes wonders what the packages he updates are all about. He would like to see the description for them in his locale because he does not speak English.

Scope

  • apt needs to be extended to support "Translation" files for the package descriptions.
  • The archive server needs to carry these translation file, this can be done via a custom upload format
  • Tools to convert the Translation files to and from Rosetta needs to be written.
  • Sharing our translation data with the debian ddtp.debian.org project should be possible.

Design

The Translation-$LANG file carries the following information per package:

Package: <package-name>
Description-md5: <the md5 checksum of the english description>
Description-$lang.$encoding: <translated headline>
 <translated section>

Launchpad integration

The tarball for uploads to the archive should be handled via the launchpad custom uploads mechanism (raw-ddtp-tarball). A tarball looks like this:

translations_$component_$version.tar.gz
e.g.
translations_main_20060728.tar.gz

and it will contain:

i18n/Translations-de
i18n/Translations-de.gz
i18n/Translations-de.bz2
...

those files will be installed in the archive at: http://archive.ubuntu.com/ubuntu/dists/edgy/main/i18n

Implementation

The apt bits are implemented in http://people.ubuntu.com/~mvo/bzr/apt/ddtp/ but need testing. Import/export for rosetta is available in http://people.ubuntu.com/~mvo/bzr/apt-ddtp-tools--main/ (a bit rought).

The following steps needs to be performed to fully implement translated pacakge descriptions for ubuntu:

  • integrate custom raw-ddtp-tarball launchpad upload format
  • create a tool that creates a tarball that follows the above spec for the upload and that creates a appropriate .changes file
  • upload patched apt that supports translated package descriptions (ABI change)
  • upload patched python-apt, synaptic, adept
  • fix the bugs that are reported Smile :)

A current i18n tarball for edgy is available at: http://people.ubuntu.com/~mvo/apt/ddtp/translations_main_20060728.tar.gz

Outstanding issues

The code needs testing.


CategorySpec

TranslatedPackageDescriptionsSpec (last edited 2008-08-06 16:35:23 by localhost)