interessante la proposta di dottwatson, al quale però faccio una domanda...

Parsare un ini ogni volta, non comporta un carico eccessivo?
Con un file di 4 righe ovvio che no, ma tipo avendo un file da 400 righe?

Mi interessa perchè la tua soluzione sarebbe molto ordinata.

Io attualmente uso un file, contenuto in una cartella:

locale/it/locale.php
locale/en/locale.php
locale/de/locale.php

In ogni local, ho una dichiarazione:

$_LOCALE["nome_variabile"] = "Testo in lingua";

Poi li recupero nelle varie funzioni (solo in quelle dove mi serve), usando un global $_LOCALE

Come dicevo, sono quasi 400 righe