This plugin requires Grunt ~0.4.0
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-request --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-crowdin-request');
Run this task with the grunt crowdin-request:<action>
command.
There are currently two supported actions:
- upload
- download
Task targets, files and options may be specified according to the grunt Configuring tasks guide.
Type: String
Default: ''
Your Crowdin API key. Remember to keep it secret!
Type: String
Default: ''
The name of your project at Crowdin. What you access at https://crowdin.com/project/
Type: String
Default: ''
The filename to send to Crowdin. Can be anything you like to identify a file. This option can also use the current Git branch you might be on.
Use #GIT_BRANCH#
to insert the branch name.
Type: String
Default: ''
The name of your Crowdin branch. More info about Crowdin branches at https://support.crowdin.com/articles/versions-management/
Type: String
Default: ''
The location of the file to be uploaded, relative to Gruntfile.js
Type: String
Default: 'all'
Target language files to download. If not specified, 'all' will be used and all available languages will be downloaded.
Type: String
Default: ''
The folder where translations should be downloaded to. This will extract the .zip from Crowdin and create subdirectories for each locale contained therein.
Type: String
Default: ''
If provided will rename the download files from Crowdin to be renamed to something different than what they were uploaded as. The use case being you upload with a Git branch filename But want to download to a single consistent filename.
var config = {
'crowdin-request': {
options: {
'api-key': 'xyz123',
'project-identifier': 'test-project',
filename: '#GIT_BRANCH#.pot'
},
upload: {
srcFile: 'i18n/translations.pot'
},
download: {
outputDir: 'i18n',
renameFileTo: 'messages-#LOCALE#.po'
}
}
};
grunt.initConfig(config);
grunt crowdin-request:upload
grunt crowdin-request:download