diff --git a/frontend/src/i18n/index.js b/frontend/src/i18n/index.js index 6018a56..5b92222 100644 --- a/frontend/src/i18n/index.js +++ b/frontend/src/i18n/index.js @@ -126,6 +126,25 @@ function mergeLocaleChunks(chunks) { return chunks.reduce((acc, chunk) => deepMerge(acc, chunk), {}); } +// Backward-compatible alias: if settings.security is missing, +// reuse settings.account so renamed keys resolve immediately. +function ensureSecuritySettingsAliases(allMessages) { + for (const localeCode of Object.keys(allMessages)) { + const localeMessages = allMessages[localeCode]; + if (!isPlainObject(localeMessages)) { + continue; + } + + if (!isPlainObject(localeMessages.settings)) { + continue; + } + + if (!isPlainObject(localeMessages.settings.security) && isPlainObject(localeMessages.settings.account)) { + localeMessages.settings.security = localeMessages.settings.account; + } + } +} + const cebLocaleChunks = [ enGeneral, enHeader, @@ -256,6 +275,8 @@ const messages = { }, }; +ensureSecuritySettingsAliases(messages); + const i18n = createI18n({ locale: store.state.language, fallbackLocale: {