[ English | русский | English (United Kingdom) | Indonesia | 한국어 (대한민국) | 中文 (简体, 中国) | Deutsch | 日本語 ]

翻译基础设施

OpenStack基础设施中的一系列任务用于管理Zanata中的翻译变更。 如果不运行任务,翻译变更将不会反映到OpenStack项目中。 此页面解释了基础设施任务如何以 Zuul 作业运行实际脚本并监视作业状态。

翻译作业

我们有两种类型的Zuul作业用于翻译:将源字符串同步进更新到最新存储库的Zanata中,并将翻译从Zanata推送到存储库里。 第一项作业是Zanata方面的更新。 在OpenStack项目存储库和Zanata之间比较和更新要翻译的最新源字符串。 如果OpenStack项目存储库中的源文本被更改了,那么更改集会被推送到Zanata中,使得翻译人员能处理最新的源字符串。 另一方面,第二项作业旨在将Zanata中翻译过的字符串(在翻译人员进行了翻译活动之后)中的更改反映到相应的OpenStack项目存储库中。 这项作业将把这些更改提议为 Translation Import Gerrit补丁。

在 OpenStack 项目存储库中合并补丁之后, Zanata 的更新作业开始,并且 Zuul 每天在 6:00 UTC 针对 OpenStack 项目存储库的更新开始运行任务。

请注意,并非所有翻译更改都是翻译作业的目标。 目的是要拥有保持一致的翻译方案,用户界面和文档。 如果只翻译几行就没有多大意义。 小组已经决定,至少有75%的信息被翻译的文件会存在于git存储库中。

为了避免太多的流失和最后一分钟的字符串修复导致文件被删除,面向发布还有一个较低的阈值,作为策略翻译的信息达到 66% 即可 - 这只能手动强制执行。

任务执行的 OpenStack infra 脚本目前仅下载翻译度达 75% 的新文件,并且如果随着时间推移文件内容增加但是没有获得新的翻译(或者内容变化太多),当达到了低阈值时(目前为 40% )它们将自动从项目中删除。

监控翻译作业状态

The Zuul Builds Page provides us a convenient way to check the translation job status.

翻译基础设施任务和脚本

Translation infrastructure tasks are stored and managed in openstack/project-config repository. The translation infrastructure scripts are stored and managed in openstack/openstack-zuul-jobs repository.

请注意,任务中的脚本使用 zanata-cli 来提取和推送翻译内容。

Debugging job scripts

See Debugging job scripts.