Browse Source
perf: optimize i18n to add the initial locale to the locale pool during initialization (#577)
pull/584/head
江麻妞
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
9 additions and
0 deletions
-
src/locales/setupI18n.ts
-
src/locales/useLocale.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<I18nOptions> { |
|
|
|
const defaultLocal = await import(`./lang/${locale}.ts`); |
|
|
|
const message = defaultLocal.default?.message ?? {}; |
|
|
|
|
|
|
|
setLoadLocalePool((loadLocalePool) => { |
|
|
|
loadLocalePool.push(locale); |
|
|
|
}); |
|
|
|
|
|
|
|
return { |
|
|
|
legacy: false, |
|
|
|
locale, |
|
|
|
|
|
|
|
@ -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(); |
|
|
|
|
|
|
|
|