Skip to content

Localization review checklist (per locale)

A fast human spot-check for a session.<locale>.md before it goes published. This is the human backstop the automated gates cannot replace. Set native_reviewed: true in frontmatter once a native speaker has signed off (only ES/FR/PT need it — EN is the source, DE is vetted in-loop). The native-review CI check warns about any published non-DE locale missing this flag.

Every locale

  • [ ] Gender agreement — adjectives/participles agree; no accidental gendered form where the EN was neutral (pilot trap: welcome-to-naluma ES used lista/juntas).
  • [ ] Register/formality — consistent informal address (DE du, ES ); no slips into formal Sie/usted.
  • [ ] False friends — e.g. ES sensible ≠ "sensible", actual ≠ "actual".
  • [ ] Clinical-term spelling — matches the per-locale termbase (docs/authoring/termbase/<locale>.yaml); glossed on first use.
  • [ ] Number/figure parity — every figure in the EN source is present and unchanged (also enforced by the marketplace number_parity gate).
  • [ ] On-screen caps — description/intro still ≤120 chars after translation (translations run longer; enforced by validate.py).

Per-locale notes

DE

  • En-dash Gedankenstrich (–) is legitimate; em dash (—) is not (the analyzer flags only em dashes).
  • Habituation is glossed two ways in the wild (Habituation – die Gewöhnung vs Habituation (Gewöhnung)) — the termbase canonicalises the en-dash form.

ES

  • Watch gendered self-reference where EN is neutral.
  • crucial / fundamental / esencial are AI-overused in ES — see ai-patterns-es.md.