节点国际化不能在Jade视图内工作(节点i18n)

我一直在使用国际化的i18n节点模块。 在根我初始化模块如下:

i18n.configure({ locales: ['en', 'nl'], register: global, directory: path.join(__dirname, 'locales'), defaultLocale: 'en', objectNotation: true }); app.use(i18n.init); 

该模块已经将翻译function( __() )注册为全局。 但是,这个函数不起作用,所以我决定把它传递给我的控制器和视图中的方法。

 app.use((req, res, next) => { res.locals.user = req.session.user || null; res.locals.formatDate = (data) => data ? format(data, process.env.DATE_FORMAT) : null; res.locals.__ = res.__ = () => i18n.__.apply(req, arguments); req.setLocale('en') next(); }); 

它在控制器中工作正常。 我使用req.__('string-to-translate')并根据需要进行翻译。

但是,当我尝试使用与帕格/翡翠呈现的视图中完全相同的function时,它返回给我undefined

任何想法我做错了什么?