vue使用i18n进行多语言切换

本文详细介绍了如何在Vue项目中实现多语言支持,包括安装配置vue-i18n,设置语言包,以及在组件和数据中使用多语言切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.尚未安装i18n时需要安装:

npm install vue-i18n

2.在项目的main.js中增加代码:

import Vue from 'vue'
import App from './App'
import router from './router'
import VueI18n from 'vue-i18n'
import $ from 'jquery'
Vue.config.productionTip = false
Vue.use(VueI18n)

const i18n = new VueI18n({
  locale: 'en-us',
  messages: {
    'en-us': require('./lang/en-us'),
    'zh-cn': require('./lang/zh-cn'),
    'zh-tw': require('./lang/zh-tw')
  }
})

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  i18n,
  components: { App },
  template: '<App/>'
})

其中:import VueI18n from 'vue-i18n'对i18n

           Vue.use(VueI18n)

           进行引入

      

这里是我对三种语言包路径选择,以及初始语言的默认

这里是我的目录,大家不要把路径弄错了:

3.在相应的语言包中增加自己所需的文本即可:

4.在界面使用已经写好的语言包时也会有一些情况:

    (1)、在template中使用,直接{{$t('contact.downLoad')}}即可,如图:

(2)、在data中使用:$t('header.contact'),但是值得注意的是,在进行多语言切换的时候,data中的数据不能及时进行切换。

5、更改默认语言包,使用this.$i18n.locale对自己所选择的语言进行切换即可

changeLanguage () {
    if(this.myVal == 0){
       this.$i18n.locale = 'en-us'
    }else if(this.myVal == 1){
       this.$i18n.locale = 'zh-cn'
    }else{
       this.$i18n.locale = 'zh-tw'
    }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值