SpringBoot多语言配置
SpringBoot Multilingual Configuration
我在 SpringBoot 应用程序中实现多语言,在配置之后我得到 属性 无法加载文件
文件夹名称
src/main/resources/i18n/messages
属性 文件名
messages_us.properties
在主应用程序中 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;
}
在控制器中
@RequestMapping("/msg")
public String msg(@RequestHeader("Accept-Language") Locale locale){
return messageSource.getMessage("msg",null,locale);
}
页眉
Accept-Language:us
我收到警告
[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
问题出在你的目录结构上。当您将基本名称指定为 i18n/messages
时,框架将查找类似 i18n/messages_en.properties
的文件。基本名称是目录和基本文件名。
我在 SpringBoot 应用程序中实现多语言,在配置之后我得到 属性 无法加载文件
文件夹名称
src/main/resources/i18n/messages
属性 文件名
messages_us.properties
在主应用程序中 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;
}
在控制器中
@RequestMapping("/msg")
public String msg(@RequestHeader("Accept-Language") Locale locale){
return messageSource.getMessage("msg",null,locale);
}
页眉
Accept-Language:us
我收到警告
[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
问题出在你的目录结构上。当您将基本名称指定为 i18n/messages
时,框架将查找类似 i18n/messages_en.properties
的文件。基本名称是目录和基本文件名。