Sailsjs change localization

北城余情 提交于 2019-12-18 02:49:51

问题


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.

Example: http://example.com/en will return the English version and http://example.com/de will return the German one.

Thanks for your help!!


回答1:


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();

};


来源:https://stackoverflow.com/questions/21294790/sailsjs-change-localization

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!