Refactored key components to use react-i18next translations:
- ErrorBoundary: error messages and labels
- ProgressStepper: step labels
- DimensionCard: health status labels, descriptions, benchmark text, action buttons
- DashboardTabs: back button, footer, default title
Added translation keys to es.json and en.json:
- dashboard.defaultTitle
- All health status and benchmark keys already existed
Build verified successfully. Remaining 31 components to be refactored in subsequent commits.
https://claude.ai/code/session_4f888c33-8937-4db8-8a9d-ddc9ac51a725
Implemented comprehensive internationalization (i18n) for both frontend and backend:
Frontend:
- Added react-i18next configuration with Spanish (default) and English
- Created translation files (locales/es.json, locales/en.json)
- Refactored core components to use i18n: LoginPage, DashboardHeader, DataUploader
- Created LanguageSelector component with toggle between ES/EN
- Updated API client to send Accept-Language header
Backend:
- Created i18n module with translation dictionary for error messages
- Updated security.py to return localized authentication errors
- Updated api/analysis.py to return localized validation errors
- Implemented language detection from Accept-Language header
Spanish remains the default language ensuring backward compatibility.
Users can switch between languages using the language selector in the dashboard header.
https://claude.ai/code/session_1N9VX