globalize-express

1.4.0 • Public • Published

Build Status Coverage Status Dependency Status devDependency Status MIT License

globalize-express

The globalize middleware for the express framework

Install

npm install globalize-express

Load

// load modules
var express = require('express'),
    globalizeExpress = require("globalize-express");
 

Using with Express.js

Use as a middleware

// Add as a middleware to your express app
var app = express();
app.use(globalizeExpress(config));
 

List of configuration options

var config = {
    // list of supported locales
    locales:['en', 'ja'],
 
    // locale chosen if the requested locales was not found in the 'locales' array
    defaultLocale: 'en',
 
    // A custom cookie name which may contain the locale to use
    cookieName: null,
 
    // location of all the locale json files on disk
    messages: __dirname + '/locales',
 
    // An OPTIONAL array of cldr data to load into globalize
    // Checkout: https://github.com/jquery/globalize#2-cldr-content
    // If this property is not provided, globalize-express will dynamically load
    // all possible cldr-data for the locales listed above.
    localeData: [
    ],
 
    // Set this to true if running in development mode. This will delete cache before every access for localized string
    devMode: false
};

Inside Your Express View

The middleware adds a Globalize object to the request object of your app. You can use this as shown here:

module.exports = {
    index: function(req, res) {
        res.render("index", {
            title: req.Globalize.formatMessage("My Site Title"),
            desc: req.Globalize.formatMessage("My Site Description")
        });
    }
};

For more info on the API for Globalize, checkout jquery/Globalize

What locale does the Globalize object use?

For every individual request that your express app receives, the Globalize object selects the locale in the following manner (and priority):

  1. It looks for a lang query parameter in the URL (For example: http://yoursite.com?lang=ja would force the gloablize-express middleware to use japanese locale)
  2. It then looks for a cookie with the name lang in the browser cookie that was sent back (if you have configured cookies)
  3. Finally, it auto-detects the client browser locale based on the accept-language header property.

Depending on what was found first, it uses that as its locale to return appropriate strings.

NOTE: if the locale selected was not in the config.locales array, then it will fall back to the config.defaultLocale locale

Example

There is a working express.js example app provided in this repo. Please go through the example/README.md file to see instructions on how to run the example.

Package Sidebar

Install

npm i globalize-express

Weekly Downloads

25

Version

1.4.0

License

MIT

Last publish

Collaborators

  • devangnegandhi