ここにいる誰かが何が起こっているか把握するのに役立ちます。 Angular 1.5.8アプリがあり、角度翻訳2.15.2を使用しています。英語と日本語の言語ファイルを用意してあり、実行時に言語を交換することができますが、ページの読み込み時のデフォルト言語は常に「en」です。私は自分のコンピュータ言語を日本語に設定しましたが、自分のサイトをその言語にデフォルト設定することはできません。角度翻訳は常に英語を使用しています
'use strict';
(function() {
angular.module('app')
.config(translation);
/**
* @name translation
* @desc Loads the string resource file associated with the selected language code.
* @ngInject
*/
function translation($translateProvider) {
// Specifies mappings of alternative language codes to a root language.
$translateProvider.registerAvailableLanguageKeys([
'en',
'ja',
], {
'en': 'en',
'en_*': 'en',
'ja': 'ja',
'ja_JP': 'ja',
});
$translateProvider.useLocalStorage();
$translateProvider.useSanitizeValueStrategy('escape');
$translateProvider.useLocalStorage();
$translateProvider.useStaticFilesLoader({
prefix: 'assets/languages/strings-',
suffix: '.json',
});
$translateProvider.fallbackLanguage('en');
$translateProvider.determinePreferredLanguage();
}
})();
は私が日本人に日本語や他のサイトのデフォルトに自分のコンピュータを設定します。
は、ここに私の翻訳の設定です。 NG_TRANSLATE_LANG_KEYをチェックすると、 'en'になります。私がlog navigator.languagesをコンソールにすると、それは['ja'、 'en'、 'en-US']です。 Navigator.languageは 'en'です。
私は次にチェックするべきものについての私の理論の終わりです。誰でもアイデアはありますか?
私は手動で設定しようとしていません。ここで説明するように、detectPreferredLanguageコールをwindow.navigator.languagesから取得します。https://angular-translate.github.io/docs/#/guide/07_multi-language –
console.logを実行すると(window.navigator.languages [0])、それは日本語を表示しますか? –
はい、「ja」と表示されます。 window.navigator.languageと同じです。 –