找不到messages_XX.properties

时间:2019-01-04 16:06:09

标签: java spring-boot multilingual

我在springboot中有一个应用程序,我需要多语言。该应用程序找到messages.properties,但找不到messages_es.properties。

我的代码: 在application.properties中

spring.messages.basename=i18n/messages

在控制器中

messageSource.getMessage("message.forgotSubject", null, new Locale(lang))

如果lang是es,则相同。 如果我删除messages.properties,则错误是在代码

下找不到消息
  

'message.forgotSubject'表示语言环境'es'。”,

谢谢

2 个答案:

答案 0 :(得分:0)

您设置了spring.messages.basename = i18n / messages,因此您的多语言属性文件必须以messages.properties为基础,如果删除此文件,则基础名称应为i18n / messages_es。但是,如果这样做,后缀es不是语言,而是文件名的一部分。

答案 1 :(得分:0)

我找到了解决方案。 它不在application.properties中。我已经完成了

@Configuration
public class CustomLocaleResolver {
   @Bean
   public ResourceBundleMessageSource messageSource() {
    ResourceBundleMessageSource rs = new ResourceBundleMessageSource();
    rs.setBasename("i18n/messages");
    rs.setDefaultEncoding("UTF-8");
    rs.setUseCodeAsDefaultMessage(true);
    return rs;
  }
}

我使用

@Autowired   
private MessageSource messageSource;

messageSource.getMessage("message.salutation", null, new Locale(lang)

谢谢