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
locale
query parameter. - The cookie specified by
cookieName
option. - The first entry of
accept-language
header. - The
acceptedLanguages
key from the request. - The
hostname.locale
nested 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
});