Chia sẻ tool dịch tự động, tự động dịch và tạo sub phim (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

khongtu19bk

Thành viên hoạt động
Tham gia
5/12/09
Bài viết
147
Được thích
69
Như đã giới thiệu ở đây: Link video giới thiệu.

Hôm nay mình chia sẻ tool tự động dịch phụ đề phim.
Chức năng của tool:
Nhận phụ đề phim là tiếng anh (có thể sửa trong code để dịch phụ đề ngôn ngữ khác) sang tiếng việt và tạo thành sub phim tiếng việt.
Tool sẽ đi qua hai bước:
Step 1:
Input: sub english
Output: Excel vietnamese
Step 2:
Do file excel do tool dịch ra có thể chưa nuột nà (máy dịch mà), nên cần bàn tay con người tinh chỉnh lại cho hay hơn. Sau khi đã chỉnh xong trên excel ta chạy tool.
Input: Excel
Ouput: File sub vietnamese.
Yêu cầu: Máy tính cài đặt IE phiên bản 11 hoặc cao hơn.
Link download: http://www.mediafire.com/file/2793zj8cfqq0880/Tool_Auto_Translate_sub.rar/file
Chú ý: Đây là bản tool chia sẻ, mọi người tùy ý chỉnh sửa code theo ý mọi người.
 
Tôi chạy 1 lần trên Windows 10 thì có, không kiểm tra lại
1
0-->0,000128587962962963
[Đây là phần mềm abetaversion & được làm cho những người không thể chờ đợi. Có thể có lỗi trong bản dịch, ngữ pháp, trong số những người khác. Nếu bạn tìm thấy (các) lỗi, vui lòng gửi email cho chúng tôi (tl.skeweds@gmail.com) dấu thời gian của (các) dòng và cách cải thiện (các) dòng đó. Cảm ơn! Sẽ có một phiên bản sửa chữa cuối cùng nếu tiêu đề sẽ không được phát hành trên phương tiện kỹ thuật số với phụ đề tiếng Anh. ]

2
0,000405787037037037-->0,000416203703703704
Tạm biệt rồi.
...


Tôi không nhớ rõ nhưng có lẽ 0,000405787037037037-->0,000416203703703704 không là dạng của SRT. Sẽ không được trình chiếu phim chấp nhận?

Ngoài ra phụ đề hay không thì bản chất là dịch văn bản. Theo tôi dùng MSXML2.XMLHTTP tốt hơn là khởi động IE, nhất là khi khởi động liên tục với mỗi dòng dữ liệu. Và không cần đòi hỏi phiên bản IE cao như thế.

Tôi có cảm giác là code hơi rườm rà.

Vài lời góp ý để bạn hoàn thiện công cụ chứ không có ý chê trách.
 
Upvote 0
Vâng, cảm ơn anh.
Em chưa có điều kiện để test trên win 10. Trên win 7 thì được như này.
Mã:
1
00:00:00,000-->00:00:11,110
[Đây là phần mềm abetaversion & được làm cho những người không thể chờ đợi. Có thể có lỗi trong bản dịch, ngữ pháp, trong số những người khác. Nếu bạn tìm thấy (các) lỗi, vui lòng gửi email cho chúng tôi (tl.skeweds@gmail.com) dấu thời gian của (các) dòng và cách cải thiện (các) dòng đó. Cảm ơn! Sẽ có một phiên bản sửa chữa cuối cùng nếu tiêu đề sẽ không được phát hành trên phương tiện kỹ thuật số với phụ đề tiếng Anh. ]

2
00:00:35,060-->00:00:35,960
Tạm biệt rồi.

3
00:00:36,360-->00:00:37,560
Tạm biệt.

4
00:00:40,740-->00:00:42,530
Ren!

5
00:00:44,570-->00:00:46,060
Bạn thấy ...
Code thì sẽ không dịch mấy cái thời gian, bị như vậy chắc là từ lúc mở phụ đề tiếng anh bằng excel đã bị vỡ định dạng rồi ạ. Nếu có thể, anh có thể kiểm tra giúp em xem nguyên nhân là gì được không ạ.
Cảm ơn anh đã quan tâm và cho nhận xét. Em xin tiếp thu.
 
Upvote 0
Vâng, cảm ơn anh.
Em chưa có điều kiện để test trên win 10. Trên win 7 thì được như này.
1
00:00:00,000-->00:00:11,110
...
Code thì sẽ không dịch mấy cái thời gian, bị như vậy chắc là từ lúc mở phụ đề tiếng anh bằng excel đã bị vỡ định dạng rồi ạ
Lúc mở phụ đề vẫn chuẩn.
Nếu có thể, anh có thể kiểm tra giúp em xem nguyên nhân là gì được không ạ.
Tôi có CamStudioPortable 32 bit nhưng thử thì thấy nó không chạy trên Windows 10 64 bit của tôi nên tôi thử trên đồ cổ XP Home 32 bit + Excel 2010 32 bit.

Xem tập tin AVI.

1. Khi chạy Workbooks.OpenText thì ta có vd. 00:35,1. Trên thanh công thức thì là 00:00:35

2. Khi chạy ActiveWindow.DisplayFormulas = True thì được đổi thành 0,000405787037037037. Trên thanh công thức thì là 00:00:35 nhưng dưới sheet là 0,000405787037037037.

Như vậy là ở thời điểm trên các giá trị được tính. 00:00:35 là thời gian, tức số 0,000405787037037037
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn anh ạ. Như vậy vấn đề nằm ở đây:
2. Khi chạy ActiveWindow.DisplayFormulas = True thì được đổi thành 0,000405787037037037. Trên thanh công thức thì là 00:00:35 nhưng dưới sheet là 0,000405787037037037.
Trước đây có một vài phụ đề chạy, excel tự ý đổi số, nên em để lệnh
Mã:
ActiveWindow.DisplayFormulas = True
nhằm ngăn chặn nó tự ý đổi số.
Không hiểu sao trên máy anh lại như vậy. Để em tìm hiểu thêm.
Anh có thể tìm hiểu cùng với em được không ạ.

Đây là kết quả chạy trên máy em, win 7 64bit, office 2013. Không có vấn đề gì.
48278975387_75b2a2db11_o.gif
 
Upvote 0
Trước đây có một vài phụ đề chạy, excel tự ý đổi số, nên em để lệnh
Mã:
ActiveWindow.DisplayFormulas = True
nhằm ngăn chặn nó tự ý đổi số.
Không hiểu sao trên máy anh lại như vậy. Để em tìm hiểu thêm.
Anh có thể tìm hiểu cùng với em được không ạ.
Đây là kết quả chạy trên máy em, win 7 64bit, office 2013. Không có vấn đề gì.
Một câu lệnh thôi mà tôi làm sao xem được code của Excel để mà đoán. Trong AVI là XP Home + Excel 2010, cả 2 là 32 bit.

Trên laptop là Windows 10 64 bit + Excel 2007 32 bit.

Tôi không có Win 7 64 bit + Excel 2013 để thử.

Nhưng căn cứ vào
Trước đây có một vài phụ đề chạy, excel tự ý đổi số, nên em để lệnh
thì có thể kết luận nó "tự ý" đổi số. Thế thì rất có thể lúc khác nó lại "không tự ý" đổi số. Tức lúc đổi lúc không. Lúc không có ActiveWindow.DisplayFormulas = True thì đổi, lúc có ActiveWindow.DisplayFormulas = True cũng đổi. Tùy vào phiên bản chăng hay thiết lập gì đó?
 
Upvote 0
Tôi đề nghị đổi thành
Call Workbooks.OpenText(FilePath, Origin:=65001, fieldinfo:=Array(Array(1, 2)))
Lúc này thì có hay không ActiveWindow.DisplayFormulas = True thì trên cả 2 máy của tôi đều đã chuẩn. Trước đó 00:00:00,000 --> 00:00:11,110 được chia thành 3 ô, trong đó ô 1 và 3 dạng Time. Sau khi đổi thì mỗi dòng chỉ 1 ô tức 00:00:00,000 --> 00:00:11,110 ở 1 ô và rõ ràng nó là Text nên Excel có muốn chơi đểu cũng không thể thay bằng số được
Bài đã được tự động gộp:

Xem AVI
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Em cảm ơn anh. Anh bận thế mà đã xem cho em, em không biết nói gì hơn.
Em đã test trên máy em và cho kết quả tốt ạ. Vậy cho phép em được sửa code theo hướng của anh có được không ạ.
Vì thiếu kiến thức cho nên em đã không biết thiết định tham số fieldinfo:=Array(Array(1, 2))) . Có thời gian, em sẽ tìm hiểu thêm ạ.
Chân thành cảm ơn sự góp sức của anh để phiên bản tới được hoàn thiện hơn, đáp ứng được mong mỏi của những người mê phim ^_^
 
Upvote 0
Em đã test trên máy em và cho kết quả tốt ạ. Vậy cho phép em được sửa code theo hướng của anh có được không ạ.
Bạn xem AVI ở bài cuối thì thấy chỗ tôi cũng ổn. :D.

Trên diễn đàn nếu không ai viết rõ là cấm, là thu phí, là phải ghi tác giả thì dĩ nhiên là cho phép, là miễn phí, là không phải ghi tác giả rồi.
 
Upvote 0
Bạn xem AVI ở bài cuối thì thấy chỗ tôi cũng ổn. :D.

Trên diễn đàn nếu không ai viết rõ là cấm, là thu phí, là phải ghi tác giả thì dĩ nhiên là cho phép, là miễn phí, là không phải ghi tác giả rồi.
Vâng em đã xem video anh gửi và thấy ổn rồi. Cảm ơn anh đã ghi lại video, em yên tâm rồi ạ. Cách làm việc của anh thật chuyên nghiệp. Cảm ơn anh rất nhiều vì sự support kịp thời, nhờ đó mà lỗi sẽ được giải quyết triệt để. Em sẽ sớm chỉnh lại tool và phát hành lại ạ.
Chân thành cảm ơn anh và các anh chị trên GPE trong suốt thời gian qua đã giải đáp giúp em nhiều điều. Em không biết nói gì hơn.
 
