2013-08-22 114 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)」,因爲它們都引用了當前項目。 再次感謝。