BookTranslator
BookTranslator

Cách dịch EPUB bằng Calibre: Cài đặt plugin, chế độ đầu ra và kiểm tra tệp

Calibre dịch EPUB thông qua plugin bên thứ ba Ebook Translator. Cài đặt, lựa chọn engine và đầu ra, phiên bản v2.4.2 làm gì với đánh dấu của bạn, và cách kiểm tra kết quả.

BookTranslator

BookTranslator Team

17 min read

Calibre không tự dịch sách. Bạn dịch EPUB trong Calibre bằng Ebook Translator, một plugin bên thứ ba của bookfere được liệt kê trong chỉ mục plugin của Calibre. Cài đặt nó từ Preferences → Plug-ins → Get new plugins, chọn một engine dịch, chọn bạn muốn bản dịch riêng hay bên cạnh bản gốc, và chạy nó trên một EPUB không có DRM. Bạn nhận được một EPUB mới trong thư viện Calibre của mình.

Cài đặt là phần nhanh chóng. Điều mà hầu hết các hướng dẫn bỏ qua là những gì plugin làm với cuốn sách trong quá trình. Chúng tôi đã đọc mã nguồn của bản phát hành hiện tại (v2.4.2) để tìm hiểu, và ba mặc định quan trọng hơn engine bạn chọn:

  1. Đầu ra mặc định là song ngữ. Mỗi đoạn dịch được đặt bên dưới bản gốc trừ khi bạn thay đổi cài đặt vị trí.
  2. Định dạng nội tuyến bị làm phẳng trong văn bản dịch. Chữ nghiêng, chữ đậm và liên kết bên trong một đoạn không được chuyển vào bản dịch. Chỉ một danh sách cố định các thẻ, chẳng hạn như hình ảnh, ngắt dòng và chỉ số trên, được bảo vệ và đặt lại.
  3. Mỗi lần chạy là một lần chuyển đổi Calibre. Ngay cả EPUB sang EPUB, plugin giao cuốn sách cho quy trình chuyển đổi của Calibre, quy trình này xây dựng lại tệp đầu ra.

Không điều nào trong số này khiến plugin trở thành lựa chọn tồi. Nó miễn phí, mã nguồn mở (GPL-3.0) và rất dễ cấu hình. Nhưng bạn nên biết cần kiểm tra gì trước khi đọc kết quả hoặc chia sẻ nó.

Một lưu ý về phương pháp: hướng dẫn này dựa trên mã nguồn v2.4.2 của plugin, tài liệu chính thức của nó và hướng dẫn sử dụng Calibre. Chúng tôi không chạy một bản dịch tính giờ cho bài viết này, vì vậy nó không đưa ra tuyên bố nào về tốc độ, chất lượng dịch hoặc engine nào cho kết quả tốt nhất.

Những gì bạn cần trước khi bắt đầu

Yêu cầuChi tiết
CalibrePhiên bản 5.0.0 trở lên. Đây là mức tối thiểu được liệt kê cho v2.4.2 trong chỉ mục plugin Calibre, hiển thị ngày phát hành là 7 tháng 8 năm 2026.
Một EPUB không có DRMPlugin hoạt động trên các tệp sách trong thư viện Calibre của bạn. Một giao dịch mua từ cửa hàng bị khóa bằng DRM sẽ không dịch được. Kiểm tra tệp có DRM trước.
Một engine dịchMột số engine hoạt động mà không cần tài khoản (các điểm cuối miễn phí của Google, DeepL và Microsoft Edge). Những engine khác cần khóa API và nhà cung cấp tính phí bạn riêng.
Thời gian để xem xétHãy lên kế hoạch đọc và kiểm tra đầu ra. Plugin dịch từng đoạn một. Đây không phải là bước xem xét.

Plugin cũng chấp nhận các định dạng khác mà Calibre có thể đọc, chẳng hạn như MOBI hoặc AZW3. Vì cuốn sách dù sao cũng đi qua quy trình chuyển đổi của Calibre, bắt đầu từ một EPUB sạch sẽ cho bạn đầu ra dễ đoán nhất.

Cài đặt plugin Ebook Translator

Tài liệu của plugin đưa ra hai cách để cài đặt nó:

  1. Từ bên trong Calibre (khuyến nghị): mở Preferences → Plug-ins → Get new plugins, tìm kiếm Ebook Translator, nhấp Install, sau đó khởi động lại Calibre.
  2. Từ tệp: tải tệp ZIP từ trang chủ của plugin, sau đó dùng Tùy chọn → Plug-in → Tải plug-in từ tệp và khởi động lại.

Nếu plugin không xuất hiện trên thanh công cụ, hãy thêm nó trong Tùy chọn → Thanh công cụ & menu → Thanh công cụ chính.

Calibre ghi tác giả của plugin là bookfere.com. Nhóm của Calibre không bảo trì plugin này. Hãy báo cáo sự cố cho kho GitHub của plugin, không phải cho Calibre.

Chế độ Hàng loạt hay Chế độ Nâng cao

Plugin có hai cách để chạy dịch:

  • Chế độ Hàng loạt: chọn một hoặc nhiều sách, đặt ngôn ngữ đích và định dạng đầu ra, rồi nhấp Dịch. Tác vụ chạy trong hàng đợi tác vụ của Calibre. Dùng cách này cho bản nháp đầu tiên của cả cuốn sách mà bạn định đọc một lần.
  • Chế độ Nâng cao: trích xuất các đoạn văn của một cuốn sách vào bảng, dịch tất cả hoặc chỉ những đoạn được chọn, chỉnh sửa bản dịch bằng tay, rồi nhấp Xuất. Dùng cách này khi cuốn sách quan trọng, ví dụ khi một vài chương cần dịch lại hoặc tên cần sửa, vì bạn có thể sửa các đoạn văn trước khi EPUB được ghi.

Nếu dù sao bạn cũng sẽ xem lại bản dịch, Chế độ Nâng cao cho phép bạn sửa ngay trong plugin. Với Chế độ Hàng loạt, bạn sẽ phải sửa sau trong trình biên tập của Calibre.

Chọn công cụ dịch

Công cụ Google miễn phí là mặc định. Phiên bản 2.4.2 cung cấp các công cụ sau (tên như hiển thị trong plugin):

Nhóm công cụCông cụNhững gì bạn cần
Miễn phí, không cần khóaGoogle (Miễn phí) với ba biến thể, DeepL (Miễn phí), Microsoft Edge (Miễn phí)Không cần gì; giới hạn do dịch vụ đặt ra và có thể thay đổi
API dịch máyGoogle (Cơ bản), Google (Cơ bản) ADC, Google (Nâng cao) ADC, DeepL, DeepL (Pro), Youdao, BaiduMột tài khoản và khóa API, hoặc thông tin xác thực Google Cloud cho các tùy chọn ADC; nhà cung cấp sẽ tính phí
LLMChatGPT (OpenAI), ChatGPT (Azure), Gemini, Claude (Anthropic), DeepSeek (Chat)Một khóa API; nhà cung cấp tính phí theo token
Tùy chỉnhBất kỳ điểm cuối HTTP nào bạn cấu hìnhĐiểm cuối và cách phân tích phản hồi của riêng bạn

Các giá trị mặc định ảnh hưởng đến một cuốn sách dài:

  • Khoảng thời gian giữa các yêu cầu phụ thuộc vào engine. Trong mã nguồn v2.4.2, con số này là 20 giây đối với ChatGPT (OpenAI và Azure), 12 giây đối với Claude, 1 giây đối với Gemini và DeepL (Miễn phí), và 0 đối với hầu hết các engine khác. Tài liệu gợi ý nên tăng khoảng thời gian này nếu dịch vụ bắt đầu từ chối yêu cầu.
  • Số lần thử là 3, và quá trình chạy sẽ dừng sau 10 lỗi liên tiếp. Đặt số lần dừng thành 0 để không bao giờ tự động dừng.
  • Thời gian chờ cũng phụ thuộc vào engine: 60 giây đối với ChatGPT và DeepSeek, 30 giây đối với Claude và Gemini, và 10 giây đối với các engine còn lại.
  • Gộp để dịch đang tắt. Khi bật, plugin sẽ gửi các đoạn văn theo lô tối đa 1.800 ký tự. Các lô giúp LLM có thêm ngữ cảnh xung quanh trong mỗi yêu cầu, nhưng khi đó một phản hồi lỗi sẽ ảnh hưởng đến nhiều đoạn văn cùng lúc.
  • Bảng thuật ngữ đang tắt. Khi bật, plugin sẽ đọc một tệp văn bản thuần. Một thuật ngữ và bản dịch của nó nằm trên hai dòng, một thuật ngữ cần giữ nguyên không dịch nằm trên một dòng, và các mục được phân tách bằng dòng trống.

