Localización


La anterior entrada de Melodía de traducción servía de introducción a los filtros de archivos, los cuales son empleados por las herramientas TAO para extraer el contenido traducible en archivos de diferentes extensiones. En esta segunda parte veremos cómo crear nuevos filtros de archivos para traducir archivos de extensiones no habituales en dos de las TAO más utilizados, memoQ y SDL Trados Studio.

memoQ

Si trabajamos con memoQ, podemos acceder a los filtros pulsando en el botón Consola de recursos situado en la esquina superior izquierda de la ventana principal de memoQ. Después iremos a Configuraciones de filtro y haremos clic en Crear nuevo filtro en cadena. Elegiremos esta opción en este caso porque primero se importa el archivo como delimitado por expresiones regulares y luego se añaden las variables.

Creación de un nuevo filtro de archivo en cadena en memoQ

En la siguiente ventana tenemos la ventana de creación de nueva configuración de filtro en cadena, donde elegiremos los diferentes filtros siguiendo el orden en que se aplicarán.

Elección de los filtros encadenados

Ahora podremos «toquetear» el nuevo filtro si lo seleccionamos en la lista y hacemos clic en Editar, como en la siguiente captura.

Edición de un nuevo filtro de archivo

En esta ventana podemos configurar cada uno de los filtros que forman en filtro en cadena. El primer filtro que modificaremos será el filtro de texto regex (dicho de otro modo, texto traducible delimitado por expresiones regulares), y para ello podemos cargar el archivo de origen como referencia. Ahora toca añadir los patrones de apertura y de cierre, para lo que iremos a la tercera pestaña, Incluir/excluir.

Configuración de los filtros

En dicha pestaña tendremos que elegir Las reglas definen el contenido a importar. Así indicamos a memoQ que solo queremos importar el contenido que escribamos en el campo Regla (en este caso, .* equivale grosso modo a cualquier conjunto de cero o más caracteres, salvo el salto de línea) y que se encuentra entre el patrón de apertura y de cierre.

Patrones de delimitación del texto traducible

La pestaña Vista previa muestra en color verde el contenido que memoQ importaría si usáramos el filtro tal como está configurado en ese momento. Tan solo queda editar el segundo filtro, Regex Tagger, para añadir las variables que hemos mencionado anteriormente.

Vista previa

Aquí añadiremos las variables una a una (se aplicarán en orden descendente) y marcaremos la casilla Obligatorio, ya que son etiquetas que no deben desaparecer del archivo traducido.

Lista de variables

Si creamos un proyecto e importamos el archivo de origen de extensión JM4 con este filtro, enseguida veremos el resultado. Ya solamente nos queda traducir el archivo siguiendo nuestro proceso habitual. Además, desde la propia consola de recursos podemos exportar este nuevo filtro (con la extensión MQRES) para usarlo en otro ordenador o mandárselo a otro usuario que a su vez importe el archivo de configuración de vuelta en su versión de memoQ.

Archivo listo para traducción tras aplicar el nuevo filtro

Studio

Como lo prometido es deuda, ahora vamos a ver cómo crear este filtro en SDL Trados Studio. La versión 2017, que es la más reciente, incorpora una nueva función de vista previa muy cómoda que permite comprobar si el filtro que estamos creando se ajusta a nuestras expectativas según los cambios que vayamos añadiendo al filtro. Para empezar con el nuevo filtro, tenemos que ir al botón Archivo (situado en la esquina superior izquierda) > Opciones > Tipos de archivo > Nuevo, como vemos en la siguiente imagen. También es posible llegar a esta misma ventana cambiando la configuración de proyecto, pero de esta forma nos aseguramos de que el filtro estará disponible para cualquier futuro proyecto.

Tipos de archivo en Studio

De entre las posibles opciones, elegiremos Texto delimitado por expresiones regulares.

Tipos de nuevos filtros

En la siguiente ventana, tenemos que cambiar el nombre del tipo de archivo y la expresión de comodín por la extensión de archivo correspondiente (en este caso, JM4). De este modo, Studio utilizará este filtro de forma automática cada vez que importemos un archivo con extensión .JM4. Puede haber varios filtros para la misma extensión de archivo, pero Studio empleará en ese caso el primer filtro con la casilla de verificación marcada en orden descendente (es decir, el filtro que esté más arriba en la lista de tipos de archivo).

Propiedades del nuevo filtro

Una vez creado el filtro, lo veremos en la lista situada en la sección izquierda de la ventana. Si pulsamos la flecha situada al lado del nombre, se desplegarán las diferentes opciones que tendremos que ir cambiando.

El nuevo filtro en la lista de tipos de archivos

En la primera sección, Estructura del documento, borraremos el patrón que viene de forma predeterminada y añadiremos el apropiado, tal y como haríamos en memoQ. La siguiente captura muestra el resultado.

Patrones de delimitación del texto traducible

Si cargamos el archivo JM4 de origen en la vista previa, nos daremos cuenta de que vamos por el bueno camino, aunque todavía quedan por añadir las variables. Para ello, iremos a la sección Patrones de línea y añadiremos las mismas expresiones regulares que escribimos al final de la anterior entrada. Según las características del archivo de origen, puede que sea necesario cambiar algunas opciones, aunque en este ejemplo las dejaremos tal cual aparecen de forma predeterminada. Tras añadir las variables, un nuevo vistazo a la vista previa del archivo nos dirá que el filtro cumple su función (es decir, recoge todo el texto traducible y bloquea las variables y otras etiquetas). Tan solo queda guardar los cambios y ya tendremos a nuestra disposición este nuevo filtro para usarlo en futuros proyectos.

Vista previa

Por último, si queremos exportar este nuevo filtro, solo tendremos que ir a la lista de tipos de archivo, marcar el que corresponda y pulsar el botón Exportar configuración. De esta forma, obtendremos un archivo con la extensión sdlftsettings. Si queremos importar este filtro en otro ordenador, iremos a esta misma lista, haremos clic en el botón Importar configuración y escogeremos el botón Importar configuración.

