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

Posted

技术标签:

【中文标题】使用 I18n 播放 Framework 2.4.0:同一页面中的两种语言【英文标题】:Play Framework 2.4.0 with I18n: two languages in the same page 【发布时间】:2015-06-16 18:12:40 【问题描述】:

如何在同一页面中将 Messages("home.title") 与 IT 和 EN 一起使用? 在依赖注入之前我做了:

Messages("home.title")(Lang("IT")) 
Messages("home.title")(Lang("EN"))

但现在不行了。

【问题讨论】:

【参考方案1】:

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

class MyController extends Controller  def doSomething = Action ... 

不是这样的

class MyController (val messagesApi: MessagesApi) extends Controller with I18nSupport  def doSomething = Action ... 

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

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

【讨论】:

以上是关于使用 I18n 播放 Framework 2.4.0:同一页面中的两种语言的主要内容,如果未能解决你的问题,请参考以下文章

播放框架,子文件夹中的 i18n "messages.*"

在 URL 概念中播放框架 2 语言代码?

Play Framework 2.0 中公共字段的使用

heroku 部署与 play framework 1.2.4 和自己的安全模块

使用@AllowFeature 控制器方法播放Framework 1.x 功能测试

使用zend-framework3和gettext处理textDomains