██████╗ ██╗ ██████╗ ███████╗███████╗ █████╗
██╔════╝ ██║ ██╔═══██╗██╔════╝██╔════╝██╔══██╗
██║ ███╗██║ ██║ ██║███████╗███████╗███████║
██║ ██║██║ ██║ ██║╚════██║╚════██║██╔══██║
╚██████╔╝███████╗╚██████╔╝███████║███████║██║ ██║
╚═════╝ ╚══════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝
Sources, research and editorial translation
A local desktop workbench for collecting and reading historical sources, organising research, and producing translations that go through staged model passes and human review. Built for philologists, classicists, and translators who need precision over speed.
Glossa is in beta. Release numbers reflect experiments with automated versioning; a 2.x tag does not mean the planned workbench is complete. The project is currently developed and tested by its maintainer, with no established external user base.
- Translation: import text, Markdown, DOCX or text-based PDF; split it into passages; test a configurable pipeline; translate, revise and export.
- Editorial control: glossaries, phrase memory, annotations, translation history, AI review and document-level coherence checks. Human review remains essential.
- Library: search supported collections, save source records, organise them across workspaces, read IIIF pages and keep local image versions for offline use.
- Long-running work: persistent downloads, pause/resume, local image optimisation and integrity checks.
- Recovery: whole-app backups, optional password encryption and recovery code. Downloaded images are kept separately in the vault.
- Providers: Gemini, OpenAI, Anthropic, DeepSeek, Ollama and custom OpenAI-compatible endpoints; DeepL for the initial translation pass.
- Interface: Italian and English.
A workspace brings related research together without duplicating shared sources. The Library contains source materials; Language resources contains dictionaries and prompt templates.
The complete transcription studio, OCR/HTR assistance, the approved-transcription-to-translation bridge, PDF reading/downloads within the Library, advanced export and the Analysis area are not complete. A visible area or an existing data model does not imply an operational workflow.
See the completion roadmap for dependencies, acceptance criteria and remaining work. Scriptoria remains a technical and workflow reference for sources, storage, jobs, transcription and export; patterns are evaluated and adapted to Glossa.
Source text is split into passages and pushed through a configurable chain of model passes, then reviewed by an AI judge. Each pass has its own provider, model and prompt, and can be inspected on its own.
Standard — one pass plus review:
passage ──► translation ──► AI judge: rating, issues, suggested fixes
Editorial — three passes plus review:
passage ──► translation ──► refine ──► format ──► AI judge
DeepL Hybrid — DeepL produces the first draft, the model refines it.
A run has four phases:
| Phase | What happens |
|---|---|
| Configure | Chain, language pair, glossary, phrase memory |
| Test | One representative passage, everything still editable, nothing locked |
| Translate | Full run across the unlocked passages |
| Review | Ratings, issues and suggested fixes, per passage and per document |
Output streams token by token. A candidate translation can be edited by hand, the review can be re-run on its own, and a passage can be locked once it is final.
Glossa is a desktop application first: to use it, download a release build instead of cloning the repository.
- Windows —
.exeor.msiinstaller - Linux —
.AppImage,.debor.rpm - macOS —
.dmg, Apple Silicon only
Latest build and its notes: GitHub Releases.
The documentation follows development on main; a downloaded build can lag behind it. Check the version shown in the app against the release notes; the beta status page lists current limits.
For a first translation, create a workspace and project, import a short sample, configure a provider and run one passage in Test mode. Review the result before processing the full document. For source research, start with the Library guide.
Data stays on your computer except for requests you make to remote libraries or language providers. Local translation requires a running Ollama model. Provider credentials use the operating-system keychain when available, with an encrypted local fallback.
Beta data and backup formats may change. Current backups do not accept earlier formats. Keep useful source documents and exports alongside backups; read compatibility notes before switching builds.
Node and npm requirements are declared in package.json under engines; npm ci refuses to run outside that range, so there is no second copy of the numbers to keep in sync. Rust: current stable. CI runs Node 22 and stable Rust.
Linux system dependencies:
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev libgtk-3-dev libsecret-1-devWindows needs Visual Studio C++ Build Tools and WebView2. macOS needs Xcode command-line tools.
git clone https://github.com/nikazzio/glossa.git
cd glossa
npm ci
npm run tauri:devThe development port defaults to 48123; set GLOSSA_DEV_PORT to override it.
npm run lint:all
npm test
cd src-tauri
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo testRun focused checks during development. Browser smoke tests use a simulated desktop bridge; they do not replace testing an installed app. See Contributing for release and verification details.
React/TypeScript provides the interface; Rust/Tauri handles native operations, network access and jobs; SQLite stores structured data. Downloaded images live separately from the database.
- Development documentation: architecture, product boundaries and UI conventions.
- Roadmap: remaining capabilities and completion order.
- User guides: workflows and current limitations.
GPL-3.0-or-later. See LICENSE and third-party attributions.