Elric's random thoughts in idle times

"Why stop now, when I'm just starting to hate it?" – Marvin the robot

po4a. Gestión del formato y las traducciones de documentación

leave a comment »

po4a es un programa que me lleva fascinando un tiempo. Tanto que he acabado actualizando su extenso y completo manual, lo cual me ha llevado a aprender mejor su uso. Así mismo, es mi herramienta predilecta en el proyecto vim-doc-es, del cual formo parte (sin desmerecer el excelente translate toolkit).
Ayer mismo salió la versión 0.37 de po4a, que trae importantes mejoras para aquellos desarrolladores que desean localizar los documentos de ayuda (generalmente páginas de manual) de su programa.

po4a le permite convertir sus diversos documentos y mensajes del programa a formato po de gettext, para después regenerar a partir de estos archivos las paginas de manual en nroff, html o lo que sea, ya traducidos.
La opción más sencilla es editar directamente con docbook, que tiene una gran compatibilidad con po4a, y a partir de este archivo generar los diferentes formatos, así como los archivos para las traducciones. Los diferentes elementos que componen la suite de po4a son:

  • po4a: Esta herramienta es homónima con respecto a la suite. En esencia, invoca po4a-translate y po4a-update en una sola invocación, junto con el uso de po4a.cfg, que establece los parámetros de configuración
  • po4a-updatepo: Actualización de los ficheros po con respecto al fichero original pot
  • po4a-translate: Esta orden genera los documentos a partir de los archivos po
  • po4a-normalize: Adapta un documento en cualquier formato a una forma más apropiada parapo4a
  • po4a-gettextize: Esta herramienta es de gran utilidad para poder adaptar documentos ya traducidos al marco de trabajo de po4a
  • po4a-build: Esta herramienta es reciente. Simplifica extraer las cadenas traducibles, asi como convertir los archivos de traducción a los formatos adecuados en tiempo de construcción ya que goza de compatibilidad con otros programas de formateo
  • po4a-runtime: Añade la capacidad de mensajes localizados en tiempo de ejecución sin autotools

Hay más órdenes, como por ejemplo po4aman-display-po, el cual permite al traductor ver como quedará su trabajo en formato nroff. También ofrece módulos específicos para cada formato.
Hasta ahora tenía una limitación. Si deseabas hacer docbook–>po–>docbook_traducido–>html, tenías que realizar el último paso manualmente con xsltproc. Ahora, po4a ofrece un nuevo script, po4a-build, el cual realiza todos estos pasos en una sola invocación al programa, generando un po4a.cfg en tiempo de ejecución.

Si eres un desarrollador que desea ver sus páginas de manual y mensajes del programa traducidos, prueba po4a. Puedes encontrar varios ejemplos de uso en los programas que forman parte del Proyecto Debian. También puedes visitar vim-doc-es, y leer README.l10n, con instrucciones básicas de uso.

A pesar de sus orígenes, y el entorno en el que se suele usar, esta herramienta no se limita a la traducción de documentación técnica, sino que se podría emplear en toda clase de proyectos donde es importante una traducción actualizada, cosa que facilita de manera extrema el uso del formato po y las herramientas de gettext.

Por último, tengo que mencionar el esfuerzo llevado por el proyecto para mejorar su compatibilidad con el formato de texto simple, que presentaba ciertas dificultades al tratar los archivos de ayuda de Vim en el proyecto vim-doc-es.
Tardaron en añadir opciones al programa 3 días después de mostrar mi problema, y una semana en tenerlo ya en los repositorios de Debian. ¡Y todo con simpatía :)!

Un proyecto muy activo y abierto a las opiniones de los usuarios. A ver que puedo aprender ahora de docbook…

Advertisements

Written by elric80

November 21, 2009 at 3:05 pm

Posted in debian, l10n, linux

Tagged with , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: