Pequeño cómo de Traducción de programas con gettext y emacs
Desde septiembre de 2006, colaboro con
The Free Traslation Project∞ en la traducción al gallego del editor
GNU Nano∞. Era la primera vez que hacía traducción de catálogos de mensajes de software, y la cosa corría cierta prisa, así que, sin profundizar demasiado en como se gestiona la localización y la internacionalización, me metí directamente a la técnica de traducir los archivos .po.
Los .po son catálogos de mensajes del programa, después de un proceso que realizan los mantenedores, algunos de esos mensajes siguen correctamente traducidos desde la versión anterior, algunos pueden estar o no correctamente traducidos (
fuzzy) y habrá que revisarlos, y habrá mensajes nuevos que habrá que traducir seguro. Y para ello, estos son los pasos básicos:
- Instalación de gettext y gettext-el (el modo emacs). Más información en el manual de uso de gettext∞ (en Debian, sencillamente instalar con apt).
- Buscar en el equipo de traducción∞ el fichero .po∞ correspondiente a Nano
- Editar el archivo .po con el emacs, que se abrirá ya en el modo especial gettext. Se puede navegar normalmente con las combinaciones de teclas de emacs, pero el modo tiene unas combinaciones rápidas:
- n,p siguiente, previo mensaje
- backspace para a)marcar como fuzzy, b)marcar como obsolete, c)borrar definitivamente
- f,F previo, siguiente mensaje fuzzy
- u,U previo, siguiente mensaje sin traducir
- tab para eliminar la etiqueta fuzzy
- enter para editar la traducción: abre una nueva ventana, para acabar, C-c C-c
- V para compilar
- q para quitar la edición del archivo
- y h para el resto de ayuda que no cuento aquí
- Una vez acabada la traducción, debemos realizar la compilación del catálogo: msgfmt --statistics nano-1.9.99pre0.gl.po
- El resultante lo guardo para su disponibilidad en el sistema: mv messages.mo /usr/share/locale/gl/LC_MESSAGES/nano.mo
- Y por si lo pide el mantenedor, conversión a utf-8 (yo suelo usar iso-8859-15): msgconv -t utf-8 nano-1.9.99pre0.gl.po -o nano-1.9.99pre0.po_utf
Y si tengo los locales adecuadamente generados y configurados (recordar variables de entorno), ya podremos disfrutar de la nueva traducción.
Ojo con los comentarios de los mantenedores, que recomiendan en ciertos casos limitaciones en el número de caracteres. Tener a mano los diccionarios adecuados:
Wordreference∞, el
diccionario∞ de la RAG, y el
glosario técnico∞ del proyecto
Trasno∞, en mi caso. Comprobar en uso del programa que las traducciones son correctas.
Gracias a
Jordi Mallach∞ por
liarme para estas cosas :-) y por su ayuda y paciencia.