La anterior entrada de Melodía de traducción inauguró una serie de entradas dedicadas a Okapi Framework. Como es evidente, a la primera parte le sigue una segunda, que os dejo a continuación.

A modo de recapitulación, en la entrada anterior escribí una introducción a Okapi Framework para después continuar con un análisis más profundo de Rainbow. Entre otras cosas, vimos la creación de paquetes de traducción y de memorias de traducción mediante este programa. Concluí la entrada prometiendo que seguiría hablando de Rainbow. Lo prometido es deuda.

Comparación de traducciones

En determinados proyectos, puede que queramos comparar la traducción de un documento con una versión previa de dicha traducción con el fin de observar los cambios que hemos ido introduciendo. También puede darse el caso poco deseable de que nos hayamos topado con un revisor que ha decidido cambiar nuestra traducción a su antojo, unas veces, con buen criterio y, otras, con no tanto, por lo que queremos comparar la revisión con la traducción para ver si dichas correcciones están justificadas o, por el contrario, se deben a los meros deseos del revisor por cambiar nuestro trabajo. Sea como fuere, Rainbow cuenta con una función que nos permite comparar la traducción de varios documentos y que nos muestra las diferencias en un archivo HTML y que puede sernos de gran utilidad en situaciones como las descritas en este párrafo.

Como paso previo, tenemos que cargar los documentos que vamos a comparar mediante la combinación de teclas Ctrl + Insert. Los archivos originales los tendremos que cargar en la primera pestaña, Input List 1, mientras que añadiremos las traducciones modificadas, por llamarlas de algún modo, en la siguiente pestaña, Input List 2 y, si se da el caso, podemos recurrir a la tercera pestaña, Input List 3. Es importante comprobar que los documentos comparados estén situados de este modo, ya que, de lo contrario, esta función no producirá resultado alguno.

Después de añadir los documentos, tendremos que dirigirnos al menú Utilities (Utilidades) y elegir la opción Translations Comparison… (Comparación de traducciones). Aparecerá la siguiente ventana:

Comparación de traducciones

Ventana de Rainbow donde podemos configurar la comparación de traducciones

En esta ventana podemos elegir, entre otras opciones, si queremos utilizar una identificación genérica de los códigos internos de texto (en vez de utilizar los códigos reales, que pueden ser muy extensos en según que casos), que se abra el archivo HTML resultante una vez finalizada la comparación o que se cree una memoria de traducción en formato TMX con los resultados.

También podemos elegir el nombre con el que queremos identificar los documentos y si Rainbow debe tener en cuenta para realizar la comparación las diferencias entre la mayúsculas y las minúsculas, de espacios en blanco y de puntuación. Cuando hayamos elegido las opciones que prefiramos, pulsamos en botón Execute (Ejecutar) y esperamos a que se termine el proceso. Si hemos marcado la casilla pertinente, se nos abrirá un archivo HTML en nuestro navegador predeterminado de forma automática, similar al de la siguiente captura de pantalla:

Análisis de la comparación de traducciones

Informe de la comparación de traducción de Rainbow en HTML

Como podemos observar, el informe nos muestra las traducciones una debajo de la otra y nos indica el valor de similitud entre ellas en una escala del 0 al 100. En la ayuda de Rainbow con respecto a este paso (a la que podemos acceder mediante el botón Step Help, Ayuda del paso), esta cifra se basa en la distancia de Levenhstein, que mide el número de operaciones necesarias para poder pasar de una cadena a otra.

Este informe proporciona poca información si lo comparamos con otras herramientas. Por ejemplo, no señala de ninguna forma los puntos donde se producen diferencias, lo que puede dificultar la identificación y corrección de errores en segmentos largos o con muchas marcas de formato. Pese a todo, es una función de Rainbow que puede ser de utilidad en el caso de textos breves y con pocos segmentos, como el documento del ejemplo anterior, y, asimismo, una primera aproximación a otras tareas que no son realmente traducción pero que guardan gran relación con ella, como la revisión, el control de calidad o incluso el proofreading.

Buscar y reemplazar

