Language: English | Polski | Deutsch | Espanol | Francais | Portugues
EPUB translator desktop app for AI-powered translation, post-editing, and QA of EPUB files.
KEYWORDS: EPUB translator, EPUB translator desktop app, EPUB translation tool, AI translation, ebook translator, Ollama translator, Google Gemini translation, Translation Memory, QA gate, Tkinter, Python.
- Desktop app for EPUB translation and post-editing with AI providers (Ollama/Google).
- Focus on safe resume, ledger idempotency, QA gates, and practical workflow for long books.
- Full Polish version:
README.pl.md.
- Aplikacja desktop do tlumaczenia i redakcji EPUB z providerami AI (Ollama/Google).
- Nacisk na bezpieczne wznawianie, idempotentny ledger, bramki QA i praktyczny workflow dla dlugich ksiazek.
- Pelna wersja PL:
README.pl.md.
- idempotent processing with segment ledger (
done/processing/error/pending) and safe resume after interruption - managed DB migrations with backup + rollback (
migration_runs, startup recovery notice, DB Update panel) - security-first runtime gates (EPUBCheck hard gate + QA severity gate)
- Smart Context window for neighboring segments (better pronouns/gender consistency)
- async provider preflight (Ollama + Google) with telemetry (
status/latency/model count) and non-blocking UI checks - optional async batch dispatch (
--io-concurrency) with bounded parallelism and ledger-safe resume - Series Memory engine: per-series terms, style rules, lorebook, change history, series profile import/export
- one-click series batch orchestration with aggregated series report (
series_batch_report_*.json/.md)
- EPUB translation (
translate) and post-editing (edit) - EPUB validation
- Translation Memory (TM) and segment cache
- model-specific prompt presets in GUI
- QA findings workflow and QA gate
- EPUB operations: front card, cover/image removal, segment editor
- project queue workflow (
pending,run all)
project-tkinter/- main desktop app in Python + Tkinter
- fullest feature set
legacy/- archived root scripts from older layout (
legacy/launcher_classic.py,legacy/translation_engine.py) - not the recommended runtime path
- archived root scripts from older layout (
cd project-tkinter
python app_main.py --variant classicDirect launchers are also available:
python launcher_classic.pypython launcher_horizon.py
- You need one of these paths:
- local AI: Ollama installed + at least one model,
- online AI: valid API key (
GOOGLE_API_KEY) + internet access.
Windows (PowerShell):
winget install Ollama.Ollama
ollama pull llama3.1:8bLinux:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.1:8bmacOS:
brew install ollama
ollama pull llama3.1:8bWindows (PowerShell):
setx GOOGLE_API_KEY "<YOUR_KEY>"Linux/macOS:
export GOOGLE_API_KEY="<YOUR_KEY>"- Local AI with Ollama: install Ollama and pull at least one model (example:
ollama pull llama3.1:8b). - Online AI (for example Google Gemini): set a valid API key (
GOOGLE_API_KEYor GUI field). - Internet access is required for online providers.
- shared runtime logic lives in
project-tkinter/runtime_core.py - canonical translator:
project-tkinter/translation_engine.py - both UI variants (
classic,horizon) run on the same core/runtime contracts - prompt preset catalog:
project-tkinter/prompt_presets.json - state-store abstraction layer (Repository step):
project-tkinter/studio_repository.py
- Tkinter user manual (PL):
project-tkinter/MANUAL_PL.md - multi-device Git workflow:
project-tkinter/GIT_WORKFLOW_PL.md - support info:
SUPPORT_PL.md - docs index (Wiki/Pages ready):
docs/README.md - online docs portal:
https://piotr-grechuta.github.io/epub-translator-studio/ - where progress/UI/Wiki are visible:
docs/08-Status-UI-i-Wiki.md - series memory technical skeleton:
docs/10-Series-Style-Memory.md
- Branch protection on
mainenforces required checks and required review. - CI security workflow (
.github/workflows/security-scans.yml) runs:gitleaksfor secret detection,pip-auditJSON report + blocking CVE threshold gate (project-tkinter/scripts/pip_audit_cve_gate.py),trivyfilesystem scan withHIGH,CRITICALfail gate.
CodeQLworkflow is enabled in.github/workflows/codeql.yml.- Dependabot updates are configured in
.github/dependabot.yml. - Recommendation: enable repository-level GitHub security features (
Dependabot alerts,Secret scanning,Secret scanning push protection) in Settings.
- Sponsor: https://github.com/sponsors/Piotr-Grechuta
- a support link is also available directly in Tkinter app UI (
Support the project) - ready PL template for GitHub Sponsors profile:
.github/SPONSORS_PROFILE_TEMPLATE_PL.md - ready PL outreach pack (posts/release CTA):
.github/SPONSORS_OUTREACH_PACK_PL.md - community templates for feedback/contributions:
.github/ISSUE_TEMPLATE/,.github/PULL_REQUEST_TEMPLATE.md - repo profile setup pack (description/website/topics):
.github/REPO_PROFILE_SETUP_PL.md - ready first release draft (PL):
.github/RELEASE_DRAFT_PL.md
- License:
EPUB Translator Studio Personal Use License v1.0(LICENSE) - This project is source-available, not OSI/FSF open source.
- Free for personal private use of unmodified copies.
- Any modification, redistribution, or commercial use requires prior written agreement (
COMMERCIAL_LICENSE.md). - Practical examples:
- EN:
LICENSE_GUIDE_EN.md - PL:
LICENSE_GUIDE_PL.md - DE:
LICENSE_GUIDE_DE.md - ES:
LICENSE_GUIDE_ES.md - FR:
LICENSE_GUIDE_FR.md - PT:
LICENSE_GUIDE_PT.md
- EN: