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

Branch Creation

Note! The first files you upload to the Crowdin Enterprise project must contain all the original strings and should be placed in the corresponding branch. For all article examples, a branch with original texts is named Master.

There are a few ways to add branches to Crowdin Enterprise:

  • Integrate Crowdin Enterprise projects with GitLab, GitHub, Bitbucket, or Azure Repos. It’s a recommended option, as branches selected for localization in your version control system (VCS) will be created in Crowdin Enterprise automatically.
  • Use CLI or API to add new branches.
  • Create branches manually.
Branch Creation using API

To create a branch via API, use the Add Branch method.

Branch Management using CLI

If you use CLI, you can add and delete version branches with dedicated commands. Alternatively, you can create version branches during the file upload.

Read more about Branch Management with CLI.

Prioritizing Branches

You can set a specific priority for each branch by clicking an arrow icon next to the needed branch. Then translators will see branches sorted according to their priority on the language page and in the Editor.

Branches might have the following priorities:

  • Low Priority– low
  • Medium Priority– medium
  • High Priority– high

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

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


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, we have the Show within a version branch option that allows hiding duplicated strings only between versions. If your source files contain strings with apparent identifiers (keys), it’s better to use a strict version of this option. In other cases, feel free to use a regular one.

When this option is chosen, only the master strings first uploaded to the system should be translated. All duplicated strings will automatically gain translations from the master strings.

Suggested Workflow

To make sure versions work smoothly 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. Open your project and go to Settings > Import > Source Strings.
  3. Switch the Duplicates option to Show within a version branch.

The screenshot below visualizes how the 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 to the Master branch yet.

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:

$ crowdin download -b branch_name

Merging Branches

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.

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.

See Also

Was this article helpful?