【发布时间】:2014-04-09 07:14:55
【问题描述】:
我有一个英文资源包messages.properties 和一个德文资源包messages_de.properties。
当我在德语包中找不到消息,但它存在于英语包中时,REsourceBundle#getString() 方法会返回来自英语的消息(它被设置为德语包的父级)。
我想在测试缺少德语消息的场景时暂时禁用此行为,所以基本上我想在找不到德语消息时抛出异常,但存在英文消息(在我的特定测试环境中)。
最简单的方法是什么?我们正在使用 Spring 并通过应用程序上下文查找消息。
在下图中,它显示了 ResourceBundle 实现如何在父映射中查找,如果它本身没有找到它(并且似乎没有简单的方法来改变这种行为)。
【问题讨论】:
-
this 可以帮到你。
-
这是我们默认做的...我只是想要一个干净的方法来禁用这个回退。但是 ResourceBundle 没有提供任何简单的方法来做到这一点。 :(
-
使用 PropertyResourceBundle#handleGetObject() 让它工作
-
@Sumedh 当德语属性文件不包含密钥时,您如何将其配置为回退到英语?
标签: java spring properties internationalization