如何在不變更時間戳的情況下翻譯 SRT 檔案
在鎖定字幕序號與時間碼的同時翻譯字幕文字,並在交付前驗證順序、編碼與播放效果。

快速答案:翻譯字幕文字,鎖定 ID 與時間碼
SRT 檔案是定時資料檔,不是附帶裝飾性時間戳的逐字稿。只翻譯字幕文字。保留每一個字幕序號、時間戳、空白分隔行,以及受支援的格式標籤原樣不動,然後在觀看影片之前,比對來源與目標的字幕結構。
若要採用能理解檔案結構的工作流程,請將原始檔上傳到 SRT Translator,而不是把字幕內容複製到沒有結構的文字方塊中。能辨識檔案結構可降低結構損壞風險,但你仍然應該對照原始檔與影片驗證輸出結果。
這裡有一條不那麼直觀但很關鍵的規則:保留時間碼是必要條件,但不是充分條件。目標字幕即使完全保留原始時間戳,仍然可能失敗,因為譯文句子太長而無法閱讀、斷句落在錯誤的語意片段,或提到了尚未出現的說話者。
SRT 檔案的結構
一個典型字幕區塊包含四個部分:
17
00:00:41,500 --> 00:00:44,200
<i>MAYA:</i> The total is €1,249.50.
17是字幕序號。00:00:41,500是開始時間。00:00:44,200是結束時間。- 剩餘的那一行或多行是實際顯示的文字。
SRT 通常在秒與毫秒之間使用逗號,並在開始與結束時間之間使用 -->。每個字幕區塊之間以一個空白行分隔。有些播放器可以容忍變體;但可靠的翻譯流程不應依賴這種容忍度。
下載這份合成的 SRT 翻譯壓力測試。其中包含對話、斜體、說話者標籤、日期、貨幣、CJK 文字、阿拉伯文、西里爾字母,以及帶重音的拉丁字元。內容是虛構的,因此可安全用於剖析器與編碼測試。
為什麼複製貼上式翻譯會破壞 SRT 檔案
通用型文字工作流程常會把結構誤認為內容。常見失敗情況包括:
- 翻譯或重新編號字幕 ID;
- 更改時間戳分隔符或小數逗號;
- 把兩個短字幕合併成一個段落;
- 刪除重複或看似空白的字幕;
- 在檔案外層加上 Markdown 圍欄;
- 把說話者標籤改寫成散文句子;
- 刪除
<i>標籤或輸出不受支援的富文字標記; - 用換行包裹取代空白字幕分隔行。
即使翻譯在語言層面很好,只要播放器無法再解析該檔案,它就不可用。
逐步翻譯工作流程
1. 保留原始檔
保持來源 SRT 不變。請在帶有語言標記的副本上作業,例如 interview.en.srt → interview.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 可以載入,但看起來仍然不對?
可解析與可觀看是兩種不同測試。檔案可能在結構上有效,但字幕仍可能過長、斷句不佳、與影片版本的時序不符,或不受播放器字型堆疊支援。




