1、安装vue-i18n
npm install vue-i18n或yarn add vue-i18n
2、创建 VueI18n 实例
import Vue from 'vue'
import VueI18n from 'vue-i18n'
// use
Vue.use(VueI18n)
// 准备翻译的语言环境信息 (词条)
const messages = {
zh: {
message: {
lang: '你好'
}
},
kk: {
message: {
lang: 'Здравствыйте '
}
}
}
// 通过选项创建 VueI18n 实例
const i18n = new VueI18n({
locale: 'zh', // 设置地区
messages // 设置地区信息
})
// 导出 VueI18n 实例
export default i18n
// 暴露修改语言方法
export const changeLang = () => {
if (i18n.locale === 'zh') {
i18n.locale = 'kk'
} else {
i18n.locale = 'zh'
}
}
3、vue挂载i18n实例
import Vue from 'vue'
import App from './App'
import router from './router'
// 引入i18n实例
import i18n from './locale/i18n.js'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
i18n, // 挂载 i18n
components: { App },
template: '<App/>'
})
4、模板中使用
<template>
<div>
<span>{{$t('message.lang')}}</span>
<!-- 切换语言 -->
<button @click="changeLang">{{$i18n.locale === 'zh'? '切换俄文' : '切换中文'}}</button>
</div>
</template>
<script>
import {changeLang} from '@/locale/i18n.js'
export default {
methods: {
changeLang
}
}
</script>
5、效果展示