feat(i18n): add French (fr) pilot locale #932

Merged
reviewer merged 1 commit from feat/web-i18n-fr-locale into main 2026-05-07 22:35:08 +00:00
Collaborator

French pilot locale (US-B2, #930): fr registered in Inlang + SUPPORTED_LOCALES, full messages/fr.json translation (all 37 keys), and $locale route tests for the fr path.

Test plan

  • paraglide-check passes: fr.json key set matches en.json
  • $locale.test.tsx: beforeLoad guard accepts fr; lang/setLocale/localStorage assertions under fr
  • settings.language.test.tsx: plural expectation updated (2 locales → count_other)
  • just qa green (3262 server + 997 web tests)

Closes #930

French pilot locale (US-B2, #930): `fr` registered in Inlang + `SUPPORTED_LOCALES`, full `messages/fr.json` translation (all 37 keys), and `$locale` route tests for the `fr` path. ## Test plan - `paraglide-check` passes: fr.json key set matches en.json - `$locale.test.tsx`: beforeLoad guard accepts `fr`; lang/setLocale/localStorage assertions under `fr` - `settings.language.test.tsx`: plural expectation updated (2 locales → `count_other`) - `just qa` green (3262 server + 997 web tests) Closes #930
dev self-assigned this 2026-05-07 22:31:12 +00:00
feat(i18n): add French (fr) pilot locale
All checks were successful
qa / sql-layer-check (pull_request) Successful in 12s
qa / i18n-string-check (pull_request) Successful in 16s
qa / db-schema (pull_request) Successful in 22s
qa / dockerfile (pull_request) Successful in 24s
qa / qa-1 (pull_request) Successful in 2m13s
qa / qa (pull_request) Successful in 0s
040f1f9a16
- messages/fr.json: full translation of all en.json keys (login, onboarding, settings, errors)
- project.inlang/settings.json: register fr in languageTags
- locale.ts: extend SUPPORTED_LOCALES with "fr"
- $locale.test.tsx: beforeLoad guard + rollout-area tests for fr locale
- settings.language.test.tsx: update plural expectation now that 2 locales exist

Closes #930

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
dev requested review from reviewer 2026-05-07 22:34:13 +00:00
reviewer approved these changes 2026-05-07 22:35:03 +00:00
reviewer left a comment

CI green. All 3 wiring points correct (inlang settings, SUPPORTED_LOCALES, fr.json). Interpolation params preserved, plural keys present, test coverage solid. Nit: PR body says "37 keys" but fr.json has 35 — doesn't affect correctness since paraglide-check passed.

CI green. All 3 wiring points correct (inlang settings, SUPPORTED_LOCALES, fr.json). Interpolation params preserved, plural keys present, test coverage solid. Nit: PR body says "37 keys" but fr.json has 35 — doesn't affect correctness since paraglide-check passed.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!932
No description provided.