如何覆盖资源包属性

时间:2011-08-23 15:17:57

标签: java jar resourcebundle

是否可以从位于jar中的资源包中覆盖String属性?

我已经获得了一堆罐子来开发一个多语言应用程序,但是jar只包含一个资源文件,因此当我将Locale设置为德语时,只有resouece文件我提供了德语版本当然是翻译;面对来自罐子的字符串的用户仍然是英文。

所以我想我需要复制然后覆盖(不是很好,但这就是我能想到的)我的代码中的一个资源文件中的属性,所以它可以在其他资源文件中翻译我也提供。

这甚至可能吗?

是否可能取决于加载各种资源包的顺序?

非常感谢你的帮助

2 个答案:

答案 0 :(得分:1)

您必须为每个本地化(de,it,fr ...)要求提供额外的资源文件。不要覆盖JAR中的任何内容。 浏览JAR并找出每个资源包文件名,并在应用程序中提供(在类路径中)它的本地化版本。

答案 1 :(得分:0)

据我了解你的问题,你有资源包的英文版申请,你想把它翻译成德文。为此,您必须获取英语资源包,创建其副本,将其重命名为TheBundle_de.properties,然后将所有文本翻译为德语,并将此文件与您的应用程序打包,以使其可作为资源访问。现在使用常规的java本地化机制,一切都会正常工作。