Hier ist meine routes
Datei:I18n im Play-Framework 2.4.0
GET /:lang controller.Application.index(lang: String)
GET /:lang/news controller.Application.news(lang: String)
Beachten Sie, dass alle von ihnen mit /:lang
beginnen.
Derzeit schreibe ich Application.scala
als
def index(lang: String) = Action {
implicit val messages: Messages = play.api.i18n.Messages.Implicits.applicationMessages(
Lang(lang), play.api.Play.current)
Ok(views.html.index("title"))
}
Auf diese Weise habe ich so viele implicit Messages
als Action
zu schreiben. Gibt es dafür eine bessere Lösung?
Es scheint gut, aber ist es irgendwie möglich, nur '@Messages (" Hallo ")' in Vorlage zu schreiben? –
Ja, in beiden Fällen können Sie die zweite Klammer weglassen nach '@Messages (" Hallo ")', ich habe Antwort – Infinity
bearbeitet Der erste Fall funktioniert gut. Aber im zweiten Fall muss ich '@Messages (" Hallo ") schreiben (request.messages)' oder ich bekomme einen Kompilierungsfehler 'konnte keinen impliziten Wert für Parameter-Nachrichten finden: play.api.i18n.Messages' . P.S. In Play 2.4 wurde der zweite Parameter von 'Messages' durch' play.api.i18n.Messages' ersetzt. –