Abilitare la scelta della lingua in Joomla
Joomla 1.5 permette di presentare un sito in molteplici lingue, ma non è previsto lo switch di un linguaggio tramite parametro URL: bisogna che l'utente scelga la lingua di preferenza dalle proprie impostazioni utente - il che richiede anche che l'utente sia registrato.
Ovviamente per tradurre il contenuto di un sito è necessario usare JoomFish, ma per una semplice traduzione di moduli o componenti custom JoomFish è eccessivo.
Per presentare una lingua diversa a seconda del valore di un parametro 'lang' inserito nell'URL è possibile usare un system plugin, come questo:
< ?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); jimport('joomla.event.plugin'); class plgSystemSetLanguage extends JPlugin { public function plgSystemSetLanguage( &$subject ) { parent::__construct( $subject ); $this->setLanguage(); } function setLanguage() { global $mainframe; $default = $this->getDefaultLanguage(); $selected = $this->getRequestedLanguage(); if (($selected != '') && ($selected != $default)) { $options = array(); $options['language'] = $selected; $mainframe->initialise($options); } } function getRequestedLanguage() { $lang = JRequest::getString('lang'); if ($lang=='en') $lang='en-GB'; if ($lang=='it') $lang='it-IT'; if (($lang != '') && JLanguage::exists($lang)) { return $lang; } } function getDefaultLanguage() { $user = & JFactory::getUser(); $lang = $user->getParam('language'); if ($lang && JLanguage::exists($lang)) { return $lang; } else { $params = JComponentHelper::getParams('com_languages'); $client =& JApplicationHelper::getClientInfo(0); $lang = $params->get($client->name, 'en-GB'); if (!JLanguage::exists( $lang )) { $lang = 'en-GB'; } return $lang; } } } ?>
Al variare del parametro, es. 'lang=it' o 'lang=en', Joomla pescherà le stringhe di moduli e componenti nella lingua prescelta. Ovviamente deve essere installata nel sistema la traduzione relativa alla lingua di interesse.
-
Feeds
Segui il feed RSS e Twitter per restare sempre aggiornato!
-
-
Ultimi commenti
- Marco: Scusate ma non riesco a far funzionare l’utilissimo metodo indicato. Ho creato modulo html...
- Syd: you’re awesome. …..
- anna: alla prima installazione ho avuto qualche problema con la memoria, poi ho sistmeato. Ottimo !!
- Antonio: Ciao volevo chiederti alcune info. Io devo creare un socialnetwork con funzioni simili a Facebook però...
- massimo: sono capitato qui da un link postato da mau_develop in risposta ad un mio quesito sul forum di joomla.it:...
-
Ultimi post
