← all repositories
yihong0618/bilingual_book_maker

A Swiss Army knife for AI book translation

Turns EPUBs, PDFs, and subtitles into bilingual editions using whatever LLM or translation service you already pay for.

9.3k stars Python Other AI
bilingual_book_maker
Velocity · 7d
+7.8
★ / day
Trend
steady
star history

What it does

Feed it an EPUB, TXT, PDF, or SRT file and it spits out a bilingual version—original text paired with AI-translated prose. It handles the boring orchestration: chunking the book, calling translation APIs, stitching results back into a readable format, and resuming if your connection drops mid-chapter.

The interesting bit

The project doesn’t lock you into OpenAI. It supports a sprawling roster of backends—Google Translate (free), DeepL, Claude, Gemini, Qwen, xAI, Ollama, Groq, even custom OpenAI-compatible endpoints via a JSON config file. The --use_context flag is a nice touch: it feeds the model surrounding paragraphs so pronouns and references don’t turn into gibberish.

Key highlights

  • Supports 15+ translation backends including self-hosted Ollama and free options (Google, Tencent TranSmart, DeepL Free)
  • Custom provider config via bbm_providers.json means no source edits to add DeepSeek or SiliconFlow
  • Resume interrupted translations with --resume; auto-saves temp files on Ctrl+C
  • Granular HTML tag control: translate only <p> tags or include/exclude specific elements
  • PDF inputs get a TXT fallback automatically if EPUB generation fails

Caveats

  • The README warns this is “exclusively designed for public domain works” with a disclaimer to review; the legal framing is present but enforcement is on you
  • PDF support is partial: outputs bilingual TXT reliably, EPUB creation is best-effort
  • --book_from mentions Kobo support but the README cuts off mid-sentence, so actual e-reader compatibility is unclear

Verdict

Worth a look if you regularly read foreign-language ebooks and want side-by-side translations without manual copy-paste. Skip it if you need polished, publisher-grade output—this is automation for personal use, not professional localization.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.