Upvote 0
Bạn chia sẻ code dịch dùng Google Dịch để dịch thông qua Browser IE thì thật là bất hợp lý, vì nó sẽ tốn nhiều tài nguyên mạng, WinHTTPRequest hay MSXML2.XMLHTTP đủ để làm điều đó.

Dùng WebBrowser khi nào? Khi mà mình muốn lấy thành phần dịch trong đó bao gồm, từ đồng nghĩa, trái nghĩa, từ gợi ý khác, câu ví dụ, cách đọc, ....

Theo tôi biết thì Google cung cấp 3 link :
1. Nền tảng Mobile: Chỉ có thể dịch, và phương pháp đọc nếu có. (Nhanh)
2. WebBrowser: tất cả dịch vụ phiên dịch. (Phụ thuộc WebBrowser)
3. Google Dịch API: ... và phát hiện ngôn ngữ. (Nhanh)


Tôi khuyên bạn nên dùng link Google Dịch API.

Thấy bạn chia sẻ tool mà vào code nó như "một đống bùi nhùi", comment Code rối loạn, tên Module thì đủ các kiểu "viện da liễu".

Bạn nên đặt tên tiêu đề là "Hoàn thiện tool" thay cho "Chia sẻ tool". Code của bạn sẽ phát sinh một số lỗi bất ngờ vì nó chưa được tối ưu.
Và việc đặt Author không hợp lí lắm. Vì code của bạn chỉ ở mức cơ bản, thậm chí các khai báo Thuộc tính thư viện bạn đã sửa toàn bộ thành khai báo chung là "As Object" thì xem như không có tính chuyên nghiệp.

Nếu bạn muốn cầu kì thì nên viết tool ở dạng một Class cho nó nhất quán.

Yêu cầu: Máy tính cài đặt IE phiên bản 11 hoặc cao hơn.

Và IE 11 là phiên bản IE cuối cùng mà Microsoft đã phát triển và công bố.
Cái này lại liên quan đến tính chuyên nghiệp.
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn chia sẻ code dịch dùng Google Dịch để dịch thông qua Browser IE thì thật là bất hợp lý, vì nó sẽ tốn nhiều tài nguyên mạng, WinHTTPRequest hay MSXML2.XMLHTTP đủ để làm điều đó.

Dùng WebBrowser khi nào? Khi mà mình muốn lấy thành phần dịch trong đó bao gồm, từ đồng nghĩa, trái nghĩa, từ gợi ý khác, câu ví dụ, cách đọc, ....

Theo tôi biết thì Google cung cấp 3 link :
1. Nền tảng Mobile: Chỉ có thể dịch, và phương pháp đọc nếu có. (Nhanh)
2. WebBrowser: tất cả dịch vụ phiên dịch. (Phụ thuộc WebBrowser)
3. Google Dịch API: ... và phát hiện ngôn ngữ. (Nhanh)


Tôi khuyên bạn nên dùng link Google Dịch API.

Thấy bạn chia sẻ tool mà vào code nó như "một đống bùi nhùi", comment Code rối loạn, tên Module thì đủ các kiểu "viện da liễu".

Bạn nên đặt tên tiêu đề là "Hoàn thiện tool" thay cho "Chia sẻ tool". Code của bạn sẽ phát sinh một số lỗi bất ngờ vì nó chưa được tối ưu.
Và việc đặt Author không hợp lí lắm. Vì code của bạn chỉ ở mức cơ bản, thậm chí các khai báo Thuộc tính thư viện bạn đã sửa toàn bộ thành khai báo chung là "As Object" thì xem như không có tính chuyên nghiệp.

Nếu bạn muốn cầu kì thì nên viết tool ở dạng một Class cho nó nhất quán.



Và IE 11 là phiên bản IE cuối cùng mà Microsoft đã phát triển và công bố.
Cái này lại liên quan đến tính chuyên nghiệp.
Cảm ơn bạn đã mất thời gian cho ý kiến. Bạn có thể làm thử cho mình xem được không ạ?
Có vài điều mình không hiểu, bạn có thể giải đáp giúp mình được không ạ?

Tôi khuyên bạn nên dùng link Google Dịch API.
Cái này có miễn phí không ạ?
tên Module thì đủ các kiểu "viện da liễu".
Bạn có thể nói cụ thể hơn được không ạ. Nên đặt tên như thế nào để dễ hiểu hơn? Bạn có thể làm thử và đưa file lên đây được không ạ?
toàn bộ thành khai báo chung là "As Object"
Mình thì chưa tới mức ấy đâu-chuyên nghiệp ấy. Hiện nay định nghĩa như thế nào là chuyên nghiệp ạ? Mình nên tham khảo ở đâu để trông như chuyên nghiệp ạ? Bạn có thể viết mẫu rồi cho lên đây để mình và những người khác tham khảo được không ạ?
Nếu bạn muốn cầu kì thì nên viết tool ở dạng một Class cho nó nhất quán.
Bạn viết thử rồi chia sẻ lên đây được không ạ.
MSXML2.XMLHTTP đủ để làm điều đó.
Theo mình hiểu thì chỉ khi IE truy cập vào trang chứa hình ảnh, dẫn tới tốc độ chậm, thì mới nghĩ tới điều này. Trang google translate không có hình ảnh gì nên mình nghĩ không ảnh hưởng.
Bạn có thể làm code bằng MSXML2.XMLHTTP và so sánh được không ạ?

Và việc đặt Author không hợp lí lắm
Nếu mình muốn tạo sub dịch thì mình có thể dùng tool nào ạ? Hiện nay có tool nào chưa ạ? Cái gì cơ bản thì không được đặt tên ạ? Cái này là luật chung trên diễn đàn hay luật của riêng cá nhân bạn ạ? Cái cơ bản tự nhiên nó có hay là cũng phải mất thời gian tạo ra ạ?
 
Upvote 0
Bạn có thể làm code bằng MSXML2.XMLHTTP và so sánh được không ạ?
Bạn đã tham gia chủ đề này.


Ngay trên bài của bạn là bài của HeSanbi. Link tới bài có code với MSXML2.ServerXMLHTTP. Nhưng hình như code đó không chạy được nữa thì phải. Server trả về error thì phải. Google thay đổi liên tục.

Về việc dùng google translate thì trên GPE có nhiều bài rồi. Bạn có thể nhấn "Tìm kiếm" ở góc trên bên phải rồi nhập google translate
 
Upvote 0
Mấy hôm nay vọc Google App Script. Thấy ý tưởng của bạn cũng hay nhưng đàng nào cũng phải dùng internet mà Google App Script có sẵn class LanguageApp rất tiện nên mạnh dạng làm thử xem sao.

Do Google giới hạn số lần gọi lệnh dịch của mỗi tài khoản (số lần / ngày) nên tôi không để ứng dụng chạy với danh nghĩa tài khoản của tôi để tránh bị hết hạn dẫn đến không dùng được, vì vậy, bạn nào test thì cần đăng nhập tài khoản Google.

 
Upvote 0
Bạn có biết cái giới hạn này là bao nhiêu không? Thực ra tôi không cần nên không muốn bỏ công gú gồ, nhưng nếu biết được thì cũng tốt
Em cũng không đọc nhưng có lẽ cũng khoản 2000 lần (nhẩm tính số lần chạy thử). Do lúc đầu code theo hướng dịch từng câu sau vài lần chạy thử thì bị báo hết hạn.
Code hiện tại dịch toàn bộ file 1 lần thì có lẽ không lo vấn đề giới hạn nhưng do tài khoản của em đã hết số lần nên phải chờ 24h mới dùng được tiếp :)
 
Upvote 0
Code hiện tại dịch toàn bộ file 1 lần thì có lẽ không lo vấn đề giới hạn
Tôi nhiều lần dịch tay trực tiếp trên trang web và khi dán 10 KB thì nó cắt chỉ dịch khoảng 4 KB, 5 KB thôi (không nhớ rõ). Do đó phải chia làm 2 lần dịch. Dùng cái "kia" thì nó cho mỗi lần dịch là bao nhiêu?
 
Upvote 0
Mấy cái class có sẵn của Google script có 'quota' thường rất ít. Nên thông thường sẽ chuyển sang dùng API.
Ví dụ LanguageApp.translate thì có thể dùng Translation API :

Hoặc một cách khác:
PHP:
function translate_lang(source_text, source_lang, target_lang) { 
  var url = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=" 
            + source_lang.to + "&tl=" + target_lang + "&dt=t&q=" + encodeURI(source_text);
  
  var result = JSON.parse(UrlFetchApp.fetch(url).getContentText());
  return result[0][0][0];
}
 
Upvote 0
Tôi nhiều lần dịch tay trực tiếp trên trang web và khi dán 10 KB thì nó cắt chỉ dịch khoảng 4 KB, 5 KB thôi (không nhớ rõ). Do đó phải chia làm 2 lần dịch. Dùng cái "kia" thì nó cho mỗi lần dịch là bao nhiêu?
Em thử với file này thấy dịch được toàn bộ.
 

File đính kèm

Upvote 0
Google có nhiều "kẽ hở" cho người dùng miễn phí rất nhiều tài nguyên cực xịn nếu biết khai thác.

Ví dụ nguyên trang này: https://translate.google.com/
ta có thể khai thác được vài thứ cực hữu dụng, bằng mẹo chia nhỏ dữ liệu/ mỗi requets rồi ghép lại
- Dịch không bị giới hạn;
- Đọc văn bản (Text to speech). Google mới nâng cấp các giọng đọc Việt rất mềm mại từ hồi tháng 4/2019.

Hoặc tận dụng dịch vụ miễn phí speech to text của Google
làm trợ lý ảo ra lệnh giọng nói tiếng Việt.
 
Upvote 0
Em thử với file này thấy dịch được toàn bộ.
Đúng là cho phép nhiều thật. Tôi dán toàn bộ 134 KB vào trang web thì nó chỉ cho tới

57
00:07:30,276 --> 00:07:31,956
<font face="Tahoma">Buddy where's


Tức 5,10 KB
Bài đã được tự động gộp:

Chia nhỏ dữ liệu rồi ghép thì ai cũng biết thôi. Nếu nó không cho làm 1 lần thì phải chia làm nhiều lần. Cái này thì ai cũng bắt buộc phải biết thôi.

Về đọc văn bản thì có còn hơn không. Nhưng thực ra google dịch vẫn chưa thể chuẩn. Lấy làm nguồn để rồi tự chỉnh sửa thì được. Tôi từng thử dịch từ Ba Lan sang Việt và ngược lại. Có nhiều đoạn tương đối chuẩn nhưng có những đoạn hoặc là "rất buồn cười" hoặc nghĩa hoàn toàn khác. Đấy là văn bản, còn nếu nó đọc những chỗ "rất buồn cười" hoặc nghĩa hoàn toàn khác thì chỉ còn nước ôm bụng mà cười.
 
Lần chỉnh sửa cuối:
Upvote 0

File đính kèm

Upvote 0
Bạn đã tham gia chủ đề này.


Ngay trên bài của bạn là bài của HeSanbi. Link tới bài có code với MSXML2.ServerXMLHTTP. Nhưng hình như code đó không chạy được nữa thì phải. Server trả về error thì phải. Google thay đổi liên tục.

