0

저는 playframework 2.3.x를 사용하며 러시아어와 영어가 있습니다. 문제는 전자 메일이 언어 파일에서 값을 가져올 수 있다는 것입니다.재생 프레임 워크가 때때로 언어 파일을 읽지 못했습니다.

예를 들어 파일에서 mail.subject = Google 플랫폼에 오신 것을 환영합니다. 때때로 "우리 플랫폼에 오신 것을 환영합니다"대신 "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) 
} 
} 
+0

무엇이 실패 했습니까? 그것은 다른 언어로 메시지를 보냅니 까? – Mysterion

+0

언어 파일에서 값을 얻지 못했습니다. mail.subject = Google 플랫폼에 오신 것을 환영합니다. 그러나 방금 "mail.subject"를 보냈습니다. –

+0

이 동작 중에 오류가 기록되지 않습니까? – Mysterion

답변

0

mail.subject 키는 사용자가 사용하는 일부 언어에 대해 정의되지 않으며, 그 언어는 요청 쿠키 설정됩니다.

기본적으로 쿠키에서 언어를 가져옵니다. 쿠키의 언어가 없거나 언어가 허용되지 않는 경우 기본 언어가 선택됩니다.

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

언어를 명시 적으로 설정하거나 언어 검색을 직접 설정하여 문제를 해결할 수 있습니다.