Skip to content

i18n(de): translate the table editor, passkey setup and edit locking - #3100

Merged
ascorbic merged 1 commit into
emdash-cms:mainfrom
danielmlr:i18n/de-0-38
Sep 14, 2026
Merged

i18n(de): translate the table editor, passkey setup and edit locking#3100
ascorbic merged 1 commit into
emdash-cms:mainfrom
danielmlr:i18n/de-0-38

Conversation

@danielmlr

Copy link
Copy Markdown
Contributor

What does this PR do?

Fills every empty msgstr in the German admin catalog, the 158 entries the
translation dashboard lists as missing: the table editor and its paste errors,
the passkey setup on the setup, sign-up and invite pages, edit locking, the
image field's drop target, and the plugin registry's publisher checks.

Two older entries change. The header row toggle is a checkbox item in the table
menu, so it reads "Kopfzeile" like the new "Kopfspalte" instead of
"Als Kopfzeile festlegen/aufheben". The owner panel in the editor sidebar reads
"Eigentümer", the catalog's word in "Vom Eigentümer des Beitrags", instead of
"Besitz".

Existing terms carry over: Zeile, Spalte, entfernen, Publikationsdatum,
Erweiterungsverzeichnis, Herausgeber. New this pass: Handle for a publisher's
handle, since the DID beside it is the ID; Passwortmanager for credential
manager; Authentifikator; Bearbeitungssperre; Kopfzellen; and
"Zellen verbinden/teilen" for merging and splitting cells.

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 (n/a: no TypeScript changed; pnpm --filter @emdash-cms/admin locale:compile runs clean and msgfmt --check-format passes)
  • pnpm lint passes (n/a: no source files changed)
  • pnpm test passes (or targeted tests for my change) (n/a: no source files changed)
  • pnpm format has been run
  • I have added/updated tests for my changes (if applicable) (n/a: catalog-only change)
  • 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. (n/a: no strings added; the catalog is the change in this translation PR)
  • I have added and reviewed the user-facing changeset (if this PR changes a published package)
  • New features link to an approved Discussion: https://github.com/emdash-cms/emdash/discussions/... (n/a: not a feature)
  • I have included screenshots below if this PR changes the UI

AI-generated code disclosure

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

Screenshots / test output

I reviewed all 158 entries myself (German is my native language) and previewed
them in a running admin set to de: the table insert popover and table menu, a
table pasted into a list, the passkey setup on the invite page, the content
type settings with edit locking and the URL pattern help, the image field's
drop errors and the plugin registry page. States the test site could not
reach: the edit-lock dialog and notices, the passkey success step (creating a
passkey stopped at a security error), the passkey fallback screens and the
setup text for other operating systems (the test ran on a Mac with a built-in
authenticator), and the registry's publisher badges, configuration banner and
plugin update toast (no registry or marketplace configured).

ICU placeholders, inline tags and brace balance were checked against the source
of every changed entry; msgfmt --check-format and locale:compile are clean.

The invite page prints the role as the API returns it ("AUTHOR"), so no catalog
entry can translate it; #915 covers that page.

Table insert popover in German with the 3 × 4 size heading and the header row switch

Table actions menu in German with the selection, rows, columns and header cells groups

Invite page in German with the passkey introduction and the macOS prompt hint

Content type settings in German with the edit locking switch, URL pattern help and group field

Post editor in German with the image field drop error and the owner panel

Post editor in German with the error for a table pasted into a list

Fills the 158 German entries the catalog extractions since the last
German pass left empty, so German-speaking editors no longer see English
in the table editor, the new passkey setup, edit locking, image field
uploads and the plugin registry.

Two older entries change as well. The header row toggle is a checkbox
item now, so it reads "Kopfzeile", like the new "Kopfspalte", instead of
"Als Kopfzeile festlegen/aufheben". The owner panel in the editor
sidebar reads "Eigentümer" instead of "Besitz", matching the catalog's
existing "Vom Eigentümer des Beitrags".
@changeset-bot

changeset-bot Bot commented Sep 13, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: b7e427e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 18 packages
Name Type
@emdash-cms/admin Patch
emdash Patch
@emdash-cms/cloudflare Patch
@emdash-cms/plugin-test Patch
@emdash-cms/sandbox-workerd Patch
@emdash-cms/fixture-perf-site Patch
@emdash-cms/perf-demo-site Patch
@emdash-cms/cache-demo-site Patch
@emdash-cms/do-demo-site Patch
@emdash-cms/do-solo-demo-site Patch
@emdash-cms/auth Patch
@emdash-cms/blocks Patch
create-emdash Patch
@emdash-cms/gutenberg-to-portable-text Patch
@emdash-cms/x402 Patch
@emdash-cms/auth-atproto Patch
@emdash-cms/release-service Patch
@emdash-cms/plugin-embeds Patch

Not sure what this means? Click here to learn what changesets are.

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

@github-actions github-actions Bot added review/needs-review No maintainer or bot review yet area/admin size/L labels Sep 13, 2026
@github-actions

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/de/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 Sep 13, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

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

@emdash-cms/auth

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

@emdash-cms/auth-atproto

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

@emdash-cms/blocks

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

@emdash-cms/cloudflare

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

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

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

emdash

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

create-emdash

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

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

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

@emdash-cms/plugin-cli

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

@emdash-cms/plugin-test

npm i https://pkg.pr.new/@emdash-cms/plugin-test@3100

@emdash-cms/plugin-types

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

@emdash-cms/registry-client

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

@emdash-cms/registry-lexicons

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

@emdash-cms/registry-moderation

npm i https://pkg.pr.new/@emdash-cms/registry-moderation@3100

@emdash-cms/registry-verification

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

@emdash-cms/sandbox-workerd

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

@emdash-cms/x402

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

@emdash-cms/plugin-ai-moderation

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

@emdash-cms/plugin-atproto

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

@emdash-cms/plugin-audit-log

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

@emdash-cms/plugin-color

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

@emdash-cms/plugin-embeds

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

@emdash-cms/plugin-field-kit

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

@emdash-cms/plugin-forms

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

@emdash-cms/plugin-webhook-notifier

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

commit: b7e427e

@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 translation-only PR: it fills the remaining German admin catalog entries for recently added UI surfaces, which is the right scope for a translation PR and keeps all changes in packages/admin/src/locales/de/messages.po plus a changeset.

I checked the PR-head German catalog against the English source catalog. The German file contains 2,429 entries, exactly matching the English msgid set, with no genuinely empty msgstr entries left. Placeholder numbers ({0}, {1}, …) and inline tag indexes (<0/>, <1/>, …) are consistent between source and translation across the file. The updated strings cover the table editor (including the header row/column toggle wording and merge/split actions), passkey setup, edit locking, the image field drop target, and plugin registry publisher checks — matching the PR description.

The changeset is a properly formed patch entry for @emdash-cms/admin, leads with a present-tense user-facing behavior, and identifies the affected surfaces and audience.

Headline: the PR is clean from a static review. I cannot verify German nuance or run msgfmt/locale:compile in this environment, but the catalog is structurally complete and consistent.

@github-actions github-actions Bot added review/approved Approved; no new commits since and removed review/needs-review No maintainer or bot review yet labels Sep 13, 2026
@ascorbic
ascorbic merged commit d2ad846 into emdash-cms:main Sep 14, 2026
56 checks passed
@emdashbot emdashbot Bot mentioned this pull request Sep 14, 2026
@danielmlr
danielmlr deleted the i18n/de-0-38 branch September 14, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/admin review/approved Approved; no new commits since size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants