Ciao a tutti!
Sto implementando il mio primo multilingua e avrei bisogno di un aiutino anzi, un aiutone!
Premetto che parto da un sito già avviato con parecchi contenuti.
Dopo aver installato il modulo i18n (Internationalization), attivato i moduli "Content translation", "Locale", “Block translation”, “Internationalization”, “String translation” , attivato il blocco etc etc sono riuscito a creare una demo funzionante usando il content type di default "Page", ho caricato anche le bandierine che si vedono perfettamente e, creando una pagina di prova, riesco a tradurla e fin qui è ok.
La domanda è:
Facendo uso di Template Suggestions ("node-my_content_01" - "page-node-my_content_01" etc...) come faccio a tradurre (farli switchare in inglese) i Campi CCK (di testo ovviamente...) all'interno dei template?
Attualmente per stampare i contenuti, senza scendere troppo nei particolari del codice ho questo scenario:
<html>
<body>
<?php
$field_campo_testo_01 = $node->field_campo_testo_01[0]['view'];
?>
<div id="a3"><?php print($field_campo_testo_01 ? $field_campo_testo_01 : ' '); ?></div>
</body>
</html>
In pratica il codice php nel DIV richiama il "nome macchina" del campo CCK e, se tale campo contiene del testo lo stampa mentre, se è vuoto, lo lascia bianco.
Il sito è in 2 lingue: ITA e ENG e ho pensato, correggetemi se sbaglio approccio, che per fare ciò che voglio ottenere mi servirebbe una stringa di codice PHP da inserire nel DIV che dica:
Se il testo è di default (ITA) me lo stampi in italiano mentre, se è in inglese, me lo stampi in inglese (ma dove sarannanno mai le 2 variabili ($testo_ita e $testo_eng)?
Può essere una strada secondo voi?...non dovrò mica creare 2 Content Type identici uno per ITA e l'altro per ENG (es. node-modello_ita e node-modello_eng) e inserire separatamente i contenuti (sarebbe assurdo..), tenendo presente anche che faccio uso abbastanza intensivo di Node Clone e Node Convert che, abbinati all' Internalizzazione mi permetterebbero di clonare e convertire anche i nodi delle 2 lingue e giocarci a mio piacimento!!!
Spero di essermi spiegato
Grazie in anticipo a chi vorrà aiutarmi a risolvere questa rogna
Grazie
Ciao
Kipper
ma i18n gestisce in automatico l'output nella lingua selezionata...
se stampi a video in campo cck lo stamperà nella lingua giusta senza selezionare niente dal template.
ad esempio io ho questo:
<?php print content_format('field_testo', $field_testo[0]); ?>
il testo apparirà in inglese o in italiano a seconda della lingua selezionata.
in views ovviamente devi usare l'opportuno filtro (i18n content negotiation se non ricordo male).
www.pistocco.com