Give the inbox's Claim action a translation context, so it stops borrowing the payment engine's French
Fixes #3624941.
On a site that also runs a payment engine, the inbox's claim link read Prélèvement (a direct debit) instead of S'attribuer.
The French in this project was never wrong — orchestra_inbox/translations/fr.po has held S'attribuer all along. It was never reached, because locale keeps one string table per site: a source string that two projects translate differently is a single row, and whichever imported last owns it. On the affected site that row was lid=18244, empty context, holding the payment word, and t("Claim") in French returned it.
scripts/check-translations.php documents this exact failure and its remedy in its own header — "Where the same English means two things, a translation context makes them two strings and each keeps its own French." It cannot detect it, because it reads one project's catalogues and the collision is with another project.
So the link asks for the contexted string and the catalogue carries the matching msgctxt. The English is untouched, so the three functional tests that clickLink('Claim') keep passing unchanged.
Verified on the affected site after importing the catalogue:
bare t("Claim") = Prélèvement (lid 18244, context '')
context t("Claim", Task) = S'attribuer (lid 27449, context 'Task')Two rows, each project keeping its own French. A companion change on the payment engine gives its Claim a context too, so the bare string belongs to neither and no third module inherits either meaning by accident.