Siguiendo con el tema de traducir aplicaciones, y vistas las sugerencias de los últimos días, he estado trabajando en 3 scripts para ayudar en la traducción de aplicaciones.
Quiero indicar ante todo, que se trata de ayudar en la traducción, no es dejar que traduzca a lo loco, ya que lo que podemos obtener en este caso es algo infumable.
En principio se trata de traducir aplicaciones realizadas en Python, pero cualquiera lo puede extrapolar a lo que necesite, es un proceso sencillo y los resultados son del todo interesantes.
En cuanto a los idiomas, he considerado español, inglés, francés, alemán, italiano y gallego, pero si sigues le echas un ojo al script verás que es tremendamente sencillo extenderlo a tantos idiomas como consideres necesario.
El primer script es babilon, y se encarga de inicializar el proceso de traducción en general y de cada uno de los idiomas en particular, actualizando cuando sea necesario para tener el archivo con los últimos cambios.
El sengundo script es translate.py, y es el encargado de traducir los archivos generados anteriormente, utilizando para ello a Google Translator, como en el caso de Translate-me.
El tercer script es opcional, simplemente se trata de compilar los archivos obtenidos para comprobar que no se produce ningún error, pero evidentemente no es necesario que lo utilices, solo por precaución, que luego al subir el archivo a Launchpad es muy desagradable que te de un error.
¿De donde lo descargas, donde lo pones y como lo utilizas?
Lo primero lo más sencillo de todo, lo puedes descargar desde aquí, desde la zona de descargas.
Una vez lo hayas descargado, lo tienes que descomprimir en la carpeta scripts de nautilus:
~/.gnome2/nautilus-scripts/
Se supone, que los tres archivos tendrán permiso de ejecución, pero por si las moscas, no estaría de mas que le dieras permiso.
Para utilizarlo, simplemente, en Nautilus, te situas en la carpeta donde está el código fuente de python y con el botón derecho seleccionas en el menu contextual el script «babilon».
Una vez creado los archivos ‘.mo’ el siguiente paso es aplicar la traducción automática a los que quieras, para ello seleccionas los archivos ‘.mo’ que necesitas y seleccionas «translate.py» en el menu contextual, en la sección de scripts.
Por último, te sitúas nuevamente en la carpeta donde está el código fuente de python, y con el botón derecho seleccionas en el menú contextual «compilate».
Evidentemente para esto, es necesario que el código fuente de Python esté preparado para utilizar xgettext, pero una vez preparado, verás que es muy sencillo realizar las traducciones.
En script bash yo lo hacia con:
txt_out=$(wget -U firefox -qO – «http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&langpair=es|$2&q=$txt_in» | sed ‘s/.*{«translatedText»:»([^»]*)».*/1n/’)