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

问题描述 投票:3回答: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,但显然,静态内容“关于我们”始终保持不变。

也许这可能是一个愚蠢的问题,但我不明白如何放置捆绑结构或是否有某种方法可以管理此事物。

尽管翻译没有问题,但实际上它会根据translations / messages.en.xliff文件将单词更改为树枝,我的问题是它只是存在于static-link-changes中。

symfony url-routing bundle multilingual symfony-routing
3个回答
2
投票

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

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

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

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

2
投票

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


0
投票

自Symfony 4.1起,您可以通过路由国际化管理任何本地路由。

© www.soinside.com 2019 - 2024. All rights reserved.