使用 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);
}