Cuando terminamos de traducir, hay ocasiones en que, por estar despistados u otras razones, nos damos cuenta casi a última hora de que no hemos traducido un determinado término por el equivalente que nos indicaba el cliente sino por otro, que no hemos traducido ese término de forma coherente en todos los documentos, etc. ¿A quién no le ha pasado tener que ir buscando y reemplazando a toda prisa esa palabra problemática? Todo ello, unido al inconveniente de poder equivocarnos.

En situaciones así es donde podemos aprovechar la función Buscar y reemplazar de Rainbow. «No es nada del otro mundo, nada que no tenga cualquier editor de texto», pensaréis y, en parte, tenéis razón. Si solamente tenemos que llevar a cabo búsquedas y sustituciones en un documento, abrirlo en Word u otro programa y realizarlas puede que sea lo más fácil y cómodo. Sin embargo, hacer lo propio con varios documentos es otro cantar, y más si son archivos bilingües, en los que las búsquedas pueden antojarse complicadas a veces. En estos casos es en los que Rainbow puede marcar la diferencia. A continuación, vamos a ver cómo utilizar la función Buscar y reemplazar en este programa con dos archivos bilingües en formato ODT.

El primer paso seguramente ya lo intuyáis: hay que añadir los archivos con los que vamos a trabajar. A diferencia de la función anterior, aquí nos basta con añadirlos todos a la misma Input List. Acto seguido, vamos al menú Utilities > Search and replace with filter (Utilidades > Buscar y reemplazar con filtro). Justo debajo de otra opción tenemos el acceso a la búsqueda y sustitución sin filtro. Sin embargo, nosotros recurriremos a la opción con filtro. Aparecerá entonces la ventana que podemos ver en la siguiente captura de pantalla:

Ventana Buscar y reemplazar

Captura de la ventana de Buscar y reemplazar con filtro de Rainbow

Para añadir los términos que queremos buscar y reemplazar, pulsamos el botón Add… (Añadir). En la siguiente ventana, añadimos la palabra en cuestión en el cuadro superior y la palabra por la que queremos sustituirla en el cuadro inferior y pulsamos el botón OK, repitiendo este paso las veces necesarias.

Cuando hayamos terminado, podemos marcar la casilla Use regular expressions (Utilizar expresiones regulares), lo que nos permitirá, a su vez, marcar otras cuatro casillas, de las que son especialmente interesantes las dos últimas: Ignore case differences (Ignorar diferencias entre mayúsculas y minúsculas) y Replace all instances of the pattern (Reemplazar todas las apariciones del término). En nuestro caso, es importante prestar atención a las dos casillas situadas a la derecha, con el título When processing text units (i.e. using a filter) [Al procesar unidades de texto (es decir, al usar un filtro)]. Mediante este filtro, podemos marcar las dos casillas para buscar y reemplazar en el texto de origen y en el destino, respectivamente.

Para este ejemplo, he utilizado los dos textos de prueba en formato ODT empleados también para la comparación de traducciones y que he traducido utilizando Anaphraseus, del que ya hablé en su día. He buscado todos los casos en que aparecen las palabras archivo y texto y las he sustituido por texto. También he hecho lo propio con frase, que he reemplazado por oración. Como resultado, Rainbow creará copias de los documentos originales añadiendo .out antes de la extensión de archivo. En las siguientes capturas de pantalla podéis ver el documento original y el documento modificado, respectivamente.

Archivo bilingüe original

Captura del archivo bilingüe original en formato ODT abierto con LibreOffice

Archivo bilingüe modificado

Captura del archivo bilingüe modificado en formato ODT abierto con LibreOffice

Como podéis observar, Rainbow ha llevado a cabo lo que le hemos pedido a la perfección. En mi opinión, las búsquedas y sustituciones constituyen una función que es fundamental que los traductores, como mínimo, conozcan y sepan manejar. Nos ayuda a evitar posibles quebraderos de cabeza y a ahorrar un tiempo precioso que podemos dedicar a otros menesteres.

