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