【问题标题】:How to let the user switch language in playframework 2如何让用户在play框架2中切换语言
【发布时间】:2012-05-16 10:17:49
【问题描述】:

在我的 play 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());
    }
}

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

【问题讨论】:

    标签: scala internationalization playframework-2.0


    【解决方案1】:

    您可以将语言存储在用户会话中。你可以找到一个例子here

    这个问题已经asked on the Play Google group

    【讨论】:

    【解决方案2】:

    根据documentation,在Play 2.4,在控制器里面你可以做

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

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

    【讨论】:

      猜你喜欢
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 2020-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多