使用 i18n 模块维护节点 js app 中的本地化
轻量级简单翻译模块,带有动态 json 存储。支持普通的 vanilla node.js 应用程序,并且应该使用任何框架(如 express,restify 和更多)来公开传递 res 和 req 对象的 app.use()
方法。在 app 和 templates 中使用常见的__(’…’)语法。在与 webtranslateit json 格式兼容的 json 文件中存储语言文件。首次在应用中使用时,即时添加新字符串。无需额外解析。
表达+ i18n-node + cookieParser 并避免并发问题
// usual requirements
var express = require('express'),
i18n = require('i18n'),
app = module.exports = express();
i18n.configure({
// setup some locales - other locales default to en silently
locales: ['en', 'ru', 'de'],
// sets a custom cookie name to parse locale settings from
cookie: 'yourcookiename',
// where to store json files - defaults to './locales'
directory: __dirname + '/locales'
});
app.configure(function () {
// you will need to use cookieParser to expose cookies to req.cookies
app.use(express.cookieParser());
// i18n init parses req for language headers, cookies, etc.
app.use(i18n.init);
});
// serving homepage
app.get('/', function (req, res) {
res.send(res.__('Hello World'));
});
// starting server
if (!module.parent) {
app.listen(3000);
}