2016-04-05 23 views
3

https://www.playframework.com/documentation/2.5.x/ScalaI18N belgesindeki belgeleri izledim ve denetleyicilerin içindeki çeviriler düzgün çalışıyor. Bununla birlikte, Twirl şablonlarında çevirilere ihtiyacım var.Çerçeve yapılandırması 2.5 scala i18n

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

Benim denetleyicisi:

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

Bu aynı zamanda ben uygulamasının dil değişiyor izin nasıl şüphe beni ...

implicit messages ve/veya aşağıdaki hatayı alıyorum Messages("test.testing") kullanılarak ile

Burada nelerin eksik?

Teşekkür

cevap

3

enjekte messagesApi ile Messages değiştirin:

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

ben yanlış şablonda örtülü mesajlar ekleyerek anladı Bir süre sonra. Ayrıca kontrol cihazımdan Mesajları mesajlarını mesaja, dile getirdiğin gibi değiştirdim. Bu cevabı kabul ettim. teşekkür ederim –