feat(locales): 动态导入路由本地化消息文件
This commit is contained in:
@@ -1,7 +1,16 @@
|
|||||||
import enUS from './en-US';
|
import type { I18nOptions } from 'vue-i18n';
|
||||||
import zhCN from './zh-CN';
|
|
||||||
|
|
||||||
export const locales4RouteMessages = {
|
const modules = import.meta.glob(['./*.ts', '!./_messages-auto-imports.ts'], {
|
||||||
'zh-CN': zhCN,
|
eager: true,
|
||||||
'en-US': enUS,
|
import: 'default',
|
||||||
};
|
});
|
||||||
|
|
||||||
|
type MessageType = Record<string, string>;
|
||||||
|
export const locales4RouteMessages: I18nOptions['messages'] = Object.entries(modules).reduce(
|
||||||
|
(messages, [path, mod]) => {
|
||||||
|
const locale = path.replace(/(\.\/|\.ts)/g, '');
|
||||||
|
messages[locale] = mod as MessageType;
|
||||||
|
return messages;
|
||||||
|
},
|
||||||
|
{} as Record<string, MessageType>,
|
||||||
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user