Skip to main content

Cómo identificar la lengua del visitante a nuestro sitio web

Cuando queremos que el visitante sea recibido en su propio idioma cuando llega a nuestro sitio web tenemos a nuestra disposición varias aproximaciones.
Una de las aproximaciones que se suele usar en la internacionalización de un sitio web es mediante la identificación de la ip se busca la localización geográfica de la misma, y en base al lugar de origen se presenta la web en un idioma u otro.
El problema de este enfoque además de se complejo y costoso en recursos es que en lugares donde se usa más de una lengua no nos resuelve ningún problema.
Más fácil es identificar la lengua del visitante mediante la lengua preferida propia del navegador. Php dispone de una variable que almacena esta información. De hecho almacena un array con todos los idiomas preferidos del visitante por orden.

El formato que identifica cada lenguaje se forma mediante un código de dos caracteres que identifica a la lengua y separada mediante un guion bajo el código que identifica al ámbito político al que esta adscrito. Por ejemplo, es_ES corresponde a español de España. Otro ejemplo puede ser eu_FR que corresponde a euskera de Francia.

Como regla general nos bastará en la mayoría de los casos identificar solamente el lenguaje.

Lo siguiente es un ejemplo de código que devuelve el código de lenguaje a partir de la información que transmite el navegador al servidor.

<?PHP

 //EXTRACT LANGUAGE CODE FROM BROWSER
 $language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);

?>

5 comentarios en “Cómo identificar la lengua del visitante a nuestro sitio web”

  1. Hola, muy buena tu explicacion, ahora yo tengo un sitio web con e-commerce y por el momento tengo las “banderitas” de cada pais para que el usuario aprete para ver el producto en su moneda local, hay algun plugin que geolocalice automaticamente y muestre la moneda correspondiente, yo lo vi en varios sitio ya pero queria saber si tenes alguna idea aproximada de como se hace.
    Muchas Gracias!

      1. uhh, en realidad estoy haciendo las pruebas con Xampp y mientras la web la tengo con la gente de TiendaNube pero no me ofrecen todas la prestaciones que necesito por eso empece a montar todo en wordpress, recien empiezo!!! Gracias por tu respuesta, me voy a poner a ver todas las funciones de prestashop, yo habia instalado woocomerce y compre el pluging Currency Switcher for WooCommerce 1.6/2.0.x pero no doy pie con bola!!! Gracias x todo!!

        1. Prestashop es una opción muy completa. Al punto de que igual puede ser compleja y requerir un servidor potente con apc o menchace configurado. En cualquier caso te animo que lo pruebes en local. A mi me gusto mucho.

          1. Genial Gracias, ya estoy mirandolo, me parece que es lo que buscaba!! Gracias. y si queres el Currency Switcher for WooCommerce 1.6/2.0.x para probarlo te lo paso!!! mi mail ya lo tenes me avisas… :)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.