BookTranslator
BookTranslator

چگونه یک EPUB را با Calibre ترجمه کنیم: راه‌اندازی افزونه، حالت‌های خروجی و بررسی فایل

Calibre کتاب‌های EPUB را از طریق افزونه شخص ثالث Ebook Translator ترجمه می‌کند. راه‌اندازی، انتخاب موتور و خروجی، آنچه نسخه ۲.۴.۲ با نشانه‌گذاری شما می‌کند، و نحوه بررسی نتیجه.

BookTranslator

BookTranslator Team

14 min read

Calibre به‌خودی‌خود کتاب ترجمه نمی‌کند. شما یک EPUB را در Calibre با Ebook Translator ترجمه می‌کنید، یک افزونه شخص ثالث از bookfere که در فهرست افزونه‌های Calibre ثبت شده است. آن را از Preferences → Plug-ins → Get new plugins نصب کنید، یک موتور ترجمه انتخاب کنید، تعیین کنید که ترجمه را به‌تنهایی می‌خواهید یا در کنار متن اصلی، و آن را روی یک EPUB بدون DRM اجرا کنید. یک EPUB جدید در کتابخانه Calibre خود دریافت می‌کنید.

راه‌اندازی آن بخش سریع ماجراست. آنچه بیشتر راهنماها نادیده می‌گیرند این است که افزونه در این مسیر با کتاب چه می‌کند. ما کد منبع نسخه فعلی (v2.4.2) را بررسی کردیم تا بفهمیم، و سه پیش‌فرض بیش از موتوری که انتخاب می‌کنید اهمیت دارند:

  1. خروجی پیش‌فرض دوزبانه است. هر پاراگراف ترجمه‌شده زیر متن اصلی قرار می‌گیرد، مگر اینکه تنظیم موقعیت را تغییر دهید.
  2. قالب‌بندی درون‌خطی در متن ترجمه‌شده از بین می‌رود. ایتالیک، بولد و پیوندهای داخل یک پاراگراف به ترجمه منتقل نمی‌شوند. فقط فهرست ثابتی از تگ‌ها، مانند تصاویر، شکست خط و بالانویس‌ها، محافظت شده و بازگردانده می‌شوند.
  3. هر اجرا یک تبدیل Calibre است. حتی EPUB به EPUB، افزونه کتاب را به خط لوله تبدیل Calibre می‌سپارد که فایل خروجی را از نو می‌سازد.

هیچ‌کدام از این‌ها افزونه را انتخاب بدی نمی‌کند. رایگان، متن‌باز (GPL-3.0) و بسیار قابل تنظیم است. اما باید بدانید پیش از خواندن یا به اشتراک گذاشتن نتیجه، چه چیزی را بررسی کنید.

نکته‌ای درباره روش: این راهنما بر پایه کد منبع نسخه v2.4.2 افزونه، مستندات رسمی آن و راهنمای Calibre نوشته شده است. ما برای این مقاله ترجمه زمان‌بندی‌شده‌ای اجرا نکردیم، بنابراین هیچ ادعایی درباره سرعت، کیفیت ترجمه یا اینکه کدام موتور بهترین نتیجه را می‌دهد، مطرح نمی‌کند.

آنچه پیش از شروع نیاز دارید

نیازمندیجزئیات
Calibreنسخه ۵.۰.۰ یا بالاتر. این حداقل نسخه ذکرشده برای v2.4.2 در فهرست افزونه‌های Calibre است که تاریخ انتشار را ۷ اوت ۲۰۲۶ نشان می‌دهد.
یک EPUB بدون DRMافزونه روی فایل‌های کتاب در کتابخانه Calibre شما کار می‌کند. خریدی که با DRM قفل شده باشد ترجمه نمی‌شود. ابتدا فایل را برای DRM بررسی کنید.
یک موتور ترجمهبرخی موتورها بدون حساب کاربری کار می‌کنند (نقاط پایانی رایگان Google، DeepL و Microsoft Edge). بقیه به کلید API نیاز دارند و ارائه‌دهنده به‌طور جداگانه از شما صورت‌حساب می‌کند.
زمان برای بازبینیبرای خواندن و بررسی خروجی برنامه‌ریزی کنید. افزونه پاراگراف به پاراگراف ترجمه می‌کند. این یک مرحله بازبینی نیست.

