【问题标题】:How to dynamically change language using jquery-i18n-properties and JavaScript?如何使用 jquery-i18n-properties 和 JavaScript 动态更改语言?
【发布时间】:2013-03-26 12:26:01
【问题描述】:

我正在使用 jquery-i18n-properties 插件向我的网站提供 i18n。我已经更改了我的 HTML 并执行以下操作以加载所需的 .properties:

jQuery.i18n.properties({
    name: 'Messages', 
    path: 'bundle/', 
    mode: 'both',
    language: lang, 
    callback: function() {
        $("#msg_welcome").text(jQuery.i18n.prop('msg_welcome'));
        ...
    }
});

一切正常。我现在要做的是允许用户按下按钮更改语言。有没有办法只使用 javascript 或这个插件而不重新加载页面?谢谢。

【问题讨论】:

标签: javascript jquery html internationalization


【解决方案1】:

是的,这很容易。事实上,在 jQuery.i18n.properties 网站 (http://codingwithcoffee.com/files/trunk/index.html) 上有一个例子。

诀窍是用新语言简单地重新初始化插件。将您当前的代码抽象到另一个函数中,该函数接受 lang 作为参数。使用某种默认语言进行初始化,一旦用户更改了当前语言,就将其传递给该函数。

function changeLang(lang) {
    jQuery.i18n.properties({
        name: 'Messages', 
        path: 'bundle/', 
        mode: 'both',
        language: lang, 
        callback: function() {
            $("#msg_welcome").text(jQuery.i18n.prop('msg_welcome'));
            ...
        }
    });
}

// somewhere else in your code
// change to english
changeLang('en_EN');
// change to other
changeLang('pt_PT');

【讨论】:

    猜你喜欢
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    相关资源
    最近更新 更多