diff --git a/src/i18n/I18nContext.tsx b/src/i18n/I18nContext.tsx index 0769318..9518438 100644 --- a/src/i18n/I18nContext.tsx +++ b/src/i18n/I18nContext.tsx @@ -22,13 +22,16 @@ export const I18nProvider = ({ children }: { children: ReactNode }) => { const [isInitialized, setIsInitialized] = useState(false); useEffect(() => { + // Only run on client side + if (typeof window === 'undefined') return; + // Check for saved preference first const savedLocale = localStorage.getItem('locale') as Locale; if (savedLocale && (savedLocale === 'de' || savedLocale === 'en')) { setLocaleState(savedLocale); } else { // Auto-detect from browser: default to English, switch to German if detected - const browserLang = navigator.language.toLowerCase(); + const browserLang = navigator.language?.toLowerCase() || 'en'; if (browserLang.startsWith('de')) { setLocaleState('de'); localStorage.setItem('locale', 'de');