Enforce Rules For I18n
moeru-ai/airi
Review pending AIRI translations on Crowdin in a batch, then sync them into the repository.
Translates new or changed i18n keys from a Chatbox Pro diff, staged changes or a commit range, writing the locale JSON files directly with a built-in glossary.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add chatboxai/chatbox --skill i18n-translate -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install chatboxai/chatbox i18n-translate --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/chatboxai/chatbox.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/i18n-translate .claude/skills/i18n-translate && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "i18n-translate" agent skill from https://github.com/chatboxai/chatbox/tree/main/.claude/skills/i18n-translate into .claude/skills/i18n-translate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "i18n-translate", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/chatboxai/chatbox/tree/main/.claude/skills/i18n-translateType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add chatboxai/chatbox --skill i18n-translate -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install chatboxai/chatbox i18n-translate --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chatboxai/chatbox.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/i18n-translate .agents/skills/i18n-translate && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "i18n-translate" agent skill from https://github.com/chatboxai/chatbox/tree/main/.claude/skills/i18n-translate into .agents/skills/i18n-translate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "i18n-translate", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add chatboxai/chatbox --skill i18n-translate -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install chatboxai/chatbox i18n-translate --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chatboxai/chatbox.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/i18n-translate .cursor/skills/i18n-translate && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "i18n-translate" agent skill from https://github.com/chatboxai/chatbox/tree/main/.claude/skills/i18n-translate into .cursor/skills/i18n-translate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "i18n-translate", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/chatboxai/chatbox.git --path .claude/skills/i18n-translate--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add chatboxai/chatbox --skill i18n-translate -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install chatboxai/chatbox i18n-translate --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chatboxai/chatbox.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/i18n-translate .gemini/skills/i18n-translate && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "i18n-translate" agent skill from https://github.com/chatboxai/chatbox/tree/main/.claude/skills/i18n-translate into .gemini/skills/i18n-translate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "i18n-translate", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install chatboxai/chatbox i18n-translateInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add chatboxai/chatbox --skill i18n-translate -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/chatboxai/chatbox.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/i18n-translate .github/skills/i18n-translate && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "i18n-translate" agent skill from https://github.com/chatboxai/chatbox/tree/main/.claude/skills/i18n-translate into .github/skills/i18n-translate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "i18n-translate", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add chatboxai/chatbox --skill i18n-translate -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install chatboxai/chatbox i18n-translate --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/chatboxai/chatbox.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/i18n-translate .opencode/skills/i18n-translate && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "i18n-translate" agent skill from https://github.com/chatboxai/chatbox/tree/main/.claude/skills/i18n-translate into .opencode/skills/i18n-translate/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "i18n-translate", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
i18n-translateTranslates new or changed i18n keys from a Chatbox Pro diff, staged changes or a commit range, writing the locale JSON files directly with a built-in glossary.
The agent reads the diff and the surrounding component code to find new or affected i18n keys, such as t() and i18n.t() calls, Trans components with an i18nKey, keys in error objects and changed English values. By default it covers all staged and unstaged changes, or a single commit or Git range if you give one, and it stops to report an invalid commit or range instead of guessing. It edits each locale's translation.json directly and does not run the pnpm translate command or an extraction script to decide the content.
Translation follows the role of each string in the UI, such as a button, tooltip, aria label, placeholder, error or toast, and matches terms already used in the same component. Missing English values come first, placeholders, named tags and spacing are preserved, and references/glossary.json fixes reserved words and mandatory translations. Each language is written to its file before the next begins. If one English key would need different translations in different roles, the agent stops and asks whether to rename it. A checker script, check-chatbox-i18n.mjs, flags missing, empty or extra keys at the end, and the agent never commits.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0ac6385. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodepnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Chatbox i18n Translator loads about 508 tokens when it runs, and up to ~808 if it reads all its reference files. Until then it costs about 45 tokens; SKILL.md has 134 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from chatboxai/chatbox at commit 0ac6385, republished under its GPL-3.0 licence (© chatboxai). 134 words, ~508 tokens.
.claude/skills/i18n-translate/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.你一名UI翻译者。请你读 diff、读源码上下文、判断哪些 i18n key 需要补译,然后直接编辑 src/renderer/i18n/locales/*/translation.json。注意不要运行 pnpm translate,也不要依赖抽取脚本来决定翻译内容。你(LLM)来检查哪些 key 需要翻译,并且直接翻译成目标语言。
references/glossary.json,这是本 skill 的术语表来源。从 diff/commit 中找新增或受影响的文案,重点看:
t('...')、i18n.t('...')<Trans i18nKey="...">i18nKey: '...',尤其是错误对象或 src/shared 中的 keysrc/renderer/i18n/for-key-scan.ts 等动态 key 辅助文件src/renderer/i18n/locales/en/translation.json 中被改动的英文 valueen[key] || key 作为源文;大多数情况下 en[key] 应等于 key。先补全 en/translation.json 中缺失或空的 key,再翻译其他语言。en 文案发生变化,更新所有已请求 locale 中对应 key 的翻译值;如果某个已有翻译需要更新而不是新增,请直接覆盖旧译文。en value 和源码 key 不一致时,按 3 步判断:en value 是否是有意的 slug key。<Trans> children 或动态 key 扫描造成的源文错误。{{placeholder}}、<NamedTag>、<0> 标签和源文前后空格。translation.json,再开始下一种语言。不要把所有语言的译文都攒到最后一次性写入。可运行 checker 做确定性检查:
node .codex/skills/i18n-translate/scripts/check-chatbox-i18n.mjs如果你维护了本次改动 key 列表,可以做严格检查:
node .codex/skills/i18n-translate/scripts/check-chatbox-i18n.mjs --keys-file /tmp/changed-i18n-keys.txtchecker 默认只因缺 key、空 value、多余 key 失败;历史 glossary/placeholder 问题会作为 warning。不要提交 commit,把改动留给用户 review。
© chatboxai, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts, references) in .claude/skills/i18n-translate of chatboxai/chatbox.
Open the folder on GitHubat commit 0ac6385
Chatbox i18n Translator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Chatbox i18n Translator this skillchatboxai/chatbox | 42k | — | ~508 | Automated safety check: Pass | GPL-3.0 | |
| Enforce Rules For I18nmoeru-ai/airi | 50k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Translation ReviewDevolutions/UniGetUI | 26k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Lingui Best PracticesB0und/WikiSpeedrun | 133 | 2 repos | ~4.2k | Automated safety check: Pass | MIT | |
| Ok Script I18nAliceJump/ok-end-field | 555 | — | ~828 | Automated safety check: Pass | AGPL-3.0 | |
| I18next Localizationi18next/i18next-cli | 241 | — | ~1.6k | Automated safety check: Pass | MIT |
moeru-ai/airi
Review pending AIRI translations on Crowdin in a batch, then sync them into the repository.
Devolutions/UniGetUI
Reviews UniGetUI .json language files for localization quality, detects parity issues, English-equal entries, wrong-script content, and cross-language outliers, then generates a dataset for…
B0und/WikiSpeedrun
Implement internationalization with Lingui in React and JavaScript applications.
AliceJump/ok-end-field
Maintain gettext translations for ok-script task UI and runtime messages.
i18next/i18next-cli
Takes an app from hardcoded strings to a localized, continuously translated one with i18next (Locize optional): stack detection, config, wrapping strings in t(), key extraction, Locize sync, and AI…
ckanner/jta
Translate JSON i18n files to multiple languages with AI-powered quality optimization.
chatboxai/chatbox
Cherry-picks commits from the chatbox-pro repo into the open chatbox repo, skipping mobile-only files and keeping the open package name.
chatboxai/chatbox
Runs and debugs evaluations of how Chatbox models answer questions about large attached files, using synthetic and real long-document fixtures.
Categories
Translates new or changed i18n keys from a Chatbox Pro diff, staged changes or a commit range, writing the locale JSON files directly with a built-in glossary. t() calls, Trans components with an i18nKey, keys in error objects and changed English values. By default it covers all staged and unstaged changes, or a single commit or Git range if you give one, and it stops to report an invalid commit or range instead of guessing.
Chatbox i18n Translator fits situations like: translating UI strings after changing Chatbox components; filling in missing locale keys from staged changes; translating the keys changed in a specific commit or range.
Run `npx skills add chatboxai/chatbox --skill i18n-translate -a claude-code`. Or copy the skill folder (.claude/skills/i18n-translate in chatboxai/chatbox) into .claude/skills/i18n-translate in your project. Claude Code loads it when a task matches its description.
Run `npx skills add chatboxai/chatbox --skill i18n-translate -a codex`. Or copy the skill folder (.claude/skills/i18n-translate in chatboxai/chatbox) into .agents/skills/i18n-translate in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add chatboxai/chatbox --skill i18n-translate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/i18n-translate, .gemini/skills/i18n-translate, .github/skills/i18n-translate and .opencode/skills/i18n-translate in your project.
Going by SKILL.md and its folder, Chatbox i18n Translator needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node and pnpm). Our summary lists: The Chatbox repository with its locale files; Node.js, for the checker script.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Chatbox i18n Translator is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 508 tokens (SKILL.md is roughly 2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 300 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Chatbox i18n Translator: Enforce Rules For I18n (moeru-ai/airi, 50k stars), Translation Review (Devolutions/UniGetUI, 26k stars), Lingui Best Practices (B0und/WikiSpeedrun, 133 stars) and Ok Script I18n (AliceJump/ok-end-field, 555 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
chatboxai (a GitHub organization) maintains it in chatboxai/chatbox, which has 41,984 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 24, 2026.
Source: chatboxai/chatbox on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.