# data[].attributes.body
El texto informático siempre está representado según un conjunto de caracteres ("character set") y una codificación ("encoding"). Esta última hace referencia a la forma en que se codifica un determinado caracter ("ñ") en otro sistema de representación ("&ntilde;").

# data[].attributes.body
La accesibilidad web es un aspecto que en un primer momento puede pasar desapercibido, pero que el localizador no debería perder de vista. Del mismo modo en que la traducción tiende puentes entre culturas, la accesibilidad tiende puentes entre productos digitales y usuarios con diversidad funcional. Es importante que el localizador atienda a estos aspectos, para que el fruto de su trabajo pueda preservarlos. Además, resultará muy interesante que sea capaz de proponer o llevar a cabo cambios que hagan accesible un sitio web que antes no lo era.

# data[].attributes.body
El HTML es el lenguaje sobre el que se construyen las páginas web. Su función es la de estructurar el contenido definiendo, por ejemplo, párrafos, encabezados y tablas de datos mediante etiquetas, o insertando imágenes y vídeos. Que el localizador esté familiarizado con este lenguaje y su funcionamiento será esencial a la hora de comprender el origen de los problemas que puedan surgir durante el proceso de traducción y de encontrar la forma de solventarlos.

# data[].attributes.body
Por ello, antes de comenzar a localizar sitios web, es aconsejable que el localizador se familiarice con las características de este lenguaje a través de la práctica, del ensayo y error. A continuación, algunos ejemplos de prácticas que he llevado a cabo como parte de mi formación.

# data[].attributes.body
Creación de un sitio web desde cero, que presenta tres páginas web conectadas entre sí mediante un menú de navegación.

# data[].attributes.body
Creación de un sitio web desde cero, con un menú responsive o "menú hamburguesa", que se contrae o expande dependiendo del tamaño de la ventana.

# data[].attributes.body
CSS es un lenguaje de reglas de estilo que se utiliza para aplicar estilo al contenido HTML. Entre sus funciones destaca la de establecer un color de fondo, el tipo de letra, distribuir el contenido en columnas, etc. El CSS es la segunda capa de las tecnologías web estándar, siendo HTML la primera y JavaScript la tercera.

# data[].attributes.body
El CSS aporta un valor añadido a HTML y debe aprenderse una vez se comprende el anterior. En la mayoría de sitios web estos dos lenguajes se combinan. Es importante que el localizador sepa trabajar con ellos, ya que los archivos CSS pueden contener:

la definición de elementos formales que han de adaptarse según la cultura (colores, dirección del texto...)

texto traducible

imágenes localizables

# data[].attributes.body
JavaScript es un lenguaje de secuencias de comandos que permite implementar funciones complejas en páginas web.
En ocasiones, el texto que se debe traducir no se encontrará únicamente en archivos .html, sino que podrá estar alojado en archivos .js. Por este motivo, es importante que el localizador conozca este lenguaje y sepa trabajar con él.

# data[].attributes.body
El estilo puede aplicarse:

a un elemento concreto [incrustado dentro de un HTML]

en una página para toda esa página

No obstante, no se debería poner formato dentro de HTML. En HTML 5 está prohibido y en HTML 4, aunque se admite, no se  recomienda por temas de accesibilidad.

# data[].attributes.body
Este concepto resulta fundamental para adquirir los conocimientos básicos necesarios para llevar a cabo la traducción de sitios web. Hace referencia a la carpeta en la que se encuentran alojados todos los archivos que conforman el sitio web.

# data[].attributes.body
Los hipervínculos son las conexiones entre uno y otro archivo. El ejemplo más sencillo se corresponde con los hipervínculos presentes en los menús de navegación, por los que desde un página se accede a otra del sitio web.
La etiqueta HTML para los hipervínculos es
<a href="ruta al archivo"> texto</a>

# data[].attributes.body
Es aquí donde entran en juego los conocimientos sobre la estructura de los sitios web y de las rutas. El ejemplo que se presenta está alojado en un archivo html que se encuentra directamente en el directorio raíz [index.html]. En la imagen del directorio raíz [1] vemos que el localizador ha creado una estructura multilingüe por la que los archivos de cada idioma se encuentran en su carpeta correspondiente ("en" o "es"). Así, al emplear la etiqueta, la llamada al archivo ("ruta al archivo") debe indicar que esos archivos no se encuentran en la misma ubicación, sino que el programa debe entrar en una carpeta ("en/" o "es/"). Sin esta parte de la ruta, no llegaríamos a la página de inicio de cada idioma.

# data[].attributes.body
Selector de idioma en la ventana de redirección

# data[].attributes.body
Al trabajar con cualquier archivo de los mencionados anteriormente, los conocimientos sobre codificación de caracteres serán relevantes. Se trata de algo muy básico, al tiempo que fundamental para cualquier localización. La correcta visualización de los caracteres que conforman el texto traducido será esencial para dar por finalizado el trabajo. Poseer conocimientos sobre código fuente y codificación ahorrará tiempo y quebraderos de cabeza al traductor.

# data[].attributes.body
Durante la localización de la web de Hungry House, nos encontramos con un ejemplo de archivo .js que contenía tan solo una línea de mensaje, pero que debía ser traducida.

# data[].attributes.body
Al hacer clic en el icono de la impresora, aparecía una pequeña pantalla emergente a modo de comprobante del pedido.

# data[].attributes.body
Esta ventana no era más que un archivo .html [print.htm] en el que aparecía una llamada al archivo .js que contenía el mensaje traducible. Observamos cómo para llamar al archivo se emplea una ruta relativa, ya que el .js se encuentra en otra ubicación [../../js(text.js].

# data[].attributes.body
El mensaje contenido en este tipo de archivo podría traducirse manualmente en un editor de texto como BBEdit o Notepad++, o en una herramienta TAO. Aunque algunas TAO como Trados no cuentan con filtros para traducir este tipo de archivos, podemos hacer uso de ellas igualmente, al cambiar la extensión de .js a .txt.

# data[].attributes.body
En la siguiente práctica entran en juego las diferencias entre lenguas y culturas. El sitio web incluye una función que saluda al usuario de una forma u otra según la hora del día. Los saludos se utilizan de manera distinta en España, ya que los horarios difieren, lo que obligará al localizador a modificar la función creada con JavaScript.

# data[].attributes.body
Las herramientas TAO (Traducción Asistida por Ordenador) son programas informáticos que asisten el proceso de traducción con el fin de incrementar la productividad y de optimizar el esfuerzo del traductor. Entre ellas destacan SDL Trados Studio o Memsource.

# data[].attributes.body
La creación de un proyecto de traducción en una herramienta TAO como Trados permite al localizador:

crear una memoria de traducción que podrá aprovechar para futuros proyectos

aprovechar memorias de traducción de proyectos anteriores

# data[].attributes.headline
Proyecto de traducción creado para la localización de UNMHealth

# data[].attributes.subject
Proyecto de traducción creado para la localización de UNMHealth

# data[].attributes.body
La herramienta de pseudotraducción que tienen algunas TAO como Trados o Rainbow (Okapi Applications), permitirá al localizador producir sin mayor esfuerzo un archivo pseudolocalizado, que tras devolverlo al producto que se localiza mostrará si se ha producido algún error en la extracción de texto. Por ejemplo, que haya mensajes de la aplicación que no hayan sido extraídos y que, por tanto, no puedan localizarse.

# data[].attributes.body
Captura de la aplicación SuperTuxKart, en la que el mensaje "Splitscreen Multiplayer" no se ha extraído corractamente, por lo que al pseudolocalizar el archivo con Trados, este texto no se pseudotraduce.

# data[].attributes.body
Las TAO permiten crear etiquetas (moradas, en el caso de Trados), que bloquean variables que no deben modificarse (no traducibles), pero que no podemos olvidar pasar al segmento de destino. Además, en Configuración de proyecto se puede pedir al programa que lance un aviso cuando se nos olvide pasar alguna de estas etiquetas. La traducción de los archivos desde Trados evita que el localizador modifique el código del archivo por error o sin darse cuenta al intervenir en el texto.

# data[].attributes.body
Etiquetas capturadas en Trados

# data[].attributes.body
Como veíamos en el ejemplo anterior, existen archivos para los que las TAO no tienen filtro. Además de la opción de convertir a .txt, en el caso de Trados es posible crear un filtro mediante expresiones regulares para traducir los archivos JavaScript.

# data[].attributes.body
Del mismo modo, podría resultar necesario indicar al programa que debe salir de una carpeta (../) para, a continuación, entrar en otra en que se encuentre el archivo en cuestión. (../es).

# data[].attributes.body
Selector de idioma de la página de inicio en inglés

# data[].attributes.body
en una hoja de estilos

En una hoja externa (archivo .css). En uno o varios archivos .html se incluye un vínculo al CSS en la cabecera (<head>):

# data[].attributes.body
con discapacidad motora

con discapacidad auditiva

con discapacidad visual

con discapacidad cognitiva

cualquier usuario en un momento dado

# data[].attributes.headline
Ejemplo de accesibilidad para personas con discapacidad visual

# data[].attributes.subject
Ejemplo de accesibilidad para personas con discapacidad visual

# data[].attributes.body
El texto alternativo es un atributo HTML que se utiliza para describir una imagen. Es importante no olvidarse de traducirlo porque ayuda a los software de lectura a describir las imágenes para los usuarios con discapacidad visual.

# data[].attributes.body
Al localizar o gestionar sitios multilingües pueden aparecer problemas como que los vínculos estén "rotos" o que ciertas imágenes no se muestren. Comprender al cien por cien cómo es la estructura del sitio web que localizamos, qué son las "llamadas" a otros archivos dentro de un archivo y cuál es la ubicación de esos archivos a los que se "llama" facilitará mucho el trabajo.

# data[].attributes.headline
Ejemplo de accesibilidad para personas con daltonismo

# data[].attributes.subject
Ejemplo de accesibilidad para personas con daltonismo

# data[].attributes.body
Los lenguajes de programación son lenguajes formales que permiten al programador escribir secuencias de órdenes en forma de algoritmos para controlar el comportamiento de un sistema informático. Existen dos tipos de lenguaje de programación: compilados (la mayoría de ellos, entre los que destacan C++ o Java), que se ejecutan directamente; e interpretados, como JavaScript, que son interpretados antes de ejecutarse.

# data[].attributes.body
Al localizar software, se trabajará con archivos que, para que se puedan visualizar sobre la aplicación o producto que se esté localizando, habrá que volver a compilar. A pesar de que esto podría considerarse tarea del informático y no del localizador, siempre supondrá un valor añadido. Además, resultará muy conveniente porque permitirá al localizador comprobar, una vez finalizada la localización, que el funcionamiento y la visualización son correctos, y asegurarse así de que ha realizado un buen trabajo.

# data[].attributes.body
Al realizar y evaluar una práctica de localización de Dev C++, observamos cómo algunas partes de la aplicación pueden quedar sin traducir por encontrarse en ficheros periféricos, y la aplicación compilada nos enseña a verlo:

# data[].attributes.body
Compilar la aplicación ayuda también a comprobar si la visualización de los caracteres es correcta:

# data[].attributes.body
Al trabajar con esta aplicación, nos encontramos con un error de codificación en el selector de idioma: en lugar de "Català", aparece lo siguiente:

# data[].attributes.body
Para arreglar el problema simplemente tenemos que abrir el archivo .properties en inglés con Notepad++, buscar la línea y cambiar el símbolo por el caracter "à". A continuación, lo convertimos a ANSI (sistema de codificación de caracteres de Windows) para que funcione correctamente. Una vez codificado, cambiamos el juego de caracteres a ISO8859-1.

# data[].attributes.body
Para comprobar la accesibilidad de un sitio web pueden utilizarse diversos métodos. Entre ellos destacan:

los lectores de pantalla como NVDA o ChromeVox.

la navegación por encabezados que permiten aplicaciones como HeadingsMap o Wave.

la navegación con el teclado

la desactivación de CSS, JS...