SRT・VTT字幕ファイルの翻訳方法(タイムコードを維持する)
字幕を翻訳するには、字幕ファイル(SRTまたはVTT)そのものを、テキスト行だけを変更し、番号とタイムコードは一切そのままにするツールで翻訳します。その後、新しいファイルで動画を再生し、長すぎて時間内に読み切れない字幕がいくつかないか確認します。ファイル全体を汎用の翻訳ツールに貼り付けると、タイムコードが壊れたり、字幕の同期がずれたりする典型的な失敗につながります。
このガイドでは、字幕ファイルの仕組み、起こりうる問題、そのままアップロードできる翻訳済みファイルの作り方を説明します。
SRTファイルの仕組み
SRTファイルはプレーンテキストです。各字幕(「キュー」)は、3つの部分で構成されます。
12
00:01:04,250 --> 00:01:07,100
I didn't think you'd come.
Neither did I.
- カウンター(12)
- タイムコード:字幕が表示されて消えるタイミングを、ミリ秒単位で指定します
- 1行以上のテキスト行
空行が、あるキューと次のキューを区切ります。翻訳するのはテキスト行だけです。翻訳ツールがカウンターを変更したり、矢印を書き換えたり、タイムコードのカンマをピリオドに変えたり、2つのキューを結合したりすると、多くの動画プレーヤーやアップロードページでファイルが受け付けられなかったり、字幕が違うタイミングで表示されたりします。
Webでよく使われるVTT(WebVTT)ファイルも、見た目はよく似ています。先頭に WEBVTT ヘッダーがあり、ミリ秒の前にはピリオドを使います。タイムコードの後ろに位置や配置などの設定が付いたり、斜体を表す <i> のような簡単なタグが含まれたりすることもあります。これらの部分も、そのまま残す必要があります。
汎用の翻訳ツールで字幕ファイルが壊れる理由
- タイムコードをテキストとして扱います。 数字を「ローカライズ」したり、区切り文字を変えたり、矢印の行を文章のように翻訳したりするツールがあります。
- 行を結合したり分割したりします。 テキスト全体を処理する翻訳ツールは、キューをつなげて段落にしてしまうことがあり、その結果、タイムコードより字幕の数が少なくなります。
- 空行がなくなります。 空行は、プレーヤーにキューの終わりを伝える役割をしています。
- 各キューを単独で見ます。 2つのキューにまたがる文(「I didn't think」/「you'd come」)は、前半と後半を別々に翻訳すると、意味の通らない文になることがあります。
字幕に対応した翻訳ツールなら、この4つの問題をすべて避けられます。キューを読み取り、前後の行を文脈としてテキストを翻訳し、同じ構造でファイルに書き戻します。DropTranslateの字幕翻訳もこの方法で動作します。すべてのカウンターとタイムコードをそのまま保ち、翻訳した各字幕を元と同じ行数に改行したうえで、SRTまたはVTTファイルとして返します。
翻訳前の準備
- 最終版の同期済みファイルから始めます。先に元のファイルでタイミングの問題を直してください。翻訳では、早く表示される字幕は直りません。
- UTF-8で保存します。 古いSRTファイルは、レガシーな文字コードで保存されていることがあり、アクセント付きの文字が妙な記号に化けます。多くの字幕エディターで、UTF-8に保存し直せます。
- 翻訳したくない部分は取り除きます。たとえば、スタイルを変える予定の話者ラベルや、編集者向けのメモです。
- そのまま残したい名前や用語を控えておきます。 登場人物名、製品名、地名などです。
翻訳後:行の長さと読む速さを確認する
翻訳は元より長くなることが多く、字幕はタイムコードで決まった時間しか画面に出ません。プロの字幕制作者は、次の3つの上限を基準にしています。
- 字幕あたりの行数: ほとんどのスタイルガイドでは、最大2行までです。
- 1行あたりの文字数: 行の長さの上限です。文字が映像にかぶったり、小さな画面で見切れたりしないようにするためです。
- 読む速さ: 視聴者が無理なく読める1秒あたりの文字数です。1秒しか表示されない長い字幕は、画面に収まっていても読めません。
具体的な数値は、プラットフォームや放送局、視聴者層によって異なります(たとえば、子ども向けコンテンツでは通常、より遅めに設定されます)。スタイルガイドがあるプラットフォームに納品する場合は、その数値を使ってください。
翻訳したファイルは、次の手順で確認します。
- 新しい字幕を付けた動画を通常の速度で再生し、最後まで読み切れない字幕がないか確認します。
- 詰め込まず、短くします。 良い字幕は内容を凝縮します。「I didn't think you'd come」は、意味を損なわずに「I didn't expect you」と短くできます。ネイティブスピーカーなら、すばやく対応できます。
- 改行位置を確認します。 自然な位置で改行してください(たとえば、冠詞と名詞の間は避けます)。
- 名前、数字、画面上のテキスト(看板や、映像に焼き込まれたキャプションなど)が、視聴者が目にするものと一致しているか確認します。
エディターで1秒あたりの文字数が表示される場合は、その値で並べ替え、速い字幕から順に直してください。
焼き込み字幕は別の作業になります
字幕が映像の一部になっている場合(「焼き付け字幕」または「ハードコード字幕」)は、翻訳できる字幕ファイルがありません。まず文字起こしから字幕を作り直し、そのファイルを翻訳する必要があります。直接翻訳できるのは、動画に付属している字幕ファイル、またはエディターからダウンロードやエクスポートできる字幕ファイルです。
よくある質問
翻訳後もタイミングは変わりませんか?
字幕に対応した翻訳ツールなら、変わりません。タイムコードはそのままコピーされ、変わるのはテキストだけです。翻訳した字幕が長すぎて表示時間内に読めない場合は、タイミングを変えるのではなく、テキストを短くしてください。字幕エディターでのタイミング調整に慣れている場合は、その限りではありません。
異なる文字を使う言語にも字幕を翻訳できますか?
はい。ファイルがUTF-8で保存されていること、そして動画プレーヤーやプラットフォームがその文字に対応していることを確認してください。アラビア語やヘブライ語のような右から左に書く言語では、行末の句読点を確認してください。プレーヤーによっては、反対側に表示されることがあります。
機械翻訳した字幕ファイルは、そのまま公開できる品質ですか?
社内向け動画、SNSのクリップ、最初の下書きなら、出発点として十分なことが多いです。映画、有料講座、放送用の場合は、ネイティブスピーカーに確認してもらってください。字幕は短く、文脈への依存が大きいため、トーンや慣用表現が重要です。簡単なチェック方法については、機械翻訳で十分?をご覧ください。
SRTとVTTのどちらを翻訳すればよいですか?
プラットフォームが求める形式のほうです。テキストとタイミングは同等で、VTTには位置指定やスタイル設定などのオプションが加わります。後から変換しなくて済むように、アップロードする形式のまま翻訳してください。
まとめ
コピーしたテキストではなく、字幕ファイルそのものを翻訳しましょう。タイムコードと構造はそのまま保ち、UTF-8で保存します。そのうえで、新しいファイルで動画を一度見て、速く流れすぎる字幕を短くしてください。ほかのファイル形式については、ドキュメントを翻訳する方法をご覧ください。
SRTまたはVTTファイルをDropTranslateにドロップすると、同じタイムコードを保った翻訳ファイルが返ってきます。