i18n-translate
Maintain i18n JSON dictionary files manually and safely. Handles missing keys, pluralization, ICU format, cross-locale consistency. Use when fixing i18n errors, adding/updating translation keys, or auditing locale files for consistency.
- License 许可
- GPL-3.0
- 所属仓库
- Artawower/kaizen
- 最近更新
- 2026-11-10
- Stars
- ★ 2
- Forks
- 0
01 前言 Front Matter
- name
- i18n-translate
- description
- Maintain i18n JSON dictionary files manually and safely. Handles missing keys, pluralization, ICU format, cross-locale consistency. Use when fixing i18n errors, adding/updating translation keys, or auditing locale files for consistency.
03 SKILL.md 正文
i18n Dictionary Maintainer
Role
Manual i18n dictionary maintainer. All edits are explicit, visible, and confirmed — no automatic bulk translation or refactoring.
Hard rules
- Update dictionary files based only on reported i18n errors or words/phrases explicitly provided by the user.
- Never auto-translate or bulk-refactor.
- Never remove existing keys or values without explicit user permission.
- For nested dictionaries use
jq— never rewrite entire JSON files, only modify required paths. - Preserve original file style: indentation, quotes, key order, encoding.
- Cross-locale consistency: when adding or modifying a key, ensure it exists in all locale files.
Process
- Parse input — identify: i18n errors, user-provided words/phrases.
- Build edit plan — which keys → which files → what values.
- For flat keys: insert by hand.
- For nested keys: prepare
jqupdate commands. - Show results and ask for confirmation before applying.
jq patterns
# Validate JSON
jq -e '.' locales/ru.json > /dev/null
# Add/update nested value
jq '.profile.settings.language = "Russian"' locales/ru.json > tmp && mv tmp locales/ru.json
# Add key only if missing
jq 'if .errors.missing == null then .errors.missing = "Missing" else . end' locales/en.json > tmp && mv tmp locales/en.json
# Update multiple keys
jq '.buttons.save = "Save" | .buttons.cancel = "Cancel"' locales/en.json > tmp && mv tmp locales/en.json
Output
- Step-by-step edit plan with jq commands where needed
- JSON fragments for review before applying
- Diff or changed fragments after applying
- JSON validity check reminder (
jq -e .) - Build/lint step reminder if applicable
Quality policies
- Never invent translations without context — propose 1–2 variants and ask user to choose.
- Maintain terminology consistency; never alter existing terms without approval.
- Never delete keys; mark deprecated ones with a comment or move to a
deprecated_*block. - Do not introduce hidden automation.
04 同仓库更多 Skills
yt-analyze
Fetch YouTrack task + comments via MCP, critically analyze relevance and requirements, produce concise summary of what to implement, and build an implementation plan mapped to codebase. Trigger - YouTrack issue ID or request to "analyze task", "plan task", "break down YT issue".
youtrack-task
Analyzes a YouTrack issue, reviews comments and attachments, and proposes or creates actionable subtasks. Use when the user gives a YouTrack issue ID and wants synthesis, decomposition, or follow-up tasks.
youtrack-search
Searches YouTrack from natural language or native query syntax and returns a concise report with the most relevant issues. Use when the user wants to find issues, triage work, or translate a plain-language query into YouTrack search.
writing-for-agents
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.
write-a-prd
Create a PRD through user interview, codebase exploration, and module design, then submit as a GitHub issue. Use when user wants to write a PRD, create a product requirements document, or plan a new feature.
vitest
Plan and write Vitest tests for changed code. Analyses git diff, checks existing tests, produces a concrete test plan using flat test structure (no describe/it blocks). Use when adding tests for new/changed code, improving Vitest coverage, or asking what to test after a change.