代码之家  ›  专栏  ›  技术社区  ›  POV

为什么translateService angular不将当前语言添加到本地存储?

  •  -1
  • POV  · 技术社区  · 6 年前

    我使用此方法设置当前语言:

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

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

    所以,在它工作之前,用选定的语言在本地存储中添加了语言属性。现在不行了。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Jánosi-Borsos Róbert    6 年前

    我认为这不是我见过的最准确的问题,但我会用我的代码来回答,希望它能帮助你。 这就是我通常处理这种情况的方式:

    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'));
        }