Buenas tardes, estoy intentando hacer que mi página esté traducida a 4 idiomas. Tengo en mi fichero principal los iconos con las banderitas. Aquí los muestro:
Código HTML:
Ver original<div id="Login_Languajes"> <img id="Languaje1" type="submit" src="/css/Images/england_flag.gif" width=30px; height=20px;> <img id="Languaje2" type="submit" src="/css/Images/spanish_flag.gif" width=30px; height=20px;> <img id="Languaje3" type="submit" src="/css/Images/french_flag.gif" width=30px; height=20px;> <img id="Languaje4" type="submit" src="/css/Images/german_flag.gif" width=30px; height=20px;>
Hasta aquí todo genial. Ahora lo que hago es que con Jquery, cuando clickeo en la banderita, me cambie el valor de la variable localStorage['languaje'] al número correspondiente a cada idioma
Código Javascript
:
Ver original$(document).ready(function(){
$("#Languaje1").click(function(){
localStorage['Languaje']=1;
window.location.href = sURL;
});
$("#Languaje2").click(function(){
localStorage['Languaje']=2;
window.location.href = sURL;
});
$("#Languaje3").click(function(){
localStorage['Languaje']=3;
window.location.href = sURL;
});
$("#Languaje4").click(function(){
localStorage['Languaje']=4;
window.location.href = sURL;
});
});
El problema viene ahora. Cuando hago un reload de la página, según la bandera que haya pinchado, mi valor de esa variable cambia, luego como tengo 4 archivos de idiomas con constantes, pues lo que intento es cargar esos archivos, el problema es que siempre me carga el mismo, el primero, el localStorage['languaje']=1.
Código Javascript
:
Ver originalif (localStorage['Languaje'] == undefined){ //checking languaje file (1-English, 2-Spanish, 3-French, 4-German
localStorage['Languaje']=1;
}else{
console.log(localStorage['Languaje']);
if (localStorage['Languaje']==1){
<?php require_once('/framework/classes/LanguajeSpanish.php'); ?>
}else if (localStorage['Languaje']==2){
<?php require_once('/framework/classes/LanguajeEnglish.php'); ?>
}else if (localStorage['Languaje']==3){
<?php require_once('/framework/classes/LanguajeFrench.php'); ?>
}else if (localStorage['Languaje']==4){
<?php require_once('/framework/classes/LanguajeGerman.php'); ?>
}
}
El porqué? pues porque debe ser que carga el primer require_once. He probado a cambiar el orden, por ejemplo
Código Javascript
:
Ver originalif (localStorage['Languaje']==1){
<?php require_once('/framework/classes/LanguajeEnglish.php'); ?>
}else if (localStorage['Languaje']==2){
<?php require_once('/framework/classes/LanguajeSpanish.php'); ?>
y que pasa? siempre se carga el de inglés en vez de como antes el de español.
Alguna idea para evitar que se cuele dentro del if si la variable no tiene ese valor?