// import { Locale } from 'vant'; // 直接引用有赞的 // export Locale 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, '$ypMessages', { 'zh-CN': defaultMessages }); export default { messages() { return proto.$ypMessages[proto.$vantLang]; }, use(lang: string, messages?: object) { proto.$vantLang = lang; this.add({ [lang]: messages }); }, add(messages = {}) { deepAssign(proto.$ypMessages, messages); } };