Importación y exportación de filtros de archivos

Si habéis llegado al final de la entrada y no habéis huido despavoridos, me imagino que será porque tenéis interés en crear filtros de archivos. Como tantas otras cosas en esta vida, hay que crear varios filtros y usar las expresiones regulares a base de prueba y error pero, una vez le hayáis cogido el truco, os servirá para vuestros propios proyectos y también para ofrecer un servicio añadido a vuestros clientes, en especial para aquellos que no estén familiarizados con las herramientas TAO.

En ocasiones mis clientes reciben archivos «extraños» que las herramientas TAO no reconocen, pues su extensión no figura entre las más habituales, y entonces me piden que busque una solución TAOísta para poder traducir el contenido de dichos archivos. En algunos casos, hay que buscar el modo de convertirlos a un formato intermedio que sí sea compatible con estas herramientas. Sin embargo, la mayoría de las veces, con un poco de maña, podemos crear un filtro para ese tipo de archivos que faciliten que la TAO en cuestión extraiga el contenido traducible. En esta entrada y en la siguiente veremos cómo crear nuevos filtros en memoQ y SDL Trados Studio 2017 y la forma de exportarlos para compartirlos con otros colegas o para usarlos en otro ordenador que tenga instalada alguna herramienta TAO. Si preferís saltaros la parte introductoria y ver directamente cómo crear nuevos filtros de archivos en Studio y memoQ, podéis ir a la siguiente entrada.

El primer paso: reconocer si el archivo contiene texto solamente

Lo primero que hay que hacer al recibir uno de estos archivos «extraños», por tonto que parezca, es probar suerte e intentar abrirlo con un editor de textos, como Notepad++ o el propio Bloc de notas. Dado que muchos archivos con extensiones poco frecuentes se utilizan en programación, se pueden modificar de una forma más o menos sencilla con cualquier editor de textos. También es posible que el propio archivo sea en sí mismo un archivo comprimido (como ocurre con los paquetes de Studio o los archivos MQXLZ de memoQ, por poner un par de ejemplos) y que entonces no se pueda abrir directamente con un editor de textos. En este último caso, basta con cambiar la extensión a ZIP y probar con un extractor de archivos para averiguar si es un archivo comprimido y, en tal caso, extraer los archivos que contiene.

En el archivo de ejemplo que usaré en esta entrada, me he inventado la extensión JM4. A pesar de ello, si trato de abrirlo con Notepad++, veremos que se trata de un archivo de texto no demasiado diferente de algunos con los que quizás ya nos hayamos topado antes, como en la siguiente captura de pantalla. Si el archivo contiene texto en un idioma que no sea el inglés y vemos caracteres que no se leen bien, la mayoría de veces solventaremos el problema cambiando la codificación a UTF-8. En Notepad++ podemos hacerlo eligiendo la opción correspondiente en el menú Codificación.

Un extracto del archivo con extensión poco habitual

Análisis previo del archivo

Antes de pasar a crear el filtro para este tipo de archivos, conviene analizar la estructura del archivo de origen con el fin de saber cuál es el contenido traducible y cuál es el contenido propio de programación que hay que aislar para que no se sobrescriba por error durante la traducción. Así daremos con la lógica empleada para separar cada elemento del archivo y podremos aplicarla en la herramienta TAO a la hora de crear el filtro. Empezaremos con la cabecera del archivo, como se observa en la siguiente imagen.

Cabecera del archivo

La sección señalada en color amarillo son líneas que comienzan con la barra lateral derecha (/). Echando un vistazo al contenido, podemos deducir que son comentarios añadidos por el desarrollador pero que no forman parte del código propiamente dicho. Por esta razón, se añade la mencionada barra lateral al principio de cada línea (siguiendo un patrón similar al que se ve en otros archivos de programación) o, dicho en lenguaje más técnico, «se comentan» las líneas. Lo más habitual es que no haya que traducir estos comentarios, pero, en caso de duda, no nos cuesta nada consultarlo con el cliente, pues pueden contener información valiosa para desarrolladores que sea recomendable traducir también.

En naranja vemos un nuevo patrón que se repite al principio de las siguientes líneas, que no es otro que el código o ID con el que se identifica cada cadena de texto. Dicho código tiene que quedar igual en el archivo traducido, por lo que lo aislaremos cuando creemos el nuevo filtro de archivo. A la derecha de este código, separado por un espacio y delimitado por comillas, se encuentra el contenido traducible. Una vez lo hayamos identificado, conviene seguir analizando el archivo en busca de secciones u otros elementos que sean traducibles pero que se desvíen de ese patrón, o bien elementos no traducibles dentro de las cadenas de texto.

La siguiente captura muestra algunos elementos muy habituales en archivos de este tipo:

  • En amarillo, el símbolo et (&), que se añade delante de la tecla de acceso rápido. Podemos cambiarlo de sitio, pero siempre teniendo en cuenta que no puede usarse la misma letra para más de una tecla de acceso rápido dentro del mismo menú y que es mejor evitar las letras con tramos descendentes por debajo del renglón, como la ge y la pe, ya que el acceso rápido se muestra subrayando dicha letra.
  • En azul tenemos un tipo de variable con el que se separan elementos dentro de una misma cadena de texto, ya sea por limitaciones de espacio u otras razones. En este caso, vemos el salto de línea (\n) y la tabulación (\t). Cuando traduzcamos cadenas de texto que aparezcan en más de una línea, aparte de tener en cuenta el límite de caracteres por línea (en su caso), hay que evitar la separación de sintagmas en la medida de lo posible, pues puede provocar problemas de fluidez al leer el texto (lo mismo que ocurre en subtitulación).
  • Por último, los elementos señalados en naranja son variables, parámetros que no son fijos y que se establecen con datos aportados por el usuario del programa (en este caso, datos referentes a un disco, como el nombre del cantante y de la canción). Se ven a simple viste porque van precedidos de un delimitador, como el símbolo del porcentaje en este archivo. Al igual que las demás variables, tendremos que buscar un patrón para poder bloquearlas y que así el traductor o revisor no las elimine en un descuido.

