如何在symfony 2.3中获取当前的语言环境?

时间:2013-09-22 22:27:34

标签: php symfony

如何在Symfony 2.3中获取当前语言环境?

我有这样的网址: /{_locale}/blog/article以FR作为默认参数。 我尝试以下方法: $this->get('request')->getLocale()

但它总是给我默认参数。我知道我可以使用$this->get('session')->set('_locale', 'fr');

但问题是当用户第一次访问我的网站时,他的会话中没有任何内容。

3 个答案:

答案 0 :(得分:37)

您可以通过此

获取当前的区域设置
 $request = $this->get('request');
 echo $request->getLocale();

答案 1 :(得分:1)

在Symfony 4中仅使用$request->getLocale();,因为当您在Google中搜索此主题时,这似乎是顶部链接。

答案 2 :(得分:0)

  • 如果要访问服务或控制器内部的语言环境,可以使用@request_stack注入RequestStack
  • RequestStack具有getCurrentRequest()方法来获取当前请求。然后,您可以使用getLocale()获取用户当前的语言环境。