افزونه قالب‌های دیگری را هم که Calibre می‌تواند بخواند می‌پذیرد، مانند MOBI یا AZW3. چون کتاب در هر صورت از تبدیل Calibre عبور می‌کند، شروع از یک EPUB تمیز قابل‌پیش‌بینی‌ترین خروجی را به شما می‌دهد.

افزونه Ebook Translator را نصب کنید

مستندات افزونه دو روش برای نصب آن ارائه می‌دهد:

  1. از داخل Calibre (توصیه‌شده): Preferences → Plug-ins → Get new plugins را باز کنید، Ebook Translator را جستجو کنید، روی Install کلیک کنید، سپس Calibre را دوباره راه‌اندازی کنید.
  2. از یک فایل: فایل ZIP را از صفحه اصلی افزونه دانلود کنید، سپس از مسیر Preferences → Plug-ins → Load plug-in from file استفاده کنید و برنامه را دوباره راه‌اندازی کنید.

اگر افزونه در نوار ابزار ظاهر نشد، آن را از مسیر Preferences → Toolbars & menus → The main toolbar اضافه کنید.

Calibre نویسنده افزونه را bookfere.com معرفی می‌کند. تیم Calibre آن را نگهداری نمی‌کند. مشکلات را به مخزن GitHub افزونه گزارش دهید، نه به Calibre.

حالت دسته‌ای یا حالت پیشرفته

افزونه دو روش برای اجرای ترجمه دارد:

  • حالت دسته‌ای: یک یا چند کتاب را انتخاب کنید، زبان مقصد و قالب خروجی را تنظیم کنید و روی Translate کلیک کنید. کار در صف وظایف Calibre اجرا می‌شود. از این حالت برای پیش‌نویس اولیه کل کتابی که قصد دارید یک بار بخوانید استفاده کنید.
  • حالت پیشرفته: پاراگراف‌های یک کتاب را در یک جدول استخراج کنید، همه آن‌ها یا فقط موارد انتخاب‌شده را ترجمه کنید، هر ترجمه را به‌صورت دستی ویرایش کنید، سپس روی Output کلیک کنید. زمانی از این حالت استفاده کنید که کتاب اهمیت دارد، مثلاً وقتی چند فصل نیاز به ترجمه مجدد دارند یا نام‌ها باید اصلاح شوند، زیرا می‌توانید پاراگراف‌ها را قبل از نوشته شدن EPUB اصلاح کنید.

اگر در هر صورت ترجمه را بازبینی می‌کنید، حالت پیشرفته به شما اجازه می‌دهد اصلاحات را در خود افزونه انجام دهید. با حالت دسته‌ای، این کار را بعداً در ویرایشگر Calibre انجام می‌دهید.

انتخاب موتور ترجمه

موتور رایگان Google به‌صورت پیش‌فرض انتخاب شده است. نسخه 2.4.2 این موتورها را ارائه می‌دهد (نام‌ها همان‌طور که در افزونه ظاهر می‌شوند):

گروه موتورموتورهاآنچه نیاز دارید
رایگان، بدون کلیدGoogle (Free) در سه نوع، DeepL (Free)، Microsoft Edge (Free)هیچ‌چیز؛ محدودیت‌ها توسط سرویس تعیین می‌شوند و ممکن است تغییر کنند
APIهای ترجمه ماشینیGoogle (Basic)، Google (Basic) ADC، Google (Advanced) ADC، DeepL، DeepL (Pro)، Youdao، Baiduیک حساب کاربری و کلید API، یا اعتبارنامه‌های Google Cloud برای گزینه‌های ADC؛ صورت‌حساب توسط ارائه‌دهنده
مدل‌های زبانی بزرگChatGPT (OpenAI)، ChatGPT (Azure)، Gemini، Claude (Anthropic)، DeepSeek (Chat)یک کلید API؛ صورت‌حساب بر اساس توکن توسط ارائه‌دهنده
سفارشیهر نقطه پایانی HTTP که پیکربندی می‌کنیدنقطه پایانی و تجزیه پاسخ خودتان

پیش‌فرض‌هایی که بر یک کتاب طولانی اثر می‌گذارند:

  • فاصله بین درخواست‌ها به موتور بستگی دارد. در کد منبع نسخه ۲.۴.۲، این مقدار برای ChatGPT (OpenAI و Azure) ۲۰ ثانیه، برای Claude ۱۲ ثانیه، برای Gemini و DeepL (رایگان) ۱ ثانیه و برای بیشتر موارد دیگر ۰ است. مستندات پیشنهاد می‌کند اگر سرویس شروع به رد درخواست‌ها کرد، این مقدار را افزایش دهید.
  • تعداد تلاش‌ها ۳ است و اجرا پس از ۱۰ خطای متوالی متوقف می‌شود. تعداد توقف را روی ۰ تنظیم کنید تا هرگز به‌طور خودکار متوقف نشود.
  • مهلت زمانی نیز به موتور بستگی دارد: ۶۰ ثانیه برای ChatGPT و DeepSeek، ۳۰ ثانیه برای Claude و Gemini و ۱۰ ثانیه برای بقیه.
  • ادغام برای ترجمه خاموش است. وقتی روشن باشد، افزونه پاراگراف‌ها را در دسته‌هایی تا ۱۸۰۰ کاراکتر ارسال می‌کند. دسته‌ها به یک LLM زمینه اطراف بیشتری در هر درخواست می‌دهند، اما یک پاسخ بد سپس چندین پاراگراف را همزمان تحت تأثیر قرار می‌دهد.
  • واژه‌نامه خاموش است. وقتی روشن باشد، یک فایل متنی ساده را می‌خواند. یک اصطلاح و ترجمه‌اش در دو خط قرار می‌گیرند، اصطلاحی که باید ترجمه نشود در یک خط قرار می‌گیرد و ورودی‌ها با خطوط خالی از هم جدا می‌شوند.

افزونه رایگان است، اما ترجمه همیشه رایگان نیست. یک رمان ۳۰۰ صفحه‌ای که به یک API پولی فرستاده می‌شود، مانند هر استفاده دیگر از API صورتحساب می‌شود. راهنماهای ما برای ChatGPT، Claude و DeepSeek برای ترجمه توضیح می‌دهند که هر مدل معمولاً در متن‌های طولانی چه اشتباهی مرتکب می‌شود.

خروجی فقط مقصد یا دوزبانه را انتخاب کنید

تنظیم موقعیت ترجمه شکل کتاب را تعیین می‌کند:

تنظیمنتیجهمناسب برای
زیر متن اصلی (پیش‌فرض)پاراگراف اصلی، سپس ترجمه آنزبان‌آموزان و بررسی موردی
بالای متن اصلیابتدا ترجمه، سپس متن اصلیخواندن به زبان خودتان در حالی که منبع را نزدیک نگه می‌دارید
چپ / راست متن اصلی (با برچسب بتا)هر جفت به یک ردیف جدول با یک ستون فاصله تبدیل می‌شودفقط صفحه‌های عریض
بدون متن اصلیترجمه جایگزین متن اصلی می‌شودخواندن یک کتاب ترجمه‌شده

اگر کتابی می‌خواهید که فقط آن را بخوانید، پیش از شروع، حالت را به بدون متن اصلی تغییر دهید، زیرا حالت پیش‌فرض یک کتاب دوزبانه تولید می‌کند.

مراقب گزینه‌های چپ و راست باشید. در فایل منبع، هر جفت به‌صورت یک ردیف جدول با سه خانه بازسازی می‌شود: متن اصلی، یک فاصله، و ترجمه. با فاصله پیش‌فرض ۱۰٪، عرض هر ستون متن ۴۵٪ است. روی گوشی یا کتاب‌خوان ۶ اینچی، این به دو نوار باریک متن تبدیل می‌شود. راهنمای ترجمه دوزبانه EPUB ما چیدمان‌های دوزبانه‌ای را مقایسه می‌کند که روی صفحه‌های کوچک دوام می‌آورند.

افزونه چه چیزی را درون EPUB شما تغییر می‌دهد

این همان بخشی است که آموزش‌های عمومی از آن صرف‌نظر می‌کنند. جدول خلاصه می‌کند که نسخه ۲.۴.۲ با هر نوع محتوا چه می‌کند، بر اساس کد منبع (lib/element.py و lib/conversion.py در برچسب v2.4.2).

محتوای موجود در EPUB شمانسخه ۲.۴.۲ چه می‌کندچه چیزی را بررسی کنید
پاراگراف‌ها، سرتیترها، نقل‌قول‌های بلوکیبه‌عنوان واحد استخراج و ترجمه می‌شوندهیچ چیزی در ابتدا و انتهای فصل‌ها جا نیفتاده باشد
بلوک‌های <pre> و <code>ترجمه نمی‌شوند (به‌طور پیش‌فرض نادیده گرفته می‌شوند)نمونه‌های کد به زبان مبدأ باقی می‌مانند، که معمولاً درست است
ایتالیک، بولد، <span>، و پیوندهای درون یک پاراگرافمتن ترجمه می‌شود، اما برچسب‌ها از ترجمه حذف می‌شوندتأکید، عنوان‌های ایتالیک، و ارجاعات متقابل درون‌متنی در پاراگراف ترجمه‌شده
تصاویر، <br>، <hr>، <sub>، <sup>، <abbr>، <math>، <svg>، و چند مورد دیگرپیش از ترجمه با جایگزین‌هایی مانند {{id_00000}} عوض می‌شوند، سپس بازگردانده می‌شوندمتن سرگردان {{id_…}} یا تصاویر گم‌شده، اگر موتور ترجمه جایگزینی را تغییر داده باشد
نشانگر پانویس که به‌صورت پیوندی حول یک بالانویس نوشته شده استبه‌عنوان یک واحد محافظت‌شده کنار هم نگه داشته می‌شوندپیوندهای یادداشت هنوز به یادداشت‌ها می‌پرند
نشانگر پانویس که به‌صورت پیوندی بدون بالانویس نوشته شده استپیوند مانند هر پیوند درون‌خطی دیگری تخت می‌شودشماره‌های یادداشتی که دیگر پیوند ندارند
حاشیه‌نویسی‌های روبی (<rt>، <rp>)از متن ارسالی برای ترجمه حذف می‌شوندفوریگانا یا پین‌یین در منابع ژاپنی یا چینی
پاراگراف‌هایی که فقط شامل رقم و نشانه‌گذاری هستندرد می‌شوندشماره‌های صفحه و جداکننده‌ها به همان شکل باقی می‌مانند
مدخل‌های فهرست مطالبترجمه می‌شوندعنوان فصل‌ها در منوی ناوبری خواننده
عنوان، نویسنده و سایر فراداده‌هافقط در صورتی ترجمه می‌شوند که ترجمه فراداده را فعال کنیدمدخل کتابخانه و عنوان نمایش‌داده‌شده کتاب

دو مورد از این جزئیات بیشترین آسیب قابل‌مشاهده را ایجاد می‌کنند.

چرا ایتالیک‌ها و پیوندها ناپدید می‌شوند. برای هر پاراگراف، افزونه متن قابل ترجمه را از متن ساده پاراگراف می‌سازد. فقط تگ‌های موجود در فهرست محافظت‌شده‌اش با نگهدارنده جایگزین می‌شوند. یک <em> یا <a> نه محافظت‌شده است و نه نادیده‌گرفته‌شده، بنابراین واژه‌هایش ترجمه می‌شوند و نشانه‌گذاری‌اش از دست می‌رود. در حالت دوزبانه، پاراگراف اصلی قالب‌بندی خود را حفظ می‌کند، پس مشکل فقط در خط ترجمه‌شده نمایان می‌شود. در حالت فقط مقصد، قالب‌بندی از بین رفته است. می‌توانید انتخابگرها را زیر Reserve Element اضافه کنید، اما رزرو کردن یک عنصر آن را ترجمه‌نشده نگه می‌دارد. این برای عبارات خارجی یا عنوان کتاب‌هایی که می‌خواهید نگه دارید مفید است و برای تأکیدی که می‌خواهید ترجمه شود نادرست است.

چرا پانویس‌ها ممکن است خراب شوند. ناشران ارجاع‌های پانویس را به روش‌های مختلف علامت‌گذاری می‌کنند. افزونه یک حالت خاص برای پیوندی دارد که فقط یک بالانویس را در بر می‌گیرد (<a href="#n1"><sup>1</sup></a>) و آن پیوند را دست‌نخورده نگه می‌دارد. ارجاعی که به صورت <a href="#n1" class="noteref">1</a> نوشته شده باشد بالانویس ندارد، بنابراین شماره باقی می‌ماند اما ممکن است پیوند باقی نماند. پیش از اعتماد به ترجمه فقط مقصد یک کتاب غیرداستانی، یادداشت‌ها را بررسی کنید. برای کتاب‌های ژاپنی و چینی، پیش از تصمیم‌گیری درباره قابل‌قبول بودن از دست رفتن فوریگانا، نحوه ترجمه حاشیه‌نویسی‌های روبی EPUB را ببینید.

عنصر ترجمه‌شده همچنین یک ویژگی lang برای زبان مقصد و یک ویژگی dir دریافت می‌کند که به کتاب‌خوان‌های الکترونیکی در انتخاب قلم و چیدمان راست‌به‌چپ کمک می‌کند. در حالت دوزبانه، ترجمه id عنصر اصلی را کپی نمی‌کند، بنابراین لنگرهای موجود همچنان به پاراگراف اصلی اشاره می‌کنند.

در پایان، راهنمای تبدیل Calibre توضیح می‌دهد که تبدیل چگونه کار می‌کند: ورودی به XHTML تبدیل می‌شود، تغییر می‌یابد و سپس توسط یک افزونه خروجی نوشته می‌شود. در این مسیر، تبدیل‌های Calibre می‌توانند فراداده و فهرست مطالب را بازتولید کنند. افزونه پس از آن تبدیل‌ها، درست پیش از نوشتن فایل توسط افزونه خروجی، ترجمه می‌کند. بنابراین EPUB ترجمه‌شده شما یک کتاب بازساخته‌شده است، نه فایل اصلی شما با متن جدید. راهنمای Calibre اشاره می‌کند که سیستم تبدیل آن «جایگزینی برای یک ویرایشگر کامل کتاب الکترونیکی نیست.»

EPUB ترجمه‌شده را در پنج دقیقه بررسی کنید

نتیجه را از فصل اول قضاوت نکنید. یک مقایسه ساختاری بین فایل اصلی و فایل ترجمه‌شده انجام دهید. EPUB یک آرشیو ZIP است، بنابراین ابزارهای خط فرمان استاندارد می‌توانند نشانه‌گذاری هر طرف را بشمارند:

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

نحوه خواندن نتیجه:

  • خروجی فقط مقصد با تعداد بسیار کمتری تگ <em>، <i> یا <a نسبت به منبع به معنای تخت‌شدن تأکید یا پیوندهاست. این از رفتار بالا انتظار می‌رود. تصمیم بگیرید که آیا کتاب می‌تواند بدون آن‌ها زندگی کند.
  • تگ‌های کمتر <img در خروجی فقط مقصد به معنای از دست رفتن یک نگهدارنده تصویر است. در خروجی دوزبانه، تصاویر می‌توانند دو بار ظاهر شوند، بنابراین به جای آن بر جستجوی نگهدارنده تکیه کنید. فصل را پیدا کنید و آن را در حالت پیشرفته یا ویرایشگر Calibre اصلاح کنید.
  • هر متن {{id_…}} یعنی یک موتور جای‌نگهدار را تغییر داده، پس عنصر محافظت‌شده بازیابی نشده است.
  • خروجی دوزبانه باید حداقل به اندازهٔ مبدأ تگ داشته باشد، چون پاراگراف‌های اصلی حفظ می‌شوند.

الگوی <em با <embed هم مطابقت می‌کند، که در کتاب‌ها نادر است اما اگر شمارشی عجیب به نظر برسد دانستنش ارزش دارد.

سپس EPUBCheck وب‌کنسرسیوم را روی فایل ترجمه‌شده اجرا کنید. آن را در همان خواننده‌ای باز کنید که واقعاً استفاده خواهید کرد، و چک‌لیست تضمین کیفیت ترجمهٔ EPUB را بررسی کنید: ناوبری، یادداشت‌ها، تصاویر، و آخرین پاراگراف هر فصل. اگر کتاب برای دیگران است، آن را روی Kindle، Kobo و Apple Books آزمایش کنید.

اگر ترجمه در میانهٔ راه متوقف شود

افزونه به‌طور پیش‌فرض پاراگراف‌های ترجمه‌شده را در حافظهٔ نهان ذخیره می‌کند. اگر شبکه قطع شود یا موتور شروع به رد درخواست‌ها کند، همان کتاب را با همان تنظیمات دوباره اجرا کنید. پاراگراف‌هایی که قبلاً ذخیره شده‌اند دوباره ترجمه نمی‌شوند. در عمل:

  1. گزارش کار را زیر Jobs باز کنید و به دنبال خطاهای تکراری بگردید، که معمولاً به محدودسازی نرخ یا کلید API منقضی اشاره دارند.
  2. برای آن موتور Interval را افزایش دهید یا Concurrency limit را کاهش دهید.
  3. کتاب را دوباره اجرا کنید. حافظهٔ نهان از همان‌جا که متوقف شده ادامه می‌دهد.
  4. از Cache Manager فقط زمانی برای پاک کردن حافظهٔ نهان یک کتاب استفاده کنید که ترجمهٔ تازه می‌خواهید، مثلاً پس از ویرایش واژه‌نامه. تغییر موتور یا زبان مقصد از قبل حافظهٔ نهان جداگانه‌ای آغاز می‌کند.

چه زمانی Calibre ابزار مناسب است و چه زمانی نیست

از افزونهٔ Calibre استفاده کنید وقتی:

  • کتاب بدون DRM است و از قبل در کتابخانهٔ Calibre شما قرار دارد؛
  • می‌خواهید خودتان موتور را انتخاب و هزینه‌اش را پرداخت کنید؛
  • مایلید پاراگراف‌ها را در حالت پیشرفته بازبینی کنید؛ و
  • کتاب عمدتاً نثر ساده است، پس از دست دادن قالب‌بندی درون‌خطی هزینهٔ کمی دارد.

به دنبال گردش‌کار دیگری باشید وقتی:

  • کتاب به قالب‌بندی درون‌خطی، ارجاعات متقابل، یا یادداشت‌های پیوندی وابسته است، همان‌طور که بسیاری از کتاب‌های درسی و دانشگاهی هستند؛
  • نام‌ها و اصطلاحات باید در صدها صفحه یکدست بمانند و نمی‌خواهید خودتان یک فایل واژه‌نامه نگه دارید؛
  • ترجیح می‌دهید خودتان بررسی و تعمیر نشانه‌گذاری را انجام ندهید؛ یا
  • با کلیدهای API، محدودیت‌های نرخ، و گزارش‌های کار راحت نیستید.

اگر فهرست دوم کتاب شما را توصیف می‌کند، یک گزینه این است که EPUB را در BookTranslator بارگذاری کنید و پیش از پرداخت قیمت را ببینید. کارهای تمام‌شده هم دانلود فقط مقصد و هم دانلود دوزبانه ارائه می‌دهند، و نام‌ها و اصطلاحات کلیدی با یک واژه‌نامهٔ داخلی به‌جای فایلی که خودتان بنویسید یکدست نگه داشته می‌شوند. این یک سرویس پرداختی است. هر ابزاری که استفاده می‌کنید، همان بررسی نشانه‌گذاری بالا را روی خروجی اجرا کنید، و هر ترجمهٔ طولانی را پیش از اتکا به آن بازبینی کنید. مقایسهٔ ابزارهای ترجمهٔ EPUB افزونهٔ Calibre، ابزارهای مرورگر، و سرویس‌های فایل را کنار هم می‌گذارد، اگر می‌خواهید پیش از انتخاب مقایسه کنید.

مطالب مرتبط