An open API service indexing awesome lists of open source software.

https://github.com/cloakedninjas/grunt-crowdin-request

A grunt plugin to upload and download to crowdin.net
https://github.com/cloakedninjas/grunt-crowdin-request

Last synced: 23 days ago
JSON representation

A grunt plugin to upload and download to crowdin.net

Awesome Lists containing this project

README

        

## Getting Started
This plugin requires Grunt `~0.4.0`

If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

```shell
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:

```js
grunt.loadNpmTasks('grunt-crowdin-request');
```

## Configuration
_Run this task with the `grunt crowdin-request:` command._

There are currently two supported actions:

- upload
- download

Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.

### Options

#### api-key

Type: `String`
Default: `''`

Your Crowdin API key. Remember to keep it secret!

#### project-identifier

Type: `String`
Default: `''`

The name of your project at Crowdin. What you access at https://crowdin.com/project/

#### filename

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.

#### branch

Type: `String`
Default: `''`

The name of your Crowdin branch. More info about Crowdin branches at https://support.crowdin.com/articles/versions-management/

### Upload

#### srcFile

Type: `String`
Default: `''`

The location of the file to be uploaded, relative to `Gruntfile.js`

### Download

#### targetLanguage

Type: `String`
Default: `'all'`

Target language files to download. If not specified, 'all' will be used and all available languages will be downloaded.

#### outputDir

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.

#### renameFileTo

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.

## Sample config

```javascript
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);
```

## Usage

```sh
grunt crowdin-request:upload
```

```sh
grunt crowdin-request:download
```