Javascript 节点国际化在Jade视图中不起作用(节点i18n)
我一直在使用节点模块进行国际化。在根目录中,我初始化模块,如下所示:Javascript 节点国际化在Jade视图中不起作用(节点i18n),javascript,node.js,express,internationalization,Javascript,Node.js,Express,Internationalization,我一直在使用节点模块进行国际化。在根目录中,我初始化模块,如下所示: i18n.configure({ locales: ['en', 'nl'], register: global, directory: path.join(__dirname, 'locales'), defaultLocale: 'en', objectNotation: true }); app.use(i18n.init); 此模块已将翻译函数(_xAE())注册为全局函数。但是,此函数不起作用
i18n.configure({
locales: ['en', 'nl'],
register: global,
directory: path.join(__dirname, 'locales'),
defaultLocale: 'en',
objectNotation: true
});
app.use(i18n.init);
此模块已将翻译函数(_xAE()
)注册为全局函数。但是,此函数不起作用,因此我决定将其向下传递,以便该方法在我的控制器和视图中可用:
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.\uu('string-to-translate')
并根据需要进行翻译
但是,当我尝试在使用pug/jade渲染的视图中使用完全相同的函数时,它会返回我未定义的
知道我做错了什么吗