WPML

Introduzione

Perché questo plugin

Esportazione e importazione di WPML funziona insieme al plugin di importazione per WordPress che già utilizzi. Il plugin di importazione sposta i tuoi dati, mentre Esportazione e importazione di WPML aggiunge le informazioni sulla lingua alla fine, in modo che ogni riga finisca nella lingua corretta e ogni traduzione si colleghi alla sua origine.

Integrazioni

Esportazione e importazione di WPML funziona con questi strumenti di esportazione e importazione:

  • WP All Export Pro e WP All Import Pro: esportano da un sito WordPress includendo automaticamente le informazioni sulla lingua e importano articoli, prodotti e tassonomie da CSV o XML.
  • Lo strumento di esportazione/importazione integrato di WooCommerce (ProdottiEsporta e ProdottiImporta): sposta i prodotti tramite un singolo CSV, includendo le informazioni sulla lingua nell’esportazione.
  • Lo strumento di esportazione/importazione integrato di WordPress: sposta articoli, pagine e tipi di post personalizzati tramite file WXR.
  • Il plugin WP Import Export.
  • Pipeline CSV o XML personalizzate: qualsiasi strumento in grado di aggiungere le colonne della lingua alle proprie righe.

Legacy: il plugin WPML All Import

WPML All Import è il plugin legacy che precede Esportazione e importazione di WPML. Non è più supportato né consigliato. La procedura illustrata in questa pagina è il metodo aggiornato per importare contenuti multilingue in un sito WordPress: utilizzala al posto di qualsiasi flusso di lavoro descritto nella documentazione del vecchio plugin.

Esportazione: ottieni il tuo file di importazione

Tutto ciò che importi inizia come file. Ci sono due modi per ottenerne uno:

  • Esportalo da un sito WordPress. Usa uno strumento di esportazione supportato e le informazioni sulla lingua verranno incluse automaticamente.
  • Preparalo tu stesso. I tuoi dati si trovano in un foglio di calcolo o in un sistema esterno (PIM, MLS, ERP, piattaforma di prenotazione) e aggiungi manualmente le colonne della lingua al file (vedi Prepara il tuo file nella sezione Importazione).

Configurazione

Quando esporti da un sito WordPress, installa e attiva su di esso:

Quando prepari il file tu stesso, non c’è nulla da installare: il lavoro è nel file stesso.

Esegui l’esportazione

Esporta i tuoi contenuti di WordPress con lo strumento di esportazione che preferisci. Con Esportazione e importazione di WPML attivo, il file di esportazione contiene già le colonne della lingua per ogni riga: non c’è nulla da aggiungere a mano. Continua con la sezione Importazione.

Importazione: porta i dati all’interno

Configurazione

Installa e attiva questi plugin sul sito in cui stai importando:

  • Un plugin di importazione: WP All Import Pro, lo strumento di importazione integrato di WooCommerce, lo strumento di importazione integrato di WordPress o WP Import Export.
  • WPML e WPML Traduzione stringhe.
  • Esportazione e importazione di WPML (il componente aggiuntivo trattato in questa pagina).
  • WPML Multilingual & Multicurrency for WooCommerce se stai importando prodotti WooCommerce.

Configura WPML con ogni lingua che intendi importare. Le lingue di destinazione devono già esistere in WPMLImpostazioniLingue prima di eseguire l’importazione.

La procedura guidata per la prima importazione

La prima volta che apri WPMLEsportazione e importazione, una breve procedura guidata ti chiederà se stai esportando i contenuti da questo sito o da un sito web o sistema diverso.

La prima domanda della procedura guidata: da dove provengono i tuoi contenuti.
La prima domanda della procedura guidata: da dove provengono i tuoi contenuti.

Quando esporti da questo sito, la procedura guidata ti chiede anche quale strumento stai utilizzando: gli strumenti di esportazione/importazione integrati di WordPress o WooCommerce, WP All Export e WP All Import, WP Import Export o un metodo diverso.

La seconda domanda: quale strumento usi per esportare da questo sito.
La seconda domanda: quale strumento usi per esportare da questo sito.