Về việc dùng google translate thì trên GPE có nhiều bài rồi. Bạn có thể nhấn "Tìm kiếm" ở góc trên bên phải rồi nhập google translate
Trên mạng cũng nhiều, em đã tìm thử, có cái dùng được, có cái không.
Đảm bảo hai tiêu chí, miễn phí, và có thể dùng lâu dài, dễ chia sẻ thì em lựa chọn phương án dùng web ạ.
 
Upvote 0
Ngộ nhỉ. Đây là kết quả em test.
Thì ngay từ đầu tôi nói rõ về trường hợp tôi làm bằng tay dán vào trang web mà. Vì thế tôi mới tò mò là làm bằng code "kia" thì nó cho bao nhiêu.

Cụ thể tôi dán vào https://translate.google.com

Còn về thông tin của bạn thì tôi "mừng" cơ mà
Đúng là cho phép nhiều thật.
google.JPG
Bài đã được tự động gộp:

Đảm bảo hai tiêu chí, miễn phí, và có thể dùng lâu dài, dễ chia sẻ thì em lựa chọn phương án dùng web ạ.
Thôi được. Ứng dụng là của bạn, giải pháp do bạn chọn. Nhưng sao lại khởi động liên tục IE chỉ để dịch mỗi lần vd. "Bye.", "Ren!", "You see..."? Thử chia tập tin thành những đoạn khoảng 3 KB, 4 KB để gửi xem sao.
 
Lần chỉnh sửa cuối:
Upvote 0
Thì ngay từ đầu tôi nói rõ về trường hợp tôi làm bằng tay dán vào trang web mà. Vì thế tôi mới tò mò là làm bằng code "kia" thì nó cho bao nhiêu.

Cụ thể tôi dán vào https://translate.google.com

Còn về thông tin của bạn thì tôi "mừng" cơ mà

View attachment 221189
Bài đã được tự động gộp:


