Incorporate localization of your Crowdin project into the workflow you’ve set up on your repo. This includes automatically uploading new source strings to Crowdin and downloading translations. This approach ensures effective synchronization of all translatable texts and helps to avoid potential translation delays before the application deployment.
One way to accomplish that is by using Crowdin CLI with your CI tools. You can use Crowdin CLI with built-in CI tools or third-party alternatives. If you use GitHub Actions for your workflow automation, read more about our GitHub Crowdin Action.
Continuous Integration (CI) is the development practice of merging code changes from multiple participants into a shared software project several times a day. You can add multiple localization blocks into your workflow to preserve a continuous translation of your app.
Below you can see a visual representation of how you can incorporate localization into your workflow.
To ensure all the texts are localized before final application deployment, you can inject the localization block after each vital step in your CI/CD pipeline (e.g., after initial mockup design, after every app feature development, etc.)
Use Crowdin CLI with tools like Jenkins and Grunt to automate your regular localization tasks (e.g., uploading source files, downloading finished translations, etc.)
Check out the instructions below to configure various synchronization actions when working with Jenkins.
For example, to download translations from your Crowdin project, add the Execute shell build step. For this, in pipeline configuration, select Add build step and insert the following command:
Use your Crowdin access token, project id and specify source and translation files.
To use Crowdin CLI with Grunt, follow these steps:
crowdin.ymlfor your app containing project id and Personal access token.
Setting up the grunt-exec plugin allows you to execute shell commands:
To upload source files to Crowdin, pass this command to grunt-exec:
To download the latest translations from Crowdin, pass this command to grunt-exec: