Vivimos inmersos en esto llamado Globalización, intentando aprovechar sus beneficios y sufriendo sus consecuencias.
La Web, desde sus inicios, tiene un carácter internacional, por lo que en el transcurso del diseño de un sitio web encontramos una de esas consecuencias, que es la forma en que debemos manejarnos ante las diversas posibles lenguas que hablen los distintos usuarios de dicho sitio.
¿Cómo diseñar teniendo en cuenta diversas lenguas?
(Pautas de Accesibilidad del Contenido en la Web, versión 1.0, punto 11.3)
Conviene recordar que existen lenguas que se leen de derecha a izquierda:
1) Declarar Unicode para la página:
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
2) Si no todo el texto está escrito en una lengua, declarar el cambio de dirección cuando se produce en el código:
<p>Texto en español <span dir="rtl" lang="ar" xml:lang="ar">مفتاح معايير الويب</span> texto en español.</p>
3)También podemos agregar una traducción para el caso que algún usuario use un navegador que admita la opción title:
<p>Estos países son Barhein, <span dir="rtl" lang="ar" xml:lang="ar" title="Significa: 'Egipto'">مصر</span> y Kuwuait.</p>
El carácter internacional de Internet hace que nos encontremos con diversas formas de representar las fechas, además de los calendarios no gregorianos:
También está el caso de los que separan las cifras con guiones o puntos.
La norma ISO 8601 especifica que las fechas se deben mostrar en el formato AAAA-MM-DD.
Usar nombres para los meses (abreviados o no) y 4 dígitos para los años.
La cabecera HTTP Accept-Language, tal como comentamos antes, especifica las preferencias de la lengua del usuario, pero también es usada para determinar preferencias locales.
En la página http://www.w3.org/International/questions/qa-date-format encontraremos la forma de configurar esta cabecera en Java/JSP, ASP y Perl.
Cuando un navegador pide un documento a un servidor, le informa sobre las preferencias de idioma a través de la cabecera HTTP Accept-Language. Si el servidor tiene varias versiones de una página en distintos idiomas, esta información puede usarse para recuperar la página en el idioma preferido, siempre que exista. Si hay una única versión de dicha página en ese servidor, esa es la que se recuperará.
La mayoría de los navegadores permiten cambiar las preferencias del idioma, cuyo valor es definido por las normas ISO 639- 1 e ISO 639-2 (basadas a su vez en RFC 3066), que le brinda un código de dos o tres letras a cada idioma, seguido por un subcódigo opcional de dos letras por país, por ejemplo:
es para Español y es-AR para el español de Argentina
Si tenemos un navegador en nuestro idioma, la mayoría de las veces se instala con la configuración inicial deseada. Ahora, si queremos cambiar dicha configuración, en la página http://www.w3.org/International/questions/qa-lang-priorities.es.html podremos obtener información de cómo hacerlo en los navegadores más usados y, si nuestro navegador no está en la lista, podemos visitar también la página http://www.debian.org/intro/cn#mozilla.
En algunos navegadores es posible establecer más de un idioma, dándoles un orden de preferencia, como se muestra en la siguiente imagen.

