grunt-crowdin-net
Grunt plugin for accessing the Crowdin API
Disclaimer
This is an unofficial API client library. Crowdin and the Crowdin API are the property of Crowdin, LLC.
Getting Started
This plugin requires Grunt ~0.4.5
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-crowdin-net --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt;
The "crowdin" task
Overview
In your project's Gruntfile, add a section named crowdin
to the data object passed into grunt.initConfig()
.
grunt;
Options
options.apiKey (REQUIRED)
Type: String
Your Crowdin API key.
options.endpointUrl (REQUIRED)
Type: String
The Crowdin endpoint URL for your project.
options.extract
Type: String
The directory to extract translations files to.
options.writeConfig
Type: String
or Object
The config file (JSON) to write the list (Array) of available languages codes.
It can be set as an Object
accepting the following options:
src
: Config file to read.dest
: Config file to write. Defaults tosrc
value if not set.key
: Name of the key containing the available languages. Defaults tolanguages
.tmpl
: Template file to apply, using grunt.template.process. Thesrc
data (JSON) will be extended by thekey
and passed to thetmpl
template as theconfig
variable, before being written todest
. See example below.
Usage Example
Simple example
grunt;
Assuming your project contains en_GB
and en_US
languages, using the above configuration will create the files data/i18n/en_GB.json
and data/i18n/en_US.json
with the languages keys/values, and create/update config/i18n.json
with the following contents:
{
"languages": [
"en_GB",
"en_US"
]
}
Customized config
// Gruntfile.jsgrunt; // config/i18n.json "default_language": "en" "json_url": "/data/i18n" // config/template.jsvar config = env: "dev" i18n: <%= config %>; // Resulting build/config.jsvar config = env: "dev" i18n: "available_languages": "en_GB" "en_US" "default_language": "en" "json_url": "/data/i18n" ;
Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
License
Apache 2.0
Copyright 2014 Hailo