Update language selection intially displays prefered language unless manually changed

This commit is contained in:
2026-01-08 18:21:11 +00:00
parent c7a3068e1c
commit 800286c5a6
2 changed files with 15 additions and 1 deletions

View File

@@ -16,8 +16,14 @@ export const useLanguage = () => {
i18n.changeLanguage(lang); i18n.changeLanguage(lang);
}; };
// Normalize language to 'en' or 'de' (strip region codes like 'en-US')
const normalizeLanguage = (lang: string): string => {
const baseLang = lang.split('-')[0].toLowerCase();
return ['en', 'de'].includes(baseLang) ? baseLang : 'en';
};
return { return {
currentLanguage: i18n.language, currentLanguage: normalizeLanguage(i18n.language),
changeLanguage, changeLanguage,
t, t,
availableLanguages: Object.keys(i18n.services.resourceStore.data), availableLanguages: Object.keys(i18n.services.resourceStore.data),

View File

@@ -20,6 +20,8 @@ i18n
.init({ .init({
resources, resources,
fallbackLng: 'en', fallbackLng: 'en',
supportedLngs: ['en', 'de'],
load: 'languageOnly', // Only use 'en' instead of 'en-US'
debug: process.env.NODE_ENV === 'development', debug: process.env.NODE_ENV === 'development',
interpolation: { interpolation: {
@@ -33,4 +35,10 @@ i18n
}, },
}); });
// Ensure the detected language is saved to localStorage
const detectedLang = i18n.language;
if (detectedLang && !localStorage.getItem('medPlanAssistant_language')) {
localStorage.setItem('medPlanAssistant_language', detectedLang);
}
export default i18n; export default i18n;