In this example ‘my-theme-textdomain’ is the defined as textdomain for the Theme. Text Domain is used to make the Theme translatable. (Codex reference: load_theme_textdomain()).
Define the Theme’s textdomain
load_theme_textdomain( 'my-theme-textdomain', TEMPLATEPATH.'/languages' );
Define translatable strings in the template.
This is done using one of a few translation functions: __() (for returned strings), _e() (for echoed strings), and _x()/_ex() (for gettext context strings).
A static text string, such as <p>Hello world!</p>, is wrapped in an appropriate translation function, such as <p><?php _e( 'Hello World!', 'my-theme-textdomain' ); ?></p>, to make it available for translation.
Generate the .mo/.po files
.mo stands for Machine Object — compiled export of the .po file which is used by WordPress
.po stands for Portable Object — editable text file with the translations strings