项目技术架构: VUE + VUEX + VUEX-i18n + UI框架
项目要求 : 中英俄三种语言兼容
VUEX-i18n的使用十分方便,首先所有项目所用文字的不同语种翻译收集好并录入数据库中,
第一步: 在项目入口是请求语言包:
axios({
method: 'post',
url: '/app/api/getLanguage',
}).then(function (resp){
if(resp.data.result){
// 赋值给i18n
for (let i in resp.data.data) {
Vue.i18n.add(i, resp.data.data[i])
}
var lang = _this.$store.state.LANG || 'CN';
Vue.i18n.set(lang);
_this.$store.commit('UPDATELANG', {LANG: lang});
}
})
.catch();
第二步: 把请求的数据通过 Vue.i18n.add 方法添加, 获取的时候通过 $t() 方法 比如: $t('vux.app_05') ‘vux.app_05’ 就是数据库中每个文字的键值;
第三步: 设置语言
通过 Vue.i18n.set 方法设置不同的语言 比如:CN是我的语言数据中的中文语言键值
Vue.i18n.set( ‘CN’ );
这样你的HTML中就会全部是 $t('****') 如: