Sailsjs改变了本地化

pro*_*ype 7 javascript localization node.js sails.js

我已经使用Sails.js很长一段时间了,并且想知道是否有办法根据url手动更改控制器的本地化.

示例:http://example.com/en将返回英文版本http://example.com/de并将返回德语版本.

谢谢你的帮助!!

sgr*_*454 10

您始终可以通过使用req.setLocale()或通过设置值来更改控制器操作中的区域设置req.locale.您还可以使用策略更全面地处理此问题:

// config/routes.js

module.export.routes = {

  '/:lang/': 'MyController.index',
  '/:lang/help': 'MyController.help',
  '/:lang/contact': 'MyController.contact',
  ...etc...

}
Run Code Online (Sandbox Code Playgroud)
// config/policies.js

module.exports.policies = {

   '*' : 'localize'

}
Run Code Online (Sandbox Code Playgroud)
// api/policies/localize.js

module.exports = function(req, res, next) {

   req.locale=req.param('lang');
   next();

};
Run Code Online (Sandbox Code Playgroud)