grunt-localeapp v0.2.2
grunt-localeapp
Grunt task for http://www.localeapp.com service. Localeapp is a cloud service which provide a managment interface for translation files.
Getting Started
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-localeapp --save-devOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-localeapp');You can also use
load-grunt-tasksto avoid these kind of inclusions.
The "localeapp" task
Overview
In your project's Gruntfile, add a section named localeapp to the data object passed into grunt.initConfig().
grunt.initConfig({
...
localeapp: {
options: {
key: "tAbgRC2RemnJye2tLqwc1Y8xoyTUIVqZExlyFM0BlFo0YvCsgB"
},
infos: {},
pull: {
dest: '<%= yeoman.app %>/locales/'
format: 'js',
js: {
prefix: 'translate_',
es6: false
}
}
},
...
});Options
The options object and its key is required. It is a project-specific information that will allow you to authenticate
through their service and specify the project you are looking for.
You can find your api key by following these steps:
- go to http://localeapp.com
- click on the project you want to deal with
- click the Dashboard button and select Settings menu
- copy your API key
Other keys (infos, pull), can be added regarding to your needs.
infos
This target can be used to get some details about your localeapp project.
Output example:
11:07:12 {master} ~/projets/grunt-localeapp$ grunt localeapp:infos Running "localeapp:infos" (localeapp) task ✔ Found project named "My awesome project" ✔ Default locale [en-US] English (United States)
pull
dest : Destination folder where the locale files will be pulled (must end with a '/').
format : Basicly, localeapp.com only exports to yaml format. This options indicates the desired
output format. Available format are listed below :
| format | translation tool | comment |
|---|---|---|
| yml | native | |
| json | yamljs | |
| js | yamljs | output in a variable: var en_US = {...}; |
Difference between js and json is that you can assign the object to a variable. With any options, variable name is
the locale name (ex: en, en_US, ...). But you can prefix this name with the js.prefix option.
Example: js.prefix = "translate_ will create an output file which will lokk like var translate_en_US = {...};
In addition, if you specifiy js.es6: true, the var keyword will be replaced by ES6 let one.
Output example :
12:31:54 {without-gem} ~/projets/grunt-localeapp$ grunt localeapp:pull Running "localeapp:pull" (localeapp) task ✔ 2 locales found: en-US, fr-FR en-US translations: 136 fr-FR translations: 12
Contributing
It is my very first grunt task, so please be indulgent and feel free to send me back any constructive comment.
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.
Release History
0.2.0 (2015-02-16)
- Complete rewrite to avoid gem requirement
0.1.3 (2014-10-06)
- Add new supported output format: js
0.1.2 (2014-07-16)
- Pull files from localeapp
- Supported output formats: yml, json
