如何根据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中。
要在站点中使用多语言,可以将区域设置设置为路由器:
about_me:
pattern: /{_locale}/about-me
defaults: { .... }
requirements: { _locale: en|it }
并且在控制器中控制语言环境:
$this->get('request')->getLocale();
在这种情况下,您应该查看JMSI18nRoutingBundle。有了它,您不仅可以定位站点,还可以对路线进行本地化(例如,示例中的“关于我”部分)。
自Symfony 4.1起,您可以通过路由国际化管理任何本地路由。