Я вже колись давав пораду:
1. Користати не масив, а функцію, що обробляє масив;
2. Функцію називати якнайпростіше (скажімо, _s);
3. Ключами масива є не абстрактні описи, а рядки для перекладу базовою мовою;
4. Якщо рядку немає, то функція генерує попередження в лог і виводить ключ.
Тобто масив, наприклад, такий (базова мова, скажімо, українська):
$phrases['en']=array(
'Ласкаво просимо' => 'Welcome',
'Почати бій' => 'Start the battle'
);
$phrases['ru']=array(
'Ласкаво просимо' => 'Добро пожаловать'
);
а переклад здійснюється вказанням базової мови глобальною змінною (якщо хочете, можете зробити клас-перекладач і змінювати там цю змінну) додаванням функції-обгортки в коді:
$language='ru';
...
?>
<h1><?=_s("Ласкаво просимо!");?></h1>
<?...
Тепер ми бачимо, яке саме повідомлення мало бути, прямо в коді. Сподіваюся, з функцією проблем не виникне.