Les banderetes del qTranslate no apareixen
Recentment he estat preparant una web per als companys de CE. Seva (www.montseny360.cat) i una de les coses que ens interessava era deixar la web preparada per a la possibilitat de múltiples idiomes de cara a les properes edicions. Per a fer-ho o almenys que jo conegui el millor plugin és el qTranslate i per això el vaig instal·lar. Un cop instal·lat i mínimament configurat em disposava a situar les banderes de l’idioma en la pàgina principal, però per a sorpresa meva, aquetes no apareixien, en el seu lloc només sortia el nom amb texte. Si això us passa no us enguixeu, ja que tot i que us podeu tornar bojos buscant la solució un cop saps què has de fer resulta ser molt senzill i ràpid, tot depèn només de incloure un “!Important” en el lloc indicat, però a on?
El problema és degut a que alguna definició de les CSS en la vostra plantilla, està ocultant les banderes i utilitzant !important en la definició, aconseguirem que aquesta regla mani per sobre de qualsevol altre. Diríem que l’!important equival a prioritat absoluta d’aquesta per sobre de totes les que l’estan afectant.
Doncs com ja he apuntat la clau per a resoldre aquest problema és editar el fitxer qtranslate-hooks.php del plugin i cercar una línia similar a aquesta:
$css .=".qtrans_flag_".$language." { background:url(".$baseurl.'/'.$q_config['flag_location'].$q_config['flag'][$language].") no-repeat}\n";
Aquí afegirem el “!important” de manera que quedi així:
$css .=".qtrans_flag_".$language." { background:url(".$baseurl.'/'.$q_config['flag_location'].$q_config['flag'][$language].") no-repeat !important}\n";