vue脚手架使用vue-i18n实现国际化多语言
vue脚手架使用vue-i18n实现国际化多语言
安装vue-i18n
安装vue-i18n很简单,直接使用npm安装就ok
npm install vue-i18n
切记:不熟的话不要使用官网得脚手架安装方法
对vue-i18n挂载配置
安装完成之后我们到main.js中引入并设置挂载
import Vue from 'vue'
import VueI18n from 'vue-i18n'
// 挂载i18n
Vue.use(VueI18n)
// 创建i18n实例
const i18n = new VueI18n({
// 这是设置语言包,默认语言
locale: 'en',
messages: {
//这是对应语言的语言文件所在,
'en': require('./assets/language/en'),
'zh-cn': require('./assets/language/zh')
}
})
new Vue({
// 挂载i18n实例
i18n,
render: h => h(App)
}).$mount('#app')
使用i18n语法
语法官网上都有,这里举两个简单常用的
//第一个直接插值,类似于vue的插值表达式,将语言文件里面order中的rep文字输入到插入的位置
//文件包
module.exports = {
order:{
rep:'你好呀勇士,我是赛利亚。'
}
}
//引用
//<p>{{ $t("order.rep") }}</p>
//第二个是传参的,在文件包中使用插槽,在引用的时候传入数组,数组将根据下标插入占位符中
//文件包
module.exports = {
order:{
rep:'你好呀{0},我是赛利亚。'
}
}
//引用
//<p>{{ $t("order.rep",['冒险家']) }}</p>
切换语言包
切换语言包就在点击事件里面修改挂载到vue实例中的locale就可以切换语言,
this.$i18n.locale = "zh-cn";
到此vue-i18n安装配置完成可以开始使用了