Symfony2 URL翻译和多语言网站的结构

时间:2013-08-29 16:18:59

标签: symfony url-routing bundle multilingual symfony-routing

如何根据 Symfony2 中用户的区域设置制作动态网址结构?

我解释得更好...... 问题不在于URL中的语言前缀更改。它运作良好。 问题出在URL的“静态”部分。

例如在EN中我希望有这个网址

http://www.mysite.com/en/about-us

在IT中

http://www.mysite.com/it/chi-siamo

此外,它应该像树枝链接中的URL前缀一样自动更改

<a href="{{ path('StaticsPagesBundle_about') }}"

事实上,它根据所选语言自动添加IT或EN,但显然,静态片段“about-us”始终保持不变。

也许这可能是一个愚蠢的问题,但我不明白我怎么能把捆绑结构或是否有某种方法来管理这件事。

虽然关于翻译没有问题,但事实上它根据 translations / messages.en.xliff 文件将单词更改为twig,我的问题只是存在于静态链接中 - 变化。

2 个答案:

答案 0 :(得分:2)

要在站点中使用多语言,您可以将语言环境设置为路由器:

about_me:
  pattern: /{_locale}/about-me
  defaults: { .... }
  requirements: { _locale: en|it }

并控制控制器中的区域设置:

$this->get('request')->getLocale();

答案 1 :(得分:2)

对于这种情况,您应该查看JMSI18nRoutingBundle。有了它,你可以本地化你的路线(例如你的例子中的'about-me'部分),而不仅仅是网站。