玩!模板参数的国际化

时间:2014-02-28 10:22:20

标签: scala templates playframework internationalization playframework-2.0

Hell'o,

我正在使用Play!使用Scala模板构建应用程序的框架,但我遇到了问题..

我有这段代码:

@template("Homepage") {
    <p>Some Content</p>  
}

我正在尝试“国际化”参数,我尝试了一些不同的可能性,如:

作为“标准”参数

@template("@Messages('homepage')")

通过变量

@defining(@Messages("homepage")) { title =>
    @template(@title) {

或甚至在模板中

@tempate("homepage")

[... and in the template]

<title>@Message("@title")</title>

但是没办法这样做......每次我得到编译错误或者我在HTML页面中得到字符串“@Message('..')”或“@title”

有人知道怎么做吗?

2 个答案:

答案 0 :(得分:2)

问题来自于你使用'@'字符,这个字符应该在一个语句的开头使用一次,所以不要写@Message("@title"),而是写@Message(title)

'@'字符对模板说,这是Scala代码,一旦你放在一个语句的开头,你不需要继续在同一行中使用Scala变量。

答案 1 :(得分:2)

上帝你摇滚!!

最后我有这个有效的代码

@template(Messages("homepage")) {
    <p>Some Content</p>
}