feat(locales): 动态导入路由本地化消息文件
This commit is contained in:
@@ -1,7 +1,16 @@
|
||||
import enUS from './en-US';
|
||||
import zhCN from './zh-CN';
|
||||
import type { I18nOptions } from 'vue-i18n';
|
||||
|
||||
export const locales4RouteMessages = {
|
||||
'zh-CN': zhCN,
|
||||
'en-US': enUS,
|
||||
};
|
||||
const modules = import.meta.glob(['./*.ts', '!./_messages-auto-imports.ts'], {
|
||||
eager: true,
|
||||
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