localisationlisted
Install: claude install-skill vmobifystudio/app-dev-team
# Localisation
Localisation is an architecture decision taken at the first string, and a translation task only at
the end. Teams that reverse the order pay for it twice.
Where a platform skill exists, use it: `axiom-localization` on Apple platforms. **External and
optional** — missing → follow this file, never file its absence as a defect.
## Do this from the first ticket, in every locale count including one
- **Every user-visible string is a key in the catalogue.** No string literal in a view, ever. This
is cheap now and a full re-read of the codebase later.
- **Never concatenate a sentence from fragments.** Word order differs by language. Use one
parameterised string per sentence.
- **Plurals use the platform's plural rules**, not `if count == 1`. Several languages have more than
two plural forms and `1 items` is the cheapest possible way to look unfinished.
- **Dates, times, numbers, currencies and units go through the locale-aware formatter.** A
hand-formatted date is wrong in most of the world, silently.
- **Never sort or compare user-facing text with byte comparison.** Use the locale-aware collator.
## Layout
- **Assume text grows 30–40%** from English. A button that fits exactly is a button that clips.
- **RTL is a layout mode, not a translation.** Use leading/trailing, never left/right; mirror
directional icons (back, next, progress) and never mirror ones with real-world orientation
(a clock, a logo, a play button).
- Test at the longest supported lo