我想用 sf2 构建一个多语言应用程序。我希望多个路由指向同一个控制器,并且当我生成 url 时,我希望它们正确生成,即使有多个路由指向该控制器。
我的研究表明,我可以使用 @Route 注释向控制器添加多个路由,但是我将如何生成正确的 url?
理想情况下,我希望能够定义这样的路线:
homepage:
pattern:
en: /homepage
fr: /le_homepage
defaults: { _controller: AcmeDemoBundle:Main:homepage }
并且路由应该能够识别模式并确定匹配的文化。此外,当我生成 url 时,它应该让我提供一种文化或获取默认文化并使用适当的模式来生成 url。例如,如果我在用户使用 fr 语言时生成主页 url,它应该转到 /le_homepage。如果使用 en 语言,它应该转到 /homepage。
现在显然这在 sf2 中不可用。有人对此有解决方案吗?我考虑过手动添加 homepage_en: 和 homepage_fr: 路由,但是我会不断地复制东西,并且在生成 url 时要小心。如果有人有更好的解决方案,我想听听。谢谢。