Skip to content

BetterTranslator 1.0.0

Latest

Choose a tag to compare

@Deerpfy Deerpfy released this 16 Aug 13:50
· 1 commit to main since this release

A Windows desktop translation application for software teams. It translates words, sentences and
whole documents, indexes the project you point it at so a term already used in that project keeps
its established wording, and runs its models on your own machine rather than against a hosted
service.

Install

Download BetterTranslator.exe and run it. There is nothing else to install: no .NET runtime, no
Visual C++ redistributable. A native bootstrap carries the whole published application inside the
executable, materializes it in a per user cache on first run, and starts the runtime in its own
process, so there is one process and one taskbar entry.

Requires 64 bit Windows 10 version 2004 (build 19041) or later.

First run extracts the payload in about 1.5 seconds. Later runs add a median of 11 milliseconds
before the runtime loads.

Translation models are not bundled. The first run offers them, and they are downloaded into your
local application data folder.

BetterTranslator.exe, 105625088 bytes, SHA-256
e0d09f32c572355b885890abf546e1b2d9ee2da2cda4fd1588a881e36ae5ed1a.

What is in this release

Translation with local models. Sending a message loads the chosen GGUF through the BetterRuntime
CPU library and writes the result back. Fast and Thinking in the composer choose the model: Fast
runs EuroLLM, Thinking runs TranslateGemma, and the choice is remembered.

Context is free by default. Every send builds its whole prompt from its own text, so a long chat
costs no more than a new one. The plus menu's Memory chip is the only thing that changes that,
adding this chat's earlier translations plus passages retrieved from the indexed project or folder.

Whole files, keeping their line count. The preview's Translate file button runs a document a
paragraph at a time through the same guarded translator. Markdown, JSON, plain text, Word and PDF
are read; Markdown and JSON come back as your original with translated ranges replaced, so headings,
fences, tables, keys and escapes stay where they were.

A guard stack that refuses rather than guesses. Line parity, markup and emphasis integrity,
placeholder and quoted-citation protection, casing restoration and byte hygiene all run on every
send. When a gate declines an answer the entry keeps its source, names the gate and offers Retry. A
refusal is reported, never hidden.

Agents take the same path. An in-process MCP server on loopback and the bt command line build
their jobs through the same factory the window uses and cut text with the same router, so a string
sent by an agent goes through the same guards and comes back with the same notes.

Terminology. A project glossary, domain terms and a translation memory, with an audit that
re-tests stored memory against gates fixed since it was written.

Known limitations

  • Only the CPU runtime path has been run. All three flavours, CPU, Vulkan and CUDA, are built,
    measured and wired, and each can be installed from Settings, but neither GPU offload path has been
    exercised on real hardware, and CUDA has never been loaded at all.
  • There is no source-language picker. Text is assumed to be English on the way in.
  • The window's own Translate file button has not been watched with a model behind it. The same path
    has been run from the command line over four Markdown documents and audited before and after.
  • The retrieval map is not built yet.

Verification

1256 tests pass, 22 are skipped behind environment gates, none fail. The packed executable passes
its own --bt-selftest, and the release directory is checked to hold exactly one file.

Licensing

BetterTranslator is MIT licensed. See LICENSE.

This executable bundles its dependencies. Their licenses are listed in THIRD-PARTY-NOTICES.md.

One of them, WeCantSpell.Hunspell, carries Hunspell's MPL 1.1 / GPL 2.0 / LGPL 2.1 tri-license.
It is used unmodified and distributed under the MPL 1.1 terms of that tri-license. Its license text
is reproduced at third-party/WeCantSpell.Hunspell/LICENSE.txt and its source is at
https://github.com/aarondandy/WeCantSpell.Hunspell.

Hunspell dictionaries are not bundled. A .dic and .aff pair is supplied by whoever runs the
application, and those dictionaries carry their own licenses.