Rozwiązanie wykorzystałem na niewielkiej stronie (docelowo szacuję około 20-30 pozycji w menu) z braku gotowca i z niechęci do walk z mambelfiszem który podobno nie działa z Joomlą.

Na początku templatki piszemy
Kod PHP:
session_start();
//kody języków
$languages = array("pl","de","en"); 
//zmienna lang jest ustawiona i odpowiada jednemu z kodów
if(!empty($_GET['lang']) && in_array($_GET['lang'],$languages))
{
    
$_SESSION['lang'] = $_GET['lang']; 
}
//ustawienie domyślne za pierwszym razem
elseif(empty($_SESSION['lang']))

    
$_SESSION['lang']="pl";

Do pozycji modułów dodajemy odpowiedni kod języka, czyli dla left wychodzi left_pl,left_en,left_de (3 języki zgodnie z powyższym przykładem)

Moduły ładujemy tak:
Kod PHP:
mosLoadModules('left_'.$_SESSION['lang']); 
Dla każdego języka tworzymy wg uznania sekcje, kategorie, artykuły, menu.
Po stworzeniu menu sprawdzamy jaki jest link w serwisie to "strony głównej" wybranego języka i umieszczamy odpowiedni kod w templatce.

Tak to wyglądało w moim przypadku:
Kod PHP:
<img src="<?php echo $mosConfig_live_site?>/templates/mcg/images/lang-<?php echo $_SESSION['lang'];?>.gif"
 align="right" usemap="#lang" border="0" />

<map name="lang">
<?php 
 
switch($_SESSION['lang'])
 {
  case 
"pl" 
   echo 
'<area shape="rect" coords="2,4,22,18" href="'.$mosConfig_live_site.'/index.php?option=com_content&amp;task=blogcategory&amp;id=27&amp;lang=de" target="_self">';
   echo 
'<area shape="rect" coords="23,4,44,18" href="'.$mosConfig_live_site.'/index.php?option=com_content&amp;task=blogcategory&amp;id=28&amp;lang=en" target="_self">';
   break;
  case 
"de" :
   echo 
'<area shape="rect" coords="2,4,22,18" href="'.$mosConfig_live_site.'/index.php?lang=pl" target="_self">';
   echo 
'<area shape="rect" coords="23,4,44,18" href="'.$mosConfig_live_site.'/index.php?option=com_content&amp;task=blogcategory&amp;id=28&amp;lang=en" target="_self">';
   break;
  case 
"en" :
   echo 
'<area shape="rect" coords="2,4,22,18" href="'.$mosConfig_live_site.'/index.php?option=com_content&amp;task=blogcategory&amp;id=27&amp;lang=de" target="_self">';
   echo 
'<area shape="rect" coords="23,4,44,18" href="'.$mosConfig_live_site.'/index.php?lang=pl" target="_self">';
  break;    
 } 
?>
</map>
Jak widać zależnie od ustawienia zm.sesyjnej lang ładuje się odpowiedni obrazek do którego podpięta jest mapa z likami do pozostałych języków. Język polski jest domyślny więc linkuje do index.php, natomiast angielski i niemiecki do konkretnych podstron.

Język da się zmienić tylko poprzez przekazanie w linku zmiennej lang.

Aha:wady
Konieczność powielania komponentów - np.mam dla każdego języka inny komponent LxMenu.
Za zaletę uważam możliwość zrobienia całkowicie innego pod względem zawartości serwisu dla różnych języków.