0

我正在尝试通过替换文本字符串来进行简单的国际化,并且我已经为它开发了下一个代码:

//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] 类型错误:arrayCadenas.each 不是函数@file:///var/www/TRABAJOS/SARTUWEB/%2806-08-2013%29%20sartutheme7/index.html:253 [17:53 :04.222] Federación de reinserciónNOSOTROSQUIENES SOMOSQUE HACEMOSPROYECTOSSGU-UPD SARTU IIRED INCORPORAAPRENDIZAJECONTACTO [17:53:04.222] ["Federaci\xF3n de reinserci\xF3n3"、"NOSOTROS"、"QUIENES SOMOS"、"QUE HACEMOS"、"PROYECTOS" SGU-UPD SARTU II”、“RED INCORPORA”、“APRENDIZAJE”、“CONTACTO”]

谢谢你的帮助

4

2 回答 2

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

You are reading the inner text which does not have an each function. Read the objects instead.

于 2013-08-22T16:46:02.213 回答
0

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

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

我将“cadena”替换为“$(this)”,所以最终代码如下所示:

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

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

于 2013-08-24T09:00:01.233 回答