Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于复杂的多模块java应用程序的国际化,您推荐的工具套件是什么?_Java_Internationalization_Pootle_Weblate - Fatal编程技术网

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

对于复杂的多模块java应用程序的国际化,您推荐的工具套件是什么?,java,internationalization,pootle,weblate,Java,Internationalization,Pootle,Weblate,我目前在一家公司实习,我的任务是重新评估用于翻译应用程序的工具套件,因为它在内部已经成为一个问题。我在网络上到处都找过了,我的结论是,对于这种类型的任务,没有合适的文档化的端到端工作流程,所以我请求社区帮助我了解他们在该领域看到了什么 我们当前的流程如下所示: 代码中的java、属性文件和资源包 自定义工具,用于根据类从代码中提取密钥。有点笨重,因为它使用类加载,因此有许多实际限制 自定义web工具,用于进行翻译和处理代码修订 以下是我们正在寻求的一些限制和改进: 我们希望外部翻译人员能够

我目前在一家公司实习,我的任务是重新评估用于翻译应用程序的工具套件,因为它在内部已经成为一个问题。我在网络上到处都找过了,我的结论是,对于这种类型的任务,没有合适的文档化的端到端工作流程,所以我请求社区帮助我了解他们在该领域看到了什么

我们当前的流程如下所示:

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

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

  • 自定义web工具,用于进行翻译和处理代码修订

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

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

  • 我们希望将元数据添加到翻译键,例如验证标志、分类数据和描述数据,这些数据不是由属性文件处理的

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

以下是我在网上找到的:

  • GNUGetText的复数处理和上下文消息都很好。但是,我们现有的代码是使用键编写的,无法在代码中编写简单的英语消息

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

  • Pootle除了不能在多个Git分支上工作外,几乎和我们定制的web工具一样

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

那么,对于复杂的多模块java应用程序的国际化,您推荐的工具套件是什么呢?不确定它是否能满足您的所有要求,但它可以节省时间。如果您正在使用Eclipse,或者可以使用它,那么可能值得一看。从网站:

实现的编辑器基于Babel Messages editor资源束编辑器,该编辑器将整个资源束视为修改中的对象,而不是单个属性文件。此外,资源包视图还为浏览资源和直接比较不同语言添加了丰富的功能。同时,基于RCP和RAP的独立应用程序可以在不需要编程技能的情况下翻译资源。

如何?不确定它是否能满足您的所有要求,但它可以节省时间。如果您正在使用Eclipse,或者可以使用它,那么可能值得一看。从网站:

实现的编辑器基于Babel Messages editor资源束编辑器,该编辑器将整个资源束视为修改中的对象,而不是单个属性文件。此外,资源包视图还为浏览资源和直接比较不同语言添加了丰富的功能。同时,基于RCP和RAP的独立应用程序可以在不需要编程技能的情况下翻译资源。

Gettext(.po)可以通过两个阶段键实现:键->英语,英语为键。可以使用原始密钥进行消歧。原始密钥可以保留

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

Web界面很好-作为辅助工具。当翻译公司提供这样的服务时,他们会抱怨

我不能充分强调文本的交付是非常重要的,以防止每个译者都必须做额外的工作。几乎可以合并的同一文本就是这样一个例子。翻译记忆可能会给出模糊的翻译,但最好由专门的人在交付要翻译的内容之前进行处理。此外,像“从菜单中选择‘Process thumbleweed’”和“Process thumbleweed”这样的内容可能需要一名翻译负责人,以便进行连贯的翻译。XLIFF可能提供更多的技术细节,但总的来说,我认为最好让有经验的开发人员来确保开发这个过程。特定术语的通用词汇表

还可以通过两个阶段键在显示特定语言和键“[key]”之间切换应用程序。

Gettext(.po):key->English,English as key。可以使用原始密钥进行消歧。原始密钥可以保留

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

Web界面很好-作为辅助工具。当翻译公司提供这样的服务时,他们会抱怨

我不能充分强调文本的交付是非常重要的,以防止每个译者都必须做额外的工作。几乎可以合并的同一文本就是这样一个例子。翻译记忆可能会给出模糊的翻译,但最好由专门的人在交付要翻译的内容之前进行处理。此外,像“从菜单中选择‘Process thumbleweed’”和“Process thumbleweed”这样的内容可能需要一名翻译负责人,以便进行连贯的翻译。XLIFF可能提供更多的技术细节,但总的来说,我认为最好让有经验的开发人员来确保开发这个过程。特定术语的通用词汇表

同样,能够让应用程序在显示特定语言和键“[key]”之间切换也不是最快的