fix: i18n ICU loading failure due to original auto-loading.

This commit is contained in:
Matt Kilgore
2024-08-07 20:26:40 -04:00
parent 8d93a3f56e
commit 1f77fad829
6 changed files with 61 additions and 34 deletions

View File

@@ -1,7 +1,6 @@
import type { CompileError, MessageCompiler, MessageContext } from "vue-i18n";
import { createI18n } from "vue-i18n";
import IntlMessageFormat from "intl-messageformat";
import messages from '@intlify/unplugin-vue-i18n/messages'
import { IntlMessageFormat } from "intl-messageformat";
export default defineNuxtPlugin(({ vueApp }) => {
const i18n = createI18n({
@@ -10,9 +9,8 @@ export default defineNuxtPlugin(({ vueApp }) => {
locale: "en",
fallbackLocale: "en",
messageCompiler,
messages,
messages: messages(),
});
vueApp.use(i18n);
});
@@ -35,3 +33,13 @@ export const messageCompiler: MessageCompiler = (message, { locale, key, onError
return () => key;
}
};
export const messages: Object = () => {
let messages = {};
const modules = import.meta.glob('~//locales/**.json', { eager: true });
for (const path in modules) {
const key = path.slice(9, -5);
messages[key] = modules[path];
}
return messages;
};