用于检查Java资源包的工具(i18n)

我正在寻找一个工具,ant-task,IDE插件……这有助于使用标准的message-properties资源包来处理Java应用程序的I18N。 欢迎开源和商业解决方案。

具体来说,我正在寻找以下任务的支持:

1)从Java代码,JSP和其他工件中提取使用过的密钥。 由于涉及自定义框架,因此提取应允许自定义。

将源工件映射到某个消息包。 还有自定义规则。

报告使用不在捆绑中的密钥。 报告包中的键,但不包含映射到此包的源工件。

2)检查每个包的属性文件,并报告缺少的键定义和默认翻译(使用英文文本)。

3)将当前SVN / CVS / GIT /任何版本与旧版本进行比较,并报告一个转换(或者可能只是默认转换)而不是其他转换的情况。

http://rscbundlecheck.sourceforge.net/涵盖2)很大一部分。 但是我没有找到1)和3)的东西。 有什么指针吗?

报告使用不在捆绑中的密钥。 报告包中的键,但不包含映射到此包的源工件。

你知道,这个是非常不典型的,我怀疑任何框架都会包含它,因为它需要分析代码并确定,哪些调用是资源包,可以是作为参数传递的动态字符串等。

通常使用专用编辑器编辑包,用于Eclipse的fg ResourceBundle插件,您可以在其中同时编辑原始和翻译,并且您会看到所有翻译中不存在的每个键的警告。

1)从Java代码,JSP和其他工件中提取使用过的密钥。 由于涉及自定义框架,因此提取应允许自定义。

将源工件映射到某个消息包。 还有自定义规则。

我也遇到了同样的问题,并开始开发新的解决方案。 我今天刚刚在我的博客中发布了它。 它只是使用Java注释处理器工具来创建(或只是更新)属性文件和键。 它也是可扩展的,如post中所述。 它可以在我的GitHub项目中找到(你必须从我的博客中找到链接,因为我不能发布超过2个链接)。

随意使用它并询问您需要的任何东西。


2)检查每个包的属性文件,并报告缺少的键定义和默认翻译(使用英文文本)。

我也找到了这个解决方案 (尚未尝试过),听起来很有前途!


希望能帮助到你!

我为此目的实现了Message Compiler ,它为一个源文件中的键创建了资源包文件和常量定义,作为Java enum 。 因此常量可以在Java source code ,这是一种更安全的方式。 消息编译器不仅可以用于Java 。 它还为Objective-C or Swift创建资源文件和常量,并可以扩展到其他编程环境。