Sails.js : 在我的控制器中使用 i18n

Sails.js : use i18n in my controller

在我的控制器中,我想在我的视图中发送这样的消息:

res.status(400).view('memberRegisterView',{error : "error"});

我想将此错误翻译成法语并 "erreur"。

我编辑了 i18n.js :

locales: ['en', 'fr'],
defaultLocale: 'fr'

在我的 en.json 中:

"error":"error"

在我的 fr.json 中:

"error":"erreur"

如何在我的控制器中使用翻译?

正如医生所说http://sailsjs.org/#!/documentation/concepts/Internationalization

req.__('error'); 

或强制法语:

sails.__({
  phrase: 'error',
  locale: 'fr'
});

@damien-marchand、@jaumard

以下帮助我在 sails 中使用 i18n:

<h1> <%= req.i18n.__('message-key') %> </h1>

根据 sails 文档 https://sailsjs.com/documentation/concepts/internationalization 以下应该有效,但没有

<h1> <%= __('message-key') %> </h1>

此外,

sails.__('message-key')

有效,但它与请求的语言无关。