[improvement] optimize locale (#2725)

This commit is contained in:
neverland
2019-02-12 21:09:44 +08:00
committed by GitHub
parent ba811b50b0
commit a08666947f
7 changed files with 164 additions and 175 deletions
+34
View File
@@ -0,0 +1,34 @@
import Vue from 'vue';
import deepAssign from '../utils/deep-assign';
import defaultMessages from './lang/zh-CN';
declare module 'vue' {
interface VueConstructor {
util: {
defineReactive(obj: object, key: string, value: any): void;
};
}
}
const proto = Vue.prototype;
const { defineReactive } = Vue.util;
defineReactive(proto, '$vantLang', 'zh-CN');
defineReactive(proto, '$vantMessages', {
'zh-CN': defaultMessages
});
export default {
messages() {
return proto.$vantMessages[proto.$vantLang];
},
use(lang: string, messages?: object) {
proto.$vantLang = lang;
this.add({ [lang]: messages });
},
add(messages = {}) {
deepAssign(proto.$vantMessages, messages);
}
};