Files
vant/src/locale/index.ts
T
2020-08-21 17:45:51 +08:00

27 lines
590 B
TypeScript

import { ref } from 'vue';
import { deepAssign } from '../utils/deep-assign';
import defaultMessages from './lang/zh-CN';
type Message = Record<string, any>;
type Messages = Record<string, Message>;
const lang = ref('zh-CN');
const messages = ref<Messages>({
'zh-CN': defaultMessages,
});
export default {
messages(): Message {
return messages.value[lang.value];
},
use(newLang: string, newMessages?: Message) {
lang.value = newLang;
this.add({ [newLang]: newMessages });
},
add(newMessages: Message = {}) {
deepAssign(messages.value, newMessages);
},
};