Salve ricordantoti di non usare in futuro come titolo termini tipo Aiuto, Urgente ... ecc ...
vorrei chiederti? hai per caso modificato il file?
Perchè, anche se utile, il codice che avevi postato qua sopra, può essere dagli utenti letto e visionato semplicemente in base al nome file e alla sua posizione.
Ora dato che la riga che fa riferimento all'errore citato i trova in questo case
case 'MENUTYPE':
$result = str_replace('-', ' ', $source);
$lang = &JFactory::getLanguage();
$result = $lang->transliterate($result);
$result = (string) preg_replace(
array('/\s+/','/[^A-Za-z0-9\-\_]/'), array('-',''), $result
);
$result = strtolower(trim($result));
break;
La cosa che mi viene spontanea da pensare è che forse i file lingua non sono stati correttamente caricati.