Tools for managing uploading and fetching translations to Crowdin
npm install @connectedcars/crowdin-integrationConfig should go into crowdin.json. See the example file here.
On the Crowdin, go to your project -> content -> settings on the .pot file. In Resulting file after translations export, the value should be /locales/%two_letters_code%.po to get a consistent path to use. Alternatively put a languageMap in the crowdin.json setting file, mapping the language codes to the desired output.
Add the two supplied scripts to your package file:
``json`
"upload-translations": "upload-translations",
"fetch-translations": "fetch-translations",
upload-translations uploads the template.pot located in the configured workingDir and updates crowdin to use it.
fetch-translations downloads a zip file containing the .po files. The files are extracted and moved to the working directory. Optionally a pull request is created, featuring a more readable diff, making it easier to quickly validate the actual translation changes.
Settings overview:
| Setting | Description | Sample value |
| --- | --- | --- |
| project | The crowdin 'project name'. | connectedcars-mobileapp | projectId
| | The crowdin 'project id'. Can be found on the project home page under details. | 306911 |CROWDIN_API_TOKEN
| | Personal Access Token from Crowdin. Prefereably use as env var. | b0088e9f... |workingDir
| | The local directory in the project where the .po and .pot files are. | locales |remotePath
| | The full remote path | /develop/locales/template.pot |extractPath
| | The path inside the zip file crowdin provides. | develop/locales |supportedLanguages
| | A list of the languages to extract. | [ "da", "de", "sv", "es", "fi", "fr" ] |languageMap
| | Map languages to a different format. | { "da-DK": "da" } |pullRequest
| | Optional settings for creating an automatic pull request. | { "githubProject": "connectedcars/mobile-app", "baseBranch": "develop" } |force
| | Force pull request creation or source upload when outside basebranch. Prefereably use as argument: --force | { "githubProject": "connectedcars/mobile-app", "baseBranch": "develop" }` |