Narcissistic Passion Minified
Join us to discuss the challenges, solutions and best practices for in-house JavaScript code sharing. Tuesday, 12/17 at 10am PT/1pm ET.Sign up here »

grunt-angular-localization

1.0.1 • Public • Published

grunt-angular-localization

Build Status NPM version

A grunt task for backfilling your localized app resource files.

Used in conjunction with the excellent angular-localization

NPM

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 for a detailed explanation of git commit guidelines - source: AngularJS

Release History

  • 2014-09-26 v1.0.1 Update README
  • 2014-09-23 v1.0.0 First version!

Task submitted by Rahul Doshi.

Install

npm i grunt-angular-localization

DownloadsWeekly Downloads

11

Version

1.0.1

License

MIT

Last publish

Collaborators

  • avatar