Nuestras amigas las variables

Ahora que ya conocemos el archivo de origen, toca pensar en cómo le indicaremos a la herramienta TAO de turno qué partes debe pasar por alto y cuáles debe importar para que se puedan traducir. En archivos como XML y HTML y sus variantes resulta más sencillo porque el texto traducible casi siempre está delimitado por etiquetas. Sin embargo, en este caso, hay que decirle a la herramienta TAO que este archivo sigue un patrón para separar el contenido traducible del no traducible.

Llegados a este punto, las preguntas clave son «¿Qué patrón sigue este archivo?» y «¿Cómo añadir este patrón a la herramienta TAO?». Nuestras «queridas» expresiones regulares serán nuestras mejores aliadas a partir de ahora. Aunque lo veremos en la siguiente entrada con más detalle, memoQ y Studio permiten crear filtros usando expresiones regulares. Dicho en pocas palabras, tenemos que indicar qué va antes y después del contenido traducible (ergo, todo lo que esté entre medias serán las cadenas de texto).

Antes de pasar a hablar de las expresiones concretas para este caso, tengo que aclarar que no soy ni mucho menos un experto en el tema, así que no me sorprendería que alguno de vosotros emplearais expresiones más precisas o más «bonitas». Dicho esto, a continuación os dejo las expresiones regulares que usaré como patrones de apertura y de cierre (dicho de otra forma, lo que va antes y después de dicho contenido):

Apertura:

^#.+#\s{1,}”

Esta expresión, en lenguaje normal, equivale a: inicio de línea seguido de almohadilla, seguida a su vez por uno o más caracteres cualesquiera y una almohadilla. Después van uno o más espacios y comillas.

Cierre:

“$

En lenguaje normal sería: comillas seguidas del final de línea.

-Variables:

Si bien solo los patrones de apertura y cierre son obligatorios, hemos visto que este tipo de archivos contienen variables que hay que mantener tal cual. Por tanto, es una buena idea convertir esas variables en etiquetas para que el traductor o el revisor no las omita en un descuido.

\\[a-z] = busca cualquier letra minúscula precedida de una barra lateral. Como la barra lateral es un carácter comodín en expresiones regulares, hay que añadir otra antes para indicar que estamos buscando el carácter literal en vez del comodín.

%[a-z]*\d = símbolo de porcentaje seguido por uno o cero caracteres de la a a la zeta minúscula y por un dígito.

Una vez tenemos claras las expresiones regulares que hay que añadir al filtro, solo nos queda utilizar una herramienta TAO para crearlo, como veremos en la siguiente entrada.

A casi todos nos habrá pasado en algún proyecto que nuestro cliente nos manda una nueva versión de un archivo origen para que traduzcamos también las nuevas secciones del documento. Puede darse el caso de que estos cambios lleguen al principio o a la mitad del proyecto o una vez lo hayamos terminado y entregado. La primera situación es más «sencilla» de manejar, pues todavía no hemos creado los archivos de destino y tampoco hemos pasado el control de calidad o formateado los archivos, como sí sucede al final de un proyecto. Normalmente, si la nueva versión llega cuando el proyecto ya ha concluido y si no hay demasiadas diferencias entre versiones, una buena opción consiste en recurrir al control de cambios para añadir las traducciones nuevas a los archivos que ya habíamos entregado al cliente en su día.

Sin embargo, ya recibamos la nueva versión de los archivos al principio o en mitad del proyecto o una vez concluido, es conveniente que las nuevas traducciones estén en memoQ, de forma que nuestras memorias, corpus y glosarios estén siempre actualizados. Para tal fin, en memoQ contamos con la ayuda de la función XTranslate, la cual a veces pasa desapercibida entre los usuarios de esta herramienta TAO. Aunque ahora la analizaremos con más detalle, podemos adelantar que, gracias a este método, es posible importar nuevas versiones de archivos sin temor a perder lo que llevemos traducido.

Para empezar, en la siguiente captura de pantalla se puede ver un ejemplo de un archivo ya traducido (Santander_EN.docx). Si no lo hemos hecho todavía, tendremos que confirmar las traducciones y actualizar la memoria de traducción del proyecto (Ctrl + Intro) o la memoria maestra (Ctrl + Mayús. + U), ya que memoQ recurre a ella para pretraducir la nueva versión del archivo cuando lo importemos.

Ejemplo de archivo ya traducido

Supongamos ahora que el cliente ha mandado una nueva versión del archivo Santander_EN.docx con unos pocos cambios. Para importar ese nuevo archivo de origen, habrá que ir a la lista Documentos, marcar el archivo en cuestión, hacer clic con el botón derecho del ratón y elegir la opción Reimportar. Como se ve en la siguiente imagen, acto seguido aparecerá el cuadro de diálogo Reimportar documento, donde memoQ nos dará a elegir entre importar el archivo nuevo con el mismo nombre que la anterior versión y en la misma ruta (Sí) o bien otro archivo con un nombre diferente o situado en una carpeta distinta de la original (No).

Cómo reimportar un solo archivo en memoQ

Si queremos reimportar varios archivos a la vez, tendremos que elegir Importar con opciones y, siempre y cuando no hayamos cambiado la carpeta ni el nombre de origen, memoQ reimportará todos los archivos que correspondan, tal y como se ve en la siguiente imagen. En este caso, es muy recomendable crear una copia de seguridad de la versión anterior de los archivos de origen en otra carpeta, pues tendremos que sustituirlos por la versión actualizada para que funcione la opción de reimportar varios archivos de una sola vez.

Reimportación de varios archivos actualizados en memoQ

Si nos fijamos bien, nos daremos cuenta de que el número de versión ha cambiado. En este ejemplo, el archivo santander_EN_new.docx ahora es la versión 2.0 del archivo original Santander_EN.docx (la versión 1.0).

Cambio de versión tras reimportar un archivo en memoQ

Cuando abramos este nuevo archivo para modificarlo, observaremos que está vacío. ¡Que no cunda el pánico! Todavía estamos a mitad de camino. El siguiente paso es ir a la pestaña Documentos, luego al grupo Reimportación/Revisión y hacer clic en el botón X-Translate, como se aprecia en la siguiente captura de pantalla.

Ubicación de la función X-Translate

Aparecerá una ventana en la que podremos cambiar varias opciones según convenga:

Opciones de la función X-Translate

En Origen de traducciones elegiremos la versión en la que memoQ se basará para reutilizar las traducciones para la nueva versión del archivo. En este caso, es la versión 1.0, pero en otros proyectos en que hayamos importado o reimportado el archivo varias veces (nuevas versiones, correcciones, etc.) es posible que prefiramos usar las traducciones de otra versión.

Después pasaremos a Seleccionar escenario, donde tendremos que elegir una de las siguientes alternativas:

-Actualización a mitad de proyecto. Así se mantienen tanto el estado y los porcentajes de concordancia con la memoria de los segmentos recuperados como el nombre del traductor (aunque podremos cambiarlo más tarde). Es la opción lógica si nuestras traducciones no son finales o si van a pasar por otras manos (otro traductor, revisor, etc.).
-Nueva revisión de la traducción terminada. memoQ reutiliza traducciones ya aprobadas según lo que elijamos en Traducciones a usar de la última versión principal y añade la marca XLT a cada segmento. Además, se activará una lista de diferentes opciones donde escogeremos el nuevo estado de estos segmentos pretraducidos y decidiremos si queremos bloquear dichos segmentos.

Tras pulsar el botón Aceptar, solo quedará esperar a que memoQ termine el proceso y ya podremos abrir los archivos actualizados para ver los resultados. En este ejemplo me he decantado por la segunda opción. Según lo que comentábamos antes, se ha añadido la marca XLT a cada segmento pretraducido siguiendo este método, como he resaltado en amarillo en la siguiente captura de pantalla. Asimismo, he indicado a memoQ que bloqueara estos segmentos para poder identificarlos a simple vista.

Archivo de ejemplo actualizado tras usar la función X-Translate

Tras la pretraducción, podremos recurrir a los filtros o a las vistas, según el caso, para que aparezcan solamente los segmentos de origen nuevos o con algún cambio y así no nos perdamos entre tantos segmentos ya traducidos.

Como veréis, esta es una forma muy sencilla de lidiar con las actualizaciones de archivos de origen que permite que todo nuestro trabajo esté al día sin tener que preocuparnos demasiado. Por supuesto, siempre queda otra posibilidad, que no es otra que importar la nueva versión del archivo de origen con otro nombre y como un archivo nuevo y después pretraducirlo, pero con el inconveniente de que tendremos que eliminar las versiones anteriores de la lista de archivos con el fin de evitar confusiones.

La entrada anterior de Melodía de traducción me sirvió para comentar que, por cosas del destino, en la actualidad llevo a cabo prácticamente todas mis tareas usando memoQ. En esta línea, la entrada que hoy publico versa sobre las vistas de memoQ y su utilidad de cara al trabajo diario, para lo cual recurriré a la ayuda de unos cuantos ejemplos prácticos.

Oiga, ¿pero qué es eso de las «vistas»?

Según la ayuda de memoQ, las vistas son recolecciones de segmentos extraídas de los archivos traducibles mediante distintos filtros o clasificaciones. Dicho de otra forma, las vistas se pueden entender como filtros avanzados que permiten aislar segmentos o fusionar segmentos de diferentes archivos de un proyecto de traducción en función de lo que necesitemos. Aunque más adelante lo veremos con mayor detalle, varios usos prácticos de la vistas van desde la fusión de varios archivos en uno solo hasta la división de un archivo en varios subarchivos para su traducción por parte de varios traductores, ver todos los segmentos con errores de un proyecto, eliminar etiquetas sobrantes (es decir, que no forman parte del segmento de origen) tras la pretraducción de uno o varios archivos —como, por ejemplo, las procedentes de segmentos importados en una memoria de traducción procedentes de un TMX creado con otra herramienta TAO—, comprobar si la traducción de un término (no necesariamente parte de una base de datos terminológica), etc. A nuestro alcance queda, por un tanto, un gran abanico de posibilidades para gestionar nuestros proyectos de un modo más cómodo y productivo.

Otro punto a favor de las vistas es la posibilidad de elegir entre traducirlas directamente con memoQ o exportarlas, bien añadiéndolas al corpus asignado al proyecto o bien como archivos bilingües. Si echamos un vistazo a esta segunda opción (a la que llegamos haciendo clic con el botón secundario sobre la vista y eligiendo Exportar archivos bilingües), vemos que hay tres opciones posibles, como se aprecia en la siguiente captura de pantalla).

Exportación de documentos bilingües en memoQ

Asistente de exportación de archivos bilingües en memoQ

De las tres opciones, el formato MQXLIFF (una variante del estándar XLIFF empleada por memoQ) y el DOC bilingüe (el formato clásico usado por versiones de Trados anteriores a SDL Trados Studio 2009) sirven para poder enviar las vistas a otros traductores que no dispongan de memoQ pero sí de alguna otra herramienta TAO. Por su parte, el RTF a dos columnas es más útil para la revisión de la traducción mediante control de cambios en Word. Sea cual sea el que elijamos, una vez lo recibamos actualizado por parte del traductor o revisor, lo podremos importar de vuelta en memoQ mediante el paso contrario. De esta forma, nos aseguraremos de que las vistas incluyan todos los cambios y, por ende, de que los documentos principales a partir de los cuales obtuvimos las vistas queden también actualizados.

