i18n — full web string sweep (replace hardcoded UI strings with t())

Seen in 1 project by 1 person

About

Split from Phase 3b (200b0537). The i18n plumbing is fully merged (Phases 1–5 + email locale); this is item 5 — the full web string sweep: make the app actually render in FR, not just the wired subset.

Scope: replace hardcoded user-facing strings in apps/web with t('ns.key') calls, grouped by feature into namespaces (reuse common; add app, marketing, etc. as needed). Add EN keys to the shared catalogs (packages/shared/src/i18n/locales/en/*.json), run pnpm i18n:translate to generate FR, keep pnpm i18n:check green (no __TODO__, full key parity). Use the existing next-intl setup (useTranslations/getTranslations); do not touch DB-stored user content (project names, option content, comments) — chrome strings only.

This is large — chunk it. Do ONE coherent area per run (e.g. a route group or feature: shortlists, options, plans, settings, profile, marketing pages), fully extracted + translated + verified, then open a PR for that chunk and enumerate the remaining areas in the hand-off comment. Prefer a small, fully-green PR over a broad half-done one.

Do NOT auto-merge even though no excluded paths are touched — a large user-facing copy diff should get a human eyeball. Open the PR, set state=review, keep the worktree. Re-runnable per area until the app is fully swept.

Links

No links shared yet.

Listed in

Bookmarked in

Not in any public bookmark categories yet.