Here (i18n meeting at Extremadura) we had a discussion about language packs and how they could be used in the debian-installer in order to prevent some of the scalability issues with new languages being added all the time (and d-i limitations)
Since there was some misconception of what language packages are, I have written a description of what they are and how they are used. If you are interested please keep on reading the (long) text below (I will probably add it to the Debconf6 paper soon). Feel free to point me to errors in the text if you find any . Regards Javier Language packs -------------- What are language packs? ------------------------ A language pack (or language package) is a "complement" for a software package that provides a translation for a given language separately from the main package. This complement is distributed in a separate way and can either be produced by the upstream developers and extracted from the main package source or they can be produced by independent third parties. How are language packs currently used on Debian? ------------------------------------------------ Debian currently has language packs for: [ Note: $LANG can be substituded to locales such as 'fr', 'es', 'de'... ] - KDE: kde-i18n-$LANG packages provide internationalized files for the the KDE Desktop Environment. This includes data for applications (sounds, pictures), help files and MO binary files (installed at /usr/share/locale/$LANG/LC_MESSAGES/) - OpenOffice: different packages are provided which are related to OO and are dependant on i18n: openoffice.org-help-$LANG (help files), openoffice.org-hyphenation-$LANG (hyphenation rules), openoffice.org-thesaurus-$LANG (thesaurus) and openoffice.org-l10n-$LANG. This last package includes data files (bitmaps, document templates), configuration and translation for the UI. - Mozilla, Firefox and Thunderbird: this software uses language packages (mozilla-locale-$LANG, mozilla-firefox-locale-$LANG, mozilla-thunderbird-locale-$LANG) which provides both the translation for the UI and regional-related content (such as l10n-specific bookmarks) Other software (such as 'fortunes', 'myspell' or 'dict') has also (smaller) language packs. What are the advantages of language packages? -------------------------------------------- There are several advantage to language packages. As they are distributed independently from the software: - users can only install an specific translation instead of having to install all the translations (saving disk space and bandwidth) - language packs can have a different release process from the main program, providing a way to make translation updates (new translations, translation fixes, etc..) without having to make a new software release. How does Ubuntu use language packs? ----------------------------------- Besides the language packs for some specific software, which Ubuntu shares with Debian, Ubuntu introduced system-wide language packages called language-pack-$LANG. These packages pulll in: - a package (language-pack-$LANG-base) that provides update MO binary files for *some* applications under /usr/share/locale-langpack/ and uses '/usr/sbin/install-language-locales' in postinst. [ This package Recommends: ] - a meta-package (language-support-$LANG) that pulls in translations for OpenOffice, Mozilla (Firefox) and the proper dictionary information (aspell-es, wspanish) The 'language-support-$LANG' metapackage is similar to the meta-packages for language packages that were removed from Debian and converted into tasksel's selections. In order for the contents of language-pack-$LANG-base to be used Ubuntu's glibc is patched (debian/patches/ubuntu-altlocaledir.dpatch [1]) so that it uses an alternate gettext tree in /usr/share/locale-langpack/ Consequently, after a release, language-pack-$LANG-base packages can be downloaded (from the release's repository) to include updated or even new translations (these packages are built automatically based on the information at Rosetta with the 'langpack-o-matic' [2] scripts) These packages are installed when the user uses the "language-selector" tool. (this tool also localises the environment like 'localization-config' does [3]) [1] This patch was introduced for Hoary, in december 2004, and started being tested in january 2005 (see http://people.ubuntulinux.org/~mako/ubuntu-traffic/u20050128_23.html) See http://utnubu.alioth.debian.org/scottish/original/glibc/glibc_2.3.6-0ubuntu17.patch Notice that it cannot be currently disabled (see Bug #39408) [2] http://people.ubuntu.com/~pitti/bzr/langpack-o-matic/?C=S;O=A [3] https://wiki.ubuntu.com/LanguageSelectorImprovements For more info: https://wiki.launchpad.canonical.com/RollingLanguagePacks https://wiki.launchpad.canonical.com/RosettaLanguagePackExport https://wiki.ubuntu.com/LanguagePacksForUniverse https://wiki.ubuntu.com/LanguagePacksCD https://wiki.ubuntu.com/UbuntuExpress/LanguagePacks https://wiki.ubuntu.com/LanguagePackVsSupport https://wiki.ubuntu.com/LangpacksDesktopfiles https://wiki.ubuntu.com/NonLanguagePackTranslationDeadline https://wiki.ubuntu.com/OpenOfficeLangPacks https://wiki.ubuntu.com/NextGenerationLocalizationSystem For history knowledge: https://wiki.ubuntu.com/MataroSessionsWorkshops/LanguagePacks https://wiki.ubuntu.com/MataroSessionsWorkshops/LanguagePacksBOF https://wiki.ubuntu.com/UbuntuDownUnder/BOFs/LanguagePackRoadmap https://wiki.ubuntu.com/UbuntuDownUnder/BOFs/LanguageSupportPackages https://wiki.ubuntu.com/UbuntuDownUnder/BOFs/RollingLanguagePacks What are the issues with language packages? ------------------------------------------- - they cannot be Depended: on by the main package (at most Recommended:) and the user has to manually select them, with the current packaging system there is not an easy way to "recommend" the user one of the language packs (the one most closely related to his language selections) - they are not automatically removed when the software is removed (unless using aptitude's --with-recommends, but that means that the user installs *all* language packages at the same time) - if the language pack is provided for a large collection of software (such as KDE) the user has to install the full language pack regardless of the pieces of software he actually uses. - if the language pack is tightly related to a specific software version and its release process does not follow the main software release process you might end up with *old* language packs which are not up-to-date. This is specially true when the language pack is distributed by third-parties. In Debian this has led to issues with propagation into testing of Mozilla packages due to language packs in testing not being updated (they have to be removed from testing before the new version of the Mozilla software is intrduced) - some software (e.g. Firefox) make it possible to install language packs through their own UI mechanism (independent of the system's package) which might cause problems for users (See Ubuntu Bug #31284 and http://librarian.launchpad.net/1566411/update_not_supported.png) - buggy translation updates might lead to translations "broken" after the release (see Ubuntu Bug #52267) - even if language packs do not update the software they might introduce bugs which might break software (e.g. segmentation fault in dd due to problematic MO binary files in language packs, Ubuntu bug #42264)
signature.asc
Description: Digital signature