Ciao a tutti!
Siccome ho l'esigenza di mostrare i titoli di alcuni field cck (titoli di tabella statici...) in 2 lingue diverse in base all'interfaccia ITA/ENG in cui ci si trova, (potrei farlo con "View Bulk Operations, String Override etc... ma in questo caso vorrei una soluzione statica...) cercando in rete ho trovato questi link interessanti:
http://drupal.org/node/188264
http://drupal.org/node/80687
Bene, nel secondo link c'è del codice che riporto qui sotto e che dovrebbe mostrare contenuto HTML in base all'interfaccia (lingua) in cui ci si trova, ho provato (cambiando il suffisso "fr" con "it", che sarebbe la mia lingua principale - ho anche provato a mettere "en") ma non succede nulla, i risultati escono sempre in "HTML English..."
<?php
global $i18n_langpath;
if ($i18n_langpath == it) {
print "HTML Italiano...";
} else {
print "HTML English...";
}
?>
Qualcuno avrebbe la soluzione?
Grazie
Ciao
Kipper
...qualcuno sa qual è la variabile che controlla la lingua? ..mi sa che devo sostituire "$i18n_langpath" ma con cosa?
se qualcuno mi sapesse dire qual è la variabile giusta gliene sarei grato anzi, ...gli offro 2 birre!
Grazie
Ciao
Kipper
global $language
if ($language->language == 'it) echo "sono IT";
Prova un po'.
M.
--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal
"Controlla la lingua"? Aiuto, mi cancellerà tutti i miei post? Mannaggia a me, mi ha battuto alla risposta il buon Zio Budda...
John
Più imparo, più dubito.
..niente da fare, non funziona... sarebbe una figata ma non funziona..
Parse error: syntax error, unexpected T_IF, expecting ',' or ';' in /home/miosito/miosito.com/includes/common.inc(1685) : eval()'d code on line 3
il codice che ho messo all'inizio lo trovo molto interessante però, purtroppo, è per D5 (peccato...) e poi, vi darebbe un pochino di fastidio se quando mettete i codici nelle risposte lo fate "ingabbiando" il codice stesso in una struttura pronta per essere incollata nel body (ovviamente abilito il filtro PHP...) oppure direttamente all'interno di un file php/html? ...mica siamo tutti maghi di PHP che diamo il superfluo per scontato e poi, sarebbe anche molto utile a tutti gli utenti indipendentemente dai livelli di conoscenza avere a disposizione codice "pronto all'uso e perfetto" nelle documentazioni dei post!!!
ho provato quest'altro codice e funziona; però devo trovare il modo di tradurre i Field CCK... al momento che scrivo non mi viene in mente come fare (ho risolto la traduzione delle stringhe ma assegnare una lingua ad un Field mi suona strano al momento...)
La descrizione e il codice:
I've been able to do an interesting thing with this. I have a CCK content type with many fields .. but ONLY ONE (the description field) needs translattion. So I don't want to use the standard way of translating those nodes by using the translate tab and generating another node with different language for only changing one field!.. So what I did is creating both description fields (only two languages in my case) in the CCK content type... field_description in english and field_descripcion in spanish. So when creating this kind of content you have to fill boths descriptions in the same node... But only want to display the current language one. So in the contemplate template... I put this:
<?php
global $i18n_langpath;
if ($i18n_langpath == es) $mytranslatedfield=$field_descripcion;
else $mytranslatedfield=$field_description;
?>
<div class="clearb field field-type-text field-field-description">
<h3 class="field-label"><?php print t("Description"); ?></h3>
<div class="field-items">
<?php foreach ((array)$mytranslatedfield as $item) { ?>
<div class="field-item"><?php print $item['view'] ?></div>
<?php } ?>
</div>
</div>
note also the t("description") to translate the label of the field. in the standard way.
it works perfectly. Veeery nice... This saves database space too.
John, mi servirebbe proprio di risolvere questa cosa:
Ho l'esigenza di inserire anche dei contenuti multilingua "al volo" (statici/isolati) proprio come quello sopra nel #1 Post! Per le altre traduzioni sto usando VBO, Translate Table e String Override (a dire il vero le sto testando su un sito parallelo di "test"...)
Grazie anche a ziobudda
ciao
Kipper
ZioBudda ha perso un ; e un ' lungo la strada - tutto qua.
John
Più imparo, più dubito.
Grazie John, adesso funziona perfettamente!
Questa notte per mè è stata una notte di fuoco, ho visto la tua risposta e ho visto anche che eri online verso la 01.30 ma lo script l'ho testato di fretta verso le 04.00.. dico di fretta perchè, proprio stanotte ho fatto il trasferimento del sito alla Root principale e ti pareva se non doveva entrare in gioco la legge di Murphy... e così è stato...
Dopo essermi messo al sicuro (come al solito...) con backup dei files e il DB ho proceduto con l'operazione ma, a differenza della volta precedende, ho adottato un approccio diverso, più sbrigativo...
Mentre la volta scorsa avevo copiato tutti i files da FTP (circa 300mb) su Hard Disk e poi li ho ricaricati nella Root principale, questa volta, con FileZilla, li ho semplicemente selezionati tutti (quelli interessati...) e spostati nella Root in modo di fare un lavoro più veloce...
Risultato? ...nonostante ci sia Pathologic impostato e i link e i percorsi sono perfetti, ad ogni click (es. www.miosito.com/miaview) ricevo sempre una schermata bianca con la scritta in nero che dice "La pagina richiesta non esiste sul server" o una cosa del genere...
Tutti i link sono perfetti ma ad ogni click (a diversi link...) esce questa pagina bianca...
Ho analizzato il problema, l'unica cosa di diverso che ho fatto rispetto alla volta scorsa è quella di aver "trascinato" i files del sito dalla cartella /ita alla sottocartella Root e mi viene quasi il dubbio che, siccome ho notato che alcune cartelle (parlo della volta scorsa...), per esempio /ita, non possono essere eliminate perchè contengono files nascosti che si possono "sbloccare solo dal pannello di controllo di DreamHost" impostando prima i permessi a 777 (alla cartella e a tutte le sottocartelle/files) e ce ne saranno altre con questi dati "protetti da scrittura", per farla breve ho pensato che il problema sta proprio qui!
Se l'altra volta ho scaricato i file e poi li ho ricaricati, questi dati protetti non sono stati importati nel nuovo sito e credo che il sistema li ricostruisca in automatico.. è l'unica cosa diversa che ho fatto.
Adesso sto aspettando la fine dell'uplod (300mb circa) dei files che non dovrebbero avere più informazioni di riferimento al vecchio sito e spero in bene...
Secondo te a cosa è dovuto questo comportamento? ...se tutti il link sono perfetti perchè non funzionano?
Faccio notare anche che stanotte, durante l'operazione, siccome andava tutto più lento del solito, ci possa essere la possibilità di un'eventuale manutenzione del Server da parte di DreamHost e forse anche questo è uno dei motivi anche perchè ad un certo punto "update.php ha funzionato" mandandomi nella pagina di amministrazione ma, da li, non potevo andare da nessuna parte ugualmente... pagine bianche con scritta "impossibile trovare il server"... tu cosa suggerisci?
P.S. se trascino ancora tutto in /ita tutto riprende a funzionare regolarmente... dovrei forse rimettere la carta di credito al sicuro, puntellare la casa (box compreso... etc etc etc...) e fare loperazione di cancellare tutti i pezzi di stringa "/ita" dal DB? ...e poi con la famosa sorpresa che mi hai detto che si potrebbe verificare con gli utenti come sarei messo!?
Un' altra cosa strana che ho notato è che ho creato un nuovo DB, caricato il file *.sql (splittato come al solito) ma, quando vado a vedere sul pannello di controllo di DreamHost a differenza dell'altro DB che da 40mb di spazio occupato questo mostra 0.00mb boh....
Grazie ancora
Non vedo l'ora che finisce l'upload per ritestare il tutto...
Ciao
Kipper
Il lavoro è stato di ZioBudda, io ho solo aggiunto un pò di sintasse...
Bene.
Un classico...
Allora schermata bianca probabilmente è Apache. Drupal almeno visualizza la pagina senza blocchi. Non credo che sia Pathologic - hai provato vedere se forse .htaccess usando www.miosito/?q=miaview?
E' possibile, i files sono .htaccess (entrambi) e settings.php
Un file 'read-only' viene copiato da FTP solo se non esiste nella cartella destinazione. FTP non dovrebbe sovrascrivere questo tipo di file se esiste già.
Probabilmente manca clean-urls, probabilmente perchè non funziona .htaccess nel root. Probabilmente...
Questo è una buona notizie. Se funziona /ita ma non /, puoi almeno fare un confronto dei files... La vita è tutto una sorpresa (se no sarebbe una vera noia)
Di solito quando succede questi cosa, mi alzo, e guardo nello specchio per scoprire la fonte dell'errore...
John
Più imparo, più dubito.
Ciao John e grazie per la risposta, sono quasi in fibrillazione...
John wrote:
Allora schermata bianca probabilmente è Apache. Drupal almeno visualizza la pagina senza blocchi. Non credo che sia Pathologic - hai provato vedere se forse .htaccess usando www.miosito/?q=miaview?
__________________
E' possibile, i files sono .htaccess (entrambi) e settings.php
_____________________
Probabilmente manca clean-urls, probabilmente perchè non funziona .htaccess nel root. Probabilmente...
Non sono pratico di .htaccess, mi daresti + istruzioni per verificare questi .haccess e anche i "clean-urls"?
Grazie
Ciao
Kipper
Many Thanks ziobudda!
adesso funziona!
Ciao
Kipper
Ciao John, si era perso per strada .htaccess e adesso pare funzioni tutto... altre cose da controllare non ce ne dovrebbero essere a parte Pathologic che è correttamente impostato...
Allora? ...lo "/" finale lo metto oppure no? http://www.miosito.com/ita/ (inserito in Pathologic come che sta ad indicare quale url deve essere considerato locale)..
Come hai già detto tu mi sa che Pathologic fa le sue magie in entrambi i casi
Grazie ancora... ti devo 30 birre... medie... appena passo a Verona chi lo sa se un domani ci sarà l'occasione di fare 4 chiacchiere e conoscerci...
Non ti allarmare...
Ciao
Kipper
Tornando su I18n ho avuto l'esigenza di inserire delle stringhe statiche e persistenti perchè VBO, Translate Table etc... modificano/traducono le stringhe solo ai contenuti già pubblicati e quindi, per tutti i titoli/intestazioni preferisco usare una soluzione statica e definitiva per esempio:
Ho una tabella con una ventina di intestazioni al top e al lato sx su Template Suggestions:
Lunghezza mm
Altezza mm
Peso kg
Dimensioni
......
Se devo inserirle ogni volta con VBO o Translate table è un lavoraccio, visto che ai nuovi contenuti mancheranno queste informazioni e allora dovrei riscriverle/copiarle ogni volta....
Spero di essermi spiegto
Ciao
Kipper