Plugin miễn phí, nhưng bản dịch không phải lúc nào cũng miễn phí. Một cuốn tiểu thuyết 300 trang gửi đến API trả phí sẽ bị tính phí như mọi lượt sử dụng API khác. Các hướng dẫn của chúng tôi về ChatGPT, Claude, và DeepSeek để dịch thuật giải thích những gì mỗi mô hình thường làm sai trong văn bản dài.

Chọn đầu ra chỉ có bản dịch hoặc song ngữ

Cài đặt Vị trí bản dịch quyết định hình dạng của cuốn sách:

Cài đặtKết quảPhù hợp cho
Dưới bản gốc (mặc định)Đoạn gốc, rồi đến bản dịch của nóNgười học ngôn ngữ và kiểm tra nhanh
Trên bản gốcBản dịch trước, rồi đến bản gốcĐọc bằng ngôn ngữ của bạn trong khi vẫn giữ bản gốc bên cạnh
Bên trái / Bên phải bản gốc (được đánh dấu Beta)Mỗi cặp trở thành một hàng bảng với một cột khoảng trốngChỉ dành cho màn hình rộng
Không có bản gốcBản dịch thay thế bản gốcĐọc một cuốn sách đã dịch

Nếu bạn muốn một cuốn sách chỉ để đọc, hãy đổi vị trí thành Không có bản gốc trước khi bắt đầu, vì mặc định sẽ tạo ra sách song ngữ.

Hãy cẩn thận với tùy chọn trái và phải. Trong bản gốc, mỗi cặp được dựng lại thành một hàng bảng với ba ô: bản gốc, khoảng trống, và bản dịch. Với khoảng trống mặc định 10%, mỗi cột văn bản rộng 45%. Trên điện thoại hoặc máy đọc sách 6 inch, nó trở thành hai dải văn bản hẹp. Hướng dẫn EPUB song ngữ của chúng tôi so sánh các bố cục song ngữ trụ vững trên màn hình nhỏ.

Plugin thay đổi những gì bên trong EPUB của bạn

Đây là phần mà các hướng dẫn chung thường bỏ qua. Bảng tóm tắt những gì v2.4.2 làm với từng loại nội dung, dựa trên mã nguồn (lib/element.py và lib/conversion.py tại tag v2.4.2).

Nội dung trong EPUB của bạnv2.4.2 làm gìCần kiểm tra gì
Đoạn văn, tiêu đề, trích dẫn khốiĐược trích xuất và dịch theo đơn vịKhông thiếu gì ở đầu và cuối chương
Khối <pre> và <code>Không được dịch (mặc định bỏ qua)Mẫu mã vẫn giữ nguyên ngôn ngữ gốc, điều này thường đúng
In nghiêng, in đậm, <span>, và liên kết bên trong đoạn vănVăn bản được dịch, nhưng các thẻ bị loại bỏ khỏi bản dịchNhấn mạnh, tiêu đề in nghiêng, và tham chiếu chéo trong đoạn văn đã dịch
Hình ảnh, <br>, <hr>, <sub>, <sup>, <abbr>, <math>, <svg>, và một vài thứ khácĐược thay bằng chỗ giữ chỗ như {{id_00000}} trước khi dịch, rồi được đặt lạiVăn bản {{id_…}} lạc hoặc hình ảnh bị thiếu, nếu một công cụ đã thay đổi chỗ giữ chỗ
Dấu chú thích được viết dưới dạng liên kết bao quanh chỉ số trênĐược giữ cùng nhau như một đơn vị được bảo vệLiên kết ghi chú vẫn nhảy đến các ghi chú
Dấu chú thích được viết dưới dạng liên kết không có chỉ số trênLiên kết bị làm phẳng như mọi liên kết nội tuyến khácSố chú thích không còn liên kết
Chú thích ruby (<rt>, <rp>)Đã xóa khỏi văn bản được gửi để dịchFurigana hoặc bính âm trong nguồn tiếng Nhật hoặc tiếng Trung
Đoạn chỉ có chữ số và dấu câuBị bỏ quaSố trang và dấu phân cách được giữ nguyên
Mục lụcĐã dịchTiêu đề chương trong menu điều hướng của trình đọc
Tiêu đề, tác giả và siêu dữ liệu khácChỉ được dịch nếu bạn bật dịch siêu dữ liệuMục thư viện và tiêu đề hiển thị của sách

