播放框架 2.5 scala i18n

Play framework 2.5 scala i18n

我已经按照 https://www.playframework.com/documentation/2.5.x/ScalaI18N 中的文档进行操作,控制器内部的翻译工作正常。 但是,我需要 Twirl 模板中的翻译。 使用 implicit messages and/or 使用 Messages("test.testing") 我得到以下错误:

could not find implicit value for parameter messages: play.api.i18n.Messages

我的控制器:

class HomeController @Inject()(val messagesApi: MessagesApi) extends Controller with I18nSupport {

  def updateLocale(lang: String) = Action { implicit request =>
    printf(request.headers.get("Accept-Language").getOrElse("niente"))
    printf(Messages("test.testing"))
    Ok(views.html.index(Messages("test.testing")))
  }

这也让我怀疑如何允许更改应用程序中的语言...

我在这里错过了什么?

谢谢

Messages替换为注入的messagesApi:

class HomeController @Inject()(val messagesApi: MessagesApi)
                   extends Controller with I18nSupport {

      def updateLocale(lang: String): EssentialAction = Action {
        implicit request =>
          printf(request.headers.get("Accept-Language").getOrElse("niente"))
          printf(messagesApi("test.testing"))
          Ok(views.html.index(messagesApi("test.testing")))
      }
    }