BookTranslator
BookTranslator

Cum să traduci un EPUB cu Calibre: instalarea pluginului, moduri de ieșire și verificarea fișierelor

Calibre traduce EPUB-uri prin pluginul terță parte Ebook Translator. Instalarea, opțiunile de motor și de ieșire, ce face versiunea v2.4.2 cu marcajul tău și cum să verifici rezultatul.

BookTranslator

BookTranslator Team

13 min read

Calibre nu traduce cărți de unul singur. Traduci un EPUB în Calibre cu Ebook Translator, un plugin terță parte creat de bookfere, listat în indexul de pluginuri al Calibre. Instalează-l din Preferences → Plug-ins → Get new plugins, alege un motor de traducere, selectează dacă vrei doar traducerea sau alături de original și rulează-l pe un EPUB fără DRM. Vei obține un EPUB nou în biblioteca ta Calibre.

Instalarea este partea rapidă. Ce omit majoritatea ghidurilor este ce face pluginul cu cartea pe parcurs. Am citit codul sursă al versiunii actuale (v2.4.2) pentru a afla, iar trei setări implicite contează mai mult decât motorul pe care îl alegi:

  1. Ieșirea implicită este bilingvă. Fiecare paragraf tradus este plasat sub original, dacă nu modifici setarea de poziție.
  2. Formatarea în linie este aplatizată în textul tradus. Cursivele, aldinele și linkurile dintr-un paragraf nu sunt preluate în traducere. Doar o listă fixă de etichete, cum ar fi imaginile, întreruperile de linie și exponenții, este protejată și pusă la loc.
  3. Fiecare rulare este o conversie Calibre. Chiar și EPUB către EPUB, pluginul predă cartea către pipeline-ul de conversie al Calibre, care reconstruiește fișierul de ieșire.

Nimic din toate acestea nu face pluginul o alegere proastă. Este gratuit, open source (GPL-3.0) și foarte configurabil. Dar ar trebui să știi ce să verifici înainte de a citi rezultatul sau de a-l distribui.

O notă despre metodă: acest ghid se bazează pe codul sursă al pluginului v2.4.2, pe documentația sa oficială și pe manualul Calibre. Nu am rulat o traducere cronometrată pentru acest articol, așa că nu face afirmații despre viteză, calitatea traducerii sau care motor oferă cel mai bun rezultat.

Ce ai nevoie înainte de a începe

CerințăDetaliu
CalibreVersiunea 5.0.0 sau mai recentă. Acesta este minimul listat pentru v2.4.2 în indexul de pluginuri Calibre, care arată data lansării ca 7 aug. 2026.
Un EPUB fără DRMPluginul funcționează pe fișierele de carte din biblioteca ta Calibre. O achiziție dintr-un magazin blocată cu DRM nu va fi tradusă. Verifică mai întâi fișierul pentru DRM.
Un motor de traducereUnele motoare funcționează fără cont (Google, DeepL și endpoint-urile gratuite Microsoft Edge). Celelalte necesită o cheie API, iar furnizorul te facturează separat.
Timp pentru verificarePlanifică să citești și să verifici rezultatul. Pluginul traduce paragraf cu paragraf. Nu este un pas de verificare.

Pluginul acceptă și alte formate pe care Calibre le poate citi, cum ar fi MOBI sau AZW3. Deoarece cartea trece prin conversia Calibre în orice caz, pornind de la un EPUB curat obții cel mai previzibil rezultat.

Instalează pluginul Ebook Translator

Documentația pluginului oferă două modalități de instalare:

  1. Din interiorul Calibre (recomandat): deschide Preferences → Plug-ins → Get new plugins, caută Ebook Translator, apasă Install, apoi repornește Calibre.
  2. Dintr-un fișier: descarcă arhiva ZIP de pe pagina principală a pluginului, apoi folosește Preferences → Plug-ins → Load plug-in from file și repornește.

Dacă pluginul nu apare pe bara de instrumente, adaugă-l în Preferences → Toolbars & menus → The main toolbar.

Calibre listează autorul pluginului ca bookfere.com. Echipa Calibre nu îl întreține. Raportează problemele către depozitul GitHub al pluginului, nu către Calibre.

Modul Batch sau modul Avansat

Pluginul are două moduri de a rula o traducere:

  • Modul Batch: selectează una sau mai multe cărți, setează limba țintă și formatul de ieșire, apoi apasă Translate. Sarcina rulează în coada de lucrări a Calibre. Folosește acest mod pentru o primă versiune a unei cărți întregi pe care intenționezi să o citești o singură dată.
  • Modul Avansat: extrage paragrafele unei cărți într-un tabel, traduce toate sau doar cele selectate, editează manual orice traducere, apoi apasă Output. Folosește acest mod când cartea contează, de exemplu când câteva capitole trebuie retraduse sau numele trebuie corectate, pentru că poți corecta paragrafele înainte ca EPUB-ul să fie scris.

Dacă vei revizui oricum traducerea, modul Avansat îți permite să faci corecturi în plugin. Cu modul Batch, le-ai face mai târziu în editorul Calibre.

Alege un motor de traducere

Un motor Google gratuit este implicit. Versiunea 2.4.2 oferă aceste motoare (numele așa cum apar în plugin):

Grup de motoareMotoareCe îți trebuie
Gratuit, fără cheieGoogle (Free) în trei variante, DeepL (Free), Microsoft Edge (Free)Nimic; limitele sunt stabilite de serviciu și se pot schimba
API-uri de traducere automatăGoogle (Basic), Google (Basic) ADC, Google (Advanced) ADC, DeepL, DeepL (Pro), Youdao, BaiduUn cont și o cheie API, sau credențiale Google Cloud pentru opțiunile ADC; facturate de furnizor
LLM-uriChatGPT (OpenAI), ChatGPT (Azure), Gemini, Claude (Anthropic), DeepSeek (Chat)O cheie API; facturată per token de furnizor
PersonalizatOrice endpoint HTTP pe care îl configureziPropriul dvs. endpoint și analiza răspunsului

Valori implicite care afectează o carte lungă:

  • Intervalul dintre cereri depinde de motor. În sursa v2.4.2 este de 20 de secunde pentru ChatGPT (OpenAI și Azure), 12 secunde pentru Claude, 1 secundă pentru Gemini și DeepL (Free) și 0 pentru majoritatea celorlalte. Documentația sugerează să îl măriți dacă serviciul începe să respingă cererile.
  • Numărul de încercări este 3, iar rularea se întrerupe după 10 erori consecutive. Setați numărul de întreruperi la 0 pentru a nu se opri niciodată automat.
  • Timeout-ul depinde și el de motor: 60 de secunde pentru ChatGPT și DeepSeek, 30 de secunde pentru Claude și Gemini și 10 secunde pentru restul.
  • Fuzionare pentru traducere este dezactivată. Când este activată, pluginul trimite paragrafe în loturi de până la 1.800 de caractere. Loturile oferă unui LLM mai mult context înconjurător per cerere, dar un răspuns prost afectează apoi mai multe paragrafe deodată.
  • Glosarul este dezactivat. Când este activat, citește un fișier text simplu. Un termen și traducerea lui se pun pe două linii, un termen care trebuie lăsat netradus se pune pe o singură linie, iar intrările sunt separate prin linii goale.

Pluginul este gratuit, dar traducerea nu este întotdeauna gratuită. Un roman de 300 de pagini trimis către un API plătit este facturat ca orice altă utilizare a API-ului. Ghidurile noastre pentru ChatGPT, Claude și DeepSeek pentru traducere explică ce tinde să greșească fiecare model în textele lungi.

Alegeți ieșire doar în limba țintă sau bilingvă

Setarea Poziția traducerii decide forma cărții:

SetareRezultatBun pentru
Sub original (implicit)Paragraful original, apoi traducerea luiCei care învață limbi străine și verificarea rapidă
Deasupra originaluluiTraducerea mai întâi, apoi originalulCititul în limba dvs. păstrând sursa aproape
Stânga / Dreapta originalului (marcat Beta)Fiecare pereche devine un rând de tabel cu o coloană de spațiereDoar pentru ecrane late
Fără originalTraducerea înlocuiește originalulCitirea unei cărți traduse

Dacă vrei o carte pe care să o citești pur și simplu, schimbă poziția în Fără original înainte de a începe, deoarece setarea implicită produce o carte bilingvă.

Fii atent la opțiunile stânga și dreapta. În sursă, fiecare pereche este reconstruită ca un rând de tabel cu trei celule: original, un spațiu și traducere. Cu spațiul implicit de 10%, coloanele de text au fiecare 45% lățime. Pe un telefon sau un e-reader de 6 inch, aceasta devine două benzi înguste de text. Ghidul nostru pentru EPUB bilingv compară aspectele bilingve care rezistă pe ecrane mici.

Ce modifică pluginul în interiorul EPUB-ului tău

Aceasta este partea pe care tutorialele generice o omit. Tabelul rezumă ce face v2.4.2 pentru fiecare tip de conținut, pe baza codului sursă (lib/element.py și lib/conversion.py la tag-ul v2.4.2).

Conținut în EPUB-ul tăuCe face v2.4.2Ce să verifici
Paragrafe, titluri, citateExtrase și traduse ca unitățiNimic lipsă la începutul și sfârșitul capitolelor
Blocuri <pre> și <code>Nu sunt traduse (ignorate implicit)Mostrele de cod rămân în limba sursă, ceea ce este de obicei corect
Italic, bold, <span> și linkuri în interiorul unui paragrafTextul este tradus, dar etichetele sunt eliminate din traducereAccentul, titlurile în italic și referințele încrucișate din text în paragraful tradus
Imagini, <br>, <hr>, <sub>, <sup>, <abbr>, <math>, <svg> și câteva alteleÎnlocuite cu substituenți precum {{id_00000}} înainte de traducere, apoi puse la locText {{id_…}} rătăcit sau imagini lipsă, dacă un motor a modificat un substituent
Marcaj de notă de subsol scris ca un link în jurul unui superscriptPăstrate împreună ca o singură unitate protejatăLinkurile notelor încă duc la note
Marcaj de notă de subsol scris ca un link fără superscriptLinkul este aplatizat ca orice alt link inlineNumerele de notă care nu mai sunt linkuri
Adnotări ruby (<rt>, <rp>)Eliminate din textul trimis pentru traducereFurigana sau pinyin în sursele japoneze sau chineze
Paragrafe formate doar din cifre și semne de punctuațieOmiseNumerele de pagină și separatoarele sunt lăsate așa cum sunt
Intrările din cuprinsTraduseTitlurile capitolelor din meniul de navigare al cititorului
Titlul, autorul și alte metadateTraduse doar dacă activezi traducerea metadatelorIntrarea din bibliotecă și titlul afișat al cărții

Două dintre aceste detalii cauzează cele mai vizibile daune.

De ce dispar cursivele și linkurile. Pentru fiecare paragraf, pluginul construiește textul de tradus din textul simplu al paragrafului. Doar etichetele din lista sa protejată sunt înlocuite cu substituenți. Un <em> sau <a> nu este nici protejat, nici ignorat, așa că textul său este tradus și formatarea sa se pierde. În modul bilingv, paragraful original își păstrează formatarea, așa că problema apare doar în linia tradusă. În modul doar-țintă, formatarea dispare. Poți adăuga selectori la Reserve Element, dar rezervarea unui element îl păstrează netradus. Acest lucru este util pentru expresii străine sau titluri de cărți pe care vrei să le păstrezi, și greșit pentru accentuarea pe care vrei să o traduci.

De ce se pot strica notele de subsol. Editorii marchează referințele la note de subsol în moduri diferite. Pluginul are un caz special pentru un link care înfășoară doar un superscript (<a href="#n1"><sup>1</sup></a>) și păstrează acel link intact. O referință scrisă ca <a href="#n1" class="noteref">1</a> nu are superscript, așa că numărul supraviețuiește, dar linkul s-ar putea să nu. Verifică notele înainte de a avea încredere într-o traducere doar-țintă de non-ficțiune. Pentru cărțile japoneze și chineze, vezi cum să traduci adnotările ruby EPUB înainte de a decide dacă pierderea furiganei este acceptabilă.

Elementul tradus primește, de asemenea, un atribut lang pentru limba țintă și un atribut dir, ceea ce ajută cititoarele electronice să aleagă fonturile și aspectul de la dreapta la stânga. În modul bilingv, traducerea nu copiază id-ul elementului original, așa că ancorele existente indică în continuare paragraful original.

În final, manualul de conversie al Calibre descrie cum funcționează conversia: intrarea este transformată în XHTML, modificată și apoi scrisă de un plugin de ieșire. Pe parcurs, transformările Calibre pot regenera metadatele și cuprinsul. Pluginul traduce după aceste transformări, chiar înainte ca pluginul de ieșire să scrie fișierul. EPUB-ul tău tradus este, prin urmare, o carte reconstruită, nu fișierul tău original cu text nou. Manualul Calibre notează că sistemul său de conversie „nu este un substitut pentru un editor de cărți electronice complet”.