Hai trong số những chi tiết này gây ra thiệt hại dễ thấy nhất.

Tại sao chữ nghiêng và liên kết biến mất. Với mỗi đoạn, plugin tạo văn bản cần dịch từ văn bản thuần của đoạn đó. Chỉ những thẻ nằm trong danh sách được bảo vệ mới được thay bằng placeholder. Một <em> hoặc <a> không được bảo vệ cũng không bị bỏ qua, nên các từ của nó được dịch và đánh dấu của nó bị mất. Ở chế độ song ngữ, đoạn gốc giữ nguyên định dạng, nên vấn đề chỉ lộ ra ở dòng đã dịch. Ở chế độ chỉ bản dịch, định dạng biến mất. Bạn có thể thêm selector trong Reserve Element, nhưng giữ nguyên một phần tử sẽ khiến nó không được dịch. Điều đó hữu ích với các cụm từ tiếng nước ngoài hoặc tên sách bạn muốn giữ nguyên, và sai với phần nhấn mạnh bạn muốn dịch.

Tại sao chú thích cuối trang có thể hỏng. Các nhà xuất bản đánh dấu tham chiếu chú thích cuối trang theo nhiều cách khác nhau. Plugin có một trường hợp đặc biệt cho liên kết chỉ bọc một chỉ số trên (<a href="#n1"><sup>1</sup></a>) và giữ nguyên liên kết đó. Một tham chiếu được viết là <a href="#n1" class="noteref">1</a> không có chỉ số trên, nên con số vẫn còn nhưng liên kết có thể không. Hãy kiểm tra chú thích trước khi bạn tin vào bản dịch chỉ có bản dịch của sách phi hư cấu. Với sách tiếng Nhật và tiếng Trung, hãy xem cách dịch chú thích ruby EPUB trước khi quyết định liệu mất furigana có chấp nhận được không.

Phần tử đã dịch cũng nhận thuộc tính lang cho ngôn ngữ đích và thuộc tính dir, giúp trình đọc sách điện tử chọn phông chữ và bố cục từ phải sang trái. Ở chế độ song ngữ, bản dịch không sao chép id của phần tử gốc, nên các neo hiện có vẫn trỏ đến đoạn gốc.

Cuối cùng, hướng dẫn chuyển đổi của Calibre mô tả cách chuyển đổi hoạt động: đầu vào được chuyển thành XHTML, biến đổi, rồi được ghi bởi một plugin đầu ra. Trong quá trình đó, các phép biến đổi của Calibre có thể tạo lại siêu dữ liệu và mục lục. Plugin dịch sau những phép biến đổi đó, ngay trước khi plugin đầu ra ghi tệp. Do đó, EPUB đã dịch của bạn là một cuốn sách được dựng lại, không phải tệp gốc của bạn với văn bản mới. Hướng dẫn của Calibre lưu ý rằng hệ thống chuyển đổi của nó "không phải là sự thay thế cho một trình biên tập sách điện tử đầy đủ".

Kiểm tra EPUB đã dịch trong năm phút

Đừng đánh giá kết quả từ chương đầu tiên. Hãy chạy so sánh cấu trúc giữa tệp gốc và tệp đã dịch. EPUB là một tệp ZIP, nên các công cụ dòng lệnh tiêu chuẩn có thể đếm đánh dấu ở mỗi bên:

mkdir src out
unzip -q original.epub -d src
unzip -q translated.epub -d out
for tag in '<em' '<i[ >]' '<strong' '<a ' '<sup' '<img' '<rt'; do
  s=$(grep -rhoE "$tag" src --include='*htm*' | wc -l)
  o=$(grep -rhoE "$tag" out --include='*htm*' | wc -l)
  printf '%-10s source=%-6s output=%s\n' "$tag" "$s" "$o"
done
grep -rho '{{id_[0-9]*}}' out | head

