Core rules
- •English (
en) is the source catalog. Do not alter keys; only update translations. - •Preserve placeholders and ICU syntax exactly (e.g.,
{name},{count, plural, one {...} other {...}}). - •Keep technical terms in English when appropriate (API, TypeScript, React).
Translation updates
- •Update
src/lib/i18n/locales/{locale}/messages.jsononly; do not edit compiled outputs by hand. - •Use
./scripts/put-transtation.jsto safely update a specific entry without loading the full file into context.
Verification
- •Run
pnpm lingui:extractwhen new messages are added. - •Run
pnpm lingui:compileto regenerate compiled catalogs. - •Run
scripts/lingui-check.shto verify no missing translations. - •Run
scripts/i18n-check-key-equals-translation.shto ensure key != translation in all locales.