[improvement] use i18n (#2454)

This commit is contained in:
neverland
2019-01-07 15:24:34 +08:00
committed by GitHub
parent ed7febc131
commit c6e1aaf5da
4 changed files with 23 additions and 6 deletions
+9 -4
View File
@@ -1,19 +1,23 @@
/* eslint-disable import/no-mutable-exports */
import Vue from 'vue';
import deepAssign from '../utils/deep-assign';
import defaultMessages from './lang/zh-CN';
let lang = 'zh-CN';
const proto = Vue.prototype;
const defaultLang = 'zh-CN';
const messages = { [lang]: defaultMessages };
const locale = {
install() {
if (proto.$vantLang) {
return;
}
Vue.util.defineReactive(proto, '$vantLang', defaultLang);
Vue.util.defineReactive(proto, '$vantMessages', { [defaultLang]: defaultMessages });
Vue.util.defineReactive(proto, '$vantLang', lang);
Vue.util.defineReactive(proto, '$vantMessages', messages);
},
use(lang, messages) {
use(newLang, messages) {
lang = newLang;
proto.$vantLang = lang;
this.add({ [lang]: messages });
},
@@ -26,3 +30,4 @@ const locale = {
locale.install();
export default locale;
export { lang, messages };