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