import { DEFAULT_LANGUAGE, isLanguage, type Language, } from '@/domain/language/entities'; import type { LanguageRepository } from '@/domain/language/repository'; export function detectBrowserLanguage(): Language { if (typeof navigator === 'undefined') return DEFAULT_LANGUAGE; const browserLang = navigator.language.toLowerCase(); if (browserLang.startsWith('sv')) return 'sv'; if (browserLang.startsWith('ar')) return 'ar'; if (browserLang.startsWith('tr')) return 'tr'; if (browserLang.startsWith('hi')) return 'hi'; if (browserLang.startsWith('ur')) return 'ur'; if (browserLang.startsWith('en')) return 'en'; return DEFAULT_LANGUAGE; } export function resolveInitialLanguage(repository: LanguageRepository): Language { const saved = repository.load(); if (saved && isLanguage(saved)) return saved; return detectBrowserLanguage(); } export function persistLanguage(repository: LanguageRepository, language: Language): void { repository.save(language); }