2011-08-23 82 views
2

是否有可能从位于jar中的资源包中覆盖String属性?如何覆盖资源包属性

我已经给了一堆罐子来开发一个多语言的应用程序,但罐子只包含一个资源文件,所以当我设置语言环境,比如德语,只有资源文件我提供了一个德语版本当然是翻译的;面对来自罐子的串的用户仍然是英语。

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

这可能吗?

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

的帮助

回答

1

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

+0

!谢谢我会尝试 – dm76

0

非常感谢据我理解你的问题,你有英文版本的资源包的应用程序,你想它翻译成德语。要做到这一点,你必须购买英文资源包,创建它的副本,将其重命名为TheBundle_de.properties,然后将所有文本翻译成德文,并将该文件与您的应用程序一起打包,以使其可以作为资源访问。现在使用常规的java本地化机制,一切都会正常工作。

+0

所以我想你没有承担我的问题...让我再试一次:我知道如何创建和使用各种语言的资源包。问题出在一个不同的层面:我有依赖关系(罐子),它们没有翻译资源bunldes,我无法更新这些罐子添加那些好点的 – dm76