Saltar al contenido

Buscar en Neoguias

Ver todos los resultados →
Avatar de Edu Lázaro

Obtener el idioma del navegador con JavaScript

Si quieres detectar el idioma o lenguaje del navegador utilizando JavaScript para ejecutar distintas funciones o redirigir a los usuarios a distintas páginas en base a sus acciones puedes usar el siguiente script:

<script type="text/javascript">
var idioma = navigator.language || navigator.userLanguage;
alert ("The language is: " + idioma);
</script>

Para maximizar la compatibilidad con los distintos navegadores obtenemos el idioma del valor navigator.language y en su defecto obtenemos el valor de navigator.userLanguage. Almacenamos en valor en la variable idioma y a modo de ejemplo lo mostramos por pantalla.

Funciona con Internet Explorer, Chrome, Firefox y Safari.

En concreto, Internet Explorer es el único navegador en utilizar navigator.userLanguage, que es el valor establecido en la Opciones Regionales del Panel de Control, no el idioma en concreto del navegador. El resto de navegadores utilizan la variable navigator.language.

Los valores que obtendremos serán de la forma: 'it' para Italiano, 'es' para Español, 'en-US' para Inglés de Estados Unidos.


Avatar de Edu Lázaro

Edu Lázaro

Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compartirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

3 comentarios en “Obtener el idioma del navegador con JavaScript”

Hola, como estas? En caso de querer detectar el idioma del navegador y en base a eso redirigir a una página en ese idioma. Es posible?

Por supuesto, te dejo un script que yo utilizo, espero que te sea de ayuda.

// Detecta el lenguaje del navegador
var lgNav = window.navigator.language||navigator.browserLanguage;
// Extrae las dos primeros datos
var lg = lgNav.substring(0, 2);
if(lg == 'es'){
// detecta y abre idiona español
window.location.href = 'index-es.html';
}else if(lg == 'en'){
// detecta y abre idiona ingles
window.location.href = 'index-en.html';
}else if(lg == 'it'){
// detecta y abre idiona italiano
window.location.href = 'index-it.html';
}else if(lg == 'fr'){
// detecta y abre idiona frances
window.location.href = 'index-fr.html';
}else{
// si no es ninguna abre idiona ingles
window.location.href = 'index-en.html';
}

en vez de utilizar un if anidado, puedes agregar un switch(opcion) e ir agregando los case

Entra con tu correo para comentar.

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”
DeLorean de Regreso al futuro