← ClaudeAtlas

i18nlisted

Handle internationalization (i18n) translation files and produce culturally authentic translations. Use when: (1) editing, creating, or modifying translation files (JSON, YAML, TypeScript, JS) — especially large ones that risk exceeding token limits; (2) translating UI strings into any supported language/dialect; (3) reviewing translations for cultural accuracy and naturalness; (4) syncing translation keys across multiple locale files; (5) adding new languages or regional variants to an existing i18n setup. Triggers on "translate", "i18n", "localization", "translation file", "locale", "add language", "translation keys", or any specific locale code (e.g., th, ja, ko, zh-CN, de, fr, es, it, zh-TW, zh-HK, th-bupphe). Does NOT trigger on defining or glossing a single word/phrase inside a sentence ("what does X mean here", "define X in context") — that is the `define` skill. This skill is for i18n files and shipping localized strings, not inline word-meaning lookups.
sorawit-w/agent-skills · ★ 1 · Data & Documents · score 77
Install: claude install-skill sorawit-w/agent-skills
# i18n — Translation Files & Cultural Rewriting This skill has two parts: 1. **File Handling** — How to safely edit translation files without hitting token limits. 2. **Translation Teams** — How to produce culturally authentic translations using a multi-role review process. --- # Part 1: Handling Translation / i18n Files ## Why This Matters Translation files can be extremely large (thousands of keys). Attempting to rewrite an entire translation file will likely exceed output token limits and cause errors. Always use **surgical, minimal edits** instead. ## File Formats Translation files may exist in any of these formats: | Format | Example | Notes | |--------|---------|-------| | JSON | `en.json`, `messages.json` | Most common. Flat or nested key-value. | | YAML | `en.yml`, `messages.yaml` | Common in Rails, Spring, etc. | | TypeScript | `en.ts`, `translations.ts` | Used when types are shared across projects. Often exports an object `as const` or uses `satisfies`. | | JS/MJS | `en.js`, `en.mjs` | Legacy or framework-specific. | ## Rules ### 1. NEVER rewrite an existing translation file in full - Do NOT output the full file content when editing an existing file. - Do NOT use a "replace entire file" operation to change a few keys. - If a tool only supports full-file writes (no partial edit), use the **script approach** (see below). **Exceptions — full-file writes are fine when:** - **Creating a new locale file** from scratch (e.g., adding `it.json` for the fi