Javascript 当前语言angularjs和i18next

Javascript 当前语言angularjs和i18next,javascript,angularjs,internationalization,i18next,Javascript,Angularjs,Internationalization,I18next,我用这个: 我只能在选项中获取语言(如果设置): 你是如何获得当前语言的? 文件说: i18n.lng()返回当前lng 但是在$i18next.lng()的上下文中不存在 我还尝试: console.log("language: " + $i18next.lang); console.log("language: " + $i18next.language ); console.log("language: " + $i18next.lng); 我是ng-i18next的开发者 ng-i1

我用这个:

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

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

但是在$i18next.lng()的上下文中不存在

我还尝试:

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

我是
ng-i18next
的开发者

ng-i18next
使用angular的
$watch
功能查找
$i18next.选项的任何更改

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

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


当然,这也会起作用:
window.i18n.lng()
我是
ng-i18next
的开发者

ng-i18next
使用angular的
$watch
功能查找
$i18next.选项的任何更改

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

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


当然,这也会起作用:
window.i18n.lng()

i18next提供者就是这样做的:
window.i18n.lng()


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

i18next provider就是这样做的:
window.i18n.lng()


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

这对我很有用:

    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是示例中的语言键

这对我有用:

    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是示例中的语言键

如果让它检测浏览器语言,并且在初始化时未指定lng,则$i18next.options.lng未定义。例如,将$i18next.options.lng设置为“de”不会为我重新加载语言。我必须再次执行init,以便在不刷新的情况下翻译页面。您可能知道原因吗?如果您让它检测浏览器语言,并且在初始化时未指定lng,则$i18next.options.lng未定义。例如,将$i18next.options.lng设置为“de”不会为我重新加载语言。我必须再次执行init,以便在不刷新的情况下翻译页面。你知道为什么吗?