i18n - Multilingua - Associare manualmente l' URL alle bandierine

18 contenuti / 0 new
Ultimo contenuto
i18n - Multilingua - Associare manualmente l' URL alle bandierine

ciao atutti!
avrei una cosa molto urgente da risolvere

ho collocato le bandierine in un modo molto personalizzato dentro due DIV e la mia domanda è:

che URL/codice PHP devo associare alle bandierine per farle switchare dall'italiano all'inglese in base alla bandierina che vado a cliccare???

il sito è in 2 lingue...

qualcuno mi darebbe un suggerimento? ...in pratica devo far compiere alle mie 2 bandierine che ho messo dentro il DIV le stesse azioni che svolgono quelle che ci sono nel blocco lingua!

spero di essermi spiegato, nel frattempo cerco come sempre...

grazie

ciao

Usa semplicemente il blocco offerto dal modulo di traduzione, poi da li usi il codice css per posizionarle (riesci a cambiare senza troppi problemi il testo in immagini).

scusa ealmuno ma non ti seguo, almeno nella prima parte, poi per il css non dovrei aver problemi... se tiriferisci al blocco che fa apparire le bandierine come faccio ad inserire il suo codice in un DIV per farlo apparire dove voglio??? ...il blocco non lo devo inserire in una "regione" del tema ma in un DIV (come ho già detto...) che potenzialmente potrebbe essere inserito in un qualsiasi posto del mio page-mio_ctype.tpl.php

ci sarà pur un pezzetto di codice che fa switchare la lingua quando ci si clicca sopra... che poi sarebbe quello che fa funzionare le bandierine del blocco...

ho le mie 2 bandierine nel DIV, se clicco quella inglese vado nella rispettiva interfaccia e, vice-versa se clicco quella italiana...

abbi pazienza...

grazie

Non esiste una funzione per cambiare lingua, da aggiungere ad un html che hai creato tu.

Devi attivare il modulo locale (nel core), questo dovrebbe creare il blocco 'Selettore della lingua' che puoi posizionare come vuoi.

Io uso anche il modulo http://drupal.org/project/languageicons che mette le bandierine nel selettore della lingua (suppongo che sia la parte che hai fatto tu, sorry :-D ).

ealmuno si riferiva al blocco di selezione della lingua, che può essere personalizzato con CSS

Angelo Turetta

ho trovato la soluzione che mi serviva grazie ad uno snippet di >>> danzisiweb ...ma credo che non sono ancora giunto alla soluzione definitiva che vorrei...

avevo provato anche a creare una nuova regione dove inserire il blocco della lingua ma, spostandola nella zona che mi interessava (via CSS...) le bandierine non prendevano il click del mouse... probabilmente perchè la regione andava sotto ad un'altra o qualche diavoleria del genere...

in una zona custom di page-my_ctype.tpl.php:

<div class="art-header-flags">
               <?php
                    $path
= drupal_is_front_page() ? '<front>' : $_GET['q'];
                   
$languages = language_list('enabled');
                   
$links = array();
                    foreach (
$languages[1] as $language) {
                     
$links[$language->language] = array(
                       
'href'       => $path,
                       
'title'      => $language->native,
                       
'language'   => $language,
                       
'attributes' => array('class' => 'flag-link'),
                      );
                    }
                   
drupal_alter('translation_link', $links, $path);
                    print
theme('links', $links, array());
              
?>

               </div>

qualcuno sa come mettere inline le due bandierine che attualmente sono una sotto l'altra e ho provato in tutti i modi ma non riesco a visualizzarle una di fianco all'altra???

grazie danzisiweb per aver fornito il codice!

come faccio a mettere inline le bandierineee??? ...tu o qualcun'altro mi dareste una spintarella sul CSS!

ciao

Io uso qualcosa tipo:

#block-locale-language ul,
#block-locale-language ul li{
    float: left;
    list-style: none;
    margin-left: 8px;
}

Angelo Turetta

io ho appena trovato una soluzione diversa che però fa la stessa cosa:

#art-header-flags ul li {
display: inline;
}

ma devo trovare il modo di nascondere quelle icone rotonde a fianco delle bandierine... come cavolo si può fare??? ...con il tuo codice rimangono ugualmente

in ogni caso grazie per avermi passato un codice funzionante...

e per eliminare le iconcine rotonde come si dovrebbe fare??? se le rendo trasparenti poi spariscono in tutto il sito... credo...

grazie di nuovo

