1

我正在使用这个: 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);
4

3 回答 3

3

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

在此处检查代码。

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

于 2015-02-27T11:14:23.240 回答
3

我是ng-i18next.

ng-i18next使用 angular 的$watch函数来查找$i18next.options.

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

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

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

于 2014-07-02T15:46:39.307 回答
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 是示例中的语言键。

于 2015-12-04T13:57:51.960 回答