[英]Locale in springboot 2
我嘗試在spring-boot 2應用程序中使用I18N
首先,我在資源/語言環境/消息中創建一個名為“messages_pt_BR.properties”的文件:
Size.Ato.sercicos=Deve conter pelo menos 1 item
Size.atoRtdpj.servicos=Deve conter pelo menos 1 item
Size.servicos=msg1
Size=msg2
validacao_documento_obrigatorio=Documento: Pelo menos 1 precisa estar preenchido
然后我創造
@Configuration
public class LocaleConfiguration {
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver localeResolver = new SessionLocaleResolver();
Locale.setDefault(new Locale("pt","BR")); // without this line when I try to get the locale the system return en_BR
localeResolver.setDefaultLocale(new Locale("pt","BR"));
return localeResolver;
}
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:locale/messages");
messageSource.setCacheSeconds(3600); //refresh cache once per hour
return messageSource;
}
}
然后我創造
@Component
public class Messages {
@Autowired
private MessageSource messageSource;
public String getMessage(String id) {
Locale locale = LocaleContextHolder.getLocale();
return messageSource.getMessage(id,null,locale);
}
}
所以在我的控制器中我使用:
@Autowired
Messages messages;
//in my method:
messages.getMessage("validacao_documento_obrigatorio")
當我嘗試測試時返回此錯誤:
org.springframework.context.NoSuchMessageException: No message found under code 'validacao_documento_obrigatorio' for locale 'pt_BR'.
並且jpa約束不會更改為。
將您的messages_pt_BR.properties
下locale
,如果你想從加載classpath:locale/messages
,因為這會搜索自己的messages_pt_BR property
區域文件夾下的,所以如果你想在/locale/messages
,那么你需要通過類似下面的完整文件名路徑它將在/locale/messages
文件夾下加載messages_pt_BR
文件:
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:locale/messages/messages");
messageSource.setCacheSeconds(3600); //refresh cache once per hour
return messageSource;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.