My implementation will be a module, which does help people with internationalization. I can offer the automatic checks on call correctness, when the users refrain from the use of @additional_args and $msg, as in your example. So that's not really a no-go.
What certainly is not possible, it to generate all conditions (automatically) to reach all corners of the
I know that the first parameter of the function is a string, and that the other parameters are named. I only have to check wether the names are within the string. As second activity, for each of the strings I like to see that
they are used: they must be translatable using gettext().
Thanks for your ideas so far.