A estas alturas de la historia ya te habrás dado cuenta que Ruby on Rails es un entorno hecho para trabajar en inglés. El problema llega cuando tu cliente solo habla español (o zulú) y quiere la aplicación, como es lógico, en su propio idioma.
¿Y ahora cómo traduzco yo las fechas? ¿Y los formatos de moneda? Preguntas como estas ya tienen solución. Vamos a utilizar Gettext, la biblioteca GNU de localización de software por excelencia, y Gettext Localize, el plugin escrito por Ramon Salvadó, Miquel Ibero y Pau Colomer que nos permitirá manejar las funciones de Gettext desde nuestra aplicación RoR.
Pasemos a la acción. Lo primero es instalar la gema Gettext:
sudo gem install gettext
A continuación, instala el plugin Gettext Localize en tu proyecto via github:
git clone git://github.com/rsalvado/gettext_localize.git vendor/plugins/gettext_localize
Ahora tienes que localizar todo el texto que quieres que sea traducible y marcarlo con la siguiente sintaxis:
_('translate this')
Ahora tienes que generar el fichero POT, que será la plantilla base a partir de la cual se podrán realizar todas las traducciones. Ve a la terminal y escribe:
rake gettext:updatepo
Si todo ha ido bien, verás una nueva carpeta en tu aplicación con el fichero POT dentro de ella: po/app.pot. Dentro de esa carpeta tienes que crear un fichero po/lang1/app.po para cada traducción, donde lang1 es el código ISO del lenguaje destino. Por ejemplo, para nuestra traducción al español, el fichero será po/es/app.po. Para nuestra traducción al alemán el fichero será po/de/app.po. Y así sucesivamente.
Una vez has hecho las traducciones correspondientes con tu editor favorito (nosotros lo hacemos con Poedit), ve de nuevo a la terminal y escribe:
rake gettext:makemo
Y eso es todo. Gettext Localize ha sido probado con las siguientes lenguas: catalán, español, inglés, francés y alemán. Para configurar nuevas lenguas, cambiar la configuración determinada, etc., consulta la documentación que viene con el plugin.

Añade tu comentario