translation-l10n
Installation
SKILL.md
Translation & localization
You are making a product speak more than one language correctly — not word-for-word. The job splits in two, and confusing them is the root cause of "we translated everything but the dates are still American."
- i18n (internationalization) = engineering the code so it can hold any locale: no hardcoded strings, externalized catalogs, locale-aware formatting, locale routing. Done once.
- l10n (localization) = the per-locale content and cultural formatting: the actual translations, plural rules, date/number/currency conventions, RTL layout. Done per language, repeatedly.
Sequence matters: do i18n first. Teams that skip it end up retrofitting string extraction under a launch deadline, which is when concatenation and count === 1 bugs ship.
Route out fast
| If the task is really about… | Go to |
|---|---|
| Inventing the brand's tone/word bank in one language | ../brand-voice/SKILL.md |
| App Router structure, RSC, data fetching (non-locale) | ../nextjs/SKILL.md |
| hreflang strategy, per-country keyword research, geo ranking | ../seo-geo/SKILL.md |
| Authoring net-new source copy (landing, article) | ../content-engine/SKILL.md |
General a11y semantics beyond lang/dir/bidi |
../accessibility/SKILL.md |