2016-04-05 26 views
3

私はhttps://www.playframework.com/documentation/2.5.x/ScalaI18Nのドキュメントに従っており、コントローラ内の翻訳はうまく動作します。 しかし、私はTwirlテンプレートで翻訳が必要です。Play framework 2.5 scala i18n

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"))) 
    } 

また、これは私がアプリケーションの言語を変更できるようにする方法を疑問に私を作る...

implicit messagesおよび/または私は次のエラーを取得する Messages("test.testing")を使用して

私はここで何が欠けていますか?

おかげ

答えて

3

は、注入されたmessagesApiMessagesを置き換えます

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"))) 
     } 
    } 
+0

私は私が間違っているテンプレートで暗黙のメッセージを追加して実現しばらく。私はあなたが言及したようにメッセージをmessagesApiに変更しました。 私はこの回答を受け入れました。ありがとうございました –

関連する問題