Pourquoi il existe
La plateforme a besoin de diffuser du contenu multilingue sans dupliquer ni scinder le modèle de contenu sous-jacent. La prise en charge de la traduction crée des variantes linguistiques au niveau des documents, liées à leurs documents source tout en préservant le schéma et la structure de contenu d'origine.
À utiliser lorsque
- traduire un ou plusieurs composants dans plusieurs langues
- suivre la progression d'un travail de traduction en lot
- relancer les traductions ayant échoué
- corriger manuellement les traductions générées par machine
- lire le contenu traduit dans une application de documentation ou de site web
- créer des vues de documents spécifiques à une langue dans le CMS
Ce que cela inclut
- sélection en masse de composants et de langues dans le CMS
- travaux de traduction asynchrones avec suivi de progression
- traduction de documents basée sur TensorZero
- saut automatique des traductions déjà à jour
- déduplication des travaux de traduction actifs identiques
- reprise de la progression des travaux actifs après une navigation dans le CMS
- contrôles de relance pour les traductions ayant échoué
- préférences persistantes de langue cible
- correction manuelle des traductions via le point de terminaison patch
- récupération de documents sensible à la langue
- hachages source pour détecter les traductions obsolètes
- colonnes et index de base de données compatibles avec la traduction
Flux de travail principal
- Ouvrez la page Composants et sélectionnez Envoyer en traduction.
- Choisissez un ou plusieurs composants et des langues cibles.
- Vérifiez le nombre estimé de traductions et mettez le lot en file d'attente.
- Le gestionnaire de traduction charge les documents source publiés et ignore les traductions dont le hachage source est déjà à jour.
- Les traductions restantes sont traitées de manière asynchrone via TensorZero.
- Surveillez les traductions en file d'attente, terminées, ignorées et échouées depuis le CMS.
- Relancez les traductions ayant échoué si nécessaire.
- Corrigez manuellement le contenu traduit lorsque la sortie générée par machine nécessite un ajustement.
- Consultez les variantes traduites via des schémas et des API de documents sensibles à la langue.
Travaux de traduction
Soumettre un lot crée un travail de traduction. Un travail consigne :
- les composants et les langues sélectionnés
- les documents source traités
- les traductions planifiées
- les traductions ignorées parce qu'elles sont déjà à jour
- les traductions terminées
- les traductions échouées
- l'état actuel du travail
Soumettre la même sélection alors qu'un travail équivalent est actif se reconnecte au travail existant au lieu de créer un doublon.
Le CMS stocke localement l'identifiant du travail actif afin que la progression puisse être restaurée après une navigation. L'état du travail de traduction est actuellement conservé en mémoire par le gestionnaire de traduction et est effacé lorsque le service redémarre. Déployez le service en instance unique ou utilisez un routage persistant afin que les soumissions de travaux et les demandes de statut atteignent le même processus.
Détection des traductions obsolètes
Chaque document traduit stocke un hachage du contenu publié du document source au moment où il a été traduit.
Lorsqu'un autre lot de traduction est soumis :
- des hachages identiques indiquent que la traduction est à jour et peut être ignorée
- des hachages différents indiquent que la source a changé et que la traduction doit être régénérée
Cela permet d'exécuter la traduction en lot en toute sécurité à plusieurs reprises sans retraduire le contenu inchangé.
Points de terminaison de l'API
POST /translation — mettre en file d'attente des traductions pour un ou plusieurs composantsGET /translation-jobs/{job_id} — consulter l'état et la progression d'un travail de traductionPATCH /translations — corriger manuellement le contenu traduit
Surfaces du système
- boîte de dialogue de traduction en masse du CMS
- contrôles de statut et de reprise des travaux de traduction du CMS
- API du gestionnaire de traduction et travailleurs en arrière-plan
- intégration de traduction TensorZero
- vues de documents spécifiques à une langue dans le CMS
- chargement de contenu sensible à la langue dans l'application de documentation
- persistance des traductions et suivi des hachages source