@connectedcars/crowdin-integration
v0.1.5
Published
Tools for managing uploading and fetching translations to Crowdin
Downloads
448
Maintainers
Keywords
Readme
crowdin-integration
Common setup for fetching and updating translations using the crowdin API.
Usage
Config 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:
"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" }
|