原文链接
1.下载插件
npm install vue-i18n --save-dev
2.创建中文文件(zh.js)和英文文件(创建目录src/com/language)
//zh.js
module.exports = {
language: {
name: '中文'
},
user: {
LogOut: '退出登录',
Rights: '权限管理',
systemLog: '系统日志',
}
}
//en.js
module.exports = {
language: {
name: 'English'
},
user: {
LogOut: 'Log out',
Rights: 'Rights management',
systemLog: 'The system log',
}
}
3.在main.js里面引入插件
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: localStorage.getItem('languageSet') || 'zh', //从localStorage里获取用户中英文选择,没有则默认中文
messages: {
'zh': require('@/com/language/zh.js'),
'en': require('@/com/language/en.js')
}
})
new Vue({
router,
i18n,
render: h => h(App)
}).$mount('#app')
4.在页面中使用
<template>
<el-button @click="switchLanguage" type="danger">{{
$t('language.name')
}}</el-button>
</template>
<script>
methods:{
switchLanguage(){
this.$i18n.locale=='zh'?this.$i18n.locale='en':this.$i18n.locale='zh' //设置中英文模式
localStorage.setItem('languageSet',this.$i18n.locale) //将用户设置存储到localStorage以便用户下次打开时使用此设置
},
}
<script>