When the contributions-subtitle message was introduced (r499583), it referenced the username parameter as $3, which many translation are also doing at this point. However, in the code only two parameters were passed, the username being $2. This bug was then noticed in T330138 and fixed by adding an unused parameter to the message (r890873). This works fine as a temporary solution, but I believe this should be fixed for real. Fixing this in the code is trivial, but there are many translations that we should update without having translators do that manually. The change would be a simple search & replace for $3 -> $2.
As an aside, the current code passes NULL to rawParams, which is not supported and triggers a warning (T60676).