Skip to content

i18n: German translates the messages no catalog had a row for - #7410

Merged
bflatastic merged 4 commits into
storytold:mainfrom
dotCooCoo:fix/de-missing-message-rows
Nov 14, 2026
Merged

bflatastic merged 4 commits into
storytold:mainfrom
dotCooCoo:fix/de-missing-message-rows

Conversation

@dotCooCoo

Copy link
Copy Markdown
Contributor

What and why

On main at 1e4e353, untranslated_report (crates/ui-egui/src/i18n/tests.rs) lists 167 status and error messages under "messages, all 23 languages checked": no complete-message catalog has a row for them. German also lacked 11 messages that other catalogs translate. With the interface in German, these messages were shown in English.

This is the German part of the missing message rows; each other language goes up as its own pull request.

How it was tested

The change adds catalog rows only, so it has no new test. untranslated_report is a report that does not fail on a gap; after the change its "messages, all 23 languages checked" list has 51 entries, each of them a row that #7211 or #7378 adds, and its German message list has one entry, the row #7116 adds.

Focused checks on the final tree, on main at 1e4e353:

  • cargo clippy -p vectorcraft-ui-egui --all-targets -- -D warnings
  • cargo check --workspace --tests
  • cargo test -p vectorcraft-ui-egui --lib i18n: 115 passed, 0 failed.
  • cargo xtask brands; cargo xtask layers (30 crates, no layering violations); cargo xtask assets (337 asset files attributed).
  • cargo fmt --all -- --check reports one diff, in crates/svg/src/lib.rs at line 491, which this pull request does not change; it is on main at 1e4e353 too, and fmt: format crates/svg/src/lib.rs #7400 fixes it.
  • cargo xtask ci runs in this pull request's CI.

Checklist

  • cargo xtask ci passes (fmt, clippy, tests, assets, brands, layers, wasm).
  • No panics in shipped code: no unwrap(), expect(), panic!, unreachable!, todo! or
    unimplemented! outside tests, and no unchecked indexing on data from files, parameters or
    messages. Errors are returned as Result and shown to the user
    (why and how).
  • Clean-room: nothing copied from Adobe products or GPL/AGPL code (AGENTS.md).
  • Every new asset has a row in ASSETS.md.

The untranslated report listed 167 status and error messages with no
row in any complete-message catalog, and 11 more that other catalogs
translate but German did not, so with the interface in German these
messages showed in English.

- de.tsv gains 116 `@msg` rows for the listed messages: image export
  and encoding errors, color profiles, color books and swatch exchange
  files, binary DXF and DWG import, 3D and Revolve limits, and script,
  zip and file errors. They sit in one commented block after the
  existing message rows.
- de.tsv gains 10 `@msg` rows for the Banner Hems and Grommets errors
  and the failed recovery save.
- The 51 listed messages that open storytold#7211 and storytold#7378 translate (composite
  fonts and SVG filters), and the justification order error that open
  storytold#7116 translates, are left out, so no row is added twice.
- Placeholders, parameter names, command ids and literal values stay as
  the English writes them. The translations use the catalog's existing
  terms and typography.
- docs/localization-parity.md and docs/target-app-parity.md give the
  German counts: 3,563 `@msg` and 48 `@msgplural` rows, 52 messages
  still listed.
@coderabbitai

coderabbitai Bot commented Nov 14, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 19 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration

Commits

Reviewing files that changed from the base of the PR and between 124e3cc and 5909f1c.

Files ignored due to path filters: 1

  • crates/ui-egui/src/i18n/de.tsv is excluded by !**/*.tsv
Files selected for processing: 2

  • docs/localization-parity.md
  • docs/target-app-parity.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@bflatastic
bflatastic merged commit d2b4b5f into storytold:main Nov 14, 2026
7 checks passed
@bflatastic

Copy link
Copy Markdown
Member

Merged, thanks @dotCooCoo! It passed its CI checks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants