我可以在Iron Router
中指定这样的特定路线Router.path('/:lang/path')
并根据beforeAction()中的:lang参数更改语言。
我如何在全球范围内这样做,例如每个路径都应该有一个:lang前缀?
(是的,我知道有铁 - 路由器 - i18n包,但我不能在我的上下文中使用它。)
答案 0 :(得分:0)
这里有一种模式可以帮助您有效地做到这一点:
var myRoutes = ['about','info','help','item','post']; // your list of layouts (use your own names)
myRoutes.forEach(function(r){ // create all your routes as /:lang/routeName
Router.route(':lang/'+r,{ name: r, controller: 'myController' });
});
myController = RouteController.extend({ // define your own controller
onBeforeAction: function(){
Session.set('language',this.params.lang); // set the language
}
});