Repository navigation
i18n (cs): Pathfinder Add reads "Sjednotit", plus the remaining looked-up strings - #1226
Merged
Merged
Conversation
…effect id The key "Add" is shared by Effect > Pathfinder > Add (PathfinderOp::Unite), the File Info button and a label in the raster effects dialog. One plain row cannot fit all three: "Přidat" is right for the button, but the Pathfinder effect unites shapes, so it reads "Sjednotit". - cs.tsv: `@id pathfinder.add` = "Sjednotit"; the plain "Add" row stays "Přidat". - menus.rs: Effect menu items all run effect.apply / effect.dialog, so the command id cannot tell them apart. effect_item_label() looks the effect's own id up first (an @id row), and "Last Effect: {name}" does the same. - appearance.rs: the Appearance panel's effect labels use the same lookup. - i18n/tests.rs: an @id row may now name an effect id as well as a command id; czech_reads_as_czech pins Add and pathfinder.add. No other catalog has an @id row, so their behaviour is unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, arrowheads, colour harmony, presets categories, …) These strings reach tl!/tr at render time but had no Czech entry; several are passed through variables or helpers, so the literal-based coverage test does not see them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
bflatastic
force-pushed
the
cs-pathfinder-add
branch
from
October 11, 2026 18:30
8946625 to
e61ed74
Compare
Member
|
Thanks @Losminek, merged! Keying the label by the effect id is a clean way to tell the two Adds apart. Rebased onto main, including your two newer catalog commits (the remaining Czech strings). The full local gate passed, catalog consistency tests included. |
This was referenced Oct 11, 2026
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 this does
Follow-up to #1189, on the Add note in the merge comment.
The key
Addis shared by three places that need different Czech words:pathfinder.add,PathfinderOp::Unite)A single plain row cannot fit all of them, and the other catalogs simply use their generic word
everywhere. So the plain row stays "Přidat", and the Pathfinder effect gets its own row keyed by
the effect id.
Changes
cs.tsv: one@idrow,pathfinder.add= "Sjednotit".menus.rs: all Effect menu items runeffect.apply/effect.dialog, so the command id can'ttell them apart.
effect_item_label()looks the effect's own id up first (an@idrow) andfalls back to the normal label translation; "Last Effect: {name}" uses the same lookup.
panels/appearance.rs: the Appearance panel's effect labels use the same lookup (t_id).i18n/tests.rs:bundled_catalogs_are_consistentnow accepts an@idrow that names aneffect id, not only a command id (otherwise the new row is flagged as an unknown command);
czech_reads_as_czechpinsAdd→ "Přidat" andpathfinder.add→ "Sjednotit".No other catalog has an
@idrow, so their behaviour is unchanged. Nothing changes for anylanguage when the catalog has no row for the effect id.
Checks
Clean environment, Rust 1.99,
--locked, onmainatd1a6926f:cargo fmt --all -- --check: cleancargo test --locked -p vectorcraft-ui-egui: 1,028 passed, 0 failedcargo clippy --locked -p vectorcraft-ui-egui --all-targets -- -D warnings: cleanI didn't run the whole workspace
xtask ci; the change is limited tovectorcraft-ui-egui.About the translation
I'm a native Czech speaker. The catalog from #1189 was drafted with AI assistance and I haven't
read every row line by line yet. Short generic labels are where one word can't fit every place, so
those are the likeliest to need a context like this one; if I find more, I'll send them together.
Update: the rest of the looked-up strings
Two more commits complete the Czech catalog for strings that reach
tl!/trat render time but had noCzech row. Most of them are passed through a variable or a widget helper (
tl!(name), dropdowns, tab bars),so the literal-based coverage test can't see them. Only
cs.tsvchanges, no Rust code:@plural), which the coverage scan misses becausetl_literals()splits on the first#[cfg(test)], and that one sits inside a macro near the top ofshortcut_editor.rs;tl!(note indialogs/print.rs(also invisible to the scan) and the print/PDFchoice!labels;generated layer names (
<Clip Group>…), Liquify tools, flattener/web export/EPS/encoder options;toolbar no longer cuts them to "Kres…", "Upra…", "Navi…".
Workspace names stay English, as
MENU_KEEP_AS_ISasks. A few strings would need a code change to betranslatable (file-dialog filters passed straight to
rfd, the render/fps readout, the composed"{kind} Gradient", the sameJapanesekey used for both a language and a mark style); I'll leave thosefor a separate PR if you want them.
Checks for the update, same environment:
cargo fmt --all -- --checkclean,cargo test --locked -p vectorcraft-ui-eguiall passed (one Czech line initially used "⚠", which the bundled UI font lacks; thebundled_fonts_cover_the_catalogstest caught it and the line now says "Pozor:"). Clippy wasn't re-run,since nothing but the catalog changed.
Rows worth a native speaker's look: Kite → "Deltoid", Chevron → "Véčko", Barbed → "S protihroty"
(arrowheads), and "Run Length" → "Délka běhu".
🤖 Generated with Claude Code