Files
calctext/_bmad-output/implementation-artifacts/14-5-localization-framework.md
2026-03-16 19:54:53 -04:00

1.9 KiB

epic, story, title, status
epic story title status
14 14.5 Localization Framework draft

Epic 14 — Accessibility & Internationalization

Goal: Make CalcPad usable by everyone regardless of ability, language, or locale.

Story 14.5: Localization Framework

As a CalcPad user who speaks a language other than English, I want the entire UI translated into my language, So that I can use CalcPad comfortably in my native language.

Acceptance Criteria:

Given the macOS native application When localization is implemented Then all user-facing strings are defined in .strings and .stringsdict files And pluralization rules use .stringsdict for correct plural forms per language

Given the Windows and web applications When localization is implemented Then all user-facing strings are managed through fluent-rs (Project Fluent .ftl files) And message references and parameterized strings are used for dynamic content (e.g., "Sheet {$name} saved")

Given the localization framework is in place When all strings are translated Then the following 8 languages are fully supported: English (EN), French (FR), German (DE), Spanish (ES), Italian (IT), Portuguese-Brazil (PT-BR), Chinese Simplified (ZH), Korean (KO) And each language has 100% string coverage -- no fallback to English for any UI element

Given the user changes their language preference in CalcPad settings When the change is applied Then all menus, labels, tooltips, error messages, onboarding text, and template descriptions switch to the selected language And the change takes effect immediately without restarting the application

Given a new language is added in the future When a developer adds the translation files Then no code changes are required beyond adding the new .strings/.stringsdict or .ftl file and registering the locale And the language automatically appears in the language selection dropdown