La description n'est plus traduite après modification d'une ligne

Un devis pour un client anglophone sort en anglais, puis repasse en français dès qu'on modifie une ligne. La cause : l'éditeur enrichi et une description sur plusieurs lignes. Trois façons d'en sortir.

Versions concernées
Dolibarr 20 à 24.0.1 · reproduit en 23.0.4 et 24.0.1 · corrigé dans le code de la 24.0.2 (pas encore annoncée au 4 octobre 2026)
Ce qui a été vérifié
Testé le 4 octobre 2026 sur une instance 24.0.1, par les écrans du devis : client en anglais, éditeur enrichi actif, deux produits traduits ; après modification du prix, seule la ligne dont la description tient sur plusieurs lignes repasse en français. Correctif testé en posant le fichier officiel de la 24.0.2 (core/lib/pdf.lib.php) sur la 24.0.1 ; constante MAIN_MULTILANG_TRANSLATE_EVEN_IF_MODIFIED et réenregistrement de la fiche produit testés. Reproduction antérieure sur 23.0.4 (septembre). Code de traduction des lignes (pdf_getlinedesc) comparé dans le code officiel de 20.0.4 à 24.0.2, dans les branches 22.0, 23.0, 24.0 et de développement.

Vous faites un devis pour un client dont la langue est l’anglais. Vos produits ont une traduction anglaise. Le premier PDF est parfait : tout est en anglais. Puis vous changez le prix d’une ligne, vous régénérez le PDF, et la description de cette ligne revient en français. Son libellé, lui, reste en anglais.

Ce n’est pas une erreur de configuration de votre part.

Ce qui se passe

La traduction n’est pas enregistrée sur la ligne. Elle est appliquée au moment de générer le PDF, et seulement si le texte de la ligne est resté identique à la description de la fiche produit. S’il est différent, Dolibarr considère que vous l’avez personnalisé à la main, et il le laisse tel quel.

Le problème vient de l’éditeur enrichi (WYSIWYG) des lignes. Il demande trois conditions :

  1. l’éditeur enrichi est actif sur les lignes ;
  2. la description de la fiche produit est en texte simple, par exemple parce qu’elle a été saisie avant l’activation de l’éditeur, ou importée ;
  3. cette description tient sur plusieurs lignes.

Quand vous ouvrez la ligne avec l’éditeur et que vous l’enregistrez, même pour changer seulement le prix, ses sauts de ligne deviennent des balises <br>. Les deux textes ne sont plus identiques, et Dolibarr cesse de traduire. Une description d’une seule ligne n’est pas touchée.

Le libellé n’est pas touché par l’éditeur : il reste traduit. D’où le PDF à moitié traduit.

Les solutions

  1. La correction de Dolibarr. Elle est dans le code de la 24.0.2 : Dolibarr y compare le texte des deux descriptions sans tenir compte des balises HTML. Au 4 octobre 2026, la 24.0.2 est téléchargeable sur SourceForge depuis le 2 octobre, mais elle n’est pas encore annoncée sur dolibarr.org et n’existe pas encore en image Docker. Une fois à jour, il suffit de régénérer le PDF : la traduction se fait à la génération. La correction est aussi dans la branche 23.0, mais dans aucune version 23.0.x publiée.
  2. Mettre la description du produit en HTML elle aussi. Ouvrez la fiche produit et enregistrez-la, l’éditeur enrichi actif, sans rien changer : sa description passe au même format que la ligne, et le PDF est de nouveau traduit. C’est la solution sans mise à jour, mais elle se fait produit par produit.
  3. Activer MAIN_MULTILANG_TRANSLATE_EVEN_IF_MODIFIED (valeur 1, dans AccueilConfigurationDivers). Le PDF reprend alors toujours la traduction du produit. Attention : il remplace aussi les descriptions que vous avez volontairement complétées sur une ligne, sans prévenir.

Comment cela a été vérifié

  • Sur une instance 24.0.1 de test : client en anglais, éditeur enrichi actif, deux produits traduits, l’un avec une description sur une ligne, l’autre sur deux lignes. Premier PDF en anglais. Après un changement de prix par l’écran, la description sur deux lignes repasse en français ; l’autre reste en anglais.
  • Fichier corrigé de la 24.0.2 posé sur cette instance, PDF régénéré : tout est en anglais. Même résultat avec la constante de la solution 3, et en réenregistrant la fiche produit (solution 2).
  • Avec la constante, une ligne complétée à la main (« … Livraison incluse. ») sort en anglais sans son ajout.
  • Le même problème avait été reproduit en septembre sur une 23.0.4. Dans le code officiel, la comparaison stricte est la même de la 20.0.4 à la 24.0.1 ; le correctif (n° 40405) est dans la 24.0.2.

Si vos documents multilingues restent faux

Si vos PDF mélangent encore les langues, ou si vous avez beaucoup de produits à reprendre, le diagnostic à 90 € consiste à regarder votre cas avec vous pendant une heure, puis à vous remettre par écrit la cause et ce que coûterait la correction.

À lire aussi

Dolibarrmultilanguetraductiondescription produitPDFéditeur WYSIWYG