我正在尝试在我的网站上更改语言三个小时。
我使用的是 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' ...怎么了?:/
或者我如何不仅在一个页面上为每个页面设置Locale ...