Help:Extension:Translate/Process flow in MediaWiki jobs

This page describes:


 * 1) The various jobs present in the Translate extension
 * 2) What happens when a page is marked for translation
 * 3) What happens when a translation unit is translated

Note that the diagrams on the page can be downloaded, and opened using DrawIO/diagrams.net to modify.

Glossary
See Help:Extension:Translate/Glossary.

Please ensure that you are familiar with the following terminology:


 * 1) message collection
 * 2) message group
 * 3) message handle
 * 4) message index
 * 5) source page
 * 6) state
 * 7) translatable page
 * 8) translatable page source
 * 9) translation page
 * 10) translation unit
 * 11) translation unit identifier
 * 12) translation unit marker
 * 13) translation unit page
 * 14) translation unit source

MediaWiki Jobs in Translate
This section describes the relevant jobs involved when a page is marked for translation or a translation unit is translated.

TranslationsUpdateJob

 * 1) Creates and runs the  (one per translation unit) to update the translation unit pages in the source language and to optionally fuzzy its translations.
 * 2) Regenerates the group stats for the page.
 * 3) Creates the  for all the translation pages and adds them to the job queue.
 * 4) Add a  to the job queue.

This job is added to the job queue when a page is marked for translation.

MessageUpdateJob
Updates the translation unit pages with the new translation text.

This job is added to the job queue by when a page is marked for translation.

TranslateRenderJob
When a page is marked for translation, a is created for each translation page. They update the translation pages with the latest content of page that was marked for translation.

When a translation unit is translated, a is created to update the translation page for the language in which the translation unit was translated.


 * This job is added to the job queue when a translation unit page is modified.
 * This job is added to the job queue when a page is marked for translation.

MessageIndexRebuildJob
Used to rebuild the with information regarding the latest page marked for translation. De-duplication is in place for this job to ensure that only once instance of this job is present in the job queue at any given time.

This job is added to the job queue by when a page is marked for translation.

MessageGroupStatesUpdaterJob
Handles for message groups for a specific language.

This job is added to the job queue when a translation unit page is modified.