Thôi được. Ứng dụng là của bạn, giải pháp do bạn chọn. Nhưng sao lại khởi động liên tục IE chỉ để dịch mỗi lần vd. "Bye.", "Ren!", "You see..."? Thử chia tập tin thành những đoạn khoảng 3 KB, 4 KB để gửi xem sao.
Vâng, có nhiều chỗ có thể cái thiện lắm. Có thể cải thiện là không khởi động liên tục, khởi động một lần, rồi truyền string vào.
Còn về việc sao không cắt từng đoạn, để giảm thiểu số lần dịch về nhỏ nhất, thì vì em không biết trong tương lai, ông google ông sẽ hạn chế ra sao, cho nên cho nó nhặt từng câu cho chắc ăn.
Về việc, tại sao em để mở nhiều lần, vì như thế dễ quan sát là khi nào bắt đầu dịch một câu. Em muốn xem luôn để học ngoại ngữ thôi, không có lý do gì đặc biệt.
Trên hình ảnh anh minh họa dịch cả cụm là file srt có vẻ phần format tiếng anh không bị ảnh hưởng. Nhưng với file ass thì cũng cần tính, nó sẽ dịch cả format.
Mã:
Dialogue: 0,0:00:06.75,0:00:10.68,Default Italic,,0,0,0,,Khi tôi nghe Trưởng phòng Yashiro
Dialogue: 0,0:00:10.81,0:00:12.51,Default Italic,,0,0,0,,ở thị trấn ven biển xinh đẹp đó
Dialogue: 0,0:00:12.61,0:00:14.58,Default Italic,,0,0,0,,Tôi chúc mừng họ từ phía dưới
Dialogue: 0,0:00:15.41,0:00:18.18,Default Italic,,0,0,0,,Sau đó tôi tốt nghiệp
Dialogue: 0,0:00:18.28,0:00:21.38,Default Italic,,0,0,0,,từ trưởng Sangenya và trở thành một i
Dialogue: 0,0:00:22.31,0:00:26.51,Default Italic,,0,0,0,,Nhưng kể từ khi người đàn ông đó xuất hiện
Dialogue: 0,0:00:26.75,0:00:28.98,Default Italic,,0,0,0,,Tôi nhận ra một cái gì đó.
Dialogue: 0,0:00:29.91,0:00:33.28,Default Italic,,0,0,0,,Trưởng Sangenya và Rusudo đang hợp tác
Dialogue: 0,0:00:33.38,0:00:35.54,Default Italic,,0,0,0,,và làm việc cùng nhau vào thời điểm khác.
Dialogue: 0,0:00:35.68,0:00:39.21,Default Italic,,0,0,0,,Đó là bởi vì họ bằng nhau cả một
Dialogue: 0,0:00:40.81,0:00:44.51,Default Italic,,0,0,0,,Nhưng tôi ... tôi không bằng.
Dialogue: 0,0:00:44.58,0:00:47.31,Default Italic,,0,0,0,,Rusudo là một người bình đẳng, nhưng tôi ...
Dialogue: 0,0:00:51.18,0:00:53.61,Default,,0,0,0,,Niwano!
Dialogue: 0,0:00:51.18,0:00:53.61,Double Line,,0,0,0,,Vâng.
Dialogue: 0,0:00:53.75,0:00:55.18,Default,,0,0,0,,Có phải dạ dày của bạn bị đau?
Dialogue: 0,0:00:55.28,0:00:56.54,Default,,0,0,0,,Hoàn toàn không.
Dialogue: 0,0:00:56.68,0:00:58.78,Default,,0,0,0,,Vậy thì đừng làm cho tiếng động lạ đó!
Dialogue: 0,0:00:59.41,0:01:00.58,Default,,0,0,0,,Tôi xin lôi.
Đi qua google trans nó thành như thế này:
Mã:
Đối thoại: 0,0: 00: 06,75,0: 00: 10,68, Chữ nghiêng mặc định ,, 0,0,0, Khi tôi nghe là trò chơi Yashiro
Đối thoại: 0,0: 00: 10,81,0: 00: 12,51, Chữ nghiêng mặc định ,, 0,0,0, ở trong thị trường
Đối thoại: 0,0: 00: 12,61,0: 00: 14,58, Chữ nghiêng mặc định ,, 0,0,0,
Đối thoại: 0,0: 00: 15,41,0: 00: 18,18, Chữ nghiêng mặc định ,, 0,0,0 ,,
Đối thoại: 0,0: 00: 18,28,0: 00: 21,38, Chữ nghiêng mặc định ,, 0,0,0 ,, từ Sangenya và ngược lại một
Đối thoại: 0,0: 00: 22,31,0: 00: 26,51, Chữ nghiêng mặc định ,, 0,0,0,
Đối thoại: 0,0: 00: 26,75,0: 00: 28,98, Chữ nghiêng mặc định ,, 0,0,0 ,, Tôi nhận ra một điều gì đó.
Đối thoại: 0,0: 00: 29.91,0: 00: 33.28, Chữ nghiêng mặc định ,, 0,0,0 ,, Trưởng Sangenya và Rusudo trong tổng hợp
Đối thoại: 0,0: 00: 33,38,0: 00: 35,54, Chữ nghiêng mặc định ,, 0,0,0, và làm việc với nhau trong khi thay thế.
Đối thoại: 0,0: 00: 35,68,0: 00: 39,21, Chữ nghiêng mặc định ,, 0,0,0 ,, Cách là một trong những vấn đề của nhau
Đối thoại: 0,0: 00: 40.81,0: 00: 44.51, Chữ nghiêng mặc định ,, 0,0,0 ,, tôi luyện ... tôi không bằng.
Đối thoại: 0,0: 00: 44,58,0: 00: 47,31, Chữ nghiêng mặc định ,, 0,0,0 ,, Rusudo là một người bình thường, một ...
Đối thoại: 0,0: 00: 51,18,0: 00: 53,61, Mặc định ,, 0,0,0 ,, Niwano!
Đối thoại: 0,0: 00: 51,18,0: 00: 53,61, Đường đôi ,, 0,0,0 ,,,.
Đối thoại: 0,0: 00: 53,75,0: 00: 55,18, Mặc định ,, 0,0,0 ,, Có phải là con của bạn và không?
Đối thoại: 0,0: 00: 55,28,0: 00: 56,54, Mặc định ,, 0,0,0 ,, Hoàn không.
Đối thoại: 0,0: 00: 56,68,0: 00: 58,78, Mặc định ,, 0,0,0 ,, trong đó có thể làm cho tiếng ồn của trò chơi!
Đối thoại: 0,0: 00: 59,41,0: 01: 00.58, Mặc định ,, 0,0,0 ,, Tôi xin lỗi.
 
