Cómo se regenera el esqueleto después de guardar
POM Translate crea o refresca el esqueleto de contenido de una entrada después de que WordPress ha guardado un objeto canónico elegible. Este momento garantiza que la extracción utilice la fuente persistida y no un borrador del editor sin guardar.
La entrada debe ser elegible
El flujo de guardado normal se detiene cuando el objeto es:
- un autoguardado o una revisión;
- un tipo de entrada que no está habilitado para traducción;
- un estado de entrada que no debe conservar los datos de traducción;
- excluido deliberadamente de la traducción.
Para un tipo de entrada elegible, los ajustes individuales de Title, Content, Excerpt y Meta determinan qué campos de origen se procesan.
Las importaciones programáticas, la sincronización programada y las actualizaciones por línea de comandos también pueden llegar al flujo posterior al guardado. POM Translate no requiere un editor con sesión iniciada en ese momento, porque WordPress o la integración que realiza la llamada ya ha efectuado la escritura.
La generación sigue a la fuente guardada
Para el guardado normal de una entrada, POM Translate:
- registra el título y el extracto de origen cuando esos campos están habilitados;
- escanea el cuerpo de origen en busca de URL personalizadas admitidas;
- analiza el cuerpo con el analizador de contenido apropiado;
- extrae los atributos traducibles;
- extrae los contenedores de texto, el texto suelto y los valores de shortcode admitidos;
- congela los elementos en línea admitidos como marcadores protegidos;
- asigna posiciones estables a los valores extraídos;
- almacena el esqueleto resultante y su versión de analizador;
- procesa los campos personalizados permitidos;
- elimina los valores de origen que ya no se utilizan;
- registra el slug de origen e inicializa los slugs de destino que faltan.
El guardado no traduce texto nuevo. Prepara el conjunto de origen actual para que los editores o un flujo autorizado de traducción automática puedan actuar sobre él más adelante.
El contenido vacío y deshabilitado son estados intencionales
Cuando la traducción del cuerpo está deshabilitada para el tipo de entrada, POM Translate almacena una representación de cuerpo vacía y continúa procesando cualquier metadato habilitado. Lo mismo ocurre cuando el cuerpo de origen está vacío.
Esto evita que un esqueleto obsoleto siga mostrando traducciones del cuerpo después de que el propietario del sitio haya deshabilitado ese campo o haya eliminado todo el contenido del cuerpo.
Las alternativas del analizador protegen el guardado
El analizador de cuerpo estándar carga la fuente en un documento HTML. Si ese documento o su cuerpo no puede prepararse de forma segura, POM Translate almacena el cuerpo de origen completo como una unidad de traducción alternativa en lugar de abandonar el guardado de la entrada.
La alternativa es menos granular que la extracción normal basada en contenedores. Un editor de traducción puede ver un valor de cuerpo más grande en lugar de párrafos o encabezados separados, pero el contenido de origen sigue estando disponible.
El contenido de shortcode de estilo Visual Composer utiliza una ruta dedicada para que la estructura y el texto de shortcode admitidos puedan procesarse sin tratar el documento de shortcode completo como HTML ordinario.
Una fuente modificada invalida las asociaciones obsoletas
Cada unidad de origen se identifica por su asunto, campo, posición estable, valor original exacto, mapa de marcadores de posición y hash normalizado. Cuando esa definición cambia, POM Translate elimina las traducciones vinculadas a la versión anterior de esa unidad antes de almacenar la nueva fuente.
A continuación, comprueba si existe una traducción no vacía de coincidencia exacta asociada al mismo texto de origen normalizado. Las coincidencias exactas pueden reutilizarse; el texto aproximado o simplemente similar no se acepta automáticamente.
Por eso una pequeña edición en la fuente puede devolver una fila a Pending mientras que las filas sin cambios permanecen completas.
Los valores de origen eliminados se limpian
El analizador registra qué valores se utilizaron durante el guardado actual. Las filas que pertenecían a la entrada pero que no se volvieron a encontrar se eliminan, junto con sus traducciones de destino obsoletas.
Por ejemplo, al eliminar un párrafo de la fuente y guardar la entrada, ese párrafo se elimina del conjunto de traducción activo. No se conserva como contenido público oculto.
Regenera deliberadamente
Vuelve a guardar la entrada canónica cuando:
- la entrada es anterior al sistema de extracción actual;
- un campo recién habilitado todavía no aparece;
- el comportamiento del analizador cambió después de una actualización del plugin;
- el diseño de la fuente o la configuración de shortcode cambió;
- la interfaz de traducción no informa de valores para una entrada que, por lo demás, es elegible.
A continuación, verifica la entrada en Translations → Translate contents. No edites los marcadores generados ni intentes reparar la representación directamente.
Una comprobación de regeneración enfocada
- Guarda una entrada que contenga dos párrafos.
- Confirma que ambos aparecen en la vista de traducción del idioma de destino.
- Traduce ambas filas y verifica la ruta pública de destino.
- Edita el primer párrafo de origen, elimina el segundo y añade un encabezado.
- Vuelve a guardar la entrada.
- Confirma que el párrafo modificado necesita revisión, que el párrafo eliminado ha desaparecido y que el encabezado es nuevo.
- Verifica que la ruta pública no contiene marcadores sin resolver.
Continúa con How protected markers preserve inline structure para entender la validación que se aplica dentro de cada unidad extraída.