4.1k stars · Apache-2.0 core + Tolgee Enterprise Licence over parts · v3.221.0 (2026-09-07)
Self-hosted localisation platform with in-context editing — the way the Russian version of Grasppy stops being a forked codebase.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A self-hosted localisation platform — the open-source answer to Crowdin, Lokalise and Phrase. Every user-facing string lives in one server, SDKs for React and a dozen other frameworks pull them at build or run time, and its distinguishing trick is in-context editing: you alt-click a piece of text in your running app and correct the translation right there.
Why it matters
You are the rare thing in this market — a founder who can write the copy, record the tutorial and answer the support email in both English and Russian. What you do not have is a way to keep two versions of Grasppy's interface in step. Maintaining two JSON files by hand is precisely the job that gets abandoned in week three, and a half-translated interface is worse than an English one. Tolgee turns the second language from a code problem into a data problem: adding Russian to a new screen becomes a translation someone types, not a release someone ships. And the in-context editing matters more for a solo founder than for a team, because you are the translator — being able to fix an awkward Russian phrase while looking at the actual button is the difference between doing it and meaning to.
- In-context editing: alt-click a string in the running app and correct it in place
- React SDK plus a CLI, so Claude Code can wire it into both the app and the Astro site
- Machine-translation providers plug in, so the first pass is automatic and you only edit
- Not one licence: an Apache-2.0 core with a separate Tolgee Enterprise Licence over parts of it. Check which features you actually get before depending on one
- Kotlin/JVM server plus its own database — another container, and JVM containers are not the light ones
- Only pays off if you keep using it. Abandoned halfway, it is worse than the two JSON files
Docker container on the VPS with its own database inside your existing PostgreSQL.
