skill-i18n
from guo-yu/skills
My collection of skills for productivity and automation.
npx skills add https://github.com/guo-yu/skills --skill skill-i18nSKILL.md
Skill i18n
Translate skill documentation files (SKILL.md, README.md) into multiple languages, making it easier to share skills with international users.
Usage
| Command | Description |
|---|---|
/skill-i18n | Translate files in current skill directory |
/skill-i18n <skill-name> | Translate files for specified skill |
/skill-i18n config | Configure default languages and file types |
/skill-i18n --lang zh-CN,ja | Translate to specified languages (for integration) |
/skill-i18n --files SKILL.md,README.md | Translate specified files |
Supported Languages
| Language | Code | Output File |
|---|---|---|
| 简体中文 | zh-CN | SKILL.zh-CN.md |
| 日本語 | ja | SKILL.ja.md |
| 한국어 | ko | SKILL.ko.md |
| Español | es | SKILL.es.md |
| Custom | User-defined | SKILL.<code>.md |
Configuration
All settings are stored in ~/.claude/skill-i18n-config.json:
{
"default_languages": ["zh-CN", "ja"],
"default_files": ["SKILL.md"],
"skills_config": {
"port-allocator": {
"languages": ["zh-CN", "ja", "ko"],
"files": ["SKILL.md", "README.md"]
}
}
}
Configuration Fields:
| Field | Description | Default |
|---|---|---|
default_languages | Languages to translate by default | ["zh-CN", "ja"] |
default_files | Files to translate by default | ["SKILL.md"] |
skills_config | Per-skill configuration | {} |
Execution Steps
Command: /skill-i18n
Translate files in current skill directory:
-
Detect current directory
# Check if current directory contains SKILL.md if [ ! -f SKILL.md ]; then echo "Error: SKILL.md not found in current directory" exit 1 fi -
Load configuration
# Read config file CONFIG=$(cat ~/.claude/skill-i18n-config.json 2>/dev/null || echo '{}') # Get skill name from directory SKILL_NAME=$(basename "$(pwd)") # Check for skill-specific config SKILL_CONFIG=$(echo "$CONFIG" | jq -r ".skills_config[\"$SKILL_NAME\"] // null") -
First-run selection (if no config)
If no configuration exists for this skill, show TUI selection:
{ "questions": [ { "question": "Which languages should be generated?", "header": "Languages", "multiSelect": true, "options": [ { "label": "简体中文 (zh-CN)", "description": "Simplified Chinese" }, { "label": "日本語 (ja)", "description": "Japanese" }, { "label": "한국어 (ko)", "description": "Korean" }, { "label": "Español (es)", "description": "Spanish" } ] }, { "question": "Which files should be translated?", "header": "Files", "multiSelect": true, "options": [ { "label": "SKILL.md", "description": "Skill documentation (recommended)" }, { "label": "README.md", "description": "Repository readme" } ] } ] } -
Save configuration
# Save selection to config for future runs jq --arg skill "$SKILL_NAME" \ --argjson langs '["zh-CN", "ja"]' \ --argjson files '["SKILL.md"]' \ '.skills_config[$skill] = {"languages": $langs, "files": $files}' \ ~/.claude/skill-i18n-config.json > tmp.json && mv tmp.json ~/.claude/skill-i18n-config.json -
Execute translation
- For each selected file and language, generate translation
- See "Translation Rules" section below
Command: /skill-i18n <skill-name>
Translate files for specified skill:
-
Search skill location
# Search in common locations SKILL_PATH="" # Check ~/.claude/skills/ if [ -d ~/.claude/skills/"$SKILL_NAME" ]; then SKILL_PATH=~/.claude/skills/"$SKILL_NAME" fi # Check code repository (if configured) if [ -z "$SKILL_PATH" ] && [ -d ~/Codes/skills/"$SKILL_NAME" ]; then SKILL_PATH=~/Codes/skills/"$SKILL_NAME" fi if [ -z "$SKILL_PATH" ]; then echo "Error: Skill '$SKILL_NAME' not found" exit 1 fi -
Execute translation (same as default command)
Command: /skill-i18n config
Configure default settings:
-
Show current configuration
echo "Current configuration:" cat ~/.claude/skill-i18n-config.json | jq . -
Interactive configuration via AskUserQuestion
{ "questions": [ { "question": "Select default languages for new skills:", "header": "Defaults", "multiSelect": true, "options": [ { "label": "简体中文 (zh-CN)", "description": "Simplified Chinese" }, { "label": "日本語 (ja)", "description": "Japanese" }, { "label": "한국어 (ko)", "description": "Korean" }, { "label": "Español (es)", "description": "Spanish" } ] } ] } -
Update configuration file
Command-Line Flags
For integration
...