1. Marking messages as translatable. $t() and $tn() (implemented in aliases())
are recognized as message marking and picked up by the extraction parser.
2. Extracting marked messages. Messages can be extracted through the g11n
command which in turn utilizes the Catalog class with the built-in Code
adapter or other custom adapters which are concerned with extracting
translatable content.
3. Creating a message template from extracted messages. Templates are created
by the g11n command using the Catalog class with an adapter for a format
you prefer.
4. Translating messages. The actual translation of messages by translators
happens outside using external applications.
5. Storing translated messages. Translations are most often stored by the external
applications itself.
6. Retrieving the translation for a message. See description for Message::translate().