User:APatro (WMF)/Mark page for translation - Process flow

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

Page is marked for translation

 * 1) Saves the content in the source page along with the section markers
 * 2) Identify sections in the page that are old and new
 * 3) Delete all the old existing sections from the
 * 4) Save the   and page syntax   in.
 * 5) Add the     to the page.
 * 6) Re-cache the Message group definitions -
 * 7) Store the new page section name in in the interim cache.
 * 8) Push a   to the  . Pass it the page title, and all the serialized sections.
 * 9) Handle priority languages; save that information in the   table.
 * 10) Add a manual log entry
 * 11) Invalidate the page title cache; update the   for the title.
 * 12) Create a   for each translation unit page in the source language. Eg: Main_Page/1/en, Main_Page/2/en etc.
 * 13) Run the  s to update the contents of the translation unit page.
 * 14) Wait for replication lag.
 * 15) Clear the   process cache.
 * 16) Clear the   cache.
 * 17) Update group stats for the page's.
 * 18) Add   for all the translation pages including the source language translation page to the.
 * 19) Add   to the.
 * 20)  (Multiple based on language codes)
 * 21) Identify the language code.
 * 22) Load the   with the given group and language code.
 * 23) Get the translation page text.
 * 24) Save / Update the translation page.
 * 1) Get the translation page text.
 * 2) Save / Update the translation page.

Section is translated

 * 1) Check if the content is , and the handle is valid.
 * 2) Check and mark the translation as fuzzy incase it fails validation
 * 3) If it is a non-source language; update the translation status.
 * 4) Update the message group state
 * 5) Create   to update the translation memory.
 * 6) Call
 * 7) Ensure that it is NOT FuzzyBot making the translation.
 * 8) Ensure that the Title belongs to the.
 * 9) Ensure that it is NOT message documentation.
 * 10) Create a   to update the translation page.
 * 11) Purge the cache for all the translation pages in order to update the language bar.
 * 1) Create a   to update the translation page.
 * 2) Purge the cache for all the translation pages in order to update the language bar.
 * 1) Purge the cache for all the translation pages in order to update the language bar.