i18nlisted
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