diff --git a/src/locales-4-route/_messages-auto-imports.ts b/src/locales-4-route/_messages-auto-imports.ts index e2dead1..621dd10 100644 --- a/src/locales-4-route/_messages-auto-imports.ts +++ b/src/locales-4-route/_messages-auto-imports.ts @@ -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; +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, +);