Qué representa el esqueleto de contenido
El esqueleto de contenido es la representación estructural guardada que POM Translate conserva de un cuerpo de entrada. Mantiene el orden del diseño de origen al tiempo que marca las posiciones donde se puede insertar el contenido traducido, los atributos y los valores de los shortcodes.
No es una segunda copia traducida de la entrada ni una plantilla HTML orientada al editor.
La estructura y el idioma tienen responsables distintos
Considera un cuerpo de origen sencillo:
<h2>Opening hours</h2>
<p>Visit our <strong>city restaurant</strong>.</p>
El encabezado y el párrafo contienen texto traducible. El elemento de encabezado, el elemento de párrafo, el elemento de énfasis y su orden pertenecen a la estructura de origen.
Durante la extracción, POM Translate almacena las unidades lingüísticas por separado y deja tokens de posición en el esqueleto. El marcado en línea dentro de una unidad se convierte en marcadores protegidos asociados a esa unidad. En el momento del renderizado, el plugin resuelve los tokens para la configuración regional seleccionada y restaura el marcado protegido.
El esqueleto conserva el orden
Las filas de traducción pueden cargarse, filtrarse o almacenarse de forma independiente respecto a la secuencia HTML original. El esqueleto proporciona el orden en el que corresponden sus valores resueltos.
Las distintas familias de tokens distinguen:
- unidades de contenido del cuerpo;
- atributos HTML traducibles;
- atributos de shortcode admitidos o valores internos.
Estos tokens son marcadores de implementación, no texto que deban traducir los editores. Un renderizado completo debe reemplazar cada token esperado del esqueleto antes de que el resultado pueda utilizarse.
Un esqueleto admite varias configuraciones regionales
La fuente estructural es compartida. POM Translate no guarda un documento HTML completo para inglés, otro para francés y otro para alemán.
Para cada solicitud de destino, combina el mismo esqueleto actual con el mapa de traducción de esa configuración regional. Esto produce dos comportamientos útiles:
- cambiar una traducción no reescribe el cuerpo de la entrada de origen;
- un valor de destino vacío puede reemplazarse por la unidad de origen correspondiente sin perder su posición.
La contrapartida es que el diseño de origen sigue siendo el que manda. Los traductores pueden reordenar palabras y elementos en línea protegidos dentro de una unidad, pero no reorganizan la estructura de bloques o contenedores de la entrada desde la tabla de traducción.
La versión del esqueleto protege la compatibilidad
POM Translate registra una versión del analizador junto con el esqueleto. El renderizador comprueba que la representación almacenada sea compatible con la versión que espera.
Si el esqueleto está ausente, es incompatible o aún contiene tokens sin resolver después del reemplazo, POM Translate no envía marcado de token roto al visitante. Abandona ese resultado reconstruido para que la ruta de contenido normal de origen siga estando disponible.
Volver a guardar la entrada canónica regenera la representación actual. Este es el primer paso adecuado después de que una actualización cambie el comportamiento del analizador o cuando una entrada antigua nunca haya sido procesada por la versión actual.
El esqueleto no es el mapa de marcadores de posición
Estos dos conceptos resuelven problemas diferentes:
| Mecanismo | Propósito |
|---|---|
| Esqueleto de contenido | Conserva el orden y la estructura circundante de las unidades del cuerpo, los atributos y los valores de shortcode |
| Mapa de marcadores protegidos | Conserva el marcado en línea admitido dentro de una unidad de traducción |
El esqueleto sabe dónde pertenece un párrafo. El mapa de marcadores de posición sabe dónde pertenecen el enlace, el énfasis, la imagen o el span en línea del párrafo.
Verifica el concepto de forma segura
Utiliza una entrada con dos párrafos y una frase con formato:
- guarda la entrada de origen;
- traduce solo el primer párrafo;
- abre la ruta de destino;
- confirma que el primer párrafo está traducido;
- confirma que el segundo párrafo usa la alternativa de origen en la posición correcta;
- confirma que la frase con formato conserva su marcado de origen;
- reordena los párrafos en el editor de origen y vuelve a guardar;
- comprueba que la ruta de destino sigue el nuevo orden de origen.
Esto demuestra que los valores traducidos y el orden estructural son independientes. Continúa con How the skeleton is regenerated after a save para conocer el ciclo de vida que mantiene actualizada la representación.