您推荐的用于复杂多模块Java应用程序国际化的工具套件是什么?

时间:2013-06-20 14:34:57

标签: java internationalization pootle weblate

我目前正在公司做一个工作,我的任务是重新评估用于翻译应用程序的工具套件,因为它已成为内部问题。我在网上到处都看,我的结论是这类任务没有适当记录的端到端工作流程,所以我要求社区帮助我理解他们在现场看到的内容。

我们目前的流程如下:

  • 代码中的java,属性文件和资源包

  • 自定义工具,用于根据类从代码中提取密钥。有点笨重,因为它使用类加载,因此有许多实际约束

  • 自定义网络工具,用于翻译和处理代码修订

以下是我们正在寻求的一些限制和改进:

  • 我们希望外部翻译人员帮助我们处理我们公司无法处理的其他语言

  • 我们希望向翻译密钥添加元数据,例如验证标记,分类数据和描述数据,以及属性文件未处理的内容

  • 我们将有外部翻译人员,并希望能够尽可能使用标准与他们的工具正确集成

以下是我在网上发现的内容:

  • GNU Gettext的复数处理和上下文消息很好。但是,我们现有的代码是使用密钥编写的,不适用于在代码中编写普通英语消息。

  • XLIFF提供了我们想要添加的所有额外元数据的方法。但是,所有现有工具都不完整,有缺陷或成本高昂。许多工具都添加了自己的元数据,这使得使用XLIFF变得复杂。

  • Pootle几乎完成了我们自定义制作的Web工具所做的工作,但不能在多个Git分支上工作。

  • Weblate与Pootle类似,能够处理多个Git分支。但是,使用多种语言和许多翻译更新项目需要时间。它无法满足我们不断发展的需要。

那么您推荐的用于复杂多模块Java应用程序国际化的工具套件是什么?

3 个答案:

答案 0 :(得分:1)

Gettext(.po)可以通过两个阶段的键来实现:key - >英语,英语为关键。消除歧义可以使用原始密钥完成。原始密钥可以保留。

Gettext似乎比XLIFF更广泛使用 - 但同时我可能错了。

Web界面很好 - 作为辅助工具。翻译机构会在提供这样的事情时抱怨。

我不能充分强调文本的传递非常重要,以防止每个翻译人员都要做额外的工作。 可能联合起来的几乎相同的文本就是这样一个例子。翻译记忆库可能会提供模糊翻译,但在提交要翻译的内容之前,最好由专门的人进行处理。此外,诸如“从菜单中选择'流程thumbleweed'”和“处理thumbleweed”这样的事情可能需要翻译负责人,以获得连贯的翻译。 XLIFF可能会提供更多技术细节,但总的来说,我认为最好让经验丰富的开发人员确保开发此流程。特定术语的通用术语表。

还可以让应用程序在显示特定语言和键“[key]”之间切换。

答案 1 :(得分:0)

Tapiji怎么样?不确定它是否符合您的所有要求,但它可以节省时间。如果您正在使用Eclipse,或者可以使用它,那么可能值得一看。来自网站:

实现的编辑器基于Babel Messages Editor Resource-Bundle编辑器,该编辑器将整个Resource-Bundle视为正在修改的对象而不是单个属性文件。此外,Resource-Bundle视图为浏览资源和直接比较不同语言添加了丰富的功能。同时,基于RCP和RAP的独立应用程序无需编程技能即可实现资源转换。

答案 2 :(得分:0)

Weblate确实不是最快的导入工具(但即将发布的1.6版本有很多改进),但有several hints in the documentation如何改进这一点。你试过那些吗?