I'm happy enough with the langupdate tool now that I've made the upload to Debian experimental. langupdate is an apt frontend to
Emdebian TDebs to support Emdebian Grip and Emdebian Crush but also to support mixed installations of Debian and Emdebian.
Any Debian package is ignored because those packages already contain all the translation files.
Emdebian packages do not include
/usr/share/locale, so langupdate identifies these packages from the dpkg status files, identifies the available Emdebian TDebs for the corresponding
source package via libapt-pkg and a temporary apt-cache in
/var/lib/langupdate and identifies which locales are supported on the current machine from the environment and from
/etc/locale.gen. The Emdebian TDeb packages that match these criteria are then automatically installed.
If only Debian packages exist, langupdate reports "Nothing to do."
The end result, for Emdebian users, is that a typical 450Mb
/usr/share/locale on Debian is stripped down to
9Mb (or less) per configured language.
The advantages over localepurge are:
- The Emdebian packages are smaller because the translations have already been removed at the repository, so no wasted bandwidth or wasted CPU workload removing files that have just been installed.
- If a language is added or de-configured, all the corresponding translation files are added or removed respectively.
langupdate can use any suitable repository - the default is the Emdebian TDeb repository.
Note that, unlike in Debian, Emdebian TDebs are architecture-dependent and are split into individual packages for each language and source package and architecture. Yes, it is a lot of packages and a lot of work for the machine hosting the server but better that than trying to do the work on the Emdebian device.
Currently, Emdebian Grip still has a very limited package set so the list of packages that have Emdebian TDebs is still small. Depending on how long it takes to release Lenny, more packages will get added to Grip but the "full Grip experience" will, for most people, involve upgrading from Emdebian Grip 1.0 (based on Debian 5.0 "lenny") to Emdebian Grip testing - what will become 2.0, based on Squeeze.
langupdate itself is translated into 7 languages (cs, de, eu, fr, it, ru and sv) {thank you to those who prepared those translations before the deadline ended tonight} and uses a
langupdate-locale package as a precursor to the eventual Debian TDeb.