Le processus d'auto-traduction

L'utilisation de l'auto-traduction est transparente, mais le processus en coulisses comprend plusieurs étapes de comparaison et d'évaluation du contenu.

Dans CCMS Web, le processus d'auto-traduction se déroule en dehors du CCMS lui-même. Il s'agit d'un processus du Générateur de sortie qui opère sur les fichiers du kit de localisation. Voici une vue d'ensemble de son fonctionnement.

Important :
  • Pour utiliser l'auto-traduction, il est nécessaire d'effectuer quelques réglages dans la configuration du système et dans le Générateur de sortie. Contactez votre administrateur système pour vous assurer que l'auto-traduction est bien activée.
  • Tous les segments du contenu Rédaction doivent avoir un attribut @ixia_locid afin que le processus puisse les comparer aux segments équivalents dans les traductions précédentes. Si le déclencheur qui ajoute @ixia_locida été récemment activé, vous devrez peut-être verrouiller et publier les objets (ou changer leur statut) pour déclencher l'ajout de @ixia_locid.

Pour utiliser l'auto-traduction après l'avoir correctement configurée, tu ne dois rien faire pendant le processus de traduction. Tout est automatique.

Supposons que vous ayez précédemment traduit en français une carte contenant la RubriqueA (révision 5). Vous avez importé le contenu traduit, généré vos sorties et fait tout ce que vous devez faire.

Plusieurs mois plus tard, vous avez apporté un certain nombre de modifications à la RubriqueA dans Rédaction, de sorte qu'elle en est maintenant à la révision 10. Vous créez un autre manifeste de traduction et un autre manifeste de localisation. Initialement, le manifeste de localisation ne reflète pas le fait que la RubriqueA a été traduite précédemment, car à ce stade, la RubriqueA est une rubrique virtuelle basée uniquement sur Rédaction.

Vous générez le kit de localisation. En coulisses, il se passe pas mal de choses pour trouver des contenus déjà traduits. Si vous êtes intéressé par certains de ces détails, consultez la rubrique Processus complet d'auto-traduction, ci-dessous.

Une fois que le kit est généré et que vous l'avez téléchargé, disons que vous ouvrez RubriqueA dans un éditeur de texte. Vous voyez un mélange d'anglais (la langue source) et de français (la langue cible). Chaque segment qui a déjà été traduit et qui n'a pas changé est en français. Chaque segment nouveau ou modifié depuis la précédente traduction est en anglais.

C'est ce contenu mixte que vous envoyez à votre LSP.

Comment l'auto-traduction traite les segments

Lorsque l'auto-traduction détecte qu'un segment a été modifié, elle ne fait pas « remonter » le texte précédemment traduit dans le segment.

Par exemple, prenez ce paragraphe sur Rédaction, révision 5, de la RubriqueA :

<p ixia_locid="5">Spread a heavy coat of oil on the surface.</p>

Ce paragraphe entier est un segment unique, car il est entouré d'un seul ensemble de balises avec un seul attribut @ixia_locid.

Vous traduisez la révision 5 en français :

<p ixia_locid="5">Étalez une couche épaisse d'huile sur la surface.</p>

Plus tard, vous modifiez le paragraphe sur Rédaction, révision 7 :

<p ixia_locid="5">Spread a generous coat of oil on the surface.</p>

Lorsque vous traduisez à nouveau la rubrique, le processus d'auto-traduction compare ce segment dans la révision 7 au même segment dans la révision 5. Il détecte que le mot « lourd » a été remplacé par le mot « généreux ». Cependant, comme la modification se situe à l'intérieur du segment, l'auto-traduction ne la reporte pas dans le fichier du kit de localisation. Le paragraphe non traduit apparaît dans le fichier du kit de localisation.

D'un autre côté, disons que le paragraphe était celui-ci dans la révision 5 :

<p ixia_locid="5">Spread a <ph ixia_locid="6">heavy</ph> coat of oil on the surface.</p>

où l'adjectif est un segment <ph> distinct au sein d'un segment <p> plus grand. Vous traduisez en français :

<p ixia_locid="5">Étalez une couche <ph ixia_locid="6"épaisse</ph> d'huile sur la surface.</p>

et vous le modifiez dans la révision 7 :

<p ixia_locid="5">Spread a <ph ixia_locid="6">generous</ph> coat of oil on the surface.</p>

Dans ce cas uniquement, le mot modifié est en anglais dans le fichier du kit de localisation :

<p ixia_locid="5">Étalez une couche <ph ixia_locid="6">generous</ph> d'huile sur la surface.</p>

Le reste du segment, étant inchangé par rapport à la révision 5, « avance » la traduction de la révision 5 dans la révision 7.

