PR #1 (in review) introduces lib/i18n/es.ts with Spanish string constants for the major UI areas. To finish the i18n layer we need:
- A simple
t(key, lang) helper in lib/i18n/index.ts that reads navigator.language or a user preference and returns the right string.
- Replace hardcoded English strings throughout
components/ with t("key.path") calls.
- A language picker in
Settings → General defaulting to "Auto (system)" with English and Spanish as initial options.
Good starter scope: pick one component (e.g. components/settings-modal.tsx or components/onboarding-wizard.tsx), wire it up end-to-end as the reference pattern, and open the PR with that one component. The rest of the components can follow in separate PRs.
PR #1 (in review) introduces
lib/i18n/es.tswith Spanish string constants for the major UI areas. To finish the i18n layer we need:t(key, lang)helper inlib/i18n/index.tsthat readsnavigator.languageor a user preference and returns the right string.components/witht("key.path")calls.Settings → Generaldefaulting to "Auto (system)" with English and Spanish as initial options.Good starter scope: pick one component (e.g.
components/settings-modal.tsxorcomponents/onboarding-wizard.tsx), wire it up end-to-end as the reference pattern, and open the PR with that one component. The rest of the components can follow in separate PRs.