Skip to content

i18n: Italian translates 1,802 more status and error messages - #7315

Merged
bflatastic merged 2 commits into
storytold:mainfrom
dotCooCoo:fix/it-message-rows
Nov 14, 2026
Merged

bflatastic merged 2 commits into
storytold:mainfrom
dotCooCoo:fix/it-message-rows

Conversation

@dotCooCoo

@dotCooCoo dotCooCoo commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

What and why

Italian (it) is in COMPLETE_MESSAGES (crates/ui-egui/src/i18n/tests.rs), but on main at 4558196e1, i18n::tests::untranslated_report listed 1,842 status and error messages with no Italian row: 436 under "every language" and 1,406 for Italian alone. With the interface in Italian, those messages showed in English.

  • crates/ui-egui/src/i18n/it.tsv gains 1,802 @msg rows, in one block after the catalog's last row. Existing rows are unchanged.
  • The translations are VectorCraft's own, written from the meaning of the English messages, and await native review. They follow the catalog's header conventions and its existing Italian terms for UI names (tavola da disegno, tracciato, campione, ricalco immagine and others). Placeholders, backticked names, command ids, parameter keys, double-quoted values and bare true, false and null are kept exactly as the English writes them.
  • The report now lists 40 Italian messages. 38 of those keys are left out here because open i18n: translate the composite font errors in the complete-message languages #7211, i18n: the "select a path" reason is translated in every complete-message language #7214 and i18n: the justification order error is translated in every complete catalog #7116 add Italian rows for them, and a second row for the same key would fail bundled_catalogs_are_consistent once both merged. The other two are left for a separate change.
  • The Italian row of docs/localization-parity.md now gives the catalog's counts: 8,757 rows, 3,422 of them @msg and 48 @msgplural. docs/target-app-parity.md has one line for the change.

Menu strings (47), tl! literals (26), undo labels (11) and swatch names (45) that Italian still lacks are unchanged, and no other catalog changes.

How it was tested

No new test: the change adds catalog rows only. bundled_catalogs_are_consistent and the other i18n tests check every new row for TSV parsing, duplicate keys, placeholder agreement, kept parameter names, backticked names, double-quoted values, bare literals and command ids.

Untranslated report (cargo test -p vectorcraft-ui-egui --lib i18n::tests::untranslated_report -- --nocapture), on main at 4558196e1:

  • Before: 1,842 Italian messages missing, counting the 436 listed under "every language".
  • After: 40 Italian messages missing, counting the 37 listed under "every language".

Focused checks on the catalog change, on Linux; only the wording of the docs/localization-parity.md row changed after they ran. The branch is one commit on main at 4558196e16 and merges cleanly with it. It conflicts with open #7298 in docs/target-app-parity.md (both add a line after the Hindi terms line). It conflicts with open #6883 in docs/target-app-parity.md. It conflicts with open #7282 in crates/ui-egui/src/i18n/it.tsv. It conflicts with open #7051 in crates/ui-egui/src/i18n/it.tsv.

  • cargo fmt --all -- --check
  • cargo clippy -p vectorcraft-ui-egui --all-targets -- -D warnings
  • cargo check --workspace --tests
  • cargo test -p vectorcraft-ui-egui --lib i18n: 107 passed, 0 failed.
  • cargo xtask brands, layers (30 crates) and assets (337 files).
  • cargo xtask ci runs in this pull request's CI.

cargo xtask ci passed in this pull request's CI run on 71fab5bd81: https://github.com/storytold/vectorcraft/actions/runs/43527723156/job/132237519425

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.

it is in COMPLETE_MESSAGES, but the untranslated report listed 1,842
status and error messages with no Italian row, so with the interface in
Italian those messages showed in English.

- it.tsv gains 1,802 `@msg` rows. The translations are VectorCraft's
  own, written from the English meaning with the catalog's terms, and
  await native review. Placeholders, backticked names, command ids,
  double-quoted values and bare true, false and null stay as the
  English writes them.
- The untranslated report now lists 40 Italian messages. 38 of those
  keys get Italian rows from open pull requests 7211, 7214 and 7116,
  so they are left out here. Menu strings, `tl!` literals, undo labels
  and swatch names are unchanged.
- The Italian row of docs/localization-parity.md gives the catalog's
  current counts, and docs/target-app-parity.md has a line for the
  change.
@coderabbitai

coderabbitai Bot commented Nov 13, 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 2 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 28bd9c9 and 71fab5b.

Files ignored due to path filters: 1

  • crates/ui-egui/src/i18n/it.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

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