用于测试 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