我刚开始使用 symfony 我正在尝试建立一个多语言网站,但我在更改语言环境时遇到了问题
我阅读了一些帖子,并阅读了有关此的文档,但语言环境没有改变,我尝试:
public function indexAction()
{
$this->get('session')->set('_locale', 'fr');
$request = $this->getRequest();
$locale = $request->getLocale();
return $this->render('PhoneMainBundle:Default:index.html.twig',array('locale'=>$locale));
}
但 $locale 中的值始终为“en”(我的默认语言环境)
我也试试
public function indexAction()
{
$this->get('session')->set('_locale', 'fr');
$request = $this->getRequest();
$request->setLocale('fr');
$locale = $request->getLocale();
return $this->render('PhoneMainBundle:Default:index.html.twig',array('locale'=>$locale));
}
在这种情况下 $locale 是 fr 但翻译总是来自 messages.en.yml
我想第一次使用 $_SERVER['HTTP_ACCEPT_LANGUAGE'] 来检测用户区域设置,也许在每个页面实现上使用一个监听器?
然后我将创建一条更改语言环境的路线
但我想找到一种方法来改变语言环境。
谢谢你的帮助