Devo creare un array (contenente la traduzione delle stringhe del mio portale) che sia disponibile ovunque nel portale.

Questo array dovrà
- essere utilizzato nelle stringhe
- essere richiamabile il più facilmente possibile (quindi magari è preferito il nome di una variabile, anzichè nomeArray[chiave] o nomeFunzione("chiave", idLingua))


Vi chiedo:
qual'è la struttura migliore per avere una lista di valori disponibile in qualunque sezione di codice del sito?

Avevo pensato:

1)
codice:
global nomeArray
(però va scomodamente definito in ogni funzione dove voglio utilizzarla, e leggo che sarà deprecato)

2)
codice:
$_GLOBALS[nomeArray]
(ma poi è palloso richiamarlo ogni volta con
codice:
$_GLOBALS[nomeArray]["chiave della frase da tradurre...etc..etc..."]
)

3)
codice:
$sql = "SELECT key, value FROM translations WHERE idLingua = $lang";
while($res = mysql_fetch_array($sql, $con))
{
if( ! defined( "lang_$row[key] ") )
	define( "lang_$row[key] ", $row['value'] );
}
4) Altro....


Insomma, oltre a questo, ho diverse variabili (come la connessione o certe configurazioni) che devo rendere disponibili e richiamabili ovunque.

Come è più adeguato (e comodo) renderle disponibili?