DeepL est le premier outil que la plupart des équipes essaient lorsqu’elles ont un dossier de fichiers à traduire. Pour un seul document Word ou quelques paragraphes de prose européenne, sa réputation est méritée. Les difficultés commencent quand on passe de la traduction d’un document à un processus de localisation en masse : catalogues de produits en CSV ou Excel, fichiers de langue d’application dans dix langues, documentation Markdown avec frontmatter ou feuilles de calcul partiellement traduites où seules les nouvelles lignes restent à traiter.
J’ai créé AI Glot après m’être heurté moi-même à ces mêmes limites. Au départ, je pensais qu’il suffisait d’ajouter une couche autour de l’API de traduction automatique. En examinant de près la documentation officielle de DeepL destinée aux développeurs et en échangeant avec des équipes qui migraient leurs lots, deux problèmes distincts sont apparus : les limites techniques et de facturation strictes des fichiers traités en masse, et un mécanisme de traduction chaîne par chaîne qui perd le contexte des données structurées.
DeepL Translator et DeepL API : deux produits distincts
Lorsqu’on recherche « traduction en masse avec DeepL », on pense généralement à l’un de ces deux processus : glisser-déposer un lot de fichiers dans l’application DeepL ou connecter un script à l’API DeepL. Ces deux options reposent sur des abonnements distincts et ne partagent pas leurs quotas.
- Limite mensuelle de 3, 20 ou 100 fichiers par utilisateur
- Téléversement manuel fichier par fichier dans le navigateur ou l’application
- L’abonnement ne comprend pas l’accès à l’API
- Traduction du fichier entier vers une seule langue cible
- Offre distincte à l’usage (5.49 $/mois + 25 $ par million de caractères)
- Facturation minimale de 50,000 caractères par fichier DOCX, XLSX, PPTX ou PDF
- Limite de requête de 128 KiB pour les tableaux de texte de /v2/translate
- Traduit l’intégralité du fichier téléversé, sans possibilité de sélectionner des lignes ou des colonnes
Sur le Web et sur ordinateur, les offres payantes de DeepL (récemment renommées : Starter, Advanced et Ultimate sont devenues Individual, Team et Business) imposent des quotas mensuels stricts de téléversement de fichiers par utilisateur :
- Individual : 3 traductions de fichiers par mois (jusqu’à 300,000 caractères par mois).
- Team : 20 traductions de fichiers par mois (jusqu’à 1,000,000 caractères par mois).
- Business : 100 traductions de fichiers par mois.
Comme chaque langue cible compte comme une traduction de fichier distincte, localiser 5 documents dans 6 langues consomme 30 traductions de fichiers, ce qui dépasse immédiatement le quota mensuel d’un siège Team.
Pour supprimer le compteur mensuel de fichiers, vous devez souscrire séparément à DeepL API Pro ($5.49 par mois de frais fixes, plus $25.00 par million de caractères, ou €4.99 plus €20.00 par million de caractères en Europe). L’API propose deux points de terminaison :
POST /v2/translate: accepte un tableau de chaînes de texte brut (jusqu’à 50 chaînes par appel, avec une limite stricte de 128 KiB pour le corps total de la requête). Vous devez analyser vos fichiers, en supprimer la structure, regrouper les chaînes, puis reconstruire les fichiers.POST /v2/document: accepte un fichier entier pour une seule langue cible, le traite de manière asynchrone et renvoie un fichier traduit que vous pouvez vérifier à intervalles réguliers, puis télécharger.
Fichiers pris en charge par DeepL pour le traitement en masse (et formats non pris en charge ou en version bêta)
Si vous utilisez /v2/document pour éviter d’écrire un analyseur personnalisé pour chaque format, votre flux de travail est soumis aux limites de taille de DeepL pour chaque format et à ses règles concernant les fonctionnalités alpha et bêta.
| Catégorie | Formats dans /v2/document |
Limite de taille de l’API payante | Réserves importantes indiquées dans la documentation de DeepL |
|---|---|---|---|
| Bureautique et édition en production | .docx, .doc, .pptx, .pdf, .xlsx, .idml, .mif |
100 MB (.docx, .pptx, .pdf) ou 30 MB (.xlsx, .idml, .mif), jusqu’à 1M caractères |
Chaque fichier .docx, .doc, .pptx, .xlsx et .pdf est soumis à une facturation minimale de 50,000 caractères par téléversement. |
| Web, données et sous-titres en production | .xlf / .xliff (1.2, 2.0, 2.1), .xml, .html, .dita, .txt, .json, .srt |
10 MB (.xliff, .xml), 5 MB (.html, .dita), 1 MB (.json, .txt), 150 KB (.srt) |
Les valeurs <target> existantes dans les fichiers XLIFF sont remplacées. La taille des fichiers JSON est limitée à 1 MB et celle des fichiers SRT à 150 KB, même avec une offre payante. |
| Bêta uniquement (ne pas utiliser en production) | .md, .yaml / .yml, .properties, .strings, .resx, .vtt, .xlsm, .odt, .rtf, .zip (SCORM uniquement) |
1 MB pour le code et les documents, 150 KB pour .vtt, 30 MB pour .xlsm / .odt / .rtf, 100 MB pour les fichiers SCORM .zip |
DeepL précise que ces formats ne sont pas destinés à la production et qu’ils peuvent faire l’objet de modifications incompatibles sans préavis. |
Non pris en charge dans /v2/document |
.csv, .tsv, .po / .pot, .arb, .xcstrings, .stringsdict, .ts (Qt), .toml, .ini, .jsonl, .ass / .ssa, .lrc, dossiers .zip standard |
Refusés | Les fichiers CSV sont uniquement acceptés pour téléverser des glossaires à 2 colonnes. Les archives .zip qui ne sont pas au format SCORM échouent avec l’erreur 400 Invalid or missing file extension. |
Quatre détails de ce tableau prennent au dépourvu les équipes d’ingénierie et de localisation :
- Pas de traduction native des documents CSV ou TSV. Si votre boutique e-commerce, votre PIM ou votre CMS exporte un fichier CSV,
/v2/documentle refuse. Vous pouvez convertir manuellement chaque CSV en.xlsx(ce qui entraîne une facturation minimale de 50,000 caractères par fichier et traduit toutes les colonnes sans distinction) ou créer votre propre analyseur CSV autour de/v2/translate. - Limites de 1 MB et de 150 KB pour les fichiers de développement et de sous-titres. Même avec une offre API Pro payante, les fichiers
.json,.yaml,.md,.properties,.stringset.resxsont limités à 1 MB, tandis que les [fichiers de sous-titres.srtet.vtt] sont limités à 150 KB. Un seul fichier de sous-titres de long métrage ou un fichier JSON de langue volumineux dépasse régulièrement ces limites. - Markdown et fichiers de localisation sont toujours en bêta, avec un problème connu lié au frontmatter. La documentation de DeepL avertit explicitement qu’il ne faut pas utiliser les fonctionnalités bêta dans les flux de production. Plus précisément, le guide de DeepL sur les documents signale un problème connu avec les fichiers
.md: les délimiteurs---qui encadrent les blocs de frontmatter YAML sont supprimés du fichier traduit, ce qui fusionne les métadonnées de la page avec le paragraphe d’introduction. Si votre site utilise Astro, Next.js, Hugo ou Docusaurus, la compilation échoue pour chaque page traduite. - Les dossiers ZIP standard sont refusés. L’extension
.zipdans/v2/documentn’accepte que les packages d’apprentissage en ligne SCORM contenant un fichierimsmanifest.xmlà la racine. Le téléversement d’une archive ZIP standard de fichiers de localisation renvoie une erreur400. De plus, des formats essentiels comme gettext.po, Flutter.arbet les catalogues de chaînes Xcode.xcstringsne sont pas pris en charge du tout.
Le seuil de facturation de 50,000 caractères pour Excel, Word, PowerPoint et PDF
À $25 par million de caractères, le tarif API affiché par DeepL revient à $0.025 pour 1 000 caractères. Ce calcul est valable avec /v2/translate, mais ne tient plus avec /v2/document lorsque vous traitez des lots de fichiers bureautiques.
La documentation de DeepL précise deux règles de facturation pour les fichiers .docx, .doc, .pptx, .xlsx et .pdf importés :
- Chaque document envoyé est facturé sur un minimum de 50,000 caractères, même si le fichier en contient beaucoup moins.
- Tout le contenu du fichier importé est pris en compte dans le nombre de caractères facturés, y compris le contenu qui n’a pas été traduit.
Comme /v2/document traduit un fichier vers une seule langue cible par requête, chaque langue cible multiplie ce seuil de 50,000 caractères.
- 20 fichiers Excel × 2,500 caractères = 50,000 caractères réels
- 5 langues cibles = 100 importations de documents distinctes
- Chaque importation XLSX est facturée au minimum de 50,000 caractères
- Total facturé : 5,000,000 caractères ($125 à $25/1M)
- Importez les fichiers (ou une seule archive ZIP) une seule fois
- Sélectionnez uniquement les colonnes et les lignes non vides à traduire
- Consultez d’abord le nombre exact de mots mesuré dans une offre gratuite
- Ne payez que les mots réellement traduits dans les 5 langues
Prenons un exemple : vous avez 20 petites fiches produits Excel de 2,500 caractères en moyenne (environ 400 mots par fichier, soit 50,000 caractères au total pour les 20 fichiers), à traduire dans 5 langues cibles.
- En réalité, vous traduisez 250,000 caractères au total dans ces cinq langues. À $25 par million de caractères, vous vous attendriez à payer $6.25.
- Comme
/v2/documentnécessite 100 importations.xlsxdistinctes (20 fichiers × 5 langues) et impose un seuil minimum de 50,000 caractères pour chacune, DeepL facture 5,000,000 caractères, soit $125.00 (20 fois le tarif calculé sur le nombre réel de caractères). - Même si votre fichier
.xlsxcontient plus de 50,000 caractères, DeepL prend en compte chaque caractère du classeur dans la facture, y compris les colonnes SKU, les URL, les notes internes et les lignes déjà traduites le mois dernier.
Pourquoi la traduction de fichiers entiers complique les processus de localisation et de gestion des feuilles de calcul
Le coût n’est que la moitié du problème avec les téléversements de fichiers entiers. Le problème de fond, c’est que /v2/document ne permet pas de définir un périmètre de traitement programmable. Quand vous lui confiez un fichier structuré, vous ne pouvez pas préciser quelles parties sont du contenu à traduire et lesquelles relèvent de la structure des données.
sku,handle,title_en,title_deArtikelnummer,griff,Titel_de,Titel_deSH-104,linen-shirt,Linen shirt,LeinenhemdSH-104,leinen-hemd,Leinenhemd,LeinenhemdSH-105,wool-coat,Wool coat,SH-105,woll-mantel,Wollmantel,SH-106,denim-jacket,Denim jacket,SH-106,jeans-jacke,Jeansjacke,Dans les fichiers utilisés en production, quatre lacunes apparaissent immédiatement dans le flux de travail :
- Aucune sélection de colonnes dans Excel. Si vous téléversez un classeur Excel sur DeepL, toutes les cellules contenant du texte sont traduites dans toutes les feuilles de calcul. Les identifiants des produits, les slugs de catégories, les noms de fournisseurs et les indicateurs d’état sont traduits au même titre que les descriptions de produits. La documentation de DeepL indique que les formules
VLOOKUP,MATCHetINDEXqui recherchent des chaînes littérales cessent de fonctionner si la table référencée est traduite. - Pas de traduction incrémentielle des lignes manquantes. La plupart des catalogues et des fichiers de localisation sont partiellement traduits : 3,800 lignes ont été terminées en mars et 200 nouveaux produits sont arrivés cette semaine. DeepL ne peut pas traduire uniquement les lignes manquantes d’un tableur et, dans les fichiers
.xliff, sa documentation avertit que les valeurs<target>existantes sont écrasées. Vous devez donc retirer du XML les nœuds<trans-unit>déjà traduits avant le téléversement, puis les réintégrer ensuite. - Une seule langue par téléversement de fichier. Si votre tableur contient
en,fr,deetesdans des colonnes côte à côte, DeepL ne peut pas remplir les colonnes cibles directement dans le fichier. Il renvoie un fichier distinct pour chaque langue et remplace les cellules source. - Aucun plan vérifiable avant d’engager des frais. Un appel
POST /v2/documentlance immédiatement la traduction et la facturation. Il n’y a pas d’étape de simulation pour vérifier les champs détectés, le nombre de mots concernés et le coût de la tâche avant de l’approuver.
Là où la qualité de DeepL atteint ses limites sur du contenu réel
Personne n’ayant utilisé DeepL ne prétendrait qu’il traduit mal une phrase isolée. Pour un paragraphe de prose générale en français, en allemand ou en espagnol, son moteur neuronal est rapide et produit un texte fluide.
Pourtant, des clients viennent régulièrement nous voir après avoir testé DeepL et AI Glot sur leurs propres fichiers, car la qualité de DeepL n’atteignait pas le niveau requis pour publier sur leur site, tandis que celle d’AI Glot le dépassait. Il s’agit de retours d’expérience, pas d’un benchmark formel (nous n’avons pas réalisé de benchmark synthétique face à DeepL, et méfiez-vous des fournisseurs qui inventent des scores en pourcentage). La raison tient au mécanisme de traduction par lots.
1. Chaînes isolées ou compréhension des documents et des champs
Pour créer un script autour du point de terminaison /v2/translate de DeepL afin de préserver la structure de votre CSV ou JSON, vous envoyez un tableau contenant jusqu’à 50 chaînes par requête. La spécification OpenAPI de DeepL énonce clairement cette limite : « Chaque texte du tableau est traduit indépendamment. Les textes ne partagent pas leur contexte. »
Quand un traducteur reçoit "Light" dans un tableau de chaînes isolées, il ne peut pas savoir si le fichier est un catalogue d’éclairage, un tableau de compléments alimentaires ou un bouton de changement de thème dans le menu des paramètres d’une application SaaS. Même si vous transmettez le paramètre facultatif context de DeepL à /v2/translate (qui n’est pas disponible sur /v2/document), le guide de DeepL sur le paramètre context avertit explicitement : « De nombreux utilisateurs essaient d’utiliser context comme les instructions système de ChatGPT. Cela ne fonctionne pas de manière fiable… Le contexte doit être un texte brut tiré du même document, et non des instructions. »
2. Substitution de termes ou glossaire intégré au sens
DeepL prend en charge les glossaires (v3/glossaries) dans 26 langues principales, avec une limite de 1,024 octets UTF-8 par entrée. Le système gère les principales flexions nominales et verbales, mais un glossaire de traduction automatique reste fondamentalement une table de correspondance terme à terme : chaque fois que le terme source A apparaît, il est remplacé par le terme cible B.
- Le terme est remplacé partout où le texte correspond
- Chaque chaîne est traitée de manière isolée
- Impossible d’exprimer des règles conditionnelles (p. ex. libellé d’interface ou texte courant)
- Aucune indication sur la fonction de la colonne ou de la clé
- La règle est fournie dans votre brief et le contexte environnant
- Appliquée à la rédaction de chaque chaîne
- La phrase est formulée naturellement autour du terme imposé
- La ligne 1 et la ligne 18,000 suivent exactement la même règle
Dans un vrai projet de localisation, la façon dont un glossaire est appliqué détermine si une phrase sonne naturellement :
- Un simple tableau de correspondance terme à terme ne peut pas comprendre pourquoi un terme est verrouillé ni appliquer une règle conditionnelle comme « Gardez “Pro” et “Workspace” en anglais lorsqu’ils désignent nos offres tarifaires ou les éléments de navigation de l’interface, mais traduisez-les normalement dans les phrases courantes. »
- DeepL a récemment ajouté
custom_instructionsà son APIv3/style_rules(disponible avec les offres Pro et Business pour certaines langues cibles). Chaque règle de style est toutefois limitée à 10 instructions personnalisées de 300 caractères chacune au maximum, appliquées phrase par phrase. Comme l’indique le guide de DeepL sur les règles de style, elles ne sont donc pas fiables pour les consignes qui dépendent de la structure globale du document.
DeepL et ses alternatives pour les traductions en masse
Aucun outil n’est le meilleur pour tous les types de traduction. Voici comment DeepL se compare aux principales alternatives lorsque vous devez traiter un volume important :
| Outil | Idéal pour | Formats de fichiers et périmètre | Limites |
|---|---|---|---|
| DeepL (Traducteur et API) | Les fichiers bureautiques individuels (.docx, .pptx) et les appels API de texte brut à faible latence dans les langues européennes |
14 formats en production et 10 en version bêta dans /v2/document. Fichiers entiers uniquement, une langue par envoi |
Pas de CSV, PO, ARB, .xcstrings ni d’archives ZIP génériques. Facturation minimale de 50k caractères pour les fichiers bureautiques. Écrase le contenu cible des fichiers XLIFF. Supprime le frontmatter Markdown ---. |
| AI Glot | Les fichiers structurés à traiter en masse : catalogues, feuilles de calcul, sous-titres, documents Markdown et fichiers de langue d’application | Plus de 35 formats pris en charge nativement (CSV, Excel, JSON, XLIFF, PO, ARB, .xcstrings, Markdown, SRT, DOCX, PDF, ZIP contenant jusqu’à 200 fichiers) |
Ce n’est ni un traducteur de chat en temps réel ni une place de marché d’agences humaines. |
| Plateformes TMS (Lokalise, Crowdin, Phrase) | Les équipes dotées de responsables de localisation, de connecteurs Git continus et d’un processus de révision humaine dans l’éditeur | Prise en charge étendue des formats de localisation via l’import de projets | Configuration lourde avant de pouvoir traduire le moindre fichier. Les tarifs par utilisateur et par clé hébergée deviennent élevés pour des lots de fichiers ponctuels. |
| ChatGPT / Claude (fenêtre de chat) | Traduire 20 lignes de texte, un e-mail ou trouver des idées d’accroches publicitaires adaptées au marché local | Copier-coller ou petites pièces jointes dans le chat | Les limites de jetons tronquent les fichiers de quelques centaines de lignes, les clés et les virgules des fichiers CSV se décalent, et les consignes sont oubliées en cours de fichier. |
| Weglot | Rendre un site en ligne multilingue en quelques minutes grâce à un proxy ou au JavaScript, sans toucher aux fichiers source | Traduit les pages HTML en ligne à la volée (s’appuie sur DeepL/Google en coulisses) | Dépendance au proxy et tarification élevée par palier de mots. Ne traduit pas vos fichiers CSV hors ligne, vos fichiers d’application ni vos dépôts de documentation. |
Déroulement d’un processus de traduction en masse avec périmètre défini dans AI Glot
Lorsque vous passez un lot de DeepL à AI Glot, trois aspects du processus changent : vous n’avez pas besoin de convertir votre fichier au préalable, vous définissez le périmètre de la tâche en langage courant et vous consultez le plan avant de dépenser le moindre centime.
1. Importez le fichier tel quel. Déposez un export CSV, un classeur Excel, un fichier de langue JSON, un article Markdown (en conservant son frontmatter YAML --- intact), un export XLIFF ou une archive ZIP contenant jusqu’à 200 fichiers.
2. Expliquez en une phrase ce qu’il faut faire. Au lieu d’écrire un script Python pour filtrer les lignes et supprimer les colonnes avant d’appeler une API, décrivez le périmètre en langage courant :
Translate title_en and body_html into French and German.
Only translate rows where the target cell is empty.
Leave sku, handle, and vendor untouched.
AI Glot transforme cette phrase en un programme déterministe qui traite votre fichier et sélectionne exactement les champs et les lignes concernés. La ligne 18 000 est vérifiée exactement de la même façon que la ligne 1.
3. Examinez gratuitement le plan avant de le valider. Avant la dépense du moindre crédit, le plan indique les champs correspondants, le nombre exact d’éléments et de mots, un aperçu de la structure du résultat et le coût en crédits. Si votre consigne a ciblé une colonne que vous vouliez ignorer, modifiez votre phrase et générez gratuitement un nouveau plan.
4. Appliquez le glossaire de votre espace de travail et les consignes du lot. Votre glossaire de marque et vos règles de ton accompagnent chaque lot jusque dans le modèle de traduction. La terminologie s’intègre ainsi à la grammaire de la phrase, au lieu d’être remplacée mécaniquement après coup.
5. Lancez le traitement depuis l’application, l’interface en ligne de commande ou votre agent IA. Vous pouvez effectuer les étapes dans le navigateur, automatiser le processus en CI avec la CLI aiglot, ou connecter AI Glot comme serveur MCP pour que Claude Code ou Cursor traduise directement les fichiers de langue de votre dépôt.
Quand garder DeepL et quand changer d’outil
Gardez DeepL pour traduire quelques documents Word ou présentations autonomes dont chaque ligne doit être traduite, ou si vous avez besoin d’une API de traduction automatique neuronale en moins d’une seconde pour du texte généré en direct par les utilisateurs dans un widget de chat.
Passez à un moteur de traduction qui tient compte des fichiers dès qu’une de ces situations s’applique :
- Vos données sont dans des fichiers CSV, TSV, PO, ARB,
.xcstrings, TOML, Markdown avec frontmatter ou dans un dossier ZIP contenant des fichiers de localisation. - Vous traduisez de nombreux petits fichiers
.xlsxou.docx(ou plusieurs langues cibles) et ne voulez pas payer le minimum de 50,000 caractères par fichier et par langue facturé par DeepL. - Votre fichier contient des colonnes, des clés ou des lignes déjà traduites qu’il ne faut pas modifier, et vous en avez assez d’écrire des scripts de prétraitement et de post-traitement autour d’une API.
- Vous avez besoin que votre glossaire, vos espaces réservés et votre brief de marque soient appliqués en tenant pleinement compte du contexte, pour obtenir un résultat prêt à publier dès le premier essai.
Vous pouvez tester n’importe quel format sans créer de compte avec nos outils gratuits de traduction de fichiers, ou créer gratuitement un compte AI Glot pour traduire gratuitement vos premiers 5,000 mots dans votre premier fichier et comparer les résultats côte à côte avec vos propres données. Consultez les tarifs pour les forfaits de crédits destinés aux gros volumes.
Toutes les spécifications techniques de DeepL, les limites de taille des fichiers, les mentions de version bêta et les règles de facturation citées dans cet article proviennent de la documentation officielle pour les développeurs de DeepL et de la référence des limites d’utilisation, telles qu’elles étaient en vigueur en octobre 2026. Le calcul portant sur 20 feuilles de calcul et les lignes du tableau des produits dans les schémas sont des exemples illustratifs qui montrent comment ces règles publiées s’appliquent.
