vue 项目的I18n国际化之路

 

1、引入插件

      npm install vue-i18n

2、main.js配置

import VueI18n from 'vue-i18n' //引入国际语言切换
Vue.use(VueI18n) // 通过插件的形式挂载

const i18n = new VueI18n({
    locale: 'zh-CN', // 语言标识
    //this.$i18n.locale // 通过切换locale的值来实现语言切换
    messages: {
        'zh-CN': require('./common/lang/zh'), // 中文语言包
        'en-US': require('./common/lang/en') // 英文语言包
    }
})



new Vue({
    el: '#app',
    store,
    router,
    i18n,//千万别忘了这里
    template: '<router-view :key="key"></router-view>',
    computed: {
        key() {
            return this.$router.name !== undefined ? this.$router.name + +new Date() : this.$router + +new Date()
        }
    }
})

3、中英文切换语言包

è¿éåå¾çæè¿°

en.js 英文语言包:

export const m = { 
  music: 'Music',//网易云音乐
  findMusic: 'FIND MUSIC',//发现音乐
  myMusic: 'MY MUSIC',//我的音乐
  friend: 'FRIEND',//朋友
  musician: 'MUSICIAN',//音乐人
  download: 'DOWNLOAD'//下载客户端
}

zh.js中文语言包: 

export const m = {
  music: '网易云音乐',
  findMusic: '发现音乐',
  myMusic: '我的音乐',
  friend: '朋友',
  musician: '音乐人',
  download: '下载客户端'
}

4、切换语言

    

 if ( this.lang === 'zh-CN' ) {
          this.lang = 'en-US';
          this.$i18n.locale = this.lang;//关键语句
       }else {
          this.lang = 'zh-CN';
          this.$i18n.locale = this.lang;//关键语句
       }

 

5、页面如何显示

<span v-text="$t('m.music')"></span>

<span>{{$t('m.music')}}</span>

 

js中使用

this.$t('状态')

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值