.Extract all the translation keys for angular-translate project
npm install grunt-angular-translate
This project was moved into angular-translate organization
Extract all the translation keys for angular-translate project
##Status

Use npm install grunt-angular-translate
Then add this line to your project's Gruntfile.js file:
grunt.loadNpmTasks('grunt-angular-translate');
grunt-angular-translate provide to your grunt environment a task called i18nextract which need a configuration to rocks (Please read the documentation).
This extraction is made to work with the [angular-translate][angular_translate] project created by [Pascal Precht][pascalPrecht]
#### Filters
{{'TRANSLATION' | translate}}{{'TRANSLATION' | translate:XXXXXX}}
#### Directives
#### Directives plural (custom attribute angular-plural-extract to automatize extraction)
#### Filter
$filter("translate")("TRANSLATION")
#### Service angular-translate
$translate('TRANSLATION')$translate.instant('TRANSLATION')$translate(['TRANSLATION', 'TRANSLATION_1'])
Simple configuration for i18nextract task
``
i18nextract: {
default_options: {
src: [ 'src//.js', 'src//.html' ],
lang: ['fr_FR'],
dest: 'tmp'
}
}
More examples in Gruntfile.js
Options src and jsonSrc may be specified according to the grunt Configuring tasks guide.
- src
- nullEmpty
- namespace
- interpolation
- jsonSrc
- jsonSrcName
- defaultLang
- lang
- prefix
- suffix
- dest
- safeMode
- stringifyOptions
#### src
Type: Arrayundefined
Default:
Example: [ 'src/*/.js' ]
Define a file list to parse for extract translation.
#### nullEmpty (v0.2.6)
Type: Booleanfalse
Default:
Example: true
If set to true, it will replace all final empty translations by null value.
#### namespace (v0.2.6)
Type: Booleanfalse
Default:
Example: true
If set to true, it will organize output JSON like the following.
``````
{
"MODULE": {
"CATEGORY": {
"TITLE": "My Title",
"TITLE1": null
}
}
}
#### interpolation
Type: Object{ startDelimiter: '{{', endDelimiter: '}}' }
Default:
Example: { startDelimiter: '[[', endDelimiter: ']]' }
Define interpolation symbol use for your angular application.
The angulars docs about ($interpolateProvider)[http://docs.angularjs.org/api/ng.$interpolateProvider] explain how you can configure the interpolation markup.
#### jsonSrc
Type: Arrayundefined
Default:
Example: [ 'config/*.json' ]
Define a JSON file list to parse for extract translation.
#### jsonSrcName
Type: Arrayundefined
Default:
Example: [ 'label', 'name' ]
Define the keys to find corresponding values through JSON object.
#### defaultLang
Type: Stringundefined
Default:
Example: "en_US"
Define the default language. For default language, by default the key will be set as value.
#### customRegex
Type: Array[]
Default:
Example:
customRegex: [
'tt-default="\'((?:\\\\.|[^\'\\\\])*)\'\\|translate"'
],
Will extract MY.CUSTOM.REGEX from the following HTML: .
Enjoy your custom regex guys!
#### lang
Type: Arrayundefined
Default:
Example: ['fr_FR', 'en_US']
Define language to be extract (fr__FR, en__US, xxx). xxx will be the output filename wrapped by prefix and suffix option.
#### prefix
Type: String""
Default:
Example: "project_"
Set prefix to output filenames (cf [angular-translate#static-files][https://github.com/PascalPrecht/angular-translate/wiki/Asynchronous-loading#using-extension-static-files-loader]).
#### suffix
Type: String""
Default:
Example: ".json"
Set suffix to output filenames (cf [angular-translate#static-files][https://github.com/PascalPrecht/angular-translate/wiki/Asynchronous-loading#using-extension-static-files-loader]).
#### dest
Type: String""
Default:
Example: "src/assets/i18n"
Relative path to output folder.
#### safeMode
Type: Booleanfalse
Default:
If safeMode is set to true the deleted translations will stay in the output lang file.
#### stringifyOptions
Type: Boolean or Objectfalse
Default:
If stringifyOptions is set to true the output will be sort (case insensitive).object
If stringifyOptions is an , you can easily check json-stable-stringify README.
You will find the tests files into test directory.
To run test use grunt test`
__to improve ... :-D__
_(Anyone yet)_
_(Nothing yet)_
Copyright (c) 2013 Benjamin Longearet
Licensed under the MIT license.
[grunt]: http://gruntjs.com/
[getting_started]: https://github.com/gruntjs/grunt/wiki/Getting-started
[angular_translate]: https://github.com/PascalPrecht/angular-translate
[pascalPrecht]: https://github.com/PascalPrecht
