Check out Smarty, which is a template engine.
It has simple, but easy to use, language handling (though less easy to update/maintain language files). You put your language stuff in separate files like
[en_uk]
name = name
long_text = """
You can also include
<b>html</b> markup and even $variables in the conf
"""
[fr]
name = nom
long_text = """
Il est possible d'avoir
<b>html</b> markup, et même des $variables dans le conf
"""
Load the conf
$smarty->config_load('file.conf', 'fr');
And then in your template
{#name#}