Upvote 0
Khi đã biết được cấu trúc từng loại file thì tùy vào loại file đầu vào mà viết code cho phù hợp.
Dịch 1 lần (hoặc chia ra từng đoạn để giảm số lần dịch) không có nghĩa là bê toàn bộ nội dung trong file gốc đi dịch (hoặc cắt ra đi dịch) mà nên trích phần cần dịch ra để dịch rồi ráp vào lại. Vừa tránh sai do dịch phần không cần dịch vừa giảm khối lượng công việc (độ dài chuỗi mà google phải dịch).
Ví dụ đối với file .srt tôi làm như sau:
  1. Tách chuỗi nguồn thành mảng (X) với mỗi dòng là 1 phần tử
  2. Duyệt mảng X để lấy dòng cần dịch
  3. Đối với dòng cần dịch, ghi chỉ số dòng vào mảng A, nội dung vào mảng B
  4. Nối mảng B thành chuỗi S
  5. Dịch chuỗi S được chuỗi S'
  6. Tách chuỗi S' thành mảng B'
  7. Ráp mảng B' vào mảng X dựa vào mảng A
  8. Nối mảng X được kết quả
Tất cả các loại sub nếu biết cấu trúc đều có thể dùng thuật toán trên.
 
Lần chỉnh sửa cuối:
Upvote 0
Trên hình ảnh anh minh họa dịch cả cụm là file srt có vẻ phần format tiếng anh không bị ảnh hưởng. Nhưng với file ass thì cũng cần tính, nó sẽ dịch cả format.
Tôi minh họa cho huuthang_bd chứ đâu có minh họa cho bạn? Chúng tôi nói về những vấn đề khác.
Thì ý tôi là bạn vẫn dịch lời thoại như bây giờ nhưng nên gom thành "gói" to rồi mới gửi đi chứ ai lại gửi từng tí một.

Trong bài trước tôi chỉ muốn kiểm tra xem trang web chấp nhận bao nhiêu nên gửi cả tập tin để kiểm nghiệm chứ tôi có nói là phải gửi cả những dòng không cần dịch đâu? Mà tôi nói với huuthang_bd về vấn đề hoàn toàn khác.
 
Upvote 0
Tôi minh họa cho huuthang_bd chứ đâu có minh họa cho bạn? Chúng tôi nói về những vấn đề khác.
Thì ý tôi là bạn vẫn dịch lời thoại như bây giờ nhưng nên gom thành "gói" to rồi mới gửi đi chứ ai lại gửi từng tí một.

Trong bài trước tôi chỉ muốn kiểm tra xem trang web chấp nhận bao nhiêu nên gửi cả tập tin để kiểm nghiệm chứ tôi có nói là phải gửi cả những dòng không cần dịch đâu? Mà tôi nói với huuthang_bd về vấn đề hoàn toàn khác.
Vậy xin phép cho em được dừng thảo luận tại đây.
 
Upvote 0
xin chào mọi người
Mình rất thích vụ dịch tự động sub
hôm trước có down về , nhưng không biết cách dùng
Phiền các cao nhân chỉ dạy mình với
xin chân thành cảm ơn
Bài đã được tự động gộp:

Như đã giới thiệu ở đây: Link video giới thiệu.

Hôm nay mình chia sẻ tool tự động dịch phụ đề phim.
Chức năng của tool:
Nhận phụ đề phim là tiếng anh (có thể sửa trong code để dịch phụ đề ngôn ngữ khác) sang tiếng việt và tạo thành sub phim tiếng việt.
Tool sẽ đi qua hai bước:
Step 1:
Input: sub english
Output: Excel vietnamese
Step 2:
Do file excel do tool dịch ra có thể chưa nuột nà (máy dịch mà), nên cần bàn tay con người tinh chỉnh lại cho hay hơn. Sau khi đã chỉnh xong trên excel ta chạy tool.
Input: Excel
Ouput: File sub vietnamese.
Yêu cầu: Máy tính cài đặt IE phiên bản 11 hoặc cao hơn.
Link download: http://www.mediafire.com/file/2793zj8cfqq0880/Tool_Auto_Translate_sub.rar/file
Chú ý: Đây là bản tool chia sẻ, mọi người tùy ý chỉnh sửa code theo ý mọi người.
bạn có thể chỉ mình cách sử dụng được không ?
cám ơn bạn rất nhiều
 
Lần chỉnh sửa cuối:
Upvote 0

Bài viết mới nhất

Back
Top Bottom