¡Hola a todos!

Varios de vosotros me habéis preguntado desde la última vez que actualicé el blog si lo había abandonado, a lo que yo respondía algo como: «tengo varias entradas en mente, pero me falta un hueco para escribirlas». Si bien es cierto que, pensándolo bien, ha pasado demasiado tiempo desde mi última entrada, en mi fuero interno estaba completamente convencido de que algún día volvería a él. Y aquí me tenéis.

Mucho ha cambiado desde entonces, en especial en el campo profesional, donde esa parte friki de mí mismo amante de trastear con todo lo relacionado con la informática aplicada a la traducción se ha ido abriendo paso poco a poco. Este progreso ha supuesto que, más que traducir (aunque sin dejarlo de lado), en estos momentos dedique gran parte de mi jornada laboral trabajando para varios clientes sumergido en la parte técnica de la traducción. Entre otras muchas tareas, me encargo de la gestión y actualización de memorias de traducción, de la creación de proyectos y de filtros para la traducción de diferentes tipos de archivos en diversas herramientas TAO, de la comprobación de archivos finales y del testing, en especial de cursos web.

Asimismo, dado que mis principales clientes trabajan con memoQ, esta herramienta TAO se ha convertido en la compañera infatigable de mi trabajo cotidiano. A fuerza de lidiar con ella día sí y día también, he ido aprendiendo varios secretos —o trucos, si los queréis llamar así— que he ido guardando en la cabeza (y, de vez en cuando, apuntando en papeles sueltos que luego extravío) a medida que los descubría, con la esperanza de que, cuando tuviera tiempo, pudiese compartirlos en este blog.

Estos días, aprovechando que he tenido un poco de tiempo, he pensado que ya iba siendo hora de escribir esta primera entrada sobre memoQ. Antes de ir al meollo del asunto, explicaré brevemente, por si alguien no lo conoce, qué es memoQ y, además, os dejaré un minitruco para ocultar el número de licencia en dicho programa —enseguida sabréis los motivos por los cuales podríamos recurrir a ello—.

Sobre memoQ

memoQ es una herramienta TAO desarrollada por la empresa húngara Kilgray que, de forma similar a Cafetran Espresso 2014, SDL Trados Studio, Wordfast Pro, Déjà Vu X y otras alternativas menos conocidas, integra en una misma ventana los documentos que se van a traducir divididos en segmentos, las correspondencias de una memoria de traducción y las entradas de una base de datos terminológica, en su caso. Se estructura en torno al formato MEMOQXLIFF (una variante del estándar XLIFF con propiedades añadidas por Kilgray), al cual convierte de forma interna los archivos traducibles, sea cual sea el formato de origen.

La última versión, la 2014 R2, se caracteriza, entre otras novedades, por el cambio de su interfaz clásica por otra que clasifica las funciones del problema mediante la cinta de opciones, que vimos por primera vez en Microsoft Office 2007, lo que ha suscitado críticas tanto positivas como negativas entre los usuarios de memoQ. En su página web podréis ver con mayor detalle todo lo que puede ofrecer.

Cómo ocultar el número de la licencia

Al abrir memoQ, en la esquina superior derecha se puede ver el número de licencia del usuario. Si, al igual que yo, vais a enseñar vídeos o capturas de pantalla desde vuestro ordenador, o bien hay personas que pueden acceder a vuestro ordenador; y si queréis que ningún gorrón listillo pueda copiarlo y usarlo en su copia de memoQ (cada licencia permite usar el programa en dos ordenadores), seguid estos pasos, que en su día hallé en la sección de asistencia de Kilgray:

  • Si no lo está ya, cerrar memoQ.
  • Abrir el archivo AppPreferences.xml situado en C:\ProgramData\memoQ con un editor de textos, como el Bloc de Notas o Notepad ++.
  • Cambiar el valor de la cadena HideSerial (o, en su caso, crearla) de false a true y guardar el archivo.

En esta captura podéis ver que el número de licencia ha desaparecido de la ventana principal de memoQ.

Licencia oculta en memoQ

Datos del usuario de memoQ con el número de licencia oculto

Volvamos a lo que nos ocupa: la pseudotraducción

¿Qué es la pseudotraducción y para qué se utiliza?

