Ciao voglio creare un sito multilingua.
Premesse:
sto provando Drupal in locale von win + easyphp7. L configurazione è
Drupal 5.1
MySQL database 4.0.15
PHP 4.3.3
Finalmente sono riuscito a trovare e istallare i18 (pacchetto i18n-5.x-2.1) che sul sito drupal.org appare con un altro nome.
Ho letto il README.TXT e ho seguito le fasi di installazione abilitando tutti i moduli per Multilanguage - i18n
In blocchi ho attivato Language switcher - (non ho ancora capito la differenza con Translations)
A questo punto:
1) creo due menu: introduzione e introduction con Aggiungi menu
2) con Add multilingual block creo il blocco b-introduzione a cui aggiungo per English:introduction e per Italian:introduzione
3) in Amministra › Struttura del sito > Blocchi attivo il blocco b-introduzione nella barra laterale di sinistra
4) con Crea contenuto > Pagina creo una pagina di inroduzione in lingua italiana e imposto Translation workflow: none. Inserisco il contenuto e in Impostazioni del menu come Voce padre:introduzione
5) tramite il bottone translation - create translation creo la traduzione e imposto come Voce padre:introduction
Quello che succede è che le pagine create non vengono visulizzate nella barra di sinistra e nemmeno i menu introduzione / introduction.
Cambiando lingua con le bandierine a livello di amministravione effettivamente vedo cambiare i menu (crea contenuto diventa Create content ecc.) ma non vedo i menu che ho creato.
Volevo sapere se è corretta la sequenza che ho seguito o c'è qualche altra impostazione da fare.
Ho provato ad attivare i blocchi introduzione e introduction nella barra di sinistra mo nn mi appare ancora nulla
Grazie a tutti per l'aiuto
ciauz...allora premetto che di drupal non so molto anche se sta incominciando a piacermi...anche io avevo il problema dei menu multilingua sul mio sito..
io ho abilitato il blocco translation e non il language switcher.
avevo creato praticamente anche io 3 menu che non mi sono serviti a molto in quanto poi sono andato a lavorare solo sul menu principale..
praticamente in site building andavo su menu..poi da li andavo sul mio menu principale che mi ero creato e che avevo messo in primarylink e per ogni voce del menu facevo edit..praticamente settavo il menu per ogni lingua (ad esempio visto che lavoravo con 3 lingue avevo 3 home ognuna che puntava ad ogni pagina diversa cosi come per prezzi in modo che se cliccavo bandiera inglese mi andava alla pagina prices e in francese alla pagina prix..).
praticamente però quando facevo edit e poi il submit mi si cancellava il menu che avevo prima ma solo la prima volta e te lo devi ricreare..ci metti un minuto per ogni voce del menu ma in questo modo riesci anche a bloccare la navigazione nella lingua desiderata....
mi sono un po spiegato da cani..se hai qualche dubbio al max contattami che ti spiego meglio..se no ci si trova su msn..
se vuoi dare un occhio a come mi funziona il menu multilingua
http://francescoproject.netsons.org
ciauz e buon lavoro
Grazie JOK
Ho visto come hai realizzato il tuo sito ma il mio obiettivo è quello di riuscire a utilizzare il menù nelle colonne. Ho provato ad attivare il blocco translation ma non ho avuto cambiamenti per quanto riguarda la gestione dei menù che non appaiono ancora :-).
Provo a fare altre ricerche ....
per quanto riguarda quello nelle colonne laterali mi funzionava tranquillamente..ho avuto meno sbattimento a fare quello..praticamente una volta che ti crei i tuoi menu per ogni lingua e la tua pagina in ogni lingua devi farti un multilingual block..ad es io con 3 lingue mi ero creato 3 menu..menuita menueng menufr che poi attivando il multilingual block mi si cambiava in base alla bandierina..
se non ti va con un tema prova a cambiarlo..a volte centra anche quello da quello che ho potuto vedere.
ciauz
In effetti io ho creato due menu introduzione e introduction che ho racchiuso in un multilingual block.
Mi sa che provo a rifare l'installazione perché anche cambiando i temi i menù non appaiono :-(
segue ...
Il effetti il problema sul modulo i18 esiste.
Dopo aver analizzato il codice ho riscontrato che i menù normalmente senza il modulo i18 vengono creati con il campo 'type' uguale a 0x76 (decimale 118). In questo caso i menù vengono visualizzati.
Attivando il modulo i18 invece nel campo 'type' viene impostato il valore 0x56 (decimale 86) e il menù non compare.
La differenza è nel bit MENU_MODIFIED_BY_ADMIN che non viene settato.
Facendo una ricerca ho trovato l'ottima soluzione di pixel13 nel post http://drupal.org/node/131155
Una volta modificato il modulo i18n.module - function i18n_nodeapi inserendo la riga
$edit['type'] = $edit['type'] | MENU_MODIFIED_BY_ADMIN;
nel seguente modo:
...
if (isset($node->menu) && !$node->menu['delete'] && $node->menu['title']) {
$item = $node->menu;
$item['path'] = ($item['path']) ? $item['path'] : "node/$node->nid";
$item['type'] = $item['type'] | MENU_MODIFIED_BY_ADMIN;
if ($item['mid']) {
// Update menu item
db_query("UPDATE {menu} SET pid = %d, path = '%s', title = '%s', description = '%s', weight = %d, type = %d, language = '%s' WHERE mid = %d", $item['pid'], $item['path'], $item['title'], $item['description'], $item['weight'], $item['type'], $item['mid'], $node->language);
drupal_set_message(t('The menu item %title has been updated with node language.', array('%title' => $item['title'])));
} elseif(SAVED_NEW == menu_save_item($item)) {
// Creating new menu item with node language
db_query("UPDATE {menu} SET language = '%s' WHERE mid = %d", $node->language, $item['mid']);
drupal_set_message(t('The menu item %title has been added with node language.', array('%title' => $item['title'])));
}
menu_rebuild();
unset($node->menu); // Avoid further processing by menu module
}
...
tutto funziona :-)