我的目标是识别本地用户的浏览器并自动设置语言。
然后允许用户更改语言并将其保留在其他页面上。
当时我以这种方式设置路线:
# homepage not localized: load the homepage with default language
index_not_localized:
path: /
defaults: { _controller: "AcmeSiteBundle:Default:index", _locale: %locale% }
acme_site:
resource: "@AcmeSiteBundle/Controller/"
type: annotation
prefix: /{_locale}
defaults: { _locale: %locale% }
requirements:
_locale: %route_locale_requirements%
当用户在没有指定语言的情况下进入页面 example.com 时,本地路由默认设置,并且页面有一个切换器可以让您更改语言:
<ul class="dropdown-menu">
{% for locale in ['en', 'it'] %}
<li>
<a href="{{ path('homepage', {'_locale': locale}) }}">
</li>
{% endfor %}
</ul>
我该如何做我想做的事?
我必须创建一个监听器?我已经把本地会话?
我很困惑,我阅读了几个答案,但没有找到明确的答案!