嘗試動態更改語言的播放相當新穎。播放更改語言dynamallicy
路線
GET /language/:lang controllers.Index.setLanguage(lang: String)
試過到目前爲止(但他們沒有工作)
Lang.apply(language);
Lang.change(language); // <-- doesn't even compile
Lang.apply(language);
ctx().changeLang(language);
視圖
@import play.i18n.Messages
...
@Messages.get("message")
@messages.at("message")
...
兩個不工作..
application.config
消息
方法一些記錄
public Result setLanguage(String language) {
Http.Context context = Http.Context.current();
String langFromHttpContext = context.lang().language();
String langFromCtx = ctx().lang().language();
String playLangCookieVal = request().cookies().get("PLAY_LANG").value();
boolean changed = ctx().changeLang(language);
Logger.info("Request param: " + language);
Logger.info("Http context language: " + langFromHttpContext);
Logger.info("ctx language: " + langFromHttpContext);
Logger.info("PLAY_LANG cookie value: " + langFromCtx);
Logger.info("Changed: " + changed);
return ok(index.render("Index"));
}
結果
application - Request param: en
application - Http context language: nl
application - ctx language: nl
application - PLAY_LANG cookie value: nl
application - Changed: false
哇,這沒有工作。非常感謝你 –