Comment traduire un fichier SRT sans modifier les horodatages
Traduisez le texte des sous-titres tout en verrouillant les numéros de repère et les timecodes, puis validez la séquence, l’encodage et la lecture avant la livraison.

Réponse rapide : traduire le texte des repères, verrouiller les identifiants et les timecodes
Un fichier SRT est un fichier de données temporisé, pas une transcription avec des horodatages décoratifs. Traduisez uniquement le texte des sous-titres. Conservez chaque numéro de repère, horodatage, ligne vide de séparation et balise de formatage prise en charge à sa place, puis comparez les structures de repères source et cible avant de regarder la vidéo.
Pour un flux de travail adapté aux fichiers, téléversez le fichier d’origine dans le traducteur SRT au lieu de copier les sous-titres dans une zone de texte non structurée. La prise en compte du fichier réduit le risque structurel, mais vous devez quand même valider la sortie par rapport à la source et à la vidéo.
Voici la règle non évidente : la préservation des timecodes est nécessaire, mais elle n’est pas suffisante. Un repère cible peut conserver exactement les mêmes horodatages et quand même échouer parce que la phrase traduite est trop longue pour être lue, se coupe au mauvais endroit, ou renvoie à un locuteur qui n’est pas encore apparu.
Structure d’un fichier SRT
Un repère typique contient quatre parties :
17
00:00:41,500 --> 00:00:44,200
<i>MAYA:</i> The total is €1,249.50.
17est le numéro du repère.00:00:41,500est l’heure de début.00:00:44,200est l’heure de fin.- La ou les lignes restantes sont le texte affiché.
Le format SRT utilise couramment une virgule entre les secondes et les millisecondes, et --> entre le début et la fin. Une ligne vide sépare un repère du suivant. Certains lecteurs tolèrent des variantes ; un flux de traduction fiable ne dépend pas de cette tolérance.
Téléchargez le test de résistance synthétique pour la traduction SRT. Il comprend du dialogue, des italiques, une étiquette de locuteur, une date, une devise, du texte CJK, de l’arabe, du cyrillique et des caractères latins accentués. Le contenu est fictif, donc il peut être utilisé sans risque pour des tests de parseur et d’encodage.
Pourquoi la traduction par copier-coller casse les fichiers SRT
Les flux de texte généralistes peuvent confondre la structure avec le contenu. Les échecs fréquents incluent :
- la traduction ou la renumérotation des identifiants de repère ;
- la modification du séparateur d’horodatage ou de la virgule décimale ;
- la fusion de deux repères courts en un seul paragraphe ;
- la suppression d’un repère répété ou apparemment vide ;
- le renvoi du fichier entouré de balises Markdown ;
- la réécriture des étiquettes de locuteur sous forme de prose ;
- la suppression des balises
<i>ou l’émission d’un balisage rich text non pris en charge ; - le remplacement des séparateurs de repères vides par des lignes repliées.
Même une bonne traduction sur le plan linguistique est inutilisable lorsque le lecteur ne peut plus analyser le fichier.
Flux de traduction étape par étape
1. Préserver l’original
Conservez le SRT source inchangé. Travaillez sur une copie marquée par langue, par exemple interview.en.srt → interview.es.srt.
2. Vérifier que la source s’analyse correctement
Ouvrez la source dans un éditeur de sous-titres ou un lecteur avant de la traduire. Si la source contient déjà des timecodes qui se chevauchent, des séparateurs manquants ou un mauvais décalage vidéo, corrigez ou documentez d’abord ces défauts.
3. Détecter l’encodage
Utilisez l’UTF-8 pour une sortie multilingue, sauf si la spécification de livraison exige explicitement autre chose. Les consignes de transcription de YouTube indiquent que les fichiers de transcription non anglais doivent être encodés en UTF-8, ce qui constitue une base raisonnable pour les fichiers de sous-titres internationaux (Aide YouTube).
4. Geler les champs structurels
Traitez les numéros de repère et les lignes d’horodatage comme du contenu protégé. Si un outil ne peut pas les verrouiller, traduisez par petits lots et validez après chaque lot.
5. Traduire des repères complets avec le contexte voisin
Traduisez le texte affiché, mais fournissez le repère précédent et le suivant pour le contexte. Les sous-titres divisent souvent une phrase sur plusieurs repères ; une traduction isolée peut modifier le temps, les pronoms ou l’ordre des mots de manière incohérente.
6. Re-segmenter pour la langue cible
Conservez le minutage du repère sauf si vous êtes autorisé à le retimer, mais ajustez le saut de ligne cible à l’intérieur du repère. Coupez aux frontières naturelles des groupes de mots, pas après des articles, des prépositions, des noms ou des groupes verbaux étroitement liés.
7. Exécuter une validation structurelle
Comparez le nombre de repères, les identifiants, les horodatages, l’ordre, les balises et les séparateurs vides entre la source et la cible. Faites-le avant la révision linguistique afin que les réviseurs ne perdent pas de temps sur un fichier qui ne peut pas se charger.
8. Regarder toute la piste cible
Les contrôles automatisés ne peuvent pas dire si un sous-titre apparaît avant que le locuteur parle, masque un texte essentiel à l’écran, ou reste lisible pendant un échange rapide.
Préserver les sauts de ligne, les italiques et les étiquettes de locuteur
Ne conservez pas mécaniquement les sauts de ligne source lorsque la syntaxe cible change. Préservez le repère, puis choisissez un saut de ligne lisible dans la langue cible.
Par exemple, cette coupure source est mauvaise :
We approved the proposal
after the final review.
Si la langue cible place la condition en premier, la coupure naturelle peut se déplacer. Le bon objectif est le groupement sémantique, pas la reproduction du découpage source pixel par pixel.
Conservez les italiques significatifs uniquement si la destination les prend en charge et si le guide de style les demande. Préservez les étiquettes de locuteur de manière cohérente. YouTube recommande des repères tels que [music] pour les sons et >> pour identifier les locuteurs dans les flux de transcription (Aide YouTube); ; d’autres clients peuvent exiger une convention différente.
Valider le nombre de repères et l’ordre des horodatages
Utilisez ce tableau d’invariants :
| Vérification | Résultat attendu | Bloquant ? |
|---|---|---|
| Nombre de repères | Les nombres source et cible correspondent | Oui, sauf si un retiming approuvé a changé le total |
| Identifiants de repère | Les mêmes identifiants uniques dans le même ordre | Oui |
| Texte d’horodatage | Correspondance octet pour octet quand le minutage est verrouillé | Oui |
| Début avant fin | Chaque repère a une durée positive | Oui |
| Ordre de séquence | Aucun saut accidentel en arrière | Oui |
| Balises | Équilibrées et prises en charge | En général |
| Texte visible | Chaque repère source a un repère cible intentionnel | Oui |
N’utilisez pas la taille du fichier comme indicateur indirect. L’expansion due à la traduction agrandit la cible ; un nombre d’octets similaire ne prouve rien.
Vérifier les sous-titres par rapport à la vidéo
Relisez à vitesse normale et incluez ces moments difficiles :
- le dialogue le plus rapide ;
- deux locuteurs qui alternent rapidement ;
- les noms, dates, devises et mesures ;
- un dialogue qui traverse un changement de plan ;
- du texte en concurrence avec des panneaux ou des bandeaux ;
- les chansons, effets sonores et voix hors champ ;
- le premier et le dernier repère ;
- au moins une section contenant chaque balise de formatage prise en charge.
Utilisez la checklist QA de traduction de sous-titres pour évaluer la lisibilité et la segmentation après la validation structurelle.
Erreurs SRT courantes et correctifs
| Symptôme | Cause probable | Correctif |
|---|---|---|
| Le lecteur rejette le fichier | Syntaxe d’horodatage ou séparateurs de repère cassés | Comparez le premier repère défaillant à la source |
| Les sous-titres dérivent mais les timecodes correspondent | Mauvaise piste source ou montage vidéo | Alignez le fichier source sur la version exacte de la vidéo |
| Le texte s’affiche en carrés ou en mojibake | Encodage ou prise en charge de la police | Enregistrez en UTF-8 et testez l’environnement de lecture |
| Une phrase apparaît sous le mauvais locuteur | Fusion de repères ou traduction sans contexte | Restaurez les limites des repères et revoyez les repères voisins |
| Les repères sur deux lignes deviennent des blocs de texte | Expansion dans la langue cible | Condensez, reformulez, ou obtenez l’autorisation de retimer |
| Les italiques restent ouverts sur les repères suivants | Balises non équilibrées | Validez les balises par repère et fermez-les localement |
Quand il ne faut pas conserver chaque horodatage
Ne promettez pas la préservation des horodatages lorsque le minutage source est défectueux, que la langue traduite exige une segmentation sensiblement différente, ou que la vidéo elle-même a été remontée. Dans ces cas, conservez la source comme référence d’audit et créez une piste cible explicitement retimée.
Le verrouillage des horodatages est une contrainte de traduction, pas un substitut au travail d’auteur de sous-titres.
FAQ
Puis-je traduire uniquement le texte d’un fichier SRT ?
Oui. Traduisez les lignes de texte tout en protégeant les numéros de repère, les horodatages et les séparateurs. Validez ensuite que chaque repère source possède toujours un repère cible intentionnel.
Les sous-titres traduits doivent-ils avoir le même nombre de repères ?
Quand le minutage est verrouillé, oui. Un nombre différent signale fortement que des repères ont été fusionnés, perdus ou divisés. Un flux professionnel de retiming peut modifier ce nombre délibérément, mais cela doit être documenté.
Puis-je modifier les sauts de ligne sans changer les horodatages ?
Oui. Les sauts de ligne font partie du texte affiché, pas du minutage du repère. Déplacez-les vers des frontières naturelles de groupes de mots dans la langue cible.
Quel encodage dois-je utiliser pour des fichiers SRT traduits ?
L’UTF-8 est le choix par défaut le plus sûr pour du texte multilingue. N’utilisez un encodage hérité que lorsqu’un système de livraison documenté l’exige.
Pourquoi mon SRT traduit se charge-t-il mais semble quand même incorrect ?
L’analyse et l’affichage sont deux tests différents. Le fichier peut être structurellement valide alors que ses repères sont trop longs, mal segmentés, mal synchronisés pour la version de la vidéo, ou non pris en charge par la pile de polices du lecteur.
Articles connexes




