Ubuntu and language packs
Surfaz Gemon Meme
surfaz28 at gmail.com
Thu Feb 5 23:34:56 GMT 2009
2009/2/6 Paul Smith <paul at mad-scientist.us>:
> I thought I'd just post this so everyone is on the same page WRT
> internationalization in GNU/Linux systems. For those that already know,
> sorry for the noise :-)
> GNU/Linux uses the gettext package for i18n. There are other packages
> used by other UNIX systems, which use large catalogs of numbers to look
> up the right translations for each string, but this is a big pain and is
> especially painful for distributed development/translation teams such as
> you're likely to have in free software.
> Gettext uses a really interesting trick to avoid the need for predefined
> catalogs, at the expense of some runtime effort. Basically, it uses the
> string to be translated itself as the key for looking up the translated
> string. At runtime, when a translation is needed, the gettext library
> is invoked with the static string to be translated as the argument. It
> generates a hash based on the contents of that string, then looks up the
> hashed value in the translation catalog.
> If there's an entry for that hashed value, then it is returned to the
> caller. If there is no entry, then the string that was provided is
> What does this mean for the current discussion? It means that the
> "default" string is encoded right into the program. So, even if NO
> language packs are provided, all gettext programs will still print the
> default string. This default is typically called the "C" locale, for
> hysterical raisins.
> Virtually all default strings are written in English. So, if you're
> happy with the default strings you really don't need to install any
> language packs whatsoever. And certainly, if you want to use a
> different locale than English, you can get away with ONLY that locale
> being installed; if you don't have a satisfactory translation of the
> string in your chosen locale it will use the default string... and
> that's in English. Or if it isn't it's definitely in whatever language
> the developers of that utility wrote the code in :-).
> IOW, there's really no reason to specifically install the English
> language packs, if you don't want to use a locale of en_US or whatever.
> Certainly you don't need to do it for any sort of debugging purposes.
> If you want to force "no locale" to generate screenshots or whatever you
> can just use "LC_ALL=C firefox".
Thanks for the explanation
This reinforces the main theme of what is installed by default English support.
So now what are the reasons not to remove the English support in
non-English Ubuntu installations?
More information about the ubuntu-translators