express-adam-locale

0.1.2 • Public • Published

express-adam-locale

Simple Multi Language Middleware for Express.

Installation

$ npm install express-adam-locale --save

Example

app.js:

var Path = require('path');
var express = require('express');
var EAL = require('../index');
var session = require('express-session');
var app = express();
 
app.use(session({ 
    secret: 'express-adam-locale'
}));
 
/* i18n */
app.use(EAL({
    path: Path.resolve(__dirname, 'i18n'),
    supported:[{
        code:'en-us',
        lang:'English'
    }, {
        code:'zh-cn',
        lang:'中文简体'
    }]
}, app));
 
/* templating */
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');
app.engine('html', require('ejs').renderFile);
 
/* page */
app.get('/', function(req, res){
    res.render('locale');
});
 
app.listen(process.argv[2])

i18n/en-us.json

{
    "hello": "hello",
    "world": "world"
}

views/locale.ejs

<p><%= _i18n_.hello %>, <%= _i18n_.world %>.</p>
<p>current:<%= _i18n_current_ %>.</p>
<% for(var i in _i18n_supported_) { %>
<a href='/set_locale?lang=<%= _i18n_supported_[i].code %>'>
    switch to <%= _i18n_supported_[i].lang %>
</a> 
<% } %>

Options

path {String}

The folder path of i18n files

supported {Array}

The supported languages. default value: [{code:'en-us', lang:'English'},{code:'zh-cn', lang:'简体中文'}]

Example:

app.use(EAL({
  path: Path.resolve(__dirname, 'i18n'),
  supported: [{code:'en-us', lang:'English'},{code:'zh-cn', lang:'简体中文'}]
}, app));

default {String}

Default language

set_url {String}

The url to switch current language. default value: /set_locale

Example:

app.use(EAL({
  path: Path.resolve(__dirname, 'i18n'),
  set_url: '/set_locale'
}, app));
 

Then you can set current language by request url like this '/set_locale?lang=en-us'

Local Params

The following three params are set to res.locals

  • res.locals._i18n_ {Object}
  • res.locals._i18n_current_ {String}
  • res.locals._i18n_supported_ {Array}

Debug

Set the DEBUG environment variable to express-adam-locale when starting your server.

$ DEBUG=express-adam-locale

License

MIT

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.2
    1
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.1.2
    1
  • 0.1.1
    0
  • 0.1.0
    0

Package Sidebar

Install

npm i express-adam-locale

Weekly Downloads

1

Version

0.1.2

License

MIT

Last publish

Collaborators

  • meikidd