In base alle tue risposte, la pagina mostra una guida in tre passaggi personalizzata per la tua configurazione: come i tuoi contenuti ottengono le colonne della lingua (automaticamente per gli strumenti supportati, manualmente altrimenti), l’importazione stessa e il promemoria di tornare per eseguire WPML Import. Una volta rilevati i contenuti importati con le informazioni sulla lingua, la pagina segnala quanti articoli e termini sono in attesa e mostra il pulsante Run WPML Import.

La guida in tre passaggi per i contenuti provenienti da un sito web o sistema diverso, con un esempio delle colonne della lingua.
La guida in tre passaggi per i contenuti provenienti da un sito web o sistema diverso, con un esempio delle colonne della lingua.

Non c’è nient’altro da configurare: questa pagina è l’intera interfaccia del plugin.

Prepara il tuo file: fogli di calcolo e sistemi esterni

Aggiungi tre colonne a ogni riga del tuo file. In questo modo WPML accoppia le traduzioni e tagga ogni riga con la lingua corretta:

  • _wpml_import_translation_group. Un valore univoco condiviso da tutte le versioni linguistiche di un singolo contenuto. Per i prodotti, usa la SKU. Per tutto il resto, genera il tuo ID e riutilizzalo per la riga di origine e per ogni sua traduzione.
  • _wpml_import_language_code. Il codice lingua ISO per la riga (en per l’inglese, es per lo spagnolo, fr per il francese, pt-pt per il portoghese europeo e così via).
  • _wpml_import_source_language_code. Solo sulle righe di traduzione; il codice lingua dell’originale. Lascialo vuoto per le righe nella lingua di origine.

Usa ogni valore del gruppo di traduzione per un solo contenuto. WPML mantiene il gruppo di ogni elemento che collega, anche dopo l’importazione. Una riga che importi in seguito con lo stesso valore di gruppo si unisce alle traduzioni di quell’elemento.

Altre due colonne sono opzionali sulle righe di articoli e prodotti:

  • _wpml_import_after_process_post_status. Lo stato che l’articolo assume dopo Run WPML Import. Usa un nome di stato di WordPress: publish, draft, pending o private. Scrivi publish, non published.
  • _wpml_import_tea. Impostala su 1 su una riga di origine per inviare quell’elemento alla traduzione automatica. Questa colonna agisce solo quando la modalità Traduci tutto automaticamente di WPML è attiva (vedi Traduci automaticamente i contenuti importati).

Lascia che un assistente IA prepari il file

Non devi aggiungere queste colonne a mano. Fornisci il tuo CSV o file di esportazione a un assistente IA insieme a un’istruzione come: “Aggiungi a questo file le colonne di importazione di WPML _wpml_import_translation_group, _wpml_import_language_code e _wpml_import_source_language_code. Le righe in inglese sono gli originali; accoppia ogni traduzione con il suo originale in base alla SKU”. L’assistente compila le tre colonne in pochi secondi. Rivedi alcune righe prima dell’importazione.

Ecco un esempio pratico per gli articoli del blog. Il file ha una colonna language e una colonna original con il titolo dell’articolo in inglese che una riga traduce:

title,content,language,original
Summer Sale,Our summer sale starts on June 1.,English,
Soldes d'été,Nos soldes commencent le 1er juin.,French,Summer Sale

L’istruzione per questo file:

Aggiungi le colonne _wpml_import_translation_group, _wpml_import_language_code e _wpml_import_source_language_code a questo CSV. Le righe in inglese sono gli originali. Per ogni riga in inglese, crea un breve ID dal suo titolo e usalo come gruppo di traduzione. Assegna a ogni traduzione il gruppo della riga in inglese nominata nella sua colonna originale. Usa i codici lingua en e fr. Lascia vuota la lingua di origine sulle righe in inglese e impostala su en sulle traduzioni.

Il risultato, con i contenuti abbreviati:

title,content,language,original,_wpml_import_translation_group,_wpml_import_language_code,_wpml_import_source_language_code
Summer Sale,...,English,,summer-sale,en,
Soldes d'été,...,French,Summer Sale,summer-sale,fr,en

