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
parent
commit
ae3f8329c2
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      src/locales/setupI18n.ts
  2. 4
      src/locales/useLocale.ts

5
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<I18nOptions> {
const defaultLocal = await import(`./lang/${locale}.ts`);
const message = defaultLocal.default?.message ?? {};
setLoadLocalePool((loadLocalePool) => {
loadLocalePool.push(locale);
});
return {
legacy: false,
locale,

4
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();

Loading…
Cancel
Save