0.0.3 • Published 10 years ago

nsi18n v0.0.3

Weekly downloads
14
License
-
Repository
github
Last release
10 years ago

nsi18n

An I18N module for NodeJs with Express framework

Description

An I18N module for Nodejs with Express framework. It's easy to use. You can use js files or json files to record you local info.

Installation

npm i nsi18n --save

Usage

var nsi18n = require('nsi18n');
var _$ = nsi18n._$;
nsi18n.config({
  locals: ['zh_cn', 'en'],
  defaultLocals: 'en',
  cookieName: 'local',
  ext: '.js',
  localsDir: path.join(__dirname, 'locals')
});

...

app.use(express.bodyParser());
app.use(express.cookieParser()); // this is important
app.use(nsi18n.NSI18N());

###Use with res.iRender

app.get('/', function(req, res, next) {
	res.iRender('index');
});

In jade file(or others, but not test) use "{{tag}}" to sign the local info

extends layout
block content
	h1 {{hello_world}}
	p {{welcome}}(thesadboy,thesadboy@qq.com)

###Use with _$

app.get('/', function(req, res, next) {
	res.send(_$(res,'hello_world'));
});
app.get('/count', function(req, res, next){
	res.send(_$(res,'welcome', 'thesadboy', 'thesadboy@qq.com'));
});

###Change the current local Append a param "local" (eg. "local=en") to your url (eg. "http://localhost/?local=en") to change the current local.

Notice

###JS file demo(message_en.js)

module.exports = {
	hello_world : 'Hello World!',
	welcome : 'Welcome {0}, your email is {1}!'
}

###JSON file demo(message_en.json)

{
	"hello_world" : "Hello World"
	"welcome" : "Welcome {0}, your email is {1}!"
}