Note
This project has been deprecated and will not be receiving any updates anymore.
Please, consider using an alternative package.
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, commas, and underscores so only the first part gets returned (en_GB -> en).
npm i --save express-simple-locale
| 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 |
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
});