C'est pourquoi, s'il y a des termes ou des phrases qui, une fois traduits, ne doivent jamais être retraduits, il est bon de s'assurer qu'ils constituent leur propre segment. La meilleure façon d'y parvenir est d'utiliser des clés ou des conrefs.

Le processus complet d'auto-traduction

Le processus complet que l'auto-translation utilise pour identifier les traductions précédentes et déterminer ce qu'il faut « avancer » est complexe et vous n'avez pas besoin de le comprendre pour utiliser l'auto-translation de manière efficace. Cependant, si vous êtes curieux, voici une explication quelque peu simplifiée.

Ce processus d'auto-traduction est effectué sur les fichiers du kit de localisation pendant qu'il est traité par le Générateur de sortie. Pour être plus exact, le Générateur de sortie crée d'abord le kit de localisation, puis le processus d'auto-traduction identifie le contenu à « avancer » et écrase les fichiers du kit de localisation initial pour créer le kit de localisation final. Tout cela se passe avant que le kit ne soit mis à votre disposition sur la page Mes kits/importations.

Première étape : Déterminer si le fichier est éligible à l'auto-traduction

Pour chaque fichier du kit de localisation initial, le processus détermine d'abord s'il est ou non candidat à l'auto-traduction.

  • Le processus vérifie que le fichier se termine par l'une des extensions suivantes : .ditamap, .dita ou .xml. Si c'est le cas, le processus continue d'analyser le fichier. Si ce n'est pas le cas, le processus ignore le fichier.
  • Si l'analyse est réussie, le processus vérifie l'élément racine pour voir si le fichier doit être traduit (c'est-à-dire que l'élément racine n'a pas d'attribut @translate ou a translate="yes"). Si c'est le cas, le processus continue d'analyser le fichier. Si ce n'est pas le cas, le processus ignore le fichier.
  • Ensuite, le processus vérifie que le nom du fichier contient un "_" pour indiquer la révision. Si c'est le cas, la fonction d'auto-traduction est lancée, et une copie du fichier est créée, modifiée et enregistrée. Si ce n'est pas le cas, le processus ignore le fichier.

Étape deux : Trouver la précédente bonne traduction du fichier

Si un fichier est considéré comme candidat à l'auto-traduction, le processus essaie de trouver les traductions précédentes du fichier. Si elles existent, le processus sélectionne la dernière, la plus récente. Par exemple, si la révision 10 de la RubriqueA est incluse dans le kit de localisation actuel, le processus recherche les traductions précédentes de la RubriqueA. Il trouve la révision 3 et la révision 5. La révision 5 est la plus récente, donc tout contenu traduit éligible sera « avancé » à partir de cette révision.

Si aucune traduction antérieure du même fichier n'existe, le processus cherche à savoir si le fichier a été cloné à partir d'un autre fichier et si c'est le cas, il recherche les traductions antérieures du fichier clonéDepuis comme solution de repli.

Étape trois : Évaluer chaque segment dans la traduction précédente

Après avoir déterminé la traduction précédente appropriée pour la comparaison, le processus compare chaque nœud du fichier actuel avec le nœud correspondant dans la traduction précédente.

Pour chaque segment du fichier actuel :

  • Le processus récupère la valeur de l'attribut @ixia_locid.
  • Le processus recherche dans la traduction précédente un segment ayant la même valeur @ixia_locid. S'il n'y en a pas, le segment est considéré comme nouveau. Il reste dans la langue source. S'il y en a un, le processus évalue l'attribut @translate.
  • Si le segment a translate="no" dans le fichier actuel ou dans la traduction précédente, alors translate="no" est ajouté au segment dans la copie modifiée du fichier. Si le segment a translate="yes" dans le fichier actuel ou dans la traduction précédente, alors translate="yes" est ajouté au segment dans la copie modifiée du fichier.
  • Si le segment dans la copie modifiée du fichier a translate="no" il reste dans la langue source. Si le segment a translate="yes" ou n'a pas du tout l'attribut @translate, le segment est éligible au remplacement.
  • Si le segment de la copie modifiée est éligible au remplacement, le processus compare son contenu à celui de la traduction précédente. Si le contenu est exactement le même, le processus « avance » le texte traduit du segment correspondant dans la traduction précédente dans la copie modifiée. Si le contenu n'est pas exactement le même, le segment reste dans la langue source. Pour mieux comprendre cette comparaison, voir Comment l'auto-traduction traite les segments, ci-dessus.

Le résultat est un fichier mis à jour dans le kit de localisation qui comprend tout le contenu admissible précédemment traduit.

Lorsque tous les segments de tous les fichiers ont été traités et « avancés » le cas échéant, le kit de localisation est mis à ta disposition sur la page Mes kits/importations.