El libro de Django 1.0

18.8. Notas para usuarios familiarizados con gettext

Si conoces gettext podrías notar las siguientes particularidades en la forma en que Django maneja las traducciones:

  • El dominio de las cadenas es django o djangojs. El dominio de cadenas se usa para diferenciar entre diferentes programas que almacenan sus datos en una librería común de archivos de mensajes (normalmente /usr/share/locale/). EL dominio django se usa para cadenas de traducción de Python y plantillas y se carga en los catálogos de traducciones globales. El dominio djangojs se usa sólo para catálogos de traducciones de JavaScript para asegurar que los mismos sean tan pequeños como sea posible.
  • Django sólo usa gettext y gettext_noop. Esto es debido a que Django siempre usa internamente cadenas DEFAULT_CHARSET. Usar ugettext no significaría muchas ventajas ya que de todas formas siempre necesitarás producir UTF-8.
  • Django no usa xgettext en forma independiente. Usa wrappers Python alrededor de xgettext y msgfmt. Esto es más que nada por conveniencia.