Con estas dos funciones de Rainbow doy por concluida esta entrada, pero no creáis que he terminado con Okapi Framework, ni mucho menos. De momento, ya os adelanto que en la siguiente entrada terminaré de describir las funciones más destacadas de Rainbow con el QA o Control de calidad.

Como de costumbre, termino la entrada animándoos a participar con vuestros comentarios: ¿habéis utilizado alguna vez estas funciones de Rainbow? ¿Hay alguna otra que utilicéis con frecuencia?

¡Hola a todos!

Retomo el blog con una entrada que mi amigo y antiguo profe Rubén me sugirió escribir en su día: Okapi Framework. Como ya habéis sido testigos de mis parrafadas habituales, y dado que esta herramienta es muy amplia, escribiré varias entradas sobre el tema. Aquí va la primera de ellas.

INTRODUCCIÓN

Me imagino que muchos de vosotros os habréis preguntado al leer el título: «¿Qué es Okapi Framework?». Nadie mejor que sus creadores para contárnoslo. Si prestamos atención a su página web, podemos averiguar que Okapi Framework (de ahora en en adelante, Okapi) es «un conjunto de componentes y aplicaciones de código abierto, libre y multiplataforma diseñado como apoyo a los procesos de traducción y localización». Así pues, nos queda claro que Okapi es gratuito y que no se trata de una herramienta de traducción asistida por ordenador al uso, sino de un complemento de ayuda en las tareas de traducción y localización.

A su vez, Okapi consta de varias herramientas escritas en lenguaje Java entre las que destaco Rainbow (a la que dedicaré esta entrada en exclusiva), que nos permite ejecutar multitud de procesos relacionados con la traducción y localización, CheckMate, utilizada para realizar controles de calidad en archivos bilingües y, dentro de las antiguas aplicaciones de Okapi en .NET framework, Olifant, que sirve para realizar búsquedas y cambios en distintos formatos de memorias de traducción. Cabe mencionar, así mismo, la presencia de aplicaciones en línea de comandos, destinadas a usuarios más avanzados, como Tikal, que permite unir varios archivos XLIFF, llevar a cabo conversiones de archivos o incluso traducir utilizando sistemas de memorias de traducción; o Ratel, un editor WYSIWYG empleado para crear reglas de segmentación SRX (Segmentation Rules eXchange).

RAINBOW

La primera vez que abrimos Rainbow, nos encontramos con una ventana como la de la siguiente imagen:

Rainbow

Ventana principal de Rainbow

Como se puede observar, en dicha ventana figura la clásica barra de menús, común a la mayoría de aplicaciones, donde nos serán de especial utilidad los menús Utilities y Tools (Utilidades y Herramientas, respectivamente) y una sección de botones que ejecutan las funciones más básicas, como abrir un proyecto, guardarlo, etc. Debajo de esta sección vemos de un directorio titulada Root (Raíz), que es el directorio de nuestro proyecto. El resto de la pantalla lo ocupa una sección con varias pestañas, destinadas a la listas de documentos con los que queremos trabajar (hasta un total de tres), así como otra pestaña, Languages and Encodings (Idiomas y codificaciones), donde podemos establecer, como su nombre indica, los idiomas y codificaciones de los archivos que hayamos añadido. Para terminar, en Other Settings (Otros ajustes) podemos configurar algunas características de los archivos de destino.

Creación de paquetes de traducción

La primera función de Rainbow que quiero destacar es la creación de paquetes de traducción. De esta manera, podemos preparar nuestros archivos para convertirlos a formatos compatibles con diversas herramientas tanto gratuitas como de pago, como QT Linguist (recordad que hablé de esta herramienta en la entrada anterior), OmegaT, Trados, Swordish III (que mencioné en esta entrada) o Wordfast. Así que por falta de alternativas no será.

Para acceder a esta función, tendremos que, en primer lugar, cargar los archivos que queremos convertir mediante la combinación de teclas Alt + Insert. Una vez elegidos, nos dirigiremos a Utilities > Translation Kit Creation… (Utilidades > Creación de paquetes de traducción). En la siguiente captura de pantalla podemos ver un ejemplo de esta ventana. En la parte derecha de la ventana que aparece, podemos ver la lista de formatos a los que se pueden convertir los archivos. Cuando seleccionamos uno, en la sección inferior se nos aporta una breve descripción que soluciona más de una duda. Asimismo, en la pestaña Output Location (Ubicación de los archivos de destino) podemos decidir la ubicación del paquete que creemos, así como si deseamos que el programa cree un archivo comprimido con los archivos de dicho paquete.

Creación de paquetes de traducción

Captura de pantalla de la ventana de Creación de paquetes de traducción de Rainbow

El programa nos creará un paquete en la carpeta que le hayamos indicado, con una carpeta destinada a los archivos originales y otra, de nombre, work, que contiene los archivos de trabajo o borradores, que son el resultado de la conversión que ha realizado Rainbow para hacerlos compatibles con el programa de traducción asistida elegido. Aquí tenemos un ejemplo de un paquete PO que puedo traducir mediante QT Linguist, y que he creado a partir de un archivo en formato ODT.

Archivo PO en QT Linguist

Captura de pantalla de un archivo PO en QT Linguist creado por Rainbow

Las siguientes capturas muestran, respectivamente, los paquetes de este mismo archivo obtenidos siguiendo este proceso para su posterior traducción en Swordfish III (a partir de un archivo XLIFF), OmegaT y Trados (a partir de un archivo RTF).

Archivo XLIFF en Swordfish

Captura de pantalla de archivo XLIFF creado con Rainbow y abierto en Swordfish

Traducción en OmegaT

Captura de pantalla de un texto para traducir abierto en OmegaT creado desde Rainbow

Archivo RTF bilingüe

Captura de pantalla de un archivo RTF bilingüe para Trados creado con Rainbow.

Como habréis podido comprobar ya, contamos con muchas opciones de creación de paquetes de traducción, compatibles tanto con herramientas de traducción asistida gratuitas como comerciales. Aparte de lo mostrado anteriormente, podemos crear archivos compatibles con Transifex, Wordfast y otras herramientas de traducción asistida.

Creación de memorias de traducción

Imaginaos que, utilizando Rainbow, hemos podido convertir un archivo siguiendo los pasos anteriores a un programa de traducción asistida de nuestra elección como, por ejemplo, QT Linguist. Cuando hemos terminado de traducir el archivo, caemos en la cuenta de que queremos guardar una memoria de traducción basada en dicho archivo para poder aprovechar la traducción en futuros proyectos. Sin embargo, herramientas como QT Linguist no funcionan con el concepto de memoria de traducción, al contrario que otras alternativas como Trados o Wordfast o, si hablamos de software libre, OmegaT o Anaphraseus. Pues bien, en vez de maldecir nuestra mala suerte, Rainbow nos puede ayudar a salir del apuro mediante su función de conversión de archivos, en concreto la conversión a formato TMX (Translation Memory eXchange).

A diferencia de la función de paquetes de traducción, la conversión de archivos se limita a convertir los documentos que queramos a otro formato, sin crear la estructura de carpetas más propia de un proyecto de traducción (es decir, carpetas para documentos originales y borradores y otros archivos necesarios para ser compatibles con el programa elegido). Si bien es cierto que estas dos funciones pueden llegar a solaparse (en especial en el caso de los archivos PO), creo que dan la posibilidad de que cada traductor trabaje según más le convenga.

En la situación que nos ocupa, el primer paso para obtener nuestro archivo TMX a partir de un archivo bilingüe (PO, XLIFF o bilingües de Trados) es añadirlo a la lista de archivos mediante al atajo Ctrl + Insert. A continuación nos dirigimos a Utilities > Conversion Utilities > File Format Conversion… (Utilidades > Utilidades de conversión > Conversión de formatos de archivos), donde aparecerá la siguiente ventana:

Conversión de archivos

Ventana de Rainbow de la función de conversión de archivos

