Tapestry 5 中电子邮件模板的本地化?
Localization of e-mail templates in Tapestry 5?
Tapestry 为其页面和组件提供了强大的本地化支持。
我想发送符合用户语言偏好的本地化电子邮件。
有人遇到过与 Tapestry 集成良好的电子邮件模板本地化解决方案吗?
(我不介意是不是没有使用Tapestry的模板引擎)
我为每种语言创建了一个单独的 directory/package 并检索了模板文件。然后使用 ThreadLocale..getLocale().getLanguage()
检索当前用户的,这样我也可以用该语言发送电子邮件。
这是相关的代码片段:
public class MailSender {
private static final String EMAIL_TEMPLATE_ROOT = "com/xxx/emailtemplate/";
@Inject
private ThreadLocale locale;
public void sendEmail(..., final String emailTemplateFileName) {
String emailTemplateFilePath = getEmailTemplateFilePath(emailTemplateFileName);
....
}
private String getEmailTemplateFilePath(String templateLocation) {
String language = locale.getLocale().getLanguage();
return EMAIL_TEMPLATE_ROOT + language + "/" + templateLocation;
}
}
这不是特定于模板引擎的。您可以将此技术与您最喜欢的一起使用。 (我保留了 Velocity,因为它已经被项目使用了)
Tapestry 为其页面和组件提供了强大的本地化支持。 我想发送符合用户语言偏好的本地化电子邮件。
有人遇到过与 Tapestry 集成良好的电子邮件模板本地化解决方案吗? (我不介意是不是没有使用Tapestry的模板引擎)
我为每种语言创建了一个单独的 directory/package 并检索了模板文件。然后使用 ThreadLocale..getLocale().getLanguage()
检索当前用户的,这样我也可以用该语言发送电子邮件。
这是相关的代码片段:
public class MailSender {
private static final String EMAIL_TEMPLATE_ROOT = "com/xxx/emailtemplate/";
@Inject
private ThreadLocale locale;
public void sendEmail(..., final String emailTemplateFileName) {
String emailTemplateFilePath = getEmailTemplateFilePath(emailTemplateFileName);
....
}
private String getEmailTemplateFilePath(String templateLocation) {
String language = locale.getLocale().getLanguage();
return EMAIL_TEMPLATE_ROOT + language + "/" + templateLocation;
}
}
这不是特定于模板引擎的。您可以将此技术与您最喜欢的一起使用。 (我保留了 Velocity,因为它已经被项目使用了)