Antes de nada, espero que me sepáis perdonar el autobombo. :D

Hace ya unos meses, un buen día encendí el ordenador, abrí Mozilla Thunderbird y vi en mi bandeja de correo electrónico un mensaje que enseguida me llamó la atención. Una representante de la Asociación Brasileña de Hispanistas me comentaba en el propio blog que le gustaba mucho Melodía de traducción y que a su asociación le gustaría mucho que escribiera un artículo en su revista, Abehache (publicada con artículos en portugués y español).

Tras la sorpresa y las dudas posteriores —dado que yo no había preparado ningún artículo para una publicación extranjera—, me dije a mí mismo: «¿Y por qué no?». Sin embargo, todavía me quedaba dar con un tema sobre el que pudiera escribir largo y tendido y que, a la vez, me inspirara. Siendo sincero, la verdad es que aparqué un poco el tema por cuestiones de trabajo y demás. Unos pocos meses después, me llegó un recordatorio con respecto al artículo, ante lo cual decidí dejarme de tonterías, coger el toro por los cuernos y ponerme serio con la redacción.

El resultado de dicho esfuerzo es el artículo El software libre en el sector de la traducción, que ha sido publicado en el último número de la revista Abehache, y del que me siento muy orgulloso. A pesar de haber coincidido con una época de mucho trabajo, así como con el fin de verano y las fiestas que tienen lugar en dichas fechas —como las de mi pueblo, Ampuero, en Cantabria—, lo que no me permitió concentrarme todo lo que me hubiese gustado, pienso que me ha quedado muy completo teniendo en cuenta la extensión máxima permitida (lo siento si parece que no tengo abuela :-P) y os animo a leerlo y a que me comentéis vuestras impresiones. Para que os hagáis una idea de los temas que trato en dicho artículo, os copio el resumen:

Con el paso del tiempo, el software libre ha ido ganando peso poco a poco entre los usuarios de equipos informáticos en comparación con los programas comerciales, hasta el punto de que, en algunos casos, ha llegado a la altura de programas de pago. Mediante este artículo, pretendemos realizar una introducción a este tipo de software orientada a traductores. En él, se describirán diferentes programas empleados para llevar a cabo tareas que van, desde la propia traducción y localización hasta la revisión, pasando por la gestión de proyectos de traducción. Asimismo, se reflexionará sobre la cuestión de si esta clase de programas puede sustituir a las alternativas de pago.
 

Como podéis ver, no me limito a hablar en exclusiva de programas de software libre empleados para la traducción propiamente dicha, sino que pretendo dar un paso más allá y tratar varios pasos que, de una forma u otra, están íntimamente relacionados con nuestra profesión. Dado que mi opinión no es ni mucho menos la única válida o la única respetable, os invito a que leáis mi artículo. Y no os perdáis el resto de la revista, donde podréis encontrar colaboraciones de autores como Jorge Díaz Cintas, Elisa Calvo o Amparo Hurtado Albir.

Podéis consultar mi artículo si lo buscáis en el último número de la revista Abehache o, de forma más directa, si accedéis al índice.

¡Espero que os guste! :D

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

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

Olifant

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

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

Ventana principal de Olifant

Ventana principal de Olifant con una memoria en formato TMX abierta

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

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

Propiedades de la MT en Olifant

Vista de la ventana Propiedades de la memoria en Olifant

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

CheckMate

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

Control de calidad en CheckMate

Vista del Control de calidad de CheckMate

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

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

Filtros para OmegaT

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

Documento TTX en OmegaT

Vista de un documento TTX abierto en OmegaT

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

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

Y para terminar…

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

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

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

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

Control de calidad

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

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

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

Control de calidad de Rainbow

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

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

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

General

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

Longitud

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

Control de calidad: longitud

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

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

Patrones

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

Control de calidad: patrones

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

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

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

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

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

Nuevos patrones en el control de calidad

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

Términos

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

Control de calidad: terminología

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

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

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

El control de calidad en funcionamiento

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

Informe de control de calidad

Imagen de un informe de control de calidad de Rainbow

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

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

Resumen

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

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

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

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

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

Comparación de traducciones

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

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

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

Comparación de traducciones

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

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

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

Análisis de la comparación de traducciones

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

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

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

Buscar y reemplazar

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

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

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

Ventana Buscar y reemplazar

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

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

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

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

