by i18n-agent
Complete i18n toolkit for Claude Code: 3 CLI tools + 46 native-quality translation skills, installed in one command
# Add to your Claude Code skills
git clone https://github.com/i18n-agent/i18nstackGuides for using cli tools skills like i18nstack.
i18nstack is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by i18n-agent. Complete i18n toolkit for Claude Code: 3 CLI tools + 46 native-quality translation skills, installed in one command. It has 1 GitHub star.
i18nstack's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/i18n-agent/i18nstack" and add it to your Claude Code skills directory (see the Installation section above). i18nstack ships a SKILL.md manifest, so compatible agents can discover and load it automatically.
i18nstack is primarily written in Shell. It is open-source under i18n-agent on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh i18nstack against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
name: i18nstack description: | Complete i18n/localization toolkit for Claude Code. Use when doing ANY internationalization work: converting localization files between 32 formats (i18n-convert), pseudo-translating files to QA an i18n implementation (i18n-pseudo), validating translation files for missing keys / placeholder drift / plural errors (i18n-validate), or translating UI strings, marketing copy, and docs into 46 languages with native-quality rules (localize-*). allowed-tools:
Three CLI tools + 46 language-specific translation skills. Route any i18n task to the right piece:
| Task | Use |
|---|---|
| Convert a localization file to another format | i18n-convert CLI (see i18n-convert skill) |
| Generate pseudo-translations to test an i18n setup | i18n-pseudo CLI (see i18n-pseudo skill) |
| Check translation files for missing keys, placeholder drift, plural errors | i18n-validate CLI (see i18n-validate skill) |
| Translate text into language XX with native-quality rules | localize-XX skill (46 languages, e.g. localize-ja, localize-de) |
| Wrap hardcoded strings in code with i18n functions | /i18n-wrap command |
| Audit existing i18n wrapping for quality issues | /i18n-review command |
| Validate AND fix all findings until green | /i18n-validate command |
| Safe format conversion with data-loss checks | /i18n-convert command |
| Pseudo-locale QA sweep with fix-up | /i18n-pseudo command |
for t in i18n-convert i18n-pseudo i18n-validate; do command -v $t >/dev/null || echo "MISSING: $t"; done
If anything is missing, run the stack's setup: ~/.claude/skills/i18nstack/setup
(or npm install -g @i18n-agent/<tool>).
i18n-convert en.json --to android-xml -o strings.xmli18n-pseudo en.json --preset layout -o pseudo/localize-XX skill — it enforces
native-writer rules (formality, particles, plurals, script conventions).i18n-validate ./locales --strictar bg bn ca cs cy da de el es et fa fi fr ga he hi hr hu id is it ja ko lt lv ms mt nl no pl pt ro ru sk sl sr sv sw th tl tr uk ur vi zh
Each is a standalone skill (localize-ja, localize-de, …) distilled from
production translation prompts — invoke the one matching your target language.
cd ~/.claude/skills/i18nstack && git pull && ./setup
i18nstack turns Claude Code into a full localization team: format engineer, QA tester, release gate, and 46 native-quality translators.
Three battle-tested CLI tools, five workflow slash commands, and 46 language-specific translation skills for Claude Code, installed with one command.
git clone --depth 1 https://github.com/i18n-agent/i18nstack.git ~/.claude/skills/i18nstack && ~/.claude/skills/i18nstack/setup
That's it. The setup script installs the CLI tools (npm, with Homebrew fallback) and registers every skill with Claude Code.
| Tool | Role | What it does |
|---|---|---|
i18n-convert |
Format engineer | Convert localization files between 32 formats: JSON, i18next, Flutter ARB, Android XML, iOS .strings/String Catalog, XLIFF, PO, YAML, RESX, CSV, Excel, and more. Warns before lossy conversions. |
i18n-pseudo |
QA tester | Pseudo-translate locale files to expose hardcoded strings, text overflow, encoding bugs, and RTL breakage before you pay for real translations. 7 strategies, 5 presets. |
i18n-validate |
Release gate | Validate translation files for missing keys, placeholder drift, malformed plurals, and untranslated values. CI-ready with JUnit/JSON output and meaningful exit codes. |
| Command | What it does |
|---|---|
/i18n-wrap [path] [--framework=...] |
Scan code for hardcoded user-facing strings and wrap them with the right i18n function (next-intl, react-i18next, vue-i18n, angular, svelte, python, ruby, flutter, ios, android). Updates locale files and validates. |
/i18n-review [path] [--framework=...] |
Read-only audit of existing i18n wrapping: over/under-wrapping, split sentences, hardcoded values, quality issues. |
/i18n-validate [path] |
Run validation and FIX every finding — placeholder drift, plural forms, missing keys (translated properly, never English filler) — looping until it passes. |
/i18n-convert <file> --to <format> |
Safe conversion workflow: resolve the format slug, dry-run for data-loss warnings, convert, verify key counts round-trip. |
/i18n-pseudo <files> [--preset=...] |
Generate pseudo locales, wire them into the app as a test locale, and hunt down the hardcoded strings and layout bugs they expose. |
Each localize-XX skill is distilled from production translation prompts and enforces native-writer rules: formality registers, particle selection, plural systems, script conventions, and false-friend avoidance.
Arabic (ar), Bulgarian (bg), Bengali (bn), Catalan (ca), Czech (cs), Welsh (cy), Danish (da), German (de), Greek (el), Spanish (es), Estonian (et), Persian (fa), Finnish (fi), French (fr), Irish (ga), Hebrew (he), Hindi (hi), Croatian (hr), Hungarian (hu), Indonesian (id), Icelandic (is), Italian (it), Japanese (ja), Korean (ko), Lithuanian (lt), Latvian (lv), Malay (ms), Maltese (mt), Dutch (nl), Norwegian (no), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Slovak (sk), Slovenian (sl), Serbian (sr), Swedish (sv), Swahili (sw), Thai (th), Tagalog (tl), Turkish (tr), Ukrainian (uk), Urdu (ur), Vietnamese (vi), Chinese (zh)
The repo lives at ~/.claude/skills/i18nstack. Setup symlinks each skill directory into ~/.claude/skills/, so Claude Code discovers them automatically and a single git pull updates everything.
~/.claude/skills/
├── i18nstack/ ← this repo
├── i18n-convert → i18nstack/i18n-convert
├── i18n-pseudo → i18nstack/i18n-pseudo
├── i18n-validate → i18nstack/i18n-validate
├── localize-ja → i18nstack/localize-ja
└── ... (46 localize skills)
~/.claude/commands/
├── i18n-wrap.md → ../skills/i18nstack/commands/i18n-wrap.md
├── i18n-review.md → ../skills/i18nstack/commands/i18n-review.md
├── i18n-validate.md → ../skills/i18nstack/commands/i18n-validate.md
├── i18n-convert.md → ../skills/i18nstack/commands/i18n-convert.md
└── i18n-pseudo.md → ../skills/i18nstack/commands/i18n-pseudo.md
Ship a new locale end to end:
i18n-convert en.json --to android-xml -o strings.xml
i18n-pseudo en.json --preset layout -o pseudo/
Load it as a fake locale, screenshot the app: un-bracketed English = hardcoded string.localize-ja and its native-writer rules.i18n-validate ./locales --strict
cd ~/.claude/skills/i18nstack && git pull && ./setup
cd ~/.claude/skills && find . -maxdepth 1 -type l -lname 'i18nstack/*' -delete && rm -rf i18nstack
cd ~/.claude/commands && find . -maxdepth 1 -type l -lname '*skills/i18nstack/*' -delete
CLI tools: npm uninstall -g @i18n-agent/i18n-convert @i18n-agent/i18n-pseudo @i18n-agent/i18n-validate
MIT