Updated French translations#151
Conversation
WalkthroughThis PR updates French locale translations in Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@locales/fr.json`:
- Line 7: The French translation for the zero-count uses singular; update the
value for the "0 issues" string key to use the plural form "numéros" (change "0
numéro" → "0 numéros") and apply the same pluralization fix to the other
occurrence mentioned (the string at the other occurrence on line 11) so all
zero-count translations use "numéros".
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
| "% min read": "% min de lecture", | ||
| "0 issues": "0 édition", | ||
| "1 issue": "1 édition", | ||
| "0 issues": "0 numéro", |
There was a problem hiding this comment.
Correct plural agreement with zero.
In French grammar, "0" (zéro) takes the plural form. Lines 7 and 11 should use "numéros" (plural) instead of "numéro" (singular).
📝 Proposed fix
- "0 issues": "0 numéro",
+ "0 issues": "0 numéros",- "A collection of 0 issues": "Une collection de 0 numéro",
+ "A collection of 0 issues": "Une collection de 0 numéros",Also applies to: 11-11
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@locales/fr.json` at line 7, The French translation for the zero-count uses
singular; update the value for the "0 issues" string key to use the plural form
"numéros" (change "0 numéro" → "0 numéros") and apply the same pluralization fix
to the other occurrence mentioned (the string at the other occurrence on line
11) so all zero-count translations use "numéros".
There was a problem hiding this comment.
Thanks for the suggestion. We're keeping the singular form here: traditional French grammar uses the singular after 0 ("0 numéro", "0 enfant"), per the Académie française. The plural form is increasingly common in modern usage but the singular is grammatically correct, which is what we want for consistency with the rest of the locale.
There was a problem hiding this comment.
@bst1n, understood — thank you for the clarification! The Académie française rule (singular after "zéro") is a perfectly valid choice, and keeping it consistent throughout the locale makes sense.
🐇 📚
✏️ Learnings added
Learnt from: bst1n
Repo: TryGhost/Source PR: 151
File: locales/fr.json:7-7
Timestamp: 2026-06-01T14:37:31.367Z
Learning: In the TryGhost/Source repository's French locale file (`locales/fr.json`), zero-count strings intentionally use the singular form (e.g., "0 numéro", "0 publication") following traditional Académie française grammar, where "zéro" takes the singular. Do not flag these as incorrect plural agreement — this is a deliberate, grammatically justified choice for consistency throughout the locale.
Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.
🧠 Learnings used
Learnt from: cathysarisky
Repo: TryGhost/Source PR: 104
File: locales/en.json:1-42
Timestamp: 2026-02-08T15:14:42.344Z
Learning: When reviewing locale files (e.g. locales/en.json), be aware that some translation keys may originate from upstream/shared repos and are not present in the Source repo. Do not flag such keys as unused. Treat them as intentional cross-repo references; only flag a key as unused if it is truly absent or unused within Source itself. Document provenance if needed and avoid removing cross-repo keys based solely on their absence in this repo.
Summary
Updates
locales/fr.jsonto complete missing translations and refine awkward ones.Filled empty strings (12)
All 12 previously empty strings come from
ghost-private/private.hbs— the password-protected page (access code prompt, email validation, confirmation messages, etc.). They were unusable in French until now.Reworked
issue→ "numéro"In French, "édition" suggests the edition of a book; for a newsletter, the standard term is "numéro". Phrases like "Une collection de 15 éditions" read oddly — "Une collection de 15 numéros" is the natural phrasing.
Reworked
Upgrade*stringsThe previous translations mixed metaphors ("Surclasser votre compte", "Mise à niveau", "abonnement payant") and used nouns where the UI needs verbs. Aligned everything around "Passer à l'offre supérieure", which is the standard French phrasing on subscription sites (Netflix, Spotify, etc.) and works for both free→paid and tier upgrades.
Other refinements
Toggle menu: "Basculer le menu" → "Afficher le menu" (aria-label, more natural)Stay tuned(newsletter context, not audio): "Restez à l'écoute" → "À suivre"Site owner login: "Connexion propriétaire du site" → "Connexion administrateur"Show more: "Voir plus" → "En voir plus"Something went wrong, please try again.: "Une erreur s'est produite..." → "Un problème est survenu..."Thanks! Now check your email to confirm.: "Consultez votre e-mail..." → "Vérifiez votre boîte de réception..."Enter your email: "Saisissez votre e-mail" → "Saisissez votre adresse e-mail" (consistent withYour email address)"This page/post is for subscribers on the {tiers} only": "des formules {tiers}" → "de la formule {tiers}" (singular —{tiers}is a single tier name)