WPML

WPML memorizza i dati relativi a lingua, traduzione e stringhe in tabelle del database personalizzate. Scopri come queste si collegano alle tabelle e ai contenuti di WordPress.

Modello di database di WPML

Il seguente diagramma mostra il modello delle tabelle utilizzate da WPML:

Diagramma delle tabelle del database di WPML

Tabella delle lingue e delle traduzioni

La tabella che contiene le informazioni sulla lingua e sulla traduzione si chiama icl_translations.

  • Ogni elemento di contenuto del sito configurato come traducibile (articolo, pagina, tag, categoria, tipo di post personalizzato e tassonomie personalizzate) ha una voce in questa tabella. Nota: i commenti non sono traducibili ma hanno un record in icl_translations perché hanno informazioni sulla lingua a loro assegnate.
  • La voce specifica la lingua dell'elemento e il gruppo di traduzione (tipo di elemento) a cui appartiene.
  • Le voci dello stesso cluster di traduzione condividono lo stesso valore nelle colonne element_type e trid.
  • La voce senza lingua di origine (NULL) nello stesso cluster è la voce originale.

Ha le seguenti colonne:

  • translation_id – numero di serie
  • element_type – il tipo dell'elemento. Questo valore viene spiegato e recuperato nell'hook wpml_element_type.
  • element_id – l'ID dell'elemento (post_id per i tipi di post, term_taxonomy_id per i termini della tassonomia)
  • trid – l'ID del gruppo di traduzione
  • language_code – codice della lingua dell'elemento
  • source_language_code – se tradotto, la lingua dell'elemento originale

Ad esempio, se abbiamo un articolo in inglese con ID=3, che viene tradotto in spagnolo e la traduzione spagnola ha ID=7, la tabella icl_translations si presenterà così:

translation_idelement_typeelement_idtridlanguage_codesource_language_code
1post_post32enNULL
2post_post72esen
* Poiché le due voci hanno lo stesso valore trid per trid, sono traduzioni l'una dell'altra. Il valore in sé non è importante.
icl_translations di WPML e tabelle associate

Sui siti più vecchi (creati prima di WPML 4.8), puoi eseguire un processo una tantum per ottimizzare le tabelle di traduzione.

Tabella delle bandiere dei paesi

WPML viene fornito con un'ampia collezione di bandiere dei paesi. Tieni presente che associare le lingue ai paesi può essere problematico. Molte lingue sono parlate (a volte in modo diverso) in paesi diversi. Tuttavia, le bandiere dei paesi sono ancora un utile indicatore visivo e aiutano i visitatori a individuare facilmente la loro lingua.

Le bandiere dei paesi di WPML sono memorizzate nella directory res/flags e la tabella icl_flags indica quale bandiera restituire per ogni paese. Le colonne della tabella icl_flags sono:

  • id – numero di serie
  • lang_code – il codice della lingua
  • flag – il nome del file della bandiera
  • from_template – “0”: prende la bandiera dalla cartella res/flags di WPML, “1”: prende la bandiera dalla directory del tema

Se vuoi usare una bandiera diversa, puoi caricare un file di bandiera personalizzata andando su WPMLLingue e facendo clic su Modifica lingue.

Aggiungere una bandiera personalizzata
Aggiungere una bandiera personalizzata

Puoi usare questa stessa pagina Modifica lingue per aggiungere una lingua personalizzata.

Tabella di traduzione delle stringhe

La maggior parte dei siti WordPress include alcune stringhe che non appartengono a nessun elemento (articolo, pagina, tag, categoria) ma che devono comunque essere tradotte, ad esempio il motto del blog.

WPML include un meccanismo chiamato Traduzione stringhe, per gestire queste stringhe.

Le stringhe sono conservate nella tabella icl_strings con le seguenti colonne:

  • id – numero di serie
  • language – lingua
  • context – il contesto della stringa (indica a cosa appartiene la stringa)
  • name – nome della stringa
  • value – il valore della stringa (il suo contenuto)
  • string_package_id - ID del pacchetto a cui appartiene la stringa
  • type – tipo di editor da usare quando si modifica la stringa tramite l'editor di traduzione ( LINE, AREA o VISUAL )
  • title – il titolo della stringa da visualizzare nell'editor di traduzione
  • status – stato della traduzione che indica se la stringa è completamente tradotta in tutte le lingue
  • gettext_context – il contesto impostato nella funzione gettext, ad es. _x
  • domain_name_context_md5 – chiave univoca per migliorare le prestazioni di ricerca

Le traduzioni di una stringa sono conservate nella tabella icl_string_translations:

  • id – numero di serie
  • string_id – l'ID (numero di serie) della stringa tradotta
  • language – la lingua della traduzione
  • status – lo stato della traduzione (completo / non completo)
  • value – la traduzione stessa
  • translator_id – id del traduttore
  • translation_service – servizio di traduzione utilizzato per tradurre la stringa. Può essere vuoto, locale o un servizio remoto
  • batch_id – ID del lotto quando una stringa viene tradotta da un servizio di traduzione
  • translation_date – data della traduzione
Tabelle icl_strings e icl_string_translations di WPML

Tutte le tabelle di WPML

Ecco un elenco completo di tutte le tabelle utilizzate da WPML:

wp_icl_background_task
wp_icl_content_status
wp_icl_core_status
wp_icl_flags
wp_icl_languages
wp_icl_languages_translations
wp_icl_locale_map
wp_icl_message_status
wp_icl_mo_files_domains
wp_icl_node
wp_icl_reminders
wp_icl_strings
wp_icl_string_batches
wp_icl_string_packages
wp_icl_string_positions
wp_icl_string_status
wp_icl_string_translations
wp_icl_translate
wp_icl_translate_job
wp_icl_translations
wp_icl_translation_batches
wp_icl_translation_downloads
wp_icl_translation_status

Altro in questa sezione

Scritto da Amir · Ultimo aggiornamento 28 agosto 2025