Comment traduire uniquement les lignes manquantes

Comment traduire uniquement les lignes manquantes

7 septembre 2026

Vous travaillez sur un fichier où une partie du travail est déjà faite. Quatre cents lignes ont un titre en allemand. Trois mille six cents n’en ont pas. Quelqu’un, à un moment donné, a traduit le premier lot, puis le catalogue s’est agrandi.

Les outils classiques demandent tous le fichier complet. La question n’est donc pas de savoir comment le traduire, mais comment traduire uniquement la partie manquante, et ne payer que pour cette partie.

À quoi ressemble réellement un fichier partiellement traduit

Voici la structure du problème, à une échelle assez petite pour être vue d’un coup d’œil.

Un fichier où deux lignes sur quatre ont déjà un titre en allemand. Seules les deux cellules vides sont traitées, le reste du fichier est restitué à l'identique.

Transposez cela sur quatre mille lignes et les deux résultats cessent d’être similaires. Soit vous payez pour 4 000 lignes et vous révisez un diff couvrant la totalité, soit vous payez pour 3 600 et vous révisez 3 600. La seconde option permet également de laisser intacte la formulation déjà vérifiée par votre collègue.

Les cinq types de fichiers concernés

Ce n’est pas un cas particulier. C’est l’état normal de tout fichier qui a été modifié plus d’une fois.

Lignes ajoutées depuis la dernière fois. Le catalogue a augmenté de 200 produits. Les 3 800 autres sont terminés et révisés. C’est le cas le plus courant, et cela se répète chaque mois.

Une langue ajoutée à un fichier qui en possède déjà trois. Votre tableur contient des colonnes en français, allemand et espagnol. L’italien a été acté la semaine dernière et sa colonne est vide, ou inexistante. Vous voulez l’italien, tout en laissant les trois autres langues tranquilles.

Une passation de projet commencée par quelqu’un d’autre. Un freelance a traité le premier tiers avant que le projet ne stagne. Vous ne savez pas exactement où il s’est arrêté, et vous ne voulez pas le découvrir en payant pour le chevauchement.

Un fichier où un outil précédent a copié la source dans la cible comme espace réservé. C’est le piège classique, car le fichier semble terminé. Dans un export XLIFF ou PO, chaque entrée possède un champ cible, et de nombreux outils le remplissent avec une copie du texte source pour que la structure soit valide. En l’ouvrant, chaque cible est renseignée. Pourtant, presque aucune n’est traduite.

Des lignes volontairement laissées telles quelles. Des descriptions de SKU internes, un paragraphe juridique validé par votre conseil dans une seule langue, trois produits en cours de retrait. Ce ne sont pas des lacunes. Ce sont des décisions, et un outil qui les remplirait par helpfulité endommagerait le fichier.

Ces deux derniers cas expliquent pourquoi « traduire les vides » n’est pas une simple case à cocher. Ce qui est considéré comme manquant est une information que vous seul possédez, c’est pourquoi le mécanisme nécessite une phrase de votre part plutôt qu’un réglage.

Pourquoi aucun autre outil ne fait cela

Retraduire tout le fichier revient à payer deux fois pour le contenu déjà finalisé. Traduire uniquement les lacunes permet de tarifer et réviser seulement les lignes manquantes.

Un traducteur automatique n’a aucune notion de périmètre. DeepL et Google Translate prennent du texte et renvoient du texte. Il n’y a aucun moyen d’indiquer « pas cette ligne », car une ligne n’est pas un concept qu’ils perçoivent. Vous pouvez filtrer le fichier vous-même avant l’envoi et recoller le résultat après, ce qui transforme votre flux en un exercice de tableur que vous devez gérer et répéter chaque mois. Par ailleurs, et c’est un retour d’expérience client plutôt qu’un test technique : des équipes sont venues nous voir parce que sur leur contenu réel, avec leur terminologie métier, la traduction automatique ne faisait plus le poids face à leurs exigences de publication.

