我们正在本地化基于 C++ 的跨平台客户端应用程序。第一个本地化过程是在短时间内为一个大合作伙伴匆忙完成的,现在是时候重构它了。

目前,我们每个区域都有一个 XML 字符串文件,其中每个资源都有一个公共键和一个本地化值。然而,向我们的非技术性本地化人员发送 xml 文件并不理想——他们不知道如何编码特殊字符等。我想使用一种简单的、众所周知的格式,如 Excel/csv 和本地化程序(也很好,因为我们也有服务器端本地化,它可能位于同一文件的不同选项卡中),然后编码-从那里生成字符串文件。Excel 似乎不喜欢输出 UTF-8 CSV 文件,这很烦人,并且阻止我编写一些快速脚本来自动执行 Excel --> 字符串文件转换。

这个问题已经被解决了数百次。人们发现最好的工作流程是什么,特别是对于本地化人员位于公司外部的情况?我正在寻找一些对于非技术用户来说很容易的东西,并且开发团队也可以轻松地使用它来生成一些简单格式(如 XML)的字符串文件。

没有正确的解决方案

其他提示

  1. 使用OpenOffice而不是exel,它可以转储为UTF-8编码的CSV。

  2. 我们有.xls文件,包含常见ID,我们将其发送给翻译公司。然后使用OpenOffice将.xls转储为CSV。我们有一个工具可以生成基于CSV文件的包含本地化文件。

Qt为本地化提供了很好的设施。第一步是使用它们的字符串类QString。

接下来,您只需在tr()宏中包装任何字符串文字。这种方法的好处是你不必浪费时间来维护常量或定义。只需键入所需的字符串即可。

稍后,您使用Qt实用程序搜索所有代码单元中的可翻译字符串并创建.ts文件。这个文件是xml,所以你不必担心你的数据被困在某种专有格式中。

现在你有一个.ts文件,Qt提供了一个名为linguist的翻译编辑器。这是一个非常好的程序,它将字符串呈现给翻译者(人),并提供一些简单的工具来管理整个过程。该程序查找常见错误(不同的标点符号),跟踪每个字符串的状态,例如是否已转换,以及源字符串是否已更改或已被删除。该程序还将显示开发人员可以在tr()宏中包含的每个字符串的上下文信息。

转换完成后,.ts文件将编译为较小的二进制文件,随应用程序一起分发并在运行时加载。翻译可以即时切换。

还有更多内容,我在这里可以完全解释。这是一个值得研究的伟大系统。

这是一个有趣的话题。在过去,我已经以各种方式处理外包

有一次我们只使用prorietary格式的简单文本文件。我们为每种语言都有不同的文件。格式如下:

 #LOCALIZATION_ID
 English String

本地人没有问题。我使用的另一件事是自定义xls电子表格应用程序。基本上,应用程序通过Web服务将其数据发布到服务器。无需具有中间文件格式,例如csv。这很好,因为所有字符串都是版本化的,允许多个外包在同一个字符串文件上工作。

您应该可以编写一些vba来获取excel电子表格并输出外包商可以通过电子邮件发送给您的UTF-8 xml文件。表单顶部的一个大按钮,显示“发送XML文件”。它会将其发送到预定义的电子邮件地址,或将其发布到您的服务器。最糟糕的情况是,他们可以通过电子邮件向您发送文件。

我会对任何具有不明确字符编码的格式保持警惕。考虑使用 XLIF (不过请咨询您的翻译供应商,了解他们熟悉哪些工具/流程)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top