admin-vben5/packages/@core/composables/src/use-simple-locale/index.ts

26 lines
590 B
TypeScript
Raw Normal View History

import { computed, ref } from 'vue';
import { createSharedComposable } from '@vueuse/core';
import { getMessages, type Locale } from './messages';
export const useSimpleLocale = createSharedComposable(() => {
const currentLocale = ref<Locale>('zh-CN');
const setSimpleLocale = (locale: Locale) => {
currentLocale.value = locale;
};
const $t = computed(() => {
const localeMessages = getMessages(currentLocale.value);
return (key: string) => {
return localeMessages[key] || key;
};
});
return {
$t,
currentLocale,
setSimpleLocale,
};
});