Un assistant généraliste peut respecter la règle pendant un moment. Copiez 50 lignes dans ChatGPT ou Claude avec l’instruction « remplis uniquement les cellules allemandes vides » et cela fonctionnera. Le problème surgit avec le volume, et il arrive silencieusement : après les premiers blocs, une ligne qui avait déjà une traduction en reçoit une nouvelle, et vous le découvrez lors de la révision, ou pire, vous ne le voyez pas. Il existe une version plus longue de cette comparaison si vous le souhaitez, mais en résumé : une règle basée sur la confiance ne peut pas être vérifiée, tandis qu’une règle appliquée par du code le peut.

Une agence fera exactement ce que vous demandez. Le coût n’est pas le tarif au mot, mais la préparation : extraire les lignes manquantes, expliquer quelles colonnes ne pas toucher, attendre, puis fusionner le résultat dans votre propre fichier. Ce travail n’est pas de la traduction, et le coût caché est que vous devrez tout recommencer à chaque mise à jour.

L’instruction devient du code, c’est pourquoi elle tient bon à la ligne 18 000

C’est la partie essentielle à comprendre, car elle explique pourquoi une règle de périmètre se comporte différemment ici.

Votre phrase n’est pas transmise comme un simple indice à un modèle de traduction. AI Glot analyse la structure de votre fichier, puis transforme votre instruction en un petit programme qui parcourt le fichier et produit la liste exacte des segments de texte concernés. Cette liste est ensuite traduite. La règle est évaluée par le code pour chaque enregistrement, ainsi l’enregistrement 18 000 subit le même test que l’enregistrement 1. Il n’y a pas de dérive, car il n’y a rien qui puisse dériver.

Ce programme est soumis à une série de vérifications avant toute consommation de crédits :

  • Il ne peut pas modifier votre fichier. Le document est comparé avant et après l’exécution du programme, et toute modification est purement et simplement rejetée. Votre fichier source n’est jamais touché, et chaque décision de périmètre s’applique uniquement au fichier de sortie.
  • Il ne peut pas inventer de texte. Chaque segment de texte sélectionné doit exister mot pour mot dans votre fichier. Il ne peut pas paraphraser une cellule au passage.
  • Chaque destination doit être un emplacement réel et scriptible. Ainsi, une règle pointant vers une colonne inexistante échoue lors de la planification plutôt que de produire un fichier aberrant.
  • Si votre règle ne correspond à rien, la planification échoue et vous en avertit. Cela peut sembler rigide, mais c’est réellement utile : c’est ainsi que vous apprenez, gratuitement, que le fichier que vous pensiez à moitié terminé est en fait fini.

« Toujours manquant » peut signifier quatre choses différentes

Voici la nuance qui détermine si votre phrase fonctionnera. Une lacune n’est pas le même objet selon le format, donc le test que votre instruction doit décrire change selon le fichier utilisé.

Une phrase simple sur le contenu manquant, et les quatre tests différents qu'elle génère selon le format de votre fichier.

Dans un tableur, une lacune est une cellule vide. Que le fichier arrive sous forme d’ export CSV ou de classeur Excel, le test est le même : cette ligne a un titre en anglais et rien dans la colonne allemande, donc cette ligne est dans le périmètre. Dites « uniquement les lignes où la colonne allemande est toujours vide ».

Dans un fichier bilingue, une lacune est une cible qui est encore identique à sa source. XLIFF et PO associent chaque entrée à un emplacement de traduction, et cet emplacement est généralement pré-rempli avec une copie de la source. L’absence de contenu n’est donc pas le bon test ; le bon test est une comparaison : « traduire uniquement les unités où la cible contient toujours le même texte que la source ». Cette simple phrase permet de traiter normalement un export WordPress de 228 unités dont 217 cibles sont encore en français original, au lieu de débattre pour savoir si le fichier est terminé.

Dans un arbre de clés, une lacune est une clé absente. En JSON ou YAML, la traduction allemande d’une chaîne existe soit en tant que clé voisine, soit elle n’existe pas, et une clé manquante peut être créée tant que son objet parent existe. Une valeur vide compte également, donc « uniquement là où la clé de est manquante ou vide » couvre les deux cas.

