Guarda, qui spiega come predisporre un tema WordPress per la traduzione:
http://codex.wordpress.org/Translating_WordPress

Cito solo una parte:
WordPress's developers chose to use the GNU gettext localization framework to provide localization infrastructure to WordPress. gettext is a mature, widely used framework for modular translation of software, and is the de facto standard for localization in the open source/free software realm.

gettext uses message-level translation — that is, every "message" displayed to users is translated individually, whether it be a paragraph or a single word. In WordPress, such "messages" are generated, translated, and used by the WordPress PHP files via two PHP functions. __() is used when the message is passed as an argument to another function; _e() is used to write the message directly to the page. More detail on these two functions:

__($message)
Searches the localization module for the translation of $message, and passes the translation to the PHP return statement. If no translation is found for $message, it just returns $message.
_e($message)
Searches the localization module for the translation of $message, and passes the translation to the PHP echo statement. If no translation is found for $message, it just echoes $message.
Quindi se avessi avuto del semplice HTML tipo:
codice:
<div>Your message has been sent!</div>
, la mia traduzione sarebbe diventata effettiva con questo codice:
Codice PHP:
<div><?php _e('Your message has been sent!'?></div>
Invece (se ho capito bene), dentro un codice PHP dovrei usare sto __() .