globalize-express
The globalize middleware for the express framework
Install
npm install globalize-express
Load
// load modulesvar express = globalizeExpress = ;
Using with Express.js
Use as a middleware
// Add as a middleware to your express appvar app = ;app;
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:
moduleexports = { res; };
For more info on the API for Globalize, checkout jquery/Globalize
Globalize
object use?
What locale does the 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.