3
私はwebappで作業しています。私はi18nextを使用しており、オプションで "lng"を指定しない限り、言語を検出しません。 「navigator.language || navigator.userLanguage」を使用すると、Chromeで問題ありません。それは "en"のようなものを返します。しかし、例えばFirefoxは、 "en-GB"を返します。私は地域別翻訳を使用せず、i18nextは "en-GB"を "en"にリダイレクトしません。それで、システムは動作しません。ブラウザの言語を検出してi18nextで使用する際に問題が発生する
$(document).ready(function(){
i18next.use(i18nextXHRBackend);
i18next.init({
'debug': true,
'lng': navigator.language || navigator.userLanguage,
'fallbackLng': 'en',
'load': 'currentOnly',
'backend': {
loadPath: 'locales/{{lng}}/{{ns}}.json'
}
}, function() {
jqueryI18next.init(i18next, $);
$('body').localize();
});
});
これはおそらく非常によくサポートされている機能ではありません... 'navigator.language.substr(0、2)'で十分でしょうか?そうすれば 'en-GB'は 'en'に変わります...これは本当に 'lng'に対してi18nextが受け入れる値のリストに依存します。 –
@AurelBílýそれはそれで動作します。ありがとう。だから、私のコードに何も間違っていませんか? – mutlucan96