java - 任何用于从 i18n 资源包生成干净代码的库?

标签 java internationalization

<分区>

在我的项目中,我想对我现有的资源包进行编译时检查。我已经有了一组 *.properties 本地化文件,我准备将它们连接到某个 i18n 工具。我正在考虑常规的 ResourceBundles,但我不喜欢这样的事实,即这种机制不能保证任何类型的检查,无论是编译时检查还是维护检查,例如查找重复项或查找未使用的 key 。

因此,我正在寻找一个库,它可以将我现有的 *.properties 文件转换成整洁干净的 Java 代码,我可以在我的项目中使用这些代码。

最好的可能结果是拥有类似于 GWT i18n 支持的机制。第一,干净的界面,将所有消息作为单独的方法。

我看过jlibsForgeRock .我真的很喜欢 jlibs,但它不是一个单独的库,所以我很难想象仅仅为了 i18n 引入如此巨大的库依赖。 ForgeRock 几乎可以满足我的要求,但它会生成常量而不是干净的接口(interface)来使用,就像 jlibs 那样。

This entry blog也有助于理解我想使用哪种方法。我对可用的 i18n 工具进行了大量研究,但找不到最适合我需求的“那个”。

问候。

最佳答案

另一个满足您的代码生成要求的库是 i18n-binder .

就我个人而言,我会从另一个角度解决这个问题,使用 gettext框架,您将在源代码中标记可翻译字符串并从中生成资源包。有一些工具和编辑器可以根据提取的字符串更新翻译,并检测不再使用或修改的字符串。

关于java - 任何用于从 i18n 资源包生成干净代码的库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9868525/

相关文章:

java - 在Android中使用restTemplate.getForObject反序列化JSON对象的正确方法

java - Java(客户端)与Python(服务器)的通信

java - 使用 RTP 在 Java 或 C++ 中开发屏幕共享/演示应用程序的最佳方法是什么?

java - 在JavaScript中使用“<g:message标签

java - 如何获取 TimeZone.getDisplayName(locale) 值以返回非英语文本?

ruby-on-rails - 如何拆分 en.yml 文件?

spring-boot - 本地化 : Load translation file dynamically

java - 使用 Spring :message tag inside of form:input tag in Spring MVC

java - 使用 JOptionPane 时如何跳出 for 循环?

java - JTextArea+JScrollPane 中滚动+插入符行为的自定义