我正在尝试在我的网站上更改语言三个小时。
我使用的是2.1.7版,我发现一些来自2.0版语言环境的文章可通过会话访问。但现在是通过请求。
所以我在文档中找到了这个:
$request=$this->getRequest();
$locale=$request->getLocale();
echo $locale;
好吧..有效...但我看到'en'是parameters.yml中的默认值...我有文件messages.en.yml ...工作正常。
但是当我尝试:(其中$ localExtension ='fr'...与现有的messages.fr.yml文件..)
public function changeLanguageAction($localExtension)
{
$request=$this->getRequest();
echo $localExtension;
$request->setLocale($localExtension);
return $this->redirect($request->headers->get('referer'));
}
重定向后,我仍然看到'en'......什么是错的? :/
或者我怎样才能为每个页面设置setLocale,而不仅仅是一个...