diff --git a/src/locales/setupI18n.ts b/src/locales/setupI18n.ts index 7f2a51f9..2801a931 100644 --- a/src/locales/setupI18n.ts +++ b/src/locales/setupI18n.ts @@ -3,6 +3,7 @@ import type { I18n, I18nOptions } from 'vue-i18n'; import { createI18n } from 'vue-i18n'; +import { setLoadLocalePool } from './useLocale'; import { localeSetting } from '/@/settings/localeSetting'; import { useLocaleStoreWithOut } from '/@/store/modules/locale'; @@ -16,6 +17,10 @@ async function createI18nOptions(): Promise { const defaultLocal = await import(`./lang/${locale}.ts`); const message = defaultLocal.default?.message ?? {}; + setLoadLocalePool((loadLocalePool) => { + loadLocalePool.push(locale); + }); + return { legacy: false, locale, diff --git a/src/locales/useLocale.ts b/src/locales/useLocale.ts index 68c2ed6e..f4f5b8f9 100644 --- a/src/locales/useLocale.ts +++ b/src/locales/useLocale.ts @@ -17,6 +17,10 @@ interface LangModule { const loadLocalePool: LocaleType[] = []; +export function setLoadLocalePool(cb: (loadLocalePool: LocaleType[]) => void) { + cb(loadLocalePool); +} + function setI18nLanguage(locale: LocaleType) { const localeStore = useLocaleStoreWithOut();