1

私はこれを使用しています: https://github.com/archer96/ng-i18next

オプションでのみ言語を取得できます(設定されている場合):

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

現在の言語をどのように取得しますか? ドキュメントには次のように書かれています: i18n.lng() は現在の lng を返します。

しかし、angular $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-i18nextangular の$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 に答える