i18n Phase 3 — web (next-intl)
Seen in 1 project by 1 person
About
Split from the master i18n plan (task i18n-en, Plane YOPSYS-62).
BLOCKED ON: Phase 1 foundation (i18n-en) + Phase 2 DB/preference. Promote backlog → todo once BOTH have merged. Independent of Phase 4 (mobile) and Phase 5 (extension) — runs in parallel with them.
Scope (~6–10h):
- Install
next-intl; configurei18n/request.tsto load shared catalogs from@pickism/shared. - Compose next-intl middleware with existing
apps/web/middleware.ts— ORDER MATTERS: locale detection → auth → redirect. Verify auth redirects still work for/fr/login(MEDIUM risk). - Routes:
app/[locale]/(marketing)/...URL-prefixed for marketing;app/app/...stays cookie-driven. Resolution: URL →NEXT_LOCALEcookie →profiles.locale→Accept-Language→'en'. - MDX legal pages: parallel
fr/files underapp/[locale]/(legal)/. - Locale picker in marketing nav +
/appsettings (writes cookie + DB via the Phase 2 endpoint when logged in); server actions sync DB ↔ cookie. - Email (
nodemailer): every send site reads recipientprofiles.localebefore render (MEDIUM risk — many send sites). sitemap.ts/robots.tshreflang + per-locale marketing URLs; per-locale OG/metadata.- Phase-6 string extraction FOR WEB belongs here: sweep web components, replace hardcoded strings with
t('ns.key'), runpnpm i18n:translate.
Links
No links shared yet.
Listed in
Bookmarked in
Not in any public bookmark categories yet.