grunt-localeapp
v0.2.2
Published
Grunt task for localeapp.com service. It allows easy pulling translation files to yml or json format.
Downloads
10
Readme
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-dev
Once 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-tasks
to 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