vue lang_vue 国际化的简单实现

Vue 国际化设置

由于工作的原因,这几天做一个了vue 国际化的这么的一个需求,其实业务逻辑很简单,就是可以随意切换中英文,提供多语言的切换。vue 提供了一个国际化的插件,vue-i18n ,所以我们可以直接来使用,先安装下来, 在命令行中执行 npm install vue-i18n (推荐npm 包依赖),一般情况下如果整个项目开发的话,很少会用到src 导入的方式(不推荐这样导入),所以不多做介绍。

接下来我详细介绍一下,我是如何一步一步做的, 首先,在main.js 引入 vue-i18n

// main.js

Import VueI18n from ‘vue-i18n’

vue.use(VueI18n). // 这里通过插件的形式挂载 ,像Vuei18n 这些vue官方 提供的插件 ,内部都有 install 的方法 ,所以可以直接vue.use() 的方式挂载,而像 axios 这些 非vue 官方的提供的插件,没有install的方法,所以,挂载用 Vue.prototype 的方法添加。其实用法都是一样的,只是挂载的时候稍微有点区别,但是axios 非官方提供,但胜于官方,所以vue官方也没有必要在,提供这么一个类似于axios 的插件了。

const i18n = new VueI18n ({

locale : ‘zh-CN’, // 语言表识

// 可以通过 this.$i18n.locale 的值 来切换语言

messages: {

‘zh-CN’: require(’./lang/zh-CN),

‘en-US’: require(‘./lang/en-US’)

}

})

最后,不要忘了挂载载vue上, 跟router ,store 等之类的插件一样,

new Vue({

el:’#app’,

i18n,

// …

})

这样我们就算是配置完了,刚刚也看到了,我们require了两个文件 , zh-CN 和 en-US ,所以我们现在要准备好两套中英文的语言的文件,

// zh-CN / index.js

Export default {

Zn:{

Login: 登录

}

}

// en-US / index.js

Export default {

En :{

login: login

}

}

然后我们只需通过触发事件的形式,来控制locale 的值,就可以实现国际化了。

this.$i18n.locale = zn-CN // OR this.$i18n.locale = en-US

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值