The documented parameters $3 to $6 (for timestamps and formatted datetime of versions) are not accepted in translated messages by the Translate UI validator, because they are not part of the English source message.
They could be "masked" in English by embedding them in a dummy parser function call, like {{PLURAL:$3|}}{{GRAMMAR:$4|}}{{GRAMMAR:$5|}}{{GRAMMAR:$6|}}, however their effective values are not numbers, so PLURAL: would reject them (as well the GENDER: function call is not well suitable as a dummy function call as it attempts to perform lookup of user pages and it is costly: these dummy parameters are not necessarily a user name; GRAMMAR: is also problematic as its first parameter should be a grammatical case selector and not arbitrary values, and grammar lookups may also be quite intensive on resources; we just need to have these parameters silently ignored/discarded by the Mediawiki parser, without any extra cost).
An alternative would be to use another parser function like {{UNUSED:$3$4$5$6}}, usable in English or in any translation to mark variables that were considered by translators and reviewers, but not used once translated (and that could then be automatically removed from messages imported to wikis: all its parameters will be ignored/discarded).
Or possibly:
- {{UNUSEDIF:$1|$3$4$5$6}} to say that the listed parameters are discarded only if $1 is not used. And possibly a reverse condition:
- {{REQUIREDIF:$1|at $3}} to say that the parameters are required only if $1 is used outside of parameters iof this function (note here that $3 is not discarded, it is part if the actual message, only the condition on $1 is informative "metadata" to instruct the validator).
Basically these would be recognized by the Translation UI (to instruct messages as "metadata", but do not require these to be actual parserfunction calls, as they would be automatically discarded when exported to another wiki (or if generating translated pages in cache with the Translate UI used to translate individual units of a source translatable page; these would just be present in translation units).
Another possibility is to use HTML comments in source messages: if these messages are parsed by MediaWiki, it will discard them silently, but I don't know what the validator of the Translate UI makes with HTML comments: does it parse them for validation purposes, will it silently discard them so that the validator would still complain on unsatisfied conditions about parameters? How can we instruct the validator, not just for MediaWiki, but also for other message formats used in PHP, C/C++, Java, Python, Ruby or GetText?
Another possiblility is to have message metadata recognized by the validator stored in another private language code qqv in a machine-readadable format (just like qqq is used for human readable documentation), using a basic syntax to be defined for expressing validator constraints (based on JSON, or more basic like lists of environment variables or .properties/.INI?)
Message URL: https://translatewiki.net/w/i.php?title=Special:Translate&showMessage=revertpage&group=core&language=qqq
Message URL: https://translatewiki.net/w/i.php?title=Special:Translate&showMessage=revertpage-anon&group=core&language=qqq
Message URL: https://translatewiki.net/w/i.php?title=Special:Translate&showMessage=revertpage-nouser&group=core&language=qqq