【发布时间】:2026-02-07 11:30:01
【问题描述】:
我使用 Sails.js 已经有一段时间了,想知道是否有办法根据 url 手动更改控制器的本地化。
示例:http://example.com/en 将返回英文版本,http://example.com/de 将返回德文版本。
感谢您的帮助!!
【问题讨论】:
标签: javascript node.js localization sails.js
我使用 Sails.js 已经有一段时间了,想知道是否有办法根据 url 手动更改控制器的本地化。
示例:http://example.com/en 将返回英文版本,http://example.com/de 将返回德文版本。
感谢您的帮助!!
【问题讨论】:
标签: javascript node.js localization sails.js
您始终可以通过使用req.setLocale() 或设置req.locale 的值来更改控制器操作中的区域设置。您还可以使用策略在全局范围内处理此问题:
// 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();
};
【讨论】:
将 2020 年更新为 @sgress454 的回答
// api/policies/localize.js`
module.exports = function(req, res, next) {
// This worked for testing
// You can use req.param('lang') instead of 'in'
req.setLocale('in');
next();
};
【讨论】: