Skip to content

i18n(fr): translate in French the 89 missing keys - #2464

Merged
ascorbic merged 3 commits into
emdash-cms:mainfrom
ArmandPhilippot:i18n/fr
Aug 18, 2026
Merged

i18n(fr): translate in French the 89 missing keys#2464
ascorbic merged 3 commits into
emdash-cms:mainfrom
ArmandPhilippot:i18n/fr

Conversation

@ArmandPhilippot

@ArmandPhilippot ArmandPhilippot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Translates in French the 89 missing keys.

Thanks to the new string in src/components/BylineFilter.tsx:175, I noticed the French translation for "byline" clashes with the one for "authors". Since I had a single user, one section was never displayed on my side and I never noticed this was an issue. We'll need to use something else for "byline".

I think "collaborateur" is what sounds the most natural in French (compared to "signature" for example, at least for "Guest byline"). As this means a lot of changes, I'll open a follow-up PR once this one is merged to fix that.

Type of change

  • Bug fix
  • Feature (requires maintainer-approved Discussion)
  • Refactor (no behavior change)
  • Translation
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm test passes (or targeted tests for my change) (well, one test is failing... but unrelated to my changes: VitestBrowserElementError: Cannot find element with locator: page.getByText('5,200 installs'))
  • pnpm format has been run
  • I have added/updated tests for my changes (if applicable)
  • User-visible strings in the admin UI are wrapped for translation (if applicable). Do not include messages.po changes except in translation PRs — a workflow extracts catalogs on merge to main.
  • I have added a changeset (if this PR changes a published package)
  • New features link to an approved Discussion: https://github.com/emdash-cms/emdash/discussions/...

AI-generated code disclosure

  • This PR includes AI-generated code — model/tool:

Screenshots / test output

N/A

Copilot AI lite review requested due to automatic review settings August 13, 2026 17:30
@changeset-bot

changeset-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 426ebb4

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Lunaria Status Overview

🌕 This pull request will trigger status changes.

Learn more

By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.

You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File Note
packages/admin/src/locales/fr/messages.po Localization changed, will be marked as complete. 🔄️
Warnings reference
Icon Description
🔄️ The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds French translations for previously-untranslated admin UI strings in the Lingui catalog, reducing English fallbacks in the fr locale.

Changes:

  • Filled in many previously-empty msgstr entries in packages/admin/src/locales/fr/messages.po.
  • Added French translations for several BylineFilter/PluginManager/PortableTextEditor strings, including new pluralized ICU messages.
Suppressed comments (2)

packages/admin/src/locales/fr/messages.po:3869

  • “Filter by byline” is currently translated identically to “Filter by author” (both “Filtrer par auteur”), which makes these two distinct filters indistinguishable in the UI. Use a distinct label for bylines (even if temporarily left as “byline”).
msgstr "Filtrer par auteur"

packages/admin/src/locales/fr/messages.po:938

  • This sentence appears to mistranslate the original meaning (“byline linked to an entry’s author”) and reads ungrammatical/unclear (“l'auteur associé au propriétaire…”). Suggest rephrasing while keeping the “byline” concept distinct from “author”.
msgstr "Fait également correspondre l'auteur associé au propriétaire de l'entrée, lorsqu'aucun n'est attribué."

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/admin/src/locales/fr/messages.po
@pkg-pr-new

pkg-pr-new Bot commented Aug 13, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@2464

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@2464

@emdash-cms/auth-atproto

npm i https://pkg.pr.new/@emdash-cms/auth-atproto@2464

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@2464

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@2464

@emdash-cms/contentful-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/contentful-to-portable-text@2464

emdash

npm i https://pkg.pr.new/emdash@2464

create-emdash

npm i https://pkg.pr.new/create-emdash@2464

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@2464

@emdash-cms/plugin-cli

npm i https://pkg.pr.new/@emdash-cms/plugin-cli@2464

@emdash-cms/plugin-types

npm i https://pkg.pr.new/@emdash-cms/plugin-types@2464

@emdash-cms/registry-client

npm i https://pkg.pr.new/@emdash-cms/registry-client@2464

@emdash-cms/registry-lexicons

npm i https://pkg.pr.new/@emdash-cms/registry-lexicons@2464

@emdash-cms/registry-verification

npm i https://pkg.pr.new/@emdash-cms/registry-verification@2464

@emdash-cms/sandbox-workerd

npm i https://pkg.pr.new/@emdash-cms/sandbox-workerd@2464

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@2464

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@2464

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@2464

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@2464

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@2464

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@2464

@emdash-cms/plugin-field-kit

npm i https://pkg.pr.new/@emdash-cms/plugin-field-kit@2464

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@2464

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@2464

commit: 426ebb4

@emdashbot emdashbot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is a straightforward French translation PR: it fills in 89 previously-empty keys in packages/admin/src/locales/fr/messages.po, which is exactly the right shape for a translation change. I inspected the diff against the source strings and the French catalog. The translations are generally accurate, placeholders and plural forms are preserved, and product names/technical terms (MCP, robots.txt) are left untranslated as expected.

One translation introduces a real correctness problem:

  • example.com is localized to exemple.com. example.com is the IANA-reserved example domain (RFC 2606 / RFC 6761); exemple.com is not reserved and could point to a real site. A placeholder inside a self-signup domain input is a context where using a non-reserved domain is genuinely unsafe, so this should stay example.com.

The author already notes in the PR description that “byline” and “authors” collide as “auteurs” and plans a follow-up PR to switch bylines to a different term (e.g. “collaborateur”). That collision is real and affects the newly-translated byline filter strings, but since it’s acknowledged and scoped to a follow-up, I’m not blocking on it here.

I also didn’t see a changeset for @emdash-cms/admin. CONTRIBUTING.md calls for one when a published package’s behavior changes; translation-only updates can reasonably be argued either way, but it’s worth confirming whether the maintainers want one added before merge.

Verdict: comment — one fix needed (exemple.com), otherwise clean.

Comment thread packages/admin/src/locales/fr/messages.po Outdated
Co-authored-by: emdashbot[bot] <273199577+emdashbot[bot]@users.noreply.github.com>
@github-actions github-actions Bot added review/needs-rereview Author pushed changes since the last review and removed review/needs-review No maintainer or bot review yet labels Aug 13, 2026
@ascorbic
ascorbic merged commit eba44f7 into emdash-cms:main Aug 18, 2026
45 checks passed
@ArmandPhilippot
ArmandPhilippot deleted the i18n/fr branch August 18, 2026 09:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/admin review/needs-rereview Author pushed changes since the last review size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants