Only an outline so far but most of this code already exists in Emdebian SVN.
C/C++ application: langupdate using libapt-pkg and libglib2.0-0
Reads supported locales and silently installs only the supported translations for all installed packages, with fallback support where configured.
Silently removes all translations for all unsupported locales.
First run in langupdate postinst
Removes package translations on the next run after package removal.
Separate /etc/langupdate/tdeb.sources.list and /var/cache/langupdate/lists/ to keep apt cache size down. Manual changes will be overwritten so maybe it ought to live in /var/ or /usr/share/.
One source for each locale root, main_en, main_fr, main_pt etc. All sources maintained by langupdate directly, according to the list of supported locales.
Each source contains all translations for locales within scope: en_GB in en, pt_BR in pt etc. to support fallback correctly.
XS-Package-Type: tdeb with a file suffix of .deb (not .tdeb) to reduce the number of patches needed for a working implementation.
Server-side perl script: langmigrate that parses the .changes file:
Removes tdebs from existing repository.
Moves incoming tdebs into new layout.
No descriptions, no dependencies. All tdebs are Priority: extra and Architecture:all. Possible support for a tdeb1 version suffix for updates that are not yet in Debian. (Allows for translation updates without package uploads.)
Plan to remove (or support an alternative package) dependency on libglib2.0-0 but OK for Emdebian at the moment due to targetting of GPE.
langupdate itself Priority: optional and not part of the default emsandbox
langupdate is a native package, uploaded to and maintained in Emdebian. Migrate into Debian once infrastructure is ready.
langupdate has little or no output, only a help option and possibly support for --clean but everything else automated.
This is built on the emlocale method (from emdebian-tools) and emlocale will be modified to fit this plan in 0.5.4.
langupdate (and langmigrate) cannot be part of emdebian-tools themselves, so will be separate packages.
(and yes, it is 4am, I'm not sleeping well due to a viral infection.)