From e45307a23318b6e3be9daec9c7ea144d6008f542 Mon Sep 17 00:00:00 2001 From: Sudo-Ivan Date: Thu, 12 Mar 2026 15:44:01 -0500 Subject: [PATCH] Refactor i18n initialization in main.js to dynamically load locale files --- meshchatx/src/frontend/main.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/meshchatx/src/frontend/main.js b/meshchatx/src/frontend/main.js index 785d09f..c175efd 100644 --- a/meshchatx/src/frontend/main.js +++ b/meshchatx/src/frontend/main.js @@ -12,22 +12,19 @@ import "./fonts/RobotoMonoNerdFont/font.css"; import { ensureCodec2ScriptsLoaded } from "./js/Codec2Loader"; import App from "./components/App.vue"; -import en from "./locales/en.json"; -import de from "./locales/de.json"; -import ru from "./locales/ru.json"; -import it from "./locales/it.json"; -// init i18n +const localeModules = import.meta.glob("./locales/*.json", { eager: true }); +const messages = {}; +for (const filePath in localeModules) { + const code = filePath.match(/\/([^/]+)\.json$/)[1]; + messages[code] = localeModules[filePath].default; +} + const i18n = createI18n({ legacy: false, locale: "en", fallbackLocale: "en", - messages: { - en, - de, - ru, - it, - }, + messages, }); // init vuetify