Fwd: Discussion destillation: Options for language packs
Martin Pitt
martin at piware.de
Mon Nov 22 09:44:18 UTC 2004
Hi Ubuntu translators!
Recently I sent the following mail to ubuntu-devel; I was asked to
send it to this mailing list, too.
Please reply to ubuntu-devel, though.
Thanks and have a nice day!
Martin
----- Forwarded message from Martin Pitt <martin.pitt at canonical.com> -----
Date: Fri, 19 Nov 2004 14:00:26 +0100
From: Martin Pitt <martin.pitt at canonical.com>
To: Ubuntu Development <ubuntu-devel at lists.ubuntu.com>
Mail-Followup-To: Ubuntu Development <ubuntu-devel at lists.ubuntu.com>
Subject: Discussion destillation: Options for language packs
X-Spam-Status: No, hits=0.0 required=4.0 tests=AWL autolearn=no version=2.64
Hi Fellows!
I went through Tuesday's IRC discussion again and wrote up a
structured overview about the possible alternatives, their pros (+)
and cons (+). Please look over it and add any argument that I forgot
and correct anything that seems wrong to you.
Personally I believe that option (F4) is the way to go. It avoids all
package insanities and seems most flexible to me.
Let's open the discussion!
Martin
--
Martin Pitt http://www.piware.de
Ubuntu Developer http://www.ubuntulinux.org
Debian GNU/Linux Developer http://www.debian.org
Possible options for providing translation updates:
(F1) single source and binary deb contains program and all available
translations, no extra language packs (status quo)
+ no effort
+ no version inconsistencies
+ compatible to Debian and third party packages
+ users can compile fully functional packages on their own
- wastes installed space for unwanted translations
- updating translations for stable releases requires a lot of
redundant downloads (since the non-translation part of packages
does not change)
(F2) extract translations during package build to separate language debs
+ users can install just the translation(s) they want, space
efficient on installed system
+ can save space on CDs if we have per-language CDs
- requires Ubuntu-specific build system, modification of debhelper,
manual modification of packages that do not use debhelper
- incompatible to Debian and third party packages, Ubuntu packages
would conflict to them (because they ship the same files)
- security updates of packages would drag the need to update the
language pack(s) as well
(F2-1) one deb per language that contains translations of all packages
+ no significant increase of number of packages
- package must be rebuilt after any other package change to update
the translations; unbearable impact on buildds and mirrors
- users without huge bandwidth will not be able/willing to
download big language packs very often (for maybe only one or
two string updates)
(F2-2) one deb per package that contains translations for all languages
+ no significantly higher impact on buildds and mirrors
+ space-efficient updates of language packs for stable releases
o doubles the number of packages, but should be still bearable
o translation-only updates do not download code any more, but
still download unwanted translations
(F2-3) one deb per package and language
+ fine-grained updates with very little mirror and buildd overhead
+ space-efficient updates of language packs for stable releases
- increases number of packages by factor N (number of supported
languages, in the order of 10 to 20) -> it takes the 20fold
amount of bandwidth, time, space, and memory to download and
process the Packages file, which would probably make them bigger
than a monolithic per-language deb. However this could be
alleviated by providing new package sections for each language.
(F3) Leave original packages as they are and provide incremental
translation update packages
+ stays compatible to Debian and third party debs
+ only
- wastes user's disk for unwanted translations
- brings along translations we do not support
- same problems as above wrt. updating frequency and mirror impact
(single deb for all packages) or package number (one translation
deb per package)
(F3-1) use dpkg-divert in the language pack to replace changed
gettext files with newer versions
- wastes user's disk for the original copy of the translations (that
is shadowed by the update)
(F3-2) introduce alternative gettext hierarchy /usr/share/langpack
+ possible to ship po files which only contain the bits that
really changed, this alleviates the redundant copies
- necessary to change gettext for that, and all packages that
include a static copy of gettext
(F4) Leave original packages as they are and provide translation
updates without using debs; translations could be directly
downloaded from Rosetta to /var/cache/locales/, or a
similar place
+ since this does not touch the archive at all, there is no impact on
buildds, mirrors, build systems, Package files, etc.
+ can be made fine-grained to download only updates for languages and
software the user actually wants
- we need to develop a version control system which decides when to
use /var/cache/locales/ and when /usr/share/locales (updated
packages could have newer translations than the ones downloaded
from Rosetta); this could be done using the timestamp in the po
files
o version controlling and downloading should be done in the
language-support-XX packages (that we need anyway as a metapackage
for Mozilla/Firefox/etc.); this package should provide a simple
frontend for triggering updates
(F5) keep the status quo on the archive servers, but strip off all but
one/some translations in the debs that are shipped on the CDs
+ easy to achieve without any buildd/mirror hit
+ saves space on CDs (with per-language ones, at least)
- does not solve the "new translation upgrades" problem any
better
- apt will get confused if it sees two available packages with
same version, but different size
- insane amount of updated packages at first network update
(F6) Convert the world to use one common language
+ No technically solution necessary
+ can throw away all translations, saves huge amounts of space on the
CD that can be filled with indispensable gam^Wproductivity software
like TuxRacer and Frozen Bubble
- Sebastien insists to use French, but I do not understand a word of it
o (SCNR)
Side note that applies to all options: Translation updates for stable
releases can easily introduce security holes; if we do this, we must
review translations very carefully.
----- End forwarded message -----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/ubuntu-translators/attachments/20041122/0221319e/attachment.sig>
More information about the ubuntu-translators
mailing list