jQuery多语言脚本

时间:2014-06-13 00:47:10

标签: javascript jquery

JSFiddle 上找到可在不同语言之间切换的脚本。问题是。当我用<br>键入文本时,它会显示中断。

如何让它真正打破文本?

另外,如何让它选择默认语言?因此,每次重新加载页面时,都将选择该语言。否则,在您手动选择语言之前不会显示任何内容。

此外,如果您能推荐其他比此更好的脚本,我将非常感激。

function getLanguageResources(){
    var fr = new Array(); var en = new Array();

    fr['settings'] = "paramètres"; en['settings'] = "settings";
    fr['default_feed'] = "Flux par défaut"; en['default_feed'] = "Default feed";
    fr['hidden'] = "Masquer"; en['hidden'] = " Hidden";
    fr['save_settings'] = "Enregistrer les paramètres"; en['save_settings'] = "Save settings";

    var resources = new Array();
    resources['fr'] = fr;
    resources['en'] = en;

    return resources;
}

function changeLanguage(lang){
    var langResources = getLanguageResources()[lang];

    $("span[name='lbl']").each(function(i, elt){
        $(elt).text(langResources[$(elt).attr("caption")]);
    });    
}

$(document).ready(function() {
    $("input[name='radio-language']").click(function(){
        changeLanguage($(this).val());
    });
});


感谢。

1 个答案:

答案 0 :(得分:1)

要中断文字,请将字符串应用为HTML而不是文字:

$(elt).html(langResources[$(elt).attr("caption")]);

要设置默认语言,请在相应的单选按钮上设置checked属性,并模拟click回调中的$(document).ready事件:

$("#radioEnglish").attr("checked", true).trigger("click");