From 4d3d02d9371136bfcce949245df93a2ecff4f43f Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Fri, 15 May 2026 14:23:09 +0200 Subject: [PATCH] feat(i18n): implement backward-compatible alias for security settings --- frontend/src/i18n/index.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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: {