Detectar el idioma y país del usuario

Un sencillo código JavaScript que permite determinar el idioma y país del visitante, detectando el lenguaje configurado en el navegador que esté utilizando.

El Script consta de una llamada al objeto navigator.userLanguage el cual detecta la configuración de lenguaje del navegador.

idioma_navegador = navigator.userLanguage;

Si imprimos el valor de la variable idioma_navegador la misma contendrá:

También podemos incorporar una estructura switch() con los países deseados y comparar el valor para así detectar el país del usuario:

switch (idioma_navegador){
case "es-ar":
pais = "Argentina";
break;
case "es-es":
pais = "España";
break;
case "es-cl":
pais = "Chile";
break;
case "es-mx":
pais = "Mexico";
break;
case "es-co":
pais = "Colombia";
break;
case "es-ec":
pais = "Ecuador";
break;
case "es-py":
pais = "Paraguay";
break;
case "es-pe":
pais = "Peru";
break;
case "es-uy":
pais = "Uruguay";
break;
case "es-ve":
pais = "Venezuela";
break;
default :
pais = "Otro";
break;
}

Para detectar el idioma, es necesario armar otra estuctura switch, pero esta vez comparando los dos primeros caracteres de la variable idioma_navegador. Para ello debemos tomar la cadena (Por ejemplo: es-ar) y recuperar los dos primeros caracteres (es) utilizando substring():

idioma = idioma_navegador.substring(0,2)

Código completo: detectar país del visitante

<script language="JavaScript">
idioma_navegador = navigator.userLanguage;

switch (idioma_navegador){
case "es-ar":
pais = "Argentina";
break;
case "es-es":
pais = "España";
break;
case "es-cl":
pais = "Chile";
break;
case "es-mx":
pais = "Mexico";
break;
case "es-co":
pais = "Colombia";
break;
case "es-ec":
pais = "Ecuador";
break;
case "es-py":
pais = "Paraguay";
break;
case "es-pe":
pais = "Peru";
break;
case "es-uy":
pais = "Uruguay";
break;
case "es-ve":
pais = "Venezuela";
break;
default :
pais = "Otro";
break;
}

document.write (pais);
</script>

Nota: el objeto navigator.userLanguage es una capacidad que sólo funciona si el usuario utiliza Internet Explorer 4 o superior.

Deja un comentario