【问题标题】:i18n Playframework 2.4 not workingi18n Playframework 2.4 不工作
【发布时间】: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


【解决方案1】:

OP 的解决方案。

除了更改浏览器首选语言之外,我还更改了系统首选语言并重新启动了计算机。这似乎解决了问题。我的网站现在显示英文。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-06
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多