variables in translatable text

The translation strings not only get parsed during rendering (output on screen/in browser), but also by the GNU gettext parser. This one is not a PHP parser, so it can’t fetch variables. This is the only part of a Theme or a Plugin, where you need to repeat yourself and add the plain string to every translation/gettext function call.

// Wrong:
__( 'External Link', TGM_Plugin_Activation::$instance->domain );

// Right:
__( 'External Link', 'your_textdomain' );

Just to clarify this: Both above mentioned calls will work with POEdit. The first just won’t work, when Automattic/wp.org ever brings the automated translation tool that Mark Jaquith promised. And this is the part the “Theme Check”-Plugin nags about. You’re perfectly fine ignoring the “RECOMMENDED” messages. As you can read on this post by M.Jaquith – read briefly, then move to comments – this is just what gets recommended by “official” sources/lead developers.