I'm confused about the variable used in translation strings. I cannot find it in the handbook or the Readme files.

What is the difference between !form, %form, @form ?
What variables are available?

I want to use username instead of name (and if possible contact form category) in certain translation, for example:

!name (!name-url) has sent you a message via your contact form (!form-url) at !site.
(modules/contact/contact.module:363)