Publicidad:
Logo de La Coctelera

Garbage In, Garbage Out

Diseño web, tecnología, e internet.

11 Abril 2006

Detectando idioma del navegador

El idioma del navegador se detecta leyendo el valor de la variable de cabecera HTTP_ACCEPT_LANGUAGE. Concretamente, en PHP, el valor de esta variable está en:

$_SERVER['HTTP_ACCEPT_LANGUAGE']

El valor de esta variable depende. En el navegador Microsoft Internet Explorer se obtiene el valor "es"; en mi navegador Opera obtengo "en"; y en cambio en el Firefox se obtiene la ristra "es,en-us;q=0.7,en;q=0.3".

En Internet Explorer y Opera es fácil entender los valores: es un único código del idioma del navegador. En cambio, en Firefox, obtenemos una lista de tres grupos de códigos de idiomas separados por comas:

  • es
  • en-us;q=0.7
  • en;q=0.3

Cada grupo puede estar dividido en dos partes: la primera parte indica el código del idioma; y la segunda, la que tiene un "q", indica la preferencia del lenguaje. El valor de q puede ir de 0 a 1, siendo el 1 el idioma de mayor preferencia y 0 el de menor preferencia.

En este caso, "es" no tiene definida la "q", pero sé que es el lenguaje de mayor preferencia porque así lo tengo definido en mis opciones (Herramientas > Opciones > Avanzado > Editar Idioma). De ahi deduzco que cuando no aparece la "q", se asume que tiene valor 1. De todas formas, está claro que Firefox envía los idiomas ordenados de izquierda a derecha.

Sabiendo esto, hacer un algoritmo que detecte el idioma del navegador es relativamente fácil. En PHP, sería algo así como esto:

Esto es todo. Espero que os sirva.

Fuente del artículo: Supporting user language preferences with HTTP_ACCEPT_LANGUAGE

servido por gigo sin comentarios compártelo favorito

sin comentarios · Escribe aquí tu comentario

Escribe tu comentario





Sobre mí

Avatar de gigo

Garbage In, Garbage Out

ver perfil »
contacto »
Desarrollador web con ganas de aprender y enseñar, porque aún queda mucho por aprender y por enseñar. Uso esta bitácora para hacer mis apuntes profesionales y de paso contribuir a ayudar a mis compañeros de, ésta, mi profesión. [guiño]

Sindicación

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera