Skip to content

🌐 Updated and complete the French translations in ghost.json, portal.json, and comments.json#24486

Merged
cathysarisky merged 11 commits intoTryGhost:mainfrom
matteorlt:fix/french-translation
Aug 7, 2025
Merged

🌐 Updated and complete the French translations in ghost.json, portal.json, and comments.json#24486
cathysarisky merged 11 commits intoTryGhost:mainfrom
matteorlt:fix/french-translation

Conversation

@matteorlt
Copy link
Copy Markdown
Contributor

What does this PR do?

This pull request complete the French translations for the following files:

  • ghost/i18n/locales/fr/comments.json
  • ghost/i18n/locales/fr/ghost.json
  • ghost/i18n/locales/fr/portal.json

  • I've read and followed the Contributor Guide
  • I've explained my change
  • I've written an automated test to prove my change works (not applicable for translation updates)

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Jul 23, 2025

Walkthrough

The changes update three French localization files: comments.json, ghost.json, and portal.json. In comments.json, several French translation strings for the comments interface were refined for clarity and phrasing. In ghost.json, multiple French translation strings were reworded for improved style, natural phrasing, and punctuation corrections. In portal.json, a single French translation string was adjusted for wording. All modifications involve only localization string values without any changes to logic, control flow, or exported entities.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7e9375b and 2d9c01f.