Verifică EPUB-ul tradus în cinci minute

Nu judeca rezultatul după primul capitol. Fă o comparație structurală între fișierul original și cel tradus. Un EPUB este o arhivă ZIP, așa că instrumentele standard de linie de comandă pot număra marcajele de fiecare parte:

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

Cum să interpretezi rezultatul:

  • Ieșirea doar-țintă cu mult mai puține etichete <em>, <i> sau <a decât sursa înseamnă accentuare sau linkuri aplatizate. Acest lucru este de așteptat din comportamentul de mai sus. Decide dacă cartea poate exista fără ele.
  • Mai puține etichete <img în ieșirea doar-țintă înseamnă că un substituent de imagine a fost pierdut. În ieșirea bilingvă, imaginile pot apărea de două ori, așa că bazează-te pe căutarea substituenților. Găsește capitolul și corectează-l în Modul avansat sau în editorul Calibre.
  • Orice text {{id_…}} înseamnă că un motor a modificat un substituent, astfel încât elementul protejat nu a fost restaurat.
  • Ieșirea bilingvă ar trebui să aibă cel puțin tot atâtea etichete câte are sursa, deoarece paragrafele originale sunt păstrate.

Modelul <em se potrivește și cu <embed, ceea ce este rar în cărți, dar merită știut dacă un număr pare ciudat.

Apoi rulați EPUBCheck al W3C pe fișierul tradus. Deschideți-l în cititorul pe care îl veți folosi de fapt și verificați lista de verificare pentru controlul calității traducerii EPUB: navigarea, notele, imaginile și ultimul paragraf al fiecărui capitol. Dacă cartea este pentru alte persoane, testați-o pe Kindle, Kobo și Apple Books.

Dacă traducerea se oprește la jumătate

Modulul memorează în cache paragrafele traduse în mod implicit. Dacă rețeaua cade sau motorul începe să respingă cererile, rulați din nou aceeași carte cu aceleași setări. Paragrafele care sunt deja în cache nu sunt traduse din nou. În practică:

  1. Deschideți jurnalul activității la Jobs și căutați erori repetate, care de obicei indică limitarea ratei sau o cheie API expirată.
  2. Măriți Interval sau reduceți Concurrency limit pentru acel motor.
  3. Rulați din nou cartea. Cache-ul reia de unde s-a oprit.
  4. Folosiți Cache Manager pentru a șterge cache-ul unei cărți doar când doriți o traducere nouă, de exemplu după ce ați editat glosarul. Schimbarea motorului sau a limbii țintă începe deja un cache separat.

Când Calibre este instrumentul potrivit și când nu este

Folosiți modulul Calibre când:

  • cartea este fără DRM și se află deja în biblioteca dvs. Calibre;
  • doriți să alegeți și să plătiți singur motorul;
  • sunteți dispus să revizuiți paragrafele în Modul avansat; și
  • cartea este în mare parte text simplu, astfel încât pierderea formatării inline costă puțin.

Căutați un alt flux de lucru când:

  • cartea depinde de formatarea inline, referințe încrucișate sau note cu linkuri, așa cum fac multe manuale și cărți academice;
  • numele și termenii trebuie să rămână consecvenți pe sute de pagini și nu doriți să întrețineți singur un fișier glosar;
  • preferați să nu rulați singur verificări și reparații de markup; sau
  • nu vă simțiți confortabil cu chei API, limite de rată și jurnale de activitate.

Dacă acea a doua listă descrie cartea dvs., o opțiune este să încărcați EPUB-ul pe BookTranslator și să vedeți prețul înainte de a plăti. Sarcinile finalizate oferă atât o descărcare doar în limba țintă, cât și una bilingvă, iar numele și termenii cheie sunt menținuți consecvenți cu un glosar integrat, în loc de un fișier scris de dvs. Este un serviciu cu plată. Indiferent de instrumentul pe care îl folosiți, rulați aceeași verificare de markup de mai sus pe rezultat și revizuiți orice traducere lungă înainte de a vă baza pe ea. Comparația instrumentelor de traducere EPUB pune modulul Calibre, instrumentele de browser și serviciile de fișiere alături, dacă doriți să comparați înainte de a alege.

Articole asociate