WPML

WPML almacena los datos de los idiomas, las traducciones y las cadenas en tablas de base de datos personalizadas. Aprenda cómo se conectan con las tablas y el contenido de WordPress.

Modelo de base de datos de WPML

El siguiente diagrama muestra el modelo de las tablas que utiliza WPML:

Diagrama de las tablas de base de datos de WPML

Tabla de idiomas y traducciones

La tabla que contiene la información de los idiomas y las traducciones se llama icl_translations.

  • Cada elemento de contenido del sitio configurado como traducible (entrada, página, etiqueta, categoría, tipo de contenido personalizado y taxonomías personalizadas) tiene una entrada en esta tabla. Nota: Los comentarios no son traducibles, pero tienen un registro en icl_translations porque tienen información de idioma asignada.
  • La entrada especifica el idioma del elemento y el grupo de traducción (tipo de elemento) al que pertenece.
  • Las entradas del mismo grupo de traducción comparten el mismo valor en las columnas element_type y trid.
  • La entrada sin idioma de origen (NULL) en el mismo grupo es la entrada original.

Tiene las siguientes columnas:

  • translation_id – número de serie
  • element_type – el tipo de elemento. Este valor se explica y se recupera en el hook wpml_element_type.
  • element_id – el ID del elemento (post_id para los tipos de contenido, term_taxonomy_id para los términos de la taxonomía)
  • trid – el ID del grupo de traducción
  • language_code – código de idioma del elemento
  • source_language_code – si está traducido, el idioma del elemento original

Por ejemplo, si tenemos una entrada en inglés con ID=3, que se traduce al español y la traducción al español tiene el ID=7, la tabla icl_translations se verá así:

translation_idelement_typeelement_idtridlanguage_codesource_language_code
1post_post32enNULL
2post_post72esen
* Debido a que las dos entradas tienen el mismo valor trid para trid, son traducciones la una de la otra. El valor en sí no es importante.
icl_translations y tablas asociadas de WPML

En sitios antiguos (creados antes de WPML 4.8), puede ejecutar un proceso único para optimizar las tablas de traducción.

Tabla de banderas de países

WPML incluye una gran colección de banderas de países. Tenga en cuenta que asociar idiomas con países puede ser problemático. Muchos idiomas se hablan (a veces de forma diferente) en distintos países. Sin embargo, las banderas de países siguen siendo una ayuda visual útil y ayudan a los visitantes a encontrar su idioma fácilmente.

Las banderas de países de WPML se almacenan en el directorio res/flags y la tabla icl_flags indica qué bandera devolver para cada país. Las columnas de la tabla icl_flags son:

  • id – número de serie
  • lang_code – el código de idioma
  • flag – el nombre del archivo de la bandera
  • from_template – “0”: tomar la bandera de la carpeta res/flags de WPML, “1”: tomar la bandera del directorio del tema

Si quiere usar una bandera diferente, puede subir un archivo de bandera personalizada yendo a WPMLIdiomas y haciendo clic en Editar idiomas.

Añadir una bandera personalizada
Añadir una bandera personalizada

Puede usar esta misma página de Editar idiomas para añadir un idioma personalizado.

Tabla de Traducción de cadenas

La mayoría de los sitios de WordPress incluyen algunas cadenas que no pertenecen a ningún elemento (entrada, página, etiqueta, categoría) pero que aun así necesitan traducirse; por ejemplo, la descripción corta del blog.

WPML incluye un mecanismo llamado Traducción de cadenas para gestionar estas cadenas.

Las cadenas se guardan en la tabla icl_strings con las siguientes columnas:

  • id – número de serie
  • language – idioma
  • context – el contexto de la cadena (indica a qué pertenece la cadena)
  • name – nombre de la cadena
  • value – el valor de la cadena (su contenido)
  • string_package_id - ID del paquete al que pertenece la cadena
  • type – tipo de editor que se usará al editar la cadena a través del editor de traducción ( LINE, AREA o VISUAL )
  • title – el título de la cadena que se mostrará en el editor de traducción
  • status – estado de la traducción que indica si la cadena está completamente traducida a todos los idiomas
  • gettext_context – el contexto establecido en la función gettext, p. ej., _x
  • domain_name_context_md5 – clave única para mejorar el rendimiento de la búsqueda

Las traducciones de una cadena se guardan en la tabla icl_string_translations:

  • id – número de serie
  • string_id – el ID (número de serie) de la cadena que se está traduciendo
  • language – el idioma de la traducción
  • status – el estado de la traducción (completa / no completa)
  • value – la traducción en sí
  • translator_id – id del traductor
  • translation_service – servicio de traducción utilizado para traducir la cadena. Puede estar vacío, ser local o un servicio remoto
  • batch_id – ID del lote cuando una cadena es traducida por un servicio de traducción
  • translation_date – fecha de la traducción
Tablas icl_strings e icl_string_translations de WPML

Todas las tablas de WPML

A continuación se muestra una lista completa de todas las tablas que utiliza 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

Más en esta sección

Escrito por Amir · Última actualización 28 de agosto de 2025