Back to Dyad

i18n / Locales

rules/i18n.md

1.9.0825 B
Original Source

i18n / Locales

  • Translation keys are typed from src/i18n/locales/en/chat.json (see src/i18n/types.ts). Adding a nested namespace object whose name collides with an existing flat key (e.g. adding a "searchChats": {...} object when a flat "searchChats" string already exists) silently changes t("searchChats") to return an object, breaking unrelated components with error TS2322: Type 'unknown' is not assignable to type 'string'. Grep the en locale for the name before adding a namespace.
  • Every locale must be updated together: en, es, ko, pt-BR, zh-CN each have the same JSON files under src/i18n/locales/<locale>/.
  • New chat tool cards should follow the DyadGit.tsx pattern (useTranslation("chat") + t("...") keys); older cards like DyadGrep.tsx predate i18n and are not the reference.