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

时间:2015-05-12 12:28:41

标签: node.js view controller internationalization sails.js

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

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

我想用法语翻译这个错误,并且有#34; erreur"。

我编辑了i18n.js:

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

在我的en.json中:

"error":"error"

在我的fr.json中:

"error":"erreur"

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

2 个答案:

答案 0 :(得分:5)

就像医生说http://sailsjs.org/#!/documentation/concepts/Internationalization

一样
req.__('error'); 

或强迫法语:

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

答案 1 :(得分:0)

@ damien-marchand,@ jaumard

以下帮助我帮助了i18n:

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

根据Sails文档https://sailsjs.com/documentation/concepts/internationalization 以下操作应该有效,但是没有成功

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

此外

sails.__('message-key')

可以使用,但不依赖于请求的语言。