Multi-Branching: A Powerful Feature for Engineers And Localization Managers to Work in Tandem
We’re excited to announce the release of multi-branch support! This new feature is embedded in the core of the Transifex platform and allows you to manage translations on multiple branches in your organization’s development workflow.
Multi-branching and Localization
Multi-branching allows your engineering and localization teams to work in parallel and scale your localization process without delays if you’re working on complex localization projects. Branching out your project natively on Transifex allows your team to start translating while the engineering team is testing a new feature in code.
You can also merge translations from one branch to another, which means you can add changes from one branch to another without losing any work. The branch state filters let you see the differences between parent and child resources, so it’s easier to fix conflicts and keep your translations accurate.
Here’s a quick 3-mins video tutorial on creating your first branch.
Creating Your First Branch
Here’s an example of how you can use branches in your workflow. Assume we’re on the engineering team in a SaaS providing a project management tool. We’re testing a new feature that allows users to collaborate on documents in real-time. This feature is still in the test stage, but the UX/UI and the messaging are already approved. We’re working on a separate branch from the master/main branch.
With the Transifex multi-branching feature, we will mimic our feature test branch within our Transifex project and enable the localization team to start translating within this period. When the real-time collaboration feature goes live, it will be available in all the app’s languages.
You can see how much time you can save if your localization work is done in parallel with the engineering process.
All you have to do to create a branch is to create a child resource via our API or Go Client and provide the resource slug you want to define as a Parent for it.
Here’s an example payload:
The above request creates a child resource named real_time_collab_feature under the existing parent resource called project_management_masterjson. In your Transifex dashboard, you’ll see the child resource marked with a branch icon.
We can now either upload a file or create resource strings so that our localization team can get to work right away.
Translations and Merging Branches
Once the translations are done, the localization team can merge them back to the master branch from within the Transifex UI. We can do so by clicking “Merge” on the Child resource page, where we will be asked to resolve any existing conflicts.
Once conflicts have been reviewed and resolved, we can merge this resource with its parent and push our translations on the live branch. The engineering team can then pull the final translations and proceed with the release. This is obviously an oversimplification of the localization process; that’s why we encourage you to try out our multi-branch feature as soon as you can!