Spring Boot 找不到国际化消息文件

标签 spring spring-boot internationalization

我有一个带有 Spring Boot 1.5.9 和 thymeleaf 的简单默认应用程序,我正在尝试从国际化包(messages.properties、messages_XX.properties)加载消息。 Spring Boot 仅适用于 messages.properties 文件,每次我将语言环境更改为“en”之类的内容时,它都应该查找名为 messages_en.properties 的文件,但找不到它们。我究竟做错了什么?我不明白,我搜索了文档,它应该可以工作。

我有以下文件夹结构(非常基本):

src/main/resources/messages.properties

src/main/resources/messages_en.properties

谢谢。

最佳答案

在任何配置文件中创建bean

   @Bean
    public MessageSource messageSource() {
        ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
        messageSource.setBasename("message");
        messageSource.setDefaultEncoding("UTF-8");
        return messageSource;
    }

  @Bean
    public LocaleResolver localeResolver() {
        SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver();
        sessionLocaleResolver.setDefaultLocale(Locale.ENGLISH);
        return sessionLocaleResolver;
    }

关于Spring Boot 找不到国际化消息文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48096597/

相关文章:

java - 在 intellij 中创建 IntegrationTest 文件夹作为模块

java - spring 注解@ConditionalOnMissingBean 有什么作用?

python - 在一个函数中强制将一个函数的语言环境设置为英国/英语,以便 datetime.strftime 始终返回英语格式

java - Spring Data JPA 与 QueryDSL、聚合函数的计数问题

java - Spring集成异步通信同步响应

spring-boot - 如何覆盖 Hystrix 指标流端点的 URL 后缀?

java - 从属性文件读取问题(空格)

internationalization - 如何在 Hugo 中翻译标签(分类法)?

spring - 使用 Tomcat 使 Spring 与 3 层 Web 系统一起工作

spring - 嵌套验证组,Spring,JSR 303