Translate Toolkit & Pootle

Tools to help you make your software local


Comprobar sus archivos con pofilter

pofilter le permite detectar errores comunes en sus archivos PO o XLIFF. Esta corta guía le mostrará el uso de esta herramienta, realizar correcciones e integrar estos en sus traducciones.

Otras herramientas útiles para el control de calidad se enumeran en esta sección.

Introducción

Use any preferred text editor wherever vim is used.

  1. Seleccione uno o varios filtros: «pofilter -l»
  2. Ejecute uno o varios filtros: «pofilter -i archivos_existentes/ -o errores/ [-t pruebas específicas] [--excludefilter no ejecuta las siguientes pruebas]»
  3. Elimine los elementos que no desea cambiar, etiquete segmentos con «Necesita traducción», o elimine el elemento si no es necesario: «vim errores/*.po»
  4. Traslade los cambios a los archivos originales: «pomerge -i errores/ -o archivos_existentes/ -t archivos_existentes/»
  5. Cree un parche de cambios: «cvs diff -u archivos_existentes/ > x.diff»
  6. Compruebe que las actualizaciones sean los que desea: «vim x.diff»
  7. Envíe los cambios: «cvs ci ficheros_/»

Descripción detallada

pofilter realiza un control de calidad de sus archivos de traducción. Los errores detectados se envían a un nuevo conjunto de archivos (con la misma estructura de los archivos de entrada y salida). A continuación, el traductor edita estos nuevos archivos de la salida para corregir errores. Una vez que está satisfecho con las correcciones, estos se fusionan con los archivos de traducción originales usando pomerge.

Extracción de errores

pofilter realiza todas las pruebas a menos que use las opciones «-t» o «--excludefilter». Existen más de 38 pruebas, y el mismo pofilter ofrece una lista de las pruebas disponibles:

pofilter -l

En este caso, ejecutaremos las pruebas para los aceleradores, escapes, variables y etiquetas xml (esto es, accelerators, escapes, variables y xmltags), ya que podrían presentar problemas en tiempo de ejecución. También trabajaremos con archivos PO de OpenOffice.org creados mediante oo2po, y por ello queremos comprobar la corrección de las etiquetas de aceleradores y variables.

pofilter -t accelerators -t escapes -t variables -t xmltags --openoffice archivos_existentes errores

Cualquier mensaje que falle una de las 4 pruebas se ubicará en diferentes archivos dentro de errores. También hemos usado la opción --openoffice para asegurar que la herramienta detecte la etiqueta de acelerador de OpenOffice.org (~), y el estilo de variables de OpenOffice.org (cuenta con más de 10 estilos de variables). También puede definir estilos de otros proyectos, como GNOME, KDE, o Mozilla.

Puede también especificar si desea que se incluyan y comprueben las entradas incompletas («fuzzy»). Este comportamiento está desactivado de forma predefinida ya que las cadenas incompletas suelen estar rotas, y de todas formas los traductores tendrán que revisarlas.

Del mismo modo, puede incluir elementos marcados para su revisión si define «--review» o «--ingnorereview». Estos elementos se incluyen de forma predefinida. Esto no forma parte del formato estándar Gettext. Incluimos estas entradas para comunicar qué error hemos encontrado:

# (review) - Se ha seleccionado una traducción errónea de «gallery»

Puede ejecutar pofilter sin la opción «-t», realizando así todas las comprobaciones. Puede ser confuso si existen varios errores, ya que puede perder el enfoque fácilmente. Una forma es ejecutar cada prueba de forma separada, lo que permite ocuparse de un problema cada vez, y a través de cualquier número de ficheros. Es mucho más fácil corregir la puntuación del final de la oración de forma separada que si está unido a otros errores. Posiblemente sea mejor ejecutar todas las pruebas cuando el archivo sea pequeño.

Puede corregir varios errores comunes usando la opción --autocorrect. Aún así, debe tener cuidado ya que supone que usa el mismo estilo de puntuación que el texto original.

Editar los archivos

Una vez que se hayan marcado los errores, puede editarlos con cualquier editor de texto o editor de archivos PO, por ejemplo KBabel o vi.

Editará los archivos bajo el directorio errores, y sólo estarán presentes los archivos que hayan fallado alguna prueba. Si todos los segmentos son correctos no se generará ningún archivo PO de error para el archivo PO original correspondiente. Las cadenas con errores críticos se marcarán como incompletas («fuzzy»), mientras que las demás aparecerán con la etiqueta habitual de pofilter. Los errores críticos se marcan como segmentos incompletos para que puede fusionarlos con los archivos PO originales, sabiendo que las herramientas po2* omitirán cadenas marcadas como incompletas. Esto facilita que elimine mensajes que puedan romper o detener la construcción de un programa.

Para editar, ejecute:

vi `find errors -name "*.po"`
kbabel `find errors -name "*.po"`

o una orden similar.

La etiqueta de pofilter le permite determinar el error detectado:

# (pofilter) <prueba> - <explicación del error detectado>

Use la descripción de la prueba para determinar cuál es el error en el segmento. Recuerde que todos sus cambios se trasladarán a los archivos PO. Por ello, si deja una cadena incompleta en los mensajes de error, pasará a estar incompleta en los archivos principales tras fusionar el archivo corregido con el original. Para evitar esto, elimine todo lo que no desee trasladar a sus archivos originales. Elimine los comentarios de las pruebas y etiquetas «fuzzy» cuánto sea necesario. No los elimine si desea que otro traductor los vea.

Puede que el sistema equivoque, y por ello un error detectado por pofilter puede no serlo en realidad. Nos gustaría escuchar acerca situaciones con falsos positivos para así mejorar las pruebas. Así mismo, nos gustaría escucharle si tiene ideas o ha añadido otras pruebas.

Combinar las correcciones con los archivos originales

Después de corregir los errores en los archivos PO es hora de fusionar esas correcciones con los archivos originales usando pomerge.

pomerge -t archivos_existentes -i errores -o archivos_sin_errores

If -t and -o are the same directory, the corrections will be merged into the existing files. Do this only if you are using some kind of version control system so that you can check the changes made by pomerge.

Comprobación de las correcciones

Vamos a realizar este proceso con CVS, aunque podría ejecutar «diff» de forma normal comparando una copia de los archivos originales con otros que contengan sus modificaciones.

pomerge -t archivos_existentes -i errores -o archivos_existentes

Ahora comprobamos los cambios usando cvs diff:

cvs diff -u fichero > x.diff

Esto genera un diff unificado (uno con líneas + y - para así ver los líneas eliminadas y añadidas) en el archivo «x.diff».

vim x.diff

Compruebe el archivo de diferencias en cualquier editor. En este caso, usaremos Vim. Debería comprobar que se incluyen los cambios deseados y que nada importante ha fallado. Mire también si deja alguna línea con «# (pofilter): descripción de la prueba», que se debería eliminar de los archivos PO. Busque también etiquetas «fuzzy» que no se deberían añadir. Tiene que realizar las correcciones en los archivos en archivos_existentes, y no los incluidos en errores.

Cuando esté satisfecho con los cambios, ejecute:

cvs ci archivos_ex

Felicidades. Ya eliminado un gran número de errores que podrían presentar problemas al ejecutar la aplicación. Puede que ahora desee ejecutar otras pruebas que analizan el estilo y uniformidad de la traducción.