Cách đọc kết quả:

  • Đầu ra chỉ bản dịch có ít hơn hẳn <em>, <i> hoặc thẻ <a so với nguồn nghĩa là phần nhấn mạnh hoặc liên kết đã bị làm phẳng. Đó là điều dự kiến từ hành vi ở trên. Hãy quyết định liệu cuốn sách có thể sống thiếu chúng không.
  • Ít thẻ <img hơn ở đầu ra chỉ bản dịch nghĩa là một placeholder hình ảnh đã bị mất. Ở đầu ra song ngữ, hình ảnh có thể xuất hiện hai lần, nên hãy dựa vào tìm kiếm placeholder thay vì đếm. Tìm chương và sửa nó trong Chế độ nâng cao hoặc trình biên tập của Calibre.
  • Mọi văn bản {{id_…}} nghĩa là một engine đã thay đổi placeholder, nên phần tử được bảo vệ đã không được khôi phục.
  • Đầu ra song ngữ phải có ít nhất số thẻ bằng bản gốc, vì các đoạn văn gốc được giữ lại.

Mẫu <em cũng khớp với <embed, điều hiếm gặp trong sách nhưng đáng biết nếu số đếm trông lạ.

Sau đó chạy EPUBCheck của W3C trên tệp đã dịch. Mở nó trong trình đọc bạn thực sự dùng, và kiểm tra danh sách kiểm tra QA dịch EPUB: điều hướng, chú thích, hình ảnh, và đoạn cuối của mỗi chương. Nếu cuốn sách dành cho người khác, hãy thử nghiệm trên Kindle, Kobo và Apple Books.

Nếu bản dịch dừng giữa chừng

Plugin mặc định lưu đệm các đoạn đã dịch. Nếu mạng ngắt hoặc engine bắt đầu từ chối yêu cầu, hãy chạy lại cùng cuốn sách với cùng cài đặt. Những đoạn đã được lưu đệm sẽ không được dịch lại. Trên thực tế:

  1. Mở nhật ký tác vụ trong Jobs và tìm các lỗi lặp lại, thường chỉ ra việc bị giới hạn tốc độ hoặc khóa API hết hạn.
  2. Tăng Interval hoặc giảm Concurrency limit cho engine đó.
  3. Chạy lại cuốn sách. Bộ đệm sẽ tiếp tục từ chỗ đã dừng.
  4. Dùng Cache Manager để xóa bộ đệm của một cuốn sách chỉ khi bạn muốn bản dịch mới, ví dụ sau khi chỉnh sửa bảng thuật ngữ. Việc chuyển engine hoặc ngôn ngữ đích đã tự động bắt đầu một bộ đệm riêng.

Khi nào Calibre là công cụ phù hợp, và khi nào không

Dùng plugin Calibre khi:

  • cuốn sách không có DRM và đã có trong thư viện Calibre của bạn;
  • bạn muốn tự chọn và trả tiền cho engine;
  • bạn sẵn lòng xem lại các đoạn văn trong Chế độ Nâng cao; và
  • cuốn sách chủ yếu là văn xuôi thuần, nên việc mất định dạng nội tuyến không tốn kém lắm.

Tìm quy trình khác khi:

  • cuốn sách phụ thuộc vào định dạng nội tuyến, tham chiếu chéo, hoặc chú thích liên kết, như nhiều sách giáo khoa và sách học thuật;
  • tên và thuật ngữ phải nhất quán qua hàng trăm trang và bạn không muốn tự duy trì tệp bảng thuật ngữ;
  • bạn không muốn tự chạy kiểm tra và sửa chữa đánh dấu; hoặc
  • bạn không thoải mái với khóa API, giới hạn tốc độ, và nhật ký tác vụ.

Nếu danh sách thứ hai mô tả cuốn sách của bạn, một lựa chọn là tải EPUB lên BookTranslator và xem giá trước khi trả tiền. Các tác vụ đã hoàn thành cung cấp cả bản tải chỉ ngôn ngữ đích và bản song ngữ, và tên cùng thuật ngữ chính được giữ nhất quán bằng bảng thuật ngữ tích hợp thay vì tệp bạn tự viết. Đây là dịch vụ trả phí. Dù bạn dùng công cụ nào, hãy chạy cùng kiểm tra đánh dấu ở trên trên đầu ra, và xem lại bất kỳ bản dịch dài nào trước khi tin dùng. So sánh công cụ dịch EPUB đặt plugin Calibre, công cụ trình duyệt, và dịch vụ tệp cạnh nhau, nếu bạn muốn so sánh trước khi chọn.

Bài viết liên quan