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
globalize-express
The globalize middleware for the express framework
Install
npm install globalize-expressLoad
// 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
directory: __dirname + '/locales',
// An array of cldr data to load into globalize
// Checkout: https://github.com/jquery/globalize#2-cldr-content
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
langquery parameter in the URL (For example:http://yoursite.com?lang=jawould force the gloablize-express middleware to use japanese locale) - It then looks for a cookie with the name
langin the browser cookie that was sent back (if you have configured cookies) - Finally, it auto-detects the client browser locale based on the
accept-languageheader 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