The main job of the Translate extension is to track which translations are up to date and surface translations that need updating to translators.
This feature is not yet implemented for message bundles. Unlike for page translation, there isn't a separate review step by translation admins. Any change to source text will mark all existing translations of that message as outdated.
Rough implementation plan:
- Listen to edit-complete events from MediaWiki core using a hook
- On such event, compare the new contents to the previous version to determine the keys with changed content
- Note: Keys may be deleted and then used again, and this should work as well. Fail proof option is to mark all new keys as outdated (usually they don't have translations).
- Note: If we create /en pages for message definitions (which we should do anyway for tp:transver tag to work, for displaying diffs of what has changed), we can just query those values and compare
- Note: Keys may be deleted and then used again, and this should work as well. Fail proof option is to mark all new keys as outdated (usually they don't have translations).
- Span MessageUpdateJobs with appropriate flags to update outdated status