Cách dịch tệp SRT mà không thay đổi dấu thời gian
Dịch văn bản phụ đề trong khi khóa số thứ tự cue và timecode, rồi xác thực trình tự, mã hóa và phát lại trước khi bàn giao.

Câu trả lời nhanh: Dịch văn bản cue, khóa ID và timecode
Tệp SRT là một tệp dữ liệu có căn thời gian, không phải bản chép lời có dấu thời gian chỉ để trang trí. Chỉ dịch phần văn bản phụ đề. Giữ nguyên mọi số cue, dấu thời gian, dòng trống phân tách và thẻ định dạng được hỗ trợ, rồi so sánh cấu trúc cue của bản gốc và bản dịch trước khi xem video.
Để có quy trình xử lý theo tệp, hãy tải tệp gốc lên SRT Translator thay vì sao chép phụ đề vào một ô văn bản không có cấu trúc. Việc nhận biết theo tệp làm giảm rủi ro cấu trúc, nhưng bạn vẫn nên xác thực đầu ra với bản gốc và video.
Quy tắc ít ai để ý là thế này: giữ nguyên timecode là điều cần thiết, nhưng chưa đủ. Một cue đích có thể giữ đúng dấu thời gian y hệt mà vẫn hỏng vì câu dịch quá dài để đọc, ngắt ở sai cụm từ, hoặc nhắc đến một người nói còn chưa xuất hiện.
Cấu trúc của tệp SRT
Một cue điển hình gồm bốn phần:
17
00:00:41,500 --> 00:00:44,200
<i>MAYA:</i> The total is €1,249.50.
17là số cue.00:00:41,500là thời điểm bắt đầu.00:00:44,200là thời điểm kết thúc.- Dòng hoặc các dòng còn lại là văn bản hiển thị.
SRT thường dùng dấu phẩy giữa giây và mili giây, và --> giữa thời điểm bắt đầu và kết thúc. Một dòng trống ngăn cách cue này với cue kế tiếp. Một số trình phát chấp nhận biến thể; một quy trình dịch đáng tin cậy không nên phụ thuộc vào sự dễ dãi đó.
Tải xuống bài kiểm tra độ bền dịch SRT tổng hợp. Nó bao gồm hội thoại, chữ nghiêng, nhãn người nói, ngày tháng, tiền tệ, văn bản CJK, tiếng Ả Rập, chữ Kirin và ký tự Latin có dấu. Nội dung là hư cấu, nên an toàn để dùng cho kiểm tra bộ phân tích và mã hóa.
Vì sao dịch bằng sao chép-dán làm hỏng tệp SRT
Các quy trình văn bản dùng chung có thể nhầm cấu trúc là nội dung. Các lỗi phổ biến gồm:
- dịch hoặc đánh lại số ID cue;
- thay đổi ký tự phân tách dấu thời gian hoặc dấu phẩy thập phân;
- gộp hai cue ngắn thành một đoạn văn;
- làm rơi một cue lặp lại hoặc có vẻ trống;
- trả về các hàng rào Markdown bao quanh tệp;
- viết lại nhãn người nói thành văn xuôi;
- xóa các thẻ
<i>hoặc xuất ra đánh dấu rich-text không được hỗ trợ; - thay các dòng trống phân tách cue bằng các dòng được xuống hàng tự động.
Ngay cả một bản dịch tốt về mặt ngôn ngữ cũng vô dụng khi trình phát không còn phân tích được nữa.
Quy trình dịch từng bước
1. Giữ nguyên bản gốc
Giữ tệp SRT nguồn không thay đổi. Làm việc trên một bản sao có nhãn ngôn ngữ như interview.en.srt → interview.es.srt.
2. Xác nhận tệp nguồn phân tích được
Mở tệp nguồn trong trình biên tập phụ đề hoặc trình phát trước khi dịch. Nếu bản nguồn đã có timecode chồng lấn, thiếu dòng phân tách, hoặc lệch so với video, hãy sửa hoặc ghi nhận các lỗi đó trước.
3. Phát hiện mã hóa
Dùng UTF-8 cho đầu ra đa ngôn ngữ trừ khi đặc tả bàn giao yêu cầu rõ ràng một lựa chọn khác. Hướng dẫn bản chép lời của YouTube nói rằng tệp transcript không phải tiếng Anh nên được mã hóa UTF-8, đây là mốc chuẩn hợp lý cho tệp phụ đề quốc tế (YouTube Help).
4. Đóng băng các trường cấu trúc
Hãy coi số cue và các dòng dấu thời gian là nội dung được bảo vệ. Nếu công cụ không thể khóa chúng, hãy dịch theo từng lô nhỏ và xác thực sau mỗi lô.
5. Dịch các cue hoàn chỉnh cùng ngữ cảnh lân cận
Dịch phần văn bản hiển thị, nhưng cung cấp cue trước và cue sau để có ngữ cảnh. Phụ đề thường tách một câu thành nhiều cue; dịch tách biệt có thể làm thì, đại từ hoặc trật tự từ thay đổi thiếu nhất quán.
6. Phân đoạn lại cho ngôn ngữ đích
Giữ nguyên thời lượng cue trừ khi bạn được phép căn lại thời gian, nhưng hãy điều chỉnh chỗ ngắt dòng đích bên trong cue. Ngắt ở ranh giới cụm từ tự nhiên, không ngắt sau mạo từ, giới từ, tên riêng hoặc các cụm động từ gắn chặt với nhau.
7. Chạy xác thực cấu trúc
So sánh số lượng cue, ID, dấu thời gian, thứ tự, thẻ và các dòng trống phân tách giữa bản nguồn và bản đích. Làm việc này trước khi rà soát ngôn ngữ để người duyệt không lãng phí thời gian vào một tệp còn không tải được.
8. Xem toàn bộ track đích
Kiểm tra tự động không thể cho biết liệu một phụ đề có xuất hiện trước khi người nói cất tiếng, che mất văn bản quan trọng trên màn hình, hay vẫn đủ dễ đọc trong một đoạn đối đáp nhanh hay không.
Giữ ngắt dòng, chữ nghiêng và nhãn người nói
Đừng máy móc giữ nguyên ngắt dòng nguồn khi cú pháp của bản đích thay đổi. Hãy giữ nguyên cue, rồi chọn cách ngắt dòng dễ đọc trong ngôn ngữ đích.
Ví dụ, cách ngắt ở bản nguồn này là tệ:
We approved the proposal
after the final review.
Nếu ngôn ngữ đích đặt điều kiện lên trước, chỗ ngắt tự nhiên có thể phải đổi chỗ. Mục tiêu đúng là nhóm nghĩa theo ngữ nghĩa, không phải khớp từng pixel xuống dòng của bản gốc.
Chỉ giữ chữ nghiêng có ý nghĩa khi đích đến hỗ trợ chúng và sổ tay phong cách yêu cầu như vậy. Giữ nhãn người nói một cách nhất quán. YouTube khuyến nghị các cue như [music] cho âm thanh và >> để nhận diện người nói trong quy trình transcript (YouTube Help); các bên nhận khác có thể yêu cầu quy ước khác.
Xác thực số lượng cue và thứ tự dấu thời gian
Hãy dùng bảng bất biến này:
| Kiểm tra | Kết quả mong đợi | Chặn bàn giao? |
|---|---|---|
| Số lượng cue | Số lượng ở bản nguồn và bản đích khớp nhau | Có, trừ khi việc căn lại thời gian đã được phê duyệt làm thay đổi số lượng |
| ID cue | Cùng các ID duy nhất theo đúng thứ tự | Có |
| Văn bản dấu thời gian | Khớp từng byte khi thời gian đã bị khóa | Có |
| Bắt đầu trước kết thúc | Mọi cue đều có thời lượng dương | Có |
| Thứ tự trình tự | Không có bước lùi ngược ngoài ý muốn | Có |
| Thẻ | Cân bằng và được hỗ trợ | Thường là có |
| Văn bản hiển thị | Mọi cue nguồn đều có một cue đích có chủ đích | Có |
Đừng dùng kích thước tệp làm chỉ dấu thay thế. Bản dịch nở dài làm bản đích lớn hơn; số byte tương tự không chứng minh được gì.
Đối chiếu phụ đề với video
Rà soát ở tốc độ phát bình thường và bao gồm các thời điểm khó sau:
- đoạn hội thoại nhanh nhất;
- hai người nói thay phiên nhanh;
- tên riêng, ngày tháng, tiền tệ và đơn vị đo;
- hội thoại băng qua một cú cắt cảnh;
- văn bản cạnh tranh với biển hiệu hoặc lower third;
- bài hát, hiệu ứng âm thanh và giọng nói ngoài khung hình;
- cue đầu tiên và cue cuối cùng;
- ít nhất một đoạn chứa từng thẻ định dạng được hỗ trợ.
Dùng danh sách kiểm tra QA dịch phụ đề để đánh giá độ dễ đọc và cách phân đoạn sau khi đã xác thực cấu trúc.
Lỗi SRT thường gặp và cách sửa
| Triệu chứng | Nguyên nhân có khả năng cao | Cách sửa |
|---|---|---|
| Trình phát từ chối tệp | Cú pháp dấu thời gian hoặc dòng phân tách cue bị hỏng | So sánh cue lỗi đầu tiên với bản nguồn |
| Phụ đề bị trôi dù timecode khớp | Nhầm track nguồn hoặc video đã bị chỉnh sửa | Căn tệp nguồn theo đúng phiên bản video chính xác |
| Văn bản hiện thành ô vuông hoặc ký tự lỗi | Mã hóa hoặc hỗ trợ phông chữ | Lưu dưới dạng UTF-8 và kiểm tra môi trường phát lại |
| Một câu hiện dưới sai người nói | Gộp cue hoặc dịch thiếu ngữ cảnh | Khôi phục ranh giới cue và rà soát các cue lân cận |
| Cue hai dòng biến thành những khối chữ dày đặc | Bản dịch bị nở dài | Rút gọn, diễn đạt lại hoặc xin phép căn lại thời gian |
| Chữ nghiêng vẫn mở sang các cue sau | Thẻ không cân bằng | Xác thực thẻ theo từng cue và đóng chúng cục bộ |
Khi nào không nên giữ mọi dấu thời gian
Đừng hứa giữ nguyên dấu thời gian khi thời gian ở bản nguồn bị lỗi, ngôn ngữ dịch cần cách phân đoạn khác biệt đáng kể, hoặc chính video đã được biên tập lại. Trong các trường hợp đó, hãy giữ bản nguồn làm tham chiếu kiểm toán và tạo một track đích đã được căn lại thời gian một cách minh bạch.
Khóa dấu thời gian là một ràng buộc dịch thuật, không phải thứ thay thế cho nghiệp vụ biên soạn phụ đề.
Câu hỏi thường gặp
Tôi có thể chỉ dịch phần văn bản trong tệp SRT không?
Có. Hãy dịch các dòng văn bản trong khi bảo vệ số cue, dấu thời gian và các dòng phân tách. Sau đó xác thực rằng mọi cue nguồn vẫn còn đúng một cue đích có chủ đích.
Phụ đề đã dịch có nên có cùng số lượng cue không?
Nếu thời gian bị khóa, có. Số lượng khác đi là tín hiệu rất mạnh cho thấy các cue đã bị gộp, bị mất hoặc bị tách. Một quy trình căn lại thời gian chuyên nghiệp có thể cố ý thay đổi số lượng, nhưng điều đó cần được ghi lại.
Tôi có thể thay đổi ngắt dòng mà không đổi dấu thời gian không?
Có. Ngắt dòng là một phần của văn bản hiển thị, không phải thời lượng cue. Hãy chuyển chúng tới các ranh giới cụm từ tự nhiên trong ngôn ngữ đích.
Tôi nên dùng mã hóa nào cho tệp SRT đã dịch?
UTF-8 là mặc định an toàn nhất cho văn bản đa ngôn ngữ. Chỉ dùng mã hóa cũ khi một hệ thống bàn giao được ghi nhận rõ ràng yêu cầu như vậy.
Vì sao tệp SRT đã dịch của tôi vẫn tải được nhưng trông sai?
Phân tích cú pháp và trải nghiệm xem là hai bài kiểm tra khác nhau. Tệp có thể hợp lệ về cấu trúc trong khi các cue của nó quá dài, phân đoạn kém, lệch thời gian so với phiên bản video, hoặc không được hỗ trợ bởi bộ phông của trình phát.
Bài viết liên quan




