Estás en: Inicio Blog

Blog

Este es el blog corporativo de 4Visions. Aquí encontrarás información sobre nuestra empresa, 4Visions Manager y la maravillosa tecnología que lo hace todo posible. Pero también artículos de interés para traductores.

0

Cómo se traducen los sitios web, técnicamente

Asier Marques // 24/04/2012 // Herramientas para traductores

Sin duda una de las partes más evidentes de la internacionalización de un sitio web es la traducción al idioma del usuario.

Actualmente es muy común que los sitios web muestren su interfaz en un idioma u otro, dependiendo del idioma de su navegador o de los datos de sesión configurados en la aplicación web que estos utilicen.

Desde hace años van apareciendo cada vez más opciones para conseguir facilitar esta tarea para que los traductores puedan hacer bien su trabajo sin tener que preocuparse por navegar por todo el sitio web en cuestión o ver código html, esto no debería hacerse en 2012 bajo ningún concepto.

Muchas empresas incluso llegan a diseñar sistemas que permiten traducir directamente en la propia interfaz del sitio web o en un panel de control web específicamente diseñado para esto.
Pero lo común es tener las cadenas en archivos de traducción que sigan un formato específico, formato capaz de ser leído por editores de texto específicamente diseñados para que los traductores trabajen sobre estos archivos de forma cómoda y rápida.

Antiguamente, dependiendo del diseño, había contenido en formato imagen que debía ser editado por un editor gráfico para poder modificarse. Hoy en día es posible tener en formato texto prácticamente todas las cadenas de un sitio web sin importar el diseño gracias a los avances de las hojas de estilo CSS y de javascript. Es muy raro que un diseño necesite tener varias imágenes para cada uno de los idiomas de la aplicación.

Otra parte de la web que podría parecer difícil de traducir son los scripts javascript que hace años se utilizaban raramente para otra funcionalidad que no fuese validar formularios o evitar hacer clic derecho en el sitio web.

Sin embargo, hoy en día Javascript está tomando una importancia muy grande y se utiliza para cosas más complejas que en el pasado, de hecho la tendencia es que las aplicaciones web estén enteramente desarrolladas en este lenguaje, al menos en su interfaz.

Javascript, al igual que el resto de lenguajes de programación más utilizados en la actualidad, dispone de múltiples opciones que son compatibles con los formatos anteriormente comentados y que se describen a continuación.

Posibles formatos

GetText

GetText es la opción más antigua y extendida para traducir sitios web a través de archivos de cadena externos al código de la aplicación.

Técnicamente lo único que es necesario en la aplicación es escribir las cadenas en el lenguaje en el que esté programado el sitio web, por ejemplo, en php sería:

<h2><?php echo __("Título a traducir", "dominio") ?></h2>

Hay utilidades que luego nos permiten extraer todas las cadenas de la aplicación en un archivo .pot.
Después, con un editor de traducciones como poEdit generaremos cómodamente un archivo .po al idioma o locale deseado.

GetText está tan extendido que está disponible en prácticamente todos los lenguajes de programación que existen, incluidos javascript, php, c#…, es muy raro que exista un lenguaje que no tenga alguna librería o soporte para GetText.

XLIFF

XLIFF es muy parecido en concepto a GetText, pero técnicamente se basa en archivos XML en lugar de archivos de texto.

A nivel de programación, lo ideal es que los programadores sigan la convención de GetText que hemos visto antes y que, mediante configuración, permitiese modificar el tipo de formato a utilizar, GetText, XLIFF u otra cosa.

Sin embargo, a los traductores lo único que les debería preocupar es el formato XML generado según XLIFF, un ejemplo sería el siguiente:

<trans-unit approved="no" xml:space="contexto">
 <source xml:lang="es">
   Texto en castellano
 </source>
 <target xml:lang="en"/>
   Text in english
 </target>
</trans-unit>

Al igual que con GetText existen editores que permiten trabajar con los archivos XML que hemos generado.

YAML

YAML en sí no es un formato diseñado para traducir cadenas sino para presentar archivos de configuración, pero es un formato que se puede usar con este propósito.

Un ejemplo de archivo YAML puede ser el siguiente:

#en archivo cadenas-en.yml
string-id:
   original:   "Texto en castellano"
   translated: "Text in english"
string-id2:
   original:   "Texto en castellano 2"
   translated: "Text in english 2"

En este caso los nombres y la estructura del archivo son libres y dependerán de cada aplicación y cómo se haya decidido presentar las cadenas.

En código (Arrays)

Otra opción frecuente es tener las cadenas en un archivo de código que contiene cadenas asignadas a un array o matriz dentro del lenguaje de programación elegido.

Un ejemplo de esto en php sería:

// en el archivo cadenas-en.php
$variable["clave_de_la_cadena"]  = "Text in english";
$variable["clave_de_la_cadena2"] = "Text in english2";

Espero que este artículo os haya servido para comprender y conocer las opciones más populares que se están utilizando actualmente para traducir sitios web y aplicaciones de todo tipo.

¡Suscríbete!

Probarás la versión 1.0 antes que nadie.

Últimos posts en nuestro blog

  • Image28

    No hablemos más de tarifas

    08/05/2012 // Seguir leyendo

  • pablo

    Entrevista a Pablo Muñoz, el traductor que hace algo más que traducir

    02/05/2012 // Seguir leyendo

  • Developers

    Cómo se traducen los sitios web, técnicamente

    24/04/2012 // Seguir leyendo

  • la foto (2)

    Presupuestos: ¿a quién corresponde hacerlos?

    17/04/2012 // Seguir leyendo