Complete French (fr) theme translation (110/110)#491
Complete French (fr) theme translation (110/110)#491cathysarisky merged 2 commits intoTryGhost:mainfrom
Conversation
Translates all 88 previously empty strings in fr.json, bringing French coverage from 22/110 to 110/110. Translation choices: - "issue" → "édition" (newsletter context) - "post" → "publication" (blog context) - "member" → "abonné" (subscription context) - Placeholder email localized to jean.martin@exemple.com (existing) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Caution Review failedPull request was closed or merged during review No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughThis pull request populates the French locale file Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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 Tip You can make CodeRabbit's review stricter and more nitpicky using the `assertive` profile, if that's what you prefer.Change the |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@packages/theme-translations/locales/fr.json`:
- Line 8: The French locale uses singular for zero counts; update the zero-count
translations to plural forms — e.g. change the value for the "0 issues" key from
"0 édition" to "0 éditions" and likewise update the other zero-count entries on
the same file (lines 14 and 15) to use plural words (e.g. "0 publications" / "0
éditions" as appropriate) so that all strings representing 0 use the plural
form.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: b9e373fc-653f-4f61-8a94-7d84a5163619
📒 Files selected for processing (1)
packages/theme-translations/locales/fr.json
| "Topics": "Sujets", | ||
| "Upgrade": "Mise à niveau", | ||
| "Upgrade now": "Mettre à niveau maintenant", | ||
| "Upgrade to a paid account to get full access.": "Passez à un compte payant pour un accès complet.", |
There was a problem hiding this comment.
Passez à un abonnement payant pour un accès complet?
There was a problem hiding this comment.
Here @cathysarisky, I think @adenau is right, but in fact he's right beyond the translation. I think that even for English, the default variable should be "Upgrade to a paid subscription..." rather than "Upgrade to a paid account...". That makes more sense for a blog. The word "account" is a bit heavy in my opinion.
| "Upgrade": "Mise à niveau", | ||
| "Upgrade now": "Mettre à niveau maintenant", | ||
| "Upgrade to a paid account to get full access.": "Passez à un compte payant pour un accès complet.", | ||
| "Upgrade your account": "Mettez votre compte à niveau", |
There was a problem hiding this comment.
@adenau Yes, that's better! I was looking for the word but couldn't find it. But in that case, you would also have to use the same verb and translate "Upgrade" as "Surclassement," which sounds a little strange. I don't like to use too many different words for similar actions.
There was a problem hiding this comment.
We aren't going to fix the English on a French PR. (And changing the English would mess up everyone's translations, so... yeah, we really aren't going to fix the English today.) But there's no problem with using slightly different words that convey an understandable and correct meaning.
Since the conversation seems to have stopped here, I'm going to take my best guess on what was wanted here (because I want to release updates today), and then if you need to fine tune something, you can always open an additional PR.
| "All episodes →": "Tous les épisodes →", | ||
| "Already have an account?": "Vous avez déjà un compte ?", | ||
| "Archive": "Archives", | ||
| "Browse all issues": "Parcourir toutes les éditions", |
There was a problem hiding this comment.
in Québec French, I think we would translate issues to "articles"
There was a problem hiding this comment.
il y a quelques themes dans le repo ou on dit "issues", y pas "posts". [That's all the French I have, as it's been 30 years. Here, the wording means like a magazine or newspaper issue, not a single article or essay that might be in an issue.
There was a problem hiding this comment.
@adenau @cathysarisky I have differentiated between "issue," which seems to be dedicated to newsletters / magazine themes, and "post," which seems to be dedicated to publications that do not involve a "newsletter" or magazine format. In any case, I find the word "article" far too reductive in French; it sounds too scientific or political. The word "publication" is more general and better suited to the overall use of a blog on the internet.
Co-authored-by: Cathy Sarisky <42299862+cathysarisky@users.noreply.github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
| "comment": "commentaire", | ||
| "comments": "commentaires", | ||
| "Comments": "Commentaires", | ||
| "Don\u2019t miss out on the latest issues. Sign up now to get access to the library of members-only issues.": "Ne manquez aucune édition. Inscrivez-vous pour accéder à l'ensemble des éditions réservées aux abonnés.", |
There was a problem hiding this comment.
Unicode escape mismatch for apostrophe in translation key
Low Severity
The key for the "Don\u2019t miss out..." entry uses the JSON escape sequence \u2019 for the right single quotation mark, while every other locale file in the project (en.json, de.json, de-CH.json, etc.) and the source Handlebars templates use the literal U+2019 character. This is the only occurrence of a \u2019 escape in the entire repository. While functionally equivalent after JSON.parse, this inconsistency could confuse contributors or byte-level diffing tools.


Summary
fr.json) translation from 22/110 to 110/110 stringsTranslation choices
issue(newsletter)post(blog)memberTest plan
{placeholder}variables are preserved unchanged🤖 Generated with Claude Code
Note
Low Risk
Low risk localization-only change; main risk is string accuracy or placeholder/escaping issues affecting UI text rendering.
Overview
Completes the French locale file
packages/theme-translations/locales/fr.jsonby replacing previously empty values with French translations for all remaining theme strings (navigation, membership/subscription, archive/issue, and system messages), bringing coverage to 110/110 keys.Written by Cursor Bugbot for commit 5d9b294. This will update automatically on new commits. Configure here.