Skip to content

Version Management

Maintain an agile localization process and prevent translation delays for added texts or new product features. Integrate your project branches with Crowdin Enterprise and allow translators to access all new texts immediately.

When several people work on product development, branches help manage different content versions. If you have a continuous project, you can add project branches to Crowdin Enterprise and allow translators to translate the texts in parallel with development to prevent deployment delays.

Branches in Crowdin Enterprise look like regular folders marked with a specific icon and have special behavior for duplicate strings.

Example of branch structure in Crowdin Enterprise:

Branch Structure

Managing Branches

You can create, clone, merge, rename, prioritize, or delete branches in Crowdin to streamline localization alongside development. Use the available UI options, API, or CLI depending on your workflow and project type.

Creating Branches

You can create branches manually using the web interface (UI), automatically by connecting your project to a version control system, or by using CLI or API. The method you choose may depend on your project type or integration preferences.

Creating Branches via VCS Integration

Integrate Crowdin projects with GitLab, GitHub, Bitbucket, or Azure Repos. When you select branches for localization in your VCS, they’ll be created automatically in Crowdin.

Creating Branches via Web Interface

To create branches via the web interface (UI), follow these steps:

  1. Open your project and go to Sources > Files.
  2. Click New Version Branch.
  3. In the appeared dialog, enter the branch name.
  4. In the Duplicate Strings section, select how duplicated strings should be handled.
  5. Click Create to finish.

Branch Creation using API

You can use the Crowdin Enterprise API to programmatically create branches. The available method depends on the project type:

Branch Management using CLI

With the Crowdin CLI, you can manage branches directly from your local environment, using the dedicated commands. You can also create a branch automatically during file upload.

Read more about Branch Management with CLI.

Cloning Branches

You can create a copy of an existing branch using the New Version Branch dialog or the Clone option in the context menu.

To clone a branch, follow these steps:

  1. Open your project and go to the Branches tab.
  2. Do one of the following:
    • Click New Version Branch.
    • Hover over the needed branch, click (or right-click), and select Clone.
  3. In the appeared dialog, enter the name for the new branch.
  4. If cloning via New Version Branch, select Clone existing branch and choose the source branch from the dropdown.
  5. Click Create to finish.

Merging Branches

You can merge one branch into another directly from the Branches tab using the context menu. During the merge process, Crowdin displays a summary of changes and allows you to resolve any conflicts before completing the merge.

  1. In the Branches tab, hover over the source branch you want to merge.
  2. Click (or right-click), and select Merge.
  3. In the appeared dialog, choose the target branch to merge into.
  4. Click Continue to proceed to the Merge Summary page.

On the Merge Summary page, you’ll see:

  • A summary of string changes — how many were added, removed, or changed.
  • An optional checkbox to Delete the source branch after merge.

If any strings were changed, a conflict resolution step will follow. For each conflicting string, choose whether to keep the version from the source or the target branch. You can also:

  • Click Accept all from {source_branch} to apply all changes from the source.
  • Click Accept all from {target_branch} to keep all existing strings in the target.

The Merge button becomes active only after all conflicts are resolved.

Once the merge is complete, translations, approvals, and votes from both branches will be preserved.

Prioritizing Branches

You can set priorities to branches in file-based projects to help translators focus on the most important content first. Branches appear sorted by priority on the language page and in the Editor.

Available priorities:

  • – low
  • – medium
  • – high

To set a priority for your branches, follow these steps:

  1. Open your project and go to Sources > Files.
  2. Click the arrow icon next to the needed branch to set the preferred priority.

Other Actions from the Context Menu

In addition to cloning and merging, the context menu for each branch includes the following options:

  • Rename – Allows you to change the name of the selected branch.
  • Cost Estimate – Opens the cost estimation dialog scoped to the branch.
  • Delete – Permanently deletes the branch from the project. Use with caution.

Duplicates

Because branches are different versions of the same product feature, their localization content is usually duplicated. To help translators translate versions consistently and avoid additional translation costs, Crowdin Enterprise offers the Show within a version branch option, which hides duplicate strings between branches.

When this option is applied, only the original strings (usually from the master branch) need to be translated. All duplicates in other branches automatically receive translations from those originals.

In file-based projects, you can configure how duplicates are handled in Settings > Import > Source Strings. If your source files contain clear identifiers (keys), it’s recommended to use the Strict version of the Show within a version branch option. Otherwise, the Regular option will work well for most use cases.

Duplicates

Read more about Duplicates settings.

Suggested Workflow

To ensure smooth collaboration between developers and translators, version branches in Crowdin Enterprise can be used in different ways depending on how you manage source content and what project type you’re using.

Managing Content Outside Crowdin Enterprise

In both file-based and string-based projects, you can treat your external system (e.g., file storage or version control) as the source of truth. In this setup:

  • Source files are managed and updated outside of Crowdin Enterprise.
  • You upload project content using the web interface (UI), API, CLI, or integrations.
  • Selected branches are created in Crowdin Enterprise accordingly.
  • Translations are delivered back to your system once completed.

To implement this approach for your Crowdin Enterprise project, we recommend the following workflow:

  1. Upload your project files to the Crowdin Enterprise project using one of the available methods.
  2. In file-based projects, open your project and go to Settings > Import > Source Strings.
  3. Set the Duplicates option to Show within a version branch.

The screenshot below visualizes how this workflow works in practice. All texts from Master, Branch 1, and Branch 2 are transferred to the translation server immediately after they appear, even though the branches are not merged into the Master branch yet.

Branches Workflow

Managing Content in Crowdin Enterprise (String-based Projects Only)

For string-based projects, you can also manage branches directly in Crowdin Enterprise without relying on an external system to define structure or content updates. In this setup:

  • Source content can be added the web interface (UI), API, CLI, or integrations.
  • Version branches are created, cloned, and merged within Crowdin Enterprise using the UI or API.
  • Translations are optionally synced back to any connected integration, if used.

This approach gives more flexibility for teams who prefer to organize content and manage version flows entirely within Crowdin Enterprise.

Translation Download

Translations from all version branches are placed in one ZIP archive when downloaded through the web interface. Use the CLI or API to download the translations for each branch individually.

Translation Download using API

To download translations of the specific version branch with API, you can use the following API methods:

Translation Download using CLI

Download translations of the specific version branch:

Terminal window
crowdin download -b branch_name

Read more about crowdin download command.

Merging Branches Outside Crowdin Enterprise

The Master branch will contain new texts from the Feature branches as soon as they are merged. While synchronizing with Crowdin Enterprise, texts in the Master branch are populated with translations from the appropriate branch.

After synchronizing the updated Master branch with Crowdin Enterprise, you can remove the Feature branch from Crowdin Enterprise. All translations stored in the Master branch will remain.

This approach is commonly used in file-based projects but can also apply to string-based ones if content is managed outside of Crowdin Enterprise.

Merging Branches

Branch Translation Verification

You can verify translations on production using only the Feature branch before changes are merged with your Master branch. Such test deployment allows you to quickly revert to the original Master branch version if needed.

Branch Translation Verification
Was this page helpful?