Coder Social home page Coder Social logo

crowdin-integration's Introduction

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" }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.