1、vue-i18n安装  

npm install vue-i18n --save-dev

2、在main.js文件中引入 

import VueI18n from \'vue-i18n\';
  Vue.use(VueI18n);
  const i18n = new VueI18n({
    locale: localStorage.getItem(\'language\')||\'zh\', //使用localStorage缓存到本地,当下次使用时可默认当前使用语言
    messages: {
 \'      zh\': require(\'./common/lang/zh\'),
      \'en\': require(\'./common/lang/en\')
    }
  })
  new Vue({
    el: \'#app\',
    router,
    i18n,
    template: \'<App/>\',
    components: { App }
  })

3、新建中英文语言文件

  zh.js:

module.exports = {

    language: {
      name: \'English\'
    },
    navbar: {
      home: \'首页\',
    }
  }

  en.js: 

module.exports = {

    language: {
      name: \'中文\'
    },
    navbar: {
      home: \'Home\',
    }
  }

4、创建一个切换语言方法(写在App.vue可以全局控制);

 changeLang() {
    let locale = localStorage.getItem(\'language\')||\'zh\';
    let temp=locale === \'zh\' ? \'en\' : \'zh\';
    this.$i18n.locale=temp;//改变当前语言
     localStorage.language=temp;
  }

5、在template中的使用: 

 <p>{{ $t(\'language.name\') }}</p>
  <p>{{ $t(\'navbar.contact\') }}</p>

总结

以上所述是小编给大家介绍的vue 使用vue-i18n做全局中英文切换的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

收藏 打印