https://github.com/pirxpilot/i18n-stack
https://github.com/pirxpilot/i18n-stack
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/pirxpilot/i18n-stack
- Owner: pirxpilot
- Created: 2015-05-09T16:59:29.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2020-03-29T15:39:39.000Z (over 6 years ago)
- Last Synced: 2025-01-29T06:52:58.864Z (over 1 year ago)
- Language: JavaScript
- Size: 5.86 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Changelog: History.md
Awesome Lists containing this project
README
[![NPM version][npm-image]][npm-url]
[![Dependency Status][deps-image]][deps-url]
[![Dev Dependency Status][deps-dev-image]][deps-dev-url]
# i18n-stack
Stack of connect middleware for language/locale detection and translation.
- [detectLanguage][detect-language] - parse and detect browser language preference
- [overwriteLanguage][overwrite-language] - overwrite language selection with query param and/or cookie
- [gettext][connect-gettext] - insert simple gettext implementation in response
Also exposes [parseAcceptLanguage][parse-accept-language] - in case if you need parsed form
of `Accept-Language` header for some other reason than language selection.
If you don't need this exact stack all of its components can be used separately.
## Install
```sh
$ npm install --save i18n-stack
```
## Usage
```js
var app = require('express');
var locale = {
supportedLanguages: ['de', 'fr', 'pl', 'en-GB', 'en-US'],
defaultLanguage: 'en',
gettextAlias: '_'
};
var i18n = require('i18n-stack');
app.use(i18n.overwriteLanguage(locale));
app.use(i18n.detectLanguage(locale));
app.use(i18n.gettext(locale));
```
## License
MIT © [Damian Krzeminski](https://pirxpilot.me)
[detect-language]: https://npmjs.org/package/detect-language
[overwrite-language]: https://npmjs.org/package/overwrite-language
[connect-gettext]: https://npmjs.org/package/connect-gettext
[parse-accept-language]: https://npmjs.org/package/parse-accept-language
[npm-image]: https://img.shields.io/npm/v/i18n-stack.svg
[npm-url]: https://npmjs.org/package/i18n-stack
[deps-image]: https://img.shields.io/david/pirxpilot/i18n-stack.svg
[deps-url]: https://david-dm.org/pirxpilot/i18n-stack
[deps-dev-image]: https://img.shields.io/david/dev/pirxpilot/i18n-stack.svg
[deps-dev-url]: https://david-dm.org/pirxpilot/i18n-stack?type=dev