Si sueles trabajar con memoQ y colaboras con otros colegas intercambiando archivos bilingües, es posible que alguna vez hayas intentado actualizar tu proyecto importando un archivo bilingüe con cambios (de revisión, por ejemplo) procedentes de un compañero, solo para encontrarte con que memoQ no solo no consigue actualizar el archivo en tu proyecto, sino que trata de importarlo como un archivo nuevo. ¿Alguna vez te ha pasado? Pues en esta entrada de Melodía de traducción descubriremos la causa más frecuente de este error y veremos cómo resolverlo de una forma rápida y segura.
Archivos bilingües de memoQ: MQXLIFF y MQXLZ
En primer lugar, conviene aclarar qué entendemos por «archivos bilingües» cuando trabajamos con memoQ. Esta herramienta utiliza un formato de archivo propio, el MQXLIFF, que realmente es una adaptación del estándar XLIFF creada por Kilgray con el fin de ajustarlo al contenido «ideal» que ellos consideran que debe tener un archivo bilingüe. Aunque no los encontraremos a simple vista (como sí ocurre con los SDLXLIFF de SDL Trados Studio en el Explorador de archivos de Windows), podemos obtener versiones en MQXLIFF de los archivos traducibles de un proyecto de memoQ, ya sea como copia de seguridad o bien para intercambiarlos con otro colega que utilice memoQ u otra herramienta TAO compatible con este formato, como las versiones más recientes de SDL Trados Studio. Para este fin, basta con seleccionar los archivos que queramos exportar, hacer clic con el botón secundario del ratón y elegir la opción Exportar > Exportar archivos bilingües, tal como vemos en la siguiente captura de pantalla.
Se abrirá entonces la ventana Asistente para la exportación de archivos bilingües, donde veremos que ya hay tres casillas de verificación marcadas de forma predeterminada en la sección memoQ XLIFF, como se ve en la siguiente imagen. A continuación, veremos las diferencias entre activar y desactivar estas casillas.
Si no hacemos ningún cambio y seguimos con el asistente de exportación, obtendremos uno o varios archivos con extensión MQXLZ. No hay nada de qué preocuparse: un archivo MQXLZ, como bien se menciona en la tercera casilla, no es otra cosa que un tipo de archivo comprimido propio de memoQ (la pista la da la letra zeta en la extensión, pues viene de zipped, «comprimido» en inglés). De hecho, si le cambiamos la extensión de MQLZ a ZIP, podremos abrirlo con un extractor de archivos, como WinRAR o el clásico WinZip, y veremos que, junto a un archivo MQXLIFF como los ya mencionados, hay otro llamado skeleton.xml debido a que hemos dejado activada la primera casilla (Incluir estructura y vista previa).
La siguiente pregunta que os haréis será: «¿Qué es ese archivo». Por decirlo en pocas palabras, el archivo skeleton.xml contiene toda la información referente al formato del archivo de origen que importamos en el proyecto de memoQ. Gracias a ese archivo, memoQ puede recuperar dicha información para crear el archivo de destino en el mismo formato que el original. Por tanto, un usuario de memoQ, aunque no tenga el documento original, puede obtener el archivo de destino correspondiente (salvo, obviamente, que haya errores que impidan que memoQ lo cree). Conseguiremos el mismo resultado desmarcando la segunda y la tercera casilla, pero a cambio de que ya no tengamos un solo archivo por cada archivo de origen, sino dos (el MQXLIFF y el skeleton.xml correspondiente), lo que complica la gestión en proyectos formados por muchos archivos de origen.
El hecho de marcar la primera casilla puede suponer una ventaja si, por ejemplo, memoQ nos da error al intentar crear el archivo de destino y queremos hacer la prueba en otro ordenador o mandarle el archivo a otro usuario de memoQ con el fin de hallar la solución al problema. No obstante, es muy probable que las agencias de traducción u otros clientes que trabajen con memoQ nos manden un archivo MQXLIFF normal para evitar que seamos capaces de crear el archivo de destino, bien por razones de confidencialidad con su cliente o por otras causas. Este MQXLIFF se consigue desmarcando las tres casillas o simplemente haciendo clic en el botón [XLIFF sin formato para otras herramientas], memoQ creará un archivo MQXLIFF que podremos importar en otro ordenador o en una herramienta TAO compatible, pero nos será imposible crear el archivo de destino en el mismo formato de archivo que el original.
¿Archivo nuevo? ¡Si es una actualización!
Los problemas con los archivos MQXLIFF y MQXLZ tienen lugar cuando se intercambian con otros usuarios de memoQ. Como vemos en la siguiente captura de pantalla, memoQ, en vez de trabajar con nombres de archivos, les asigna un código alfanumérico o ID que los identifica forma unívoca, el cual aparece tras el atributo mq:id. Sin embargo, si otro usuario lo importa en su propio proyecto de memoQ o de otra herramienta TAO, en ocasiones dicho código cambia, lo que ocasiona que, al exportarlo y tratar de importarlo en el proyecto original, memoQ no lo reconozca.
Como vemos resaltado en amarillo en la siguiente captura de pantalla, memoQ, como fruto de esta confusión, detectará el archivo como nuevo en vez de como una actualización a la hora de importarlo en el proyecto.
Llegados a este punto, el proceso más lógico para enmendar este problema consiste en restaurar la ID antigua en el archivo MQXLIFF actualizado con el objetivo de que memoQ lo detecte como lo que realmente es, una actualización, en vez de como un archivo nuevo. Hay diferentes formas de hacerlo, pero os dejo con los pasos que sigo habitualmente con la ayuda de Beyond Compare, un programa que permite comparar versiones de archivos y fusionarlas en una sola y sincronizar carpetas, entre otras funciones.
- El primer paso consiste en crear una copia de seguridad del MQXLIFF actualizado (es decir, el que hemos recibido de otro profesional), por si acaso nos equivocamos durante el proceso.
-
Suponiendo que ya tenemos Beyond Compare instalado, seleccionamos el archivo MQXLIFF antiguo, hacemos clic con el botón secundario y buscamos la opción Select Left File for Compare (Seleccionar archivo a la izquierda para comparación), la cual identificamos fácilmente gracias al icono de una flecha de color rojo.
Si el proyecto consta de varios archivos o de varias carpetas, podemos ir más rápido haciendo clic con el botón secundario sobre la carpeta raíz en la opción Select Left Folder for Compare (Seleccionar carpeta a la izquierda para comparación).
- Repetimos la acción con el MQXLIFF que vamos a modificar, salvo que ahora veremos la opción Compare to «[nombre de archivo/carpeta]» para que sepamos que ya hemos elegido un elemento para comparar anteriormente.
-
Según hayamos elegido comparar archivos o carpetas, se abrirán diferentes ventanas. En el caso de la siguiente captura, hemos comparado carpetas, por lo que nos aparecen la lista de archivos. Para comparar archivos con el mismo nombre, simplemente hay que hacer doble clic en uno de ellos y ya podremos acceder a la ventana en que se compara cada pareja de archivos.
- De forma predeterminada, Beyond Compare muestra todo el contenido de los archivos comparados pero, dado que a nosotros solamente nos interesa buscar la fila que tiene una ID diferente, pulsaremos el botón Diffs (Diferencias), resaltado en rojo en la captura de pantalla que figura debajo. La fila que buscamos está al principio del archivo, y podemos identificarla fácilmente por la etiqueta .
6.Según aparece resaltado en la captura anterior, tan solo tenemos que hacer clic sobre la fila de la izquierda (es decir, del archivo MQXLIFF que creamos nosotros), después hacer clic con el botón secundario y pulsar en la opción Copy to Right (Copiar al archivo de la derecha) y guardar el archivo situado en la parte derecha (el actualizado que queremos importar en memoQ) pulsando Ctrl + S o haciendo clic sobre el icono del disquete situado en la parte superior derecha.
7. Ahora solo queda comprobar si este cambio ha dado sus frutos importando el archivo recién corregido en memoQ. Como vemos en la siguiente captura, ahora memoQ sí lo detecta como una actualización. Si todavía fallara el proceso, se puede reintentar abriendo nuestro proyecto, exportando como MQXLIFF de nuevo el archivo que da problemas y repitiendo los pasos anteriores.
En el raro caso de que todo lo anterior fallara, siempre podemos importar el archivo como nuevo, seleccionarlo y enviar todos sus segmentos con el atajo de teclado Ctrl + Shift + U a una memoria vacía vinculada al proyecto como memoria maestra. Después usaremos dicha memoria para pretraducir el archivo que ya teníamos en nuestro proyecto, solventar los errores que pueda haber y exportarlo para obtener el archivo de destino en el mismo formato que el original.
Como habréis visto, una vez la hayamos puesto en práctica varias veces, la solución a este problema es relativamente sencilla y rápida, por lo que no hay que asustarse si memoQ no reconoce el archivo como una actualización en un primer momento. Sin embargo, en otras ocasiones puede que la solución no sea tan fácil. ¿Alguna vez habéis tenido un problema similar que os ha sacado de vuestras casillas y que no habéis sabido resolver? ¡Animaos y contad vuestra experiencia con un comentario!
Rafael López Sánchez dice
¡Qué bueno ver una nueva entrada en el blog y encima sobre memoQ! Gracias, José Manuel. Es utilísima. 🙂
José Manuel dice
¡Gracias, Rafa! Me alegro de que te guste. Uno de mis propósitos de este año es publicar con más frecuencia. Espero poder cumplirlo. 🙂
Rafael López Sánchez dice
¡Genial! Pues me pasaré de vez en cuando para ver si cumples o no. 😛