在我的游戏中! 2.0应用程序我想定义以下语言:
# The application languages
# ~~~~~
application.langs=en-GB,de-DE,nl-NL
我还创建了3个以相应语言代码结尾的文件:
Messages.en-GB
Messages.de-DE
Messages.nl-NL
当我在没有任何翻译密钥请求的情况下启动应用程序时,我收到以下错误消息:
conf/application.conf: 12: Key 'de-DE' may not be followed by token: ',' (if you intended ',' to be part of the value for 'de-DE', try enclosing the value in double quotes)
此外,当尝试从Scala模板访问消息时,我仍然看到相同的消息。我通过以下代码请求消息:
@Messages("login.page")
我根据Play手册进行了上述更改:http://www.playframework.org/documentation/2.0/JavaI18N。所以我有两个问题:
答案 0 :(得分:7)
在您的scala文件中使用:
<h1>@Messages("pack.key")</h1>
在你的java文件中使用:
String title = Messages.get("pack.key");
不要忘记在语言列表中添加引号:conf / application.conf
application.langs="en-GB,de-DE,nl-NL"
答案 1 :(得分:2)
Play中无法更改语言! 2.0,请参阅此讨论:http://groups.google.com/group/play-framework/browse_thread/thread/744d523c169333ac/5bfe28732a6efd89?show_docid=5bfe28732a6efd89
虽然,当你注册多种语言时,你应该用双重语言将它们括起来,如下所示:
application.langs="en-GB,de-DE,nl-NL"
然后您可以从scala模板中访问它们,如下所示:
@Messages.get("login.title")
所以目前默认语言是文件消息中定义的语言(没有任何前缀!!)
或者您可以使用@Messages(“not.logged.in”)