[ English | English (United Kingdom) | 한국어 (대한민국) | 中文 (简体, 中国) | Deutsch | Indonesia | 日本語 | русский ]
翻译基础设施¶
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.
upstream-translation-update.yaml
Implements the first Zuul job (Syncing to Zanata) by executing upstream_translation_update.sh
propose-translation-update.yaml
Carries out the second Zuul job (Syncing into repos) by executing propose_translation_update.sh
This job renames Chinese locales in Zanata (
zh-cn
andzh-tw
) tozh-hans
andzh-hant
for horizon related projects. For other projects and documentations (including docs in horizon related projects),zh-cn
andzh-tw
are used as-is. For more details, see 处理Horizon项目.
-
被 proposal_translation_update.sh 和 upstream_translation_update.sh 使用的共同代码
-
用于为 Zanata 设置项目的 Python 脚本
-
在原始(英语)版本和翻译版本(如果有)中都构建发行说明。
请注意,任务中的脚本使用 zanata-cli 来提取和推送翻译内容。