Archivo bilingüe original

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

Archivo bilingüe modificado

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

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

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

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

¡Hola a todos!

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

INTRODUCCIÓN

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

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

RAINBOW

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

Rainbow

Ventana principal de Rainbow

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

Creación de paquetes de traducción

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

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

Creación de paquetes de traducción

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

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

Archivo PO en QT Linguist

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

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

Archivo XLIFF en Swordfish

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

Traducción en OmegaT

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

Archivo RTF bilingüe

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

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

Creación de memorias de traducción

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

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

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

Conversión de archivos

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

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

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

Archivo TMX

Captura de pantalla de archivo TMX abierto con Notepad++

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

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

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.

¡Hola a todos!

Después de un larguísimo tiempo sin actualizar fundamentalmente debido a la pereza y a la falta de ideas, creo que ya iba siendo hora de ponerme a redactar una entrada nueva.

Como bien dice el título, voy a tratar de un formato de archivo que suele provocar problemas a los traductores, especialmente en cuanto al formato: el PDF. Ya sabréis que un documento PDF es ideal para textos candidatos a ser impresos, como pueden ser folletos, manuales de usuario, presupuestos, facturas, etc. Los inconvenientes surgen cuando intentamos traducirlos: al no tratarse de un documento editable, nuestra tendencia es intentar copiarlo en un procesador de textos, como Word. Si tenemos la versión Pro de Acrobat o el complemento Sun PDF Importer de OpenOffice o LibreOffice, podemos editar el texto, pero no traducirlo como haríamos con las herramientas típicas (con memoria de traducción, glosarios, etc.).

Dadas las dificultades de trabajar con este formato, lo conveniente cuando recibamos un encargo de traducción en PDF es intentar solicitar al cliente una copia en un formato de archivo editable o, si no es posible, recordarle que, si desea mantener el formato del original (en caso contrario, bastará con copiar y pegar el texto en un procesador de textos, si es que el documento no está protegido), se incluirá una cantidad en concepto de gastos de maquetación (una tarifa por hora sería lo más recomendable en este caso). De todas formas, si recibimos una copia editable de ese documento, debemos asegurarnos de que el formato no traerá problemas (por ejemplo, los documentos con tablas y más tablas suelen ser bastante complicados) si no queremos acabar después por la calle de la amargura.

Si no queda más opción que trabajar con un PDF, contamos con varias opciones a las que he recurrido según el momento. Sea cual fuere el método escogido, es seguro que tendremos que realizar una maquetación del documento final, cuya dificultad y duración dependerá fundamentalmente de la complejidad del formato del PDF de origen y de las herramientas que utilicemos para editarlo.

Antes de comenzar con las opciones, me gustaría señalar que las celdas en el documento PDF de destino de los tutoriales pueden estar un poco desalineadas, pero se debe a las prisas causadas por la limitación de los minutos de extensión del tutorial. Lógicamente, una maquetación profesional debe quedar perfecta, pero ese no es el objetivo de estos tutoriales.

1. CONVERTIR EL PDF

La primera opción consiste en recurrir a un conversor de documentos PDF a otros formatos, como DOC. Hay muchísimas alternativas, como PDFZilla, al que le cuesta, sin embargo, trabajar con documentos con formato más complejo, como tablas. En el vídeo de ejemplo se puede ver como transforma un documento de prueba consistente en una única tabla en un documento editable de texto plano. Dicho de otra forma, se pierde todo el formato, con lo que no evitaríamos tener que realizar una maquetación más adelante.

De entre todos los conversores que existen, el de más calidad que he probado es el Abby FineReader, del que podéis descargar una versión de prueba (funcional durante 15 días y que permite procesar hasta 50 páginas), la cual que me ha salvado alguna vez la vida con relación a la digitalización de documentos gracias al increíble OCR que incluye. En el caso del PDF de ejemplo, lo convierte a Word a la perfección, de forma que podemos trabajar con Trados, Wordfast o, si lo abrimos con OpenOffice o LibreOffice, con Anaphraseus. Una vez hayamos acabado, podemos convertirlo a PDF con el propio Abby FineReader o mediante la opción de guardar como PDF en OpenOffice, LibreOffice, Word 2007 (mediante este complemento) o Word 2010 (incluido en la propia aplicación).

