2012-02-23 51 views
2

我对模板中的国际化有疑问。Playframework - 设置标签内部的国际化

通常我们在模板内使用& {'key'}来用本地化的消息替换它。

我有一个像下面这样的模板。

#{extends 'base.html' /} 
#{set pageTitle:'Opps - 404 Error'/} 

"&{'404.message'}" 

不起作用。

有没有人有任何建议?

谢谢。

回答

9

你有两个选择。你可以做

#{set pageTitle: messages.get('404.message') /} 

#{set 'pageTitle'} 
    &{'404.message'} 
#{/set} 

我倾向于选择第二种方式。

+0

第二种方法在六个月内更具可读性:-) – adis 2012-02-23 09:07:01

+0

谢谢,我以第二种方式去了。它更加一致和可读。 – Nasir 2012-02-23 10:18:50

4

从guillaume.bort:

@{Application.index()} is a shortcut for ${actionBridge.Application.index().url} 

@@{Application.index()} is a shortcut for ${request.base + 
actionBridge.Application.index().url} 

&{'hello'} is a shortcut for ${messages.get('hello')} 

&{'hello', name} is a shortcut for ${messages.get('hello', name)} 

#{get 'title' /} is a shortcut for ${get('title')} 

所以回答你的问题可能是#{set pageTitle: messages.get('error_msg', 404)/}

+0

谢谢,我不知道标签是捷径。它可以在将来派上用场:) – Nasir 2012-02-23 10:21:56

+0

哇..多数民众赞成在非常方便...我希望所以会有书签功能,所以我可以收藏这个答案进一步参考! – 2012-02-24 17:03:04