[SOLVED] problema LANG da 1.7 a 1.7.1

La discussione sul CMS Made Simple in italiano.

Moderator: magallo

Post Reply
nervino
Power Poster
Power Poster
Posts: 448
Joined: Sun Dec 28, 2008 12:15 pm

[SOLVED] problema LANG da 1.7 a 1.7.1

Post by nervino »

Ciao, come da oggetto ho aggiornato dalla 1.7 alla 1.7.1.
Tutto bene tranne un comportamento strano del modulo che stavo sviluppando.

Dopo il passaggio alla 1.7.1, il modulo usa il file della lingua inglese (lang/en_US.php) anziché l'italiano come faceva prima (lang/ext/it_IT.php).

Per usare l'italiano ho dovuto specificare il lang nel tag del modulo ({cms_module module='MIO-MODULO' lang='it_IT'}).

Così carica l'italiano. Ma ora ho visto che seguendo un link generato con le funzioni "CreateFrontendLink" e "CreateLink", mi ricarica nuovamente la lingua inglese.

Es.:

Code: Select all

$smarty->assign('link_elenco', $this->CreateFrontendLink($id, $returnid, 'default', $imgback) .'
 '.$this->CreateFrontendLink($id, $returnid,'default',  $this->Lang('back_elenco')));
La 1.7.1 gestisce in modo diverso le lingue?

Nel config.php c'è: lang = it_IT.Utf-8, e nelle impostazioni globali del pannello è impostato l'italiano per il frontend.

Io ho solo fatto l'upgrade e non ho toccato nient'altro...
Last edited by nervino on Wed May 19, 2010 3:32 pm, edited 1 time in total.
nervino
Power Poster
Power Poster
Posts: 448
Joined: Sun Dec 28, 2008 12:15 pm

Re: problema LANG da 1.7 a 1.7.1

Post by nervino »

Rettifico: non è un problema limitato al mio modulo. Anche le news, nel frontend, sono in inglese (ad esempio visualizza [more] anziché [continua]
nervino
Power Poster
Power Poster
Posts: 448
Joined: Sun Dec 28, 2008 12:15 pm

Re: problema LANG da 1.7 a 1.7.1

Post by nervino »

Credo si tratti di un bug della versione 1.7.1 (correggetemi se sbaglio).

Nel file /lib/classes/class.module.inc.php c'è la funzione CMSModule().
Ho visto che, rispetto al codice della stessa funzione presente in cmsms 1.7, nella versione 1.7.1 c'è un $this in più.
Rimuovendolo, il linguaggio specificato nelle preferenze viene correttamente utilizzato.



CMSMS 1.7.1

Code: Select all

if (isset($CMS_ADMIN_PAGE))
		{
			$this->curlang = '';
		}
		else
		{
		  $this->curlang = get_site_preference('frontendlang','');
		    if (isset($this->config['locale']) && $this->config['locale'] != '') {
		      $this->curlang = $config['locale'];
		    }


CMSMS 1.7

Code: Select all

if (isset($CMS_ADMIN_PAGE))
		{
			$this->curlang = '';
		}
		else
		{
		  $this->curlang = get_site_preference('frontendlang','');
		  if (isset($config['locale']) && $config['locale'] != '') {
		      $this->curlang = $config['locale'];
		    }

Togliendo "$this->" da $this->config['locale']) && $this->config['locale'] in 1.7.1, risolve il problema.

Non riuscendo a venirne a capo ho scritto anche nel forum inglese (http://forum.cmsmadesimple.org/index.php/topic,44089.0.html).
Mi scuso per il cross-post.
Alby, se credi, cancello questo post..

Ciao
Last edited by nervino on Mon May 17, 2010 9:49 am, edited 1 time in total.
alby

Re: problema LANG da 1.7 a 1.7.1

Post by alby »

No, non è un bug (era un errore di vecchia data).
O elimini il locale in config.php e utilizzi il Frontend nei Global Settings oppure viceversa.
In locale devi mettere solo la lingua: 'it_IT' e non il "vero" locale del server
Fammi sapere se funziona

Alby
nervino
Power Poster
Power Poster
Posts: 448
Joined: Sun Dec 28, 2008 12:15 pm

Re: problema LANG da 1.7 a 1.7.1

Post by nervino »

Grande! Grazie!

Ho ripristinato il codice originale in /lib/classes/class.module.inc.php ed ho provato le due alternative.

A me funziona solo se rimuovo

Code: Select all

$config['locale'] = 'it_IT';
dal config.php ed imposto la lingua nei Global Settings del pannello.

Viceversa, l'errore rimane.
Post Reply

Return to “Italian - Italiano”