我目前正在我的 Symfony2 项目中使用 JMSI18nRoutingBundle
,到目前为止它工作正常,但我还需要翻译路由本身的能力,例如:
英语路线
/en/my-route/whatever/XXX
西班牙语路线
/es/mi-ruta/lo-que-sea/XXX
总而言之,我需要能够在控制器中定义以下内容:
/**
* @Route("route.my_route/route.whatever/XXX")
*/
其中route.my_route
来自翻译文件的消息:
消息.en.yml
route:
my_route: my-route
消息.es.yml
route:
my_route: mi-ruta
有谁知道这个捆绑包是否可以做到这一点?如果没有,有没有其他方法可以达到预期的效果?
为了自我回答这个问题,我最终创建了自己的捆绑包来处理这种特殊情况。现在我可以使用特殊的[]
表示法翻译路线,如下所示:
/**
* @Route("[route.my_route]/[route.whatever]/XXX")
*/
如果您碰巧遇到同样的问题,这里是捆绑包的链接。希望你觉得有用:
https://github.com/albertofem/TranslatableRoutePathBundle