Development and Localization Running in Parallel: Tips for Developers

7 mins read

To release multilingual products successfully, you’ll need to add localization to your workflow and make sure it’s automated so it won’t delay your next release. With Crowdin, localization can go in parallel with the development process. Meaning that each new text string created or modified by you goes to the translator into the Crowdin project. Translations get back to your repository in a few minutes. This way you’ll have translations once you’re ready to deploy your next update.

Read also 5 things developers should know about localization

Where to Start?

What are the first steps? How to set up the automated workflow? We’ve prepared a small plan for you:

Create a project in Crowdin

Select the source language (the one you’re translating from) and target languages (the ones you’ll be translating your content into).

Choose your automation approach

Manage your files using in-built integrations with tools like GitLab, GitHub, Bitbucket, or Azure Repos. You can also set up a more custom workflow using Crowdin’s CLI, API, or webhooks. All the content updates can be performed automatically on the configured schedule.

Translate your files in the Crowdin project

Invite your translators and proofreaders to the project or select a translation agency for the translation tasks.

Merge translations into your main branch

The system will automatically add translations to the defined folder on your side. Check the translated files and merge them into the main branch.

Learn more about the localization process in Crowdin.

Supported File Formats

Crowdin supports the most common localization formats (like JSON, XML, XLIFF, INI, and so on) as well as custom file formats. Feel free to upload files into your project and start the localization.

Our team can create pre/post processors to customize the file import and export settings and add the support of the custom placeholders for Organization Plans. So, for example, you’ll be able to export translations in Android XML and iOS Strings formats for one source file from your Crowdin project.

Learn more about the file formats or contact our customer success team at to start working with custom file formats in your project.

Versions Management in Localization

Integrate localization into your development process. Add the new features and release the new language versions in no time.

Continuous localization

You can create the branches for each version of your product in your Crowdin project. Translate only the new text in the version branch and hide the duplicates that you have already translated on the main branch before in your Crowdin project.

We have a special option for duplicates – Show (recommended for versions). This option allows hiding duplicated strings only between versions – so translators will see only the difference compared to the main branch.

Show duplicated strings

Learn more about version management in localization.

Integrate Your Localization Project with Your Repository on GitLab, GitHub, Bitbucket, or Azure Repos

Once you integrate your Crowdin projects with your repository, the translation team will be able to work on the localization in parallel with your development process.

Integrate your localization project with your repository on GitLab, GitHub, Bitbucket, or Azure Repos

  • Select the branches and define the path for the source files and translations – the same branches will be created in your Crowdin project immediately.
  • Set the synchronization for the new branches. Once you create the new branch on your repository, it will be added to your project automatically – there is no need to define each new branch manually.
  • The integration is already configured? Great! The system will create the service branch on your repository to send the translations there. Check the new pull/merge request before merging to the main branch.
  • Remove the service branch after merging to the main branch – integration will create the new service branch during the next synchronization.

Crowdin Action for GitHub

Integrate the localization of your Crowdin project into the workflow you’ve set up on your repo with the help of GitHub Actions. View the main settings, specify which action you need to include in your GitHub workflow, and define the preferred branch for the translations.

Crowdin API

Define your localization workflow and integrate it into the development process with the selected API requests:

  • Add new content for translation to your Crowdin project
  • Create tasks for translation or proofreading
  • Check the translation status for each language or each file
  • Export the translated files from your Crowdin project

Explore the API for Crowdin and Crowdin Enterprise to select the requests beneficial for your workflow.

Console Client (CLI)

Connect cross-platform Crowdin CLI directly to your repository and never deal with localization files manually again.

Use the configuration file to run the commands – it contains a description of all resources: files for localization and the locations of the corresponding translations. Sure, the first setup can take a bit more time, but all the next actions would be done just in a few clicks.


Webhooks will notify you about the main events from your Crowdin project, like completed translations or proofreading. These user-defined callbacks enable Crowdin to open previously set URLs via HTTP.

Create webhooks in the Project Settings > API tab > Webhooks or use the API tool for this, and select the actions that you would like to get the notifications about.

Read more about webhooks on our Knowledge Base.

Create Your Project on Crowdin and Invite Your Team

Create your project on Crowdin and define the team to manage the localization. You can set the automated workflow and project managers will check the activity directly in the Crowdin project – discuss all questions with translators and check whether all tasks are done on time and so on. Register on Crowdin to start receiving translations right in time for your next release in several languages.

Yuliya Harashchuk

Previous Post
What’s New at Crowdin: November 2020 Roundup
Next Post
Data-Driven Approach to Translation Quality Evaluation