Files
deckcraft/docs/localization-parity.md
T
Brandon ThomasandClaude Opus 5.5 f44857624e Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#89)
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>
2026-10-10 14:09:21 -04:00

4.3 KiB
Raw Blame History

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/cmd and crates/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/*.lproj in 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