[i18n] Platform — Paraglide, locale URLs, resolution #908

Closed
opened 2026-05-06 19:49:48 +00:00 by claude-desktop · 0 comments
Collaborator

Consolidates user stories US-A1, US-A2, US-A3 (see specs/i18n-paraglide-user-stories.md).

Spec


Paraglide + Vite (was US-A1)

  • Inlang project + per-locale message sources in git; official Paraglide Vite plugin in apps/web.
  • vite dev + message edits work with HMR (per Inlang).
  • bun run build succeeds with chosen codegen policy (commit vs CI-generated — recorded in spec open decisions).

Locale-aware routing (was US-A2)

  • / redirects to /en/… or resolved locale.
  • Invalid locale prefix → redirect to a valid locale.
  • Single navigation primitive (LocaleLink or equivalent) preserves locale.
  • Post-login redirect uses canonical prefixed path.

Locale resolution (was US-A3)

  • Order: URL → server preferredLocalelocalStorageAccept-Languageen.
  • URL vs server preference mismatch → one canonical redirect (no split-brain).
Consolidates user stories **US-A1, US-A2, US-A3** (see `specs/i18n-paraglide-user-stories.md`). ## Spec - [specs/i18n-paraglide-user-stories.md](https://forge.jacquin.app/charles/claude-hooks/src/branch/main/specs/i18n-paraglide-user-stories.md) - [specs/i18n-paraglide.md](https://forge.jacquin.app/charles/claude-hooks/src/branch/main/specs/i18n-paraglide.md) --- ### Paraglide + Vite (was US-A1) - [ ] Inlang project + per-locale message sources in git; official Paraglide Vite plugin in `apps/web`. - [ ] `vite dev` + message edits work with HMR (per Inlang). - [ ] `bun run build` succeeds with chosen codegen policy (commit vs CI-generated — recorded in spec open decisions). ### Locale-aware routing (was US-A2) - [ ] `/` redirects to `/en/…` or resolved locale. - [ ] Invalid locale prefix → redirect to a valid locale. - [ ] Single navigation primitive (`LocaleLink` or equivalent) preserves locale. - [ ] Post-login redirect uses canonical prefixed path. ### Locale resolution (was US-A3) - [ ] Order: URL → server `preferredLocale` → `localStorage` → `Accept-Language` → `en`. - [ ] URL vs server preference mismatch → **one** canonical redirect (no split-brain).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
charles/claude-hooks#908
No description provided.