README
express-simple-locale
A simple Express middleware to guess the short-locale of a user. It then saves the found locale on the request for further usage.
It tries, in that order:
- The
localequery parameter. - The cookie specified by
cookieNameoption. - The first entry of
accept-languageheader. - The
acceptedLanguageskey from the request. - The
hostname.localenested key from the request.
When found, the locale is split on spaces, hyphens and underscores so only the first part gets returned (en_GB -> en).
Install
npm i --save express-simple-locale
Options
| Name | Type | Default | Description |
|---|---|---|---|
| key | String | locale |
the key to save locale to on the request |
| supportedLocales | String[] | [] |
available locales for the app |
| defaultLocale | String | en |
locale to fallback to |
| cookieName | String | locale |
cookie to try getting the locale from |
| queryParams | String|String[] | ['locale'] |
the query parameter(s) to look the locale from |
Example
import locale from 'express-simple-locale'
const localeMiddlewareOptions = {
key: 'userLocale',
supportedLocales: ['en', 'fr', 'it', 'es', 'de'],
defaultLocale: 'en',
cookieName: 'c00ki3z',
queryParams: ['locale', 'lang']
}
express()
.use(locale(localeMiddlewareOptions))
.use((request, response, next) => {
// request.userLocale
})