| | |
| | | */ |
| | | import type { LocaleType } from '/#/config'; |
| | | |
| | | import moment from 'moment'; |
| | | |
| | | import { i18n } from './setupI18n'; |
| | | import { useLocaleStoreWithOut } from '/@/store/modules/locale'; |
| | | import { unref, computed } from 'vue'; |
| | |
| | | |
| | | interface LangModule { |
| | | message: Recordable; |
| | | momentLocale: Recordable; |
| | | momentLocaleName: string; |
| | | dateLocale: Recordable; |
| | | dateLocaleName: string; |
| | | } |
| | | |
| | | function setI18nLanguage(locale: LocaleType) { |
| | |
| | | const langModule = ((await import(`./lang/${locale}.ts`)) as any).default as LangModule; |
| | | if (!langModule) return; |
| | | |
| | | const { message, momentLocale, momentLocaleName } = langModule; |
| | | const { message } = langModule; |
| | | |
| | | globalI18n.setLocaleMessage(locale, message); |
| | | moment.updateLocale(momentLocaleName, momentLocale); |
| | | loadLocalePool.push(locale); |
| | | |
| | | setI18nLanguage(locale); |