書譯
書譯

如何在不變更時間戳的情況下翻譯 SRT 檔案

在鎖定字幕序號與時間碼的同時翻譯字幕文字,並在交付前驗證順序、編碼與播放效果。

BookTranslator

BookTranslator Team

13 min read

快速答案:翻譯字幕文字,鎖定 ID 與時間碼

SRT 檔案是定時資料檔,不是附帶裝飾性時間戳的逐字稿。只翻譯字幕文字。保留每一個字幕序號、時間戳、空白分隔行,以及受支援的格式標籤原樣不動,然後在觀看影片之前,比對來源與目標的字幕結構。

若要採用能理解檔案結構的工作流程,請將原始檔上傳到 SRT Translator,而不是把字幕內容複製到沒有結構的文字方塊中。能辨識檔案結構可降低結構損壞風險,但你仍然應該對照原始檔與影片驗證輸出結果。

這裡有一條不那麼直觀但很關鍵的規則:保留時間碼是必要條件,但不是充分條件。目標字幕即使完全保留原始時間戳,仍然可能失敗,因為譯文句子太長而無法閱讀、斷句落在錯誤的語意片段,或提到了尚未出現的說話者。

SRT 檔案的結構

一個典型字幕區塊包含四個部分:

17
00:00:41,500 --> 00:00:44,200
<i>MAYA:</i> The total is €1,249.50.

  1. 17 是字幕序號。
  2. 00:00:41,500 是開始時間。
  3. 00:00:44,200 是結束時間。
  4. 剩餘的那一行或多行是實際顯示的文字。

SRT 通常在秒與毫秒之間使用逗號,並在開始與結束時間之間使用 -->。每個字幕區塊之間以一個空白行分隔。有些播放器可以容忍變體;但可靠的翻譯流程不應依賴這種容忍度。

下載這份合成的 SRT 翻譯壓力測試。其中包含對話、斜體、說話者標籤、日期、貨幣、CJK 文字、阿拉伯文、西里爾字母,以及帶重音的拉丁字元。內容是虛構的,因此可安全用於剖析器與編碼測試。

為什麼複製貼上式翻譯會破壞 SRT 檔案

通用型文字工作流程常會把結構誤認為內容。常見失敗情況包括:

  • 翻譯或重新編號字幕 ID;
  • 更改時間戳分隔符或小數逗號;
  • 把兩個短字幕合併成一個段落;
  • 刪除重複或看似空白的字幕;
  • 在檔案外層加上 Markdown 圍欄;
  • 把說話者標籤改寫成散文句子;
  • 刪除 <i> 標籤或輸出不受支援的富文字標記;
  • 用換行包裹取代空白字幕分隔行。

即使翻譯在語言層面很好,只要播放器無法再解析該檔案,它就不可用。

逐步翻譯工作流程

1. 保留原始檔

保持來源 SRT 不變。請在帶有語言標記的副本上作業,例如 interview.en.srtinterview.es.srt

2. 確認來源檔可被解析

在翻譯之前,先用字幕編輯器或播放器開啟來源檔。如果來源檔本身已經有時間碼重疊、缺少分隔行,或影片位移設定錯誤,請先修正或記錄這些缺陷。

3. 偵測編碼

除非交付規格明確要求其他格式,否則多語輸出應使用 UTF-8。YouTube 的逐字稿說明指出,非英文逐字稿檔案應使用 UTF-8 編碼;這是國際字幕檔相當合理的基準做法(YouTube Help).

4. 凍結結構欄位

將字幕序號與時間戳行視為受保護內容。如果工具無法鎖定它們,就分成小批次翻譯,並在每一批之後立即驗證。

5. 以相鄰脈絡翻譯完整字幕區塊

翻譯顯示文字時,請一併提供前一個與下一個字幕作為脈絡。字幕經常把同一句話切分到多個區塊中;若孤立翻譯,時態、代名詞或語序就可能前後不一致。

6. 依目標語言重新分段

除非你獲准重新調整時間,否則請保留字幕時序,但可調整區塊內的目標語言換行位置。應在自然語意片段邊界斷行,而不是在冠詞、介系詞、人名,或緊密相連的動詞片語之後斷開。

7. 執行結構驗證

比對來源與目標的字幕數量、ID、時間戳、順序、標籤與空白分隔行。這一步要在語言審校之前完成,避免審校者把時間浪費在根本無法載入的檔案上。

8. 觀看完整目標字幕軌

