播放框架 1.x 上的电子邮件模板国际化/本地化

Posted

技术标签:

【中文标题】播放框架 1.x 上的电子邮件模板国际化/本地化【英文标题】:Email template internationalisation / localisation on play framework 1.x 【发布时间】:2015-10-19 12:39:44 【问题描述】:

我正在开发一个移动应用程序并使用 play 作为我们的服务器部分,但在电子邮件的国际化/本地化部分遇到了问题。 我看到 play 从接受语言头中获取语言环境,但在我的情况下,其余请求来自我们的 android 客户端,语言环境是通过参数发送的,而不是通过请求头。 我的问题是:例如,当我获得电子邮件主题的国际化版本时,这是以编程方式完成的,因此我可以将语言环境参数发送到 getMessage,但是,当我使用 play 邮件程序中的“发送”方法时,txt 模板使用标头的信息,与通过 rest 服务传递的语言环境参数不完全匹配。 我试过这种方法没有运气:

在休息控制器上:

...
request.acceptLanguage().clear();
request.acceptLanguage().add(locale); // locale is the param which contains "en", or "pt" or other languages
...
Mails.passwordRecoverByEmail(locale, user, password);
...

我的模板看起来像这样(它是一个 txt):

&'email.passwordRecoverByEmail.hello' $user.username,

&'email.passwordRecoverByEmail.body' $newPassword.

&'email.passwordRecoverByEmail.body2'

但是,我仍然得到英文模板,例如,将语言环境发送为“pt”。

调试我看到请求的acceptLanguage在清除或添加新的语言环境后没有改变。

有什么线索吗?

【问题讨论】:

我最终在请求中添加了接受语言标头,无论如何,如果可能的话,我希望能够传递一个区域设置以从电子邮件呈现/发送... 【参考方案1】:

我不是 100% 它会在你的情况下工作,但可能会在电子邮件呈现之前调用 Lang.set(locale)

【讨论】:

以上是关于播放框架 1.x 上的电子邮件模板国际化/本地化的主要内容,如果未能解决你的问题,请参考以下文章

text 电子邮件模板所有电子邮件模板编辑电

Firebase 验证电子邮件模板编辑

JavaScript 资源大全

中国国际消费电子博览会拥抱转型,全新面貌拭目以待!

2019北京国际消费电子博览会参观总结

国际字符(例如元音变音字符)在电子邮件地址的本地部分是不是有效?