Een EPUB vertalen met Calibre: plug-in installeren, uitvoerformaten en bestandscontroles
Calibre vertaalt EPUB's via de externe plug-in Ebook Translator. Installatie, keuze van engine en uitvoer, wat v2.4.2 met je opmaak doet, en hoe je het resultaat controleert.

Calibre vertaalt boeken niet zelf. Je vertaalt een EPUB in Calibre met Ebook Translator, een externe plug-in van bookfere die in de plug-inindex van Calibre staat. Installeer hem via Voorkeuren → Plug-ins → Nieuwe plug-ins ophalen, kies een vertaalengine, bepaal of je alleen de vertaling wilt of naast het origineel, en voer hem uit op een DRM-vrije EPUB. Je krijgt een nieuwe EPUB in je Calibre-bibliotheek.
Het instellen is het snelle deel. Wat de meeste handleidingen overslaan, is wat de plug-in onderweg met het boek doet. We hebben de broncode van de huidige release (v2.4.2) gelezen om erachter te komen, en drie standaardinstellingen zijn belangrijker dan de engine die je kiest:
- De standaarduitvoer is tweetalig. Elke vertaalde alinea wordt onder het origineel geplaatst, tenzij je de positie-instelling wijzigt.
- Inline-opmaak wordt afgevlakt in de vertaalde tekst. Cursief, vet en links in een alinea worden niet meegenomen naar de vertaling. Alleen een vaste lijst met tags, zoals afbeeldingen, regeleinden en superscripts, wordt beschermd en teruggeplaatst.
- Elke uitvoering is een Calibre-conversie. Zelfs EPUB naar EPUB geeft de plug-in het boek aan de conversiepijplijn van Calibre, die het uitvoerbestand opnieuw opbouwt.
Dit maakt de plug-in geen slechte keuze. Hij is gratis, open source (GPL-3.0) en zeer configureerbaar. Maar je moet weten wat je moet controleren voordat je het resultaat leest of deelt.
Een opmerking over de methode: deze handleiding is gebaseerd op de broncode van v2.4.2 van de plug-in, de officiële documentatie en de handleiding van Calibre. We hebben voor dit artikel geen getimede vertaling uitgevoerd, dus er worden geen claims gedaan over snelheid, vertaalkwaliteit of welke engine het beste resultaat geeft.
Wat je nodig hebt voordat je begint
| Vereiste | Details |
|---|---|
| Calibre | Versie 5.0.0 of later. Dit is het minimum dat voor v2.4.2 in de Calibre-plug-inindex staat, waar de releasedatum 7 augustus 2026 is. |
| Een DRM-vrije EPUB | De plug-in werkt op de boekbestanden in je Calibre-bibliotheek. Een winkeluitgave met DRM wordt niet vertaald. Controleer het bestand eerst op DRM. |
| Een vertaalengine | Sommige engines werken zonder account (de gratis endpoints van Google, DeepL en Microsoft Edge). De andere hebben een API-sleutel nodig en de aanbieder factureert je apart. |
| Tijd om te controleren | Plan tijd in om de uitvoer te lezen en te controleren. De plug-in vertaalt alinea voor alinea. Het is geen controleslag. |
De plug-in accepteert ook andere formaten die Calibre kan lezen, zoals MOBI of AZW3. Omdat het boek hoe dan ook door de conversie van Calibre gaat, geeft een schone EPUB het meest voorspelbare resultaat.
De plug-in Ebook Translator installeren
De documentatie van de plug-in geeft twee manieren om hem te installeren:
- Vanuit Calibre (aanbevolen): open Voorkeuren → Plug-ins → Nieuwe plug-ins ophalen, zoek naar Ebook Translator, klik op Installeren en herstart Calibre.
- Vanuit een bestand: download de ZIP van de plugin-homepage en gebruik dan Voorkeuren → Plug-ins → Plug-in laden vanuit bestand en herstart.
Als de plugin niet op de werkbalk verschijnt, voeg deze dan toe onder Voorkeuren → Werkbalken en menu's → De hoofdbalk.
Calibre vermeldt bookfere.com als auteur van de plugin. Het team van Calibre onderhoudt deze niet. Meld problemen bij de GitHub-repository van de plugin, niet bij Calibre.
Batchmodus of geavanceerde modus
De plugin heeft twee manieren om een vertaling uit te voeren:
- Batchmodus: selecteer een of meer boeken, stel de doeltaal en het uitvoerformaat in en klik op Vertalen. De taak wordt uitgevoerd in de takenwachtrij van Calibre. Gebruik dit voor een eerste versie van een heel boek dat je één keer wilt lezen.
- Geavanceerde modus: haal de alinea's van één boek naar een tabel, vertaal ze allemaal of alleen geselecteerde, bewerk een vertaling handmatig en klik dan op Uitvoer. Gebruik dit wanneer het boek belangrijk is, bijvoorbeeld wanneer een paar hoofdstukken opnieuw vertaald moeten worden of namen gecorrigeerd moeten worden, omdat je alinea's kunt aanpassen voordat de EPUB wordt geschreven.
Als je de vertaling toch gaat controleren, kun je in de geavanceerde modus correcties in de plugin aanbrengen. In de batchmodus zou je die later in de editor van Calibre aanbrengen.
Kies een vertaalmachine
Een gratis Google-engine is de standaard. Versie 2.4.2 biedt deze engines (namen zoals ze in de plugin verschijnen):
| Engine-groep | Engines | Wat je nodig hebt |
|---|---|---|
| Gratis, geen sleutel | Google (Free) in drie varianten, DeepL (Free), Microsoft Edge (Free) | Niets; limieten worden door de dienst bepaald en kunnen veranderen |
| Machinevertalings-API's | Google (Basic), Google (Basic) ADC, Google (Advanced) ADC, DeepL, DeepL (Pro), Youdao, Baidu | Een account en API-sleutel, of Google Cloud-inloggegevens voor de ADC-opties; gefactureerd door de provider |
| LLM's | ChatGPT (OpenAI), ChatGPT (Azure), Gemini, Claude (Anthropic), DeepSeek (Chat) | Een API-sleutel; per token gefactureerd door de provider |
| Aangepast | Elk HTTP-eindpunt dat je configureert | Je eigen endpoint en responsverwerking |
Standaardwaarden die van invloed zijn op een lang boek:
- Interval tussen verzoeken hangt af van de engine. In de broncode van v2.4.2 is dit 20 seconden voor ChatGPT (OpenAI en Azure), 12 seconden voor Claude, 1 seconde voor Gemini en DeepL (Free), en 0 voor de meeste andere. De documentatie raadt aan om dit te verhogen als de service verzoeken begint te weigeren.
- Aantal pogingen is 3, en de run stopt na 10 opeenvolgende fouten. Stel het aantal keer afbreken in op 0 om nooit automatisch te stoppen.
- Timeout hangt ook af van de engine: 60 seconden voor ChatGPT en DeepSeek, 30 seconden voor Claude en Gemini, en 10 seconden voor de rest.
- Samenvoegen om te vertalen staat uit. Als dit aan staat, verstuurt de plugin alinea's in batches van maximaal 1.800 tekens. Batches geven een LLM meer omringende context per verzoek, maar één slechte respons beïnvloedt dan meerdere alinea's tegelijk.
- Woordenlijst staat uit. Als dit aan staat, leest het een platte tekstbestand. Een term en de vertaling ervan staan op twee regels, een term die niet vertaald moet worden staat op één regel, en items worden gescheiden door lege regels.
De plugin is gratis, maar de vertaling is niet altijd gratis. Een roman van 300 pagina's die naar een betaalde API wordt gestuurd, wordt gefactureerd zoals elk ander API-gebruik. Onze gidsen over ChatGPT, Claude en DeepSeek voor vertaling leggen uit wat elk model doorgaans fout doet in lange teksten.
Kies uitvoer met alleen doeltekst of tweetalig
De instelling Vertalingspositie bepaalt de vorm van het boek:
| Instelling | Resultaat | Goed voor |
|---|---|---|
| Onder origineel (standaard) | Originele alinea, dan de vertaling | Taalleerders en steekproefsgewijze controle |
| Boven origineel | Vertaling eerst, dan het origineel | Lezen in je eigen taal terwijl je de bron dichtbij houdt |
| Links / rechts van origineel (gemarkeerd als bèta) | Elk paar wordt een tabelrij met een tussenkolom | Alleen brede schermen |
| Zonder origineel | De vertaling vervangt het origineel | Een vertaald boek lezen |
Als je een boek wilt dat je gewoon kunt lezen, zet de positie dan op Zonder origineel voordat je begint, want de standaardinstelling levert een tweetalig boek op.
Wees voorzichtig met de linker- en rechteropties. In de bron wordt elk paar opnieuw opgebouwd als een tabelrij met drie cellen: origineel, een tussenruimte en vertaling. Met de standaard tussenruimte van 10% zijn de tekstkolommen elk 45% breed. Op een telefoon of een e-reader van 6 inch worden dat twee smalle tekststroken. Onze gids voor tweetalige EPUB's vergelijkt de tweetalige lay-outs die op kleine schermen overeind blijven.
Wat de plugin binnen je EPUB verandert
Dit is het deel dat algemene tutorials overslaan. De tabel vat samen wat v2.4.2 doet met elk soort inhoud, op basis van de broncode (lib/element.py en lib/conversion.py bij tag v2.4.2).
| Inhoud in je EPUB | Wat v2.4.2 doet | Wat je moet controleren |
|---|---|---|
| Alinea's, koppen, blokcitaten | Geëxtraheerd en vertaald als eenheden | Niets ontbreekt aan het begin en einde van hoofdstukken |
<pre>- en <code>-blokken | Niet vertaald (standaard genegeerd) | Codevoorbeelden blijven in de brontaal, wat meestal correct is |
Cursief, vet, <span> en links binnen een alinea | De tekst wordt vertaald, maar de tags worden uit de vertaling verwijderd | Nadruk, titels in cursief en kruisverwijzingen in de tekst in de vertaalde alinea |
Afbeeldingen, <br>, <hr>, <sub>, <sup>, <abbr>, <math>, <svg> en nog een paar andere | Vervangen door placeholders zoals {{id_00000}} vóór de vertaling, daarna teruggezet | Losse {{id_…}}-tekst of ontbrekende afbeeldingen, als een engine een placeholder heeft gewijzigd |
| Voetnootmarkering geschreven als een link rond een superscript | Bij elkaar gehouden als één beschermde eenheid | Notelinks springen nog steeds naar de noten |
| Voetnootmarkering geschreven als een link zonder superscript | De link wordt afgevlakt zoals elke andere inline-link | Notenummers die niet meer linken |
Ruby-annotaties (<rt>, <rp>) | Verwijderd uit de tekst die naar vertaling wordt gestuurd | Furigana of pinyin in Japanse of Chinese bronnen |
| Alinea's met alleen cijfers en leestekens | Overgeslagen | Paginanummers en scheidingstekens blijven ongewijzigd |
| Inhoudsopgave-items | Vertaald | Hoofdstuktitels in het navigatiemenu van de lezer |
| Titel, auteur en andere metadata | Alleen vertaald als je metadatavertaling inschakelt | De bibliotheekvermelding en de weergegeven titel van het boek |
Twee van deze details veroorzaken de meest zichtbare schade.
Waarom cursief en links verdwijnen. Voor elke alinea bouwt de plugin de te vertalen tekst op uit de platte tekst van de alinea. Alleen tags op de beschermde lijst worden vervangen door placeholders. Een <em> of <a> is noch beschermd noch genegeerd, dus de woorden worden vertaald en de opmaak gaat verloren. In de tweetalige modus behoudt de originele alinea zijn opmaak, dus het probleem is alleen zichtbaar in de vertaalde regel. In de modus met alleen doeltaal is de opmaak verdwenen. Je kunt selectors toevoegen onder Element reserveren, maar een element reserveren houdt het onvertaald. Dat is handig voor buitenlandse zinnen of boektitels die je wilt behouden, en verkeerd voor nadruk die je wilt laten vertalen.
Waarom voetnoten kunnen breken. Uitgevers markeren voetnootverwijzingen op verschillende manieren. De plugin heeft een speciaal geval voor een link die alleen een superscript omvat (<a href="#n1"><sup>1</sup></a>) en houdt die link intact. Een verwijzing geschreven als <a href="#n1" class="noteref">1</a> heeft geen superscript, dus het nummer overleeft, maar de link mogelijk niet. Controleer noten voordat je een vertaling met alleen doeltaal van non-fictie vertrouwt. Voor Japanse en Chinese boeken, zie hoe je EPUB-ruby-annotaties vertaalt voordat je besluit of het verlies van furigana acceptabel is.
Het vertaalde element krijgt ook een lang-attribuut voor de doeltaal en een dir-attribuut, wat e-readers helpt bij het kiezen van lettertypen en rechts-naar-links lay-out. In de tweetalige modus kopieert de vertaling niet het id van het originele element, dus bestaande ankers verwijzen nog steeds naar de originele alinea.
Ten slotte beschrijft Calibre's conversiehandleiding hoe conversie werkt: de invoer wordt omgezet naar XHTML, getransformeerd en vervolgens geschreven door een uitvoerplugin. Onderweg kunnen Calibre's transformaties de metadata en inhoudsopgave opnieuw genereren. De plugin vertaalt na die transformaties, net voordat de uitvoerplugin het bestand schrijft. Je vertaalde EPUB is dus een herbouwd boek, niet je originele bestand met nieuwe tekst. Calibre's handleiding merkt op dat het conversiesysteem "geen vervanging is voor een volwaardige e-book-editor."
Controleer de vertaalde EPUB in vijf minuten
Beoordeel het resultaat niet op basis van het eerste hoofdstuk. Voer een structurele vergelijking uit tussen het originele en het vertaalde bestand. Een EPUB is een ZIP-archief, dus standaard opdrachtregelprogramma's kunnen de opmaak aan beide zijden tellen:
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
Hoe je het resultaat leest:
- Uitvoer met alleen doeltaal met veel minder
<em>,<i>of<a-tags dan de bron betekent afgevlakte nadruk of links. Dat is te verwachten op basis van het bovenstaande gedrag. Besluit of het boek zonder kan. - Minder
<img-tags in uitvoer met alleen doeltaal betekent dat een afbeeldingsplaceholder verloren is gegaan. In tweetalige uitvoer kunnen afbeeldingen twee keer voorkomen, dus vertrouw dan op het zoeken naar placeholders. Vind het hoofdstuk en herstel het in de geavanceerde modus of Calibre's editor. - Elke tekst met
{{id_…}}betekent dat een engine een placeholder heeft gewijzigd, dus het beveiligde element is niet hersteld. - Tweetalige uitvoer moet minstens evenveel tags hebben als de bron, omdat de originele alinea's behouden blijven.
Het patroon <em komt ook overeen met <embed, wat zeldzaam is in boeken, maar goed om te weten als een telling vreemd lijkt.
Voer vervolgens de EPUBCheck van het W3C uit op het vertaalde bestand. Open het in de reader die je daadwerkelijk gaat gebruiken en loop de EPUB-vertaal-QA-checklist na: navigatie, noten, afbeeldingen en de laatste alinea van elk hoofdstuk. Als het boek voor anderen is, test het dan op Kindle, Kobo en Apple Books.
Als de vertaling halverwege stopt
De plugin slaat vertaalde alinea's standaard op in de cache. Als de verbinding wegvalt of de engine verzoeken begint te weigeren, voer je hetzelfde boek opnieuw uit met dezelfde instellingen. Alinea's die al in de cache staan, worden niet opnieuw vertaald. In de praktijk:
- Open het taaklogboek onder Taken en zoek naar herhaalde fouten, die meestal wijzen op throttling of een verlopen API-sleutel.
- Verhoog Interval of verlaag Gelijktijdigheidslimiet voor die engine.
- Voer het boek opnieuw uit. De cache pakt op waar het gestopt is.
- Gebruik Cachebeheer om de cache van een boek alleen te wissen als je een verse vertaling wilt, bijvoorbeeld na het bewerken van je woordenlijst. Van engine of doeltaal wisselen start al een aparte cache.
Wanneer Calibre het juiste hulpmiddel is, en wanneer niet
Gebruik de Calibre-plugin wanneer:
- het boek DRM-vrij is en al in je Calibre-bibliotheek staat;
- je zelf de engine wilt kiezen en betalen;
- je het prima vindt om alinea's in de Geavanceerde modus na te lopen; en
- het boek vooral platte tekst is, zodat het verlies van inline-opmaak weinig kost.
Zoek een andere workflow wanneer:
- het boek afhankelijk is van inline-opmaak, kruisverwijzingen of gelinkte noten, zoals veel studieboeken en academische boeken;
- namen en termen consistent moeten blijven over honderden pagina's en je niet zelf een woordenlijstbestand wilt onderhouden;
- je liever niet zelf markup-controles en -reparaties uitvoert; of
- je je niet prettig voelt bij API-sleutels, snelheidslimieten en taaklogboeken.
Als die tweede lijst je boek beschrijft, is een optie om het EPUB te uploaden naar BookTranslator en de prijs te zien voordat je betaalt. Voltooide taken bieden zowel een doel-taal-only als een tweetalige download, en namen en belangrijke termen blijven consistent met een ingebouwde woordenlijst in plaats van een bestand dat je zelf schrijft. Het is een betaalde dienst. Welk hulpmiddel je ook gebruikt, voer dezelfde markup-controle hierboven uit op de uitvoer, en controleer elke lange vertaling voordat je erop vertrouwt. De vergelijking van EPUB-vertaalhulpmiddelen zet de Calibre-plugin, browsertools en bestandsservices naast elkaar, als je wilt vergelijken voordat je kiest.
Gerelateerde berichten