自動化檢查無法判斷字幕是否早於說話者開口就出現、是否遮住關鍵畫面文字,或是否在快速對話中仍然可讀。

保留換行、斜體與說話者標籤

當目標語法改變時,不要機械式保留來源換行。應保留字幕區塊本身,再為目標語言選擇可讀的換行位置。

例如,下面這種來源換行就很差:

We approved the proposal
after the final review.

如果目標語言把條件放在句首,自然的斷行位置就可能移動。正確目標是語意分組,而不是像素級逐行對齊來源。

只有在目標格式支援且風格指南要求時,才保留有意義的斜體。說話者標籤也要一致保留。YouTube 建議在逐字稿工作流程中使用像 [music] 這樣的提示表示聲音,並使用 >> 標示說話者(YouTube Help);

驗證字幕數量與時間戳順序

請使用這張不變條件表:

檢查項目預期結果是否為阻斷問題
字幕數量來源與目標的數量一致是,除非經核准的重新定時改變了數量
字幕 ID相同且唯一的 ID,順序也一致
時間戳文字當時序被鎖定時,必須逐位元組完全一致
開始早於結束每個字幕區塊都有正的持續時間
序列順序不應意外倒退跳回
標籤成對平衡且受支援通常是
可見文字每個來源字幕都必須有一個有意識的目標字幕

不要把檔案大小當作替代指標。翻譯膨脹通常會讓目標檔更大;位元組數相近完全無法證明任何事。

對照影片檢查字幕

以正常播放速度審查,並特別涵蓋以下難點時刻:

  • 語速最快的對話;
  • 兩位說話者快速交替發言;
  • 人名、日期、貨幣與度量單位;
  • 跨越鏡頭切換的對話;
  • 與招牌文字或下三分之一字幕互相競爭的文字;
  • 歌曲、音效與畫外音;
  • 第一個與最後一個字幕;
  • 至少一段包含每一種受支援格式標籤的內容。

完成結構驗證後,請使用 字幕翻譯 QA 檢查清單 評估可讀性與斷句品質。

常見 SRT 錯誤與修正方式

症狀可能原因修正方式
播放器拒絕載入檔案時間戳語法損壞或字幕分隔行有誤將第一個失敗的字幕區塊與來源逐一比對
字幕會漂移但時間碼看起來一致來源字幕軌錯誤或影片版本被剪輯過讓來源檔對齊到完全相同的影片版本
文字顯示為方框或亂碼編碼或字型支援問題以 UTF-8 儲存並測試實際播放環境
句子出現在錯誤的說話者名下字幕區塊被合併或缺乏脈絡的翻譯還原字幕邊界並檢查相鄰字幕
雙行字幕變成整面文字牆目標語言膨脹精簡、改寫,或取得重新定時的許可
斜體在後續字幕中持續未關閉標籤不平衡逐個字幕區塊驗證標籤,並在當地區塊內完成閉合

何時不該保留每一個時間戳

當來源時序本身有缺陷、譯入語需要明顯不同的分段方式,或影片本身已重新剪輯時,就不要承諾保留時間戳。在這些情況下,應保留來源檔作為稽核參考,並建立一條明確重新定時的目標字幕軌。

鎖定時間戳只是翻譯限制條件,不是字幕編寫工作的替代品。

FAQ

我可以只翻譯 SRT 檔案中的文字嗎?

可以。翻譯文字行,同時保護字幕序號、時間戳與分隔行。然後驗證每一個來源字幕是否仍然對應到一個有意識的目標字幕。

翻譯後的字幕應該保有相同的字幕數量嗎?

若時序被鎖定,答案是應該相同。數量不同通常強烈表示字幕被合併、遺失或拆分。專業的重新定時流程可能會刻意改變數量,但這應該被記錄下來。

我可以在不改變時間戳的情況下調整換行嗎?

可以。換行屬於顯示文字的一部分,不屬於字幕時序。請在目標語言中的自然語意片段邊界重新安排換行。

翻譯後的 SRT 檔案應該使用什麼編碼?

UTF-8 是多語文字最安全的預設值。只有在文件明確規定的交付系統要求時,才使用舊式編碼。

為什麼我翻譯後的 SRT 可以載入,但看起來仍然不對?

可解析與可觀看是兩種不同測試。檔案可能在結構上有效,但字幕仍可能過長、斷句不佳、與影片版本的時序不符,或不受播放器字型堆疊支援。

相關文章