skill-i18n

from guo-yu/skills

My collection of skills for productivity and automation.

215 stars18 forksUpdated Jan 23, 2026
npx skills add https://github.com/guo-yu/skills --skill skill-i18n

SKILL.md

Skill i18n

Translate skill documentation files (SKILL.md, README.md) into multiple languages, making it easier to share skills with international users.

Usage

CommandDescription
/skill-i18nTranslate files in current skill directory
/skill-i18n <skill-name>Translate files for specified skill
/skill-i18n configConfigure default languages and file types
/skill-i18n --lang zh-CN,jaTranslate to specified languages (for integration)
/skill-i18n --files SKILL.md,README.mdTranslate specified files

Supported Languages

LanguageCodeOutput File
简体中文zh-CNSKILL.zh-CN.md
日本語jaSKILL.ja.md
한국어koSKILL.ko.md
EspañolesSKILL.es.md
CustomUser-definedSKILL.<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:

FieldDescriptionDefault
default_languagesLanguages to translate by default["zh-CN", "ja"]
default_filesFiles to translate by default["SKILL.md"]
skills_configPer-skill configuration{}

Execution Steps

Command: /skill-i18n

Translate files in current skill directory:

  1. 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
    
  2. 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")
    
  3. 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" }
          ]
        }
      ]
    }
    
  4. 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
    
  5. 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:

  1. 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
    
  2. Execute translation (same as default command)

Command: /skill-i18n config

Configure default settings:

  1. Show current configuration

    echo "Current configuration:"
    cat ~/.claude/skill-i18n-config.json | jq .
    
  2. 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" }
          ]
        }
      ]
    }
    
  3. Update configuration file

Command-Line Flags

For integration

...

Read full content

Repository Stats

Stars215
Forks18