Perché esiste
La piattaforma ha bisogno di distribuire contenuti multilingue senza duplicare o derivare il modello di contenuto sottostante. Il supporto alla traduzione crea varianti linguistiche a livello di documento collegate ai loro documenti origine, preservando lo schema originale e la struttura dei contenuti.
Quando usarlo
- tradurre uno o più componenti in più lingue
- monitorare l'avanzamento di un processo di traduzione in blocco
- ripetere le traduzioni non riuscite
- correggere manualmente le traduzioni generate automaticamente
- leggere contenuti tradotti in un'applicazione di documentazione o di sito web
- creare viste di documenti specifiche per lingua nel CMS
Cosa comprende
- selezione massiva di componenti e lingue nel CMS
- lavori di traduzione asincroni con monitoraggio dell'avanzamento
- traduzione dei documenti supportata da TensorZero
- salto automatico delle traduzioni già aggiornate
- deduplicazione dei lavori di traduzione attivi identici
- ripristino dell'avanzamento dei lavori attivi dopo la navigazione nel CMS
- controlli di ripetizione per le traduzioni non riuscite
- preferenze persistenti della lingua di destinazione
- correzione manuale delle traduzioni tramite l'endpoint patch
- recupero dei documenti sensibile alla lingua
- hash della fonte per rilevare traduzioni obsolete
- colonne e indici del database sensibili alle traduzioni
Flusso di lavoro principale
- Apri la pagina Componenti e seleziona Invia alla traduzione.
- Scegli uno o più componenti e le lingue di destinazione.
- Verifica il numero stimato di traduzioni e metti in coda il batch.
- Il gestore delle traduzioni carica i documenti sorgente pubblicati e salta le traduzioni il cui hash della sorgente è già aggiornato.
- Le traduzioni rimanenti vengono elaborate in modo asincrono tramite TensorZero.
- Monitora dal CMS le traduzioni in coda, completate, ignorate e non riuscite.
- Ripeti le traduzioni non riuscite quando necessario.
- Correggi manualmente il contenuto tradotto quando l'output generato automaticamente richiede un aggiustamento.
- Consulta le varianti tradotte tramite schema e API di documenti sensibili alla lingua.
Lavori di traduzione
L'invio di un batch crea un lavoro di traduzione. Un lavoro registra:
- componenti e lingue selezionati
- documenti sorgente elaborati
- traduzioni programmate
- traduzioni ignorate perché già aggiornate
- traduzioni completate
- traduzioni non riuscite
- stato corrente del lavoro
Inviare la stessa selezione mentre è attivo un lavoro equivalente si ricollega al lavoro esistente invece di creare lavoro duplicato.
Il CMS memorizza localmente l'identificatore del lavoro attivo, così l'avanzamento può essere ripristinato dopo la navigazione. Lo stato del lavoro di traduzione è attualmente mantenuto in memoria dal gestore delle traduzioni e viene azzerato quando il servizio si riavvia. Distribuisci il servizio come istanza singola oppure utilizza un instradamento sticky affinché le richieste di invio e di stato dei lavori raggiungano lo stesso processo.
Rilevamento delle traduzioni obsolete
Ogni documento tradotto memorizza un hash del contenuto pubblicato del documento sorgente al momento della traduzione.
Quando viene inviato un altro batch di traduzione:
- hash corrispondenti indicano che la traduzione è aggiornata e può essere ignorata
- hash differenti indicano che la sorgente è cambiata e la traduzione deve essere rigenerata
Questo rende sicuro eseguire più volte la traduzione in blocco senza ritradurre i contenuti invariati.
Endpoint API
POST /translation — mette in coda le traduzioni per uno o più componentiGET /translation-jobs/{job_id} — legge lo stato e l'avanzamento del lavoro di traduzionePATCH /translations — corregge manualmente il contenuto tradotto
Superfici del sistema
- finestra di dialogo del CMS per la traduzione massiva
- controlli del CMS per lo stato e il ripristino dei lavori di traduzione
- API del gestore delle traduzioni e worker in background
- integrazione di traduzione con TensorZero
- viste di documenti specifiche per lingua nel CMS
- caricamento di contenuti sensibile alla lingua nell'app di documentazione
- persistenza delle traduzioni e tracciamento degli hash della fonte