YouTubeの字幕を翻訳する方法:タイミングを崩さずにダウンロード、翻訳、再アップロードする
クリエイター向けのYouTube Studioワークフロー:元のキャプションを修正し、ファイルをダウンロードし、タイムスタンプを維持したまま翻訳し、キュー(字幕表示単位)のタイミングを確認して、各言語をタイミング付きでアップロードします。

簡単な答え:動画ではなくファイルを翻訳する
チャンネルを所有している場合、翻訳字幕を追加する確実な方法は、YouTube Studioを経由したファイルの往復作業です:
- まず元の言語のキャプションを修正します。
- YouTube Studioの字幕からそのトラックをダウンロードします。
- タイミング付きファイルを翻訳し、各キューが元の開始時刻と終了時刻を維持するようにします。
- アップロードする前に、翻訳されたファイルを元のファイルと照合して確認します。
- Studioで対象言語を追加し、ファイルをタイミング付きでアップロードします。
ほとんどのガイドはステップ3を作業全体として扱っています。しかし実際には、その前後の2つのステップが、新しい言語の視聴者が使える字幕を手にするかどうかを左右します。乱れた元トラックはすべての言語にコピーされ、未確認の翻訳は1つのキューが統合された後に同期がずれる可能性があります。
このガイドは、あなたが管理するチャンネルの動画のみを対象としています。他の人のチャンネルから字幕や動画をダウンロードする方法は扱いません。
YouTubeが受け付ける形式と、それが翻訳に与える影響
YouTubeのサポートされているファイル形式のページには、SubRip(.srt)やSubViewer(.sbv/.sub)などの基本形式、WebVTT(.vtt)やTTMLなどの高度な形式、およびいくつかの放送用形式が記載されています。翻訳トラックにとって重要な詳細は次のとおりです:
| 形式 | YouTubeが保持するとしているもの | 使用する場合 |
|---|---|---|
SRT(.srt) | 「スタイル情報(マークアップ)は認識されません。」ファイルはプレーンなUTF-8である必要があります。 | 翻訳ツールや字幕エディタにとって最も移植性の高いファイルが必要な場合。 |
SBV(.sbv) | SRTと同じ:スタイリングなし、プレーンなUTF-8が必要。 | すでにStudioから取得している場合。SBVを読み取れないツールを使用する前にSRTに変換してください。 |
WebVTT(.vtt) | 位置指定はサポートされています。スタイリングは太字、斜体、下線タグに限定されます。 | ソーストラックで位置指定を使用している場合(例:画面上のテキストから字幕を離すなど)。 |
| TTML / DFXP | スタイルと位置指定がサポートされています。 | スタイル付きのプロフェッショナルな字幕ファイルがあり、そのスタイルを維持する必要がある場合。 |
実践的なルール:ツールが変換を強制しない限り、アップロードするのと同じ形式で翻訳してください。字幕に位置指定やスタイルがない場合は、SRTが最も安全な選択です。ある場合は、位置指定が各キューに紐づいたままになるようVTTを維持してください。
ステップ1:誰かが翻訳する前にソーストラックを修正する
YouTubeは音声認識で自動字幕を作成できますが、それは動画のデフォルト言語のみです。自動字幕は下書きです。人名、製品名、数字、同音異義語がよくある誤りで、それぞれがそのトラックから作成されるすべての翻訳にコピーされます。
翻訳する前に、ソース言語で一度これらの誤りを修正してください:
- Studioで自動トラックを開き、複製して編集を選択します。YouTubeの編集ガイドでは、自動字幕を編集すると修正内容を含む新しい字幕トラックが作成されると説明されています。
- 固有名詞、専門用語、数字を修正します。これらは翻訳者が文脈から確実に推測できない単語です。
- 2つの別々のアイデアを含むキューを分割します。節の途中で終わるキューは、言語によっては翻訳が難しくなります。動詞や否定が文の反対側に属する可能性があるためです。
- 修正したトラックを公開し、そのバージョンをダウンロードします。
3つのターゲット言語を計画している場合、ソースで一度修正すれば、翻訳での3つの個別の修正を節約できます。
ステップ2:YouTube Studioから字幕ファイルをダウンロードする
YouTube Studioから字幕を開き、動画を選択し、修正した言語トラックを見つけます。YouTubeの編集ガイドでは、オプションをクリックして字幕をダウンロードを選択するよう指示されています。
ヘルプページにはダウンロードで提供される形式が記載されておらず、Studioのメニューは変更される可能性があります。翻訳ツールが受け入れる形式を使用してください。.sbvしか取得できない場合は、翻訳する前にSRTに変換してください。2つの形式は同じタイミングとテキストを異なるレイアウトで保存します:
SBV
0:00:07.600,0:00:11.800
If the glue is old, a little heat
softens it in about thirty seconds.
SRT
3
00:00:07,600 --> 00:00:11,800
If the glue is old, a little heat
softens it in about thirty seconds.
SBVにはキューナンバーがなく、開始時間と終了時間をカンマで区切ります。SRTは各キューに番号を付け、-->を使用し、カンマの後にミリ秒を書きます。コンバーターはそれらの部分を書き換えるだけでよいため、テキストとタイミングは変更されないはずです。
ステップ3:タイムスタンプに触れずに翻訳する
翻訳されたファイルは、同じ数のキューと同じ各キューの開始・終了時間を維持する必要があります。YouTubeは各テキスト行をタイムスタンプで配置します。キューが削除または結合されると、それ以降のキューは話者が話している内容と一致しなくなります。
翻訳者がタイミングを変更したくなる2つの理由があり、どちらも慎重に扱う必要があります:
- テキストの膨張。 スペイン語、ドイツ語、フランス語の行は、置き換える英語の行より長くなることがよくありますが、時間枠は同じです。キューを広げる前に文言を短くしてください。
- 語順。 1つの文が2つのキューに分割されている場合、翻訳者は文法が自然に読めるようにそれらを結合したくなるかもしれません。各キューが単独でも意味が通るように言い換えてください。
BookTranslatorの字幕翻訳ツールはSRT、VTT、ASS、SSAファイルを受け入れ、各キューのタイムスタンプを翻訳されたテキストに紐づけたままにするので、チャットウィンドウにテキストをコピーしたり戻したりする必要はありません。SBVは読み取れないため、先に変換してください。ターゲット言語ごとに1つの翻訳タスクを作成します。AI字幕翻訳が間違えやすい点の概要については、AI字幕翻訳ワークフローをご覧ください。
どのツールを使用するにしても、ソースファイルを翻訳の隣に保管してください。次のステップには両方が必要です。
ステップ4:翻訳をソースと照合する
アップロードする前に、翻訳ファイルをソースファイルとキューごとに比較します。このために小さなスクリプトを書きました:check_youtube_subtitles.py。Python標準ライブラリのみを使用し、SRT、VTT、SBVを読み取り、次の2つの処理を行います:
python3 check_youtube_subtitles.py convert captions.sbv captions.srt
python3 check_youtube_subtitles.py check captions.srt captions.es.srt
checkコマンドは以下を報告します:
- 変更されたキューの数。
- 開始時刻または終了時刻がソースと異なるキュー。
- 空のキュー、開始より前に終了するキュー、および重複するキュー。
- 42文字を超える行、および1秒あたり20文字より速いキュー。
- 有効なUTF-8でないファイル(YouTubeはSRTとSBVにUTF-8を要求します)。
行の長さと読書速度のデフォルト値は、Netflixの英語(米国)タイムドテキストスタイルガイドにある成人向け番組の制限に基づいています。YouTubeは同等の制限を公開していないため、これらを出発点として扱い、言語に合わせて--max-lineと--max-cpsで変更してください。Netflixは他の言語のスタイルガイドも公開しています。
実例
チェッカーが何を検出するかを示すために、ペーパーバックの再製本に関する6キューの英語サンプルを作成し、手作業で2つのスペイン語版を書きました。ファイルは公開されているので、自分でチェックを実行できます:
- sample-source.sbvはStudioがエクスポートする可能性のある英語トラック、sample-source.srtは
convert後の同じトラックです。 - sample-translated-es.srtは6つのキューをすべて保持した翻訳です。
- sample-translated-es-with-errors.srtは3つのよくある間違いを含む翻訳です。
クリーンな翻訳は「問題は見つかりませんでした」で合格します。2番目のバージョンはこの出力を生成します:
Source cues: 6 Translated cues: 5
Cue count changed: source 6, translation 5
Cue 3: timing changed 00:00:07,600-00:00:11,800 -> 00:00:07,600-00:00:13,400
Cue 4: timing changed 00:00:12,000-00:00:13,400 -> 00:00:13,600-00:00:17,000
Cue 5: timing changed 00:00:13,600-00:00:17,000 -> 00:00:17,200-00:00:20,600
Cue 1: 20.2 characters/second (limit 20)
Cue 1: line has 46 characters (limit 42)
Cue 3: line has 45 characters (limit 42)
各ケースで何が起こったかは次のとおりです:
-
マージ。 翻訳者は「If the glue is old...」を短い「Don't rush this part.」と結合しました。マージされたキューは13.4秒で終了し、以降のすべてのキューが1つずつずれています。最初のタイミングエラーを読んでください:それがマージを指しています。その後のエラーはそのマージの結果なので、最初のものを修正して再度チェックを実行してください。
-
編集された終了時刻。 これは最初の実行では隠れています。マージ後、チェッカーが誤ったキューのペアを比較するためです。マージされたキューを2つに戻して再度チェックを実行してください。最初の実行からの行の長さと読書速度の警告はまだ表示され、新しいタイミングエラーが1つ現れます:
Source cues: 6 Translated cues: 6 Cue 6: timing changed 00:00:17,200-00:00:20,000 -> 00:00:17,200-00:00:20,600最後のキューは20.0秒から20.6秒に延長されました。これは小さな変更で、ファイル内では気づかないでしょうが、話者が止まった後も字幕が画面に残ります。
-
拡張。 「Hoy vamos a reencuadernar un libro de bolsillo」は忠実な翻訳ですが、46文字では1行に長すぎ、キューは読むには速すぎます。クリーンなバージョンでは「Hoy reencuadernamos un libro de bolsillo」を使用し、すべての詳細を40文字で保持しています。
スクリプトは翻訳の品質を判断しません。トラックはすべてのチェックに合格しても、用語を誤訳することがあります。テキストを読むだけでは見逃しやすい構造的な問題を検出します。
ステップ5:タイミング付きで各言語をアップロードする
YouTubeのアップロードガイドに手順が説明されています:YouTube Studioで字幕を開き、動画を選択し、言語を追加してから、字幕の下の追加をクリックし、ファイルをアップロードすることを選択し、ファイルを選択する前にタイミングありまたはタイミングなしを選びます。
翻訳されたSRTまたはVTTにはタイミングありを選択してください。ファイルにはすでに確認済みのタイムスタンプが含まれています。
翻訳にはタイミングなしや自動同期を使わないでください。自動同期はプレーンな文字起こしを音声に合わせてタイミング調整するものであり、YouTubeは文字起こしが「動画で話されている言語と同じ言語であること」を必須としています。英語動画に対するスペイン語の文字起こしはこの要件を満たしません。自動同期はソース言語には有効ですが、翻訳トラックには向きません。
公開前にあと2点確認してください:
- 言語ラベル。 トラックは正しいターゲット言語の下に追加してください。スペイン語のファイルをポルトガル語としてアップロードすると、ポルトガル語を選択した視聴者に表示されてしまいます。
- タイトルと説明。 翻訳字幕はタイトルや説明を翻訳しません。YouTubeではこれらをStudioの同じ「字幕」セクション内でタイトルと説明の翻訳として別途処理します。詳しくは自分の動画のタイトルと説明を翻訳するをご覧ください。
ステップ6:公開したトラックを視聴する
プレーヤーで新しい言語を選択し、動画の冒頭、会話の速いセクション、そして最後の1分を視聴してください。これらの確認で、ファイルチェックでは見つけられない問題を発見できます:
- 画面上のテキストやローワーサードが字幕に隠れている。
- タイミングは技術的には合っているが、オチや重要用語を分断しているキュー。
- ソースがUTF-8で保存されていないために文字化けして四角で表示される文字(字幕の文字化けを修正する方法参照)。
- 正しく読めるものの、通常の速度では読み切れないほど情報量が多いターゲット言語の行。
字幕エディター、レビュープラットフォーム、または別の翻訳ツールが必要な場合は、字幕翻訳ソフト比較で、各タイプのツールに追加のセットアップをかける価値がある場面を解説しています。
アップロード前チェックリスト
ターゲット言語ごとにこのリストを使用してください:
- ソーストラックを翻訳前に修正し、公開済みである
- ダウンロードしたファイルがUTF-8であり、翻訳ツールが受け入れる形式である(必要に応じてSBVをSRTに変換)
- 翻訳ファイルのキュー数がソースと同じである
- すべての開始時刻と終了時刻がソースと一致している
- 制限文字数を超える行がなく、読み速度の制限を超えるキューがない
- トラックを正しい言語の下にタイミングありでアップロード済みである
- 必要に応じてタイトルと説明を別途翻訳済みである
- プレーヤーで冒頭、速いセクション、最後を視聴済みである
順序が重要です。各ステップは次のステップの前に修正する方が簡単です。ソースで名前を修正すれば1回の編集で済みますが、公開後に同じ誤りを見つけると言語ごとに1回の編集が必要になります。




