Symfony3语言环境发生了变化,但没有发生变化

时间:2018-06-06 17:13:59

标签: php twig locale

当我更改语言环境时,页面上没有任何反应。它重新加载,但使用相同的语言。如果我打开另一个选项卡并访问我的服务器,那么语言环境将是我在上一个选项卡中选择的语言环境。

这是我设置语言环境的默认控制器。

public function indexAction(Request $request)
{
    // set locale
    $request->setLocale($request->query->get('_locale'));
    dump($request->getLocale($request->query->get('_locale')));

    return $this->render('default/index.html.twig', [
        'translate' => $this->get('translator')->trans('Symfony is great'),
    ]);
}

这是我的路线

index:
    path:     /{_locale}
    defaults: { _controller: AppBundle:Default:index }
    requirements:
        _locale: en|bg

以下是我如何从树枝上改变它。

<div class="col-lg-12">
    <a class="btn btn-info" role="button" href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'bg'})) }}">Bulgaria</a>
    <a class="btn btn-info" role="button" href="{{ path(app.request.get('_route'), app.request.get('_route_params')|merge({'_locale': 'en'})) }}">England</a>
</div>

这是显示的位置。

<h3>{{ translate }}</h3>

0 个答案:

没有答案