我已按照https://www.playframework.com/documentation/2.5.x/ScalaI18N中的文档进行操作,控制器内的翻译工作正常。
但是,我需要在Twirl模板中进行翻译。
使用implicit messages
和/或使用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")))
}
这也让我怀疑如何允许更改应用程序中的语言...
我在这里缺少什么?
由于
答案 0 :(得分:3)
将[{1}}替换为已注入的Messages
:
messagesApi