ResourceBundleMessageSource 找不到我的本地

ResourceBundleMessageSource cant find my local

我的情况

我想在我的项目中使用 ResourceBundleMessageSource (Maven/SpringBoot)。但我没有让它工作,也没有在网上找到其他帮助。

错误

o.s.c.s.ResourceBundleMessageSource:未找到 MessageSource 的 ResourceBundle [resources/label]:找不到基本名称 resources/label、区域设置 de_DE[ 的包=37=]

我的数据:


在我的 configurations.java:

@Bean
    public ResourceBundleMessageSource messageSource() {

        ResourceBundleMessageSource source = new ResourceBundleMessageSource();
        source.setBasenames("Resources");
        source.setUseCodeAsDefaultMessage(true);
        return source;
    }

我的App.java:

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
    
}

我的结构是:

Main
|
|App.java (to Start the App)
|Resources
\
 | "locale de_DE.properties"

感谢@M.Deinum,我发现了我的错误。

解决方案


  1. 我删除了 Bean。
  2. 重命名了文件 messages.properties 并制作了第二个德语文件。
  3. 将这些文件放在 src\resources.

不,它工作正常。

创建不同的文件,名称附加区域设置。 en_USja_JPde_DE 这些文件将如下所示。 messages.properties --> 默认 messages_de_DE.properties messages_en_US.properties

这应该可以解决问题。在您的 ResourceBundle 中,您可以传递语言环境。