如何在Play模板中翻译#{get'title'/}?

时间:2011-08-25 22:03:01

标签: java templates internationalization playframework

我有一个带有main.html的模板(#{get 'title' /}),我希望它使用&{'title'}标记进行翻译,但显然我做不了

&{ #{get 'title'/} }

实现这一目标的正确方法是什么?

2 个答案:

答案 0 :(得分:3)

最好的选择是将标题设置为已翻译的字符串。替换:

#{set 'title'}My Title#{/set}

#{set 'title'}&{'my.title.i18n.key'}#{/set}

如果使用简短版本,请执行以下操作:

#{set 'title', messages.get('my.title.i18n.key') /}

因为messages是模板中的隐式对象。

答案 1 :(得分:2)

还有一些其他的做事方式:

  • 您可以使用Messages.get(key)代替&{key}(在模板中,您可以使用隐式messages对象,即messages.get(key))。
  • 我相信您可以使用Http.Request.args.get('title')代替#{get 'title' /}。使用隐含的request对象request.args.get('title')

所以,一种方法可以达到你要去的地方:

&{request.args.get('title')}

另一种方法是在设置标题时进行本地化:

#{set 'title', messages.get('my title key')}

the template cheat sheet的顶部列出了可用的隐式对象。)