Per WP All Import Pro e strumenti simili, prepara due fogli di calcolo: uno per le tassonomie (categorie, tag, categorie di prodotti), uno per articoli e prodotti. Lo strumento di importazione integrato di WooCommerce accetta un singolo foglio di calcolo perché le categorie di prodotti si trovano all’interno delle righe dei prodotti.

Attributi WooCommerce personalizzati per i prodotti variabili

Se hai prodotti variabili con attributi personalizzati, aggiungi una colonna aggiuntiva alle righe dei prodotti tradotti: _wpml_import_wc_local_attribute_labels. Il valore è un oggetto JSON di coppie slug:translation. Per un prodotto variabile in francese con gli attributi Size e Color:

{"size":"Taille","color":"Couleur"}

Lo slug è il nome dell’attributo in minuscolo con gli spazi sostituiti da trattini.

Importa prima le tassonomie, poi gli articoli

Quando hai un file separato per le tassonomie, importalo sempre per primo. Categorie, tag e qualsiasi altra tassonomia devono esistere prima che articoli e prodotti possano farvi riferimento. Quindi importa articoli, pagine, prodotti e altri tipi di post.

Se dividi i tuoi dati in un file per lingua, importa ogni file di lingua prima di eseguire il passaggio di collegamento di WPML.

Esegui WPML Import solo una volta, dopo aver inserito tutto. Il passaggio di collegamento elabora le tassonomie prima degli articoli e poi ricollega ogni articolo ai termini nella sua lingua, in modo che gli articoli importati mentre i termini non erano ancora collegati risultino associati ai termini nella lingua corretta.

Mappa le colonne della lingua nel tuo plugin di importazione

Ogni plugin di importazione gestisce le colonne personalizzate a modo suo. Il passaggio critico è la mappatura delle tre colonne di WPML ai campi personalizzati (o ai meta termini, per le tassonomie). In WP All Import Pro, questo avviene nel Passaggio 3 della procedura guidata di importazione:

  • Per articoli e prodotti. Apri Custom Fields, aggiungi tre campi, trascina le colonne della lingua nelle caselle Value e usa i nomi delle colonne senza parentesi nelle caselle Name.
  • Per le tassonomie. Apri Term Meta, aggiungi tre campi per i meta termini e mappa le colonne della lingua allo stesso modo.
Le tre colonne della lingua di WPML mappate come campi personalizzati nel Passaggio 3 della procedura guidata di WP All Import.
Le tre colonne della lingua di WPML mappate come campi personalizzati nel Passaggio 3 della procedura guidata di WP All Import.

Se le colonne non sono mappate, WPML non ha nulla da leggere quando esegui il passaggio di collegamento.

Cosa vedrai tra l’importazione e il passaggio di collegamento

Finché non esegui Esportazione e importazione di WPML, i contenuti importati si trovano tutti nella lingua predefinita e WPML mantiene automaticamente articoli e prodotti nello stato Bozza per evitare che contenuti in lingue miste appaiano sul front-end. Questo è lo stato intermedio previsto, non un segno di un’importazione non riuscita. Dopo il passaggio di collegamento, il contenuto viene pubblicato o impostato sullo stato inserito nella colonna _wpml_import_after_process_post_status.

Dopo l’importazione e prima di Run WPML Import: gli articoli in inglese e francese sono tutti bozze sotto l’inglese.
Dopo l’importazione e prima di Run WPML Import: gli articoli in inglese e francese sono tutti bozze sotto l’inglese.

Per i plugin di importazione non supportati, dovrai pubblicare gli articoli manualmente al termine del passaggio di collegamento.

Esegui WPML Import

Una volta che il plugin di importazione ha terminato:

  1. Apri WPMLEsportazione e importazione nell’area di amministrazione di WordPress.
  2. Fai clic su Run WPML Import.
Esportazione e importazione di WPML trova i contenuti importati e mostra il pulsante Run WPML Import.
Esportazione e importazione di WPML trova i contenuti importati e mostra il pulsante Run WPML Import.
Run WPML Import mostra ogni passaggio e il numero di elementi elaborati. Al termine appare Multilingual Import Complete.
Run WPML Import mostra ogni passaggio e il numero di elementi elaborati. Al termine appare Multilingual Import Complete.

