come fare con più lingue in nodi personalizzati?

11 contenuti / 0 new
Ultimo contenuto
come fare con più lingue in nodi personalizzati?

ciao,
nel momento in cui una persona decide di personalizzare un nodo e decide di creare dei menu a tendina utilizzando solo la lingua italiana non ci sono problemi ma nel caso ci fosse anche una seconda lingua o in un futuro una terza come si deve comportare?
il mio nodo si chiama node-archivio.tpl.php devo modificarlo per inserire le voci in inglese e quindi ri-scrivere altri menu con solo la lingua inglese?
c'è qualcuno che mi offre due dritte?
Grazie
Tiziano

Il supporto multilingua in drupal è offerto dal progetto http://drupal.org/project/i18n
Tra le altre features contiene un sottomodulo chiamato Menu Translation.
L'ho usato parecchio tempo fa (D5) e ricordo che quello che succede è in realta che crea un menù per ogni lingua e poi visualizza quello che corrisponde alla lingua selezionata.

scusa se cerco di puntualizzare e nel contempo capire se questo modulo è corretto per ciò che mi serve...
io creo un mio contenuto e in alcuni casi ci possono essere dei campi testo a selezione multipla o menu a tendina in cui scegliere le voci presenti, tu mi dici che esiste un modulo che una volta caricato permette di switchare in fase di implementazione se è una lingua oppure un'altra le voci presenti nei vari elenchi?
E' così?
Tiziano

Assegna valori in inglese alle voci del menu, poi vai in Amministra -> Struttura del sito -> Traduci interfaccia e cerca le stringhe: le troverai da tradurre.

Il modulo internalization è indicato per tutti i siti multilingua. Rileva dal browser la lingua dell'utente e permette di impostarla manualmente. Permette di creare versioni tradotte delle pagine (es: it/nuovo-contenuto, en/new-content) ed utilizza le stringhe dell'interfaccia di traduzione di drupal.

Menu translator dovrebbe mostrarti il menu di una certa lingua a seconda della lingua selezionata dal browser o dall'utente.
La traduzione non avviene letteralmente, vengono creati effettivamente due menù diversi per le due lingue.
Il problema del procedimento suggeritoti da pinolo, io credo, è che ti troveresti con il menù tradotto, ma con i suoi link che puntano alla stessa versione linguistica del sito.

Fai un test site e prova a giocarci un pò. Ti avverto anche che è un modulo molto invasivo; fai un backup prima di iniziare le cose serie.

Aggiungo anchè che , per verificare corettamente vari cambiamenti di lingua si deve avere un browser completamente in lingua rispettiva .

----------------------------------------
bI’Iqchugh’ yIvang !
Se sei triste, agisci!

Proverbio Klingon

Perchè avere "un" browser, quando hai firefox? ;) Preferenze > Contenuti > Lingue ... imposta più in alto nell'elenco la lingua che vuoi provare.

Perchè spesso non funziona coretamente , anche usando Quick Locale Switcher il risultato non cambia molto .
Pachetti originali lingua rimangono. Un apparente malfunzionamento del internalization puo essere evitato seguendo anche questa idea.

----------------------------------------
bI’Iqchugh’ yIvang !
Se sei triste, agisci!

Proverbio Klingon

Non mi ha mai dato problemi in tal senso. Non le versioni > 2.x
A meno che non sia il sito ad eseguire la geolocalizzazione... ma allora non c'è molto da fare!

ciao scusate se rispondo ora quindi se ho un tipo di contenuto creato ex-novo in italiano in cui ho dei campi testo a menu a tendina se clicco su translate i vocabolari se li scrivo in inglese dovrei vederli ma per i campmi con i menu a tendina con i termini in italiano cosa devo fare, devo scriverli anche in inglese nello stesso campo? e poi nel translate seleziono quelli in inglese?
Grazie
Tiziano

Sì, devi mettere le etichette del menu a tendina in inglese. Le dovresti poi trovare tra le stringhe da tradurre.
Se non funziona con il metodo normale di inserimento delle etichette, puoi sempre definire le coppie etichetta/valore con del codice PHP e usare per le etichette dei valori racchiusi da t() (es. t('Red')).
A quel punto, DI SICURO ti ritrovi le stringhe fra quelle da tradurre.