Obviously I am biased. This seems to me a perfect use case for i18n plugin. If there is a key describing the template, the placeholder in the template can be replaced by providing parameters. Check this here, search for ‘Passing parameters to the attribute’.
In v2 I believe you can evaluate any random expression. There i18n wouldn’t be needed, and a simple value converter should suffice.
I made the “message part” dynamic as well and added some fail safes (null checks and try/catch) to ensure page doesn’t break while editing (this is not the use case, but the fail safes are probably a good idea to cater for any developer mistakes).