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


how to get the current locale in symfony 2.3?

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

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

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

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

你可以通过这个来获取当前的语言环境

 $request = $this->get('request');
 echo $request->getLocale();

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

  • 如果要访问服务或控制器中的区域设置,可以使用@request_stack注入RequestStack
  • RequestStack getCurrentRequest()获取当前请求的方法。然后,您可以使用getLocale()获取用户当前区域设置。