播放框架有时无法读取语言文件

时间:2017-02-08 09:27:27

标签: playframework-2.0 playframework-2.2 playframework-2.1 playframework-2.3

我使用playframework 2.3.x并使用俄语和英语。问题是电子邮件有时可以从语言文件中获取值。

例如,在文件中,我有mail.subject = welcome到我们的平台。它有时只发送" mail.subject"而不是欢迎来到我们的平台"。请告知如何解决这个问题?

def sendEmail(to: String) {
try {
  var fromAddress = current.configuration.getString("smtp.from").get
  val bcc = current.configuration.getString("smtp.bcc").get
  val email = Email(
    Messages.get(getLan(), "mail.subject"),
    fromAddress,
    Seq(to),
    bodyHtml = Some(views.html.custom.mails.application().toString()),
    bcc = Seq(bcc)
  )
  MailerPlugin.send(email)
} catch {
  case ex: Exception => PlayLogger.instance.error(ex.getMessage)
}
}

1 个答案:

答案 0 :(得分:0)

mail.subject键未针对您使用的某种语言定义,并且该语言在请求cookie中设置。

默认情况下,播放Cookie中的语言。如果未找到cookie中的语言或该语言不可接受,则选择默认语言。

https://github.com/playframework/playframework/blob/2.3.x/framework/src/play/src/main/scala/play/api/mvc/Controller.scala#L64

您可以通过明确设置语言或创建自己的语言检测来修复它。