Repository navigation
i18n: the History panel translates the undo step names the sources write as literals - #2609
Merged
bflatastic merged 2 commits intoOct 17, 2026
Merged
Conversation
4 tasks done
…ite as literals The History panel looked up each step's name with tl!, which reads only a plain catalog row. 95 of the 427 names that the engine, the tools and the shell give their undo steps had no such row in at least one complete catalog, and 83 had no row at all (Make Blend, New Guide, Pen, Reshape Spine and others). A step named after an effect has the effect's menu name without its ellipsis. For many effects, and for steps such as New Layer, the catalogs hold that name only with the ellipsis. The panel listed those steps in English. Each complete catalog now has a row for every step name, written in the catalog's own terms: 1,437 rows in the 19 catalogs. The History panel reads a step's row, or else the row of the same name with an ellipsis, without the ellipsis, and shows the name as recorded when the catalog has neither. A new test reads the step names from the sources, as the tl! and message tests read theirs, and requires a row for each in every complete catalog. Docs: docs/target-app-parity.md.
bflatastic
force-pushed
the
fix/history-labels-translated
branch
from
October 17, 2026 10:41
3b5a95d to
351612c
Compare
Member
|
Thanks @dotCooCoo, merged. Your new test needed the undo-step names in Danish, Dutch and Indonesian too (those catalogs became complete today), so we added the 69 labels in each in a commit on top. It went through the full gate (all 10 steps). |
4 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
The History panel listed many steps in English in every interface language. The reference app's History panel lists a state for each change: "Each time you add any elements to the design, you can see new states being added to the History panel" (Undo edits and manage design history). VectorCraft's panel looks a step's name up with
tl!(crates/ui-egui/src/panels/history.rs:45), which reads only a plain catalog row. 95 of the 427 step names that the engine, the tools and the shell record had no plain row in at least one complete catalog, among them Make Blend, Release Blend, New Guide, Pen, Reshape Spine and the Symbolism and Liquify tools. For 83 of them the catalogs had no row at all. For the other 12 (among them New Layer, New Sublayer and Assign Profile), and for many effects, the catalogs hold the name only with the ellipsis of its menu item. A step named after an effect has the effect's menu name without its ellipsis.Reshape Spineuses the spine term of i18n: each catalog names the blend spine with one term #2596.crates/ui-egui/src/dialogs/effect.rs:30-38). When the catalog has neither, it shows the name as recorded. No English text changes.docs/target-app-parity.mdhas one line for it.How it was tested
i18n::tests::every_undo_label_is_translated(vectorcraft-ui-egui) reads the step names from the engine, tools and shell sources, asevery_tl_literal_is_translatedreadstl!literals, adds every effect's name, and requires a row for each in every complete catalog. Onmainit fails with 69 untranslated names in el, the first catalog it checks.panels::history::tests::effect_steps_read_the_menu_rowchecks that the Revolve and Feather steps, which have only an ellipsis row in Japanese, read the Japanese menu rows without the ellipsis, and that a name without a row gets none. With the ellipsis fallback removed it fails, and the first test then reports 40 untranslated names in el.Targeted checks on the final tree:
cargo clippy -p vectorcraft-ui-egui --all-targets -- -D warnings;CRAFT_FONTS_DIR=<craft-fonts checkout> cargo test -p vectorcraft-ui-egui --lib -- i18n panels::history(54 passed);cargo fmt --all -- --check;cargo xtask brands,layersandassets.On Windows 11 (x86-64) with rustc 1.99.1, on top of
mainat8bc6532:CRAFT_FONTS_DIR=<craft-fonts checkout> cargo xtask cipasses its 9 steps: 7,366 tests passed, 0 failed, 11 ignored.git merge-treereports no conflicts withmainat8bc6532, or with #2596, #2578, #2590 and #2597. A pull request that adds a complete catalog (#2581, #2393, #2045, #2010, #1822, #1532) or a step name without rows (#1514, #613) needs rows for those names once this merges.Checklist
cargo xtask cipasses (fmt, clippy, tests, assets, brands, layers, wasm).unwrap(),expect(),panic!,unreachable!,todo!orunimplemented!outside tests, and no unchecked indexing on data from files, parameters ormessages. Errors are returned as
Resultand shown to the user(why and how).
ASSETS.md.