| 12345678910111213141516171819202122232425262728293031323334 |
- 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);
- }
- };
|