Dans un fichier mono-langue, il n’y a rien dans le fichier avec quoi comparer, et c’est la limite honnête. Un fichier strings.xml Android, un .strings iOS, un .properties Java, un RESX .NET et un fichier de sous-titres SRT ne contiennent qu’une seule valeur par clé. Il n’y a pas de colonne source à côté. Le statut « déjà traduit » ne peut donc pas être testé mécaniquement, car le fichier ne l’enregistre pas. Ce qui fonctionne, c’est tout ce que le fichier affiche réellement : une valeur vide, ou un marqueur que vous avez laissé, comme un préfixe TODO. Si votre seul signal est qu’une valeur « ressemble à de l’anglais », aucune règle ne peut l’exprimer de manière fiable, et vous avez intérêt à diviser le fichier avant de le télécharger.

Où placer la phrase de périmètre, et où elle ne fera rien sans prévenir

Une erreur ici et vous paierez la traduction de tout le fichier. Il y a deux endroits pour écrire une instruction, et ils ne sont pas interchangeables.

L'instruction du plan définit le texte à traduire. Les instructions du lot définissent la rédaction de chaque chaîne. Un périmètre défini au mauvais endroit n'a aucun effet.

L’instruction de planification est celle que vous saisissez avant de voir le plan. Elle est analysée en fonction de la structure de votre fichier et sert de base à l’élaboration du plan. Le périmètre (scope) se définit ici.

Les instructions de lot sont transmises lors de la traduction et appliquées au fur et à mesure de la rédaction de chaque chaîne. À ce stade, seule une chaîne est visible, donc une règle ne peut décrire que des éléments visibles dans cette chaîne : conserver un espace réservé tel quel, ne pas toucher une URL dans le contenu, ne jamais traduire un nom de produit, utiliser un registre informel.

Voici l’exemple d’un échec. Indiquez “traduire uniquement les cellules vides” dans les instructions de lot : rien ne se passe, et aucun avertissement ne s’affiche. À ce stade, il n’y a plus de notion de cellules. Il y a une seule chaîne, déjà sélectionnée et en cours de traduction, car la décision sur le périmètre a été prise plus tôt par une instruction qui ne mentionnait pas le périmètre. Le fichier revient entièrement traduit et la facture reflète ce volume.

Écrit dans les instructions de lot Pourquoi cela ne fonctionne pas Où cela doit être placé
“Traduire uniquement les cellules vides.” Aucune cellule n’est visible, seulement une chaîne. L’instruction de planification
“Ignorer la première colonne.” Une colonne relève de la structure du fichier. L’instruction de planification
“Uniquement les lignes ajoutées depuis mars.” Idem. L’instruction de planification
“Ne pas toucher à la colonne SKU.” Idem. Décrivez plutôt le contenu : “ne pas traduire les codes produits alphanumériques”. L’un ou l’autre, après reformulation

Le moyen le plus simple de s’en souvenir : le plan décide de ce qui est traduit, les instructions de lot décident de la manière dont c’est écrit.

Rédiger l’instruction

Un anglais simple, une ou deux lignes, en nommant explicitement la source et la cible. Voici des exemples qui fonctionnent tels quels :

Only the rows where the German column is still empty. Source is English.
Only translate the units where the target is identical to the source,
it is a placeholder. Leave every unit that already differs.
Fill the empty Italian column from the English one. Do not touch the
French, German or Spanish columns.
Translate the description and the SEO title into Dutch where the Dutch
version is missing. Leave the handle and the SKU alone.
Instructions for this batchOptional
On top of your glossaryApply
Décrivez la tâche en anglais simple. AI Glot la transforme en un plan que vous pouvez lire et corriger avant l'exécution.

Deux habitudes rentables. Nommez la langue source plutôt que de laisser l’outil la deviner, car l’inférence est moins fiable là où elle coûte le plus cher : les chaînes courtes et les fichiers contenant déjà des valeurs traduites, ce qui est le cas de tous les fichiers de cet article. Et nommez les colonnes ou clés que vous souhaitez laisser intactes, même si votre règle de périmètre les exclut déjà. Cela demande une simple clause et élimine toute catégorie de malentendu.

