← ClaudeAtlas

i18n-translatelisted

Complete and maintain frontend i18n translations for this project. Covers finding missing translation keys, detecting untranslated entries, and adding translations for all supported locales (en, zh, zh-TW, fr, ja, ru, vi). Use for any task involving frontend locale files, missing translation keys, untranslated UI text, `t(...)` keys, `useTranslation()`, static i18n keys, button/label/ toast/dialog/placeholder/validation copy, or adding/fixing even a single i18n key. Use when review findings mention missing i18n, when new UI text needs translation, or when the user asks to add translations, fix i18n, or complete missing translations. Always load and follow this skill before translating, adding locale keys, or editing frontend i18n files.
MoleAPI/moleapi · ★ 0 · AI & Automation · score 69
Install: claude install-skill MoleAPI/moleapi
# Frontend i18n Translation Workflow ## Mandatory Preflight - Read this entire `SKILL.md` before any frontend i18n work, including one-key fixes. - Before editing locale files, confirm the source text comes from a `t(...)` key, `en.json`, existing UI copy, or an explicitly requested new UI string. - Use the user conversation only to understand the task target. Do not copy conversation text, review wording, or task descriptions directly into locale values. - Before translating each key, re-think the intended UI copy from the code and locale context instead of treating the surrounding chat as the translation source. ### Hard Constraint: Locale Writes Go Through the Script - You MUST NOT edit `web/src/i18n/locales/*.json` directly with text-editing tools (StrReplace, Write, search-and-replace, manual JSON edits, etc.). This applies even to a single key. - ALL locale writes MUST go through the `add-missing-keys.mjs` script, followed by `bun run i18n:sync`. The script is the only sanctioned way to add or change locale values. - Why this is mandatory, not optional: - Hand-editing reliably drops one or more of the seven locales (`en`, `zh`, `zh-TW`, `fr`, `ja`, `ru`, `vi`), leaving keys missing in some languages. - Hand-editing breaks the required alphabetical key order and introduces JSON syntax errors (trailing commas, mismatched quotes). - The script writes all seven files atomically with consistent sorting, so the locale set stays in sync by construction. - The script