希望这里有人能帮我弄清楚发生了什么。我有一个Angular 1.5.8应用程序,使用angular-translate 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'。如果我控制日志navigator.languages,它是['ja','en','en-US']。 Navigator.language是'en'。
我在接下来要检查什么的理论的末尾。任何人有想法?
对,我没有试图手动设置它。我要去检测预先通知的语言调用来从window.navigator.languages中获取它,如下所述:https://angular-translate.github.io/docs/#/guide/07_multilanguage –
当你做一个console.log (window.navigator.languages [0]),它显示日语吗? –
是的,它显示'ja'。与window.navigator.language相同 –