为什么TranslateService Angular不将当前语言添加到localStorage?

时间:2019-01-15 13:22:14

标签: angular

我使用这种方法来设置当前语言:

this.translate.addLangs(['en', 'es']);
this.translate.setDefaultLang('en');
this.translate.use(); // Get data from local Storage.

对象environment具有有关语言的数据,因此它不是空的。

因此,在它起作用之前,已使用所选语言在本地存储中添加了语言属性。现在不起作用。

1 个答案:

答案 0 :(得分:2)

我认为这不是我所见过的最准确的问题,但是我会尝试用我的代码回答,希望它对您有所帮助。 我通常是这样处理这种情况的:

if (!(localStorage.getItem('selectedLangCode'))) {
            if (navigator.language === 'en' || navigator.language === 'en-US') {
                localStorage.setItem('selectedLangCode', '' + 'EN');
                this.translate.use('EN');
                moment.locale('EN');
            } else {
        this.translate.use(localStorage.getItem('selectedLangCode'));
        moment.locale(localStorage.getItem('selectedLangCode'));
    }