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.

    Install

    npm i globalize-express

    DownloadsWeekly Downloads

    87

    Version

    1.4.0

    License

    MIT

    Last publish

    Collaborators

    • devangnegandhi