Scopri come registrare i contenuti personalizzati del page builder per la traduzione usando il file wpml-config.xml. Registra stringhe, media, widget del page builder, ID degli shortcode e altro ancora.
Questa guida è rivolta agli sviluppatori che creano temi e plugin o aggiungono codice personalizzato del page builder al loro sito.
Se usi un page builder di terze parti e non riesci a tradurre i widget personalizzati sul tuo sito web, contatta il supporto WPML.
Hai bisogno di generare un file wpml-config.xml? Visita la nostra guida passo passo per generare automaticamente un file di configurazione usando il plugin Multilingual Tools.
Traduci le stringhe
Consideriamo un esempio in cui hai un separatore di testo aggiunto a una pagina usando Visual Composer. Questo separatore ha un titolo e il suo shortcode si presenta così:
[vc_text_separator title="Separator Title"]
Per tradurre il titolo di questo separatore di testo, devi aggiungere alcune righe al tuo file wpml-config.xml. In questo modo, WPML “saprà” che il titolo di quel separatore richiede la traduzione.
Il seguente codice è un esempio di ciò che devi aggiungere al file wpml-config.xml in questo caso.
Esempio di aggiunta di uno shortcode del page builder al file wpml-config.xml
<wpml-config>
<shortcodes>
<shortcode>
<tag>vc_text_separator</tag>
<attributes>
<attribute>title</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>Analizziamo la struttura dell’esempio precedente:
- Inizia con il tag shortcodes. Tutti gli shortcode del tuo sito che devono essere tradotti dovrebbero essere inseriti sotto questo tag.
- Usa il tag shortcode per racchiudere tutti i tag appartenenti a un singolo shortcode.
- Usa il tag chiamato tag per definire il nome dello shortcode. In questo caso, è vc_text_separator. Se preferisci, puoi aggiungere etichette personalizzate opzionali ai tag. Queste etichette verranno visualizzate accanto al testo sia nell’Editor di traduzione avanzato che nell’Editor di traduzione classico. Anche i file XLIFF esportati includono queste etichette. Vedi l’esempio di seguito per scoprire come aggiungere etichette a tag e attributi.
- Gli shortcode possono avere uno o più attributi, quindi devi racchiuderli nel tag attributes (plurale) e usare il tag attribute (singolare) per definire il titolo di ciascun attributo.
I page builder includono (a volte) elementi di design che hanno attributi di link.
Puoi fare in modo che i link interni puntino automaticamente alla versione tradotta di quell’articolo usando l’opzione link: type="link".
Puoi usare l’attributo encoding con questa opzione. Gestisce la codifica speciale che usano vari page builder. L’attributo di codifica è di solito specifico per il page builder che usi. Accetta i seguenti valori:
- base64 – Shortcode HTML grezzo di Visual Composer. Lo shortcode memorizza l’HTML come stringa base64.
- vc_link – Formattazione speciale dei link per Visual Composer.
- vc_values – Codifica speciale di Visual Composer per i valori nei widget barra di avanzamento, grafico a torta e grafico a linee.
- av_link – Formattazione speciale dei link per Enfold.
- allow_html_tags – Di solito i tag HTML vengono rimossi dagli attributi degli shortcode. Imposta la codifica su allow_html_tags se l’attributo dello shortcode deve consentire i tag HTML. Usa questa opzione con cautela poiché consentire i tag HTML in alcune situazioni può rovinare la formattazione e potrebbe rappresentare un problema di sicurezza.
Esempio di aggiunta dell’attributo link dello shortcode: type="link"
<wpml-config>
<shortcodes>
<shortcode>
<tag>av_button</tag>
<attributes>
<attribute>label</attribute>
<attribute type="link" encoding="av_link">link</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>Se stai pensando di usare gli shortcode urlencoded, assicurati di leggere la pagina sulla traduzione degli shortcode urlencoded.
Esempio di aggiunta di etichette a tag e attributi
<wpml-config>
<shortcodes>
<shortcode>
<tag label="My shortcode label">my_shortcode</tag>
<attributes>
<attribute label="Shortcode title">title</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>L’aggiunta di etichette a tag e attributi ti permette di visualizzare etichette personalizzate nell’Editor di traduzione avanzato o nell’Editor di traduzione classico. Questo può aiutare il traduttore a comprendere meglio il contesto della stringa.
Raggruppa i campi per un’organizzazione migliore
Per migliorare la chiarezza e l’organizzazione della tua configurazione XML, puoi anteporre alle etichette dei campi il nome del gruppo. Considera questo esempio di un pulsante CTA:
<wpml-config>
<shortcodes>
<shortcode>
<tag label="Call To Action: Content">et_pb_cta</tag>
<attributes>
<attribute label="Call To Action: Title">title</attribute>
<attribute label="Call To Action: Button Text">button_text</attribute>
<attribute label="Call To Action: Button URL" type="link">button_url</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>
Qui, ogni attributo dello shortcode et_pb_cta porta un’etichetta Call To Action: . WPML non passa quelle etichette all’Editor di traduzione avanzato: il traduttore vede ogni attributo come un campo a sé stante, raggruppato sotto lo shortcode, e distingue i campi dal testo che ciascuno contiene. L’attributo label fa ancora parte del formato di configurazione e vale comunque la pena impostarlo:

