SUMMARY:
Enhanced i18n language detection to clearly show priority order and
provide better logging for debugging user language preferences.
PRIORITY ORDER:
1. User's manual selection (localStorage) - HIGHEST
- Clicking language flags saves preference here
- Allows users to override browser language
2. Browser's language setting (navigator.language) - AUTOMATIC
- Detects from browser preferences
- Only applies if no user override exists
3. Default to English (fallback)
- Used when browser language not supported
CHANGES:
1. Enhanced detectLanguage():
- Added clear comments documenting priority order
- Added console.log for each detection path
- Shows which source determined the language
- Logs browser language even when not supported
2. Enhanced setLanguage():
- Added log when user manually selects language
- Clarifies that preference overrides browser detection
- Shows that preference persists across pages
BENEFITS:
✓ Users see automatic language detection from browser
✓ Users can override via flag clicks (persists via localStorage)
✓ Clear logging helps debug language selection issues
✓ Developers can see exactly how language was determined
EXAMPLE LOGS:
- Browser detection: '[i18n] Language detected from browser: de (from de-DE)'
- User override: '[i18n] User manually selected language: fr (saved to localStorage)'
- Fallback: '[i18n] Language defaulted to: en (browser language 'ja-JP' not supported)'
🤖 Generated with Claude Code (https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>