7

私のplay1.xコントローラーでは、これがありました。

public static void language(final String language){
    Lang.change(language);
    Header referer = request.headers.get("referer");
    if(referer == null){
        index();
    }else{
        redirect(referer.value());
    }
}

play 2.xでも同じことをしたいのですが、機能がなくなったような気がします。これは私が今まで持っているものです

  def language(language:String) = Action { implicit request =>

    // TODO change language

    val referer = request.headers.get("referer")
    referer.map{ referer =>
      Redirect(referer, FOUND);
    }getOrElse(
      Ok(views.html.index())
    )
  }
4

2 に答える 2

5

ユーザーセッションに言語を保存できます。ここで例を見つけることができます

この質問はPlay Google グループで既に行われています

于 2012-05-16T11:32:01.163 に答える
3

ドキュメントによると、Play 2.4では、コントローラー内で次のことができます

ctx().changeLang(new Lang(Lang.forCode("fr")));

アプリケーションがメッセージを参照できるように、ファイル conf/messages.fr が必要です。messages.defaultファイルから始めて、独自のメッセージを入れることができます。

于 2016-02-12T16:39:33.693 に答える