Traduci i media
Puoi usare WPML Media Translation per usare immagini diverse per lingue diverse nei contenuti del page builder. Questo viene fatto convertendo gli ID e gli URL delle immagini. Devi “dire” al page builder che usa gli shortcode come fare questa conversione. Il seguente codice è un esempio di ciò che devi aggiungere al file wpml-config.xml in questo caso.
Esempio di aggiunta di uno shortcode del page builder al file wpml-config.xml per la traduzione delle immagini
<wpml-config>
<shortcodes>
<shortcode>
<!-- Convert media IDs in `gallery_ids` attribute, and ignore the shortcode content -->
<tag ignore-content="1">et_pb_gallery</tag>
<attributes>
<attribute type="media-ids">gallery_ids</attribute>
<attributes>
</shortcode>
<shortcode>
<!-- Convert the media URL in the content, translate some string attributes for `title` and `alt`, convert media URL in `src` attribute -->
<tag type="media-url">et_pb_image</tag>
<attributes>
<attribute>title_text</attribute>
<attribute>alt</attribute>
<attribute type="media-url">src</attribute>
</attributes>
</shortcode>
</shortcodes>
</wpml-config>Puoi usare i seguenti valori:
- ignore-content – Puoi usarlo all’interno di un elemento tag. Questo valore è opzionale e può essere 0 o 1. Puoi usare questo attributo per ottenere la retrocompatibilità per i nuovi shortcode dei media. Se il valore è impostato su 1 il contenuto dello shortcode non verrà elaborato.
- type – Puoi usarlo all’interno di un elemento tag. Puoi anche usare il contenuto dello shortcode che contiene l’URL dei media come valore opzionale all’interno di media-url.
- type – Puoi usarlo anche all’interno di un elemento attribute. In questo caso, può avere uno dei seguenti valori opzionali:
- media-ids – un elenco separato da virgole di ID dei media.
- media-url – l’URL dei media
- link – punta a un’altra pagina del sito e WPML lo convertirà automaticamente nell’URL della pagina tradotta
Traduci i media negli attributi dei blocchi
Puoi anche usare i tipi di attributo media-url e media-ids con i blocchi di Gutenberg per tradurre media come le immagini di sfondo. Funziona in modo simile agli shortcode, ma usa l’elemento <gutenberg-block> con elementi <key> nidificati per definire type="media-url" e type="media-ids".
L’uso di questo elemento permette al nostro componente aggiuntivo WPML Media Translation di tradurre le immagini di sfondo.
Questo funziona sia per i blocchi di Gutenberg che per Divi 5. Questa versione di Divi usa i blocchi per memorizzare i contenuti, quindi l’elemento <gutenberg-block> funziona per aggiungere la traduzione dei media.
Ecco un esempio di aggiunta della traduzione dei media per gli attributi dei blocchi di Gutenberg:
<wpml-config>
<gutenberg-blocks>
<gutenberg-block type="divi/section" translate="1">
<key name="module">
<key name="decoration">
<key name="background">
<key name="desktop">
<key name="value">
<key name="image">
<key name="url" type="media-url" />
</key>
</key>
</key>
</key>
</key>
</key>
</gutenberg-block>
</gutenberg-blocks>
</wpml-config>
Traduci i widget del page builder
WPML ti permette di registrare i widget del page builder all’interno del tuo file di configurazione delle lingue. Per informazioni dettagliate, consulta la nostra pagina di documentazione su come registrare i widget del page builder per la traduzione.
Converti automaticamente gli ID degli shortcode
A partire da WPML 4.5.9, puoi dichiarare gli ID degli articoli o dei termini della tassonomia che si trovano negli attributi degli shortcode. Questi ID possono poi essere convertiti automaticamente sul frontend del tuo sito.
A partire da WPML 4.8, questa stessa logica si estende agli ID degli oggetti memorizzati nei testi dell’area di amministrazione, così come agli ID nei campi personalizzati degli articoli e nei campi personalizzati dei termini della tassonomia.
Ad esempio, considera il seguente shortcode:
[foo_product_list product_ids="12,34,56"]
Puoi dichiarare che l’attributo product_ids contiene gli ID degli articoli con la seguente configurazione:
Dichiarazione che l’attributo product_ids contiene ID degli articoli
<shortcode>
<tag ignore-content="1">foo_product_list</tag>
<attributes>
<attribute type="post-ids" sub-type="product">product_ids</attribute>
</attributes>
</shortcode>Sul frontend, lo shortcode si converte automaticamente in:
[foo_product_list product_ids="13,35,57"]
Puoi usare i seguenti attributi di configurazione:
- type – post-ids o taxonomy-ids
- sub-type (opzionale) – un’entità specifica del type se è già nota. Ad esempio, product per il tipo di post personalizzato Prodotto proveniente da WooCommerce. Se non è definita, l’entità specifica verrà ipotizzata.
La conversione degli ID è versatile e cerca di adattarsi alla maggior parte dei formati possibili di ID (ID singolo, elenco di ID, array serializzato, array codificato in JSON).
Nomi degli attributi con un carattere jolly
Alcuni shortcode memorizzano gli ID in molti attributi con nomi simili, ad esempio include_category, include_portfolio_category e include_product_cat. Una riga <attribute> può coprirli tutti. Inserisci * nel nome dell’attributo:
Dichiarazione di tutti gli attributi include_ ed exclude_ come contenitori di ID di tassonomia
<shortcode>
<tag>fusion_post_cards</tag>
<attributes>
<attribute type="taxonomy-ids" exclude="include_product_skus">include_*</attribute>
<attribute type="taxonomy-ids" exclude="exclude_product_skus">exclude_*</attribute>
</attributes>
</shortcode>- * corrisponde a una o più lettere, cifre, _ o -.
- * funziona solo con type="post-ids" e type="taxonomy-ids".
- WPML fa corrispondere esattamente il resto del nome. WPML non accetta le espressioni regolari nei nomi degli attributi.
- exclude (opzionale) – un elenco separato da virgole di nomi completi di attributi. WPML non converte gli ID in questi attributi. Usalo per gli attributi che corrispondono al nome ma non contengono ID, come include_product_skus.
Risorse aggiuntive
Per saperne di più sul file wpml-config.xml , visita la guida sui File di configurazione delle lingue.
Per personalizzare altri elementi usando il file wpml-config.xml, visita le nostre guide aggiuntive:
- Registra i widget personalizzati del page builder per la traduzione
- Traduci gli shortcode personalizzati con WPML
- Imposta le opzioni di traduzione per i campi personalizzati usando il file di configurazione di WPML
- Registra termini, tipi e tassonomie personalizzati come traducibili
- Rendi traducibili i blocchi personalizzati di Gutenberg
- Traduci i testi che i temi e i plugin salvano in wp_options
- Personalizza il selettore di lingua di WPML usando il file di configurazione di WPML