3

如何根据Symfony2中的用户区域设置动态 url 结构?

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

例如在 EN 我想要这个 url

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,我的问题只是出现在静态链接更改中。

4

2 回答 2

2

对于这种情况,您应该查看JMSI18nRoutingBundle。有了它,您可以本地化您的路线(例如,您示例中的“关于我”部分),而不仅仅是站点。

于 2013-08-29T21:11:39.613 回答
2

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

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

并在控制器中控制语言环境:

$this->get('request')->getLocale();
于 2013-08-29T18:17:32.380 回答