i18n/doc/source/infra.rst

3.6 KiB

Translation infrastructure

A series of scripts in OpenStack infrastructure is used to manage translation changes in Zanata. Without running the scripts, translation changes will not be reflected into OpenStack projects. This page explains how the infrastructure scripts runs as Jenkins jobs and monitor the jobs status.

Translation jobs

We have two types of Jenkins jobs for translations: syncing Zanata with the latest repositories and pushing translations into the repositories. The first job is for Zanata-side updates. It enables Zanata to have up-to-date texts to be translated by comparing OpenStack project repositories and Zanata. On the other hand, the second job is aimed to reflect changes related to translations. For example, if you contribute translations in Zanata, the translation results need to be pushed to the corresponding repositories.

To find updates for both Zanata and OpenStack project repositories, Jenkins starts to run scripts everyday at 6:00 UTC.

Note that not all translation changes are the target for translation jobs. Currently, we define that the jobs only download new files that are at least 75 percent translated and if files grow over time but do not get new translations (or strings change too much), they will be removed again from the project with a threshold of 20 percent. For the glossary (openstack-manuals/doc/glossary) and common (openstack-manuals/doc/common) directories, the download limit is 8 percent because these documents are large and only a part is used. The purpose of thresholds is to reduce the amount of patches that go into a project.

Monitoring translation jobs status

OpenStack Health dashboard provides us a convenient way to check the translation job status.

Translation infrastructure scripts

Translation infrastructure scripts are stored and managed in openstack-infra/project-config repository.

Note that the scripts use zanata-cli to pull and push translation content.