欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

vue 使用vue-i18n做全局中英文切换的方法

时间:2021-07-01 08:51:41|栏目:vue|点击:

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

下一篇:基于Vue.js实现tab滑块效果

本文标题:vue 使用vue-i18n做全局中英文切换的方法

本文地址:http://www.codeinn.net/misctech/150883.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有