Could do - I’m certainly not finished with that utility yet, and will be tinkering with it some more. It might be best if it’s more flexible about letting you enter whatever patterns you want to match for, in case you’ve used other custom macros to do the same thing.
Personally, I’d suggest the TRANS macro for literals, and the translate() function for non-literal expressions… But that’s not a hard-and-fast rule, you can obviously do whatever works best for you.
Also worth noting is the NEEDS_TRANS macro, which is handy in places where you have e.g. an array of const char*s which you don’t want to wrap in a function call but which you’ll be translating later on, and will need to add to the list.