Si les mêmes termes doivent être traduits de la même manière que lors du lot précédent, ajoutez-les une fois dans un glossaire d’espace de travail. Les lignes que vous remplissez maintenant correspondront alors aux lignes remplies en mars, ce qui est l’autre condition pour finaliser correctement un fichier partiellement traduit.

Confirmez le périmètre avant de payer

Vous n’avez jamais à espérer que l’instruction a été comprise, car vous lisez le plan d’abord.

Le plan revient avec des comptes mesurés, le nombre réel d’éléments et de mots trouvés dans votre fichier, et non une estimation basée sur sa taille. Il propose trois moyens de vérification : un aperçu de l’aspect final de votre fichier, un tableau des segments de texte exacts qui seront envoyés et un résumé en langage clair de ce qui a été compris. C’est dans le tableau des éléments qu’un mauvais périmètre devient évident, car une ligne que vous pensiez exclue figure ou non dans cette liste.

Si c’est incorrect, précisez-le dans une phrase et le plan est régénéré. La création du lot et la planification sont gratuites et répétables autant de fois que vous le souhaitez. L’approbation est la seule étape qui consomme des crédits, et le montant approuvé correspond au nombre de mots mesuré dans le périmètre. Ainsi, l’erreur coûteuse évoquée dans cet article, payer pour retraduire un travail déjà fait, ne peut arriver que si vous approuvez un plan qui l’indique.

Cet ordre est plus important qu’il n’y paraît. Un outil où le périmètre est une supposition doit inspirer confiance. Un outil où le périmètre est un plan que l’on lit est un outil où se tromper ne coûte rien.

Deux autres points à savoir

Vous pouvez demander à ne récupérer que les enregistrements modifiés. Si vous avez besoin d’un petit fichier pour un réviseur plutôt que du catalogue complet, précisez-le et le résultat ne contiendra que les enregistrements ayant reçu une traduction. Cela fonctionne pour CSV, Excel, JSON, YAML, PO, XLIFF, SRT et les archives ZIP de ces formats. Cette option est volontairement refusée pour les fichiers de ressources d’applications, car une application recherche chaque clé attendue et un fichier strings.xml partiel provoque un plantage plutôt qu’un fichier plus léger.

Une règle qui doit compter sur l’ensemble du fichier ne fonctionnera pas. Pour un fichier volumineux, le programme qui sélectionne votre périmètre analyse des fenêtres de lignes consécutives plutôt que de tout voir d’un coup. Les règles basées sur la position fonctionnent, car le calcul est possible : chaque deuxième ligne, les 500 premières lignes. Une règle nécessitant un total cumulé, comme “les 200 premières lignes encore vides”, ne fonctionne pas, car aucun passage unique ne sait combien de fenêtres précédentes correspondaient déjà. Demandez toutes les lignes vides, ou une plage de lignes fixe, et les deux fonctionneront.

La portée réelle de tout ceci

Utilisez-le pour la partie véritablement répétitive : les 200 lignes apparues ce mois-ci, la quatrième langue acceptée la semaine dernière, les deux mille unités qu’un outil précédent a laissées avec leur texte source. Ce travail est fastidieux à la main, et c’est le même travail chaque mois.

Consacrez ensuite le temps de révision au résultat, et non au filtrage du fichier. De nombreuses équipes utilisent cela comme premier passage et font intervenir un réviseur, ce qui est un usage optimal de l’expertise d’un spécialiste et bien plus productif que de passer un après-midi à copier un tableur en supprimant quelques lignes.

Si vous n’avez pas encore réalisé l’un de ces processus de bout en bout, commencez par le flux complet plutôt que par le périmètre : vous trouverez un guide pour traduire un fichier CSV et un autre pour traduire un classeur Excel. La phrase sur le périmètre mentionnée plus haut s’applique à l’un ou l’autre sans modification.

Pour votre page d’accueil, engagez un traducteur. Pour les 3 600 lignes encore vides, ne payez pas pour les 400 qui ne le sont pas.

10 000 mots gratuits à l'inscription

Prêt à traduire vos fichiers volumineux ?