Changelog
ChangelogGato AI Translations for Polylang

Gato AI Translations for Polylang

Estos son todos los cambios para cada versión del plugin Gato AI Translations for Polylang.

18.0.0

Fecha de lanzamiento: 20/05/2026

Cambios incompatibles

  • La traducción de bloques adicionales de Gutenberg, widgets de Elementor y elementos de Bricks se realiza de manera diferente

Añadido

  • Compatibilidad con ChatGPT 5.4 mini (#2319)
  • Compatibilidad con Claude Opus 4.7 (#2320)
  • Uso de claves de API para ChatGPT y Claude desde los AI Connectors de WordPress 7.0, si no se han configurado en los Ajustes del plugin (#2324)
  • Compatibilidad con Gemini como proveedor de servicio de traducción, con fallback de clave de API desde los AI Connectors de WordPress 7.0 (#2325)
  • Traducción de bloques exclusivos de PHP (#2329)
  • Traducción de bloques de Advanced Custom Fields (ACF) (#2339)
  • Añadido un enlace rápido "Gato Translate" en las páginas de listado de CPT y medios (#2359)
  • Añadido un enlace rápido "Gato Translate" en las páginas de listado de etiquetas, categorías y usuarios (#2384)
  • Añadido un botón "Gato Translate" para traducir menús manualmente (#2385)
  • Traducción de la referencia de menú en el bloque Navigation de GenerateBlock (generateblocks-pro/classic-menu) (#2371)
  • Registro de WordPress AI Abilities (a través de la Abilities API) para traducir custom posts, términos de taxonomía, medios, menús y usuarios (#2386)
  • Compatibilidad con bloques de Kadence (#2389)
  • Compatibilidad con bloques de Greenshift (#2389)
  • Compatibilidad con todos los bloques que implementan el archivo de configuración WMPL (wpml-config.xml) (#2389)
  • Ajustes para "Translation Timeouts" (#2392)

Mejoras

  • Se ha establecido ChatGPT 5.4 mini como nuevo modelo por defecto (#2319)
  • Probado hasta WordPress 7.0 (#2323)
  • Se establece el Proveedor de Traducción por Defecto como el primer servicio de IA con clave de API proporcionada a través de los AI Connectors de WP 7.0 (#2326)
  • Traducción de atributos de bloques personalizados mediante hooks de PHP con regex (en lugar de GraphQL) (#2332)
  • Traducción de widgets personalizados de Elementor mediante configuración por hooks de PHP (en lugar de GraphQL) (#2337)
  • Traducción de elementos personalizados de Bricks mediante configuración por hooks de PHP (en lugar de GraphQL) (#2338)
  • Permite traducir custom posts sin autor (#4cf7c879)
  • Mejora del rendimiento del plugin: ejecuta las traducciones mucho más rápido (#2340)
  • Mejora del rendimiento del plugin: consume menos memoria (#2341)
  • Mejora del rendimiento del plugin: cachea las consultas compiladas (#2347)
  • Sustitución de deprecaciones en PHP 8.5 (#2350)
  • Traducción del widget icon-box de Elementor (#05415577)
  • Supresión de los avisos "Block type is not server-side registered" (#2358)
  • Añadida compatibilidad con el modelo GPT-5.5 (gpt-5.5) de OpenAI (#2360)
  • Añadida compatibilidad con los modelos DeepSeek v4 (deepseek-v4-pro) y DeepSeek v4 Flash (deepseek-v4-flash) (#2360)
  • Añadida compatibilidad con los modelos Claude Sonnet 4.6 (Claude claude-sonnet-4-6) y Haiku 4.5 (claude-haiku-4-5) (#2360)
  • Traducción de IDs de referencias de entidades en páginas de Elementor y Bricks (#2362)
  • Traducción de IDs de referencias de entidades en bloques de Gutenberg (#2366)
  • Evitado conflicto con el plugin BBQ Firewall (#2380)
  • Actualizada la lista de idiomas compatibles con DeepL (#2381)
  • Actualizada la lista de idiomas compatibles con Google Translate (#2382)
  • Se incluye el tipo de post y el título del custom post referenciado, la taxonomía y el nombre del término referenciado, o el nombre del menú referenciado, en el aviso emitido cuando no se encuentra una entrada traducida para una relación de campo personalizado (#2388)

Corregido

  • Manejo de respuesta nula de la API de licencias (por ejemplo: cuando el acceso está prohibido a nivel de red) (#2322)
  • Se evita eliminar archivos multimedia compartidos (original_image, versiones editadas y sus miniaturas) al eliminar una traducción mientras las traducciones hermanas siguen haciendo referencia a ellos (Error de Polylang: github.com/polylang/polylang/issues/1883) (#2364)
  • Eliminación del meta de traducción fallida para idiomas no predeterminados (#2387)
  • No añadir mensaje de aviso sobre ID de entidad faltante si ya había sido traducida, al hacer "Translate content" en "Partial Translations" (#2391)
  • Varias correcciones de errores (#2392)

17.1.2

Fecha de lanzamiento: 07/04/2026

Mejoras

  • Añadida compatibilidad con Elementor v4 (#2318)

Corregido

  • No ejecutar traducciones en plugins.php, por si falta la función PLL() de Polylang (#2317)

17.1.1

Fecha de lanzamiento: 24/03/2026

Corregido

  • Conflicto con el plugin "All In One Security" (#2315)

17.1.0

Fecha de lanzamiento: 23/03/2026

Añadido

  • Compatibilidad con el uso de un modelo LLM autoalojado (ejecutado en tu propio servidor) como proveedor de traducción (#2309)
  • Compatibilidad con ChatGPT 5.4 (#2310)

Mejoras

  • Desactivado el sincronizado de meta de Polylang (#2307)
  • Reducción de la memoria mínima requerida de 1 GB a 512 MB (#2312)

Corregido

  • Corregido el problema de plantillas de Bricks que no sincronizaban el tipo de plantilla (#2307)
  • Almacenamiento del meta de plantillas de Bricks bajo la clave meta correcta (#2308)
  • Conflicto con el plugin "All In One Security" (#6c76aa6)

17.0.0

Mejoras

  • Validación de la licencia del plugin contra la nueva tienda de Gato impulsada por FluentCart (#2303)

Corregido

  • Corregido - Mostrar las actualizaciones de la nueva versión al hacer clic en el enlace Mostrar detalles en las actualizaciones de plugins

16.1.0

Añadido

  • Traducción de descripciones de usuario (#2280)
  • Traducción de descripciones de usuario mediante WP-CLI (#2281)
  • Compatibilidad con Claude Opus 4.6 (#2297)

Mejoras

  • Permite imprimir los logs en orden inverso (#2279)
  • Paso del parámetro --default-provider a WP-CLI para menús (#2282)
  • Validación de que el servidor PHP tiene 1 GB de memoria disponible (#2283)
  • Enlace a la URL de la documentación para explicar cómo aumentar la memoria del plugin (#2284)

Corregido

  • No mostrar la entrada para custom posts en el formulario "Gato Translate (Custom)" para taxonomías (#45b09e9f)
  • Ejecución de la traducción de menús cuando la traducción automática para CPTs está desactivada (#271a08c5)

16.0.3

Corregido

  • Error "variable 'menuEntityReferenceTranslationLanguageIDs' has not been defined in the operation" (#2278)

16.0.2

Corregido

  • Editar plantillas de Bricks lanzaba una excepción (#2276)

16.0.0

Cambios incompatibles

  • Ya no se puede personalizar el prompt para los servicios de IA (#2271)
  • El prompt se ha movido a la pestaña "AI Translation Options" en los Ajustes (#2271)

Añadido

  • Modelos ChatGPT 5.2 (#2248)
  • Traducción de menús (#2253)
  • Traducción de menús mediante WP-CLI (#2260)
  • Traducción de referencias de entidades de menú para el widget "WordPress Menu" de Elementor (#2266)
  • Traducción de referencias de entidades de menú para el elemento "Nav Menu" de Bricks (#2267)
  • Añadido el CPT "AI Prompt" para almacenar prompts personalizados (#2272)

Mejoras

  • Establecido el modelo "GPT-5.2 (Thinking)" como modelo por defecto para ChatGPT (#2248)
  • La traducción de referencias de entidades también puede traducir strings (para slugs) (#2265)

15.3.0

Añadido

  • Ajustes en Bricks para activar/desactivar el reemplazo de componentes (#2218)
  • Permite procesar únicamente las traducciones fallidas (#2220)
  • En la página de listado de Posts/Medios/Etiquetas/Categorías: aplica estilo al icono de edición de Polylang con fondo amarillo para las traducciones fallidas (#2221)
  • Añadido un filtro en la página de listado de Posts/Medios para mostrar solo entradas con traducciones fallidas (#2222)
  • Compatibilidad con el formato antiguo del bloque core/list de Gutenberg (#2233)
  • Compatibilidad con Claude Opus 4.5 y Sonnet 4.5 (#2234)
  • Añadido el parámetro --process-failed a los comandos WP-CLI (#2245)

Mejoras

  • Mejores traducciones de slugs, eliminando todos los "-" del slug a traducir (#2217)
  • Sincronizar las categorías/etiquetas/imagen destacada de un custom post solo para los idiomas de destino, no para todos (#2223)
  • Eliminar las entradas meta solo para los idiomas de destino, no para todos (#2224)
  • Activado el nivel de log DEBUG por defecto (#2229)
  • Lanzar un aviso (en lugar de un error) cuando una entidad no está traducida (#2235)
  • Mejorado el mensaje de error "lower number of translations" con su solución (#2236)
  • Mejorada la descripción de la opción "Translate custom posts separately?" (#2240)

Corregido

  • No mostrar la opción "Display query execution response in logs?" antes de introducir la clave de licencia (#2239)
  • Ignorar la opción "Translate custom posts separately?" para las entradas meta de medios (#2241)
  • No sobrescribir el contenido de Bricks/Elementor cuando "Translate content" está desactivado (#2243)

15.2.1

Corregido

  • Problema con WordPress 6.9: las consultas no se almacenaban correctamente en la BD (#2219)

15.2.0

Añadido

  • Traducción de enlaces URL internos (en: contenido de Gutenberg/Classic Editor/Bricks/Elementor, campos meta) (#2143)
  • Traducción de enlaces de ACF (#2145)
  • Compatibilidad para traducir GenerateBlocks (bloques de GeneratePress) (#2139)
  • Compatibilidad para traducir bloques de Yoast SEO (#2163)
  • Integración con ACF: traducción de referencia de entidad para el tipo de campo "Page Link" (#c573064)
  • Si se proporciona el slug en el idioma de origen, traducir ese (es decir, no generarlo a partir del título traducido) (#2185)
  • Traducciones parciales (por tareas y por partes del contenido) (#2195)
  • Modelos ChatGPT 5.1 (#2203)
  • Compatibilidad para traducir posts cuyo CPT es gestionado por Elementor pero el post no está construido con Elementor (#2207)
  • Compatibilidad con la característica "reuse slugs" de Polylang Pro (#2211)

Mejoras

  • Ejecución de la traducción una sola vez para todas las etiquetas/categorías creadas (#2134)
  • Ejecución de la traducción una sola vez para todos los elementos multimedia subidos (#2135)
  • Mostrar un aviso cuando el custom post de traducción está en la papelera (#2137)
  • Añadido el parámetro --fail-if-log-notifications a los comandos WP-CLI, para imprimir los IDs solo cuando se añadió una entrada de log durante la ejecución (#2138)
  • Añadido el parámetro --parts a los comandos WP-CLI, para seleccionar qué partes traducir (#2184)
  • Añadido el parámetro --tasks a los comandos WP-CLI, para seleccionar qué tareas ejecutar (#2195)
  • Validar que el número de traducciones devueltas por el proveedor de la API coincide con el número de strings a traducir (#2161)
  • Eliminar " (the)" al final del nombre del país (#2165)
  • Mejorado el prompt para evitar escapar atributos HTML (#2166)
  • Mejorado el prompt para traducir texto dentro de etiquetas HTML (#0334741)
  • Añadidos ajustes para desactivar la impresión de la entrada queryExecutionResponse en los logs (#2174)
  • Añadidos ajustes para seleccionar qué partes del custom post traducir, entre propiedades, contenido y meta (#2176)
  • Añadidos ajustes para seleccionar qué partes de la taxonomía traducir, entre propiedades y meta (#2178)
  • Ordenar las variables en los logs (#2175)
  • Traducir también el contenido del post cuando lo gestionan Page Builders (Elementor/Bricks) (#2201)
  • Establecido el modelo "GPT-5.1 (Thinking)" como modelo por defecto para ChatGPT (#2203)
  • Usar 2000 caracteres como tamaño máximo de payload por defecto (para acelerar las traducciones) (#2214)
  • Probado hasta WordPress 6.9 (#2215)

Corregido

  • Eliminar código de la consulta GraphQL para plugins desactivados (#2139)
  • La traducción solo de propiedades no funcionaba (#1a3bd58)
  • Usar ChatGPT como proveedor de traducción por defecto cuando los Ajustes no han sido configurados (#2172)
  • Traducir la referencia al bloque reutilizable al traducir más de 1 post (#2173)
  • Traducir bloques que contienen el espacio sin separación "U+00A0" (no un espacio normal) (#2202)
  • Para los slugs, traducir el slug de origen para etiquetas/categorías en lugar del nombre (#2208)
  • Mejorada la regex para buscar/reemplazar strings dentro de bloques de Gutenberg para evitar el error "Backtrack limit exhausted" (#2213)
  • Aviso "Undefined array key"

15.1.0

  • Versión omitida (se mantiene la misma versión que el plugin Gato GraphQL)

15.0.1

  • Evitar excepción al reordenar campos de ACF (#2101)

15.0.0

Añadido

  • Uso de un prompt unificado para todos los servicios de IA (#2068)

Corregido

  • Conflicto con el plugin Nelio A/B Testing (#2066)
  • Establecimiento de propiedades en clases BasicService (#2067)

14.0.4

Corregido

  • Excepción al inicializar el plugin con plugins conflictivos instalados en el sitio (#2065)

14.0.2

Corregido

  • No activar traducciones cuando el usuario no está identificado, para evitar el error "You must be logged in to create or update custom posts" (#2063)
  • Mensaje de aviso al traducir meta cuando no existen entradas de traducción del custom post (#2064)

14.0.0

Cambios incompatibles

  • Actualizada la versión mínima de PHP de 7.4 a 8.1 (#2057)
  • Debes proporcionar la clave de API de OpenRouter de nuevo
  • Hardcodeada la clave meta _wp_page_template para copiar, eliminada del valor por defecto de Meta Configuration (#1992)
  • Añadida la integración con plugins SEO, ACF y Meta Box (ver más abajo), por lo que las claves meta de estos plugins (no incluidas previamente en la Meta Configuration) ahora se sincronizarán/traducirán automáticamente.

Añadido

  • Omitir la traducción de nombres predefinidos para etiquetas/categorías (#1925)
  • Compatibilidad con glosarios en DeepL (#1926)
  • Ejecución de la acción en lote "Gato Translate (Custom)" (#1931)
  • Sincronización del menuOrder del post (#1948)
  • Sincronización del padre del post (#1949)
  • Traducción de arrays de arrays en meta (es decir, compatibilidad con el tipo group de Meta Box) (#1950)
  • Traducción de arrays de arrays en meta para IDs de entidad (es decir, compatibilidad con el tipo group de Meta Box) (#1951)
  • Sobrescribir el prompt enviado a los servicios de IA mediante hooks (#1954)
  • Compatibilidad con todos los modelos de OpenRouter mediante API (#2003)
  • Compatibilidad con los modelos OpenAI 5 (#1979)
  • Compatibilidad con los modelos OpenAI 5 mediante OpenRouter (como modelos predefinidos) (#1981)
  • Compatibilidad con los modelos OpenAI 4.1 (#1956)
  • Compatibilidad con Claude Opus 4.1 (#1982)
  • Hooks para reaccionar a la ejecución de la consulta (#1957)
  • Hooks para sobrescribir las variables de GraphQL antes de la ejecución de la consulta (#1957)
  • Integración con la UI de Advanced Custom Fields (mediante Field Groups) para definir las claves meta a sincronizar/traducir (#1971)
  • Integración con la UI de Meta Box (mediante Custom Fields) para definir las claves meta a sincronizar/traducir (#1977)
  • Integración con plugins SEO para sincronizar/traducir meta: (#1974)
    • All in One SEO
    • Rank Math
    • SEO Simple Pack
    • SEOPress
    • Slim SEO
    • The SEO Framework
    • WP Meta SEO
    • Yoast SEO
  • Activar/desactivar la integración con plugins de terceros, mediante la pestaña Plugin Integration Configuration en los Ajustes (#1972)
  • Al traducir varios posts a la vez, permitir traducir cada post por separado (en su propia petición a la API) (#1975)
  • Ejecución de la traducción programáticamente (mediante Gato::translateCustomPosts(), Gato::translateTaxonomyTerms() y Gato::translateMedia()) (#2030)
  • Ejecución de la traducción mediante WP-CLI (#2039)
  • Compatibilidad con el elemento Countdown de Elementor para traducción (#2043)

Mejoras

  • Actualización del plugin a las últimas dependencias para PHP 8.1 (#2059)
  • Impresión del cuerpo de las peticiones fallidas en los logs de error
  • Mejorado el prompt enviado a los servicios de IA (para evitar problemas con comillas, etiquetas HTML escapadas y codificación de caracteres) (#1928)
  • Traducción de propiedades dentro de etiquetas HTML: alt, title, placeholder, aria-label, aria-describedby, aria-labelledby, aria-placeholder (#1929)
  • Ordenación de proveedores e idiomas, en el desplegable de los Ajustes (#1930)
  • Solo añadir la acción en lote Gato Translate si el usuario puede edit_posts (#1935)
  • Validar que las variables a leer del idioma de origen/destino para traducir están en el prompt de IA (#1937)
  • Reorganización de las pestañas de Ajustes (#1953)
  • Uso de un campo de ajustes System message para Claude (#1955)
  • Mejorado el mensaje de error para IDs no cargables (#1969)
  • Eliminado el modelo preview obsoleto OpenAI 4.5 (#1980)
  • Compatibilidad con Claude mediante OpenRouter (#1995)
  • Impresión del modelo en la entrada de los Logs (#1997)
  • Añadido un aviso cuando Polylang está desactivado (#1998)
  • Mejorado el mensaje de aviso cuando no hay custom posts para traducir, indicando la razón (#2007)
  • Proporcionar soluciones para corregir problemas en la entrada de log de error (#2011)
  • Uso de la opción por defecto "Automatically create translation entries" para CPTs registrados mediante plugins (#2012):
    • ACF
    • MetaBox
    • Custom Post Type UI
  • Mostrar las etiquetas de notificación en diferentes colores para distintas severidades (#2013)
  • Activadas las notificaciones de log para los avisos por defecto (#2014)
  • Actualización de DeepSeek a v3.1 (#2038)
  • Añadir el ID de etiquetas/categorías sin entrada de traducción en los mensajes de aviso (#2044)
  • Tratar las etiquetas/categorías traducidas faltantes como error, no como aviso (#2045)
  • Tratar las entidades traducidas faltantes (para padre de custom post, patrones de bloques y relaciones de entidad en campos personalizados) como error, no como aviso (#2046)
  • Imprimir tanto errores como avisos en la misma entrada de log (#2047)
  • Lanzar aviso o error para los IDs traducidos faltantes según si ese CPT/taxonomía/medio es traducible o no (#2048)
  • Imprimir un log de depuración cuando la creación automática de entradas de traducción para ese CPT está desactivada (#2056)

Corregido

  • Excepción cuando OpenRouter devuelve traducciones null (#1927)
  • Crear la categoría de traducción usando el name de origen como slug, no la description (#1932)
  • No mostrar el menú vacío del plugin para usuarios sin la capacidad edit_posts (#1933)
  • Uso de la capacidad edit_theme_options para mostrar Patterns en el menú (#1934)
  • No excluir idiomas de los idiomas actuales en las asociaciones de Polylang (#1960)
  • Corregida la traducción del elemento multimedia adjunto a un post sin idioma (#1961)
  • Corregida la traducción de categoría que tiene un padre sin idioma (#1962)
  • Evitar errores cuando no hay idiomas a traducir para medios, etiquetas y categorías (#1963)
  • Activar traducciones automáticas en posts creados usando la WP REST API (#1984)
  • Excepción de Bricks al hacer Live Preview con otro tema (#1985)
  • El plugin no funcionaba con PHP 7.4 (#2005)
  • Actualización de posts almacenando fecha incorrecta (#53f6b66)
  • Autenticación de usuario al ejecutar consultas de traducción activadas mediante la WP REST API (#68b1ef3)
  • Evitar errores de continuar la traducción cuando un proveedor no tiene la clave de API configurada (#2037)
  • Sobrescribir el prompt de OpenRouter en Custom Settings (v14.0.1)

13.2.0

Añadido

  • Log de peticiones a la API al usar Google Translate y DeepL (#1904)
  • Sincronización de IDs de entidad en meta con los IDs correspondientes para el idioma de destino (#1916)
  • Nuevo proveedor de traducción: OpenRouter (#1923)

Mejoras

  • La entrada de log "ai-requests" ha sido renombrada a "api-requests" (para gestionar también Google Translate y DeepL) (#1904)
  • Actualización de dependencias a la última versión (#1907)
  • Traducción de las entradas meta para elementos multimedia todas juntas (#1918)
  • Traducción de las entradas meta para etiquetas y categorías todas juntas (#1919)

Corregido

  • Al traducir posts, manejar el estado future como publish al hacer "Same status as origin" (#1903)
  • Traducción de posts protegidos con contraseña (#1916)
  • Traducción de meta en elementos multimedia (#1916)
  • No usar el proveedor de traducción por defecto seleccionado si está desactivado (#1922)

13.1.0

Nota: la v13.1.0 no se lanzó, se lanzó directamente como v13.1.1.

Añadido

  • Nueva pestaña "Translation Options" en los Ajustes, para seleccionar la traducción multi-idioma sync/async (#1833)
  • Opción "Translate custom post slugs?" en los Ajustes (para soportar slugs compartidos con Polylang PRO) (#1835)
  • Añadida la integración con Bricks (#1838)
  • Compatibilidad con el bloque html de Gutenberg (#1867)
  • Compatibilidad para traducir bloques reutilizables (synced patterns) (#1868)
  • Definición del payload máximo de la petición enviada al proveedor de IA (v13.1.1) (#1897)

Mejoras

  • Mostrar aviso en lugar de error si no se puede actualizar el slug de un término de taxonomía (#1842)
  • Regenerar consultas cuando se activa/desactiva una dependencia de plugin/tema (#1843)
  • Calcular la longitud máxima de string para traducción restando el conteo de caracteres del prompt (#1860)
  • Para el error "String to translate exceeds max length", no imprimir el string completo en la cabecera del log (#1861)
  • Evitar ejecutar la consulta GraphQL si el post (cat/tag/medio) tiene un idioma diferente al idioma de origen configurado (#1862)
  • Imprimir el aviso 'There were no items to translate' cuando la acción en lote no tiene elementos válidos a procesar (#1862)
  • Si alguna petición a la API falla, realizar igualmente la traducción para todas las peticiones exitosas (#1872)
  • Formatear contenido markdown en los logs (#1873)
  • Omitir la ejecución de la consulta si hay errores de validación para la traducción (por ejemplo: ninguna clave de API definida) (#1877)
  • Mejorado el prompt para Claude (#1879)
  • Si algún string falla la validación de longitud máxima, traducir igualmente todo lo demás (#1880)
  • Añadido el idioma en la entrada de log "ai-requests" (#1881)
  • Creación automática de entradas de traducción para plantillas de Elementor (#1891)
  • Mantener el mismo nombre en las propiedades JSON para Widgets de Elementor para una mejor búsqueda/reemplazo al traducir nuevos widgets (v13.1.1) (#1895)
  • Mejorar el nombre en las propiedades JSON para bloques de Gutenberg para una mejor búsqueda/reemplazo al traducir nuevos bloques (v13.1.1) (#1896)
  • Establecer el estado del post traducido como "Same as origin post" (v13.1.1) (#1899)
  • En los Ajustes, movida la opción "Status to update" de "Automatic Translation" a "General Configuration" (v13.1.1) (#1900)
  • Traducir listas de strings también para cats/tags/medios (v13.1.1) (#1901)

Corregido

  • Asignación de valor por defecto a los elementos de configuración añadidos después de que los Ajustes fueran guardados en la BD (#1865)
  • Sincronizar la imagen destacada solo si está soportada para ese CPT (#1866)

13.0.1

Corregido

  • La traducción no funcionaba si Elementor no estaba instalado (#1830)

13.0.0

Cambios incompatibles

  • Movido "Logs" desde la pestaña "Advanced Use" a la nueva pestaña "Logs" en los Ajustes (#1819)

Añadido

  • Activar logs por severidad en los Ajustes (#1812)
  • Badge con el conteo de logs en el enlace del menú Logs (#1821)
  • Compatibilidad con Claude 4 (#1829)

Mejoras

  • No imprimir errores anidados con @applyField (#1823)
  • Lanzar un error siempre que una mutación produzca un error (#1824)
  • Lanzar un aviso siempre que no haya entradas a traducir (#1825)

Corregido

  • Recursión al traducir elementos multimedia (#1828)

12.2.2

Corregido

  • Corregida la traducción de contenido de Elementor con statusToUpdate: draft y statusWhenTranslated: publish (#1809)

12.2.1

Mejoras

  • Definir meta a sincronizar siempre (#1808)

Corregido

  • Sincronización del tipo de plantilla de Elementor (#1808)

12.2.0

Añadido

  • Compatibilidad para traducir strings en arrays y objetos (#1805)

12.1.1

Corregido

  • Comprobar si Elementor PRO devuelve null en $document->save() y transformarlo a booleano (#1802)
  • Añadido el enlace "Edit with Elementor" al traducir páginas de Elementor (#1803)

12.1.0

Añadido

  • Traducción del widget html de Elementor + Ajustes para activar/desactivar (#1790)
  • No traducir strings que comienzan con <!-- gato:translation:ignore --> (#1791)

Mejoras

  • Codificar caracteres Unicode multibyte al traducir contenido (#1799)

Corregido

  • Excepción al actualizar el plugin manualmente (#1795)
  • Publicar una página de Elementor mediante Quick Links no activaba la traducción (#1796)
  • Etiquetas HTML de cierre escapadas en el contenido traducido por ChatGPT (por ejemplo: <\/p> en lugar de </p>) (#1797)
  • Mejorado el prompt de ChatGPT para no alterar los emojis en el texto traducido (#1798)
  • El Language Switcher del plugin "Connect Polylang for Elementor" no se mostraba (#1081)

12.0.1

Corregido

  • Traducir el widget icon-list en Elementor no traducía todos los elementos (#1789)

12.0.0

Mejoras

  • La lógica de Gutenberg en la consulta GraphQL no se ejecuta si Classic Editor está activo (#1782)

Cambios incompatibles

  • Los hooks para inyectar bloques personalizados de Gutenberg han sido renombrados
  • Sincronizar la clave meta _wp_page_template por defecto (#1775)
  • Renombrado el campo PolylangLanguage.isEnabled a isActive (#1744)
  • Renombrado el argumento del filtro de entrada Root.polylangLanguages(filter.enabled:) a active (#1744)

11.3.0

Añadido

  • Traducir y sincronizar meta (custom posts, etiquetas, categorías, medios)
  • Añadidos ajustes para Automatic Sync

Mejoras

  • Probado hasta WordPress 6.8

Corregido

  • Las traducciones para idiomas no activos no deben lanzar un error (#1743)
  • Código no degradado a PHP 7.4 (#1749)
  • Mensaje de error de carga de traducción en WordPress 6.8

11.2.0

Añadido

  • Compatibilidad para traducir contenido por Page Builders (#1729)

Mejoras

  • No repetir código en la consulta "translate-customposts" (#1727)

Corregido

  • Instalar los datos de configuración del plugin en la primera petición tras activar la licencia (#1733)

11.1.2

Mejoras

  • Uso del tipo password para activar extensiones en los Ajustes (#1725)

Corregido

  • El hook template_include puede recibir valores null (puede ocurrir un error cuando WooCommerce está instalado)

11.1.1

Corregido

  • Si la traducción para el idioma de origen está establecida como None (Disable Translation) en los Ajustes, no excluirla (o no añadirá ese idioma en las asociaciones de Polylang) (#1724)

Mejoras

  • Renombrados los ajustes de "DeepSeek Translation" a "DeepSeek" (#1723)

11.1.0

Añadido

  • Nuevo modelo: Claude Sonnet 3.7 (#1719)
  • Nuevo modelo: GPT-4.5 (research preview) (#1721)

Mejoras

  • Uso del contexto de 128k para Claude Sonnet 3.7 y se establece como modelo por defecto (#1720)
  • Mejorada la entrada del log al no rodear el JSON con comillas (#1722)

11.0.4

Corregido

  • No eliminar la pestaña Screen Options en la página de listado de posts

11.0.0

Acciones requeridas

  • Importante: Antes de actualizar este plugin, necesitas desactivar tu licencia, después volver a subir el nuevo plugin (renombrado como Gato AI Translations for Polylang) y finalmente activarlo de nuevo, usando la misma clave de licencia

Cambios incompatibles

  • Renombrado Gato Multilingual for Polylang a Gato AI Translations for Polylang (#1716)
  • Registrada la URL del changelog para el plugin, para mostrar el changelog de la nueva versión al actualizarlo (#1707)

Añadido

  • Compatibilidad con nuevos proveedores de traducción:
    • Mistral AI (#1708)
    • DeepSeek (#1714)
  • Log de la respuesta del LLM (#1710)

Mejoras

  • Mostrar el nombre del modelo (en lugar de su código) en los Ajustes (#1711)
  • Simplificación de las consultas para ejecutar menos lógica (#1713)
  • No parsear bloques de Gutenberg al publicar un post traducido (#1717)

Corregido

  • Problema cuando faltan traducciones para etiquetas/categorías (#1712)

10.5.0

Mejoras

  • No activar la traducción de medios si no son traducibles en Polylang (#1705)
  • Permite seleccionar varios estados para activar la traducción automática para CPTs (#1706)

10.4.0

Añadido

  • Convertir las claves de API en campos de tipo password (#1693)
  • Compatibilidad para activar automatizaciones en el estado de post future (#1694)
  • Compatibilidad para copiar la fecha del post original a sus traducciones (#1697)
  • Añadido Claude (Anthropic) como proveedor de traducción (#1703)

Mejoras

  • Renombrar la subsección Custom Post Types en los Ajustes a General Configuration (#1698)
  • Hacer que el cliente GraphiQL ocupe todo el ancho (#1699)
  • Limitar el número de strings a traducir en una petición por la longitud del string (#1700)
  • Si algún string a traducir produce un error, no ejecutar la traducción (#1701)
  • No incluir encodedContentItems en el prompt de ChatGPT (#1702)
  • Mejorado el formato del log (#1704)

10.3.0

Añadido

  • Activar/desactivar traducciones automáticas por CPT/taxonomía/medio (#1684)
  • Imprimir aviso en los logs cuando falta una entrada de traducción para CPT/taxonomía/medio (#1690)

Corregido

  • Sobrescribir los hooks de Polylang solo si Gato AI Translations for Polylang tiene licencia activa (#1682)

10.2.0

  • Lanzamiento inicial