mirror of
https://github.com/storytold/cadcraft.git
synced 2026-11-10 04:19:59 -06:00
Merge upstream main into ka
Georgian joins the shared i18n tests #2013 introduced (locale table, look-alike codes, font coverage for scripts egui's bundled faces lack) in place of its own copies. The can_show gate and the language command's no-font message for ka match #1971, so this branch alone keeps the interface in English without a Georgian face. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
This commit is contained in:
+1
-1
@@ -85,5 +85,5 @@ filters take radians too.
|
||||
## Testing against the corpus
|
||||
|
||||
The AutoLISP conformance corpus (#648) lives in its own repository. Point `CADCRAFT_LISP_CORPUS`
|
||||
at it and run `cargo test -p cadcraft-engine --test lisp_corpus`; without the variable the test
|
||||
at it and run `cargo test -p cadcraft-engine --test it lisp_corpus::`; without the variable the test
|
||||
says it was skipped.
|
||||
|
||||
@@ -30,8 +30,8 @@ selection. Resetting palettes keeps the language choice.
|
||||
The catalogs cover command and menu labels, tool groups and tooltips, the Start page,
|
||||
file and model-space tabs, status controls, object snaps, drafting prompts, property labels,
|
||||
dialogs, and the About window's controls. The command reference can be searched by English
|
||||
command ID, English label, or translated label. Ukrainian has enforced coverage;
|
||||
missing entries in the other catalogs are reported by tests and fall back to English.
|
||||
command ID, English label, or translated label. A missing entry falls back to English and
|
||||
never fails a build; `cargo xtask i18n` (a step of `cargo xtask ci`) lists each language's.
|
||||
|
||||
Czech has 1,202 catalog rows, covering the reference catalog and every marked UI
|
||||
literal, including Options. Four `menu` entries distinguish menu headings from object/command
|
||||
@@ -153,14 +153,14 @@ The implementation follows the display-time catalog pattern used by
|
||||
- Windows retain explicit IDs based on their English source, and tool groups retain their
|
||||
source names as keys, so switching languages preserves their state.
|
||||
- Add a translation attribution row in `ATTRIBUTION.md`, update the language lists, and add
|
||||
locale, plural, font-glyph and live-switch tests. Add the catalog to `REPORTED` in
|
||||
`i18n/tests.rs`: only Ukrainian, the reference translation, is in `REQUIRED`, so adding a
|
||||
command needs a row in one language, not in all of them.
|
||||
the language's locale tags and plural rule. The rendering, font-glyph and live-switch tests
|
||||
run for every catalog; no test checks one language's wording, and adding a command needs
|
||||
only its English label.
|
||||
- Catalogs are embedded and parsed once. Missing or malformed rows cannot crash the app;
|
||||
tests reject invalid rows, duplicate keys, changed placeholders, and mismatched ellipses.
|
||||
- `cargo test -p cadcraft-ui-egui i18n` checks menu/command/tool/snap coverage, every marked
|
||||
UI literal, locale resolution, preferences, integer plurals, bundled glyphs and actual
|
||||
egui renders with language switching. `cargo xtask assets` checks asset attribution;
|
||||
- `cargo test -p cadcraft-ui-egui i18n` checks the catalogs, locale resolution, preferences,
|
||||
integer plurals, bundled glyphs and actual egui renders with language switching.
|
||||
`cargo xtask i18n` prints the strings each language shows in English. `cargo xtask assets` checks asset attribution;
|
||||
`cargo xtask ci` runs the workspace quality gates.
|
||||
|
||||
Translations are original work under `MIT OR Apache-2.0`, written from the meaning of
|
||||
|
||||
Reference in New Issue
Block a user