Ciao a tutti,
al fine di creare un sito multilingua ho creato una funzione che riceve in input la stringa da tradurre ed il codice della lingua, a cui corrisponde uno specifico file INI. La traduzione è effettuata attraverso la funzione parse_ini_file(), la quale cerca la stringa corrispondente nel file INI indicato come argomento e la traduce con il rispettivo valore assegnato.
Funziona quasi tutto alla perfezione, se non per il fatto che l'argomento della funzione parse_ini_file() non cambia mai a meno che non venga ricaricata la pagina.
Il problema è che la variabile $lang_file viene settata inizialmente la prima volta che chiamo la funzione ma poi non cambia mai, com'è possibile? Se la pagina contiene stringhe in un'unica lingua non ci sono problemi ma se volessi, come in questo caso, una parola in un'altra lingua, non riesco ad ottenerla.Codice PHP:
function localize($phrase,$code)
{
static $translations = NULL;
if (is_null($translations))
{
$lang_file = 'country/'.$code.'.ini';
$translations = parse_ini_file($lang_file);
}
return $translations[$phrase];
}