Workflow

Branches

Branches let you work on translations in isolation — just like Git branches for code. Create a branch, make changes, review them, and merge back into main when ready.

How it works

1

Create a branch

Branch off from main to start working in isolation.

2

Make changes

Add, edit, or delete translation keys on your branch. Main stays untouched.

3

Review the diff

See exactly what changed before merging — added, modified, and deleted keys.

4

Get approval

If approval is required, a team member reviews and approves the branch.

5

Merge

Merge your branch into main (or the configured default target). Changes go live.

Branch statuses

StatusMeaning
OpenActive branch. Can be edited, synced, and merged.
MergedBranch has been merged into the target. Changes are live. Can be deleted.
StaleNo recent activity. Still open and editable.

Branch operations

Create a branch

Go to your project's Branches tab and click New Branch. Give it a name (e.g. feature/checkout-flow). The branch is created from main with a snapshot of all current translations.

Edit on a branch

Switch to your branch in the translation editor using the branch dropdown. All changes are isolated — they won't affect main until you merge. You can add keys, delete keys, and modify translations.

View diff

Before merging, review the diff to see all changes: added keys, deleted keys, and modified translations. The diff compares your branch against the target and only shows actual differences.

For added keys, the diff highlights entries that don't have a translation in the current locale yet. You can click Go to key to navigate directly to the key in the editor, or approve it from the diff view.

Sync with main

If main has been updated since you created your branch, you can sync to pull the latest changes. Mergua detects conflicts and lets you resolve them before proceeding.

Merge

When your translations are ready, merge the branch into the target (main by default, or a custom default merge branch). Merge metadata is recorded: who merged, when, and stats (keys added, deleted, modified).

Approval workflow

Projects can require approval before merging. Enable Require approval in the project settings. When enabled, an Owner or Translator must approve the branch before it can be merged.

Review progress

The branch banner shows a progress bar with the review percentage for the current locale (e.g. "50% · 3 / 6 reviewed"). On the branches list, each branch card also displays its review progress.

Needs attention filter

When a branch has unreviewed operations, a "needs attention" badge appears in the branch banner. Click it to filter the editor to only those entries. Click again to show all entries. This filter counts all branch operations that have not been reviewed yet, regardless of whether they have a translation.

Protected branches

Protected branches cannot be deleted. Use protection to safeguard important branches like main or long-lived feature branches from accidental removal.

How to protect a branch

Open the branch options menu (three dots) and select Protect branch. A shield icon appears next to the branch name to indicate protection. Only project Owners can protect or unprotect branches.

What protection does

  • Prevents the branch from being deleted — the delete option is disabled.
  • When merging another branch, a protected branch cannot be auto-deleted after merge.
  • The default merge target is always protected automatically.

Default merge target

By default, branches merge into main. If your workflow uses a different branch (e.g. develop), you can change the default merge target in project settings. All new merge operations will target the configured branch instead.

Branches & Pipeline Sync

Mergua branches integrate directly with your CI/CD pipeline. When Pipeline Sync is enabled, your Git branches and Mergua branches stay connected automatically.

1

Git branch created

You create a feature branch in Git (e.g. feature/checkout).

2

Mergua branch auto-created

Pipeline Sync detects the new Git branch and creates a matching Mergua branch. New translation keys from your code are pushed to it.

3

Translators work on the branch

Your team adds translations on the Mergua branch. The pipeline pulls them back into your Git branch as a Merge Request.

4

Git merge triggers Mergua merge

When the Git branch is merged, the pipeline notifies Mergua. With auto-merge enabled, the Mergua branch is merged too — fully automated.

For setup instructions and configuration options, see the Pipeline Sync documentation.