Traducir un eCommerce multiplicará tus ventas: es una inversión fácil y muy rentable. Pero la traducción debe hacerse bien, y eso no es fácil. Averigua como traducir tu...
Traducir un archivo XML es posiblemente uno de los retos más técnicos a los que se puede enfrentar un traductor profesional, y un encargo cada día más frecuente, debido al boom de traducciones eCommerce: tiendas online, apps, etc. ¿Cómo traducir un XML en Trados (la aplicación de traducción profesional más usada)? ¿Cómo definir qué etiquetas se traducen y cuales no? ¿Qué es eso de CDATA? ¿Cómo crear un filtro de traducción para archivos XML en Trados Studio?
Aquí os dejamos nuestro tutorial gratuito «Traducción de archivos XML en Trados Studio«, orientado a traductores profesionales con proyectos de traducción técnica o traducción de software. Descubre cómo crear un filtro de traducción XML en TRADOS, extraer etiquetas XML, gestionar texto incrustado HTML (CDATA), y definir qué se debe traducir y qué debe quedar bloqueado en TRADOS. Te guiamos paso a paso a lo largo de todo el proceso de importación de archivos XML en Trados, creación de un filtro XML a medida, control de calidad y exportación final a XML.
Los archivos XML son archivos de texto creados para etiquetar, ordenar y clasificar datos. Constan de una estructura formada por «elementos» que se ordenan de forma jerárquica para organizar y etiquetar datos de forma eficiente.
El formato XML surgió ante la creciente necesidad de almacenar y organizar más y más datos, y su éxito se debe a su característica principal: es un lenguaje «extensible». Es decir, XML plantea una serie de etiquetas predefinidas, pero se pueden crear otras nuevas!
Es un cambio brutal con respecto al HTML, un lenguaje cerrado, con etiquetas limitadas, centrado en cómo mostrar los datos en una página y no en qué tipo de datos son. Un eCommerce en Html muestra la información sin categorizar. Si fuera XML, tendría toda la información categorizada: ID, SKA, nombre del producto, código de barras, descripción, características, tallas, stock, forma de envío, etc. Esto hace de XML un lenguaje de programación mucho más «inteligente», y le permite gestionar mucho mejor datos complejos; es más potente y más versátil.
La estructura de cada XML es diferente, pero todos los XML comparten una misma lógica.
<?xml
y termina por ?>
. Indica la versión de XML, normalmente la 1.0, y también el juego de caracteres del documento (normalmente UTF-8). Suele incluir un enlace al DTD (definición de tipo de documento), un archivo que recoge la sintaxis de ese archivo XML en concreto y que es necesario para que un navegador web (parser) pueda interpretar su estructura. <
y acaba por />
. Un «elemento» tendría siempre 2 etiquetas, una etiqueta de apertura <Titulo>
y una etiqueta de cierre </Titulo>
. Pero también hay etiquetas vacías, como <linea />
. No se traducen.<profesor nombre="Bartolomé" apellidos="Sintes Marco" />.
Obviamente no se deben traducir los nombres de los atributos, pero sí los valores.<!--
y acaba por -->
. <!-- Esto es un comentario -->
. Normalmente no se traducen.<!ENTITY yo "El profesor">
. Cuando luego se escriba en XML la entidad &yo;
el procesador mostrará «El profesor». De nuevo el nombre de la entidad no se traduce, pero el valor sí.Es fundamental entender estos conceptos, y analizar la estructura del XML para saber qué debemos traducir y qué no. Es la base para crear un filtro en Trados y configurarlo de forma que importe solo los textos a traducir y bloquee el resto de etiquetas del XML.
Como traductores hemos visto un auge imparable del uso de XML en diversos sectores. Cada vez se traducen más y más archivos XML, especialmente en el mundo digital (antes todo eran HTML, ya no). Y es que la mayoría de webs de eCommerce y tiendas online, así como de aplicaciones de todo tipo, usan archivos XML o permiten exportar la información en este formato, ya que permite etiquetar mucho mejor la información, clasificándola según el tipo de dato.
Cada vez surgen más tiendas online y cada vez se traducen a más idiomas. Dado que la mayoría de plataformas de tiendas online trabajan sobre XML, cuando un cliente quiere traducir un eCommerce realizado WooCommerce, un Shopify, Prestahop, o Magento, suele enviar una exportación de sus contenidos en formato XML.
Casi todos los eCommerce, a la hora de exportar sus contenidos para enviar a traducir, generan un XML con todos los productos y características desglosadas y etiquetadas como hemos visto antes. Si es una tienda de ropa, en el XML veremos etiquetas como SKU, Marca, Producto, Descripción, Color, Talla, etc.. Si es una librería veremos ISBN, Título, Autor, Editorial, Año de publicación, etc.
También se usa el formato XML en la localización de software, que incluye traducción de software, aplicaciones de dispositivos móviles, videojuegos, etc. Ya sea XML estándar o alguna de sus variantes, los contenidos se exportan siempre en XML para enviar a traducir.
En todo caso comentar que los XML son viejos compañeros en el sector de la traducción profesional. Muchas herramientas de traducción (TAO/CAT) usan XML para almacenar las traducciones: son los llamados archivos bilingües, que incluyen el texto en el idioma de origen y su correspondiente traducción, así como otros metadatos. Así surgió el formato XLIFF (XML Localization Interchange File Format, en inglés), que hoy en día es el estándar en archivos bilingües. Algunas herramientas TAO, como Trados Studio o memoQ, disponen de formatos propios (SDLXLIFF y MQXLIFF, respectivamente) que, en realidad, son variaciones de este estándar XML. Y también pertenecen a la familia XML los archivos TMX, un standard usado por traductores y agencias para intercambiar memorias de traducción entre diferentes herramientas TAO.
Para traducir un archivo XML debes analizar y entender bien su estructura y crear un filtro en Trados que defina qué textos hay que traducir (nombre, descripción, características…) y cuales queremos bloquear y mantener sin traducir (ID, marca, etc). La clave está en la configuración del filtro y la correcta gestión de contenido Html incrustado (CDATA), muy habitual en traducción web.
Cuando recibimos archivos de tipo XML para traducir o presupuestar, conviene analizarlos con un editor de texto avanzado, como Notepad++, para entender cómo está estructurada la información y para detectar posibles problemas que vengan ya de origen (algo muy habitual por desgracia: problemas de codificación, errores de sintaxis, etc).
Cada XML es distinto, pero en general hay seguir 3 pasos.
1. Confirmar que se trata de un XML. Verificar la declaración inicial al inicio del documento, y confirmar la validez del encoding (según el par de idiomas, pero en general UTF-8).
2. Analizar la estructura del XML. Es clave entender bien la estructura de elementos, poniendo especial atención a su jerarquía, así como detectar elementos que no sea necesario traducir.
– Jerarquías. En la imagen de arriba, el elemento post engloba a su vez a los elementos id, title y content, por lo que, si indicamos a Trados que no procese post, tampoco se procesarían todos las demás, puesto que son elementos hijos, que cuelgan de post.
– Elementos no traducibles. En la imagen de arriba, vemos el elemento id, que es es un código numérico y por tanto no va a cambiar en el archivo traducido, por lo que podemos pedirle a Trados que no lo importe.
Si traducimos un WordPress con WPML, debemos contar que este plugin genera archivos XLIFF bilingües, es decir el contenido estará duplicado entre etiquetas source y target, por lo que debemos marcar en Trados las primeras como no traducibles, para que el recuento de palabras sea preciso y no haya problemas a la hora de importar las traducciones de vuelta en WPML.
3. Gestionar contenido Html incrustado (CDATA). Dado que los XML de origen pueden ser resultado de exportar un sitio web, videojuego, aplicación, etc., es muy habitual encontrarnos con lenguaje HTML dentro del propio XML. Con el fin de que este lenguaje no sea interpretado por error como lenguaje XML, se usan las etiquetas CDATA de apertura y de cierre, como en la siguiente imagen:
Este texto también debe ser traducido, claro. Pero ojo porque incluye etiquetas HTML que hay que respetar y entender. Lo ideal de hecho es crear algunas reglas nos ayuden a visualizar lo que estas etiquetan van a hacer con los contenidos cuando se visualicen el¡n la página: titulos en tamaño grande, negritas, listados, etc.
4. Variables. En software y videojuegos se recurre a las variables, que son elementos que no tienen un texto en concreto, sino que cambian según lo que se haya indicado en otros lugares o según las circunstancias de un momento en concreto. Algunos ejemplos frecuentes de variables son las fechas, los numerales o el nombre de usuario, como se aprecia esta captura:
Aunque Trados ya trae de serie varios filtros para procesar archivos XML, dichos filtros están preparados para archivos estándar y normalmente no muy complejos y, dado que, como hemos comentado antes, el formato XML es muy flexible, habitualmente no son aptos o se quedan cortos para importar bien los archivos de origen en Trados….
Para traducir archivos XML con TRADOS lo mejor es crear un filtro 100% personalizado, lo que nos ahorrará muchos dolores de cabeza. Además podremos reusarlo para futuros proyectos, ahorrándonos un tiempo considerable y garantizándonos que siempre usemos el mismo filtro para el mismo tipo de archivos XML.
Para crear un filtro XML en Trados, una vez hecho el análisis previo de los archivos XML, iremos a Trados y pulsaremos Ctrl + N para crear un proyecto nuevo. Accederemos a los filtros ya existentes haciendo clic en el botón con el icono de una rueda dentada situado a la derecha de la columna Identificador de tipo de archivo. Se abrirá entonces una nueva ventana donde podremos crear un filtro pulsando en el botón Nuevo.
Si ya tenemos creado el proyecto, podemos acceder a la misma ventana haciendo clic en Configuración del proyecto:
En la siguiente ventana decidiremos el filtro que queremos usar como base para procesar los archivos de origen según caso. Lo más habitual es recurrir a cualquiera de los dos últimos de la lista o de XML 2 si los archivos de origen cumplen con ese estándar, aunque para explicar el proceso escogeremos el filtro XML con contenido incrustado antiguo, porque es un poco más personalizable que el filtro «XML con contenido incrustado normal».
Ahora le daremos el nombre que queramos al filtro, para poder diferenciarlo de otros filtros de XML y cambiaremos la extensión que Trados usará como referencia, en el caso de que los archivos de origen tengan una extensión distinta.
Para extraer todas las etiquetas que conforman la estructura de un XML, indicaremos a Trados que utilice uno de los archivos de origen como plantilla (por ejemplo, el más grande de todos). Selecciona Definir la configuración basada en un archivo de reglas, pulsa Examinar, y escoge el archivo XML.
Como en el análisis previo hemos visto que no hay que traducir el contenido de las etiquetas id
, indicaremos a Trados que se trata de etiquetas no traducibles. Escoge el elemento id
, pulsa Editar y selecciona No traducible.
Tras haber hecho los cambios necesarios, pulsa el botón Finalizar para cerrar el asistente de creación de filtros. Ahora podremos recurrir a la vista previa para ver el aspecto que tendrían los archivos de origen si los importásemos con la configuración actual del nuevo filtro.
Veamos qué ocurre con nuestro archivo de ejemplo:
Aunque el texto es legible a priori, todavía hay que mejorar la importación del código HTML, las variables, el tamaño de los segmentos, etc. Optimizar todos estos aspectos contribuye a mejorar y a agilizar la traducción de archivos XML.
No es obligatorio, pero nosotros recomendamos siempre convertir las etiquetas Html a etiquetas Trados, ya que así el propio control de calidad de Trados nos avisará si estas etiquetas son borradas durante la traducción o revisión del archivo.
Para traducir correctamente el texto dentro de CDATA, debemos indicarle a Trados que es Html, para que no lo trate como texto plano, sino que lo convierta a etiquetas. Busca en la columna de la izquierda Contenido incrustado antiguo, marca Extraer en estructuras de contenido definidas, pulsa Agregar y selecciona Sección CDATA.
Ahora ya podemos añadir todas las reglas que sean necesarias indicando si se tratan de marcadores de posición (una etiqueta única, como las variables o la etiqueta br para saltos de línea del lenguaje HTML) o de pares de etiquetas (una etiqueta de apertura y su correspondiente etiqueta de cierre), como las etiquetas p, ol o li.
Podemos recurrir a una regla conjunta que incluya varias o todas las demás reglas o añadir reglas de una en una. En cualquier caso, necesitaremos tener al menos unas nociones de Html y de expresiones regulares o regex para poder hacerlo de forma correcta (la expresión «.*?» significa «seguido de cualesquiera caracteres».
<p.*?>.
Etiqueta de cierre <\/p.*?>
.<b.*?>
. Etiqueta de cierre <\/b.*?> Ojo porque hay etiquetas jerarquizadas y es necesario añadirlas empezando por la que ocupe el nivel superior, por ejemplo las relativas a tablas (table
, tr
, td
, …) y a listas (ol
, li
, ul
, etc.).
También debemos crear reglas para todas las variables que encontremos, en su caso. En la captura anterior, la regla &\{.*?\}
sirve precisamente para convertir las variables que empiezan por &
y seguidas por texto entre llaves.
Ahora volvemos a recurrir a la vista previa para saber cómo queda la misma sección tras añadir las reglas que aparecen en la captura anterior. El resultado es mucho mejor!
Truco 1: cambios en la segmentación
Podemos ocultar algunas etiquetas que molestan durante el proceso de traducción y no aportan nada, como las ol. Para ello basta con ir a Avanzada y escoger Comportamiento del marcador de posición: excluir.
Truco 2: cambios en el aspecto en pantalla
También podemos adaptar el formato del contenido de una etiqueta para que sea más parecido al aspecto que tendrá en la pantalla del usuario. Por ejemplo, podemos hacer que los títulos (H1, H2
) aparezcan mas grandes o que el texto de las etiquetas b
o strong
aparezca en negrita.
Una vez hayamos terminado de crear el filtro, importaremos los archivos XML desde el asistente de creación de proyectos de Trados, igual que haríamos con cualquier otro archivo de origen.
En cambio, si ya hemos creado el proyecto, usaremos la opción Agregar archivos > Agregar rápidamente archivo situada en la pestaña Inicio de la cinta superior de Trados.
Ahora queda abrir el archivo SDLXLIFF resultante en el Editor y comprobar que el filtro XML ha funcionado correctamente. Esta tarea es de especial importancia si hay muchos archivos de origen o si son muy extensos o complejos, ya que es posible que no hayamos detectado alguna etiqueta o variable que deberíamos haber bloqueado también.
Podemos encontrar las etiquetas y variables no procesadas gracias a los filtros de segmentos de Studio, donde buscaremos los paréntesis, corchetes y llaves de apertura y cierre y otros elementos que se hayan empleado para crear las variables en unos archivos en concreto.
Al hacer la búsqueda en nuestro archivo de texto, descubrimos que todavía hay varias etiquetas HTML que aparecen como texto normal:
Así pues, habría que pulir el filtro para corregir este problema. Para tal fin, volvemos a Inicio > Configuración del proyecto > Tipos de archivo, buscamos el filtro en cuestión y añadimos todas las etiquetas que falten del mismo modo que hemos hecho antes.
Dado que el SDLXLIFF del proyecto fue creado siguiendo las reglas antiguas del filtro, es muy importante recordar quitarlo del proyecto en el panel Archivos, y siempre desde el idioma de origen.
Después volveremos a importar los archivos de origen y repetiremos las búsquedas que hicimos antes para asegurarnos de que ya no haya etiquetas o variables sin procesar.
Para confirmar que has configurado bien el filtro XML y las reglas HTML, Trados cuenta con una función muy útil: la pseudo-traducción. Mediante esta función, Trados rellena los segmentos del idioma de destino con traducciones falsas o palabras cogidas al azar, para comprobar que vamos por el buen camino:
Para pseudo-traducir los archivos que hemos preparados, ve a Tareas por lotes > Pseudo-traducir.
En la ventana que se abre a continuación, podemos cambiar algunas opciones, pero las que vienen marcadas por defecto sirven para la mayoría de las combinaciones de idiomas. Aquí el resultado con nuestro archivo de prueba:
Una vez terminado el proceso, tan solo quedaría crear los archivos de destino pseudo-traducidos usando la función Tareas por lotes > Generar traducciones de destino. Si podemos, es buena idea enviar los archivos al cliente para que los importe en su sistema. Si el filtro ha sido creado de forma adecuada y el cliente ha llevado a cabo el desarrollo teniendo en cuenta todas las peculiaridades de los diferentes idiomas (lo que se conoce como «internacionalización», o i18n), la importación debería funcionar bien. Salvo errores inesperados, esos archivos XML se deberían poder procesar y traducir en Trados sin mayor problema.
Ojo, al terminar recuerda borra la pseudo-traducción! Abre los archivos en el Editor, selecciona todos los segmentos haciendo clic en el cuadro situado encima del primer segmento y pulsa en «Alt + Suprimir» para borrar el contenido de los segmentos de destino.
Ahora sí puedes enviar los archivos a traducir, ya sea como SDLXLIFF o como parte de un paquete de Trados Studio.
Nada que comentar aquí, con todo bien configurado, traducir un XML es como traducir cualquier otro texto en Trados.
Cuando recibamos el paquete o los archivos SDLXLIFF traducidos o revisados, tendremos que actualizar nuestro proyecto de Trados antes de poder proceder con las siguientes tareas.
Actualización del proyecto usando un paquete de retorno
Si enviamos los archivos a traducción o revisión creando un paquete desde
Trados (función para la cual es necesaria la versión Project Manager del programa), deberíamos haber recibido un paquete de retorno (formato SDLPRX), el cual importaremos desde Proyectos > Abrir paquete. Si todo funciona como es debido, Trados actualizará el proyecto de forma automática.
Actualización del proyecto importando los SDLXLIFF traducidos
Por el contrario, si lo que hicimos fue enviar archivos SDLXLIFF sueltos a los traductores o revisores, el proceso es un poco diferente.
Aunque no es obligatorio, sí es recomendable crear primero una copia de seguridad de los SDLXLIFF tal cual los tenemos ahora en el proyecto. A continuación, los copiaremos y los pegaremos en la subcarpeta del idioma de destino correspondiente dentro de la carpeta donde hayamos guardado el proyecto de Trados , a la vez que sobrescribimos los SDLXLIFF antiguos. Sin embargo, dado que hemos hecho estos cambios fuera del programa, en un primer momento parecerá que Trados no se ha enterado de que estos SDLXLIFF ya no son los que había entonces, por lo que el porcentaje que muestra cuánto se ha traducido del archivo no habrá cambiado. Por tanto, tendremos que recurrir a la opción Recuento de palabras traducidas, que encontraremos en Tareas por lotes.
Cuando Trados termine de ejecutar la tarea, veremos los porcentajes correctos y podremos continuar con los pasos que describimos en las siguientes páginas del artículo.
Ajustes del control de calidad
Una vez hayamos importado los archivos XML traducidos y revisados al proyecto de Trados, y antes de exportar los archivos de destino, conviene pasar el control de calidad del programa para detectar posibles errores de etiquetas que pudieran impedir que Trados cree los archivos de destino o que estos puedan ser importados de vuelta en el sistema del cliente.
Podemos ajustar las opciones referentes al control de calidad de etiquetas en Configuración del proyecto > Verificar > Verificador de etiquetas > Común.
Los ajustes a los que debemos prestar más atención son aquellos mediante los cuales Trados nos avisa siempre que se hayan borrado o añadido etiquetas. También es interesante saber si se ha cambiado el orden de las etiquetas, aunque estos cambios pueden estar justificados por cuestiones inherentes al idioma de destino, como el orden sintáctico.
Asimismo, aunque los ajustes por defecto que muestra Trados funcionan para la gran mayoría de proyectos, podemos cambiar el nivel de gravedad que mostrará el programa cuando detecte un error en concreto:
Funcionamiento del control de calidad
El control de calidad de Trados está siempre activo. De esta forma, si se confirma un segmento con errores, el programa lo mostrará de forma visual mediante un icono que será diferente según el nivel de gravedad (es decir, no se abrirá ninguna ventana emergente).
También es posible pasar el control de calidad a uno, a varios o a todos los archivos del proyecto en bloque como una etapa más antes de exportar los archivos de destino. Para tal fin, ejecutaremos la tarea desde el «Editor» o desde la lista de «Archivos» del proyecto pulsando el botón «Tareas por lotes» de la pestaña «Inicio» y eligiendo «Verificar archivos» en el menú desplegable.
Cuando Studio acabe la tarea, podremos ver los resultados en la pestaña Informes. Estos resultados los podremos guardar en varios formatos, como XLSX y HTML.
En la columna Segmento podemos ver el número de segmento del archivo en concreto donde se ha detectado el posible error. Dicho número es un enlace, así que, si hacemos clic, el programa abrirá directamente ese archivo en ese segmento en concreto en el Editor.
Como truco, podemos hacer que Studio nos muestre solo los segmentos que contentan posibles errores gracias a los filtros de segmentos. Para tal fin, tendremos que elegir el criterio Con mensajes (se refiere a mensajes de error).
Cuando hayamos corregido todos los errores (ignorando los falsos positivos), ya podremos exportar los archivos de destino traducidos en el mismo formato que los originales. Tan solo tendremos que ir a Tareas por lotes y elegir la opción Generar traducciones de destino.
Encontraremos los archivos de destino en la subcarpeta correspondiente al idioma de destino dentro de la carpeta donde hayamos guardado el proyecto de Trados. En el caso de la siguiente captura, esta carpeta es en-US (inglés de Estados Unidos).
Una vez tengamos los archivos de destino exportados desde Trados , conviene comprobar su integridad comparándolos con los archivos de origen. Para tal fin, podemos recurrir a programas como Beyond Compare, que compara estructuras de carpetas y archivos. Así se pueden ver de forma rápida y cómoda las diferencias entre un archivo XML de origen y su traducción y descubrir si hay algún error que debamos subsanar antes de enviarle el archivo a nuestro cliente.
Una alternativa gratuita a Beyond Compare a la que podemos recurrir para hacer estas comparaciones es WinMerge.
Felicidades, has logrado tu objetivo de traducir archivos XML. Ahora, antes de apagar, te recomendamos aprovechar que Trados permite guardar el filtro XML personalizado que has creado, para reutilizarlo en futuros proyectos del mismo cliente o donde toque lidiar con archivos de características semejantes.
Para guardar tu filtro XML, ve a Configuración del proyecto > Tipos de archivo, selecciona el filtro XML y pulsa el botón Exportar configuración. Así obtendremos un archivo con extensión sdlftsettings que podrás recuperar en otros proyectos de traducción de XML pulsando Importar configuración en esta misma ventana.
Te dejamos aquí los 2 archivos usados en este artículo:
¿Buscas una agencia capaz de gestionar de forma segura archivos XML con elementos, etiquetas y bloques incrustados de Html (CDATA)? ¿Tienes que traducir los contenidos de una App o un eCommerce exportados en archivos XML?
Traducir archivos XML es delicado. El riesgo de que alguien inexperto traduzca lo que no toca o borre accidentalmente alguna etiqueta es demasiado alto… No te la juegues. Déjanos ayudarte. Sin compromiso. Tenemos más de 20 años de experiencia en traducción de sitios web de todo tipo. Te aconsejaremos sobre la mejor manera de abordar tu proyecto con plenas garantías, al coste más ajustado y en el menos plazo posible.
Más articulos sobre Internacionalizar software implica traducir y localizar archivos de código y eso no siempre es fácil. Aprende a traducir y localizar software como un profesional.
Traducir un eCommerce multiplicará tus ventas: es una inversión fácil y muy rentable. Pero la traducción debe hacerse bien, y eso no es fácil. Averigua como traducir tu...
Guía completa para traducir webs Wordpress de forma profesional. Actualizada 2022. Aprende a traducir tu WordPress. ¿Cómo hacer que tu Wordpress sea multilingüe? ¿Qué plugin...
Descubre WPML ¿Es realmente el mejor plugin de traducción de Wordpress? ¿Cuánto cuesta WPML? ¿Cómo funciona? Aprende a traducir Wordpress con WPML. Descubre cómo exportar...