【发布时间】:2015-11-29 07:11:40
【问题描述】:
我有两个问题。一个与scala代码有关,另一个与html有关。 我正在尝试用荷兰语和英语翻译我的网站。当我的浏览器将荷兰语作为首选语言时,它会以荷兰语显示该网站。但是,如果我将英语作为首选语言,它也会以荷兰语显示该网站。
应用程序.conf
play.i18n.langs = [ "en", "nl" ]
messages.zh
login.title=Login
error.required=Field is required.
error.email.required=A valid email adress is required.
messages.nl
login.title=Inloggen
error.required=Dit veld is verplicht.
error.email.required=Een geldig e-mailadres is vereist.
LogIn.scala sn-ps
import play.api.i18n.Messages.Implicits._
object LogIn extends Controller{
val logInForm = Form(mapping(
"email" -> text.verifying(Messages("error.email.required"), {_.contains('@')}),
"password" -> text.verifying(Messages("error.required"), {!_.isEmpty})
))
}
我做错了什么?如何用英文显示我的网站
另一个问题与html有关。 playframework 网站说要写 &{'key'} 但这似乎不起作用。
<h1 class="title">&{'login.title'}</h1>
这会显示“&{'login.title'}”而不是“Login”或“Inloggen” html如何读取messages文件?
更新: 我发现代替 &{'login.title'} 我可以执行以下操作:
@import play.i18n._
<h1>@Messages.get("login.title")</h1>
这从消息文件中读取,但仍然只有荷兰语而不是英语
我使用 Intellij 和 Scala 和 Play Framework 2.4 都是最新版本。
【问题讨论】:
-
我将您的解决方案移至社区 wiki 答案。
标签: scala intellij-idea playframework internationalization playframework-2.4