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] TypeError: 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", "PROYECTOS SGU-UPD SARTU II"、"RED INCORPORA"、"APRENDIZAJE"、"CONTACTO"]

ご協力いただきありがとうございます

4

2 に答える 2

0

Lajos Arpad さん、ご回答ありがとうございます。私はそれについて考えていました、そしてついに私はそれを解決しました。2番目のそれぞれで、次のように書かれています:

    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 に答える
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 に答える