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

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.

Seguir

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

Únete a otros 98 seguidores