如何让用户在play框架2中切换语言

时间:2012-05-16 10:17:49

标签: scala internationalization playframework-2.0

在我的播放1.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());
    }
}

我想在播放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())
    )
  }

2 个答案:

答案 0 :(得分:5)

您可以将语言存储在用户会话中。您可以找到示例here

此问题已经asked on the Play Google group

答案 1 :(得分:3)

根据documentation,在Play 2.4中,您可以在控制器内部进行操作

{"Count":741,"Data":[{rec1....},{rec2...}, etc]}

您需要有一个文件conf / messages.fr,以便应用程序可以引用它来获取消息。您可以从messages.default文件开始,然后输入您自己的消息。