jpskill.com
✍️ ライティング コミュニティ

translate-video

Translate video subtitles to any language with native-quality refinement. Full pipeline: transcribe → translate → refine → embed RTL-safe subtitles. Use for: translate video, תרגם סרטון, video translation, foreign subtitles, Hebrew subtitles, translated captions.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o translate-video.zip https://jpskill.com/download/23302.zip && unzip -o translate-video.zip && rm translate-video.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/23302.zip -OutFile "$d\translate-video.zip"; Expand-Archive "$d\translate-video.zip" -DestinationPath $d -Force; ri "$d\translate-video.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して translate-video.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → translate-video フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1
📖 Claude が読む原文 SKILL.md(中身を展開)

この本文は AI(Claude)が読むための原文(英語または中国語)です。日本語訳は順次追加中。

Translate Video

End-to-end video translation pipeline. Takes a video, transcribes it, translates to target language with native-speaker refinement, and burns subtitles onto the video.

Usage

/translate-video /path/to/video.mp4 he
/translate-video /path/to/video.mp4 ar
/translate-video /path/to/video.mp4 es

Arguments:

  • $1 - Path to video file (required)
  • $2 - Target language code (default: he). Codes: he, ar, es, fr, de, ru, zh, ja, etc.

Pipeline

Step 1: Transcribe (via /transcribe skill)

Extract audio if video is too large (>25MB audio), then transcribe:

# Extract audio if needed (reduces upload size)
ffmpeg -i "$VIDEO" -vn -acodec libmp3lame -ab 128k "$AUDIO_PATH" -y

# Transcribe using the transcribe skill's script
cd ~/.claude/skills/transcribe/scripts && [ -d node_modules ] || npm install --silent
npx ts-node transcribe.ts -i "$INPUT" -o "$SRT_PATH"

This generates:

  • {basename}.srt - Raw SRT file
  • {basename}.md - Readable text

Step 2: Translate

Read the .md file to understand full context, then translate the .srt file.

Translation rules:

  • Translate ALL subtitle text entries, preserving SRT index numbers and timestamps exactly
  • Do NOT translate proper nouns (product names, people's names, brand names)
  • Keep technical terms that are commonly used untranslated in the target language (API, CLI, SaaS, etc.)
  • Adapt idioms and expressions to natural equivalents in the target language
  • Match the speaker's register (casual/formal) in the translation

Step 3: Semantic Refinement

The raw transcription chunks by time, not meaning. Regroup for the target language:

  1. Read all translated text as continuous prose
  2. Identify natural sentence/clause boundaries in the target language
  3. Regroup words into semantically coherent subtitle entries (max 2 lines per entry, ~40 chars per line)
  4. Adjust timestamps: each entry starts at first word's original time, ends at last word's time
  5. Merge fragmented entries - aim for 150-250 entries for a ~15min video (vs 500-600 raw)
  6. Native speaker test - read each subtitle aloud. If it sounds awkward, rephrase

Quality checklist:

  • [ ] No sentence split mid-clause
  • [ ] No orphaned words (single word carrying over from previous thought)
  • [ ] Punctuation at natural break points
  • [ ] Reading pace is comfortable (not too much text per subtitle)
  • [ ] Sounds like a native speaker wrote it, not a translation

Step 4: Embed Subtitles (via /embed-subtitles skill)

RTL is handled automatically by the embed-subtitles skill - it detects RTL content and applies Unicode directional marks before embedding. No need to handle RTL here.

Burn the translated SRT onto the video:

cd ~/.claude/skills/embed-subtitles/scripts
npx ts-node embed-subtitles.ts \
  -i "$VIDEO" \
  -s "$TRANSLATED_SRT" \
  -o "$OUTPUT" \
  --font-size 24 --margin 30

Or directly with FFmpeg:

ffmpeg -i "$VIDEO" \
  -vf "subtitles='$TRANSLATED_SRT':force_style='FontName=Arial,FontSize=24,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,Outline=2,Shadow=1,Alignment=2,MarginV=30'" \
  -c:v libx264 -preset fast -crf 23 -c:a copy \
  "$OUTPUT" -y

Step 5: Open Result

open "$OUTPUT"  # macOS

Output Files

All files saved next to the original video:

File Description
{name}.srt Original language SRT
{name}.md Original readable transcript
{name}_{lang}.srt Translated + refined SRT (with RTL marks if applicable)
{name}_{lang}_subtitled.mp4 Final video with burned-in subtitles

Language Codes

Code Language RTL?
he Hebrew Yes
ar Arabic Yes
fa Farsi Yes
en English No
es Spanish No
fr French No
de German No
ru Russian No
zh Chinese No
ja Japanese No
pt Portuguese No
it Italian No

Examples

Hebrew translation (most common use):

/translate-video ~/Desktop/tutorial.mp4 he

Produces: tutorial_he.srt + tutorial_he_subtitled.mp4

Spanish translation:

/translate-video ~/Desktop/talk.mp4 es

Default (Hebrew):

/translate-video ~/Desktop/video.mp4