当前语言angularjs和i18next

时间:2013-10-01 06:03:52

标签: javascript angularjs internationalization i18next

我正在使用这个: https://github.com/archer96/ng-i18next

我只能在选项中获得语言(如果设置):

console.log("language: " + $i18next.options.lng);

你如何获得当前的语言? 文件说: i18n.lng()返回当前的lng。

但在角度$ i18next.lng()的上下文中不存在。

我也尝试过:

console.log("language: " + $i18next.lang);
console.log("language: " + $i18next.language );
console.log("language: " + $i18next.lng);

3 个答案:

答案 0 :(得分:3)

我是ng-i18next的开发人员。

ng-i18next使用有角度的$watch函数查找$i18next.options上的所有更改。

这意味着您应该通过将$i18next.options.lng设置为您想要的任何语言来更改语言。

因此,$i18next.options.lng始终包含当前语言。不需要$i18next.lng()

当然这也可行:window.i18n.lng()

答案 1 :(得分:3)

这就是i18next提供商的做法:window.i18n.lng();

Check the code here.

[编辑]我知道这是一个老问题,但我也在寻找答案,我认为分享我的发现是一个好主意。

答案 2 :(得分:0)

这对我有用:

    var language;
    /* init i18next */ 
    i18n.init(options, function(t) {
        $("body").i18n();
    /* set global language var for usage in other functions */
        var language = i18n.detectLanguage();
    });

要设置语言,请将参数添加到URL(?setLng = de),而de是示例中的语言键。