Play framework 2.4 internationalization and i18n.Messages - Scala

I follow the documentation https://www.playframework.com/documentation/2.4.x/ScalaI18N and generate this code to use i18n.Messages in sight:

import play.api.data.Forms._
import play.api.i18n.I18nSupport
import play.i18n.MessagesApi

class Auth @Inject()(val messagesApi: MessagesApi) extends Controller with I18nSupport{
  val adminForm = Form(mapping(
    "login" -> nonEmptyText,
    "password" -> nonEmptyText)(Admin.apply)(Admin.unapply))

  def login = Action {
    implicit request =>
    Ok(views.html.admin.login(adminForm))
  }
}

With this I get a compilation error

overriding Api message method in I18n tag; Type support => play.api.i18n.MessagesApi; messagesApi value is of incompatible type

What am I doing wrong?

+4
source share
1 answer

You mix scala and java api, packages starting with play.apiare reserved for Scala, import play.api.i18n.MessagesApiinstead play.i18n.MessagesApi.

+5
source

Source: https://habr.com/ru/post/1605882/


All Articles