You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Spanish (and any future locale) only translates a small fraction of the UI. PR #137 localized the high-traffic chrome (primary nav, sidebar links, the Need-an-Agent CTA, menu aria-labels, and the whole Settings page). This issue tracks extending i18n coverage to the remaining views so switching language localizes the rest of the app.
Background
i18n is i18next + react-i18next with statically imported en/es resources (website/src/common/i18n.ts). The es file is fully translated for the namespaces it covers — the gap is coverage, not translation quality: most components render literal English and never call t(), so no locale can localize them.
Only ~16 of ~115 src/components + src/views files call useTranslation.
Best done incrementally — one PR per view cluster — to keep diffs reviewable.
Optional follow-up
SSR pins lng: "en" (i18n.ts), so translated strings flash English on first paint before client hydration. Proper App-Router locale-aware SSR is a separate, larger change and out of scope here.
Summary
Spanish (and any future locale) only translates a small fraction of the UI. PR #137 localized the high-traffic chrome (primary nav, sidebar links, the Need-an-Agent CTA, menu aria-labels, and the whole Settings page). This issue tracks extending i18n coverage to the remaining views so switching language localizes the rest of the app.
Background
i18n is i18next + react-i18next with statically imported
en/esresources (website/src/common/i18n.ts). Theesfile is fully translated for the namespaces it covers — the gap is coverage, not translation quality: most components render literal English and never callt(), so no locale can localize them.src/components+src/viewsfiles calluseTranslation.feed,follows,home,connection,poker, and (after fix: staging bug sweep batch 2 — messaging, payments, activity, bounty, i18n, social, moonpay #137)nav,settings.Scope — views still rendering hardcoded English
The deep explore views, e.g.:
Approach
t()keys under a view-scoped namespace (mirror thenav/settingspattern from fix: staging bug sweep batch 2 — messaging, payments, activity, bounty, i18n, social, moonpay #137).website/src/assets/locales/en/translations.jsonand.../es/translations.json(a missing key falls back toen).Features.tsx/Sidebar.tsxNavKey) so the i18next typed-resources check passes.Best done incrementally — one PR per view cluster — to keep diffs reviewable.
Optional follow-up
SSR pins
lng: "en"(i18n.ts), so translated strings flash English on first paint before client hydration. Proper App-Router locale-aware SSR is a separate, larger change and out of scope here.Related