Translate books into 15 languages — privately, on your own computer.
BookTranslator takes a book (PDF, DOCX, or EPUB) and produces a translated EPUB ready to read on any e-reader or phone. Everything runs locally on your own machine using free, open Gemma AI models — your book never leaves your computer, and no cloud service ever sees it.
It is a local-model adaptation of deusyu/translate-book (MIT). We reuse its proven, deterministic book-processing scripts and build a friendly orchestration layer on top, so you get the same reliable pipeline powered by local AI models instead of a paid cloud API.
- Pick a book — PDF, DOCX, or EPUB.
- Pick a language — 15 supported target languages: English, Turkish, Chinese, Japanese, Korean, French, German, Spanish, Italian, Portuguese, Russian, Arabic, Dutch, Polish, and Swedish.
- Translate — BookTranslator reads the book in sections, translates each one with a local Gemma model, and keeps names and terms consistent throughout.
- Get your EPUB — a clean output folder with your finished book, ready to open.
Your book is processed in small, careful pieces so the translation stays faithful and consistent — character names, places, and technical terms are tracked in a glossary and kept the same from the first page to the last.
Open the Book Translator app, choose your book and language, then press Translate. When it finishes, click the EPUB to open it.
The main window: pick your book, target language, and AI model, then press Translate. Live progress shows the current stage, model loading, and token speed, and a clean activity feed keeps you informed.
While translating: the progress bar tracks completion, the detail line shows live model-loading and token speed, and the log shows a clean, human-readable activity feed.
Build the app with:
dotnet build BookTranslator.sln# 1. Install once: Calibre, Pandoc, Python 3.11+, and Ollama
export PATH="$PATH:/c/Users/kutay/AppData/Local/Pandoc:/c/Program Files/Calibre2"
python -m venv .venv
.venv/Scripts/pip install pypandoc beautifulsoup4
ollama pull gemma4:e4b # your chosen model; record it in config/model.txt
# 2. Convert the book into translation-ready sections
cd tests/.artifacts
timeout 300 python ../../tools/convert.py my-book.epub --olang tr --chunk-size 2500
# 3. Translate and build your chosen formats
timeout 1800 python ../../orchestrator.py --temp-dir my-book_temp --concurrency 4 --buildYour finished book lands in a clean output folder (e.g. my-book_output/) with only your
EPUB inside.
BookTranslator is built on a simple, reliable idea: break the book into small sections, translate each one with a local AI model, then stitch the results back together.
- Local and private — powered by free, open Gemma models via Ollama on your own machine. No internet, no cloud, no data leaving your computer.
- Consistent terminology — a glossary keeps names and terms uniform across the whole book, so a character isn't called one thing in chapter 2 and something else in chapter 20.
- Resumable — if a run is interrupted, it picks up where it left off instead of starting over.
- EPUB output — your translated book is delivered as a standard EPUB, ready for any e-reader.
- Python 3.11+ with
pypandocandbeautifulsoup4 - Calibre (
ebook-convert) and Pandoc for file conversion - Ollama with a local Gemma translation model (e.g.
gemma4:e4b)
Local models only. BookTranslator uses free, open Gemma models that run entirely on your own computer. No cloud API, no subscription, no data leaving your machine.
This project is a local-model adaptation of deusyu/translate-book (MIT). We are grateful to the original authors for their excellent, well-tested pipeline. The reused book-processing scripts are MIT-licensed; the orchestration layer in this repository is original.
BookTranslator is released under the MIT License (see LICENSE).
The deterministic book-processing scripts in scripts/ are reused verbatim from
deusyu/translate-book (MIT), pinned at commit
5d07e733. The orchestration layer, tools, prompts, and desktop UI are original to this
project and also MIT-licensed.

