Drop files to translate
Support for TXT, EPUB, SRT, and DOCX
Drop files to refine (already translated)
Polish an existing translation — same language in, same language out
Translate Books with LLMs
Support for TXT, EPUB, SRT, and DOCX
Polish an existing translation — same language in, same language out
Run multiple LLM configurations side-by-side on a few extracts from your book — no full translation needed.
Support for TXT, EPUB, SRT, and DOCX
No results yet. Pick a file, configure columns, and click Run.
Saves API keys, endpoints, naming convention, and current model as default values in the .env file. Changes in this section are not auto-saved.
Inject a curated source-to-target term list into every chunk's prompt to keep entity translations consistent. Click Manage to create, edit or auto-extract terms.
Select custom instructions from the Custom_Instructions/ folder. Use .yaml files with translation: and/or refinement: keys to scope a preset per phase. Legacy .txt files still work and apply to both phases.
Get pinged on your phone, Discord channel, or any HTTP endpoint when a translation reaches a terminal state. Useful for long-running jobs with local models. Compatible with ntfy, gotify, Discord, Slack, Healthchecks.io, or any custom webhook. See docs/NOTIFICATIONS.md for the full reference.
Pick a service to pre-fill URL and payload, then edit the values to match your account.
{event}, {file}, {translation_id}, ...
{event}, {file}, {duration_seconds}, {provider}, {model}, {source_lang}, {target_lang}, {error}.
Click Save first, then Send test. The test uses the configuration currently on disk.
Loading files...
Total: 0 files, 0 MB
Tired of seeing the same character's name translated three different ways? A glossary gives the model a fixed mapping for any term you want to control: names, places, domain vocabulary, or stylistic choices. Reusable across jobs. Assign one below (or via Settings → Translation Options) to inject it into every chunk's prompt.
No glossaries yet. Create one from scratch or import an existing CSV / JSON file.