WPML legge le colonne della lingua di ogni riga, assegna la lingua a quella riga e collega le traduzioni alla loro origine. Su cataloghi di grandi dimensioni questo può richiedere diversi minuti. Al termine, i contenuti importati vengono pubblicati nella lingua corretta con ogni traduzione collegata alla sua origine.

Fai un controllo a campione sul back-end e sul front-end:

  • Apri l’elenco dei tipi di post o dei prodotti: conferma che ogni riga venga visualizzata sotto la bandiera della lingua corretta.
  • Visita il front-end e cambia lingua: ogni pagina tradotta dovrebbe caricare la sua versione tradotta, non ripiegare sull’origine.
Dopo Run WPML Import: tre articoli in inglese e tre in francese, pubblicati e collegati come traduzioni.
Dopo Run WPML Import: tre articoli in inglese e tre in francese, pubblicati e collegati come traduzioni.

Se una traduzione della tassonomia non si è collegata, apri il termine nell’area di amministrazione di WordPress e usa il riquadro Lingue del termine per collegarlo al termine nella lingua predefinita.

Cosa non copre WPML Import

WPML Import imposta la lingua di ogni elemento e collega le sue traduzioni. Non modifica altri contenuti. Controlla questi elementi dopo l’importazione:

  • Pagine genitore, menu e articoli in evidenza. WPML non adegua il genitore di una pagina tradotta, non aggiunge elementi importati ai menu e non copia l’impostazione "in evidenza" tra le lingue.
  • Link e ID delle immagini all’interno dei contenuti. WPML non modifica i link, gli ID delle immagini o i campi delle immagini all’interno dei contenuti importati. Modificali nella traduzione.
  • Campi copiati. WPML Import collega le traduzioni, ma non copia campi come il prezzo o le scorte dall’originale alle traduzioni. Per copiarli dopo un’importazione di aggiornamento, apri l’originale e salvalo di nuovo.
  • WooCommerce Bookings. I prodotti prenotabili vengono importati senza i relativi tipi di persona (bambino, adulto, ecc.) e risorse. Aggiungi i tipi di persona e le risorse ai prodotti tradotti dopo l’importazione.

Automazione: esegui WPML Import senza fare clic

Per sincronizzazioni notturne, feed di fornitori, pipeline di distribuzione o qualsiasi importazione pianificata, il passaggio di collegamento di WPML può essere eseguito senza l’interfaccia utente di amministrazione. Ci sono tre modi per farlo:

Endpoint POST (per importazioni basate su cron come le azioni pianificate di WP All Import)

Questo è il modo consigliato. Aggiungi una chiave segreta complessa a wp-config.php:

define( 'WPML_IMPORT_KEY', 'your-strong-secret-key-here' );

Quindi aggiungi un secondo comando alla configurazione dell’importazione pianificata. Invia una richiesta POST al tuo sito e passa la chiave nel corpo della richiesta:

curl -X POST https://yoursite.com/ \
  -d 'wpml_import_trigger=your-strong-secret-key-here'

La stessa chiamata con wget:

wget -q -O - \
  --post-data='wpml_import_trigger=your-strong-secret-key-here' \
  https://yoursite.com/

Per la pianificazione manuale di WP All Import Pro, aggiungi uno dei due comandi subito dopo il comando di importazione.

Quando viene eseguito il passaggio di collegamento, il tuo sito risponde con lo stato 200 e questo messaggio:

Import process completed

Altre due risposte ti dicono cosa è successo: 401 significa che la chiave non corrisponde e 204 significa che non c’era più nulla da elaborare.

Il vecchio endpoint URL: rimosso nella versione 5.0.0

Prima di Esportazione e importazione di WPML 1.2.0, passavi la chiave nell’URL:

https://yoursite.com/?wpml_import_trigger=your-strong-secret-key-here

A partire da Esportazione e importazione di WPML 5.0.0, questo URL non esegue più l’importazione. Una richiesta che contiene la chiave nell’URL ottiene lo stato 405. Sposta le tue importazioni pianificate alla chiamata POST indicata sopra.

Il motivo è la chiave. Un URL viaggia attraverso i log del server, la cronologia del browser e le analisi, e la tua chiave viaggia con esso. Una richiesta POST mantiene la chiave nel corpo della richiesta.

