Azz proprio Joomla ti sei preso come esempio?
Comunque...JFactory::getLanguage() <-- questo recupera le info del linguaggio.

A te invece conviene fare il tuo file di lingua come il file .ini di Joomla, dove definisci fondamentalmente un array che ha come chiave il nome del testo da cambiare e come valore...beh quello che dovrebbe esserci scritto
Codice PHP:
$language = array(
....
"TESTO_TITOLO_TABELLA_CALENDARIO" => "Calendario del mese",
"DESCRIZIONE_TABELLA_CALENDARIO" => "Seleziona una data per vedere i relativi eventi",
....
); 
Dovrai poi fare la tua grafica in modo tale che ovunque ci debba essere un qualcosa che varia in base alla lingua, ci sia NON il testo ma il nome della chiave, es:
codice:
....
<span>TESTO_TITOLO_TABELLA_CALENDARIO</span>
<div id="pippo">DESCRIZIONE_TABELLA_CALENDARIO</div>
....
Poi devi fare una serie di replace che vadano a sostituire, nel html definito come sopra, alle varie chiavi i relativi valori usando quindi qualcosa del tipo
Codice PHP:
$html $skin->get_calendario_template(); // questo ti da l'html visto poco sopra
include_once("/languages/{$choosen_language}.ini"); // $choosen_language è il nome del linguaggio scelto o tramite un ini dove c'è un default o tramite una scelta utente o tramite altro modo
foreach ($language as $key => $value) {
    
$html str_replace($key$value$html);

Ci sono altri modi anche più efficenti, ma per cominciare a capire va bene anche così