📈 GH Trending Explorer 🎲 Surprise me

← all repos

saturngod / Sagar

git clone https://github.com/saturngod/Sagar.git v0.3.3 · today

ePub Translation

—
stars, 24h
+29
stars, 7 days · #1,363
+29
stars, 30 days · #9,086
29
★ total · +29% this week
4
forks · 1 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageRust
License—
Created2026-10-13 (7d ago)
Last pushtoday
Watchers0
OwnerUser

Links

README excerpt
# Sagar — EPUB Translation Studio
An offline-first desktop app for manually translating DRM-free EPUB books,
side by side, without losing the original formatting. Read the original
chapter on the left, write the translation on the right, review chapters, and export a separate translated EPUB.
Built with Tauri 2, React, TypeScript and Rust; SQLite stores project data
locally. **No** **account,** **no** **network:** **book** **content** **never** **leaves** **the** **machine.**
## Development (Bun + Rust)
 [code] 
Requires the **Tauri** **2** **prerequisites** for your OS (see
https://v2.tauri.app/start/prerequisites/ ).
## Release (version tags)
The version lives in 4 files that must always agree: `package.json`,
`src-tauri/tauri.conf.json`, `src-tauri/Cargo.toml`, and
`src-tauri/Cargo.lock` (the `sagar` entry). Never edit them by hand —
one command bumps all four, commits, and tags:
 [code] 
Pushing a `v*` tag triggers the release workflow, which builds for
macOS/Windows/Linux. Helpers:
 [code] 
There is no git hook for tag creation, so the `pre-push` hook validates
the tagged commit itself and blocks mismatched tags before they reach CI.
## How it works
1. **Import** — open a DRM-free, reflowable EPUB 3 file. The app validates the
archive safely, reads metadata/manifest/spine/navigation, copies an
immutable snapshot into app-owned storage, and detects translatable blocks
(headings, paragraphs, list items, captions).
1. **Translate** — chapters are listed in reading order. Each chapter shows
the original (read-only) next to an editable translation. Chapter documents autosave
with revision protection; you can mark chapters **reviewed** or choose
**keep** **original**. Text structures the editor cannot translate safely
(tables, preformatted text, MathML…) are preserved unchanged and listed as
import notes.
1. **Export** — a review dialog shows exactly what is translated. A
completed export requires every chapter reviewed or intentionally
kept original; a draft export keeps untranslated chapters in the original
language after explicit acknowledgement. The exported book is a new file:
translated fragments are spliced into a copy of the original XHTML, so
images, links, footnotes and structure are preserved, and the output is
re-validated before the app reports success.
## Where your data lives
- Database and immutable book snapshots: `~/Library/Application Support/app.myanmars.sagar`
(macOS; equivalent app-data directories on Windows/Linux).
- Delete that folder to reset the library (this also deletes translations).
- The original EPUB file you open is never modified.
- Presentation preferences (theme, text size, pane widths) live in the
WebView's local storage, separate from translations.
## Translate using AI
The AI dialog supports two workflows:
- **Whole**** ****chapter** keeps the original Generate/Retry workflow for short chapters.
- **Selected**** ****paragraphs** lets you choose passages, whole tables, and standalone
images. Text is translate