Tras una pausa demasiado larga, ya iba siendo hora de publicar la cuarta (y última) entrada dedicada a Okapi Framework. En el futuro es posible que redacte alguna entrada más sobre funciones o trucos concretos de las aplicaciones que conforman Okapi.

Aclarado este punto, a continuación llega la prometida entrada, en la que describiré las aplicaciones más interesantes de Okapi que, a mi juicio, son más interesantes (sin contar Rainbow, de la que ya hablé en entradas anteriores del blog): Olifant, CheckMate y los complementos de Okapi para OmegaT.

Olifant

A diferencia del resto de componentes de Okapi comentados en esta serie de entradas, Olifant no cuenta con una versión para JAVA, sino que tendremos que acudir al sitio web de la versión antigua de Okapi desarrollada usando NET Framework.

Gracias a esta aplicación, podemos abrir memorias de traducción en diferentes formatos (como TMX o TXT) y realizar cambios en sus atributos y otros datos vinculados a ellas. Asimismo, podemos exportar dichas memorias en varios formatos, lo que permite emplear Olifant como una herramienta de conversión de memorias de traducción con el fin de poder consultar una misma memoria en herramientas TAO que trabajen con formatos incompatibles entre sí.

Ventana principal de Olifant

Ventana principal de Olifant con una memoria en formato TMX abierta

En esta captura de pantalla vemos una memoria en formato TMX abierta en la ventana principal de Olifant, donde se encuentran los clásicos menús y botones de tantos programas conocidos junto a un espacio donde podemos modificar la UT (unidad de traducción o segmento) en el idioma de origen y en el destino. En la parte inferior, por último, figura la lista de segmentos que conforman la memoria, así como el número que las identifica. En ciertos casos, veremos códigos o etiquetas internos delimitados por corchetes que sirven para indicar que una palabra aparece en negrita, en cursiva, subrayada, etc.

Olifant cuenta con varias funciones de gran interés para un traductor, entre las que destaco las búsquedas mediante varios filtros y expresiones regulares, la identificación de unidades de traducción duplicadas, fusionar varias memorias en una sola, exportar únicamente determinados segmentos de una memoria, etc. Como no quiero explayarme demasiado, a continuación os dejo una captura de pantalla en la que se ven las propiedades de esta memoria de traducción.

Propiedades de la MT en Olifant

Vista de la ventana Propiedades de la memoria en Olifant

En este apartado, al que que se accede desde el menú File > TM Properties… (Archivo > Propiedades de la MT), podemos cambiar las propiedades de una memoria, que a veces causan problemas, en especial a la hora de intentar abrirla en otras herramientas TAO. En la pestaña General podemos cambiar datos como la fecha de creación y modificación, la codificación y el creador de la memoria. En la segunda pestaña, Languages (Idiomas) podemos añadir o eliminar idiomas de origen y de destino. Por ejemplo, puede que queramos importar una memoria creada con idioma de destino español (ES) en otra con idioma español de España (ES-ES) y que tengamos dificultades para conseguirlo. Mediante esta función de Olifant, podremos solucionar dicho inconveniente. Asimismo, en Attributes (Atributos) es posible eliminar o modificar ciertos atributos (aunque no todos, por desgracia).

CheckMate

CheckMate es una aplicación de Okapi que sirve para llevar a cabo controles de calidad en formatos de archivos bilingües empleados en traducción como TTX, PO o XLIFF, por citar unos pocos ejemplos. En pocas palabras, es el sistema de control de calidad que viene incluido en Rainbow (como vimos en la entrada anterior) pero en una aplicación independiente, una cuestión que a algunos les será un tanto incómodo y, a otros, de mayor utilidad. Esta aplicación funciona mediante sesiones a las que podemos añadir o eliminar archivos y que podemos guardar para seguir con la comprobación de errores en otro momento.

Control de calidad en CheckMate

Vista del Control de calidad de CheckMate

Esta captura de pantalla muestra la ventana principal de CheckMate tras haber abierto un documento (PO, en este caso) y realizado el control de calidad pulsando el botón Check All (Comprobar todo). Si hacemos clic con el botón secundario del ratón en el error que queremos corregir y pulsamos la opción Open Document (Abrir documento), se abrirá el archivo de forma automática, lo que acelera el proceso de corrección. Además, gracias a CheckMate podemos crear un informe de los errores encontrados y guardarlo en nuestro ordenador.

Entre los errores que CheckMate es capaz de detectar se encuentran la presencia de caracteres dañados, palabras repetidas, la ausencia de traducción en el segmento del idioma de destino, diferencias entre etiquetas, etc. En caso de que la aplicación detecte algún falso positivo, podemos desactivar el aviso para que no muestre ese mismo error en el futuro. Asimismo, se integra con la herramienta de corrección ortográfica y de estilo de código abierto LanguageTool, que funciona con más de 20 idiomas. Esta última función se activa en el menú Issues > Edit Configuration > LangaugeTool (Varios > Cambiar configuración > LanguageTool).

Filtros para OmegaT

Los filtros para OmegaT permiten usar varios formatos de archivo, tales como TTX o IDML, en dicha herramienta. Estos tipos de archivos suelen resistirse a los programas TAO gratuitos, pero estos filtros nos permiten traducirlos en OmegaT sin demasiados problemas. Como muestra, os dejo una captura de un archivo TTX, propio de TagEditor, en OmegaT.

Documento TTX en OmegaT

Vista de un documento TTX abierto en OmegaT

Si queremos instalar estos filtros, basta con descomprimir el archivo descargado y copiar los archivos JAR obtenidos a la carpeta plugins, que se encuentra a su vez dentro de la carpeta donde hayamos instalado OmegaT.

Como se indica en la página web, en el caso de los archivos TTX, el filtro espera que Rainbow haya segmentado previamente los archivos, por lo cual, si el archivo está segmentado en parte, OmegaT solamente reconocerá el texto segmentado y no se podrá traducir el resto. La solución que recomiendan en la misma página consiste en recurrir a Rainbow para crear un proyecto para OmegaT (como vimos en la primera entrada dedicada a Okapi) en el que se indique al filtro TTX que extraiga también el texto no segmentado.

Y para terminar…

Ya llegamos al final de estas cuatro entradas dedicadas a Okapi Framework. Aunque no he comentado todas las aplicaciones ni funciones disponibles, espero que os hayáis hecho una idea de la gran utilidad que puede tener este conjunto de aplicaciones si alguna vez os veis en apuros mientras traducís. Nunca se sabe, y hay que estar bien preparado. 🙂

Como siempre, espero que os haya gustado la entrada y que dejéis vuestras impresiones, trucos o ideas para nuevas entradas de Melodía de traducción. ¡No seáis tímidos! 🙂

En la anterior entrada de Melodía de traducción repasamos varias funciones interesantes de Rainbow, una de las aplicaciones que componen Okapi Framework. En concreto, analizamos la comparación de traducciones y la opción Buscar y remplazar.

Con esta entrada, que irá dedicada a la función de Control de calidad de Rainbow, daremos por concluido el repaso a esta aplicación, aunque no será el caso con el conjunto de entradas sobre Okapi Framework.

Control de calidad

En nuestra profesión, de nada sirve ser muy buenos y productivos traduciendo si no realizamos el último paso —que no por ello es el menos importante— adecuadamente, ya que puede ocasionar que haya errores de bulto en la traducción que entreguemos al cliente, lo que puede suponer, como mínimo, que nuestra imagen profesional quede dañada gravemente o que, incluso, lleguemos a perder dicho cliente. No se trata solamente de llevar a cabo controles de calidad básicos, como pasar el corrector ortográfico (que nos advierte de los errores que se identifican con mayor facilidad al ojear un texto), sino de asegurarnos, asimismo, de que hemos cumplido las instrucciones concretas del cliente.

Como no todos los documentos son iguales ni todos los clientes tienen las mismas exigencias, resulta de agradecer contar con una herramienta de control de calidad lo suficientemente amplia como para poder hacer frente a cualquier circunstancia con que nos encontremos. Llegados a este punto, el control de calidad de Rainbow es una opción sólida, tal y como veremos a continuación.

Para poder acceder a dicha función, tendremos que acudir al menú Utilities > Quality Check… (Utilidades > Control de calidad). La siguiente captura de pantalla muestra la ventana principal del Control de Calidad de Rainbow.

Control de calidad de Rainbow

Captura de pantalla de la ventana del control de calidad de Rainbow

Como se puede observar, la ventana consta de una serie de pestañas que analizaremos con mayor detalle más adelante y en las que podemos configurar el control de calidad para que, entre otras opciones, nos avise de si un segmento traducido excede un determinado número de caracteres o de si su longitud es superior en porcentaje a la del segmento original. Estas posibilidades son muy útiles en casos de proyectos con restricción de caracteres, como son la traducción audiovisual, de videojuegos o de software.

A continuación, analizaremos solamente las pestañas más interesantes en el día de un traductor, lo que no impide que en algún momento necesitemos echar mano de las pestañas restantes según las características de un proyecto en concreto.

General

En la pestaña que figura en primer plano según abrimos esta ventana, General, podemos elegir si queremos que el control de calidad muestre segmentos sin traducir o vacíos, palabras repetidas. En este apartado podemos añadir excepciones en caso necesario, como ocurre con ciertas palabras que se repiten al traducir al francés. Asimismo, en esta sección se puede comprobar si hay espacios en blanco que sobren o si hay segmentos cuyo texto original y cuya traducción sean idénticos, por poner varios ejemplos. Todas estas opciones las podemos encontrar en otros programas de control de calidad.

Longitud

En la siguiente captura de pantalla se muestra la pestaña Length (Longitud) del control de calidad de Rainbow. Como se ha mencionado unos párrafos más atrás, esta sección es de especial utilidad en subtitulado o en proyectos de localización (de software especialmente). Supongamos que estamos localizando una aplicación para móviles inteligentes, tan de moda de un tiempo a esta parte. Dadas las reducidas dimensiones de pantalla de estos teléfonos, no podemos traducir el texto alegremente, ya que es evidente que el programador debe establecer un límite de caracteres que aparezcan en pantalla, aunque siempre calculando un número de caracteres superior al del texto original, dado que hay idiomas que se escriben en más caracteres que en otros. Lo mismo ocurre a la hora de traducir subtítulos, pues se debe ajustar el número máximo de caracteres posibles en función del tiempo que dura la intervención del personaje o que aparece en pantalla algún otro elemento que se deba traducir.

Control de calidad: longitud

Captura de pantalla de la pestaña Length del control de calidad de Rainbow

Volviendo a Rainbow, podemos indicar al programa que nos avise si un segmento excede un número determinado de caracteres o si la longitud de la traducción es superior o inferior en caracteres a un porcentaje concreto. Por poner un ejemplo, si el cliente nos indica que la traducción no debe superar los 50 caracteres y no debe ser más de un 25% más larga que el original, podremos comprobar rápidamente si hemos cumplido dichos requisitos y, en su caso, cambiar los segmentos que no los reúnan.

Patrones

En la pestaña Patterns (Patrones) de Rainbow podemos elegir si queremos comprobar que determinados patrones, bien los que aparecen por defecto o los que queramos añadir según las características del proyecto, han sido traducidos de la forma deseada. Si prestamos atención a la captura de pantalla que figura a continuación, observaremos que Rainbow incluye siete patrones predeterminados. En la primera columna, Options (Opciones), indicamos si el patrón aparece en el texto de origen o destino (Src o Trg, respectivamente), así como la prioridad que damos a este patrón (de menor a mayor, LOW, MEDIUM y HIGH). En la segunda y tercera columna se encuentra el patrón de texto que queremos comprobar en el texto de origen o de destino, respectivamente. Por último, en la cuarta columna se aporta una descripción para identificar el patrón correspondiente.

Control de calidad: patrones

Captura de pantalla de la pestaña Patterns del control de calidad de Rainbow

Los patrones cuya traducción comprobará Rainbow por defecto son, de arriba abajo, los paréntesis, los caracteres de separación, las direcciones de correo electrónico, las URL, las direcciones IP, los códigos printf y una letra repetida tres veces.

Para que la búsqueda de patrones funcione correctamente, resulta imprescindible conocer y saber utilizar los caracteres comodín, que son los caracteres mediante los cuales representamos cualquier otro carácter o cadena de caracteres. Por ejemplo, si miramos el primer patrón, [\(\)], descubriremos que los corchetes se utilizan para delimitar el propio patrón, mientras que la barra invertida (\) se utiliza para representar cualquier cadena de texto. Por decirlo de otro modo, estamos indicando al programa que busque que cualquier texto seguido de cualquier texto entre paréntesis se haya traducido de igual forma, es decir, por cualquier texto seguido de cualquier texto entre paréntesis. En los demás patrones figuran caracteres comodín para sustituir a cifras, letras u otros caracteres.

Podemos utilizar esta característica del control de calidad para añadir nuestros patrones personalizados. Por ejemplo, podemos añadir un patrón para comprobar que la coma de los millares y el punto de los decimales en las cifras en inglés ha sido adaptada al español como corresponde o como nos ha indicado el cliente, en su caso. Si queremos que Rainbow compruebe que la coma de los millares ha sido transformada en punto en español, escribiremos los siguientes patrones en las columnas de origen y destino, respectivamente: ([0-9])(,)([0-9][0-9][0-9]) y \1.\3. El código [0-9] representa una cifra cualquiera, mientras que \n indica que queremos sustituir por uno de los elementos que hemos buscado, donde n es el número del elemento delimitado por paréntesis contando desde la izquierda. De esta forma, podemos matar dos pájaros de un tiro sustituyendo las dos comas presentes en los millones en inglés por los dos puntos correspondientes escribiendo en la columna de origen ([0-9])(,)([0-9][0-9][0-9])(,)([0-9][0-9][0-9]) y en la columna de destino, \1.\3.\5. Podemos repetir el proceso para los casos en que aparece un punto para los decimales en vez de coma.

En la captura de pantalla que figura a continuación podemos observar estos dos nuevos patrones añadidos al final de la lista de patrones predeterminados. Más adelante veremos un caso práctico de control de calidad donde demostraremos que dicho patrones funcionan. No obstante, si queréis aprender más sobre los caracteres comodín (especialmente en Microsoft Word), os recomiendo leer la entrada de La traducción in vitro que trata este tema.

Nuevos patrones en el control de calidad

Imagen de los nuevos patrones añadidos al control de calidad de Rainbow

Términos

En la penúltima pestaña, Terms (Términos), podemos añadir un glosario con el fin de asegurarnos de que hemos traducido la terminología siguiendo las instrucciones del cliente. Bien si nos han facilitado un glosario, o bien si lo hemos creado nosotros desde cero para mantener la coherencia en la traducción de términos, es una parte del control de calidad que tendremos que tener muy en cuenta. De lo contrario, un pequeño traspiés podría suponer la pérdida de ese cliente.

Control de calidad: terminología

Captura de pantalla de la pestaña Terms del control de calidad de Rainbow

En la captura de pantalla anterior podemos observar que Rainbow nos permite añadir un glosario en formato TBX, CSV o en un TXT delimitado por tabulaciones, lo que cubre desde el glosario más básico hasta bases de datos terminológicas  más avanzadas (como las exportaciones de bases de datos creadas con Multiterm, por ejemplo). Asimismo, podemos marcar dos casillas para indicar si queremos comprobar los términos mediante el emparejamiento de cadenas de texto y si queremos marcar que los términos que se deben buscar aparecen entre códigos internos, respectivamente.

Cabe destacar, por último, el mensaje que figura en mayúsculas, que nos advierte de que esta función es experimental y de que se encuentra en desarrollo. Por lo tanto, podría no funcionar adecuadamente o que los resultados no fueran exactos al cien por cien. Sin embargo, es de esperar que los programadores vayan mejorando esta función en futuras versiones de Okapi Framework.

El control de calidad en funcionamiento

Después de todo lo escrito, seguramente querréis ver una prueba de que el control de calidad funciona. Para ello, es necesario añadir como mínimo un archivo bilingüe a la lista de archivos mediante la combinación de teclas Ctrl + Insert. En mi caso, me he decantado por un archivo .PO en el que he dejado varios errores a propósito. Cuando hemos marcado las opciones que mejor se ajusten a nuestro documento, pulsamos el botón Execute (Ejecutar) y, si hemos dejado la opción por defecto, se nos abrirá nuestro navegador predeterminado con el informe en HTML (si no se detecta ningún error, el informe estará en blanco). En mi caso, el informe obtenido es el que se muestra en la siguiente captura de pantalla:

Informe de control de calidad

Imagen de un informe de control de calidad de Rainbow

Como se puede observar, Rainbow ha detectado cinco errores, que aparecen marcados en amarillo en el original. Los tres primeros están relacionados con las cifras: no se han adaptado adecuadamente las comas de los millones y millares del inglés por el punto en español y, siguiendo el patrón personalizado que añadimos antes, Rainbow lo ha señalado en el informe. Los otros dos errores restantes también están relacionados con patrones, y muestran que en la traducción no figuran correctamente una dirección de correo electrónico y una URL, respectivamente.

Por desgracia, el detector de errores en terminología no ha funcionado (como reza la advertencia en la pestaña Terms) y no ha sido capaz de mostrar las dos incoherencias relacionadas con la terminología proporcionada que había introducido a propósito ni en la versión para sistemas de 64 bits ni en la de 32. Seguiré investigando para conseguir que todo funcione adecuadamente y, si así lo hago, actualizaré la entrada. No obstante, si alguien tiene la clave para lograr que este apartado funcione a la perfección, que no dude en comentarlo :).

Resumen

Como ya sabréis, el control de calidad es uno de los procesos que todo traductor debe seguir en su labor diaria antes de entregar un proyecto al cliente. Conviene conocer la existencia de opciones gratuitas como la función que incorpora Rainbow, la cual, sin ser perfecta (como hemos visto anteriormente), es perfectamente válida para determinados proyectos.

Con esta entrada doy por concluida la serie de entradas dedicadas a Rainbow, aunque próximamente publicaré la cuarta y última entrega sobre Okapi Framework, donde veremos otras aplicaciones que forman parte de este conjunto.

Como siempre, se aceptan críticas, dudas o sugerencias, así que no seáis tímidos J