EP-MEL-18 — Multi-Language & RTL/LTR
Companion: Backlog README ·
EPICS.md· canonical:07-epics-and-user-stories.md§20
Summary
| Wave | R1 (+ new locales in R3) |
| Priority | P0 |
| Primary owner | theme-config-service (i18n primitives) + every frontend |
| Participating services | notification-service (template variants), all frontends, pkg-i18n |
| Journeys realised | All consumer-facing journeys |
| Workflows | All |
| Frontend surfaces | All |
| Story count | 6 |
Outcome
The platform is i18n-native and RTL/LTR-symmetric: bundles generated per locale; layouts use logical CSS so RTL "just works"; dates/numbers/currencies render locale-aware; native OS menus localised on desktop; locale-aware fonts loaded per locale; a translation workflow keeps content current.
Cross-cutting AC for this epic
- ICU MessageFormat for every user-facing string; no string concatenation.
- Logical CSS properties only (
margin-inline-start, etc.); noleft/right. - Pseudo-locale (
xx-AC) test runs in CI for every PR touching frontend. - Locale fallback chain documented (e.g.,
ps-AF → ps → en).
Stories
| ID | Title |
|---|---|
| US-MEL-0133 | i18n bundle generation & loading |
| US-MEL-0134 | RTL bidi-safe layouts |
| US-MEL-0135 | Locale-aware date, number, currency |
| US-MEL-0136 | Native OS menus per locale |
| US-MEL-0137 | Locale-aware fonts |
| US-MEL-0138 | Translation workflow for content |
Full AC in
../07-epics-and-user-stories.md§20.
Cross-references
- Frontend design guidelines (i18n section):
../frontend/04-frontend-design-guidelines.md - Coding standards (i18n in code):
../standards/CODING_STANDARDS.md - Definition of Done:
../standards/DEFINITION_OF_DONE.md