No obstante, hay que tener en cuenta varias cuestiones cuando se trabaja con vistas. En primer lugar, cualquier cambio que se haga en la vista tiene su efecto en los documentos principales de donde procedan los segmentos, con lo cual garantizamos que el proyecto se actualiza constantemente. Por esta misma razón, no es posible abrir los archivos traducibles y sus vistas correspondientes al mismo tiempo, ni realizar cambios en segmentos que ya pertenezcan a alguna vista, como separarlos en varios segmentos o fusionar dos o más segmentos en uno solo (lo que sí se puede llevar a cabo dentro de una vista si los segmentos pertenecen al mismo archivo principal). De esta forma, se busca que la traducción sea coherente tanto en el documento principal como en la propia vista.

Vale, ¿y cómo creo una vista? ¿Y cómo la exporto?

El proceso para crear una vista es bien sencillo. El primer paso consiste en crear un proyecto e importar los archivos que queremos traducir de la forma habitual. Una vez terminado el proceso, vamos a la sección Traducciones, donde veremos todos los archivos que conforman el proyecto. Ahora basta con señalar todos los archivos con el atajo Ctrl + Mayús. + A o, en su caso, solo los que nos interesen dejando pulsada la tecla Ctrl a la vez que hacemos clic con el ratón. Acto seguido, hacemos clic con el botón secundario y, como se señala en la siguiente captura de pantalla, elegimos la opción Crear vista.

Creación de una vista a partir de varios archivos

Creación de una vista a partir de varios archivos

Llegados a este punto, solamente queda elegir las opciones correspondientes en cada caso y dar un nombre a la vista lo más descriptivo posible (por si acaso olvidáramos lo que pretendíamos conseguir con esa vista en concreto). Cuando termine el proceso, la vista recién creada aparecerá en la pestaña Vistas. Si queremos exportar una o más vistas, basta con seleccionarlas, hacer clic con el botón secundario del ratón y elegir la opción de exportación que necesitemos.

Exportación de vistas como archivos bilingües en memoQ

Exportación de vistas como archivos bilingües en memoQ

Algunos casos prácticos

Después de la siempre poco entretenida teoría, llega el turno de pasar a los casos prácticos con las vistas en memoQ con el propósito de entender mejor lo que es posible lograr si recurrimos a ellas. A continuación, os pondré varios ejemplos de diferentes usos de las vistas.

1. Fusionar varios archivos en uno

 
Esta es la opción predeterminada de memoQ a la hora de crear vistas (Solamente pegar los documentos). Es de utilidad para hacer más manejables proyectos formados por decenas de archivos muy pequeños, o bien para evitarnos el tener que enviar muchos archivos a un traductor o revisor externo (lo que podría suponer que alguno se extraviara o se quedara sin traducir o revisar), en especial si no utiliza memoQ. 

2. Dividir un archivo en varios subarchivos

 
Si queremos dividir un archivo en varias partes, tendremos que escoger la opción Dividir documento (como se ve en la captura de pantalla) y crear tantas vistas como partes en que vayamos a dividirlo (es importante comprobar que no nos dejamos fuera ningún segmento). Al contrario que en el primer ejemplo, hay proyectos con archivos muy grandes y plazos ajustados, cuya traducción o revisión la llevarán a cabo varias personas.

División de un archivo en varios partes según el número de segmentos

División de un archivo en varios partes según el número de segmentos

Como nota negativa, no podemos crear partes con el mismo número de palabras de forma fácil —lo cual agilizaría mucho la preparación del proyecto y lo que sí es posible en proyectos gestionados en un servidor con la versión Project Manager—, sino que habrá que jugar con el número de segmento tanto de inicio como de cierre, e ir haciendo el recuento de palabras a medida que creemos las vistas. Sin embargo, otra de las novedades de memoQ a partir de la versión 2014 es que muestra de forma predeterminada el número de palabras de cada archivo en vez del número de segmentos, lo cual puede ser contraproducente para nuestros intereses, pues cabe la posibilidad de que algún segmento se quede fuera de las vistas y, por lo tanto, sin traducir. Para evitar males mayores, si vamos a Opciones > Varios > Mostrar el progreso (%) de la traducción basado en… y marcamos la opción Segmentos (tal y como se muestra en la siguiente captura de pantalla), averiguaremos cuántos segmentos tiene cada archivo y cada vista.

Ver el número de segmentos de un archivo en vez del número de palabras

Ver el número de segmentos de un archivo

 

3. Eliminar etiquetas sobrantes después de pretraducir

 

El siguiente ejemplo resulta práctico cuando pretraducimos archivos con memorias de traducción cuyos segmentos proceden de otras herramientas TAO. Como cada una de ellas tiene su propia forma de «interpretar» el texto y de añadir las etiquetas, a veces me he encontrado con etiquetas en segmentos pretraducidos que no aparecen en el segmento original correspondiente en memoQ. Sin embargo, dado que otra herramienta entendió que debería haber una etiqueta en dicho segmento, la traducción también la tenía, ergo el TMX creado a partir de esa memoria también lo tenía. En el caso de memorias obtenidas con archivos traducidos con Trados, memoQ no suele tener problemas y oculta bastantes etiquetas (siempre que indiquemos que el TMX procede de Trados cuando lo importemos en memoQ), aunque casi siempre detectaremos que alguna se escapa. Si hay un gran número de segmentos con este problema, tener que estar pendientes de borrarlas en memoQ nos llevará mucho tiempo y, además, es posible que se nos pase alguna por alto.

Con el propósito de ilustrar esta situación, he creado un proyecto con tres archivos DOCX muy cortos que había alineado previamente, alineación a partir de la cual he obtenido una memoria en formato TMX que he importado después en la memoria de memoQ asignada a dicho proyecto. El siguiente paso ha consistido en pretraducir los archivos y bloquear las coincidencias del 100 % (pese a que bloquear los segmentos no es estrictamente necesario, yo prefiero hacerlo así). A modo de repaso, a la pretraducción se accede en la pestaña Preparación, botón Pretraducir. Para bloquear los segmentos, tenemos que marcar la casilla Bloquear filas en la pestaña Confirmar/bloquear en la ventana que aparecerá a continuación.

