Skip to content

Commit 4309804

Browse files
committed
feat: add browser language auto-detection
- Enhance LanguageContext with automatic browser language detection: - Check localStorage first for saved user preference - If no saved preference, detect browser language using navigator.language - Fallback to 'en' if browser language detection fails - Korean language detected if browser language starts with 'ko' - All other languages default to English - Language detection priority: 1. Saved preference in localStorage (user's explicit choice) 2. Browser language detection (automatic) 3. Default to English (fallback) - Benefits: - Better user experience for Korean users - Automatic language selection on first visit - Respects user's browser language preferences - Maintains existing localStorage functionality - No breaking changes to existing behavior
1 parent 6367490 commit 4309804

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

src/components/ui/PageHero.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export function PageHero({
4848
initial={{ opacity: 0, y: 30 }}
4949
animate={{ opacity: 1, y: 0 }}
5050
transition={{ duration: 0.8, delay: 0.2, ease: 'easeOut' }}
51-
className="text-5xl md:text-7xl font-bold mb-6 bg-gradient-to-r from-white to-muted-foreground bg-clip-text text-transparent"
51+
className="text-5xl md:text-7xl font-bold mb-6 bg-gradient-to-r from-white to-muted-foreground bg-clip-text"
5252
>
5353
<BlurReveal duration={600}>
5454
{title}

src/contexts/LanguageContext.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,11 @@ export const LanguageProvider = ({ children }: { children: ReactNode }) => {
661661
const savedLanguage = localStorage.getItem('language') as Language;
662662
if (savedLanguage && (savedLanguage === 'en' || savedLanguage === 'ko')) {
663663
setLanguage(savedLanguage);
664+
} else {
665+
// Auto-detect browser language if no saved preference
666+
const browserLanguage = navigator.language || navigator.languages?.[0] || 'en';
667+
const detectedLanguage = browserLanguage.startsWith('ko') ? 'ko' : 'en';
668+
setLanguage(detectedLanguage);
664669
}
665670
}, []);
666671

0 commit comments

Comments
 (0)