jueves, 5 de enero de 2012

¡Vaya memorión!

Vuelvo tras un prolongado silencio. Como muchos sabréis por mi twitter o FB las cosas no me han ido mal del todo en 2011 y trabajo no me falta, así que la tarea de actualizar esta bitácora se hace dura y en muchas ocasiones acaban venciendo las ganas de no volver a tocar el ordenador hasta el día siguiente o para qué nos vamos a engañar, es vagancia.

Hoy toca hablar de una herramienta de gestión de memorias de traducción (MT) que posteriormente utilizaremos en nuestro programa de TAO, en mi caso OmegaT.

A raíz de un tuit de Kevin Lossner (@germanENtrans), llegó a mis oídos por @saavedramanuel la publicación de un corpus hexalingüe de las resoluciones de la Asamblea General de la ONU, un memorión, vaya.

Tras pegar un respingo y gritar un vivalamadrequeosparió™, me dispuse a zambullirme en cienes y cienes de segmentos, pero veréis que hay tres opciones de descarga:
  1. Machine-friendly version (49.4/176.2 MBytes). This version contains no newlines or insignificant whitespaces and is the version described in the paper.
  2. Human-friendly version (50/187 MBytes). This slightly-larger version has been pretty-printed to make it easier to review its content or to process it with non-XML tools, like grep. I recommend downloading this version.
  3. Plain TM version (40.9/155.6 MBytes). In this version, voting segments are removed, footnotes are removed completely and symbols and lead markers are removed (but the content is kept). This is a version suitable for import into commercial TM tools, which may not be implementing full TMX spec.

Me bajé la tercera opción porque quería evitar que OmegaT se volviera loco. Si las MT que tenemos en la carpeta 'tm' van pasaditas de turrones, el tiempo de respuesta en el arranque del programa y en las búsquedas puede parecernos eterno (15 segundos para buscar la palabra maldita ‒stakeholders‒ pueden ser muchos segundos).

Tras descomprimir el zip, nos queda una memoria de traducción en formato estándar (tmx) que podemos copiar-pegar directamente en la carpeta 'tm' de nuestro proyecto OmegaT (acuérdate de pulsar F5 para volver a cargar el proyecto y que tenga en cuenta la MT que le acabas de añadir).
El problema en este caso es que tendremos una MT con seis idiomas, funcionará igual, porque ‒en su infinita sabiduría‒ OmegaT buscará en los pares de lenguas que hayamos indicado al configurar el proyecto, pero si queremos «limpiar» esa MT tenemos a nuestra disposición una herramienta llamada Olifant (para Window$).

Edito: la versión de desarrollo para GNU/Linux del paquete Okapi, que incluye todas sus herramientas, está en: http://okapi.opentag.com/snapshots (gracias Silvia).

Olifant es una aplicación. NET que permite cargar o importar MT en diferentes formatos (TMX o delimitadas por tabulaciones). Se pueden editar las unidades de traducción, sus atributos y cualquier otro dato asociado, además de poder guardar o exportar datos en varios formatos. Dispone de una interfaz basada en tablas para navegar fácilmente a través de la MT, con funciones como: marcar segmentos duplicados y borrarlos, buscar y remplazar texto con expresiones regulares, filtrar las entradas en función de diversos criterios, unir varias MT en una ya existente, exportar parte de la TM, invertir el idioma de origen y el meta, etc. Precisamente lo que nos interesa es exportar parte de la MT, en este caso EN-ES.

Una vez descargado e instalado el programa, abrimos la MT (File-Open)

Como puede verse, tenemos los 6 idiomas con sus ¡72341 segmentos!

Vamos al lío:

Tan simple como ejecutar File-Export. Se abrirá un cuadro de diálogo en el que habrá que poner el nombre de la nueva MT que vamos a crear. Una vez decidido, clica en Aceptar y se abrirá otro cuadro de diálogo como este:

Selecciona en las casillas de verificación los idiomas correspondientes. En el menú desplegable Style puedes seleccionar el estilo de MT: Default, SDLX, Transit, Wordfast, etc. La opción Default es la más adecuada ya que es un estándar que funcionará independientemente del programa que utilices. Clica en OK y tras unos 10-15 segundos el archivo ya estará listo en la carpeta que seleccionaste en el paso anterior.

Si te pica la curiosidad, abre el archivo creado con Notepad o con un simple bloc de notas y verás la pinta que tiene una MT:

Algo que parece tan feo en realidad es de una sencillez apabullante (qué atrevida es la ignorancia):

Etiquetas de inicio y cierre con información sobre el idioma y el segmento equivalente en el otro idioma.


Ya tenemos nuestra memoria, la copiamos en la carpeta 'tm' del proyecto OmegaT. Al iniciar el programa tardará un poquito más, 20-30 segundos. Este tipo de memoriones, al igual que el de la DG de traducción de la UE (más grande si cabe que el de la ONU, el par EN-ES son más de 300 MB, es decir, ¡¡507149 segmentos!!) son muy útiles a la hora de hacer búsquedas terminológicas (recuerda, para abrir el cuadro de búsquedas pulsa Ctrl+F)



En este caso ha tardado 4 segundos en buscar la palabra maldita y ha dado 412 resultados. Los tiempos con la MT de la UE aumentan bastante, con todo y con eso, que arroje resultados en menos de 10 segundos con 300 MB de segmentos es todo un logro que el propio Kevin Lossner comenta en su blog y que supera a muchos programas comerciales.

Enredos

Si te gusta enredar un poco más y te atreves a aumentar la memoria de OmegaT, puedes hacerlo directamente en:

- la línea de comando (GNU/Linux) java -Xmx1024M -jar OmegaT.jar
- Archivo OmegaT.l4J (Window$)

1024M de memoria van bastante bien, pero 2048 mejor :) Las pruebas que hice de búsqueda con 2048 M arrojaron estos tiempos de respuesta:
- MT ONU: 3 segundos
- MT UE+ONU: 8 segundos



Por último, tan solo decir que Olifant es una excelente herramienta para limpiar, fijar y dar esplendor a tus MT (aunque cometa el gran pecado de no estar disponible para otras plataformas). Enreda, prueba y no seas como yo: lee la ayuda en línea.

¿Habéis probado el programa? ¿Qué os ha parecido? ¿Utilizáis otras herramientas de gestión de MT? Espero vuestros comentarios.
Se ha producido un error en este gadget.