WPML

WPML almacena los datos de idiomas, traducciones y cadenas en tablas de base de datos personalizadas. Descubra 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 la base de datos de WPML

Tabla de idiomas y traducciones

La tabla que contiene la información del idioma y de la traducción 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 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 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 de trid, son traducciones entre sí. El valor en sí no es importante.
La tabla icl_translations de WPML y tablas asociadas

WPML también puede optimizar las tablas de traducción en un sitio cuyas tablas han crecido.

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 los países siguen siendo una señal visual útil y ayudan a los visitantes a identificar su idioma fácilmente.

Las banderas de los 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, vaya a WPML → Configuración → Idiomas → Administrar y ocultar los idiomas del sitio, haga clic en Editar en la fila del idioma y abra su lista de banderas. Su última entrada, Subir un SVG personalizado, le permite subir su propio archivo.

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

En esta misma pantalla es donde puede 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 ser traducidas – por ejemplo, el lema 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 a utilizar 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 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 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 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 porAmir