En la sección Output Format (Formato de destino), elegimos el formato al que convertiremos el texto (en este caso, TMX). Marcando las casillas de debajo, podemos elegir, entre otras opciones, si solamente queremos convertir los segmentos aprobados o si queremos crear un único archivo de destino en vez de un archivo de destino por archivo original. Para terminar, elegimos el nombre y la ruta del archivo de destino y pulsamos el botón Ejecutar.

Una vez terminado el proceso, obtendremos un archivo TMX compatible con la gran mayoría de herramientas de traducción asistida, ya sean de pago o gratuitas. En la siguiente captura de pantalla podemos ver un archivo TMX creado con Rainbow a partir de un documento RTF bilingüe (convertido a su vez con Rainbow a este formato desde un archivo original ODT), y que he abierto con el programa Notepad++ (una alternativa al Bloc de notas de Windows que recomiendo encarecidamente), lo que supone una buena forma de averiguar más información sobre la estructura interna de un archivo TMX.

Archivo TMX

Captura de pantalla de archivo TMX abierto con Notepad++

Con estas dos funciones doy por terminada esta entrada dedicada a Okapi Framework y, en particular, a Rainbow. Como siempre, os animo a trastear con Okapi y con Rainbow, porque así seguro que descubrís muchas más funciones de las que da tiempo a hablar en este blog y, de paso, podéis sacarle el máximo partido de manera acorde con vuestras necesidades profesionales y particulares.

En las siguientes entradas seguiré hablando de Rainbow, así como de otras aplicaciones pertenecientes a Okapi Framework. Con respecto a vosotros: ¿conocíais esta herramienta? ¿Alguno la habéis utilizado? ¿Qué funciones destacáis y cuáles echáis de menos? ¡Espero vuestro comentarios! 😉

En la introducción a este blog (enlace), mencionaba el hincapié que íbamos a hacer en el software libre relacionado con la traducción y la localización. Así pues, no es extraño que esta primera entrada esté dedicada a Anaphraseus (enlace), un complemento de OpenOffice.

Quienes no estén familiarizados con el gran alcance del mundo del software libre puede que no conozcan OpenOffice, que es una suite ofimática, al estilo de Microsoft Office, pero por la que no hay que pagar una licencia por unas aplicaciones que, en la mayoría de los casos, quedan desaprovechadas, pues no las vamos a utilizar con frecuencia o, si me apuras, casi nunca. Además de ser gratuita, cuenta con todas las funciones de MS Office, se encuentra traducida al español (por cierto, si os interesa, podéis participar en la traducción aquí) y podemos personalizarla, al estilo de otros programas como el navegador Mozilla Firefox o el gestor de correo electrónico Mozilla Thunderbird, mediante extensiones o complementos de manera igualmente gratuita. Estos complementos permiten modificar funciones de OpenOffice o añadir otras nuevas.

Este es el caso de Anaphraseus, una extensión que, imitando el modo de trabajar de Wordfast Classic, se añade a OpenOffice como una barra de herramientas que nos permite traducir utilizando memorias de traducción dentro de esta suite ofimática. A diferencia de Wordfast Classic, Anaphraseus es gratuito, lo cual, sin duda, es de gran ayuda para un traductor en sus comienzos o si no dispone de grandes recursos económicos. A continuación, voy a explicar cómo podemos descargarnos e instalar Anaphraseus para después trabajar con él.

En mi caso, la ley de Murphy ha funcionado mejor que nunca: ha sido ponerme a realizar capturas de pantalla para este tutorial y actualizar la versión de Anaphraseus (actualmente, la 2.01 beta) y empezar a fallar todo, así que he tenido que recurrir a una versión anterior de Anaphraseus que tenía guardada (la 1.23 beta). Como no está localizada al español, los nombres de funciones aparecen en inglés, con su traducción al español, que puede no coincidir exactamente con la versión localizada. A pesar de ello, he podido realizar alguna captura de pantalla con la versión más reciente (en ese caso, lo indicaré). Si podéis, utilizad la última versión, que estará más pulida que la mía y tendrá más funciones.