📒 Files selected for processing (3)
  • ghost/i18n/locales/fr/comments.json (4 hunks)
  • ghost/i18n/locales/fr/ghost.json (3 hunks)
  • ghost/i18n/locales/fr/portal.json (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • ghost/i18n/locales/fr/portal.json
  • ghost/i18n/locales/fr/ghost.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • ghost/i18n/locales/fr/comments.json
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@matteorlt matteorlt changed the title Updated and complete the French translations in ghost.json, portal.json, and comments.json 🌐 Updated and complete the French translations in ghost.json, portal.json, and comments.json Jul 23, 2025
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
ghost/i18n/locales/fr/comments.json (1)

17-17: “Best” sounds off in French UI — prefer “Meilleur contenu” or “Le plus pertinent”

The literal “Meilleur” rarely appears as a standalone sort-option label. Consider a wording that conveys “top / most pertinent” rather than the adjective alone.

-"Best": "Meilleur",
+"Best": "Le plus pertinent",
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b147545 and 0f9eb9f.

📒 Files selected for processing (3)
  • ghost/i18n/locales/fr/comments.json (2 hunks)
  • ghost/i18n/locales/fr/ghost.json (2 hunks)
  • ghost/i18n/locales/fr/portal.json (6 hunks)
🧠 Learnings (4)
📓 Common learnings
Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-05-20T21:08:21.026Z
Learning: In the Ghost project, translation files (ghost/i18n/locales/*/*.json) commonly have blank values for translations, and this is normal behavior that should not be flagged in reviews. These empty translations will be filled in separate PRs.
Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-01-29T15:27:29.391Z
Learning: When reviewing translation files in ghost/i18n/locales, translators should only modify the translated values and must not change the keys or placeholder styles (e.g., %%{status}%%, {site}, etc.) as they serve specific purposes like Mailgun string replacement.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22175
File: ghost/i18n/locales/pt-BR/portal.json:18-18
Timestamp: 2025-02-12T20:09:12.731Z
Learning: In the Ghost project, new translation keys are first added with empty string values, and the actual translations are added later in separate PRs to maintain better organization of translation work.
Learnt from: cathysarisky
PR: TryGhost/Ghost#23070
File: ghost/i18n/locales/hu/comments.json:45-45
Timestamp: 2025-04-30T16:27:03.542Z
Learning: In the Ghost project, new translation string keys are intentionally added with empty values initially and will be translated in a separate PR. Do not report missing translations for entirely new string additions.
Learnt from: cathysarisky
PR: TryGhost/Ghost#21982
File: ghost/i18n/locales/hu v2/portal.json:70-70
Timestamp: 2025-01-29T15:23:58.658Z
Learning: Typos and spelling errors within localization files (ghost/i18n/locales/*.json) must be treated as important problems, not nitpicks, as they directly affect the user experience for speakers of that language. These issues should be flagged with high priority during code review.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:11:25.199Z
Learning: When reviewing translation files in i18n/locales/*, focus on identifying spelling errors in the translation values (right side) of the JSON key-value pairs, not the keys (left side).
Learnt from: cathysarisky
PR: TryGhost/Ghost#21651
File: ghost/i18n/locales/ar/comments.json:1-1
Timestamp: 2025-01-29T15:35:26.447Z
Learning: All JSON files containing translation strings in ghost/i18n/locales must include both opening and closing braces to maintain valid JSON structure.
Learnt from: SebastianSchroeder
PR: TryGhost/Ghost#23602
File: ghost/i18n/locales/vi/ghost.json:3-4
Timestamp: 2025-05-30T11:41:47.336Z
Learning: SebastianSchroeder prefers to handle missing translations in separate PRs rather than including them in the same PR that adds the i18n infrastructure, to keep PRs focused on specific functionality.
Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-02-07T18:07:34.152Z
Learning: Always review translation changes in language files unless the right side (value) of the key-value pair is blank. This includes reviewing both the correctness and appropriateness of the translations.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22075
File: ghost/i18n/locales/pt-BR/comments.json:0-0
Timestamp: 2025-01-29T16:27:51.786Z
Learning: When suggesting changes to JSON translation files, ensure that the key's quote style (straight quotes) is preserved exactly as is, and only modify the translation value.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: Empty translation strings in localization files are often intentional placeholders, not necessarily indicating deleted content. Many languages may have empty strings as translations are added incrementally over time.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: When reviewing localization changes, verify the actual history of translations before flagging potential deletions. Empty translation strings may be intentional placeholders rather than deleted content.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:13:48.222Z
Learning: When reviewing translation files in i18n/locales/*, the keys (left side) must never be changed. If a translator has modified any keys, this should be flagged as a potential error requiring review or correction. Only the translation values (right side) should be modified.
Learnt from: cathysarisky
PR: TryGhost/Ghost#21982
File: ghost/i18n/locales/hu/portal.json:207-207
Timestamp: 2025-02-15T16:00:03.347Z
Learning: In Hungarian translations for Ghost, ensure that all variables like {{title}} are preserved in the translated strings and not omitted.
ghost/i18n/locales/fr/ghost.json (11)

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-05-20T21:08:21.026Z
Learning: In the Ghost project, translation files (ghost/i18n/locales//.json) commonly have blank values for translations, and this is normal behavior that should not be flagged in reviews. These empty translations will be filled in separate PRs.

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-01-29T15:27:29.391Z
Learning: When reviewing translation files in ghost/i18n/locales, translators should only modify the translated values and must not change the keys or placeholder styles (e.g., %%{status}%%, {site}, etc.) as they serve specific purposes like Mailgun string replacement.

Learnt from: cathysarisky
PR: #23070
File: ghost/i18n/locales/hu/comments.json:45-45
Timestamp: 2025-04-30T16:27:03.542Z
Learning: In the Ghost project, new translation string keys are intentionally added with empty values initially and will be translated in a separate PR. Do not report missing translations for entirely new string additions.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/pt-BR/portal.json:18-18
Timestamp: 2025-02-12T20:09:12.731Z
Learning: In the Ghost project, new translation keys are first added with empty string values, and the actual translations are added later in separate PRs to maintain better organization of translation work.

Learnt from: cathysarisky
PR: #21651
File: ghost/i18n/locales/ar/comments.json:1-1
Timestamp: 2025-01-29T15:35:26.447Z
Learning: All JSON files containing translation strings in ghost/i18n/locales must include both opening and closing braces to maintain valid JSON structure.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu/portal.json:207-207
Timestamp: 2025-02-15T16:00:03.347Z
Learning: In Hungarian translations for Ghost, ensure that all variables like {{title}} are preserved in the translated strings and not omitted.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu v2/portal.json:70-70
Timestamp: 2025-01-29T15:23:58.658Z
Learning: Typos and spelling errors within localization files (ghost/i18n/locales/*.json) must be treated as important problems, not nitpicks, as they directly affect the user experience for speakers of that language. These issues should be flagged with high priority during code review.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: When reviewing localization changes, verify the actual history of translations before flagging potential deletions. Empty translation strings may be intentional placeholders rather than deleted content.

Learnt from: cathysarisky
PR: #23161
File: ghost/i18n/lib/i18n.js:107-144
Timestamp: 2025-05-14T14:39:09.136Z
Learning: In Ghost's i18n system, translation keys are the actual English phrases, so when a translation is missing, displaying the key itself serves as the English fallback, eliminating the need for explicit fallback resource loading.

Learnt from: cathysarisky
PR: #22007
File: ghost/i18n/locales/sl/newsletter.json:18-18
Timestamp: 2025-01-28T13:58:08.393Z
Learning: When reviewing translations of newsletter.json, check that the translations of status words (free/complimentary/paid/trialing) will form grammatically correct sentences when substituted into the message template. The status words should agree grammatically with the word "subscriber" in the target language.

Learnt from: michivonah
PR: #22323
File: ghost/i18n/locales/de-CH/ghost.json:31-31
Timestamp: 2025-03-03T12:22:11.423Z
Learning: In Swiss German (de-CH) localization for Ghost, "anmelden" is the preferred term for newsletter subscriptions, while "Abo" is used when referring to paid subscriptions. "Sie werden nicht angemeldet" is the correct translation for "You will not be subscribed" in newsletter contexts.

ghost/i18n/locales/fr/comments.json (10)

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-05-20T21:08:21.026Z
Learning: In the Ghost project, translation files (ghost/i18n/locales//.json) commonly have blank values for translations, and this is normal behavior that should not be flagged in reviews. These empty translations will be filled in separate PRs.

Learnt from: cathysarisky
PR: #23070
File: ghost/i18n/locales/hu/comments.json:45-45
Timestamp: 2025-04-30T16:27:03.542Z
Learning: In the Ghost project, new translation string keys are intentionally added with empty values initially and will be translated in a separate PR. Do not report missing translations for entirely new string additions.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: When reviewing localization changes, verify the actual history of translations before flagging potential deletions. Empty translation strings may be intentional placeholders rather than deleted content.

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-01-29T15:27:29.391Z
Learning: When reviewing translation files in ghost/i18n/locales, translators should only modify the translated values and must not change the keys or placeholder styles (e.g., %%{status}%%, {site}, etc.) as they serve specific purposes like Mailgun string replacement.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/pt-BR/portal.json:18-18
Timestamp: 2025-02-12T20:09:12.731Z
Learning: In the Ghost project, new translation keys are first added with empty string values, and the actual translations are added later in separate PRs to maintain better organization of translation work.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: Empty translation strings in localization files are often intentional placeholders, not necessarily indicating deleted content. Many languages may have empty strings as translations are added incrementally over time.

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-02-07T18:07:34.152Z
Learning: Always review translation changes in language files unless the right side (value) of the key-value pair is blank. This includes reviewing both the correctness and appropriateness of the translations.

Learnt from: cathysarisky
PR: #22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:13:48.222Z
Learning: When reviewing translation files in i18n/locales/*, the keys (left side) must never be changed. If a translator has modified any keys, this should be flagged as a potential error requiring review or correction. Only the translation values (right side) should be modified.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu v2/portal.json:70-70
Timestamp: 2025-01-29T15:23:58.658Z
Learning: Typos and spelling errors within localization files (ghost/i18n/locales/*.json) must be treated as important problems, not nitpicks, as they directly affect the user experience for speakers of that language. These issues should be flagged with high priority during code review.

Learnt from: cathysarisky
PR: #22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:11:25.199Z
Learning: When reviewing translation files in i18n/locales/*, focus on identifying spelling errors in the translation values (right side) of the JSON key-value pairs, not the keys (left side).

ghost/i18n/locales/fr/portal.json (12)

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-05-20T21:08:21.026Z
Learning: In the Ghost project, translation files (ghost/i18n/locales//.json) commonly have blank values for translations, and this is normal behavior that should not be flagged in reviews. These empty translations will be filled in separate PRs.

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-01-29T15:27:29.391Z
Learning: When reviewing translation files in ghost/i18n/locales, translators should only modify the translated values and must not change the keys or placeholder styles (e.g., %%{status}%%, {site}, etc.) as they serve specific purposes like Mailgun string replacement.

Learnt from: cathysarisky
PR: #23070
File: ghost/i18n/locales/hu/comments.json:45-45
Timestamp: 2025-04-30T16:27:03.542Z
Learning: In the Ghost project, new translation string keys are intentionally added with empty values initially and will be translated in a separate PR. Do not report missing translations for entirely new string additions.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/pt-BR/portal.json:18-18
Timestamp: 2025-02-12T20:09:12.731Z
Learning: In the Ghost project, new translation keys are first added with empty string values, and the actual translations are added later in separate PRs to maintain better organization of translation work.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: When reviewing localization changes, verify the actual history of translations before flagging potential deletions. Empty translation strings may be intentional placeholders rather than deleted content.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: Empty translation strings in localization files are often intentional placeholders, not necessarily indicating deleted content. Many languages may have empty strings as translations are added incrementally over time.

Learnt from: cathysarisky
PR: #22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:13:48.222Z
Learning: When reviewing translation files in i18n/locales/*, the keys (left side) must never be changed. If a translator has modified any keys, this should be flagged as a potential error requiring review or correction. Only the translation values (right side) should be modified.

Learnt from: cathysarisky
PR: #22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:11:25.199Z
Learning: When reviewing translation files in i18n/locales/*, focus on identifying spelling errors in the translation values (right side) of the JSON key-value pairs, not the keys (left side).

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu v2/portal.json:70-70
Timestamp: 2025-01-29T15:23:58.658Z
Learning: Typos and spelling errors within localization files (ghost/i18n/locales/*.json) must be treated as important problems, not nitpicks, as they directly affect the user experience for speakers of that language. These issues should be flagged with high priority during code review.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu/portal.json:207-207
Timestamp: 2025-02-15T16:00:03.347Z
Learning: In Hungarian translations for Ghost, ensure that all variables like {{title}} are preserved in the translated strings and not omitted.

Learnt from: cathysarisky
PR: #22007
File: ghost/i18n/locales/sl/newsletter.json:18-18
Timestamp: 2025-01-28T13:58:08.393Z
Learning: When reviewing translations of newsletter.json, check that the translations of status words (free/complimentary/paid/trialing) will form grammatically correct sentences when substituted into the message template. The status words should agree grammatically with the word "subscriber" in the target language.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu/portal.json:70-71
Timestamp: 2025-02-15T16:00:03.845Z
Learning: In Hungarian translations for Ghost, payment/checkout related error messages should use "fizetés" (payment) related terms, not "bejelentkezés" (login) related terms, to accurately reflect the context of payment processing.

🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-05-20T21:08:21.026Z
Learning: In the Ghost project, translation files (ghost/i18n/locales/*/*.json) commonly have blank values for translations, and this is normal behavior that should not be flagged in reviews. These empty translations will be filled in separate PRs.
Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-01-29T15:27:29.391Z
Learning: When reviewing translation files in ghost/i18n/locales, translators should only modify the translated values and must not change the keys or placeholder styles (e.g., %%{status}%%, {site}, etc.) as they serve specific purposes like Mailgun string replacement.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22175
File: ghost/i18n/locales/pt-BR/portal.json:18-18
Timestamp: 2025-02-12T20:09:12.731Z
Learning: In the Ghost project, new translation keys are first added with empty string values, and the actual translations are added later in separate PRs to maintain better organization of translation work.
Learnt from: cathysarisky
PR: TryGhost/Ghost#23070
File: ghost/i18n/locales/hu/comments.json:45-45
Timestamp: 2025-04-30T16:27:03.542Z
Learning: In the Ghost project, new translation string keys are intentionally added with empty values initially and will be translated in a separate PR. Do not report missing translations for entirely new string additions.
Learnt from: cathysarisky
PR: TryGhost/Ghost#21982
File: ghost/i18n/locales/hu v2/portal.json:70-70
Timestamp: 2025-01-29T15:23:58.658Z
Learning: Typos and spelling errors within localization files (ghost/i18n/locales/*.json) must be treated as important problems, not nitpicks, as they directly affect the user experience for speakers of that language. These issues should be flagged with high priority during code review.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:11:25.199Z
Learning: When reviewing translation files in i18n/locales/*, focus on identifying spelling errors in the translation values (right side) of the JSON key-value pairs, not the keys (left side).
Learnt from: cathysarisky
PR: TryGhost/Ghost#21651
File: ghost/i18n/locales/ar/comments.json:1-1
Timestamp: 2025-01-29T15:35:26.447Z
Learning: All JSON files containing translation strings in ghost/i18n/locales must include both opening and closing braces to maintain valid JSON structure.
Learnt from: SebastianSchroeder
PR: TryGhost/Ghost#23602
File: ghost/i18n/locales/vi/ghost.json:3-4
Timestamp: 2025-05-30T11:41:47.336Z
Learning: SebastianSchroeder prefers to handle missing translations in separate PRs rather than including them in the same PR that adds the i18n infrastructure, to keep PRs focused on specific functionality.
Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-02-07T18:07:34.152Z
Learning: Always review translation changes in language files unless the right side (value) of the key-value pair is blank. This includes reviewing both the correctness and appropriateness of the translations.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22075
File: ghost/i18n/locales/pt-BR/comments.json:0-0
Timestamp: 2025-01-29T16:27:51.786Z
Learning: When suggesting changes to JSON translation files, ensure that the key's quote style (straight quotes) is preserved exactly as is, and only modify the translation value.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: Empty translation strings in localization files are often intentional placeholders, not necessarily indicating deleted content. Many languages may have empty strings as translations are added incrementally over time.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: When reviewing localization changes, verify the actual history of translations before flagging potential deletions. Empty translation strings may be intentional placeholders rather than deleted content.
Learnt from: cathysarisky
PR: TryGhost/Ghost#22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:13:48.222Z
Learning: When reviewing translation files in i18n/locales/*, the keys (left side) must never be changed. If a translator has modified any keys, this should be flagged as a potential error requiring review or correction. Only the translation values (right side) should be modified.
Learnt from: cathysarisky
PR: TryGhost/Ghost#21982
File: ghost/i18n/locales/hu/portal.json:207-207
Timestamp: 2025-02-15T16:00:03.347Z
Learning: In Hungarian translations for Ghost, ensure that all variables like {{title}} are preserved in the translated strings and not omitted.
ghost/i18n/locales/fr/ghost.json (11)

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-05-20T21:08:21.026Z
Learning: In the Ghost project, translation files (ghost/i18n/locales//.json) commonly have blank values for translations, and this is normal behavior that should not be flagged in reviews. These empty translations will be filled in separate PRs.

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-01-29T15:27:29.391Z
Learning: When reviewing translation files in ghost/i18n/locales, translators should only modify the translated values and must not change the keys or placeholder styles (e.g., %%{status}%%, {site}, etc.) as they serve specific purposes like Mailgun string replacement.

Learnt from: cathysarisky
PR: #23070
File: ghost/i18n/locales/hu/comments.json:45-45
Timestamp: 2025-04-30T16:27:03.542Z
Learning: In the Ghost project, new translation string keys are intentionally added with empty values initially and will be translated in a separate PR. Do not report missing translations for entirely new string additions.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/pt-BR/portal.json:18-18
Timestamp: 2025-02-12T20:09:12.731Z
Learning: In the Ghost project, new translation keys are first added with empty string values, and the actual translations are added later in separate PRs to maintain better organization of translation work.

Learnt from: cathysarisky
PR: #21651
File: ghost/i18n/locales/ar/comments.json:1-1
Timestamp: 2025-01-29T15:35:26.447Z
Learning: All JSON files containing translation strings in ghost/i18n/locales must include both opening and closing braces to maintain valid JSON structure.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu/portal.json:207-207
Timestamp: 2025-02-15T16:00:03.347Z
Learning: In Hungarian translations for Ghost, ensure that all variables like {{title}} are preserved in the translated strings and not omitted.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu v2/portal.json:70-70
Timestamp: 2025-01-29T15:23:58.658Z
Learning: Typos and spelling errors within localization files (ghost/i18n/locales/*.json) must be treated as important problems, not nitpicks, as they directly affect the user experience for speakers of that language. These issues should be flagged with high priority during code review.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: When reviewing localization changes, verify the actual history of translations before flagging potential deletions. Empty translation strings may be intentional placeholders rather than deleted content.

Learnt from: cathysarisky
PR: #23161
File: ghost/i18n/lib/i18n.js:107-144
Timestamp: 2025-05-14T14:39:09.136Z
Learning: In Ghost's i18n system, translation keys are the actual English phrases, so when a translation is missing, displaying the key itself serves as the English fallback, eliminating the need for explicit fallback resource loading.

Learnt from: cathysarisky
PR: #22007
File: ghost/i18n/locales/sl/newsletter.json:18-18
Timestamp: 2025-01-28T13:58:08.393Z
Learning: When reviewing translations of newsletter.json, check that the translations of status words (free/complimentary/paid/trialing) will form grammatically correct sentences when substituted into the message template. The status words should agree grammatically with the word "subscriber" in the target language.

Learnt from: michivonah
PR: #22323
File: ghost/i18n/locales/de-CH/ghost.json:31-31
Timestamp: 2025-03-03T12:22:11.423Z
Learning: In Swiss German (de-CH) localization for Ghost, "anmelden" is the preferred term for newsletter subscriptions, while "Abo" is used when referring to paid subscriptions. "Sie werden nicht angemeldet" is the correct translation for "You will not be subscribed" in newsletter contexts.

ghost/i18n/locales/fr/comments.json (10)

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-05-20T21:08:21.026Z
Learning: In the Ghost project, translation files (ghost/i18n/locales//.json) commonly have blank values for translations, and this is normal behavior that should not be flagged in reviews. These empty translations will be filled in separate PRs.

Learnt from: cathysarisky
PR: #23070
File: ghost/i18n/locales/hu/comments.json:45-45
Timestamp: 2025-04-30T16:27:03.542Z
Learning: In the Ghost project, new translation string keys are intentionally added with empty values initially and will be translated in a separate PR. Do not report missing translations for entirely new string additions.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: When reviewing localization changes, verify the actual history of translations before flagging potential deletions. Empty translation strings may be intentional placeholders rather than deleted content.

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-01-29T15:27:29.391Z
Learning: When reviewing translation files in ghost/i18n/locales, translators should only modify the translated values and must not change the keys or placeholder styles (e.g., %%{status}%%, {site}, etc.) as they serve specific purposes like Mailgun string replacement.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/pt-BR/portal.json:18-18
Timestamp: 2025-02-12T20:09:12.731Z
Learning: In the Ghost project, new translation keys are first added with empty string values, and the actual translations are added later in separate PRs to maintain better organization of translation work.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: Empty translation strings in localization files are often intentional placeholders, not necessarily indicating deleted content. Many languages may have empty strings as translations are added incrementally over time.

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-02-07T18:07:34.152Z
Learning: Always review translation changes in language files unless the right side (value) of the key-value pair is blank. This includes reviewing both the correctness and appropriateness of the translations.

Learnt from: cathysarisky
PR: #22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:13:48.222Z
Learning: When reviewing translation files in i18n/locales/*, the keys (left side) must never be changed. If a translator has modified any keys, this should be flagged as a potential error requiring review or correction. Only the translation values (right side) should be modified.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu v2/portal.json:70-70
Timestamp: 2025-01-29T15:23:58.658Z
Learning: Typos and spelling errors within localization files (ghost/i18n/locales/*.json) must be treated as important problems, not nitpicks, as they directly affect the user experience for speakers of that language. These issues should be flagged with high priority during code review.

Learnt from: cathysarisky
PR: #22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:11:25.199Z
Learning: When reviewing translation files in i18n/locales/*, focus on identifying spelling errors in the translation values (right side) of the JSON key-value pairs, not the keys (left side).

ghost/i18n/locales/fr/portal.json (12)

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-05-20T21:08:21.026Z
Learning: In the Ghost project, translation files (ghost/i18n/locales//.json) commonly have blank values for translations, and this is normal behavior that should not be flagged in reviews. These empty translations will be filled in separate PRs.

Learnt from: cathysarisky
PR: TryGhost/Ghost#0
File: :0-0
Timestamp: 2025-01-29T15:27:29.391Z
Learning: When reviewing translation files in ghost/i18n/locales, translators should only modify the translated values and must not change the keys or placeholder styles (e.g., %%{status}%%, {site}, etc.) as they serve specific purposes like Mailgun string replacement.

Learnt from: cathysarisky
PR: #23070
File: ghost/i18n/locales/hu/comments.json:45-45
Timestamp: 2025-04-30T16:27:03.542Z
Learning: In the Ghost project, new translation string keys are intentionally added with empty values initially and will be translated in a separate PR. Do not report missing translations for entirely new string additions.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/pt-BR/portal.json:18-18
Timestamp: 2025-02-12T20:09:12.731Z
Learning: In the Ghost project, new translation keys are first added with empty string values, and the actual translations are added later in separate PRs to maintain better organization of translation work.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: When reviewing localization changes, verify the actual history of translations before flagging potential deletions. Empty translation strings may be intentional placeholders rather than deleted content.

Learnt from: cathysarisky
PR: #22175
File: ghost/i18n/locales/lt/portal.json:16-16
Timestamp: 2025-02-12T20:23:47.777Z
Learning: Empty translation strings in localization files are often intentional placeholders, not necessarily indicating deleted content. Many languages may have empty strings as translations are added incrementally over time.

Learnt from: cathysarisky
PR: #22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:13:48.222Z
Learning: When reviewing translation files in i18n/locales/*, the keys (left side) must never be changed. If a translator has modified any keys, this should be flagged as a potential error requiring review or correction. Only the translation values (right side) should be modified.

Learnt from: cathysarisky
PR: #22075
File: ghost/i18n/locales/pt-BR/portal.json:0-0
Timestamp: 2025-01-30T15:11:25.199Z
Learning: When reviewing translation files in i18n/locales/*, focus on identifying spelling errors in the translation values (right side) of the JSON key-value pairs, not the keys (left side).

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu v2/portal.json:70-70
Timestamp: 2025-01-29T15:23:58.658Z
Learning: Typos and spelling errors within localization files (ghost/i18n/locales/*.json) must be treated as important problems, not nitpicks, as they directly affect the user experience for speakers of that language. These issues should be flagged with high priority during code review.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu/portal.json:207-207
Timestamp: 2025-02-15T16:00:03.347Z
Learning: In Hungarian translations for Ghost, ensure that all variables like {{title}} are preserved in the translated strings and not omitted.

Learnt from: cathysarisky
PR: #22007
File: ghost/i18n/locales/sl/newsletter.json:18-18
Timestamp: 2025-01-28T13:58:08.393Z
Learning: When reviewing translations of newsletter.json, check that the translations of status words (free/complimentary/paid/trialing) will form grammatically correct sentences when substituted into the message template. The status words should agree grammatically with the word "subscriber" in the target language.

Learnt from: cathysarisky
PR: #21982
File: ghost/i18n/locales/hu/portal.json:70-71
Timestamp: 2025-02-15T16:00:03.845Z
Learning: In Hungarian translations for Ghost, payment/checkout related error messages should use "fizetés" (payment) related terms, not "bejelentkezés" (login) related terms, to accurately reflect the context of payment processing.

🔇 Additional comments (5)
ghost/i18n/locales/fr/portal.json (5)

63-63: Translation looks good

“Préférences e-mail mises à jour.” is clear and preserves the original meaning.


107-107: Translation looks good

Correct rendering of the restriction message; placeholders untouched.


143-143: Translation looks good

Accurate phrasing for signup restriction; placeholders untouched.


172-174: Translations look good

Both donation and paid-members-only notices read naturally and preserve intent.


183-183: Translation looks good

Message is idiomatic and faithful to the English source.

matteorlt added 3 commits July 23, 2025 15:15
@cathysarisky
Copy link
Copy Markdown
Member

Bonjour, @matteorlt ! Thank you for these translations. Before you submitted, @bst1n also made changes to these files, which are now merged into main. In some cases, your changes were the same, so they no longer appear in this PR. What remains is the places where your translations are different. Could you two please discuss these differences and agree on the best option for each string, going forward?

While French is my second best language, it is not very good, so I defer to the expertise of you, the native speakers, to agree on the ideal translations. Merci!

@bst1n
Copy link
Copy Markdown
Contributor

bst1n commented Jul 27, 2025

Hi @cathysarisky, I can't work out where our translations differ. The only things I can see are the following:

-"Newest": "Nouveau",
-"Oldest": "Ancien",
+"Newest": "Plus récent",
+"Oldest": "Plus ancien",

-"Device:": "Appareil",
+"Device:": "Appareil :",

-"Comment preferences updated.": "Préférences de commentaire mises à jour.",
+"Comment preferences updated.": "Préférences de commentaires mises à jour.",

In all three cases I agree with the suggestions. But apart from the first, they're not differences in translation, rather omissions of punctuation. Is there anything else I'm missing?

@matteorlt
Copy link
Copy Markdown
Contributor Author

Hey @bst1n, this was the change flagged by CodeRabbit. I've already fixed it. If all the translations match, then that's perfect!

@bst1n
Copy link
Copy Markdown
Contributor

bst1n commented Jul 27, 2025

hey @matteorlt, where can I see if our translations match ? I can't see the differences @cathysarisky mentioned previously. I am not familial with Github so maybe I just did not know where to click to see it.

@matteorlt
Copy link
Copy Markdown
Contributor Author

I don't know either how we can compare so I used an external site and there are some differences in the translations here are the differences I'll let you tell me what you think (@bst1n) :
comment.json diff.pdf
ghost.json diff.pdf

@cathysarisky
Copy link
Copy Markdown
Member

@bst1n 's changes are already merged, so looking at the 'files changed' section on @matteorlt 's PR will let you see what's different:
https://github.com/TryGhost/Ghost/pull/24486/files

Copy link
Copy Markdown
Contributor

@bst1n bst1n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made a comment for each modification. Sometimes I agree, I say so, and sometimes I disagree, I say so too.

@bst1n
Copy link
Copy Markdown
Contributor

bst1n commented Aug 4, 2025

Hi @cathysarisky, we've agreed on everything. Sometimes you have to stick with my translation, sometimes you have to use @matteorlt translation.

What should we do now to update?

@cathysarisky
Copy link
Copy Markdown
Member

Hi @cathysarisky, we've agreed on everything. Sometimes you have to stick with my translation, sometimes you have to use @matteorlt translation.

What should we do now to update?

@matteorlt needs to update the PR. :)

@matteorlt
Copy link
Copy Markdown
Contributor Author

Hey @bst1n,
Could you please check if I didn’t make any mistakes? When everything looks good, feel free to click “Resolve conversation.”
If you spot any errors, just let me know. Thanks!

@bst1n
Copy link
Copy Markdown
Contributor

bst1n commented Aug 5, 2025

@matteorlt it seems ok to me

Copy link
Copy Markdown
Contributor

@bst1n bst1n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's all good

@bst1n
Copy link
Copy Markdown
Contributor

bst1n commented Aug 5, 2025

@matteorlt I can't see where to click to "Resolve conversation"

@matteorlt
Copy link
Copy Markdown
Contributor Author

@matteorlt I can't see where to click to "Resolve conversation"

Ok it's just for me maybe im going to close them if everthing is good.

@matteorlt
Copy link
Copy Markdown
Contributor Author

Hey @cathysarisky , everything looks good on our side! Feel free to do a final check and go ahead with pushing the PR.
Let me know if anything needs to be fixed.
Also, you can mark the French translation issue as 100% complete. 👍

@cathysarisky cathysarisky merged commit 888ae06 into TryGhost:main Aug 7, 2025
25 checks passed
@matteorlt matteorlt deleted the fix/french-translation branch August 7, 2025 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants