Back to top

Autore Topic: Grafica (Template) che cambia con la lingua  (Letto 16451 volte)

Offline GiorgioBlu

  • Abituale
  • ****
  • Post: 861
  • Sesso: Maschio
  • Utente dal: 23/06/2004 Susegana - TV - Italy
    • Mostra profilo
Grafica (Template) che cambia con la lingua
« il: 20 Set 2006, 21:16:54 »
Ciao a tutti, ho quest'esigenza.

Su un sito multlingua devo far si che al cambiare della lingua (italiano/inglese) cambi anche il template.

Perchè?  Ma perche nella grafica (in flash) ci sono delle parole e dei menù che vanno tradotti....  ;D

Vedi esempio pratico (sito non mio): http://www.siberianbaikal.com

Se nessno mi sà rispondere, contatto direttamente il proprietario x farmi dare la dritta giusta... ;)


Poi volevo anche chiedervi se Joom!Fish 1.7 funziona bene con Joomla1.0.11.
Vorrei infatti passare all'ultima release, ma non vorrei incasinami la vita su di un sito che funziona già bene...


Grassie!!  ;)

Offline baikal

  • Nuovo arrivato
  • *
  • Post: 30
  • Sesso: Femmina
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #1 il: 21 Set 2006, 20:04:41 »
Ciao a tutti, ho quest'esigenza.

Su un sito multlingua devo far si che al cambiare della lingua (italiano/inglese) cambi anche il template.

Perchè?  Ma perche nella grafica (in flash) ci sono delle parole e dei menù che vanno tradotti....  ;D

Vedi esempio pratico (sito non mio): http://www.siberianbaikal.com

Se nessno mi sà rispondere, contatto direttamente il proprietario x farmi dare la dritta giusta... ;)


Poi volevo anche chiedervi se Joom!Fish 1.7 funziona bene con Joomla1.0.11.
Vorrei infatti passare all'ultima release, ma non vorrei incasinami la vita su di un sito che funziona già bene...


Grassie!!  ;)


Ciao!
Eccomi qui... LA PROPRIETARIA del sito: www.siberianbaikal.com  :)

Allora, prima di tutto io uso l'ultima versione di Joomla con Joomfish e funziona ottimamente... vedi sito ;)

Per quanto riguarda invece il cambio di lingua nel template... devi inserire un codice PHP nel template... mio marito ha scritto il codice, te lo metto per tuo uso.

Nel mio template ho dei testi nella grafica dell'intestazione del template... per far cambiare la lingua ho scritto queste poche righe di codice php per controllare la lingua e stampare su schermo codice html. Questo è l'esempio del mio sito...
 
<!-- Header da cambiare in base alla lingua -->
<?php
global $mosConfig_lang;
if( $mosConfig_lang=='italian' ) {
echo "<table width=933 height=166 border=0 cellpadding=0 cellspacing=0>";
echo " <tr>";
echo " <td width=192 height=166 ><img src=images/h1.jpg width=192 height=168 /></td>";
echo " <td width=205 height=166 ><img src=images/h2.jpg width=205 height=168 /></td>";
echo " <td width=340 height=166 ><img src=images/h3.jpg width=340 height=168 /></td>";
echo " <td width=196><img src=images/h4.jpg width=196 height=168 /></td>";
echo " </tr>";
echo "</table>";
}
else
{
echo "<table width=933 height=166 border=0 cellpadding=0 cellspacing=0>";
echo " <tr>";
echo " <td width=192 height=166 ><img src=images/h1_e.jpg width=192 height=168 /></td>";
echo " <td width=205 height=166 ><img src=images/h2_e.jpg width=205 height=168 /></td>";
echo " <td width=340 height=166 ><img src=images/h3_e.jpg width=340 height=168 /></td>";
echo " <td width=196><img src=images/h4.jpg width=196 height=168 /></td>";
echo " </tr>";
echo "</table>";
}
?>

In questo caso ho usato un semplice if, perchè ho solo 2 lingue. Italiano e inglese. Ma se volete usare più lingue

potrete usare il costrutto
switch:
switch ( $mosConfig_lang ) {
case 'italian':
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
break;
case 'english':
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
break;
case 'french':
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
break;
}

Il bello è che può essere messo anche nelle pagine contenuto dentro il codice sorgente per cambiare immagini in caso abbiate versioni diverse per le lingue :-)
spero vi possa essere utile.


Se vi fa piacere firmate il mio guestbook ;)
Ciao

Offline joomlapixel

  • Abituale
  • ****
  • Post: 1555
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #2 il: 23 Set 2006, 06:48:17 »
Ottimo e grazie per aver condiviso

Offline gabrix

  • Esploratore
  • **
  • Post: 136
  • Sesso: Maschio
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #3 il: 20 Nov 2006, 01:02:43 »
 ???
Scusate ma io ineve non ho capito.
Quel poco che ho capito e' che forse Joomlafish traduce automaticamente con pochi click ... giusto ?Allora !
Voglio il sito con disponibilita' di sole 2 lingue e ho materiale sparso sia in italiano che in inglese .Ho entrambe le lingue installate vado in componenti joomlafish e seleziono contenuti , scelgo un contenuto che puo' essere italiano o inglese , seleziono la lingua italiano o inglese che lo voglio tradurre , lo pubblico e lo salvo ma non mi da' la traduzione ... sbaglio qualcosa ... url http://tor.gabrix.ath.cx che la devo fare io la traduzione ?Ho l'impressione che quando vado in componenti,joomlafish,traduzioni,content e poi scelgo la lingua nella quale voglio che sia tradotto il documento la scelta vale per tutti,se un documento e' in inglese e ho scelto italiano poi non ci sara' nessuna traduzione ... non c'ho capito niente ! :-X
Adesso mi sono accorto che ho sbagliato post per il post ... sorry !!!
« Ultima modifica: 20 Nov 2006, 01:11:08 da gabrix »

Offline dna

  • Appassionato
  • ***
  • Post: 607
  • Sesso: Maschio
  • Testo personale??!!??!?
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #4 il: 29 Nov 2006, 13:02:07 »
Mi sfugge una cosa però...

Nel caso volessi ricorrere alla seconda soluzione, la sintassi corretta quale sarebbe?Questa?

<?php
global $mosConfig_lang;
switch ( $mosConfig_lang ) {
case 'italian':
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
break;
case 'english':
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
break;
}
?>

Inoltre non ho capito dove e quando va messo echo "....";

Nel caso avessi un:

<table><tr><td></td></tr></table> dovrei fare così:

echo "<table><tr><td></td></tr></table> ";

oppure

echo "<table> ";
echo "<tr> ";
echo "<td> ";
echo "</td> ";

etc... ?

E devo fare così l'intera pagina o solo la parte che mi interessa cambiare a secondo della lingua?

Io ho provato ma mi viene la pagina completamente bianca, non è che crea dei problemi se all'interno di un tabella in cui voglio cambiare un immagine ho, ad esempio <?php mosLoadModules ( 'top' ); ?>  ?







Web Design & Templates Design

Offline dna

  • Appassionato
  • ***
  • Post: 607
  • Sesso: Maschio
  • Testo personale??!!??!?
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #5 il: 28 Dic 2006, 10:50:14 »
Magari a qualcuno può tornare utile...io ho risolto così
Web Design & Templates Design

Offline baikal

  • Nuovo arrivato
  • *
  • Post: 30
  • Sesso: Femmina
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #6 il: 01 Gen 2007, 14:29:16 »
Ciao, mi dispiace per il ritardo con cui rispondo... Cerco di spiegare meglio il codice che ho scritto sopra, almeno può essere comunque utile per altre cose.

Allora... prendendo in riferimento il codice:

<?php
global $mosConfig_lang;
switch ( $mosConfig_lang ) {
case 'italian':
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
break;
case 'english':
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
echo " codice html ";
break;
}
?>

in qualsiasi punto di una pagina php, se voglio far eseguire del codice, basta che utilizzo il tag

<?php

lasciandolo perto, cioè senza il simbolo ">". Lo chiuderò solo quando il codice php sarà finito con la chiusura "?>"

Successivamente uso i comandi di php, che in questo caso,

global $mosConfig_lang;

mi dice si usare una variabile globale $mosConfig_lang; introdotta nella struttura di Joomla! dal modulo Joomfish.

Dopo uso una struttura decisionale che in base al valore che ha questa variabile esegue pezzi di codice diversi.

switch ( $mosConfig_lang ) {

case ... :
break;

case... :
break;
}


In questo caso ho una decisione in base alla varibile che è uguale a "italian" o "english".
Ovviamente questi 2 valori vengono impostati da Joomfish quando clicco sulla bandiera italiana piuttosto che quella inglese.

Quindi, se la variabile è "italilan" esegue il codice che dopo i 2 punti va a finire al prossimo case. Avendo messo break esce dalla struttura decisionale perchè ormai soddisfatta per eseguire il resto della pagina.

All'interno di questa porzione di codice possiamo far fare a php quello che vogliamo, ma in questo caso vogliamo che sia php a "disegnare" una parte di pagina.

Da qui l'idea di usare il comando

echo "";

che non fa altro che scrivere testo nella pagina... ovviamente se il testo sono dei tag html, allora potrò creare porzioni di pagina html, altrimenti potrò far scrivere soltanto delle semplici scritte.

Usando quindi

echo "<table><tr><td></td></tr></table> ";

gli faremo creare una tabella vuota (non importa se faccio una riga per ogni tag o tutto di seguito, l'HTML vede il risultato finale).

Allora ecco che noi possiamo farci delle pagine html diverse in base a delle decisioni che prenderà php. Da li copio il codice html e lo scrivo nello spazio delimitato dalle virgolette del comando echo.

Ovviamente è una soluzione laboriosa se il codice html che vcolete inserire è molto lungo, ma per piccole cose come nel mio caso l'intestazione del sito andava benissimo.

Spero di essere stato di aiuto.
Ciao.

Offline dna

  • Appassionato
  • ***
  • Post: 607
  • Sesso: Maschio
  • Testo personale??!!??!?
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #7 il: 02 Gen 2007, 13:11:38 »
Direi che la spiegazione ora è chiarissima...grazie mille!!
Web Design & Templates Design

Offline bergmannn

  • Esploratore
  • **
  • Post: 56
  • Sesso: Maschio
  • Do Joomla!
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #8 il: 16 Mar 2007, 09:46:16 »
Secondo voi...

Questa cosa potrebbe funzionare anche in seguente configurazione:

Ho un sito in tre lingue e un banner particolare fatto in tutte tre le lingue (uno per lingua)...
Al momento uso artbanner ma non posso pilotare la visualizzazione in base alla lingua.

Se creo uno script come questo che mi visualizza il banner in base alla lingua del sito collegato al link generato da Artbanner (per contare le visite) potrebbe andare ???

Ho un modulo che visualizza puro codice html opure del PHP

Che ne dite...

(non so dove mettere le mani...)

Offline instabil

  • Nuovo arrivato
  • *
  • Post: 39
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #9 il: 30 Apr 2007, 20:56:37 »
Qualcuno mi potrebbe spiegare, in caso anche la diponibilissima baikal, come si possono mettere le bandierine invece del menu per scegliere la lingua.
il mio sito contiene 4 lingue differenti...
Citazione
Vedi esempio pratico (sito non mio): http://www.siberianbaikal.com
e anche un banner in 4 ligue, per il banner cercherò di seguire gli aiuti..
grazie anticipatamente


Edit:
Rispondo alla mia domanda, manco stessi da Gigi Marzullo...
Ovviamente del modulo di joomfish c'è la possibilità di scegliere le bandierine dei paesi, che si possono anche cambiare mettendo immagini che più vi piacciono nella relativa path
/components/com_joomfish/images/flags/
« Ultima modifica: 10 Mag 2007, 06:39:26 da instabil »

Offline matrix845

  • Appassionato
  • ***
  • Post: 483
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #10 il: 22 Dic 2007, 12:21:46 »
Ciao ragazzi , riapro questo utile  topic per chiedervi , ma queste sono img gestite dal css ....qualora io avessi un modulo con un img , come potrei cambiarla al variare della lingua?

Grazie mille

Pierpaolo

Offline fab-ffw

  • Nuovo arrivato
  • *
  • Post: 44
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #11 il: 14 Ott 2008, 10:08:31 »
bellissima la spiegazione.
Ho provato, ma ho un problema differente: dovendo inserire un file flash che cambia con la lingua ho da mettere un comando del tipo:

Codice: [Seleziona]
<div id="flash_intro">
<?php
global $mosConfig_lang;
if( 
$mosConfig_lang=='italian' ) {
echo 
"<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="928" HEIGHT="627" id="intro" ALIGN="">
 
<PARAM NAME=movie VALUE="templates/nome_template/flash/intro_it.swf"> <PARAM NAME=quality VALUE=best> <PARAM NAME=bgcolor VALUE=#999999> <EMBED src="templates/nome_template/flash/intro_it.swf" quality=best bgcolor=#999999  WIDTH="928" HEIGHT="627" NAME="intro" ALIGN=""
 
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</
OBJECT>";
}
else
{
echo "
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
 
WIDTH="928" HEIGHT="627" id="intro" ALIGN="">
 <
PARAM NAME=movie VALUE="templates/nome_template/flash/intro_en.swf"> <PARAM NAME=quality VALUE=best> <PARAM NAME=bgcolor VALUE=#999999> <EMBED src="templates/nome_template/flash/intro_en.swf" quality=best bgcolor=#999999  WIDTH="928" HEIGHT="627" NAME="intro" ALIGN=""
 
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</
OBJECT>"
}
?>

</div>

con tutte queste virgolette non mi funziona più nulla... c'è qualche accorgimento che occorre prendere? Tipo sostituire le virgolette con apici o altro?

Grazie.


Offline michelerocco

  • Nuovo arrivato
  • *
  • Post: 40
  • Sesso: Maschio
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #12 il: 14 Ott 2008, 11:18:31 »
@fab-ffw

dentro ai comandi "echo" alle virgolette devi anteporre un \ quindi <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ad esempio diventa <OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"

altra soluzione (da provare) potrebbe essere

Codice: [Seleziona]
<div id="flash_intro">
<?php
global $mosConfig_lang;
if( 
$mosConfig_lang=='italian' ) {
?>

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="928" HEIGHT="627" id="intro" ALIGN="">
 <PARAM NAME=movie VALUE="templates/nome_template/flash/intro_it.swf"> <PARAM NAME=quality VALUE=best> <PARAM NAME=bgcolor VALUE=#999999> <EMBED src="templates/nome_template/flash/intro_it.swf" quality=best bgcolor=#999999  WIDTH="928" HEIGHT="627" NAME="intro" ALIGN=""
 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT>
<?php
}
else
{
?>

<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
 WIDTH="928" HEIGHT="627" id="intro" ALIGN="">
 <PARAM NAME=movie VALUE="templates/nome_template/flash/intro_en.swf"> <PARAM NAME=quality VALUE=best> <PARAM NAME=bgcolor VALUE=#999999> <EMBED src="templates/nome_template/flash/intro_en.swf" quality=best bgcolor=#999999  WIDTH="928" HEIGHT="627" NAME="intro" ALIGN=""
 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT>
<?php
}
?>

</div>

@matrix845
potresti far caricare delle posizioni di moduli differenti in base alla lingua così li gestisci senza problemi dal lato admin, inserendo ad esempio delle posizioni tipo banner-ita, banner-eng come fai per left, right, etc; ovviamente ricordandosi di creare la nuova posizione dei moduli in joomla (nella 1.0.x dal pannello di controllo amministrativo, nella 1.5 inserendola nel file .xml del template)

Offline fab-ffw

  • Nuovo arrivato
  • *
  • Post: 44
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #13 il: 14 Ott 2008, 19:30:45 »
l'ultima soluzione, con i moduli diretti mi sembra la più pulita, anche se credo che farò l'alternativa che mi hai proposto prima: la scelta della soluzione più comoda, a volte ha ucciso la creatività, ma mi sono già impelagato in passato con una serie di moduli, creati ad-hoc quasi per ogni diversa pagina del sito...
E' anche vero che al momento ne avrei solo 2, uno per lingua...
Farò sapere del funzionamento, in ogni caso: grazie.
Fabio

Offline fab-ffw

  • Nuovo arrivato
  • *
  • Post: 44
    • Mostra profilo
Re: Grafica (Template) che cambia con la lingua
« Risposta #14 il: 15 Ott 2008, 11:56:09 »
risolto.
Un accorgimento che può servire anche ad altri: per la lingua, invece di "italian" occorre mettere "it-IT", altrimenti usa slo l'inglese. Non so se è per la verione di Joomla! (1.5.7) o per Joomfish installato.

Offline ste

  • Moderator
  • Instancabile
  • *****
  • Post: 8774
  • Sesso: Femmina
    • Mostra profilo
Re:Grafica (Template) che cambia con la lingua
« Risposta #15 il: 09 Mag 2009, 18:42:43 »
Ecco invece un ottimo tutorial in inglese per chi utilizza Joomfish 2.0.x
http://www.joomfish.net/forum/viewtopic.php?f=28&t=3763&p=18038
TTI - Team Traduzione Italiano di Joomla.it - Guide su Joomla

 



Web Design Bolzano Kreatif