vuex代码:
import Vue from 'vue'
import Vuex from 'vuex'
import VueCookies from 'vue-cookies'
function setLang () {
if (VueCookies.isKey('lang')) {
return VueCookies.get('lang')
} else {
return 'en-US'
}
}
const lang = setLang()
Vue.use(Vuex)
const state = {
showFooter: true,
changableNum: 0
}
const token = ''
const store = new Vuex.Store({
state
})
export default {
store,
token,
lang
}
由于网站每次切换语种的时候,都会保存一个cookie 例如:{ lang:‘en-US’ },并且动态设置网站语言,
在这里我引入了store.js,store里面的lang是根据cookie来赋值的,这样就保存了用户的语言习惯,在刷新页面中, VueI18n 语言管理,就会加载cookie对应的语言包,这样就大功告成了!
import VueI18n from 'vue-i18n'
import store from './store.js'
const i18n = new VueI18n({
locale: store.lang,
messages: {
'zh-CN': require('./common/lang/zh'),
'en-US': require('./common/lang/en')
}
})
ElementLocale.i18n((key, value) => i18n.t(key, value))
/* eslint-disable no-new */
new Vue({
el: '#app',
i18n,
router,
components: {App},
template: '<App/>'
})