Hook di azione (per importazioni pianificate in PHP)

Se stai pianificando le importazioni da PHP con Action Scheduler o wp_schedule_single_event, attiva il passaggio di WPML con una chiamata di azione:

do_action( 'wpml_import_process' );

Per eseguirlo come attività in background una tantum subito dopo l’azione di importazione:

wp_schedule_single_event( time(), 'wpml_import_process' );

Se un’importazione non finisce, vedi Debug di WPML.

WP-CLI

Per script di distribuzione, build di container o qualsiasi pipeline in cui l’interfaccia utente di amministrazione non è disponibile, esegui il passaggio di collegamento da WP-CLI:

wp wpml import process

Il comando segnala quante traduzioni sono state collegate. È un sostituto diretto del pulsante Run WPML Import.

Traduci automaticamente i contenuti importati

Puoi fare in modo che WPML traduca automaticamente i contenuti importati. Senza questa funzione, importeresti i contenuti in una lingua e poi, con Traduci tutto automaticamente abilitato, selezioneresti tutti gli elementi importati per inviarli tu stesso alla traduzione, il che richiede molto tempo per lotti numerosi e importazioni ripetute. Aggiungi invece un’altra colonna al tuo file:

  • _wpml_import_tea. Imposta su 1 sulle righe nella lingua di origine che desideri tradurre automaticamente.

Quando esegui WPML Import, WPML crea lavori di traduzione automatica per ogni articolo contrassegnato, in ciascuna delle lingue del tuo sito che non ha già una traduzione. Le righe per cui hai importato traduzioni vengono ignorate.

Ciò richiede che la modalità Traduci tutto automaticamente di WPML sia abilitata: senza di essa, il contrassegno viene ignorato.

Insidie comuni

  • Nel file di importazione mancano le tre colonne della lingua. I contenuti vengono importati ma finiscono come righe non taggate nella lingua di origine; Run WPML Import non ha nulla da collegare. Soluzione: aggiungi le colonne ai tuoi dati di origine, esporta di nuovo e reimporta.
  • La mappatura di Custom Fields / Term Meta di WP All Import è stata saltata. Stesso risultato delle colonne mancanti. I dati sono nel file ma il plugin di importazione non li ha salvati sull’articolo. Esegui nuovamente l’importazione con i campi mappati.
  • Le lingue di destinazione non sono configurate sul sito di importazione. Le righe importate per una lingua non configurata finiscono nella lingua predefinita. Aggiungi prima le lingue mancanti in WPMLImpostazioniLingue, quindi esegui di nuovo.
  • Plugin di importazione non supportato. Gli articoli importati rimangono in Bozza dopo il passaggio di collegamento. Pubblicali manualmente o passa a un plugin supportato.
  • Script di importazione personalizzati che non trasmettono i dati della lingua. La soluzione è a livello di script. Le tre colonne della lingua (e la colonna degli attributi di WooCommerce, se applicabile) devono raggiungere la riga.
  • I contenuti aggiunti dal tuo codice non vengono mantenuti in Bozza. WPML mantiene i contenuti in Bozza solo per i plugin di importazione supportati. I contenuti che il tuo codice aggiunge con wp_insert_post, o un’importazione di WooCommerce eseguita da PHP o WP-CLI, mantengono lo stato che il codice gli assegna. Crea tu stesso i nuovi contenuti come bozze e imposta _wpml_import_after_process_post_status su publish.
  • wp export elimina le colonne della lingua dei termini. WP-CLI 2.12.0 include export-command 2.1.14, che non scrive i meta termini. Dopo wp import, ogni categoria e tag perde le sue colonne della lingua. Aggiorna export-command alla versione 2.1.15 o successiva, oppure esporta da StrumentiEsporta nell’area di amministrazione di WordPress.

Se le importazioni continuano a bloccarsi sullo stesso problema, il team di supporto di WPML risponde alle domande sull’importazione 24 ore su 24, 7 giorni su 7.

Casi d’uso

Sposta contenuti multilingue su un nuovo sito

