在Symfony2中翻译路线本身

时间:2014-04-03 10:53:31

标签: php symfony routing

我目前在我的Symfony2项目中使用JMSI18nRoutingBundle,到目前为止工作正常,但我还需要能够翻译路径本身,例如:

英文路线

/en/my-route/whatever/XXX

西班牙语路线

/es/mi-ruta/lo-que-sea/XXX

总结一下,我需要能够在我的控制器中定义以下内容:

/**
 * @Route("route.my_route/route.whatever/XXX")
 */

其中route.my_route是来自翻译文件的消息:

messages.en.yml

route:
    my_route: my-route

messages.es.yml

route:
    my_route: mi-ruta

有人知道这个套装是否可行吗?如果没有,还有其他方法可以达到预期的效果吗?

1 个答案:

答案 0 :(得分:0)

要自我回答这个问题,我最终会创建自己的包来处理这个特例。现在我可以使用特殊的[]表示法翻译路线,如:

/**
 * @Route("[route.my_route]/[route.whatever]/XXX")
 */

如果碰巧遇到同样的问题,这里有一个指向该软件包的链接。希望你觉得它很有用:

https://github.com/albertofem/TranslatableRoutePathBundle