title: Play 2.4.x how use Messages and not MessagesApi I18N
body: <p>I've done a little bit different form the internationalization guide, at the <a href="http://playframework.com/documentation/2.4.x/ScalaI18N" rel="nofollow">play I18N guide</a></p>
  
  <p>I forced the result to the language in the query string, it works, but it needs to be done in the "correct way". 
  It's a good form to keep the work and look for better approach later:</p>
  
  <p>NOTE: I USED THE "MessagesApi" to make it happen.</p>
  
  <p>please see the code below:</p>
  
  <pre><code>package controllers
  import play.api._
  import play.api.mvc._
  import play.api.i18n.I18nSupport
  import play.api.i18n.Messages.Implicits._
  import play.api.i18n.MessagesApi
  import javax.inject.Inject
  import play.api.i18n.Lang
  import play.api.i18n._
  class Application  @Inject() ( val messagesApi: MessagesApi) extends   Controller with I18nSupport {
  
  def index = Action {  implicit request =&gt;
              request.getQueryString("lang") match{
          case Some(lang) =&gt;  messagesApi.setLang(Ok(views.html.index()(messagesApi,Lang(lang))),Lang(lang))
          case None =&gt; messagesApi.setLang(Ok(views.html.index()(messagesApi,Lang("en"))),Lang("en"))
      }
  }}
  </code></pre>
  
  <p>index.scala.html</p>
  
  <pre><code> @()(implicit message: MessagesApi ,l: Lang)
   &lt;li&gt;&lt;a href="./?lang=en"&gt;&lt;img src="@routes.Assets.versioned("images/BR.png")" /&gt;&lt;/a&gt;&lt;/li&gt;
   &lt;li&gt;&lt;a href="./?lang=en"&gt;&lt;img src="@routes.Assets.versioned("images/US.gif")" /&gt;&lt;/a&gt;&lt;/li&gt;
   &lt;header&gt;
      &lt;h1&gt;@message("intro")&lt;/h1&gt;
   &lt;/header&gt;
      &lt;p&gt;@Html(message("description"))&lt;/p&gt;
  </code></pre>
  
  <p>conf/application.conf</p>
  
  <pre><code> play.i18n.langs = [ "en", "pt","fr" ]
  </code></pre>