Pretraducción en memoQ

Pretraducción en memoQ

Una vez pretraducidos los archivos, he creado la vista de la forma habitual, aunque en este caso las opciones que me interesaban están en Opciones avanzadas. Dado que he bloqueado los segmentos y que la presencia de etiquetas en el segmento de destino que no se encuentren en el segmento de origen causa un error al intentar obtener los archivos finales, he marcado esos dos delimitadores en la pestaña Estado perteneciente a la sección Filtrar por estado del segmento.

Filtrar por estado del segmento

Filtrar por estado del segmento

La vista resultante consta, como se puede ver en la captura de pantalla de la izquierda, de tres segmentos. Para poder borrar las etiquetas, es necesario desbloquearlos (en su caso). Para tal fin, seleccionamos todos con la combinación Ctrl + Mayús. + A y luego los desbloqueamos con el atajo Ctrl + Mayús. + L. En este punto, podemos quitar todas las etiquetas de un plumazo si pulsamos la combinación Ctrl + F8 o si vamos a la pestaña Editar, grupo Etiquetas, menú Comandos de etiqueta, opción Quitar todas las etiquetas (véase la segunda captura de pantalla a continuación).

Vista de segmentos bloqueados con errores

Vista de segmentos bloqueados con errores

Quitar todas las etiquetas de varios segmentos

Quitar todas las etiquetas de varios segmentos

Si abrimos los archivos principales de donde proceden los segmentos, como en la siguiente captura de pantalla, notaremos que los segmentos ya no tienen las etiquetas procedentes del TMX.

Segmento tras borrar todas las etiquetas

Segmento tras borrar todas las etiquetas

Gracias a esta vista, hemos solucionado de una forma muy rápida lo que habría sido una tortura, en especial en proyectos grandes. Solo queda volver a bloquear los segmentos (en su caso) para poder seguir trabajando con normalidad y sin mayores preocupaciones.

 

4. Bloquear segmentos en destino formados solo por etiquetas

 

Al importar un archivo, puede darse el caso de que memoQ cree segmentos formados solamente por etiquetas, los cuales, como es lógico, se quedan igual en la traducción. Con el fin de preservar la integridad del archivo y de asegurarnos de que podremos exportarlo sin problemas una vez hayamos acabado la traducción (en especial si se la vamos a encargar a otro traductor), resulta interesante el crear una vista que contenga solo este tipo de segmentos, que después bloquearemos para que no sea posible modificarlos.

memoQ permite crear vistas que contengan solo los segmentos con etiquetas en el segmento de destino. Si hemos pretraducido los archivos como en el tercer ejemplo pero no hemos llegado a eliminar las etiquetas, estos segmentos pretraducidos también aparecerán en esta nueva vista. Si queremos asegurarnos de que aparezcan los segmentos formados exclusivamente por etiquetas, podemos añadir la opción de que la vista incluya segmentos no bloqueados —lo cual funcionará, como es obvio, si hemos bloqueado los segmentos al pretraducir—. Esta captura de pantalla muestra mejor cómo crear esta vista.

Filtro para obtener solo segmentos no bloqueados

Filtro para obtener solo segmentos no bloqueados

Filtro para obtener solamente segmentos de destino con etiquetas internas

Filtro para obtener solamente segmentos de destino con etiquetas internas

El resultado de crear la vista, elegir todos los segmentos y bloquearlos es el que se aprecia en la siguiente captura de pantalla:

Segmentos formados únicamente por etiquetas tras ser bloqueados

Segmentos formados únicamente por etiquetas tras ser bloqueados

 

5. Aplicar expresiones regulares en determinados segmentos

 

Para la última aplicación práctica de las vistas que veremos en esta entrada, vamos a partir de varios supuestos:

  1. Los archivos de origen contienen segmentos con etiquetas personalizas que aparecen como texto normal porque no hemos creado un filtro personalizado para dichos archivos;
  2. Queremos convertir ese texto normal en etiquetas de memoQ para que no lo podamos modificar con la ayuda de expresiones regulares;
  3. Por las razones que sean, solo queremos aplicar las expresiones regulares en ciertos segmentos o en ciertos archivos.

Así pues, procederemos a crear una vista que aísle solamente segmentos con etiquetas personalizadas de archivos concretos de un proyecto. A continuación, aplicaremos las expresiones regulares a la nueva vista para convertir ese texto normal en verdaderas etiquetas de memoQ.

En primer lugar, importamos los archivos de origen del modo normal y, al abrir uno de ellos, veremos que hay unas etiquetas personalizadas que memoQ ha dejado como texto traducible:

Etiquetas como texto normal en memoQ

Etiquetas como texto normal en memoQ

Así pues, vamos a suponer que no queremos cambiar ese texto en todos los archivos. Bastará, en este caso, con seleccionar los archivos en la lista de documentos y crear una vista usando como criterio que se muestren solamente los segmentos en cuyo idioma de origen estén las etiquetas que queremos convertir. El siguiente paso es abrir la vista recién creada para después usar las expresiones regulares con el objetivo de indicar a memoQ que tiene que tratar esos textos como etiquetas. Para tal fin, vamos a la pestaña Preparación, sección Otro y opción Regex Tagger.

Regex Tagger en memoQ

Regex Tagger en memoQ

Aparecerá ventana donde tendremos que escribir la expresión regular. En este caso, dicha expresión es muy sencilla: <.*?>. El campo Mostrar texto lo dejaremos tal cual aparece. En el recuadro Resultado se puede observar la vista previa de los elementos a los que engloba la expresión regular, los cuales están marcados en color rojo para su mejor identificación.

Reglas mediante expresiones regulares en memoQ

Reglas mediante expresiones regulares en memoQ

A continuación, pulsamos Aceptar y enseguida notaremos el efecto de la expresión regular, tal como se ve en la siguiente captura. Si abrimos el documento principal a partir del cual creamos la vista, descubriremos que memoQ ha aplicado los cambios directamente en los mismos segmentos.

