Play框架2.x简明模板国际化

4

有没有比下面这种国际化方式更简洁的方法:

<h2>@Messages.get("Title")</h2>

有点类似于Play 1.x的精神:

<h2>&{'Title'}</h2>
2个回答

5
这是标准的方法。您可以创建自己的标签:
//file: I.scala.html under views.tags

@(key: String)

@Messages.get(key)

然后像这样使用它

@import tags._  //to import tags, only once per template

@I("my.key")

2

根据Pere Villega的回答,我创建了一个小的标签文件来支持消息参数。

i.scala.html(因为我不相信大写的i):

@(key: String, args:String*)@Messages(key, args:_*)

文件内容在单行上,并且在html部分不包含任何空格或换行符,否则会导致换行并可能破坏某些内容或使生成的代码难以阅读和丑陋。


可以这样使用:@i("my.key", value1, value2)


另一个标签hi.scala.html用于包含HTML的消息:

@(key: String, args:String*)@Html(Messages(key, args:_*))

1
我喜欢这个。我也将它添加到我的templatesImport中。 - bradley.ayers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接