feat: i18n next

This commit is contained in:
chenjiahan
2020-07-05 08:26:58 +08:00
parent 3bc6495b04
commit 0a4c6676ba
16 changed files with 885 additions and 119 deletions
+25
View File
@@ -0,0 +1,25 @@
import { ref } from 'vue';
import { deepAssign } from '../../src/utils/deep-assign';
import defaultMessages from './lang/zh-CN';
type Messages = Record<string, Record<string, any>>;
const lang = ref('zh-CN');
const messages = ref<Messages>({
'zh-CN': defaultMessages,
});
export default {
messages() {
return messages.value[lang.value];
},
use(newLang: string, newMessages?: object) {
lang.value = newLang;
this.add({ [newLang]: newMessages });
},
add(newMessages = {}) {
deepAssign(messages.value, newMessages);
},
};