feat(web-i18n): add es/fr locales and expand switcher locale set

This commit is contained in:
2026-02-10 19:23:36 +01:00
parent 0e2248b5c7
commit de26cb7647
25 changed files with 414 additions and 85 deletions

View File

@@ -0,0 +1,20 @@
# i18n Baseline
## Scope
MVP0 introduces i18n runtime only for the public app (`@cms/web`) using `next-intl`.
Current baseline:
- Shared locale contract in `@cms/i18n` (`de`, `en`, `es`, `fr`; default `en`)
- Path-stable routing (no locale in URL) via `apps/web/src/proxy.ts`
- Message loading through `apps/web/src/i18n/request.ts`
- Locale-aware navigation helpers in `apps/web/src/i18n/navigation.ts`
- Public language switcher component backed by Zustand store
## Notes
- Public app locale is resolved through `next-intl` middleware + cookie.
- Enabled locales are currently static in code and will later be managed from admin settings.
- Admin app i18n provider/message loading is still pending.
- Translation key conventions and workflow docs are tracked in `TODO.md`.