Internationalization notes
--------------------------
- apps:
  - use setlocale to parse locale env vars and set to language code
  - use textdomain to set the text domain of their app
  - use bindtextdomain to tie the domain to a locale dir
  - use gettext (possibly disguised as _) to translate in the current domain

- libraries:
  - should only use bindtextdomain to tie a domain to a locale dir
  - use dgettext (possibly disguised as _) to translate from a set domain

- How to make your plug-in code translateable:
  - include <gst/gst-i18n-plugin.h> in all files that mark strings for
    translation, or do the bindtextdomain call
  - in plugin_init, add a block like this:

#ifdef ENABLE_NLS
  GST_DEBUG ("binding text domain %s to locale dir %s", GETTEXT_PACKAGE,
      LOCALEDIR);
  bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
#endif /* ENABLE_NLS */

  - mark all strings you want translated for translation by wrapping them in
    _()
  - typically, these are all strings that serve as the message string for a
    GST_ELEMENT_ERROR or _WARNING
  - but it could also consist of any strings that may end up being presented
    to the user (for example mixer track)

Things to watch out for
-----------------------
- forgetting to bindtextdomain is an error that is not always noticeable,
  because:
  - any plugin from the same module being init'd binds the text domain,
    so you may forget it in B, and still have it work because A bound the
    domain
  - without a bindtextdomain call, any domain is bound to the system locale
    dir - so you could still have translations if it happens to be where the
    translations are

- our translations are managed by the Translation Project
  http://www.iro.umontreal.ca/translation/
  They are updated by the release manager for prereleases using
  make download-po
  As the translator project website clearly states, only accept translations
  from the translation project, and direct would-be translators there:
  "It would defeat the purpose of the teams if you were directly accepting PO
   files from individual translators, or were having "contracts" with them. If
   people write to you, wanting to volunteer as translators, direct them to
   translation@iro.umontreal.ca, and the translation coordinator will send them
   appropriate documentation."