grunt-angular-localization
v1.0.1
Published
Auto-generate resource files in different languages for angular-localization
Downloads
4
Maintainers
Readme
grunt-angular-localization
A grunt task for backfilling your localized app resource files.
Used in conjunction with the excellent angular-localization
Community
If you have any problems setting up or using grunt-angular-localization
, open an issue. I would be happy to help.
This is an active repository that takes user suggestions, feedback and pull requests seriously. Happy grunting!
Getting Started
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-angular-localization --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with these lines of JavaScript:
grunt.loadNpmTasks('grunt-angular-localization');
The "localize" task
Overview
In your project's Gruntfile, add a section named localize
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
localize: {
options: {
defaultLocale: 'en-US',
basePath: 'app/languages',
fileExtension: '.lang.json',
locales: [
'fr-FR',
'jp-JP'
]
},
files: ['tests/languages/en-US/**/*.lang.json']
}
});
Options
Most of these will mirror your configuration (whether default or overriden) for the client-side angular library.
options.spacing
Type: Number
Default value: 4
Number of spaces to indent JSON resource files after sorting. Note there is a hard limit of 10
spaces.
See MDN's definition of JSON.stringify for more details.
options.defaultLocale
Type: String
Default value: en-US
The locale that your app is initialized with for a new user.
options.basePath
Type: String
Default value: app/languages
The folder off the root of your web app where the resource files are located.
options.fileExtension
Type: String
Default value: .lang.json
The extension for all resource files spanning across all of the different supported languages.
options.locales
Type: Array
,
Default value: []
The various other languages that you want to support within your app (specified as language tags).
Usage Examples
If you are following a best-practices directory structure and keeping the default ngLocalize
configuration,
then you need only to set the locales that you wish to support.
grunt.initConfig({
localize: {
options: {
locales: [
'fr-FR',
'jp-JP'
]
}
}
});
Or, you can supply more task-specific options from your custom configuration:
grunt.initConfig({
localize: {
options: {
basePath: 'tests/languages',
locales: [
'fr-FR',
'jp-JP'
]
}
}
});
Run Tests
> npm install
> npm test
Contributing
In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt. Please refer to this [document][commit-message-format] for a detailed explanation of git commit guidelines - source: AngularJS [commit-message-format]: https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#
Release History
- 2014-09-26 v1.0.1 Update README
- 2014-09-23 v1.0.0 First version!
Task submitted by Rahul Doshi.