mcpField
W
wjs-translating-subtitles

wjs-translating-subtitles

github.com/jianshuoクリエイティブ・メディア137218 回インストール今日更新
リポジトリ

wjs-translating-subtitles について

字幕や文字起こしを翻訳し、対象言語または二言語の SRT を作成するテキスト専用スキルです。自然で簡潔な訳文と、句読点に沿った字幕の再分割を重視します。

主な機能

  1. 01SRT と文字起こしの翻訳
  2. 02単言語・二言語出力
  3. 03句読点に沿った字幕の再分割
  4. 04字幕のタイミングと形式の確認
  5. 05言語別の行長ガイド

活用シーン

  1. 01既存の SRT を別の言語に翻訳
  2. 02文字起こしからタイムスタンプ付き SRT を作成
  3. 03文の途中で切れた字幕を修正

インストール

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

$npx skills add https://github.com/jianshuo/claude-skills --skill wjs-translating-subtitles

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

詳細

wjs-translating-subtitles

入力:原言語の SRT → 出力:翻訳先言語(または二言語)の SRT。このスキルはテキストのみを扱います。 焼き込みは /wjs-burning-subtitles、吹き替え音声は /wjs-dubbing-video で行います。

使用する場合

  • ユーザーが言語 A の SRT を持っており、言語 B への翻訳を希望している場合。
  • ユーザーがタイムスタンプの有無を問わず文字起こしを貼り付け、それを SRT 形式にしたい場合。
  • ユーザーが SRT を持っているものの、字幕キューが文の途中で終わっている場合。このスキルの再分割手順で修正できます。

使用しない場合

  • 原言語の SRT がまだない場合 → まず /wjs-transcribing-audio を実行します。
  • ユーザーが字幕の焼き込みを希望する場合 → ここで翻訳を完了してから、/wjs-burning-subtitles を実行します。
  • ユーザーが吹き替え音声を希望する場合 → ここで翻訳を完了してから、/wjs-dubbing-video を実行します。

翻訳先を選ぶ

ユーザーの表現から翻訳先を一度判断し、再確認しないでください。

  • 「翻成中文 / 中文字幕 / 中文配音」 → zh-CN。
  • 「translate to English / English subs / English dub」 → en。
  • 「bilingual」 / 「双语」 → .<source>.srt と .<target>.srt の両方を作成します(任意で結合版 .<source>-<target>.srt も作成できます)。
  • 曖昧な場合 → プロジェクトでユーザーが過去に選んだ翻訳先を既定とします。

簡体字中国語と英語は十分に検証されています。その他の翻訳先(日本語、韓国語、フランス語など)も同じルールで対応できます。後続の吹き替えでボトルネックとなるのは TTS 音声の利用可否です。約束する前に /wjs-dubbing-video を確認してください。

共通の翻訳原則

  • 逐語訳より意味を優先します。
  • 字幕らしい簡潔な表現にします。視聴者が読める速さは、中国語で毎秒約 3 語、英語で毎秒約 3~4 語です。これを超える長さの行は、読み終える前に画面から消えてしまいます。
  • 話者の口調を保ちます。原文がくだけた表現なら翻訳もくだけた表現に、原文が改まった表現なら翻訳も改まった表現にします。
  • 人名、ブランド名、文化的な言及、専門用語を過剰に翻訳しないでください。
  • 数字、日付、人名、場所を正確に保ちます。
  • ぴったり当てはまる表現がない場合は、意味が自然に伝わるように翻訳します。逐語訳や一語一句の置き換えは避けてください。
  • 硬く機械翻訳のような表現は避けます。

簡体字中国語への翻訳(zh-CN)

  • くだけた会話には自然な口語の標準中国語を、改まった会話には改まった標準中国語を使います。
  • 簡体字のみを使います(ユーザーが明示的に求めない限り、繁体字は使わないでください)。
  • 字幕の各行はおおむね 15 文字以内、各キューは最大 2 行とします(非常に長いキューで避けられない場合に限り 3 行)。
  • 中国語の句読点「,」「。」「;」「:」「、」「——」を使います。中国語字幕に英語のカンマやピリオドを混在させないでください。
  • 指示語「这」「那」「这个」「那个」「那份」「那种」「那里」「那样」は最小限にします。 スペイン語から中国語(および英語から中国語)への機械翻訳では、原文に明示的な指示語があるため、中国語では通常省略される指示語が頻繁に挿入されます。例:
    • 「这把我们带入二元世界的载体」 → 「把我们带入二元的载体」
    • 「运用那份能量」 → 必要なら「运用这股能量」、または単に「运用能量」
    • 「正是在这合一里」 → 「正是在合一中」
    • 「像罪人那样翻滚」 → 「像罪人翻滚」 / 「像罪人般翻滚」
    • 「那份精微的觉知」 → 「精微的觉知」 実際の意味を持つ場合(指示、対比、または精神的な意味での「我就是那」 / 「tat tvam asi」のような定型表現)に限って残してください。原則として削除し、文の意味が曖昧になる場合にのみ戻します。

