Jump to content

Help:Extension:Translate/Process flow in MediaWiki jobs

From mediawiki.org

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

[edit]

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 when

[edit]

Page is marked for translation

[edit]

Mark page for translation - Process flow

Translation unit is translated

[edit]

Section is translated - Process flow

MediaWiki Jobs in Translate

[edit]

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

TranslationsUpdateJob

[edit]
  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.

MessageUpdateJob

[edit]

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.

TranslateRenderJob

[edit]

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.

MessageIndexRebuildJob

[edit]

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.

MessageGroupStatesUpdaterJob

[edit]

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.