Dado que a veces, debido a las diversas configuraciones de los servidores web, los mismos necesiten una coincidencia exacta de la cabecera HTTP Accept-Language, se recomienda, en el caso de configurar algún idioma con el subcódigo de país, que el navegador haga la petición del mismo idioma sin ese subcódigo, para que lo pida en el caso que la primera opción falle.
Una dirección web es usada para apuntar a un recurso en la Web, como una página web. Estas direcciones se expresan a través de Identificadores Uniformes de Recursos o URIs (Uniform Resource Identifier). La sintaxis de las URIs se define en la norma RFC 3986 STD 66, la cual restringe las direcciones web a un pequeño número de caracteres:
Esto se debe a que el ámbito en el que la Web comenzó a desarrollarse era el angloparlante. Pero al poco tiempo se vio que este ámbito se ampliaba a pasos agigantados haciendo necesario el tener que usar caracteres de cualquier lenguaje en la direcciones web. Una dirección web en nuestra propia lengua es fácil de crear, recordar, transcribir, interpretar y relacionar. Y esto nos lleva a mejores negocios, mejorar las búsquedas y las comunicaciones. En resúmen, mejora la Web.
Para lograr esto existe algo llamado Identificador Recursos Internacionalizado o IRIs (Internationalized Resource Identifier) que necesita los siguientes requerimientos:
Actualmente varios formatos soportan IRI, como HTML 4.0, identificadores de sistema de XML 1.0, el atributo href de XLink, cualquier tipo de datos de URIs del Schema de XML, etc. Desafortunadamente, no muchos protocolos soportan IRI. Así, es posible encontrar una dirección como la que sigue:
http://JP納豆.例.jp
En donde la declaración del protocolo (http://) debe estar en caracteres ASCII, mientras que el dominio es una mezcla de caracteres ASCII con japoneses. Aquí nuevamente Unicode aparece, transformando la dirección web en caracteres ASCII de la siguiente forma:
http://xn--jp-cd2fp15c.xn--fsq.jp
Para luego poder resolver dicha dirección en una dirección IP numérica.
Varias autoridades de nombres de dominios (.cn, .jp, .kr, etc.) ofrecen este tipo de internacionalización. Navegadores como Mozilla 1.4, Netscape 7.1 y Opera 7.2 aceptan este tipo de dominios. Internet Explorer lo permite descargando un plug-in.
Es un tipo particular de anotación que provee de transcripción fonética de caracteres que el lector puede no comprender. Es ampliamente usado en materiales de educación y textos de niños escritos en lenguas del este asiático. También es usado en textos para estudiantes occidentales que desean aprender lenguas orientales por su pronunciación.
Tomemos como ejemplo la línea de la fecha de hoy aparecida en la diapositiva 9. La misma línea, con Ruby indicando la pronunciación sería:
El código es el siguiente:
<p>
<ruby>
<rb>2005</rb>
<rt>èr líng líng wû</rt>
</ruby>
<ruby>
<rb>年</rb>
<rt>nián</rt>
</ruby>
<ruby>
<rb>11</rb>
<rt>shíyî</rt>
</ruby>
<ruby>
<rb>月</rb>
<rt>yuè</rt>
</ruby>
<ruby>
<rb>8</rb>
<rt>bã</rt>
</ruby>
<ruby>
<rb>日</rb>
<rt>rì</rt>
</ruby>
</p>
sai y, en caso de Centroamérica, cai.Si todo el texto de la página está escrito, por ejemplo, en guaraní, agregaremos en la etiqueta <html> lo siguiente:
<html lang="gu">
Donde gu es el código correspondiente al guaraní.
En el caso que insertemos en un texto de un idioma una palabra o frase de otro, deberemos agregar el atributo lang en la etiqueta span, por ejemplo:
<p>En mapuche, gente o pueblo se dice <span lang="arn">che</span>.</p>
Usaremos la etiqueta xml:lang de la siguiente forma:
<p>En mapuche, gente o pueblo se dice <span xml:lang="arn">che</span>.</p>
Como esta norma aún no se ha convertido en un estándar, y aprovechando una opción que la norma RFC 3066 ofrece para lenguas no estandarizadas, en HTML y XHTML se deberá escribir de la siguiente forma:
<html lang="x-sil-xxx">
Y en XML deberá usarse:
xml:lang="x-sil-xxx"
Donde xxx es el código de tres letras brindado por ISO 639-3. Así, si queremos definir un texto escrito en Aoniken o Tehuelche, los respectivos códigos serían:
<html lang="x-sil-teh">
Y...
xml:lang="x-sil-teh"
http://www.inclusiondigital.net/albergue/acc/idioma.html