Bravo, display: inline è meglio del mio float: left

Per togliere i pallini devi mettere list-style: none;

Angelo Turetta

niente da fare... oggi non funziona niente...
ho messo:

#art-header-flags ul li {
display: inline;
list-style-type: none;
list-style-image: none;
}

ma cosa cavolo bisogna mettere!!! ...perchè rimangono sempre quei cavolo di pallini???

prova a mettere un !important, controlla con firebug se c'è l'override di un css.

niente da fare...

#art-header-flags ul li {
display: inline;
list-style: none !important;
list-style-type: none !important;
list-style-image: none !important;
margin: 7 0 0 0;
}

controllato con firebug ma non mi sembra che ci sia l'override di un css... come faccio a scoprire se c'è questo override??? ...nel caso...

andando sull'elemento il riferimento è style.css del tema Garland, quello che è in uso, non credo ci sia un override... intanto provo e cerco...

se ci dai un link facciamo prima, se il tuo css è cancellato vuol dire che non viene preso,

il fatto è che sono in locale... ho fastweb, vedi se riesci a raggiungermi >>> http://93.34.200.212/drupal_i18n_region/

mi sa che il css è cancellato perchè andando sul "pallino/bullet" il css è style.css?f ...e anche sulle bandierine ...che si fa in questi casi???

grazie...

...dopo alcuni test effettuati sono giunto alla conclusione (credo definitiva e veritiera, a meno che non si usi uno specifico codice PHP chissà dove...) che i "bullet" (/themes/garland/images/menu-leaf.gif) non si possono nascondere perchè in realtà sono già nascosti nel CSS originale dai seguenti comandi alla riga 123 (circa...) di style.css

tale CSS funziona benissimo e non c'è nessun override di tale CSS altrimeni non si spiegherebbe perchè tutti gli altri comandi funzionano benissimo...

ritornando alla riga 123 c'è il seguente codice:

ul li, ul.menu li, .item-list ul li, li.leaf {
  padding: 0 0 .2em 1.5em;
  list-style-type: none;
  list-style-image: none;
  background: transparent url(images/menu-leaf.gif) no-repeat 1px .35em; /* LTR */
}

i comandi list-style-type: none; e list-style-type: none; (ho messo anche > list-style: none;) funzionano bene, ma in realtà vanno a "nascondere" degli altri elementi grafici a sx della lista ma NON menu-leaf.gif, e cioè il pallino/bullet che NON si riesce a nascondere a meno che lo rendo trasparente oppure vado a togliere il comando background: transparent url(images/menu-leaf.gif) no-repeat 1px .35em; /* LTR */ ma, facendo in questo modo, sparisce anche in tutto il sistema di amministrazione a sx di ogni voce dove tale bullet è previsto e questa cosa NON va bene...

quindi, togliendo i comandi che vanno a nascondere i bullett a sx di ogni voce, appaiono i bullett reali che va a nascondere il comando stesso... appare chiaro che NON c'è alcuna azione sul famoso (ormai...) pallino menu-leaf.gif

codice senza i comandi che dovrebbero nascondere il bullet:

ul li, ul.menu li, .item-list ul li, li.leaf {
  padding: 0 0 .2em 1.5em;
  background: transparent url(images/menu-leaf.gif) no-repeat 1px .35em; /* LTR */
}

risultato:

in ogni caso per il momento ho abbandonato il caso...

se qualcuno ha un'idea... altrimenti pazienza...

prova con un backgorund:none;

GRANDE!!!

#container_art-header-flags {
clear:both;
width:170px;
height:70px;
border:1px solid red;
margin-left:40px;
margin-top:-300px;
float:left;
}
#art-header-flags ul li {
display: inline;
margin: 0px 10px;
}
ul li {
background: none;
}

pallini bianchi a fianco delle bandierine spariti!

p.s. in custom.css del tema garland

grazie a tutti per i preziosi interventi...

Ciao kipper, grazie che mi hai nominata (ho visto il post solo adesso) e mi fa piacere che hai utilizzato il codice che ho postato, in effetti ho tribolato un po per mettere le bandierine inline sul mio sito vedi:
http://danzisiweb.altervista.org/
Praticamente il codice è nel modulo locale poi ho dovuto fare il css come te, comunque contattami quando vuoi se hai bisogno di trucchi e posso darteli, volentieri

grazie danzisiweb per la tua disponibilità... se dovessi aver bisogno ti contatto sicuramente!

ciao

kipper