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.

GlossaryEdit

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

What happens whenEdit

Page is marked for translationEdit

 

Translation unit is translatedEdit

 

MediaWiki Jobs in TranslateEdit

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

TranslationsUpdateJobEdit

  1. Creates and runs the MessageUpdateJob (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 TranslateRenderJob for all the translation pages and adds them to the job queue.
  4. Add a MessageIndexRebuildJob to the job queue.

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

MessageUpdateJobEdit

Updates the translation unit pages with the new translation text.

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

TranslateRenderJobEdit

When a page is marked for translation, a TranslateRenderJob 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 TranslateRenderJob 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.

MessageIndexRebuildJobEdit

Used to rebuild the MessageIndex 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 TranslationsUpdateJob when a page is marked for translation.

MessageGroupStatesUpdaterJobEdit

Handles automatic state changes for message groups for a specific language.

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