Specification for tracking translation history, changes in translations and translation events, over time.
Jojoo is responsible for Akan and has allowed Peter, a new contributor, full translation rights. The quality of Peter's translations are really poor and Jojoo gives up reviewing. Jojoo wants to revert all translation changes made by Peter and convert them to suggestions.
Susie is managing a translation project. She notices spam suggestions from user eXtreme. She bared the user and drops all translations and suggestions made by eXtreme.
Clive is reviewing translations. The current one looks rather odd so he'd like to see what it was previously. He sees quickly that there aren't any previous translations other then the current one so he bases his review on the current string.
Clive's next string also looks odd but he quickly sees that it has a history. He checks the history of changes and can see the differences made between each revision and who made them. He can also see any comments that where made with that revision and can see when that revision was made in the timeline of any discussion. Although the string is odd he sees that it was changed from the more correct translation to the current translation because it looks better when rendered in the application. So because he knew the history he left things alone.
Clive now finds a bad string that he wants to revert. He selects the previous string from history and commits this change. The history now show that he reverted the string, if he had modified it slightly it would be treated as new. If it is a pure revert then the author can be notified. This allows Clive to give instructions to new contributors and point out errors that they made. If these comments are public then they will appear in the discussion log. If they are private then they will just go to the author. Either way the author is notified that their text was reverted.
Friedel is running a really large installation of Pootle. He is worried that the historic translations will take a lot of space and he'd like to limit how many are stored. He sets the limit at 3 previous translations being kept in history.
Dwayne is migrating a project to Pootle. He has files under version control. He'd like to include some of the historic changes to the file into the history both to aid translation but also to flesh out the projects statistics. Pootle builds that history for him by going through all revisions of the files and adding stats as it goes.