Siguiendo este último paso, nos aseguramos de poder trabajar con un documento editable, que podemos modificar, por ejemplo, para cambiar el tamaño de las filas y columnas de la tabla para que quepa el texto. Luego basta con guardarlo a PDF para terminar nuestra tarea.

2. TRABAJAR CON TRADOS STUDIO

La forma de traducir archivos PDF integrada en Trados Studio me sorprendió muy gratamente en su día, y más con los PDF de gran tamaño o de formato complejo. Para que os hagáis una idea, probé a importar un PDF de varios megas de tamaño y de unas 80 páginas, de las que el 80 % aproximadamente eran tablas. También exporté el documento de origen a Word y me quedé asombrado con la calidad de la exportación: las tablas se mantenían en su sitio y solamente se apreciaban errores menores el formato, subsanables fácilmente si se tiene un poco de maña.

Tenemos dos modos de proceder con Trados Studio en el caso de documentos PDF:

  1. Importar el documento PDF (que Studio convierte a una variante del formato XLIFF propio de SDL, el SDL XLIFF) y, a continuación, traducirlo directamente en este programa (existe incluso la opción de una vista previa del documento final). Una vez hayamos acabado, basta con ir al menú Archivo > Guardar destino como y seleccionar la opción Microsoft Word. Después abrimos el documento en Word, realizamos los retoques necesarios y lo guardamos como PDF mediante alguna de las opciones descritas en la anterior opción.
  2. Abrir el PDF con Studio y, a continuación, ir al menú Archivo > Guardar origen y elegir el formato que queramos como, por ejemplo, el propio DOC. Cuando obtengamos el archivo de origen, podemos traducirlo utilizando alguna de las opciones mencionadas anteriormente, para luego realizar los retoques de maquetación que sean precisos y guardarlo como PDF siguiendo alguna de las opciones descritas antes.

Como veis, no es nada complicado trabajar con este programa. Es una verdadera lástima que, en mi opinión, el precio de una licencia sea prohibitivo. Si se redujera este coste, estoy seguro de que sería un programa con mayor tirón, porque su calidad es, a mi modo de ver, lo mejor de SDL que yo conozco.

3.INFIX+ TAGEDITOR/SWORDFISH

Hasta hace no demasiado tiempo, desconocía el programa Infix PDF Editor, que descubría de casualidad en un retuiteo de Pablo Muñoz, el autor del más que recomendable blog Algo más que traducir. Como me gusta mucho trastear y descubrir programas nuevos, lo descargué, lo instalé y lo eché un vistazo. Para mi sorpresa (agradable, todo hay que decirlo), me di cuenta de que, pese a su nombre, este programa es más que un editor de PDF, ya que la versión Professional permite exportar el texto de un PDF como archivo XML, que podemos traducir en algunas herramientas de traducción asistida, como Tag Editor, Deja Vu X o Swordfish II, un programa del que hablaré en futuras entradas.

Para empezar, tenemos que abrir el Infix PDF Editor. Si tenemos la opción de prueba, como en mi caso, nos saldrá una ventana en la que se nos pregunta cómo queremos trabajar con Infix. Seleccionamos Professional Mode (Modo profesional) y se abrirá la interfaz principal del programa. A continuación, abrimos el PDF yendo al menú File (Archivo) y eligiendo la opción Open (Abrir). Buscamos el archivo y pulsamos Abrir.

Una vez abierto, pasamos a exportar el texto como XML, para lo cual vamos al menú Document > Translate > Export XML… (Documento > Traducir > Exportar XML) o pulsamos el atajo Ctrl + Alt + E. Elegimos una ruta y nombre del archivo y pulsamos Aceptar. A partir de ahí, podemos elegir el programa con el que traducirlo. Como dice el título, he recurrido a Tag Editor y a Swordifsh II.

1. En el caso de TagEditor, abrimos el programa y le indicamos el XML que queremos traducir, bien mediante la opción del menú o arrastrando y soltando el XML en la ventana de TagEditor. A continuación, si es la primera vez que abrimos un XML creado en Infix, TagEditor nos indicará que no ha encontrado el archivo de configuración de etiquetas (un archivo de extensión .ini), que es el que le permite a TagEditor, grosso modo, identificar las etiquetas y bloquearlas para que no las traduzcamos o borremos por error, lo que afectaría al texto final. Elegimos la opción Abrir… y lo buscamos en la carpeta de instalación de Infix, similar a “C:\Program Files\Iceni\Infix4\Translation support\Trados\trados.ini”. Cuando pulsemos Aceptar, veremos la versión bilingüe del XML, lista para traducir con TagEditor.

