Skip to content

i18n(fr): translate 138 missing keys + consistency around media library#2102

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

i18n(fr): translate 138 missing keys + consistency around media library#2102
ascorbic merged 3 commits into
emdash-cms:mainfrom
ArmandPhilippot:i18n/fr

Conversation

@ArmandPhilippot

Copy link
Copy Markdown
Contributor

What does this PR do?

  • Updates the French translation file to translate the 138 missing keys.
  • Rewords some French translations around "library"/"media library". To summarize:
    • "médiathèque" is correct for "meda library", but because we sometimes have "bibliothèque" for "library", I believe "bibliothèque de fichiers multimédias" is less confusing even if this is more verbose. The reverse could also work ("médiathèque" everywhere), but there is no certainty that "library" will be used solely in this context.
    • Before the update the title was "Médiathèque" then the button was "Téléverser vers Bibliothèque" (ie. could be two different things), this is now consistent. See the screenshot below:
      French media library page including this PR changes

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) (I have a flaky test locally Cannot find element with locator: page.getByText('5,200 installs'), but unrelated to my changes)
  • 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: Claude Sonnet 5

More or less half/half. Generated with AI then I checked everything in the file before checking what I could with the dev server (and I updated a few things...). Inconsistencies are 100% human finding (and human cause? 😅 ).

Screenshots / test output

N/A

Copilot AI review requested due to automatic review settings July 17, 2026 21:18
@changeset-bot

changeset-bot Bot commented Jul 17, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 09b1d44

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 added review/needs-review No maintainer or bot review yet area/admin size/L labels Jul 17, 2026
@github-actions

github-actions Bot commented Jul 17, 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.

@pkg-pr-new

pkg-pr-new Bot commented Jul 17, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

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

@emdash-cms/auth

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

@emdash-cms/auth-atproto

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

@emdash-cms/blocks

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

@emdash-cms/cloudflare

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

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

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

emdash

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

create-emdash

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

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

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

@emdash-cms/plugin-cli

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

@emdash-cms/plugin-types

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

@emdash-cms/registry-client

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

@emdash-cms/registry-lexicons

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

@emdash-cms/registry-verification

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

@emdash-cms/sandbox-workerd

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

@emdash-cms/x402

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

@emdash-cms/plugin-ai-moderation

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

@emdash-cms/plugin-atproto

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

@emdash-cms/plugin-audit-log

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

@emdash-cms/plugin-color

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

@emdash-cms/plugin-embeds

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

@emdash-cms/plugin-field-kit

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

@emdash-cms/plugin-forms

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

@emdash-cms/plugin-webhook-notifier

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

commit: 09b1d44

@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.

Approach: this is exactly the right kind of PR for a .po refresh — translation-only, well-scoped, and explicitly about backfilling French strings plus media-library terminology consistency. That scope matches CONTRIBUTING's translation policy, so no architectural concerns.

I reviewed every changed hunk in packages/admin/src/locales/fr/messages.po, traced all media-library related strings in the catalog, and confirmed there are no SQL/API/auth/RTL/source-code changes to consider. Most of the 138 new translations look correct and keep the ICU placeholders/plural forms intact. I did not run the locale build, so pnpm locale:compile is unverified.

Two substantive items remain. First, @emdash-cms/admin is a published package, and the repo already contains .changeset/dutch-admin-locale.md as precedent for locale changes, so this PR should include a changeset. Second, the author’s explicit consistency push to "bibliothèque de fichiers multimédias" missed one leftover "bibliothèque multimédia". A third, lighter item is a singular/plural mismatch in the new "Download Backup" heading.


