La internacionalización en las páginas web

martes, 24 de junio de 2014

Usuarios de diferentes países y con diferentes culturas necesitan servicios adaptados correctamente para procesar información usando su idioma de origen, su sistema de escritura, su sistema de medida, sus calendarios y otras reglas y convenciones culturales.
La especificación de un conjunto particular de convenciones culturales es importante para que un sitio Web procese la información que intercambia con el usuario correctamente. Hay muchas preferencias que un sitio Web debe ofrecer para que sea considerado usable y aceptable por los usuarios a nivel mundial.
Al existir un variado número de preferencias o de circunstancias culturales o de idioma, es importante utilizar identificadores basados en el idioma y lugar como referente para recoger información sobre las preferencias de los usuarios. Por ejemplo HTML usa el atributo lang para indicar el idioma de segmentos de contenido. XML utiliza el atributo xml:lang con el mismo objetivo.
La utilización de estos identificadores de idioma son muy importantes. Por ejemplo, es un requisito imprescindible identificar el idioma de nuestra página al inicio del documento, antes de head, de la siguiente forma:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
También es importante marcar cualquier cambio de idioma que se pueda producir a lo largo del texto en una página Web. Un ejemplo sería:
<p xml:lang="en">The quick brown fox jumps over the dog.</p>
<p xml:lang="en-GB">What colour is it?</p>
<p xml:lang="en-US">What color is it?</p>
Los idiomas se especifican a través de un código estándar, como se aprecia en los ejemplos anteriores. Primero se indica el idioma (en, inglés), y si se desea, el país (en-US, inglés deEEUU)
No hay que olvidar tampoco indicar, si incluimos un enlace a otra página, el idioma en el que esa página se va a mostrar, esta vez se indicará con hreflang
<a href="http://www.w3.org/International/questions/" hreflang="en">
  Preguntas frecuentes sobre Internacionalización</a>
Otra cuestión importante en el área de Internacionalización es hacer frente a los problemas de codificación en documentos (X)HTML. Se trata de un método para transformar una secuencia de bits en una secuencia de caracteres. Los servidores envían documentos HTML a agentes de usuario como cadenas de bits; a su vez, los agentes de usuarios los interpretan como una secuencia de caracteres. El método de conversión va desde una simple transformación hasta algoritmos y esquemas complejos. Una forma de solucionar problemas de codificación es servir todas las páginas en un conjunto de caracteres, por ejemplo UTF-8, un conjunto de longitud variable que utiliza grupos de bits para representar el estándar Unicode para el alfabeto de varios idiomas. UTF-8 puede representar los caracteres de una amplia variedad de idiomas. Los navegadores envían de vuelta los datos en el mismo codificado que la página que contiene la información.
Es muy importante que el conjunto de caracteres de cualquier documento XML o (X)HTML esté claramente etiquetado. Esto puede hacerse de la siguiente manera:
Utilizar el parámetro charset, en la cabecera Content-Type de HTTP, de la siguiente manera:
Content-Type: text/html; charset=UTF-8
Para documentos XML, es importante utilizar el seudo atributo de codificación en la declaración de XML al principio del documento o la declaración de texto al principio de una entidad. Un ejemplo sería:
<?xml version="1.0" encoding="UTF-8" ?>
Para XHTML, hay que usar la etiqueta <meta> dentro de <head>, de la siguiente forma:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
En un principio la Actividad de Internacionalización promovió el uso de Unicode/ISO 10646 para identificar y describir caracteres. Unicode se ha usado de forma generalizada ya que asegura que los datos puedan ser manejados uniformemente y de forma que puedan ser mostrados y, en definitiva, manipulados sin miedo a alteraciones.
En resumen, a la hora de diseñar un sitio Web es importante la codificación de datos, para que la Web trabaje internacionalmente y especificar el idioma del contenido con el objetivo de asegurar la adecuación cultural de formatos de datos y otros aspectos.

Fuente: /w3c.es