使用i18n与hbs和express
我试图用hbs正确使用i18n,但还没有成功。
这是我的server.js代码:
var express = require('express'); var server = express(); var hbs = require('hbs'); var i18n = require('i18n'); var cookieParser = require('cookie-parser'); i18n.configure({ locales: ['en', 'fr'], cookie: 'locale', directory: __dirname + "/locales" }); hbs.registerPartials(__dirname + '/views'); server.set('view engine', 'hbs'); server.engine('hbs', hbs.__express); server.use(cookieParser()); server.use(i18n.init); hbs.registerHelper('__', function () { return i18n.__.apply(this, arguments); }); hbs.registerHelper('__n', function () { return i18n.__n.apply(this, arguments); }); server.get('/', function(req, res) { res.render('index'); });
和我的HTML代码:
<ul class="nav navbar-nav navbar-right"> <li><a href="/">{{__ 'HOME'}}</a></li> <li><a href="team">{{__ 'TEAM'}}</a></li> <li><a href="#">{{__ 'SERVICES'}}</a></li> <li><a href="#">{{{__ 'LEL'}}}</a></li> </ul>
还有一个我的Json文件:
{ "HOME": "HOME", "TEAM": "TEAM", "SERVICES": "SERVICES", "LEL": "CONTACT" }
我看不出我做错了什么,如果有人能帮我一下,这将是非常有帮助的! 谢谢!
编辑 :看来,我的帮手被认可,但国际英语不是翻译单词..
Édit :好吧我改变了我的模板引擎,它的工作!