Вот мой routes
файл:I18n в Play Framework 2.4.0
GET /:lang controller.Application.index(lang: String)
GET /:lang/news controller.Application.news(lang: String)
Обратите внимание, что все они начинаются с /:lang
.
В настоящее время я пишу Application.scala
в
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"))
}
Таким образом, я должен написать столько implicit Messages
, как Action
. Есть ли лучшее решение для этого?
Кажется хорошим, но как-то можно написать только '@Messages (" hello ")' в шаблоне? –
Да, в обоих случаях вы можете опустить вторую скобку после '@Messages (« hello »)', я отредактировал ответ – Infinity
Первый случай работает отлично. Но во втором случае я должен написать '@Messages (« hello ») (request.messages)' или я получу ошибку компиляции 'не смог найти неявное значение для сообщений параметров: play.api.i18n.Messages' , Постскриптум в игре 2.4 второй параметр 'Messages' был заменен на' play.api.i18n.Messages'. –