Un articolo un po’ tecnico, più che altro perchè sono impazzito mezza giornata per trovare una soluzione, e visto che l’ho trovata, la pubblico volentieri.

Per lavoro uso wordpress (nel caso 3.01) come cms su server dedicati linux e windows (quindi non c’entra se pensate a wordpress.com) e mi sono trovato a dovere scrivere un sito multiligue (italiano ed inglese).

Per questo ho utilizzato l’ottimo plugin qTranslate che svolge egregiamente il compito (tra l’altro si possono aggiungere anche altre molte lingue.) Al momento dell’inserimento di una nuova pagina (o articolo) potete inserire il titolo nelle lingue che impostate e il contenuto allo stesso modo. Anche la categoria è inseribile multilingua.

Il plugin qTranslate, oltre a questo, traduce in automatico i titoli delle widget implementate di base in wordpress come “categorie”, “links”, “pagine”.
Purtroppo, ad esempio con una widget di testo o aggiungendo altre widget come Category Posts, Flexi Pages che mi servono ad organizzare al meglio la visualizzazione per categorie o in ordine non alfabetico, il titolo che viene visualizzato è univoco (lo inseriamo manualmente) e “statico” per cui cambiando lingua non viene, ovviamente, tradotto.

Per le widget che mostrano articoli di una categoria, per esempio “Editoriale/Editorial”  (con plugin “Category Posts”) si può omettere il titolo alla widget e automaticamente viene utilizzata e visualizzata la categoria nella lingua corretta, ma negli altri casi se la widget testo non aggancia articoli o riferimenti a categorie, come fare?

ECCO LA SOLUZIONE:
Semplicemente nel titolo della widget basta inserire una stringa come segue invece di un testo statico:

[:en]English text [:it] Testo in italiano
per esempio inserendo  [:en]Editorial [:it]Editoriale
otterremo il titolo “Editorial” nella visualizzazione inglese e “Editoriale” in quella italiana.

L’ho provato su WordPress 3.01 con 2 lingue (inglese/italiano) e mi funziona con tutte le widget di cui sopra e con le widget di testo.

Buon lavoro!
Ciao, J

ps:

Category Posts: Widget Plugin che filtra gli articoli per mostrare quelli appartenenti ad una particolare categoria, con scelta di quanti post.
Flexi Pages: Widget Plugin per selezionare quali pagine mostrare in un menu e cambiarne l’ordinamento. Io l’ho usata per non avere l’ordinamento A-Z e per creare una seconda visualizzazione (menu) di una pagina singola che è l’accesso all’area privata del sito.

 

15 pensiero su “WordPress plugin: qTranslate e titoli delle widgets”
  1. Ciao, perdonate l’intrusione.

    Offerta di lavoro per web designer o web master

    Mi serve un web designer – o webmaster o come diavolo si dice. Mi serve uno con le palle. Uno che mi sappia disegnare una home page che si carica in un millisecondo e dietro un blog da paura. Uno che viaggia forte su WordPress, widgets, feeds e che smanetta sui codici come un pianista.

    Parliamoci chiaro, per fare un bel blog ci vogliono venti minuti, per quello che voglio io due settimane. Quanti venti minuti ci sono in due settimane? Chiaro? C’e’ da sbattersi.

    E non me ne frega un cazzo dei titoli di quella sottospecie di sistema educativo che ci e’ toccato. Voglio uno che trova la soluzione a tutto quello che gli chiedo di fare, non un fighetto che mi dice: “Questo non lo so fare.., questo non si puo’ fare…” Ecco, se pensi di venire qui per dirmi cosi’, allora non venire perche’, stanne certo, ti chiedero’ di fare cose che non hai mai fatto. Se pensi di rispondere all’annuncio tipo: “Mi scusi, dov’e’ la sede di lavoro?” vai affanculo subito, non rompermi i coglioni.

    Mi serve un cane sciolto, cazzuto, anche minorenne, non m’importa. Due settimane, senza pause.

    Vitto, alloggio e quattro biglietti da 500 sull’unghia a lavoro finito.

    Non sono una ditta o una qualche azienda, sono uno che vuole un fottuto sito in due settimane e pago per averlo. Punto.

    dolly.webreb@gmail.com

  2. Ciao Grazie per il suggerimento,
    io ho il problema opposto cioè nel widget mi appaiono i tag e non so come filtrarli.
    Per l’esattezza sto usando il plugin wp ecommerce x realizzare un piccolo negozio, ma nel momento in cui inserisco un prodotto in carrello, il nome del prodotto non viene filtrato nella lingua scelta, ma appare nelle 2 versioni fra i tag di qtranslate.qualcuno conosce il sistema x risolvere questo problema?
    grazie

  3. Interessante il tutorial, ma una domanda…. con questa soluzione io traduco solo il titolo ma non posso tradurre per esempio contenuti del widget? O per esempio creare due div con testo diverso e chiamarli in base alla lingua ?

    grazie!!!

  4. @Marco:
    Certo puoi applicare il concetto di [en] e [it] anche al contenuto di una widget di testo.

    In sostasnza duplichi il codice che ti occorre sostituendo le terminologie nelle due lingue.
    Ti incollo un codice d’esempio per una Widget di testo con link a pagine in it e en.
    In una lista non ordinata (ul) voglio 2 link in italiano e inglese a pagine di sommario:

    In questo modo otterrai il contenuto della widget bilingue.

    Ciao
    J

  5. Scusa si è perso il codice per strada… 🙂 WordPress “traduce il codice nel commento… lo inserisco plain… vediamo se và meglio!

    tag ul
    “[:it]”
    tag li
    tag a href=”http://www.dominio.com/sommario_italiano.asp” target=”_blank” rel=”nofollow”>Sommari delle annate tag /a
    tag /li
    “[:en]”
    tag li
    tag a href=”http://www.dominio.com/sommario_inglese.asp” target=”_blank” rel=”nofollow”>Table of contents tag /a
    tag /li
    tag /ul

  6. Mi hai risolto un problema!!! Grazie!!!!!!!!!!!!!!
    Adesso mi serve qualcosa che allo swichare della pagina mi cambi anche l’swf nell’header in modo da caricare quello con i contenuti in lingua 🙁
    Soluzioni??

  7. Ci@o… grazie a questo post ho risolto un mega problema, quello del widget, ma me ne rimane uno ancora piu grave….

    Nel tema che ho installato c’è la funzione portfolio, che riporta l’adstract e featured image del post…

    Il problema è che questi testi (e i relativi link), anche nella pagina in inglese, appaiono in italiano (pur essendo stati inseriti in lingua)

    Questo il link: http://antoniomartino.net/en/documentari/

    Sto impazzendo … spero qualcuno riesca a darmi una direzione 🙂

    Ciao
    Ale

  8. Non conosco il tema che utilizzi ma ho paura che la funzione portfolio non agganci il pugin qtranslate (Che invece mi pare di aver capito funziona per i post bilingue “normali”). Prova a vedere se nel support del tema Jing che usi, qualcuno ha già chiesto/risolto.
    Ciao
    J

  9. temo anch’io che la funzione non supporti… ho provato anche con WPML ma anche questo ha delle funzioni che credo non siano supportate dal tema. Ho cercato la soluzione ma pare che nessuno abbia afforntato con l’autore questo problema…

    Mi chiedevo… secondo te è possibile creare due menu differenti (uno per lingua?) in modo da aggirare il problema forzando i collegamenti?

    Graz
    Ale

  10. Onestamente non lo so.. a suo tempo con un tema ho avuto lo stesso problema sui contenuti del footer che, invece di avere un unico contenuto per la lingua scelta, venivano mostrati in entrambe e forzando i tag :en o :it con la parentesi quadra non funzionavano comunque… purtroppo non ho risolto ed ero stato costretto a non usare i contenuti nel footer…
    Ciao, J

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *