2013-08-22 115 views
0

我试图通过替换文本字符串做一个简单的国际化,我已经制定了它的下一个代码:国际化与jQuery

//INTERNACIONALIZACIÓN 
$(function(){ 
    arrayCadenas = $(".texts").text(); // make an array of strings to translate 

    var es_ES = ["Federación de reinserción1", "NOSOTROS", "QUIENES SOMOS", "QUE HACEMOS",  "PROYECTOS", "SGU-UPD SARTU II", "RED INCORPORA", "APRENDIZAJE", "CONTACTO"]; 
    var eu_EU = ["Federación de reinserción2", "GUK", "NORK GARA", "ZER EGIN", "PROIEKTUAK", "SGU-UPD SARTU II", "RED INCORPORA", "APRENDIZAJE", "KONTAKTUA"]; 
    var en_EN = ["Federación de reinserción3", "NOSOTROS", "QUIENES SOMOS", "QUE HACEMOS", "PROYECTOS", "SGU-UPD SARTU II", "RED INCORPORA", "APRENDIZAJE", "CONTACTO"]; 
    languages = [es_ES, eu_EU, en_EN]; 

    $(".lang").each(function(i, lis){ 
     $(this).on("click", function(e){ 
      e.stopPropagation; 
     select = languages[i]; 
     console.log(arrayCadenas); 
     console.log(languages[i]); 

     arrayCadenas.each(function(j, cadena){ 
      cadena.text(languages[i][j]); 
     }); 
     }); 
    }); 
}); 

当我点击一个标志,在控制台我得到这个:

[17:53:04.223] TypeError:arrayCadenas.each不是函数@file:///var/www/TRABAJOS/SARTUWEB/%2806-08-2013%29%20sartutheme7/index.html:253 [17:53:04.222]FederacióndereinserciónNOSOTROSQUIENESSOMOSQUE HACEMOSPROYECTOSSGU-UPD SARTU IIRED INCORPORAAPRENDIZAJECONTACTO [17:53:04.222] [“Federaci \ xF3n de reinserci \ xF3 N3,NOSOTROS,QUIENES SOMOS,QUE HACEMOS,PROYECTOS,SGU-UPD SARTU II,RED INCORPORA,APRENDIZAJE,CONTACTO]

回答

0
//... 
arrayCadenas = $(".texts"); 
//... 
console.log(arrayCadenas.text()); 
//... 

您正在阅读没有每个功能的内部文本。改为阅读对象。

+0

好的,我解决了它。 –

+0

我很高兴你的问题解决了。如果我的回答对你有帮助,那么请接受它。 –

0

感谢您的回答Lajos Arpad。我正在考虑它,最后我解决了它。 在第二每次,在那里说:

arrayCadenas.each(function(j, cadena){ 
     cadena.text(languages[i][j]); 
    }); 

我取代的“卡德纳”“$(本)”,所以最终的代码如下所示:

arrayCadenas.each(function(j, cadena){ 
     $(this).text(languages[i][j]); 
    }); 

作为最后的评论,你可以用“$(cadena)”替换“$(this)”,因为它们都引用了当前项目。 再次感谢。