Skip to main content
Documentation

Work on localization changes in isolation, pull in changes from Main on your terms, resolve conflicts clearly, and merge with a reviewed pull request - git-style, without leaving the editor.

Branching & Update from Main Banner

Navigation

Work in isolated environments without affecting production data. Branch workspaces allow you to safely test new translations, experiment with AI, and request reviews before merging changes to the main branch.

1Workspace
2Project
3Branch Switcher
Branch Navigation Guide Animation

How it works

1 · Create a branch

Branch from Main right in the Translation Editor. Your edits live on the branch and never touch Main until merged.

2 · Edit safely

Add keys, edit source copy, and translate. Every change is tracked as a branch overlay with full history.

3 · Update from Main

When Main changes, pull those updates in. You decide what to adopt - nothing is forced onto your branch.

4 · Open a pull request

Request review from a teammate. Reviews are revision-aware: editing after approval re-opens the PR.

5 · Merge to Main

After approval and a clean sync, merge atomically. A version checkpoint and immutable history are recorded.

A branch is yours until you pull Main in

Like git or Figma branching, your branch shows the keys it started with plus the ones you add. A new key on Main doesn’t appear automatically - it waits in Update from Main so you decide whether to bring it in. When you merge, only your changes are written to Main; a key you never touched is never removed.

  • Edits never affect Main until merged
  • New Main keys are opt-in, not forced
  • Skipping a key never deletes it from Main
  • Every decision is recorded in history

Update from Main

When Main has moved ahead, a banner appears above your keys. Open Update from Main to see every change grouped by type. Only true conflicts need a decision; new Main keys are a simple adopt-or-skip. Pick everything first, then apply once - nothing is committed until you click Apply updates.

New on Main

A key added on Main after your branch was created. It stays hidden from your branch until you choose Add to branch. (Recommended - keeps you in sync.)

Renamed

The same key was renamed differently on Main and your branch. Pick Main’s name, keep yours, or rename to something new.

Edited on both

Main and your branch changed the same key. Review both versions side by side and pick which to keep.

Deleted on Main

Main removed a key you edited. Choose to accept the removal or keep your version on the branch.

Duplicate name

Both sides created the same key name as separate keys. Keep Main’s, keep yours, or rename to avoid the collision.

Isolation

Branch workspaces allow multiple teams or features to work concurrently without colliding. Just like Git branching, you can create a new branch from Main, perform all your localization tasks, review them in isolation, and eventually merge your finalized strings back to the main environment.

Syncing

If Main has advanced while you were working on your branch, you will need to update your branch to avoid divergence. The "Update from Main" feature allows you to seamlessly pull down new keys and updated source strings into your current branch so you're always working with the latest context.

Reconciliation

Conflicts occur when the same key was edited differently in Main and in your branch. StringsOS highlights these collisions and provides a clear resolution interface. You can review the incoming value from Main alongside your current branch's value, and explicitly choose which translation to keep before completing the update.

Pull request & approval

In a project with two or more members, open a pull request and request review. Authors can’t approve their own PR. Reviews are tied to the exact branch revision, so editing after approval re-opens the request. A PR can’t be created while the branch is behind Main or has conflicts.

Safe, governed merge

Merge requires one current approval from another member, no requested changes, no conflicts, and a branch that’s in sync with Main. The merge runs atomically and writes a version checkpoint plus immutable history. Solo projects can merge directly - the sync and conflict gates still apply.

Find merged & archived branches in History

The branch switcher shows only active branches to keep it focused. Merged and archived branches live in the History panel, with a filter to show or hide them - so the full record is always one click away.

Branch, review, and merge translations with the same rigor as your codebase - without the friction.

Free during beta · No credit card required