一尘不染

Sailsjs更改本地化

node.js

我一直在使用Sails.js一段时间,想知道是否有一种方法可以根据URL从控制器手动更改本地化。

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

谢谢你的帮助!!


阅读 225

收藏
2020-07-07

共1个答案

一尘不染

您始终可以通过使用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-07-07