我有一个英语资源包 messages.properties
和一个德语资源包 messages_de.properties
。
当我在德语包中找不到消息,但它存在于英语包中时,REsourceBundle#getString()
方法会返回英语中的消息(它被设置为德语包的父级)。
当我测试在哪些情况下缺少德语消息时,我想暂时禁用此行为,因此基本上当找不到德语消息时我想抛出异常,但存在英语消息(在我的特定测试环境中)。
最简单的方法是什么?我们正在使用 Spring 并通过应用程序上下文查找消息。
在下图中,它显示了 ResourceBundle 实现如何在父映射中查找(如果它本身没有找到它)(并且似乎没有简单的方法来更改此行为)。
最佳答案
我认为您需要做的就是将 ReloadableResourceBundleMessageSource
的 fallbackToSystemLocale
属性设置为 false
。
关于java - 资源包默认为父消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22955394/