Je n’ai pas encore utilisé Microsoft Translate, donc vous avez une longueur d’avance sur ce point-là — bien que je soupçonne que, théoriquement, les méthodes seraient les mêmes.
J’aime bien votre idée de parser les sauts de paragraphe, mais je ne suis pas sûr qu’on puisse supposer que chaque document utilise des fins de ligne CR/LF. Les systèmes de type Unix n’utilisent que le caractère LF. Les anciens Mac n’utilisaient que le caractère CR. Windows utilise les deux. D’autres documents pourraient utiliser un octet nul comme caractère de fin de ligne.
Unicode pose ses propres problèmes puisque chaque caractère fait deux octets.
Solution possible : Examiner la fin de ligne dans la première ou les deux premières phrases, stocker cette valeur, puis convertir toutes les fins de ligne en “\n” avant de parser le document. Une fois le document traité, vous pourriez automatiquement rétablir le type de fin de ligne approprié.
Une méthode consisterait à parcourir le texte vers l’avant jusqu’à atteindre 10 000 mots, puis à revenir en arrière pour trouver un saut de paragraphe. Placer un pointeur de tête au début du bloc actuel, parcourir vers l’avant, et lorsque vous trouvez le dernier saut de paragraphe avant les 10 000 mots, placer un pointeur de queue. Découper ce bloc, le traduire, le déplacer dans le document de résultat, déplacer le pointeur de tête à la position du pointeur de queue, et continuer.
==============================
En passant, les logiciels de traduction peuvent être épouvantables car, souvent, la traduction est extrêmement sensible au contexte, contient de l’argot ou utilise du jargon. De même, les termes techniques ou les mots spécifiques à un métier ou à une compétence — qui ne devraient pas être traduits dans de nombreux cas — sont horriblement déformés. Les documents juridiques, médicaux et techniques/ingénierie sont des classiques.
J’ai soumis un document médical complexe (le compte rendu opératoire d’une chirurgie cérébrale) à deux traducteurs différents — Google et Yandex — pour le traduire en russe. Le résultat des deux traductions ressemblait davantage à une mauvaise lasagne qu’à un document lisible !