使用I18n播放Framework 2.4.0:同一页面中的两种语言

fas*_*r2b 5 scala internationalization playframework-2.4

如何在同一页面中使用带有IT和EN的消息("home.title")?在依赖注入之前我做了:

Messages("home.title")(Lang("IT")) 
Messages("home.title")(Lang("EN"))
Run Code Online (Sandbox Code Playgroud)

但现在它不起作用.

Chr*_*sEx 0

如果你的控制器看起来像这样

class MyController extends Controller { def doSomething = Action {...} }
Run Code Online (Sandbox Code Playgroud)

不是这样的

class MyController (val messagesApi: MessagesApi) extends Controller with I18nSupport { def doSomething = Action {...} }
Run Code Online (Sandbox Code Playgroud)

那么您可以在模板中使用以下方法:

@import play.i18n._
<html>
    ...
    <h1>@Messages.get(Lang.forCode("IT"), "home.title")</h1>
    ...
    <h1>@Messages.get(Lang.forCode("EN"), "home.title")</h1>
    ...
</html>
Run Code Online (Sandbox Code Playgroud)