[eside-ghost] Internacionalización de software con gettext

Mikel Olasagasti hey_neken en mundurat.net
Mie Oct 17 09:18:15 CEST 2007


Aupa!

> Wenas, ando mirando como poner cierto software en varios idiomas.
> Tengo tres preguntillas:
>
> 1) De momento he visto que lo más usado es gettext. Hay mas
> alternativas interesantes?

No se me ocurre otra que no sea declarar en un fichero las traducciones
rollo defines. En PHP para alguna cosa puntual he usado, pero vaya, que no
aprovechas las funcionalidades NLS para date y demas...
>
> 2) Segun leo, gettext soporta ciertos lenguajes (C++, Java, etc).
> Tengo intención de usarlo con un lenguaje no soportado, cuya sintaxis
> no es la típica de C:
>     printf(_("texto %s"),valor);
> sino:
>     {{'texto'|tr}}
> (no hace falta indicar el valor). Es posible hacer que gettext
> entienda este nuevo formato sin modificar su codigo fuente? Si
> necesito modificarlo, será mucha liada?

Hasta donde yo se y he probado, con poner _{{}} debefia funcionarte. Haz
un try&&error :P

>
> 3) Para terminar: usando gettext, qué ocurre si en el codigo fuente
> reemplazara _("texto") por _("teextoo")? Se reasocian las traducciones
> automaticamente con la nueva cadena de caracteres o algo asín?

Maaas o menos. Cuando regeneres la plantilla de traducciones, o fichero
.pot, se creara con los nuevos strings. Luego lo que se hace es aplicar
esa plantilla sobre un fichero de traduccion, o fichero .po, el cual mira
los cambios que hay y en caso de que el texto varie poco pone el nuevo
string traduccido con la vieja cadena y lo pone en modo "fuzzy" o dudoso,
con lo que habria que repasar la traduccion.

Y poco mas se me ocurre. Si te sirve de algo me alegrou :P

Ondo izan,
MiKeL



Más información sobre la lista de distribución eside-ghost