Sailsjs 更改本地化

2022-01-11 00:00:00 node.js sails.js localization javascript

我使用 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();

};

相关文章