UNPKG

wot-design-uni

Version:

一个基于Vue3+TS开发的uni-app组件库,提供70+高质量组件,支持暗黑模式、国际化和自定义主题。

42 lines (34 loc) 903 B
/* * @Author: weisheng * @Date: 2024-01-25 23:06:48 * @LastEditTime: 2024-03-30 11:30:55 * @LastEditors: weisheng * @Description: * @FilePath: /wot-design-uni/src/uni_modules/wot-design-uni/locale/index.ts * 记得注释 */ import { reactive, ref } from 'vue' import zhCN from './lang/zh-CN' import { deepAssign } from '../components/common/util' type Message = Record<string, any> type Messages = Record<string, Message> const lang = ref<string>('zh-CN') const messages = reactive<Messages>({ 'zh-CN': zhCN }) export const Locale = { messages(): Message { return messages[lang.value] }, use(newLang: string, newMessage?: Message) { lang.value = newLang if (newMessage) { this.add({ [newLang]: newMessage }) } }, add(newMessages: Messages = {}) { deepAssign(messages, newMessages) } } export const useCurrentLang = () => lang export default Locale