mcpField
S
skill-i18n

skill-i18n

github.com/guo-yuドキュメント24041 回インストール40 週間前に更新
リポジトリ

skill-i18n について

skill-i18nは、SKILL.mdやREADME.mdなどのスキル文書を複数言語に翻訳するスキルです。スキルごとの設定やコマンドラインオプションに対応し、自動ワークフローにも組み込めます。

主な機能

  1. 01SKILL.mdとREADME.mdの翻訳
  2. 02全体およびスキル別の言語設定
  3. 03対象言語とファイルの指定
  4. 04プロンプト省略と翻訳の上書き
  5. 05原文更新時の差分翻訳

活用シーン

  1. 01スキル文書の中国語・日本語版作成
  2. 02スキル別の言語と対象ファイル設定
  3. 03share-skillの文書生成から翻訳を実行
  4. 04スキル文書の翻訳自動化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/guo-yu/skills --skill skill-i18n

インストール後、Claude Code で/skill-i18nを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
SKILL.ja.md
SKILL.zh-CN.md
.claude-plugin/
plugin.json

詳細

スキルの i18n

スキルのドキュメントファイル(SKILL.md、README.md)を複数の言語に翻訳し、世界中のユーザーとスキルを共有しやすくします。

使い方

コマンド説明
/skill-i18n現在のスキルディレクトリにあるファイルを翻訳します
/skill-i18n <skill-name>指定したスキルのファイルを翻訳します
/skill-i18n config既定の言語とファイル形式を設定します
/skill-i18n --lang zh-CN,ja指定した言語に翻訳します(連携用)
/skill-i18n --files SKILL.md,README.md指定したファイルを翻訳します

対応言語

言語コード出力ファイル
簡体字中国語zh-CNSKILL.zh-CN.md
日本語jaSKILL.ja.md
韓国語koSKILL.ko.md
スペイン語esSKILL.es.md
カスタムユーザー定義SKILL.<code>.md

設定

すべての設定は ~/.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"]
    }
  }
}

設定項目:

項目説明既定値
default_languages既定で翻訳する言語["zh-CN", "ja"]
default_files既定で翻訳するファイル["SKILL.md"]
skills_configスキルごとの設定{}

実行手順

コマンド:/skill-i18n

現在のスキルディレクトリにあるファイルを翻訳します。

  1. 現在のディレクトリを検出

    # 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. 設定を読み込む

    # 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. 初回実行時の選択(設定がない場合)

    このスキルの設定が存在しない場合、TUI の選択画面を表示します。

    {
      "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 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. 翻訳を実行

    • 選択したファイルと言語の組み合わせごとに翻訳を生成します
    • 下記の「翻訳ルール」を参照してください
コマンド:/skill-i18n <skill-name>

指定したスキルのファイルを翻訳します。

  1. スキルの場所を検索

    # 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. 翻訳を実行(既定のコマンドと同じ)

コマンド:/skill-i18n config

既定の設定を構成します。

  1. 現在の設定を表示

    echo "Current configuration:"
    cat ~/.claude/skill-i18n-config.json | jq .
    
  2. 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. 設定ファイルを更新

コマンドラインフラグ

他のスキル(例:share-skill)との連携に使用します。

フラグ説明例
--lang <codes>カンマ区切りの言語コード--lang zh-CN,ja,ko
--files <names>カンマ区切りのファイル名--files SKILL.md,README.md
--skill <name>対象のスキル名--skill port-allocator
--no-promptTUI をスキップし、フラグまたは設定を直接使用します自動化されたワークフロー用
--overwrite既存の翻訳を上書きします確認をスキップ

優先順位:

  1. コマンドラインフラグ(最優先)
  2. skills_config 内のスキル固有の設定
  3. グローバル設定の default_languages と default_files
  4. 対話型 TUI の選択(設定が存在しない場合)

連携の例:

# share-skill calls skill-i18n internally
/skill-i18n --lang zh-CN,ja --files SKILL.md --skill port-allocator --no-prompt

翻訳ルール

変更せずに保持

次の要素は翻訳しないでください。

  • コードブロック(bash、json など)
  • ファイルパス(~/.claude/settings.json、~/Codes/skills/)
  • コマンド名(/port-allocator、/skill-i18n、git push)
  • 技術識別子(変数名、JSON キー)
  • URL とリンク
自然に翻訳
  • 対象言語に合わせて文の構造を調整します
  • 適切な敬語レベルを使用します:
    • 日本語:丁寧体(です・ます)
    • 中国語:標準的な書き言葉
    • 韓国語:丁寧体(합니다/습니다)
    • スペイン語:usted を使った敬体
  • 適切な場合は例をローカライズします
Frontmatter の扱い
---
name: port-allocator          # Keep unchanged (identifier)
description: Translate this   # Translate to target language
---
スタイルの調整

言語によって、視覚的なスタイルが異なる場合があります。

言語絵文字の使用例
中国語(zh-CN)よく使う✅ 正しい / ❌ 間違い
日本語(ja)最小限正しい / 間違い
韓国語(ko)適度✅ 올바름 / ❌ 잘못됨
スペイン語(es)最小限Correcto / Incorrecto

利用可能な場合は、プロジェクト内の既存の翻訳スタイルに従ってください。

出力形式

翻訳の成功
Translation complete

Skill: port-allocator
Source: SKILL.md

Generated:
  - SKILL.zh-CN.md (简体中文)
  - SKILL.ja.md (日本語)

Config saved for: port-allocator
Next run will auto-translate to: zh-CN, ja
既存ファイルの検出
Existing translations detected:
  - SKILL.zh-CN.md (modified 2 days ago)
  - SKILL.ja.md (modified 2 days ago)

Options:
  [ ] Overwrite all
  [ ] Skip existing
  [ ] Select individually
設定が保存されました
Configuration updated

Default languages: zh-CN, ja
Default files: SKILL.md

Skill-specific config:
  port-allocator: zh-CN, ja, ko (SKILL.md, README.md)
  share-skill: zh-CN, ja (SKILL.md)

share-skill との連携

skill-i18n は、ドキュメント生成のために share-skill と連携します。

# share-skill docs with i18n
/share-skill docs --i18n

# This internally calls:
/skill-i18n --lang <configured-langs> --files SKILL.md --no-prompt

share-skill が --i18n フラグを検出すると、次の処理を行います。

  1. skill-i18n が利用可能か確認します
  2. 言語設定を読み込みます
  3. skill-i18n を呼び出して翻訳を生成します
  4. 翻訳済みファイルをドキュメントサイトに含めます

注意事項

  1. ソースファイルの保護 - ソースの SKILL.md ファイルを上書きしないでください
  2. 初回実行時のプロンプト - 初回の翻訳では言語の選択が必要です
  3. スキルごとの設定 - スキルごとに異なる言語設定を使用できます
  4. 増分更新 - ソースファイルが翻訳より新しい場合にのみ翻訳します
  5. 連携しやすい設計 - コマンドラインフラグにより、ほかのスキルから skill-i18n を呼び出せます

コメント