Git-style branches for i18n
Translations that follow your feature branches.
Every branch gets its own translations. Your CI pushes new keys the moment you write them, translators work without stepping on each other, and merging brings across only what changed.
Free tier, no card Nested JSON · flat JSON · ARB · XLIFF GitLab · GitHub · Gitea
$ curl -sf https://api.mergua.com/v1/mergua.sh | sh -s -- sync
↑ 12 new keys pushed to checkout-redesign
↓ nothing to pull yet — 0 of 12 translated
- checkout.pay.label
- Jetzt bezahlen
- checkout.pay.spinner
- Wird verarbeitet…
- checkout.pay.error
Translate with AI
# branch merged — the build pulls what shipped
$ curl -sf https://api.mergua.com/v1/mergua.sh | sh -s -- pull
Branches
Your translations live on the same branch your code does.
Every other tool gives you one shared pool of keys. Rename a key on a feature branch and someone else's build breaks, so the safe move is to stop translating until the merge lands. Mergua branches instead — isolate, translate, merge, exactly like git.
A graph of the branch checkout-redesign leaving the main branch, gaining 12 keys, then translations in de, fr, es, then a review, before merging back into main.
01
Isolate
Branch off
mainand add the keys your feature needs. Nothing you do there reaches anyone else's build.02
Translate
Translators see the branch's keys, not the thousands already shipped. Reviewers approve before anything can merge.
03
Merge
See the diff before you commit to it. Merge, and the sync script pulls the new locales into your next build.
In the product
Three ways to look at a locale.
The same keys in three views, because reviewing 400 strings and writing one careful sentence are not the same job. Switch whenever you like; the source stays on screen in all three.
Panel
One key at a time, its note and placeholder check beside it. For the string you have to think about.
Inline
Every key under the next, the source beside the field. For writing a whole screen in one pass, and the editor on a phone.
Table
Every language side by side, one row per key. For bulk work across locales.
Features
And everything else your team needs.
Translation editor
Panel, inline and table view. The source text stays on screen in all three, status shows per key, and the shortcuts keep your hands on the keyboard.
AI translation
One key or a whole locale. Mergua sends the keys around it as context, so "Open" on a button and "Open" in a status do not come back the same. Output lands unreviewed until a human signs it off.
Multiple JSON files per language
common.json, errors.json, one per area — the split Transloco, i18next and vue-i18n already expect. The files go in as they are, one editor works across all of them, and they come back in the same shape.
XLIFF handoff
A language goes out to a translation agency as one .xlf document and comes back as the same one, statuses and notes intact. Your repository keeps its JSON — the handoff never touches what your build loads.
Webhooks
Your pipeline pulls; this is Mergua pushing. One POST to a URL of yours when translations change or a branch is merged, so the build starts on the change instead of on a schedule. Signed, filtered to the branch you name — and an import of four hundred keys arrives as one call, not four hundred.
What arrives, and whenYour coding agent
Mergua speaks MCP, so Claude Code, Cursor or Codex work on the translations from inside your repository — one URL, your project key, nothing to install. The one call that can delete a key is refused on main and needs a branch, so an agent's round lands where a person reviews it.
What it can reachTeam & review
Invite a freelance translator without handing them the project. Roles that actually restrict, approve or reject per key, and comments on the key they are about.
CLI & REST API
One script in your pipeline pushes new keys and pulls finished ones. Project-scoped keys, branch-aware, nested or flat JSON.
Setup guideProgress & validation
Completion per locale at a glance. A missing {count} is caught on the way out, not in a runtime error, and every change is in the history.
Any framework
Built alongside Angular and Transloco, but it is JSON in and JSON out — React, Vue and Svelte read the same files.
Developer-first
One line in your pipeline.
The sync script reads the locale files already in your repo, pushes keys Mergua has not seen, writes finished translations back, and notices when a branch was merged — on the branch the pipeline is running.
check compares the keys your code uses with the ones Mergua holds — with --strict, a key the code uses and Mergua lacks fails the build; unused keys are only reported.
# once, in CI
$ curl -sf https://api.mergua.com/v1/mergua.sh | sh -s -- sync
# and fail the build on a key Mergua is missing
$ curl -sf https://api.mergua.com/v1/mergua.sh | sh -s -- check --key-manifest i18n-keys/en.json --strict
# or pull a single locale by hand
$ curl -H "X-API-Key: $MERGUA_KEY"
api.mergua.com/v1/$PROJECT/translations/de?branch=checkout-redesign
A loop: the sync script pushes the locale files in your repository to Mergua, translators write the new keys in Mergua, a translations.changed webhook starts your CI pipeline, and the sync script pulls the finished translations back into the repository.
- Which frameworks does Mergua support?
- Mergua works with any SPA that uses JSON-based translation files. It has first-class support for Angular with Transloco, but works equally well with React (i18next, react-intl), Vue (vue-i18n), and other frameworks.
- Do I need to install anything?
- No. Mergua is a web application — just sign up and start managing translations in your browser. For CI/CD integration, you only need curl to pull translations in your pipeline.
- Do Mergua branches sync with my Git branches?
- When you use Pipeline Sync, Mergua can automatically match your Git branch to a Mergua branch with the same name. This way, each feature branch gets the right translations during CI builds.
- What happens when I merge a branch?
- Merging applies all translation changes from the branch to main. If there are conflicts (the same key was changed on both sides), Mergua shows a diff so you can resolve them before merging.
Pricing
Start on the free tier. Grow when the keys do.
What changes between plans is how much of the workflow you get, not which product you get. Every plan reads and writes the same files.
Free
One project, a small team, and the editor in full. Enough to translate a real app before you decide anything.
Starter
Everything in Free, plus:
API access, the sync script, MCP and webhooks More projects, people, keys and languages
Pro and Business
BranchesEverything in Starter, plus:
Branches and merge diffs Review workflow A larger monthly AI allowance
The numbers
Users, projects, keys, locales and the AI allowance per plan — with the current prices.
See pricing
Put your next feature branch in three languages.
Free tier, no credit card, and the sync script is one curl away.
Create your account