例(スペイン語 → 中国語):

Spanish: No pasa nada.            → Chinese: 没关系。
Spanish: Vamos a ver qué pasa.    → Chinese: 我们看看会发生什么。
Spanish: Me parece una locura.    → Chinese: 我觉得这太疯狂了。
Spanish: ¿Qué quieres decir?      → Chinese: 你是什么意思?
Spanish: La verdad es que no lo esperaba.
                                  → Chinese: 说实话,我没想到会这样。

英語への翻訳(en)

  • 自然な会話調の英語を使います。翻訳調の表現は避けてください(「It is precisely through entering the body…」 → 「It's by entering the body…」)。
  • 各行はおおむね 40~42 文字以内(約 7~9 語)、各キューは最大 2 行とします。1 行あたり 50 文字を上限とします。
  • ASCII の句読点 , . ; : —(em ダッシュ)を使います。.srt の互換性を保つため、Unicode の曲線引用符は避けてください。
  • 内省的・精神的な内容では、ラテン語由来の難しい表現より平易な言葉を優先します。「manifestation」より「presence」、「totality」より「wholeness」、「awaken to consciousness」より「wake up」を使います。

例(スペイン語 → 英語):

Spanish: No pasa nada.            → English: It's nothing.
Spanish: Vamos a ver qué pasa.    → English: Let's see what happens.
Spanish: Me parece una locura.    → English: This feels crazy to me.
Spanish: ¿Qué quieres decir?      → English: What do you mean?
Spanish: La verdad es que no lo esperaba.
                                  → English: Honestly, I wasn't expecting this.

句読点の位置で再分割する(必須)

Whisper は文法ではなく、沈黙や息継ぎに基づいてセグメントを分割します。そのため、ほとんどの場合、手がかりとなる字幕が文の途中で終わります(例:「...es una forma de aterrizar,」の次の字幕が「el espíritu en el cuerpo...」で始まる)。字幕ごとに処理する TTS では、元の話者が間を置いていない場所に不自然なポーズが入ってしまいます。吹き替えの前に必ず修正してください。画面上での読みやすさも向上します。

句読点の種類は言語によって異なります。

  • 中国語の字幕は , 。 ; : —— または 、 で終わる必要があります。
  • 英語の字幕は , . ; : —(エムダッシュ)で終わる必要があります。字幕では、実際には単一のダッシュを使う場合もあります。カンマのない節の切れ目で英語の字幕を終えてはいけません。また、「kind of」や「in order to」のような句の途中で分割してはいけません。

ルール:

  • すべての字幕は実際の句読点で終わる必要があります。 次の字幕へ続く名詞、動詞、接続詞、冠詞で字幕を終えてはいけません。
  • 1つの元の字幕を、文字位置に応じて元の字幕の表示時間内でタイムスタンプを割り振り、2〜4個の短い字幕に分割してもかまいません。多くの場合、分割が必要です。
  • 1つの節を構成する場合は、元の字幕の末尾と次の字幕の冒頭を結合してもかまいません。結合した字幕の開始時刻は最初の字幕から、終了時刻は2つ目の字幕から引き継ぎます。
  • 1字幕あたり3〜8秒を目標にしてください。約1.5秒未満の字幕は画面上で細切れに感じられ、通常10秒を超える字幕には見落とした句読点の区切りが含まれています。

2〜3分のトークでは、元の字幕が12〜18個でも、句読点で区切られた字幕は通常25〜40個になります。元の字幕数を維持しようとしないでください。

TTS による吹き替えを行う場合、句読点で区切られた構成にすることで、各 TTS クリップが適切な文末イントネーションを伴う完結した発話になります。また、各クリップのつなぎ目が自然なポーズの位置にくるため、クリップを連結したときも自然に聞こえます。

SRT の出力ルール

1
00:00:01,200 --> 00:00:04,800
中文字幕内容

2
00:00:04,800 --> 00:00:08,500
中文字幕内容
  • 字幕番号は 1 から始め、連番にしてください。
  • タイムスタンプの形式:HH:MM:SS,mmm。ミリ秒の区切りにはカンマを使い、ピリオドは使わないでください。
  • タイムスタンプを重複させないでください。
  • 調整が必要な場合を除き、元のタイミングを維持してください。
  • 各字幕は通常1〜2行にしてください。
  • 1つの字幕が長すぎる場合は、タイミングが許す範囲で短い字幕に分割してください。
  • 字幕ファイルに解説を追加しないでください。

バイリンガル出力

ユーザーがバイリンガルを求めた場合は、1行目に原文、2行目に訳文を記載します。

1
00:00:01,200 --> 00:00:04,800
No pasa nada.
没关系。

ルール:

  • 原文を先に、訳文を後に記載してください。
  • タイミングを維持してください。
  • 求められていない限り、余分な説明を加えないでください。
  • 両方の行を読みやすい長さにしてください。

出力形式

ユーザーの依頼に応じて、以下のうち1つ以上を提供してください。

  1. 訳文のみの .srt
  2. バイリンガル .srt(原文+訳文)
  3. タイムスタンプなしの訳文トランスクリプト
  4. 原文と訳文の対照表

「この SRT を翻訳して」のように他の指定がない場合のデフォルト出力は、**訳文のみの .srt**です。必要に応じて、短い不確実性に関する注記も付けてください。

ファイル名

input.srt                          # source (e.g., from /wjs-transcribing-audio)

translated outputs:
  input.zh-CN.srt                  # Simplified Chinese only
  input.en.srt                     # English only
  input.es-zh.srt                  # Spanish + Chinese bilingual
  input.es-en.srt                  # Spanish + English bilingual
  input.es-zh-en.srt               # three-language

BCP-47 形式のサフィックスを付けると、対象言語がひと目で分かり、複数の対象言語の出力を並べて管理しやすくなります。

不明瞭な音声を示すマーカーの処理

原文の SRT に [inaudible] または [unclear] が含まれている場合:

  • 前後の文脈を自然に翻訳してください。
  • 対象言語の SRT でも角括弧付きのマーカーを維持してください(内容を推測して補わないでください)。
  • [unclear] の箇所によって対象言語の字幕が文法的に不自然になる場合は、角括弧付きのまま残し、回答に注記を追加してください(SRT ファイルには記載しないでください)。

受け渡し前の品質確認

  • 字幕番号が連番になっている
  • タイムスタンプが有効な形式(HH:MM:SS,mmm)で、重複していない
  • ミリ秒の区切りにカンマを使っている
  • 翻訳が自然で、話者のトーンが保たれている
  • 行の長さがプラットフォームおよび字幕の上限内に収まっている
  • 固有名詞が正確である
  • どの字幕も節や句の途中で終わっていない
  • 内容を創作していない

後続処理

  • /wjs-burning-subtitles — この SRT を動画に焼き込むか、切り替え可能なトラックとしてソフト多重化します。
  • /wjs-dubbing-video — この SRT から、元のタイミングに合わせて TTS 音声吹き替えを生成します。
  • 二言語で再生する場合:ほとんどのプラットフォームでは複数の字幕トラックをソフト多重化できますが、二言語を同時に画面に表示する必要がある場合は、*.source-target.srt を /wjs-burning-subtitles で直接焼き込んでください。

よくある落とし穴

  • 翻訳後、文の途中で字幕が終わってしまう。 元の無音区間に合わせた字幕キューは安全な区切りではありません。必ず句読点に合わせて再分割してください。
  • 中国語の出力に余計な指示詞が入る。 元文に eso/that があると、機械翻訳が「这」/「那」を挿入します。積極的に削除してください。
  • ピリオド区切りのミリ秒。 Whisper のローカル出力では .mmm が使われますが、SRT の仕様では ,mmm です。必ず正規化してください。
  • 固有名詞を翻訳してしまう。 ブランド名、地名、専門用語はそのままにするか、対象言語で一般的な表記を使ってください(例:「OpenAI」はそのまま、「New York」→「纽约」)。
  • 字幕キューの上限に合わせて短くしすぎる。 1行が実際に上限を超える場合は、意味を削って上限に収めるのではなく、タイムスタンプを補間して2つのキューに分割してください。
  • 吹き替えを依頼されていない場合に、再分割を忘れる。 句読点に合わせて区切った SRT は、読む場合にも適しています。自然な間で改行すると、視聴者が内容を追いやすくなります。焼き込みのみの場合でも、必ず再分割してください。

コメント