[英]Spring Boot, Thymeleaf email template internationalization
我正在嘗試根據用戶的首選語言(首選語言的 ID 存儲在用戶表中)更改電子郵件模板的語言。 在准備消息時,我將 Locale 傳遞給 Context,如下所示:
Locale locale = new Locale(user.getLanguage().getLocaleCode());
final Context ctx = new Context(locale);
ctx.setVariable("username", user.getUsername());
ctx.setVariable("address", user.getAddress());
當我記錄getLocaleCode()
的結果時,它返回預期值,例如“sr”。 在我的 /resources/lang 文件夾中,我創建了 messages_sr.properties 文件。 但是出於某種原因,當我發送電子郵件時,它會始終使用默認的 messages.properties 中的語言。 這是我的配置文件:
@Configuration
public class LocaleConfig {
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver slr = new SessionLocaleResolver();
slr.setDefaultLocale(Locale.US);
return slr;
}
@Bean(name = "messageSource")
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:lang/messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
在 resources/lang 文件夾中,我有:
根據我找到的文檔和示例,我找不到解決方案。 有人可以幫忙嗎?
謝謝。
受https://stackoverflow.com/a/11152674/3849555啟發,請改用classpath*:lang/messages
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.