Package Exports
- globalize-express
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (globalize-express) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
![MIT License] (https://img.shields.io/github/license/mashape/apistatus.svg)
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):
- 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) - It then looks for a cookie with the name
lang
in the browser cookie that was sent back (if you have configured cookies) - 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.