2.1.0 • Published 7 years ago
koa-i18n v2.1.0
koa-i18n
I18n fro koa, based on i18n-2. NOTE: If want to use koa-i18n, koa-locale must be required!
koa-i18n version | branch | koa version |
---|---|---|
1.x latest | v1.x | 1.x latest |
2.x next | master | 2.x next |
Installation
$ npm install koa-i18n
Usage
const Koa = require('koa')
const convert = require('koa-convert')
const locale = require('koa-locale') // detect the locale
const render = require('koa-swig') // swig render
const i18n = require('koa-i18n')
const app = new Koa()
// Required!
locale(app)
app.context.render = render({
root: __dirname + '/views/',
ext: 'html'
})
app.use(i18n(app, {
directory: './config/locales',
locales: ['zh-CN', 'en'], // `zh-CN` defualtLocale, must match the locales to the filenames
modes: [
'query', // optional detect querystring - `/?locale=en-US`
'subdomain', // optional detect subdomain - `zh-CN.koajs.com`
'cookie', // optional detect cookie - `Cookie: locale=zh-TW`
'header', // optional detect header - `Accept-Language: zh-CN,zh;q=0.5`
'url', // optional detect url - `/en`
'tld', // optional detect tld(the last domain) - `koajs.cn`
function() {} // optional custom function (will be bound to the koa context)
]
}))
app.use(function (ctx) {
ctx.body = ctx.i18n.__('any key');
})
app.use(convert(function *() {
yield this.render('index')
}))
Tip: We can change position of the elements in the
modes
array. If one mode is detected, no continue to detect.
Dependencies
- i18n-2
- koa-locale - Get locale variable from query, subdomain, accept-languages or cookie
License
MIT
2.1.0
7 years ago
2.0.1
8 years ago
2.0.0
8 years ago
1.2.0
8 years ago
1.1.2
9 years ago
1.1.1
9 years ago
1.1.0
9 years ago
1.0.0
9 years ago
0.4.0
9 years ago
0.3.2
9 years ago
0.3.1
9 years ago
0.3.0
9 years ago
0.2.0
9 years ago
0.1.4
10 years ago
0.1.3
10 years ago
0.1.2
10 years ago
0.1.1
10 years ago
0.1.0
10 years ago
0.0.2
10 years ago
0.0.1
10 years ago
0.0.0
10 years ago