Después de realizar la tarea de traducción y de revisión, tenemos que crear el archivo XML de destino. Para ello, vamos a Abrir > Guardar destino como… o pulsamos Mayús. + F12. Elegimos un nombre y ruta donde guardarlo y pulsamos Aceptar.

Para terminar, abrimos Infix de nuevo y nos dirigimos al menú Document > Translate > Import XML… (Documento > Traducir > Importar XML) o pulsamos el atajo Ctrl + Alt + I. Si hemos cerrado el programa antes, Infix nos dirá que no puede importar el XML porque no lo ha exportado primero. Basta con que lo exportemos siguiendo las indicaciones anteriores y, acto seguido, importarlo de manera normal. Entonces Infix sustituirá el texto original por el de destino, con la opción de sustituir texto donde falte, y podremos ver el aspecto del PDF de destino. En caso de que tengamos que retocar alguna parte del texto, Infix nos dejará modificar el archivo con total libertad.

Puede ocurrir que Infix nos llame la atención acerca de que la fuente del texto no admite caracteres españoles, como las letras con tilde o la eñe. En ese caso, tenemos que señalarle al cliente este problema y, en su caso, sustituir la fuente problemática por otra. En el PDF de ejemplo, para poder trabajar más fácilmente con los cuadros de texto, se hace clic con el botón secundario del ratón cuando se esté editando un cuadro de texto y, en la lista desplegable que aparece, se selecciona Text Box Data Fields (Campos de datos de cuadros de texto) y, a continuación, cambiamos el valor de Move Objects Below (Desplazar objetos hacia abajo) de False (Falso) a True (Verdadero).

Para finalizar, guardamos el archivo como PDF pulsando Ctrl + S o bien en el menú File > Save (Archivo > Guardar). Si hay algún problema, como texto que no se ve en una tabla debido al tamaño de la celda, el programa nos lo indica. Aquí encontramos una de las limitaciones de la versión gratuita de este programa: si guardamos el destino como PDF, Infix añadirá una marca de agua, lo que queda cutre y poco profesional si pretendemos enviarle el documento a un cliente. No obstante, Infix nos da la posibilidad de pagar para que podamos guardar tres documentos sin marca de agua por un precio de 22 €, lo que no es un disparate si nos van a pagar una buena cantidad por la traducción. Otra posibilidad consiste en comprar una versión completa del programa, que vale 114 €, que, en mi opinión, se amortizan pronto si trabajamos con una gran cantidad de archivos PDF.

Debajo añado el enlace del tutorial en vídeo de Youtube:

2. En el caso de querer traducir el archivo con Swordfish II, lo exportaremos en Infix siguiendo las indicaciones anteriores. A continuación, tenemos que convertir el XML en un archivo XLIFF, que es con el que trabaja Swordfish. Abrimos el programa y vamos al menú File > Convert Files to XLIFF Format (Archivo > Convertir archivos a formato XLIFF). Pulsamos el botón Add files (Añadir archivos), buscamos el XML y señalamos los idiomas de origen y destino en el siguiente paso. Si tenemos probar para convertir el archivo, cambiamos el tipo de archivo en File Type y escogemos Generic XML (XML genérico). Procedemos con la traducción como con cualquier otra herramienta TAO y, para obtener el archivo XML de destino, vamos a File > Convert XLIFF Files to Original Format (Archivo > Convertir archivos XLIFF  al formato de origen), seleccionamos la ruta y el nombre con el que queremos guardar el archivo y pulsamos el botón Convert XLIFF File to Original Format. Para terminar, abrimos Infix e importamos el XML igual que con Tag Editor.

A continuación os dejo el tutorial en vídeo de Youtube:

Como veréis, el PDF es un formato que suele ocasionar problemas a la hora de traducir, pero, con unas buenas herramientas y alternativas, podemos evitarnos muchos quebraderos de cabeza y facilitarnos el trabajo. Y, por vuestra parte, ¿conocéis alguna otra forma de trabajar con documentos en PDF?

A continuación os dejo los dos tutoriales de la entrada subido a Screncast.com, con una mejor calidad.

INFIX + SWORDFISH II

INFIX + TAGEDITOR

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 93 seguidores