ui-lang-detector
Express.js middleware to detect UI language to be used to serve content.
As soon as you support a website that serves multilingual UI, you want to send the user your content in the language the user prefer. If this is a first-time visitor, you may want to try to guess the most appropriate language from the Accept-Language
header. Later on, you will have a chance to ask the user what language they prefer and store this information with the user account data, or send a special cookie to the user agent.
This middleware extends the Request object with req.uilang
property following these steps:
-
First, check if the special cookie has come with the request. If so, ok - use it.
-
If no cookie detected, analyze the
Accept-Language
header and choose the most preferable language. -
If nothing helps, use the provided default value.
All language codes are lowercased (e.g., en
, en-us
etc).
Installation
$ npm install ui-lang-detector --save
Usage example
const app = ;const uiLangDetector = ; // Set up optionsconst options = cookieName: 'lang' defaultLang: 'en'; // Mount the middlewareapp; // Use on routesapp;
API
options
Configuration Type: Object
options.cookieName
Type: String
Optional. The cookie name being used to store UI language. If omitted, cookies are not processed.
options.defaultLang
Type: String
Default language code to use.