Progress docs per craftrules standards/progress-docs.md: target-app parity, gaps, roadmap with alpha gate, readiness by audience (full / mainstream / essentials) with Opus 5.5 hours, and feature, format, hardware, UI and localization parity docs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4.3 KiB
Localization parity with PowerPoint
Last reviewed: 2026-10-10 · Last updated: 2026-10-10 · Change: major (created; string count measured from source, PowerPoint's localizations read from its bundle) · Target: Microsoft PowerPoint for Mac 16.113 (Microsoft 365)
DeckCraft's interface is English only today: strings are literals in the UI and engine code, with no catalog and no language switch. Requests: #15 (follow the system language), #30 and PR #34 (Ukrainian, open). Dimension score: ~8% ready (estimated: English complete, slide-text script support partly there), 55–90 h to parity plus native-speaker review.
How the numbers are measured
- UI strings: ~1,050 user-visible string literals (measured 2026-10-10: distinct
capitalized literals in
crates/ui-egui/src,crates/engine/src/cmdandcrates/model/src, including the 226 command labels). A catalog will refine the count; until then percentages are against this figure. - Script support is about slide text (what users type and import), separately from the UI:
bidi and shaping live in
crates/text(UAX #9, HarfRust, UAX #14 line breaking). - PowerPoint's languages:
Contents/Resources/*.lprojin PowerPoint 16.113.4: ar, cs, da, de, el, en, en_GB, es, es_MX, fi, fr, fr_CA, he, hu, id, it, ja, ko, nl, no, pl, pt (Brazil), pt_PT, ru, sk, sv, th, tr, zh_CN, zh_TW (26 languages). PowerPoint for Mac has no Hindi or Vietnamese UI; PowerPoint for Windows has both.
The twelve key languages
| Language | Code | UI strings translated | Dialogs / tooltips / help | Script support (slide text) | Native review | Status | PowerPoint for Mac UI | Hours to full |
|---|---|---|---|---|---|---|---|---|
| English | en | ~1,050 / ~1,050 (100%) | yes / yes / no help | full | yes | full | yes | 0 |
| Simplified Chinese (Mandarin) | zh-Hans | 0 (0%) | no | renders with system CJK fonts (asset policy excludes Noto CJK from builds); UAX #14 breaking; no IME composition; no true vertical layout | no | none | yes | 6–10 (incl. IME) |
| Spanish | es | 0 (0%) | no | full (Latin) | no | none | yes (es, es-MX) | 3–5 |
| Hindi | hi | 0 (0%) | no | Devanagari shaping through HarfRust, untested; no bundled Devanagari font | no | none | no (Windows only) | 4–7 |
| Arabic | ar | 0 (0%) | no | bidi, contextual shaping, kashida justification, RTL bullets and caret (#4); UI not mirrored; browser export shows boxes (#81) | no | none | yes | 10–16 (incl. UI mirroring) |
| French | fr | 0 (0%) | no | full (Latin) | no | none | yes (fr, fr-CA) | 3–5 |
| Portuguese | pt | 0 (0%) | no | full (Latin) | no | none | yes (pt-BR, pt-PT) | 3–5 |
| Indonesian | id | 0 (0%) | no | full (Latin) | no | none | yes | 3–5 |
| Japanese | ja | 0 (0%) | no | renders with system or craft-fonts Japanese faces; no IME composition; vertical text is rotated, not laid out vertically | no | none | yes | 4–7 |
| German | de | 0 (0%) | no | full (Latin) | no | none | yes | 3–5 |
| Korean | ko | 0 (0%) | no | system Hangul fonts; no IME composition | no | none | yes | 4–7 |
| Vietnamese | vi | 0 (0%) | no | stacked diacritics through HarfRust | no | none | no (Windows only) | 3–5 |
Other languages shipped: 0 (Ukrainian is in review as PR #34). PowerPoint for Mac ships 16 more than the twelve above: Czech, Danish, Greek, Finnish, Hebrew, Hungarian, Italian, Dutch, Norwegian, Polish, Russian, Slovak, Swedish, Thai, Turkish and Traditional Chinese.
Per-language hours assume the infrastructure exists: 8–14 h once for a string catalog (copy a
sibling app's approach, e.g. EffectCraft's menu and panel catalogs), a language setting that follows
the system (#15), plural and number formatting, and an xtask check that every key has a
translation. IME composition (3–6 h) is counted once, under Simplified Chinese.
Proofing languages
PowerPoint checks spelling in dozens of languages and lets each run carry a proofing language.
DeckCraft keeps a:rPr/@lang on round trip but its spelling check is a small English list of
common misspellings (crates/engine/src/cmd/review.rs); see gaps.md.
Revision history
| Date | Change | Summary |
|---|---|---|
| 2026-10-10 | major | Created: twelve-language table, ~1,050 UI strings measured, PowerPoint for Mac's 26 languages from its bundle |