Dragomand is a per-user Linux daemon that gives desktop applications fully offline machine translation over D-Bus. It runs Mozilla's Bergamot/Marian translation models locally, the ones behind Firefox Translations, and manages which models are installed and which stay loaded in memory.

$ dragomanctl translate -f bg -t en "Добро утро. Как си днес?"

Good morning. How are you today?The first call downloads the model from Mozilla (verified by SHA-256) and starts the daemon through D-Bus activation. Everything afterwards is fully offline, and the daemon exits again when idle.

The Daemon¶

The existing Linux options are either standalone applications or translation tied to a single host such as Firefox. Dragomand is one shared service instead:

- One API for every app. Editors, browsers, clipboard tools,

KRunner, GNOME Shell, LibreOffice and accessibility software all call

the same D-Bus interface: dev.l10n_bg.dragomand.Translator1.

- One copy of every model. The Bergamot engine keeps models in private memory, so every application embedding it would pay for its own copy. A shared daemon loads each model once.

- Current models. Models come from Firefox Remote Settings, exactly what Firefox Translations installs, in every language pair Mozilla publishes.

- Private by design. Text never leaves the machine. The network is used only to download models, and updates are checked only when you ask.

- No idle cost. The daemon is D-Bus activated and exits after an idle period; nothing runs permanently.

Currently implemented¶

Version 0.1.0: the daemon with D-Bus API v1, the dragomanctl

command-line client, install-on-demand model downloads, LRU keep-warm

with memory-pressure eviction, KRunner and GNOME Shell search

integration, a LibreOffice extension and a KTextEditor (Kate) plugin.

Bulgarian and English form the first pair working end to end; every

pair Mozilla publishes is in scope.

Get started: Install · Integrations · Documentation