Cómo se asocian las traducciones con el contenido de origen
POM Translate almacena un valor de destino vinculado a una unidad de origen concreta descubierta y a un idioma. No adjunta una traducción libre a cada aparición de una frase similar, ni guarda una segunda entrada completa para el idioma de destino.
Una unidad de origen tiene una identidad precisa
Un valor extraído pertenece a:
- un tipo de contenido, como una entrada, un término, un elemento de menú o metadatos admitidos;
- el ID de objeto canónico de WordPress;
- un campo, como un título, un extracto, un cuerpo, un atributo o una etiqueta de menú;
- una posición o clave estable dentro de ese campo;
- el texto de origen exacto actual;
- cualquier definición protegida de marcador en línea.
La traducción de destino añade entonces:
- el idioma;
- el texto traducido;
- un estado del flujo de trabajo.
Este modelo permite que la misma frase aparezca en dos partes distintas de un sitio sin que su propiedad editorial resulte ambigua.
El idioma forma parte de la asociación
Una traducción al francés y una traducción al alemán de la misma fila de origen son valores independientes. Actualizar una no sobrescribe la otra.
El idioma base no se guarda como otra traducción de destino. Su texto procede del objeto canónico de WordPress. Por eso las correcciones del origen deben hacerse en la entrada, el término, el menú o el ajuste que posee el valor original.
El estado describe el flujo de trabajo de traducción
La tabla de traducciones usa cuatro estados públicos:
| Estado | Significado |
|---|---|
| Pending | El valor de destino está vacío o todavía requiere traducción |
| Machine | El borrador guardado procede de traducción automática |
| Human | Un usuario guardó una traducción manual no vacía |
| Reviewed | Un editor marcó explícitamente la traducción como revisada |
El estado es metadato editorial. La representación depende principalmente de que exista un valor de destino no vacío y estructuralmente válido. Por tanto, una traducción automática puede ser visible antes de la revisión lingüística si el sitio publica por esa vía.
Los cambios de origen protegen frente a texto obsoleto
Cuando una unidad de origen guardada cambia en su sitio, POM Translate elimina las traducciones asociadas a la definición exacta anterior. No muestra silenciosamente una traducción antigua bajo una frase de origen nueva.
Tras almacenar el nuevo valor de origen, el plugin busca una traducción no vacía existente con el mismo hash normalizado y el mismo texto original exacto. Esta reutilización por coincidencia exacta puede restaurar una traducción conocida cuando aparece de nuevo un texto idéntico en otro lugar o en otra ubicación estable.
La similitud no basta. Los cambios de puntuación, marcado o redacción pueden alterar el significado y las expectativas de los marcadores de posición, por lo que los editores deberían revisar cualquier fila que vuelva a Pending.
Los valores vacíos usan la alternativa del origen
Un valor de destino vacío no se guarda como prosa traducida. Durante la representación, POM Translate usa el valor de origen para esa fila.
Esta alternativa es local al valor que falta. Una página puede contener:
- un título traducido;
- un extracto en el idioma de origen;
- párrafos de cuerpo traducidos;
- un atributo de imagen en el idioma de origen.
Usa las herramientas de completado y revisión para evitar publicaciones no intencionadas con idiomas mezclados.
Almacenes separados sirven a superficies separadas
No todos los valores localizados usan la asociación ordinaria de fila de contenido:
- los slugs de entradas y términos usan el mapa de URL localizadas;
- las sustituciones de URL personalizadas admitidas usan su propio mapeo de origen e idioma;
- las cadenas de aplicación registradas tienen nombres registrados estables;
- las traducciones de software gettext se gestionan como archivos de catálogo de WordPress.
Esta separación evita tratar las URL, los identificadores de aplicación y los catálogos de software como prosa de cuerpo intercambiable.
La invalidación de caché sigue a las escrituras correctas
Después de guardar un valor de destino, POM Translate limpia la consulta de traducción correspondiente y emite un evento de cambio de traducción. El tiempo de ejecución invalida entonces las cachés afectadas de contenido de entrada representado, metadatos o menús según el contenido de origen.
Esto refresca la propia salida en caché de POM Translate. Una caché de página completa o una CDN puede seguir manteniendo una respuesta antigua completa y requiere su propia política de invalidación.
Verifica las asociaciones sin inspeccionar el almacenamiento interno
- Traduce la misma frase corta en dos entradas distintas con redacciones diferentes.
- Actualiza solo una traducción.
- Confirma que la otra entrada permanece sin cambios.
- Añade un segundo idioma de destino y traduce la primera entrada de forma distinta.
- Confirma que cada idioma conserva su propio valor.
- Cambia la frase de origen y guarda la entrada.
- Confirma que la fila afectada vuelve para su revisión mientras las filas no relacionadas permanecen completas.
- Borra la traducción y comprueba la alternativa del origen en la ruta pública de ese idioma.
Estas comprobaciones demuestran el comportamiento que importa a los editores sin exponer ni modificar el almacenamiento interno del plugin.