【问题标题】:internationalization with jQuery使用 jQuery 进行国际化
【发布时间】:2013-08-22 16:41:24
【问题描述】:

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

//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", "联系方式"]

感谢您的帮助

【问题讨论】:

    标签: javascript jquery internationalization


    【解决方案1】:
    //...
    arrayCadenas = $(".texts");
    //...
    console.log(arrayCadenas.text());
    //...
    

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

    【讨论】:

    • 很高兴您的问题得到了解决。如果我的回答对你有帮助,请采纳。
    【解决方案2】:

    感谢您的回答 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)”,因为它们都引用了当前项目。 再次感谢。

    【讨论】:

      猜你喜欢
      • 2023-03-13
      • 2018-02-05
      • 2019-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多