Create and manage branches
Branches let teams prepare independent versions of a project’s translations. Every project starts with main. Its name and default status are fixed; it cannot be archived or deleted. Creating a branch does not publish translations.
What is shared
Section titled “What is shared”Project name, permanent source language and workspace membership are shared. Each branch has its own languages and fallbacks, keys, independent values, ICU contracts, tags, assignments and file identity mappings. Every branch keeps the project source language active. Changes in one branch do not appear in another until an explicitly reviewed merge.
Permissions
Section titled “Permissions”| Action | Owner / Admin | Editor | Viewer |
|---|---|---|---|
| Read content, history and comparisons | Yes | Yes | Yes |
| Create from a readable branch | Yes | Yes | No |
| Rename an active non-main branch | Yes | Own branches only | No |
| Edit translation content, including main | Yes | Yes | No |
| Change language settings | Yes | No | No |
| Resolve and merge, archive, restore or delete | Yes | No | No |
Workspace and project archives prohibit writes. An archived branch remains readable and can be exported, compared or used as the source of a fork or merge in an active project.
Create a branch
Section titled “Create a branch”- Select a workspace and project in the header. Open Branches in the sidebar.
- Choose Source branch. Names are shown with their archive state.
- Enter New branch name and choose Create branch from source.
- Follow Branch operations. Open the branch after its state becomes completed.
Names have 1–100 characters after trimming, are case-insensitively unique in the project, and
cannot contain control characters. Names such as release/1.0 are supported. URLs and files
use internal IDs rather than treating a name as a filesystem path.
The copy includes archived keys, inactive languages and configuration from one consistent snapshot. Record versions and logical identities are retained; the resulting branch has independent records. Existing editing history keeps its original actor and branch. No fake editing events are created by copying. Pending transfers and private files are not copied.
A branch is unavailable until copying commits. Refreshing does not lose the operation. If the source changes before the worker captures it, the operation conflicts; review the source and create a new request. Nothing is partially copied.
Rename, archive and restore
Section titled “Rename, archive and restore”Use Rename on an eligible branch, enter its name and choose Save name. Conflicting names or outdated versions are rejected. Use Archive and confirm to make a non-main branch read-only. Restore makes it editable again, without reactivating inactive languages or restoring archived keys. Main stays editable according to ordinary content permissions.
Delete permanently
Section titled “Delete permanently”Only Owner/Admin can delete an archived non-main branch. Finish or cancel its outstanding branch and transfer operations first. Open Delete, type the exact branch name, then choose Delete branch permanently. Follow the deletion job before considering the operation done.
Deletion removes live content and queues private file cleanup. It cannot be undone. Shared history, snapshots needed by other branches and audit events remain protected. A deleted selection is cleared; choose a branch explicitly. A name can be reused with a new UUID.
Limits and recovery
Section titled “Limits and recovery”Fork and merge results are bounded to 10,000 keys, 50,000 stored values and 100 MiB serialized content. Exceeding a limit produces no partial result. Temporary processing failures can be retried from Branch operations. Access changes or content conflicts require a new reviewed operation. Previews expire after 24 hours; content-free job summaries remain for 30 days.
Release retention
Section titled “Release retention”Completed releases keep immutable snapshot content even after their source branch is archived or deleted. Unfinished release preparation appears in deletion blockers and must finish or be cancelled first. Branch cleanup retains release snapshots and required ancestors. Creating, switching or merging branches never publishes automatically.
Translation assistance
Section titled “Translation assistance”Assistance jobs stay on their original branch and are not copied by fork or merged as proposals. Applied values behave as ordinary branch content. Pending jobs/in-flight calls block permanent branch deletion; finish or cancel them first.
Connected Git repositories
Section titled “Connected Git repositories”Git mappings belong to an explicit Localisync branch; changing the header selection never changes the target of existing work. Resolve pending synchronization before deleting a branch. Repository changes are reviewed separately from Localisync branch merges and releases. See Git workflow.
Choose whether we remember appearance preferences and use Google Analytics on Localisync and its documentation. Optional storage stays off until you accept.
Read our cookie policy