上来就干货!
安装i18n
npm install vue-i18n
项目中创建i18n文件夹分别存放 index.js、zh.js、en.js
- index.js
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import zh from './zh'
import en from './en'
import store from '@/store' //引入vux做状态管理
console.log(store.getters.getI18n)
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: store.getters.getI18n, //设置默认语言'zh'
messages: { zh, en }
})
export default i18n
- zh.js
export default {
language:'起来,不愿做奴的人们~'
}
- en.js
export default {
language:'Hello word~'
}
main.js 文件引入
import Vue from 'vue'
import App from './App'
import store from './store'
import i18n from './i18n'
new Vue({
el: '#app',
store,
i18n,
components: { App },
template: '<App/>'
})
使用
<template>
<p @click="changlang('en‘’)">{{$t('language')}}</p>
</template>
import { mapActions, mapGetters } from "vuex";
export default {
methods: {
...mapActions(["setI18n"]),
// 切换语言
changlang(lan) {
this.setI18n(lan);
this.$i18n.locale = lan;
}
}
}