<h1><?php echo tr('Hello World'); ?></h1>
A little late for you, I suppose but in case someone like me stumbles across this thread... Because I currently have the same problem you do. Unfortunately, there doesn't appear to be a "non-cumbersome way" to do this with PHP. Everything seems to involve lots of function-calls (if you have a lot of text).
Well... there is ONE convenient way. Not exactly safe though. Manipulating the output buffer before it's sent to the user: => http://dev-tips.com/featured/output-buffering-for-web-developers-a-beginners-guide
So you could depending on the language chosen just define an array filled with "from->to"-data and replace all the readable text in your buffer by looping through that.
But of course... if you e.g. replace "send" (English) with "senden" (German) and you link to a "send.html", it would break that link.