用vue-i18n实现多语言翻译,简单方便!然而在实现多语言切换后,发现一个问题,就是切换语言后,刷新页面后,页面又恢复到默认语言,这很尴尬。

在查阅资料后,寻找到一种解决办法。废话少说,上代码

1、第一步把 切换语言储存到localStorage

   // 语言切换
    handleCommand(command) {
      if (command == "ZH") {
        this.$i18n.locale = "zh";
        localStorage.setItem('lang',"zh")
        //  console.log(this.$i18n)
      } else if (command == "FT") {
        this.$i18n.locale = "ft";
          localStorage.setItem('lang',"ft")
        // console.log(2)
      } else if (command == "EN") {
        // console.log(3)
        this.$i18n.locale = "en";
         localStorage.setItem('lang',"en")
      }
    }

2、在main文件中,把i18n对象的获取储存语言

locale: localStorage.getItem('lang')||'zh',
//localeStorage中没有值得时候,默认语言‘zh’

OK,切换语言刷新页面后,就不会出现恢复默认的情况啦

Logo

前往低代码交流专区

更多推荐