Findings

  • [needs fixing] packages/admin/src/locales/fr/messages.po:1

    This PR changes a published package (@emdash-cms/admin has prepublishOnly, public npm access, and locale exports), and CONTRIBUTING says every such PR needs a changeset. Precedent exists at .changeset/dutch-admin-locale.md for admin locale work. Without a changeset, the French update won't trigger a release.

    ---
    "@emdash-cms/admin": patch
    ---
    
    Updates French translations for the admin UI, including new backup and WordPress import strings, and rewords media-library labels for consistency.
  • [needs fixing] packages/admin/src/locales/fr/messages.po:8548

    This is the only remaining occurrence of the old/inconsistent "bibliothèque multimédia" phrase after this PR's consistency push to "bibliothèque de fichiers multimédias" for all media-library strings. Anchor it to the same wording.

    msgstr "Votre bibliothèque de fichiers multimédias est vide"
    
  • [suggestion] packages/admin/src/locales/fr/messages.po:2616

    The source is the singular heading "Download Backup" and the button two lines later is translated as "Télécharger la sauvegarde". The new heading uses the plural "sauvegardes" and reads more like a gerund noun; singular would keep it consistent with its own description and the button.

    msgstr "Télécharger une sauvegarde"
    

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

This PR updates the French (fr) admin UI localization by filling in missing translations and standardizing terminology around the “Media Library” to avoid mixed wording across related screens.

Changes:

  • Translates ~138 previously-untranslated French message keys.
  • Rewords multiple “Media Library” related strings to use consistent French terminology.
  • Adds/updates translations for various Backup, Widgets, and WordPress import UI strings.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/admin/src/locales/fr/messages.po Outdated
Comment thread packages/admin/src/locales/fr/messages.po Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@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 Jul 17, 2026
@swissky swissky added the bot:review Trigger an emdashbot code review on this PR label Jul 18, 2026

@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.

Re-checked the PR head; only packages/admin/src/locales/fr/messages.po changed. This remains a well-scoped translation-only PR backfilling French strings and aligning media-library terminology — exactly the right kind of change for a .po refresh.

The two substantive translation concerns from the prior review are resolved:

  • The media-library empty-state string now reads “Votre bibliothèque de fichiers multimédias est vide”, matching the PR’s consistency push.
  • The new “Download Backup” heading is now singular “Télécharger une sauvegarde”, consistent with its description and button.

No source-code, SQL, API, authorization, or RTL concerns were introduced, and the added translations preserve ICU placeholders and plural forms.

One item remains unaddressed: this PR changes a published package (@emdash-cms/admin is in .changeset/config.json’s fixed public group and has prepublishOnly), and CONTRIBUTING requires a changeset for every PR that changes a published package’s behavior. Precedent already exists at .changeset/dutch-admin-locale.md for admin locale work. Without a changeset the French update will not trigger a release.


Findings

  • [needs fixing] packages/admin/src/locales/fr/messages.po:1

    This PR still does not include a changeset, but it changes a published package. @emdash-cms/admin is in .changeset/config.json’s fixed public release group, has a prepublishOnly build, and CONTRIBUTING says every PR that changes a published package’s behavior needs a changeset. Precedent already exists at .changeset/dutch-admin-locale.md for admin locale work.

    Add a new .changeset/*.md file:

    ---
    "@emdash-cms/admin": patch
    ---
    
    Updates French translations for the admin UI, including new backup and WordPress import strings, and rewords media-library labels for consistency.

@emdashbot emdashbot Bot removed the bot:review Trigger an emdashbot code review on this PR label Jul 18, 2026
@ArmandPhilippot

Copy link
Copy Markdown
Contributor Author

Yeah, sorry. I fixed everything except the changeset because of my last discussion with Matt in #1809 (review) ... It seems the idea was to not add one for updated languages. But, maybe something changed in between?

@github-actions github-actions Bot added review/awaiting-author Reviewed; waiting on the author to respond and removed review/needs-rereview Author pushed changes since the last review labels Jul 19, 2026

@ascorbic ascorbic left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks

@ascorbic
ascorbic merged commit 432fb94 into emdash-cms:main Jul 20, 2026
51 of 52 checks passed
@ArmandPhilippot
ArmandPhilippot deleted the i18n/fr branch July 20, 2026 19:33
swissky pushed a commit to swissky/emdash that referenced this pull request Jul 21, 2026
…ry (emdash-cms#2102)

* i18n(fr): translate 138 missing keys + consistency around media library

* consistency around media library

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* reword download backup heading

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/admin review/awaiting-author Reviewed; waiting on the author to respond size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants