Мой лучший совет - посмотреть, как другие приложения (Drupal, Joomla, Wordpress) обрабатывают локализацию и реализуют нечто подобное.
Некоторые из приложений, в которые я углубился, имеют отдельный файл ini для каждого языка, который содержит определения STRING-ID = "String Value", где STRING-ID аналогичен имени PHP CONSTANT. Эти файлы затем загружаются классом локализации, который имеет функции, которые обрабатывают настройку используемого языка (на основании значения конфигурации или пользовательской настройки), загружают файл и обрабатывают перевод STRING-ID в строковое значение. Вы бы в конечном итоге использовали его так:
<?php
// config.php
$lang = "DE";
// languages/de.ini
HELLOWORLD="Hallo Welt"
OTHERSTRING="Anderer String"
// example.php
require_once("classes/localization.class.php");
$localize = localization::getInstance();
echo $localize->translate("HELLOWORLD");
?>
Это должно дать что-то вроде Hallo Welt.