in reply to English to German

Instead of printing strings directly, write a simple wrapper:
print mt("Hello World!");
This method searches your "dictionary" for a translation. The easiest solution is a hash:
package MyNamespace::MT::German; ... sub mt { my ( $self, $phrase ) = @_; my %translations = ( 'Hello World!' => 'Hallo Welt!', ); return $translations{$phrase} || $phrase; );