← ClaudeAtlas

i18n-readylisted

Multilingual-resilient web UI, English/Spanish first-class. Use for localization, translation, text expansion, lang attributes, logical properties, RTL readiness, locale formats, bilingual copy tells, hreflang, and language toggles.
KyaniteLabs/tastecheck · ★ 7 · Web & Frontend · score 71
Install: claude install-skill KyaniteLabs/tastecheck
# i18n-Ready (bilingual by design, not by patch) Design for the longest honest string, then translate meaning—not words. English/Spanish is the worked pair; the structural method generalizes. ## Make a locale contract before translating or resizing Record a locale contract before resizing or translating: | Boundary | Required decision/evidence | | --- | --- | | locale/reader | concrete BCP 47 tag, fallback/owner, formality and regional vocabulary | | content | whole-message keys, variables/plurals, protected legal/safety language | | mechanics | formats and data source for date/time zone/number/currency/address/name | | stress/direction | longest approved fixture by surface; current `dir`, RTL/bidi/logical-property path | Never invent locale, idiom, translation, or formality; pending source/approval means structural readiness only. ## The decision order 1. Set `<html lang>` and inline `lang` switches. 2. Test the longest approved fixture; text containers/content-sized controls avoid fixed widths. Intentional truncation exposes reachable full text. 3. Use logical inline/block properties for RTL readiness, and `Intl` with real locales for all mechanical formats. 4. Re-express native voice/idiom/formality (including tú/usted); do not calque. 5. When the product offers an in-product language choice, self-label and persist the control and update `lang`; provide `hreflang` and per-locale metadata for indexed locale routes where applicable. ## Non-negotiables -