Lo scenario più comune: esporta i contenuti da un sito WPML e portali (in tutto o in parte) in un altro.

  1. Sul sito di origine, installa Esportazione e importazione di WPML accanto al tuo strumento di esportazione ed esporta i contenuti che desideri spostare (vedi Esportazione). Le colonne della lingua verranno incluse automaticamente.
  2. Sul nuovo sito, completa la configurazione dell’importazione: plugin installati e ogni lingua del sito di origine configurata.
  3. Importa le tassonomie, poi i contenuti, con il tuo strumento di importazione.
  4. Esegui WPML Import. I tuoi contenuti usciranno nelle lingue corrette con ogni traduzione collegata, proprio come sul sito di origine.

Resetta WPML e reimporta le traduzioni nello stesso sito

Pensa all’esportazione come a una copia di sicurezza del collegamento linguistico del tuo sito: la lingua di ogni riga e quali righe appartengono allo stesso gruppo di traduzione. Puoi mantenere aggiornata questa copia automaticamente (ad esempio, un’esportazione notturna pianificata nel tuo strumento di esportazione, salvata nel proprio file). Se i dati della lingua di WPML dovessero corrompersi, puoi resettare WPML e reimportare l’esportazione più recente effettuata quando i dati erano ancora intatti, seguendo i passaggi seguenti. Una cosa che questo non può fare: riparare un’esportazione effettuata dopo il problema (il file conserva lo stato in cui si trovavano i dati al momento dell’esportazione).

  1. Esporta mentre i dati della lingua sono intatti o usa la tua ultima esportazione pianificata. Esporta ogni tipo di contenuto che ti interessa con le sue traduzioni (vedi Esportazione). Le tre colonne della lingua catturano ciò che dovrai ripristinare: la lingua di ogni riga e quali righe appartengono allo stesso gruppo come traduzioni l’una dell’altra.
  2. Resetta WPML. Segui Resetta WPML. Il reset rimuove tutti i dati di WPML (le lingue, la lingua di ogni elemento, i collegamenti tra le traduzioni, le traduzioni delle stringhe e i lavori di traduzione) e disattiva WPML. I tuoi articoli, pagine, prodotti e tassonomie rimangono. Attiva di nuovo WPML.
  3. Configura di nuovo le lingue: la stessa lingua predefinita e le stesse lingue secondarie che il sito aveva prima del reset.
  4. Reimporta lo stesso file, aggiornando i contenuti esistenti. Questo è il passaggio che differisce da una migrazione verso un nuovo sito: gli articoli esistono già, quindi l’importazione deve aggiornarli invece di crearne di nuovi. Usa WP All Import con la corrispondenza dei record (corrispondenza sull’ID) o l’opzione aggiorna i prodotti esistenti dello strumento di importazione di WooCommerce. Lo strumento di importazione standard di WordPress non può farlo: crea solo nuovi contenuti, quindi duplicherebbe ogni riga.
  5. Esegui WPML Import. Le assegnazioni della lingua e i gruppi di traduzione dal file vengono ricollegati ai contenuti esistenti.

Vengono ripristinati solo la lingua di ogni elemento e i collegamenti tra le traduzioni. Le traduzioni delle stringhe, i lavori di traduzione e le impostazioni di WPML non sono nel file di esportazione. Configurali di nuovo dopo l’importazione.

Aggiungi una lingua in seguito

Hai importato il tuo catalogo in inglese e spagnolo, e ora aggiungi il francese. Prepara un file solo con le righe in francese. Assegna a ogni riga il gruppo di traduzione del suo originale, il codice lingua fr e la lingua di origine en. Importa il file e fai clic su Run WPML Import. WPML mantiene il gruppo di ogni elemento che ha collegato, quindi ogni riga in francese si unisce alle traduzioni del suo originale.

Sincronizza il feed di un fornitore ogni notte

Il tuo fornitore invia un feed di prodotti ogni notte. I prodotti originali sono in inglese e il feed ha le tre colonne della lingua. Pianifica l’importazione in WP All Import Pro e aggiungi la chiamata POST subito dopo. Imposta _wpml_import_tea su 1 sulle righe dei nuovi prodotti. Ogni notte, i nuovi prodotti ottengono le loro lingue e WPML li invia alla traduzione automatica nelle altre lingue.

Scritto daAmir

Scritto daAmir