LanguagePacksBOF

Language pack support in Ubuntu

Why?

  • integrates better with Rosetta
  • updates for stable releases
  • might save space on CD

Stripping translations from program debs

We will modify dh_builddeb to check for the presence of an external program dh_striplocales and call that. dh_striplocales will strip debian/'package'usr/share/locale/ if it is explicitly configured to do so (it defaults to not do anything).

dh_striplocales will not be shipped by debhelper, but in a separate package, so that packages which do not use debhelper do not need to depend on it.

Storing translation files

  • put them in alternative tree /usr/share/locale-langpacks/ to avoid package clashes with Debian/3rd party/older Ubuntu packages

  • if a mo file is present in both /usr/share/locale-langpacks/ and /usr/share/locale, the newer file will be used; this allows users to build newer versions without stripping

  • necessary to modify glibc to prefer a file in this tree if it's present
  • necessary to modify packages which statically link libintl; not doing that immediately will only cause translations not to work, but does not break anything else

Shipping

We will ship a base deb with all translations, and a update deb which is rebuilt daily and only contains the translation files that actually changed since the base deb. If update gets too big, we can update base and have it conflict to/replacing earlier update debs.

This will avoid huge daily updates and mirror killing, and we do not have to reinvent dpkg/apt/archive processes.

We do not have reliable estimations about the amount of translation data that will actually change every day, though.

Assignments

MartinPitt will modify glibc to support /usr/share/locale-langpacks/, modify debhelper, and provide some test packages which demonstrate the system.

CategoryArchive

MataroSessionsWorkshops/LanguagePacksBOF (last edited 2008-08-06 16:22:35 by localhost)