El primer paso (contando con que ya tenemos OpenOffice instalado) consiste en dirigirse a la página de descarga de Anaphraseus (si queremos echar un vistazo a todas las características del complemento, podemos acudir a la página del proyecto) y, lógicamente, descargarlo y guardarlo en el ordenador. Tendremos un archivo .zip que habrá que descomprimir en una ubicación que deseemos (al tratarse de varios archivos, recomiendo extraerlo en una carpeta aparte), donde, entre otros, veremos un archivo .oxt (extensión o complemento de OpenOffice). Bastará con hacer doble clic sobre él para que se abra el administrador de extensiones de OpenOffice. Otra forma de realizar este proceso consiste, con el Writer abierto (al abrir OpenOffice, elegimos crear un nuevo Documento de texto), en seleccionar Herramientas > Administrador de Extensiones. En cualquier caso, tras aceptar el acuerdo de licencia, para lo cual se debe mover la barra de desplazamiento del texto hasta el final, se instalará el complemento. Basta con cerrar Open Office y volver a abrirlo para poder empezar a trabajar con Anaphraseus.

Si tu versión es la 2.01 beta, aparecerá un botón con el texto Crear Menú y Barra de Herramientas Anaphraseus. Si lo pulsamos, se crea un nuevo menú desplegable con el nombre de Anaphraseus y una barra de herramientas, que se muestra en su totalidad si pinchamos en el botón con el icono del sol. La siguiente imagen permite hacernos una idea de la situación actual:

Barra y menú de Anaphraseus

Barra y menú de Anaphraseus

En la versión que he utilizado, la 1.23 beta, el menú y la barra aparecen nada más abrir OpenOffice Writer.

Al desplegar la barra de herramientas o el menú, podemos acceder a las funciones típicas de un programa de traducción asistida, como abrir o cerrar segmento, añadir términos, fusionar o separar segmentos, recuperar el segmento original. Quizás la más interesante en estos momentos sea la función Configure (Configuración), a la que podemos acceder mediante el atajo Alt + F9, y que vemos en la siguiente imagen:

Configuración

Configuración de Anaphraseus

En esta sección podemos establecer la memoria del proyecto, importar una memoria en formato TMX, reorganizarla, invertir los idiomas de origen y destino, establecer glosarios y muchas otras funciones que podéis explorar vosotros mismos (me imagino que en la versión 2.01 beta que encontraréis en la página web de Anaphraseus hay funciones añadidas, pero no he podido comprobarlo por los errores que he comentado anteriormente).

Para comenzar a traducir un texto, seleccionaremos el botón de la barra de herramientas o la función en el menú Anaphraseus, o bien podemos utilizar el atajo de teclado correspondiente, (en la versión de Anaphraseus que he utilizado, la 1.23, hace falta activar los atajos de teclado en el menú de Anaphraseus para poder utilizarlos), Alt + tecla abajo (imagen).

Una vez traducido el segmento, se guardará en la memoria, y si lo volvemos a abrir, veremos que se ha quedado con un color de fondo verde, lo que nos indica que existe un  100 %, o coincidencia total, en la memoria para ese segmento.

110% en la memoria

Coincidencia del 100% en la memoria

En caso de existir una correspondencia parcial en la memoria, se mostrará en color amarillo.

Coincidencia parcial

Coincidencia parcial en Anaphraseus

Ya podemos traducir textos en OpenOffice Writer utilizando una memoria de traducción en formato txt o tmx (Translation Memory eXchange). Al igual que en Trados o en Wordfast, al terminar la traducción habrá que limpiar el documento para eliminar el formato oculto que utiliza Anaphraseus para segmentar el texto. Tan sencillo como elegir la función Clean up (Limpiar). Como se aprecia en la imagen, no queda ni rastro de texto oculto.

Documento después de limpiarlo

Documento limpio

Una vez limpio el documento, estará listo para enviarlo al cliente, revisarlo, etc. Para coger soltura con Anaphraseus y otros programas, sólo os puedo recomendar que practiquéis y que juguéis con ellos, pues es la mejor de aprender, “destriparlos” y descubrir todas sus funciones y posibilidades (también sus defectos, como no). Así que nada, que espero que este tutorial os haya sido de utilidad y que me lleguen vuestros comentarios. 🙂