WPML

O WPML armazena dados de idioma, tradução e strings em tabelas de banco de dados personalizadas. Aprenda como elas se conectam às tabelas e ao conteúdo do WordPress.

Modelo de banco de dados do WPML

O diagrama a seguir mostra o modelo das tabelas que o WPML usa:

Diagrama das tabelas de banco de dados do WPML

Tabela de idioma e tradução

A tabela que contém as informações de idioma e tradução é chamada icl_translations.

  • Cada elemento de conteúdo do site configurado como traduzível (post, página, tag, categoria, tipo de post personalizado e taxonomias personalizadas) tem uma entrada nesta tabela. Nota: Os comentários não são traduzíveis, mas têm um registro em icl_translations porque têm informações de idioma atribuídas a eles.
  • A entrada especifica o idioma do item e o grupo de tradução (tipo de elemento) ao qual ele pertence.
  • As entradas do mesmo cluster de tradução compartilham o mesmo valor nas colunas element_type e trid.
  • A entrada sem idioma de origem (NULL) no mesmo cluster é a entrada original.

Ela tem as seguintes colunas:

  • translation_id – número de série
  • element_type – o tipo do elemento. Este valor é explicado e recuperado no hook wpml_element_type.
  • element_id – o ID do item (post_id para tipos de post, term_taxonomy_id para termos de taxonomia)
  • trid – o ID do grupo de tradução
  • language_code – código de idioma do item
  • source_language_code – se traduzido, o idioma do item original

Por exemplo, se tivermos um post em inglês com ID=3, que é traduzido para o espanhol, e a tradução em espanhol tiver ID=7, a tabela icl_translations ficará assim:

translation_idelement_typeelement_idtridlanguage_codesource_language_code
1post_post32enNULL
2post_post72esen
* Como as duas entradas têm o mesmo valor trid para trid, elas são traduções uma da outra. O valor em si não é importante.
icl_translations do WPML e tabelas associadas

Em sites mais antigos (criados antes do WPML 4.8), você pode executar um processo único para otimizar as tabelas de tradução.

Tabela de bandeiras de países

O WPML vem com uma grande coleção de bandeiras de países. Esteja ciente de que associar idiomas a países pode ser problemático. Muitos idiomas são falados (às vezes de forma diferente) em países diferentes. No entanto, as bandeiras de países ainda são uma pista visual útil e ajudam os visitantes a identificar seu idioma facilmente.

As bandeiras de países do WPML são armazenadas no diretório res/flags e a tabela icl_flags indica qual bandeira retornar para cada país. As colunas da tabela icl_flags são:

  • id – número de série
  • lang_code – o código do idioma
  • flag – o nome do arquivo da bandeira
  • from_template – “0”: pega a bandeira da pasta res/flags do WPML, “1”: pega a bandeira do diretório do tema

Se você quiser usar uma bandeira diferente, você pode fazer o upload de um arquivo de bandeira personalizada indo para WPMLIdiomas e clicando em Editar idiomas.

Adicionar uma bandeira personalizada
Adicionar uma bandeira personalizada

Você pode usar esta mesma página Editar idiomas para adicionar um idioma personalizado.

Tabela de Tradução de Strings

A maioria dos sites WordPress inclui algumas strings que não pertencem a nenhum item (post, página, tag, categoria), mas ainda precisam ser traduzidas – por exemplo, o slogan do blog.

O WPML inclui um mecanismo chamado Tradução de Strings, para lidar com essas strings.

As strings são mantidas na tabela icl_strings com as seguintes colunas:

  • id – número de série
  • language – idioma
  • context – o contexto da string (indica a que a string pertence)
  • name – nome da string
  • value – o valor da string (seu conteúdo)
  • string_package_id - ID do pacote ao qual a string pertence
  • type – tipo de editor a ser usado ao editar a string através do editor de tradução ( LINE, AREA ou VISUAL )
  • title – o título da string para exibir no editor de tradução
  • status – status de tradução indicando se a string está totalmente traduzida para todos os idiomas
  • gettext_context – o contexto definido na função gettext, ex.: _x
  • domain_name_context_md5 – chave exclusiva para melhorar o desempenho de pesquisa

As traduções de uma string são mantidas na tabela icl_string_translations:

  • id – número de série
  • string_id – o ID (número de série) da string que está sendo traduzida
  • language – o idioma da tradução
  • status – o status da tradução (completo / incompleto)
  • value – a tradução em si
  • translator_id – id do tradutor
  • translation_service – serviço de tradução usado para traduzir a string. Pode ser vazio, local ou um serviço remoto
  • batch_id – ID do lote quando uma string é traduzida por um serviço de tradução
  • translation_date – data da tradução
Tabelas icl_strings e icl_string_translations do WPML

Todas as tabelas do WPML

Aqui está uma lista completa de todas as tabelas que o WPML usa:

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

Mais nesta seção

Escrito por Amir · Última atualização em 28 de agosto de 2025