用于测试 i18n 属性的 Maven 插件

Posted

技术标签:

【中文标题】用于测试 i18n 属性的 Maven 插件【英文标题】:Maven plugin to test i18n properties 【发布时间】:2014-09-14 07:20:24 【问题描述】:

有人知道一个可以测试我所有语言属性文件的 maven 插件吗?我想测试我项目中的每种语言是否包含所有键。

用例:

找出是否是这样。向默认文件添加了一个密钥,却忘记添加到任何其他语言文件。 找出是否是这样。将密钥放入其中一个文件中,却忘记将其放入所有其他文件中。

编写自己的小型 maven 插件并不难,但我更喜欢已经存在的插件。目前还没找到。

或者:您如何测试您的文件?手动/自动/根本没有?

埃里克

【问题讨论】:

【参考方案1】:

好笑 - 几年前我给我的项目起了同样的名字。 https://github.com/hoereth/i18n-maven-plugin

这个插件在许多项目中都能很好地为我服务。它将属性文件的概念翻转了 180 度。 您使用翻译维护一个结构良好的 XMl 文件,插件将在构建期间为您创建所有属性文件。此时无需验证。它还可以创建一个包含所有翻译键的 Java 类 - 从而使您能够编译检查您的翻译调用。

相信我 - 从技术角度来看,这消除了翻译的痛苦。 :)

【讨论】:

【参考方案2】:

你应该试试i18n-maven-plugin。在构建(流程资源阶段)中,您的所有 Java 类、JSP 将被解析以找到您项目中的所有 i18n 键(根据您的 pom)。

该插件将添加所有捆绑包中缺少的所有 i18n 密钥。还有一个strict mode 可以从您的捆绑包中删除所有不再在您的应用程序中找到的 i18n 密钥,这样您就可以确保 100% 的密钥都在您的应用程序中使用并翻译成各种语言。

对于一个实际的工作示例,请随时查看此应用程序:

svn checkout https://svn.codelutin.com/wao/tags/wao-4.0.4/
mvn clean process-resources -Di18n.verbose

【讨论】:

以上是关于用于测试 i18n 属性的 Maven 插件的主要内容,如果未能解决你的问题,请参考以下文章

xml Bare bones配置Failsafe插件的pom.xml示例(用于集成测试)。 http://maven.apache.org/surefire/maven-failsafe-plu

maven 跳过单元测试的3种方法

maven 跳过单元测试的3种方法

如何在 Grails 2.0 服务中对 i18n 注入 messageSource 的使用进行单元或集成测试

用于离线模式的包maven项目

用于版本控制和缩小 javascript 的 Maven 插件