问题描述
我使用 sails.js 已经有一段时间了,想知道是否有办法根据 url 手动更改控制器的本地化.
i've been using sails.js for quite some time and was wondering if there is a way to manually change the localization from the controllers depending on the url.
示例:http://example.com/en 将返回英文版本,http://example.com/de 将返回德文版本.
example: http://example.com/en will return the english version and http://example.com/de will return the german one.
感谢您的帮助!!
推荐答案
您始终可以使用 req.setlocale() 或通过设置 <代码>req.locale.您还可以使用策略在全局范围内处理此问题:
you can always change the locale in a controller action by using req.setlocale() or by setting the value of req.locale. you can also handle this more globally by using a policy:
// config/routes.js
module.export.routes = {
'/:lang/': 'mycontroller.index',
'/:lang/help': 'mycontroller.help',
'/:lang/contact': 'mycontroller.contact',
...etc...
}
<小时>
// config/policies.js
module.exports.policies = {
'*' : 'localize'
}
<小时>
// api/policies/localize.js
module.exports = function(req, res, next) {
req.locale=req.param('lang');
next();
};
大黄学长