Рекомендую взглянуть на реализацию из фреймворка Kohana.
github.com/kohana/core/blob/3.0/develop/classes/kohana/i18n.php
github.com/kohana/core/blob/3.0/develop/base.php
В принципе, разобраться не сложно, я думаю.
В приложении, например, пишете:
//установка языка
I18n::$lang = 'ru-ru' //к примеру
//где нужен перевод пишете, например
__('hello :username', array(':username' => $username));
И создаете, к примеру, файл ru-ru.php (класс Kohana_I18n написан так, чтобы искать этот файл в соответствии со своей архитектурой — этот момент Вам и придется редактировать, если захотите использовать) с содержанием:
<?php
return array(
'hello :username' => 'Привет, :username!',
);