私は自分のウェブサイトで言語を3時間変更しようとしています。
バージョン 2.1.7 を使用していますが、バージョン 2.0 ロケールからセッション経由でアクセスできる記事をいくつか見つけました。しかし、今はリクエスト経由です。
だから私はドキュメントでこれを見つけました:
$request=$this->getRequest();
$locale=$request->getLocale();
echo $locale;
わかりました..動作します...しかし、parameters.ymlのデフォルト値である「en」が表示されます...ファイル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」が表示されます...何が問題なのですか? :/
または、1つだけでなく、すべてのページにLocaleを設定するにはどうすればよいですか...