Repository navigation
Add Ukrainian interface translation and language selection - #34
dmatviichuk wants to merge 1 commit into
Conversation
5a9b295 to
3a45c61
Compare
Co-authored-by: Codex <noreply@openai.com>
3a45c61 to
033248d
Compare
|
I added a Brazilian Portuguese catalog stacked on this work: #259 (draft). It is based on this branch and adds only the Once this PR lands, #259 should be rebased onto |
Add crates/ui-egui/src/i18n/pt-br.tsv (1,232 rows, translated from the same English sources as uk.tsv) and the Portuguese (Brazil) choice: Language::PtBr with its code, locale mapping (pt-*), label and `count` forms (CLDR: 0 and 1 are one, 2 and up other). The catalog tests now cover every catalog — unique keys, non-empty values, preserved placeholder names and order — and the coverage tests assert command, menu, gallery and literal-call coverage for pt-BR too. A bundled-font test covers the catalog's accented letters. Stacked on storytold#34: based on the Ukrainian catalog and language selection, this commit adds only the pt-BR delta. Docs updated: ATTRIBUTION.md, ROADMAP.md, docs/localization-parity.md, docs/gaps.md, docs/roadmap.md and docs/target-app-parity.md. Translated from DeckCraft's English strings with AI assistance; no proprietary localization resources were copied.
|
@echelon @bflatastic can you take a look please |
|
@dmatviichuk a heads-up from the Polish catalog stacked on this branch (#199). Today's
To get #199 green after merging I'm not a Ukrainian speaker. I followed the catalog's existing terms ("Виноска: …", "Стрілка: …", a capital letter after the colon, ліворуч/праворуч), but please correct anything that reads wrong. I'll carry your wording over to #199. The same 40 keys will apply to the Brazilian Portuguese catalog in #259 (cc @RicSchonfelder). On this machine |
DeckCraft 0.10.0 has ~1,050 interface strings as literals and no catalog. The one catalog upstream has written, storytold/deckcraft#34, is a single commit on f448576, 928 commits behind v0.10.0, and still open. Upstream ships every two to three days (eight tags 2026-10-08..22), so a catalog in aura's patch would be rebased by hand on each release. The operator chose to ask upstream and to add only an it.tsv once a catalog lands. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018E3w3LBM5cjRDpp5iwW4w7
|
I added a Korean (ko / ko-KR) interface localization and CJK UI font fallback stacked on this work:
What this adds
Validation
Once #34 lands in main, I am happy to open a standalone rebased PR (or feel free to cherry-pick �32a78ff10ee56c6197a6de27b34cd8b9aaa9d29 directly). Thanks @dmatviichuk for the clean localization architecture! |
DeckCraft currently displays its interface only in English. This adds Ukrainian across the ribbon, command palette, menus, panels, dialogs, tooltips, start screen, presenter controls, notices, empty-placeholder hints, and desktop/browser file picker labels.
Preferences now offers System language, English, and Українська. Ukrainian OS/browser locales select Ukrainian automatically; explicit desktop choices persist in
ui.json. Command IDs, presentation content, custom layout prompts, file names, font names, and contributor identities retain their original values.Closes #30. Related to #15.
app.languagefor UI/control access.Validation:
cargo xtask cipasses all six gates: fmt, clippy, workspace tests, assets, layers, and WASM.cargo check -p deckcraft-web --target wasm32-unknown-unknownpasses for the browser entry point.As with existing web preferences, a manual browser language choice lasts for the current session. Uncatalogued engine diagnostics retain English fallback. Dictionary checks validate spelling and inflections; they do not certify every sentence's grammar or technical meaning.