La pseudotraducción (llamada roundtrip en inglés), de la que ya habló Pablo Muñoz en Algo más que traducir, consiste en aplicar a los documentos traducibles una serie de pruebas (normalmente, varias búsquedas y sustituciones en los archivos) previas a la traducción propiamente dicha mediante las cuales se simula la traducción de dichos archivos con distintos objetivos, entre los que figuran los siguientes:

  • Asegurarse de que la exportación del archivo traducido al formato original se producirá sin problemas. Hay varios factores que pueden impedir que se produzca correctamente: que el archivo original esté dañado, que durante la traducción se altere el archivo original de tal forma que imposibilita la exportación, la existencia de un formato complejo que provoque errores y otros problemas de diversa índole. Es conveniente llevar a cabo la pseudotraducción por si se diera cualquier error que no permitiera la correcta exportación del archivo traducido, con el fin de poder identificarlo, anticiparnos a los problemas y buscarles una solución y, si conviene, avisar al cliente de dichos problemas.
  • Si la exportación termina sin problemas, abrir los archivos traducidos con el fin de comprobar la integridad del texto. Puede haber incompatibilidades de la fuente usada en el original con los caracteres no latinos o la escritura de derecha a izquierda, cambios en la codificación de los archivos traducidos y otras cuestiones que a veces no se pueden detectar hasta la exportación de dichos archivos. De nuevo, es oportuno recurrir a la pseudotraducción para poder tomar las decisiones oportunas al respecto.
  • Ver si hay texto traducible sin traducir o texto no traducible sin bloquear y comprobar que los filtros de importación de archivos tanto predeterminados como personalizados (a los que volveré en futuras entradas) se han aplicado del modo en que se pretendía que funcionaran. Puede haber, por ejemplo, texto traducible oculto o etiquetas personalizadas del cliente que deben quedar bloqueadas pero que han quedado como texto plano, lo que no se puede detectar hasta abrir los archivos exportados.
  • En localización de software, de aplicaciones para dispositivos móviles y de videojuegos, entre otros, dilucidar si, a pesar de la expansión del texto (el aumento en el número de caracteres), la traducción es legible. Dicho de otro modo, el objetivo real es —como bien explica Pablo Muñoz— comprobar si los desarrolladores han llevado a cabo una correcta internacionalización del producto (es decir, lo han preparado para su localización teniendo en cuenta las peculiaridades de cada idioma).

Teniendo en cuenta estos motivos, se puede llegar a la conclusión de que añadir un paso de pseudotraducción previo a la traducción en sí resulta muy recomendable, en especial en archivos como XML personalizados, documentos con formato complejo o con archivos incrustados, etc.

La pseudotraducción en memoQ

El primer paso consiste en abrir memoQ y crear el proyecto con la combinación de idiomas, memorias de traducción y demás configuraciones que correspondan, sin olvidar —claro está— importar los archivos que se van a traducir usando los filtros correspondientes.

En este punto del proceso, si se intenta exportar los archivos, memoQ avisará de que no puede hacerlo por haber errores de etiquetas y segmentos vacíos en el idioma de destino. Este aviso se debe a que, de forma predeterminada, los segmentos de destino están vacíos, sin etiquetas ni texto normal (salvo que hayamos pretraducido el archivo original por algún motivo o que esté presegmentado, como puede ser con archivos XLIFF o TTX, por poner dos ejemplos).

Con el propósito de evitar que aparezca este mensaje, hay que copiar los segmentos de origen en los de destino, para después poder aplicar la pseudotraducción. Para tal fin, en la cinta de opciones, vamos a la pestaña Preparación y, en el grupo Traducciones, hacemos clic en la opción Copiar origen al destino si éste está vacío, como se ve en la captura de pantalla. Elegimos si queremos que se copien los segmentos en todo el proyecto (lo más recomendable) o en un archivo o conjunto de archivos.

Copiar origen al destino

Copiar segmentos de origen en los de destino en memoQ

En segundo lugar, procedemos a la pseudotraducción propiamente dicha, que se trata de un conjunto de operaciones de buscar y reemplazar en los segmentos de destino de los archivos pertinentes. memoQ cuenta con una gran ayuda para realizar este paso: el complemento de memoQ de pseudotraducción, que se encarga de realizar dichas operaciones por nosotros. Sin embargo, está desactivado de forma predeterminada, por lo que tendremos que activarlo antes.

Se puede poner en marcha dicho complemento pulsando el botón Opciones situado en la esquina superior izquierda (el icono son varias ruedas dentadas). A continuación, como se observa en la captura de pantalla que figura a continuación, en el apartado Categorías vamos a Traducción automática, buscamos el complemento y marcamos las casillas Habilitar complemento y Preferido (esta última no es obligatoria, pero sí recomendable).

Complemento de pseudotraducción de memoQ

Vista del complemento de pseudotraducción de memoQ una vez activado

El tercer paso, una vez activado el complemento, se basa en la pretraducción de los archivos, proceso durante el cual el complemento llevará a cabo las búsquedas y reemplazos según esté configurado. En la misma pestaña Preparación se encuentra el botón Pretraducir.

Cuando se abra la siguiente ventana, hay que asegurarse de marcar la casilla Usar traducción automática y la opción Cualquier coincidencia para que memoQ use a lo largo del archivo o conjunto de archivos seleccionados el complemento que hemos activado con anterioridad. En la siguiente captura de pantalla se puede ver cómo queda la configuración.

Pretraducir y estadísticas en memoQ

Cuadro de diálogo Pretraducir y estadísticas

Llegados a este punto, memoQ puede que nos sorprenda con un mensaje de error, el cual se debe a que este complemento no funciona con todas las combinaciones de idiomas. Por ejemplo, no está disponible si uno de los idiomas es el español a secas, sin concretar la variante lingüística. No hay nada de qué preocuparse: lo único que cambia es que seremos nosotros quienes hagamos las búsquedas y reemplazos en los archivos. Con una serie de cinco o seis búsquedas tendría que ser suficiente para ver cómo afecta la pseudotraducción a los archivos de origen.

Al menú Buscar y reemplazar se llega con la combinación de teclas Ctrl + H. En esta ventana, lo más recomendable consiste en que, busquemos lo que busquemos, lo sustituyamos por caracteres propios de la lengua de destino, como pueden ser caracteres con acento, la eñe, la cedilla, hanzi de la escritura china, etc.; así como por caracteres especiales, como el símbolo del dólar, la almohadilla y tantos otros. Así mismo, si nuestro objetivo es comprobar si el aumento de caracteres puede impedir su legibilidad, tendremos que añadir varios caracteres en el cuadro Reemplazar por. De esta forma, nos cercioraremos de que la pseudotraducción será lo más parecida a la traducción real al idioma correspondiente, lo que permitirá identificar posibles problemas con mayor precisión.

Como se aprecia en la siguiente captura de pantalla, es importante marcar la opción Destino y pulsar el botón Reemplazar todos, así como elegir el ámbito de aplicación de la búsqueda que se prefiera.

Buscar y reemplezar en memoQ

Vista del cuadro de diálogo Buscar y reemplazar en memoQ

Una vez terminada la serie de búsquedas y reemplazos, pasamos a exportar los archivos, bien marcando los archivos, abriendo el menú con el botón secundario del ratón y haciendo clic en la opción Exportar (ver captura de pantalla), o bien pulsando el botón Exportar en la pestaña Documentos de la cinta de opciones. Después elegiremos la opción que mejor convenga entre Exportar (ruta almacenada) o Exportar (cuadro de diálogo). Si no hay problemas con la exportación, ya podemos abrir los archivos pseudotraducidos que ha creado memoQ para detectar posibles problemas.

Exportación de archivos tras la pseudotraducción

Exportación de archivos tras la pseudotraducción

Por último, y no menos importante, una vez hayamos comprobado que no hay ningún error, todavía queda un último paso por hacer, que consiste en borrar las pseudotraducciones de los segmentos de destino para que se pueda llevar a cabo la traducción real, lo que se consigue en la cinta de opciones, pestaña Preparación, grupo Traducciones, botón Borrar traducciones.

Borrar traducciones tras la pseudotraducción

No olvidéis borrar las traducciones tras la pseudotraducción

Aquí acaba el método que suelo emplear antes de empezar cualquier proyecto, pero ni mucho menos es el único válido (cada maestrillo tiene su librillo, dicen). También hay que tener en cuenta que, incluso habiendo recurrido a la pseudotraducción, cabe la posibilidad de que, una vez terminada la traducción, nos topemos con algún error misterioso que dificulte la exportación de los archivos. Mediante la pseudotraducción, sin embargo, casi siempre detectaremos los errores de «fábrica» en los originales, lo que permite prevenir en vez de tener que curar más adelante —por la ley de Murphy, cuanto más cerca del plazo de entrega nos hallemos— :).

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?