Reputation: 3608
Im implementing Multilingual in SpringBoot application, after following configuration I'm getting property file couldn't be loaded
Folder Name
src/main/resources/i18n/messages
Property File Name
messages_us.properties
In Application Main class
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver resolver = new SessionLocaleResolver();
resolver.setDefaultLocale(Locale.US);
return resolver;
}
@Bean
public ResourceBundleMessageSource messageSource() {
ResourceBundleMessageSource source = new ResourceBundleMessageSource();
source.setBasenames("i18n/messages");
source.setUseCodeAsDefaultMessage(true);
return source;
}
In Controller
@RequestMapping("/msg")
public String msg(@RequestHeader("Accept-Language") Locale locale){
return messageSource.getMessage("msg",null,locale);
}
Header
Accept-Language:us
I get this warining
[36mo.s.c.s.ResourceBundleMessageSource [0;39m [2m:[0;39m ResourceBundle [i18n/messages] not found for MessageSource: Can't find bundle for base name i18n/messages, locale us
Upvotes: 1
Views: 2370
Reputation: 3440
The problem is your directory structure. When you specify the base names as i18n/messages
the framework will look for files like i18n/messages_en.properties
. the base name is the directory AND base filename.
Upvotes: 2