Etiquetas tras aplicar las reglas de expresiones regulares

Etiquetas tras aplicar las reglas de expresiones regulares

Cómo trabajar con vistas usando otras herramientas TAO

Para terminar con esta entrada, vamos a describir cómo exportar una vista a un formato compatible con otras TAO, como SDL Trados Studio 2014. En primer lugar, seleccionaremos la opción Exportar archivos bilingües y, entre las tres opciones disponibles, elegiremos MQXLIFF y desmarcaremos las tres casillas para asegurarnos de la plena compatibilidad con otras herramientas TAO.

Obtendremos así un archivo MQXLIFF que se traducirá con la herramienta que prefiramos. Así aparecería en SDL Trados Studio 2014:

Archivo MQXLIFF abierto en SDL Trados Studio 2014

Archivo MQXLIFF abierto en SDL Trados Studio 2014

Lo que viene es muy sencillo: traducimos el texto y lo exportamos de vuelta al formato original en función de la TAO que hayamos usado. Después, si todo va bien, lo importamos en memoQ y automáticamente memoQ detectará que se trata de una actualización y así lo mostrará, como vimos anteriormente. Si lo abrimos, veremos la traducción actualizada:

Archivo actualizado tras importar la traducción de otra TAO

Archivo actualizado tras importar la traducción de otra TAO

Conclusiones

Si habéis llegado hasta aquí, seguro que os habréis dado cuenta del tremendo potencial de las vistas en memoQ. Esta entrada solamente pretende mostrar su gran utilidad, pues las vistas sirven para multitud de fines, se pueden personalizar en función de nuestras necesidades en un proyecto en concreto, nos pueden sacar de más de un apuro y evitarnos quebraderos de cabeza. Además, se pueden combinar con Word y otras herramientas TAO sin apenas tener problemas.

Y vosotros, ¿las usáis en vuestros proyectos? ¿Para qué fin? No seáis tímidos: compartid vuestra sabiduría en un comentario. 🙂

¡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— :).

¡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! 😉

Retomo el blog después de una larga ausencia por diversas razones. Sin más dilación, os dejo con mi entrada ;-):

Como algunos que me conocen ya sabéis, a pesar de llevar un tiempo traduciendo encargos de manera aislada, solamente me he decidido a dar el paso de darme de alta como traductor autónomo hace apenas unos meses. Dado este cambio en mi vida, decidí que, si quería dedicarme a la traducción, más me valía encontrar clientes, aunque fuera buscándolos debajo de las piedras. Mientras me documentaba y buscaba consejo de algunos colegas y amigos, me encontré con dos entradas en sendos blogs, X e Y, en los que se describían formas de obtener experiencia como traductor, aunque no fuera de manera profesional, así que los leí e investigué un poco más por mi cuenta en aquellas opciones que más me llamaron la atención o que vi más interesantes en relación con mis preferencias, que se encuentran en la localización de software.

De esta manera, llegué a una web donde desarrolladores de aplicaciones de software libre de toda clase y para todos los usos dejan los archivos de texto que conforman la aplicación al alcance de traductores voluntarios de multitud de idiomas que deseen localizarlo por iniciativa propia y de manera gratuita, de acuerdo con los principios del software libre. Este proyecto que sirve de enlace a los traductores y desarrolladores se llama Transifex y, si os atrae tanto como a mí la idea del software libre, recomiendo que le echéis un vistazo.

TRANSIFEX

En Transifex, los desarrolladores se dan de alta en la página y crean un proyecto para localizar ese software. Tienen las opciones de que cualquiera se encargue de la traducción, o bien de que haya un equipo de traducción por idioma. El segundo paso consiste en cargar los archivos con las cadenas de texto para que los posibles traductores puedan echarles un vistazo y se decidan a localizarlos. De esta manera, el traductor puede solicitar crear un equipo de traducción para el idioma que sea y, a continuación, el desarrollador decide si le interesa localizar el software a ese idioma y, en caso afirmativo, acepta la creación de un equipo de traducción para ese idioma.

A partir de ahí, el traductor puede elegir entre trabajar con los archivos en el propio navegador web o, por el contrario, descargarse los documentos para traducirlos de manera local con el programa que prefiera. En mi caso, me decanté por la segunda alternativa, dado que no me convencía el aspecto de la ventana de traducción en el navegador. Cómo es lógico, me hacía falta un programa que me sirviera para traducir el archivo (en mi caso, archivos .po) que me había descargado de manera cómoda. Al tratarse de un archivo con apenas unas decenas de cadenas de texto, no me hacía falta una herramienta de traducción asistida como la conocemos normalmente, con sus memorias de traducción y glosarios, sino más bien un programa que me mostrara información sobre las cadenas, que me permitiera introducir comentarios si así lo estimaba oportuno y, por supuesto, que me permitiera traducir de la manera más cómoda, sencilla y fácil posible. Cuando tenía XP instalado, trasteé con Virtaal, pero nunca he conseguido que funcione en Windows 7, por lo que quedaba descartado automáticamente.

Así que me puse a pensar y me acordé de QT Linguist, un programa que tenía instalado en mi partición dedicada a la distribución de Linux Ubuntu que era justo lo que estaba buscando. Investigando en la red, di con una versión de este programa para Windows. Antes de ni siquiera instalarla, me llamó la atención que el archivo ejecutable apenas ocupa 3 MB, mientras que en Ubuntu se descargan unos 100 MB, debido a que se necesitan el resto de componentes de QT. A continuación añado una captura de pantalla de la ventana principal de este programa.

INTRODUCCIÓN A QT LINGUIST

QT Linguist en WindowsQT Linguist en Ubuntu

La interfaz de QT Linguist se divide en varias secciones (views en inglés) y barras de herramientas (formadas por los botones situados debajo de los menús, que cumplen las funciones habituales de estos programas). En la esquina inferior derecha se indica el número de segmentos traducidos y el número de segmentos de que consta el archivo, respectivamente. Si queremos saber el número de palabras que contiene el archivo, tenemos que ir al menú View > Statistics (Ver > Estadísticas), donde se nos mostrará el número de palabras, caracteres y caracteres con espacios tanto del original como de la traducción.

