【发布时间】:2014-04-24 21:06:59
【问题描述】:
我有一个包含多种语言的网站:
例如:
/aboutus (english no language in the url)
/es/aboutus
/nl/aboutus
这是我的问题:
我在 twig 模板中创建了一个语言切换器,例如,当我在 ES 页面上时它可以工作:
{% set lng = '/' ~ app.request.locale ~ '/' %}
<li>
<a href="{{ path(app.request.get('_route'), app.request.get('_route_params'))|replace({ (lng): '/'}) }}">
<i class="cus-gb"></i>
English
</a>
</li>
<li>
<a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'es'})) }}">
<i class="cus-es"></i>
Spanish
</a>
</li>
<li>
<a href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'nl'})) }}">
<i class="cus-nl"></i>
Dutch
</a>
</li>
但是当我在 EN 页面上时它不起作用,因为_locale 不在 URL 中。我的路线:
_event_translate:
path: /{_locale}/{nameid}
defaults: { _controller: Bundle:Event:index, _locale: en }
requirements:
_locale: es|nl
_event_default:
path: /{nameid}
defaults: { _controller: Bundle:Event:index, _locale: en }
有人知道如何解决这个问题吗?
【问题讨论】: