Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Detectar idioma según el navegador

Estas en el tema de Detectar idioma según el navegador en el foro de Javascript en Foros del Web. Buenas! Estoy intentando de hacer que un índex autodetecte el idioma según el navegador, es decir, si el navegador está en catalán que redirija a ...
  #1 (permalink)  
Antiguo 20/03/2013, 14:31
 
Fecha de Ingreso: febrero-2010
Mensajes: 29
Antigüedad: 14 años, 9 meses
Puntos: 0
Detectar idioma según el navegador

Buenas!

Estoy intentando de hacer que un índex autodetecte el idioma según el navegador, es decir, si el navegador está en catalán que redirija a la pagina en catalan, ya que tengo las direcciones en Javascript para que salga en un idioma u otro.

Alguien puede ayudarme?

Un saludo, gracias de antelación.
  #2 (permalink)  
Antiguo 20/03/2013, 14:40
 
Fecha de Ingreso: febrero-2010
Mensajes: 29
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Detectar idioma según el navegador

Para más información he usado este código que solo me funciona en IE :S

<script type="text/javascript">
var idioma = navigator.userLanguage;
var iniciales = idioma.substring(0,2);
if(iniciales=="es")
{
location.replace("castellano.html"); //redirigimos a nuestro sitio en español
}
else if(iniciales=="ca")
{
location.replace("catalan.html") //redigirimos a nuestro sitio en catalan
}
</script>
  #3 (permalink)  
Antiguo 20/03/2013, 15:23
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Detectar idioma según el navegador

Con php

http://www.forosdelweb.com/f4/poner-...7/#post4348654

Con javascript

http://www.forosdelweb.com/f175/web-...0/#post4297775

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #4 (permalink)  
Antiguo 21/03/2013, 10:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 29
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Detectar idioma según el navegador

Muchas gracias!, al parecer funciona correctamente en IE Y en CHROME! pero en mozilla no :(, resulta que coje el último link... si lo cambio sí pero si no, no! Que podría hacer?!

Gracias un saludo!
  #5 (permalink)  
Antiguo 21/03/2013, 11:07
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Detectar idioma según el navegador

Fijate esto
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. </head>
  7.  
  8. <script type="text/javascript">
  9. window.onload = function() {
  10.    
  11. var ln = x=window.navigator.language||navigator.browserLanguage;
  12. alert(ln);
  13. }
  14. </body>
  15. </html>

En mi caso, por ejemplo, devuelven
Firefox = es-ES
IE = es
Chrome = es-419
Opera = es-LA
Safari = es-ES

Por lo tanto sería aconsejable hacerle un split a la variable ln y tomar el primer indice, que es siempre "es", y hacer la comparación contra eso, de querer hacerla contra la region, no solo contra el idioma pricipal, tendrías que poner otros condicionales

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #6 (permalink)  
Antiguo 21/03/2013, 11:18
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Detectar idioma según el navegador

yo usaría:

locale.indexOf("es") > -1

donde locale equivale al ln del usuario emprear.

Para no andar con tanta gaita.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #7 (permalink)  
Antiguo 23/03/2013, 11:52
 
Fecha de Ingreso: febrero-2010
Mensajes: 29
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Detectar idioma según el navegador

Muchas gracias cracks!!!! me ha funcionado correctamente!

Etiquetas: idioma, navegador, según
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:59.