Para empezar con las diferentes vistas o secciones, encontramos una columna llamada Context (Contexto) en la que se muestra en qué parte del programa aparece cada segmento (por ejemplo, en el menú Acerca de, en la vista de reproducción, etc.), así como el número de segmentos de los que se compone cada sección. A su derecha vemos la columna Strings (Cadenas de texto), donde se incluyen los segmentos de origen que hay que traducir. Más a su derecha figura otra columna, llamada Sources and forms (Fuentes y formas), donde aparecen otros archivos vinculados a cada segmento en concreto.

Debajo de estas columnas se encuentra la sección de traducción propiamente dicha. En el primer cuadro de texto vemos el texto de origen y, debajo de él, el cuadro dedicado a la traducción. Hay un tercer cuadro de texto que emplearemos cuando queramos insertar comentarios, dudas o sugerencias relativas al segmento en que nos encontremos. Esta posibilidad que nos ofrece QT Linguist, aunque pueda parecer una minucia, es, en mi opinión, extremadamente útil tanto para el traductor como para los revisores o jefes de proyectos, ya que permite una comunicación más fluida entre ambas partes y justificar nuestra traducción en aquellos segmentos dudosos o ambiguos.

En el borde inferior de la ventana principal encontramos dos secciones. Una de ellas, llamada Phrases and guesses (Frases y sugerencias) nos muestra sugerencias de traducción. Si la cadena de texto en la que nos encontremos es igual o similar a otra que forme parte de los diccionarios (phrase books) que hayamos añadido a este proyecto, su traducción aparecerá en esta sección. Podemos crear nuestros diccionarios según nuestras preferencias, lo que resulta interesante para agilizar nuestra tarea, ya que podemos incluir en ellos algunas cadenas de texto que podemos ver en la práctica totalidad de las aplicaciones, sean del tipo que sean, como Abrir, Nuevo, Guardar, Copiar, etc. En el manual de QT Linguist al que hago referencia más adelante figura un tutorial para la creación de estos diccionarios.

A su izquierda encontramos una sección de avisos que aparecen en caso de que haya algún problema con la traducción, otra función de gran interés y utilidad para el traductor, especialmente cuando hemos revisado la traducción y se nos ha podido escapar algún error. Por ejemplo, en la siguiente captura de pantalla he forzado un error para que me muestre un aviso. En este caso, el programa indica tanto en esta sección como en la barra de estado (esquina inferior izquierda) que en la traducción se ha omitido una variable (grosso modo, un código que hace referencia a elementos del programa que pueden variar durante la ejecución del programa, tales como la versión, el número de elementos seleccionados, etc.) que aparece en la versión original. Quedan claras, pues, la utilidad y la importancia de que un programa de traducción asistida por ordenador cuenta con esta función. Podéis encontrar más ejemplos de variables en la cuarta entrega del excelente curso de introducción a la localización de La paradoja de Chomsky que menciono al final de esta entrada.

Ejemplo de aviso en QT Linguist

También puede darse el caso de que el programa nos indique un error que, tras comprobarlo, no sea tal. Así ocurre en esta captura de pantalla, donde QT Linguist me indica que la puntuación del texto original es distinta que la de la traducción. En este caso, podemos ignorar el error validando el segmento mediante la combinación de teclas Ctrl + Retroceso.

Ejemplo de falso error en QT Linguist

Para terminar, añadiré que la ventana de QT Linguist es totalmente personalizable, puesto que podemos añadir o quitar los botones o secciones que queramos. Para ello, basta con ir a View > Toolbars / Views y podremos hacer cambios en las barras de herramientas y secciones, respectivamente.

Como tampoco pretendo convertir esta entrada en una parrafada (me conozco :-P) y todavía me quedan unos cuantos párrafos para terminarla (os lo dije :D), no voy a adentrarme en el resto de funciones de esta programa, ya que, en su mayoría, son las mismas que cualquier otro programa de traducción asistida por ordenador. Además, al final de esta entrada incluyo un enlace a un manual muy completo en inglés sobre QT Linguist orientado a traductores. También podéis hacer como yo y probar a traducir proyectos de Transifex con este programa e ir descubriendo sus posibilidades.

RESULTADO DE MI TRADUCCIÓN CON TRANSIFEX

En el comienzo de esta entrada comentaba que había descubierto QT Linguist después de haberme adentrado en el proyecto de localización de software libre Transifex. Cuando descubrí que existía un proyecto de localización de Minitunes, me animé a traducirlo al español. Para los que no lo conozcan, Minitunes es un reproductor de música para Linux que utilizaba mucho cuando mi ordenador de sobremesa todavía aguantaba tener dos sistemas operativos juntos. Me hacía mucha ilusión probar y traduje el archivo con los segmentos de este programa (que es el que he utilizado para las capturas de pantalla de esta entrada).

Entregué el archivo en su día y me olvidé del tema, hasta que un día, hace unos meses, vi una noticia en un blog sobre Ubuntu al que estoy suscrito sobre el lanzamiento de una nueva versión de Minitunes. Abrí el enlace a su página web y me encontré con que esta versión incluía las traducciones realizadas en Transifex. Tenía que instalarme Ubuntu (en este caso, mediante Wubi) y hacer algunas de capturas de pantalla :).

Vista inicial de Minitunes

Vista de álbumes en Minitunes
Menú Acerca de en Minitunes

Aquí tenéis la prueba de que, a veces, no es necesario pasar días y días traduciendo, ni hace falta que nos dejemos un riñon en programas sofisticados, para que nuestro trabajo se vea en la red, para envidia de amigos y familiares no traductores :-P.

Y DE POSTRE…

Os dejo con los enlaces prometidos relacionados con QT Linguist, la localización y formas de ganar experiencia en traducción.

Página siguiente »