Wuxia Thai Subtitles
Objectif
Traduire les dialogues chinois de genre wuxia en sous-titres thaïs concis, naturels et préservant l'ambiance des arts martiaux, en utilisant un vocabulaire, des noms, des titres et des pronoms cohérents tout au long de l'histoire.
Choisir le mode de travail
Vérifier d'abord les sources, puis ne sélectionner qu'un seul mode comme chemin principal :
- Mode A — Chinois sans sous-titres : Transcrire le chinois à partir de la vidéo, puis comparer les mots chinois avec le glossaire spécialisé avant de traduire en thaï.
- Mode C — Sous-titres chinois : Utiliser les sous-titres chinois comme source de traduction, conserver les sous-titres chinois dans l'image et positionner les sous-titres thaïs pour qu'ils ne se chevauchent pas.
- Mode B — Sous-titres anglais : Utiliser le temps et le sens des sous-titres anglais, mais recouper les mots clés avec l'audio ou le texte chinois avant de choisir les termes thaïs.
En présence de sous-titres chinois, utiliser le mode C en priorité, même s'il y a aussi des sous-titres anglais. Si seuls l'audio chinois et les sous-titres anglais sont disponibles, utiliser le mode B, en considérant l'audio chinois comme référence principale et les sous-titres anglais comme aide.
Préparation de l'image — Vérifier les sous-titres existants et choisir la politique
Inspecter la vidéo avant chaque traduction et classifier la langue et le type de sous-titres avant de commencer :
-
Pas de sous-titres : Ne pas créer de master propre ; transcrire, traduire et placer les sous-titres thaïs directement à la position standard.
-
Sous-titres chinois : Ne pas supprimer les sous-titres chinois. Les utiliser comme source d'aide à la traduction et pour déterminer la zone réelle, puis placer les sous-titres thaïs dans une zone sécurisée qui ne chevauche pas les sous-titres chinois, les crédits, les logos ou les visages.
-
Sous-titres anglais ou autres langues : Lire references/subtitle-removal.md et ne supprimer ou masquer que si la politique du projet le demande.
-
Sous-titres logiciels (soft) : Il s'agit de pistes de sous-titres activables/désactivables. Conserver la piste chinoise ; couper ou ne pas mapper uniquement les pistes anglaises ou autres langues à supprimer. Ne pas toucher aux pixels de l'image.
-
Sous-titres incrustés (hardcoded) : Le texte est intégré à l'image. Conserver le fichier original et créer un nouveau fichier. Ne pas écraser l'original.
Pour les sous-titres incrustés en anglais ou autres langues à supprimer, choisir la méthode dans l'ordre :
- Utiliser un fichier original propre ou une version sans sous-titres, si disponible auprès d'une source que l'utilisateur est autorisé à utiliser.
- Recadrer uniquement si les sous-titres se trouvent dans les bandes noires ou les bords de l'image sans contenu important, puis remettre à l'échelle/pad de manière cohérente tout au long du film.
- Utiliser un masque et un inpainting temporel lorsque les sous-titres chevauchent l'image réelle, en suivant la position entre les trames et en lissant les bords du masque.
- Utiliser une réparation à partir des trames adjacentes lorsque l'arrière-plan est statique et après vérification qu'aucun objet ne se déplace à travers.
- Utiliser une bande de couverture ou un flou en dernier recours, et informer l'utilisateur au préalable si le résultat est visible.
Ne pas utiliser un masque de taille unique pour toute l'histoire sans vérifier les scènes, car la position des sous-titres sur deux lignes, des légendes de traduction et des objets au premier plan peut changer.
En l'absence de sous-titres ou lorsque les sous-titres chinois d'origine sont conservés, sauter l'étape de suppression d'image et ajouter les sous-titres thaïs lors de la dernière passe d'encodage. Lorsqu'il est nécessaire de supprimer les sous-titres anglais ou autres langues, créer un master propre ou un proxy propre et combiner l'ajout des sous-titres thaïs avec l'encodage final de l'image pour minimiser la perte de qualité.
Étapes communes avant la traduction
- Vérifier le fichier source, la langue parlée, le format et la langue des sous-titres, le timing, l'intégralité des pistes audio et la politique de conservation ou de suppression des sous-titres existants.
- Lire references/wuxia-glossary.md pour la terminologie chinoise, et lire references/english-chinese-bridge.md en présence de sous-titres anglais.
- Créer un
glossaire de projetavant la traduction longue, en enregistrant au moins :- Noms de personnages et surnoms
- Écoles, factions, sectes, clans et cours impériales
- Titres, rangs et relations entre les personnages
- Noms de techniques, armes, manuscrits, médicaments et lieux
- Pronoms personnels utilisés par chaque personnage
- Définir la politique de noms avant de commencer : utiliser les noms thaïs officiels, les noms des traductions anciennes, ou la translittération du mandarin.
- Marquer les termes incertains comme
à confirmer. Ne pas deviner et les utiliser comme confirmés.
Mode A — Chinois sans sous-titres
- Transcrire le chinois avec le timing, en choisissant clairement la langue chinoise et en conservant le texte source.
- Diviser les phrases selon le sens et le rythme de parole, sans couper les noms ou les expressions au milieu d'une unité.
- Vérifier les segments où l'ASR n'est pas confiant en réécoutant, en se concentrant sur les noms de personnes, les écoles, les techniques, les nombres, les négations et les termes de parenté au sein de l'école.
- Comparer le texte chinois avec references/wuxia-glossary.md et le
glossaire de projet. - Traduire en fonction du sens, de l'intention et du statut du personnage, sans traduire mot à mot le chinois.
- Consigner les répliques inaudibles dans une liste QA avec le timing et les mots chinois possibles.
- Créer les sous-titres thaïs en conservant le rythme du chinois, puis effectuer la QA finale.
Ne pas traduire à partir d'un texte ASR contenant des noms propres erronés sans vérifier l'audio, car une seule erreur rendra le nom incorrect tout au long de l'histoire.
Mode C — Sous-titres chinois
- Utiliser le texte et le timing des sous-titres chinois comme modèle principal un-à-un : lorsque le sous-titre chinois commence, le sous-titre thaï commence en même temps, et le sous-titre thaï disparaît en même temps que le sous-titre chinois. Ne pas utiliser le timing ASR à la place du timing des sous-titres chinois.
- S'il s'agit de sous-titres logiciels (soft), copier les
startetendde chaque réplique chinoise exactement ; s'il s'agit de sous-titres incrustés (hardcoded), inspecter les trames pour trouver la première trame où le chinois apparaît et la première trame où il disparaît, puis utiliser les mêmes limites de temps pour le thaï. La tolérance ne doit pas dépasser 1 trame. - Traduire selon chaque réplique chinoise sans fusionner plusieurs répliques chinoises en une seule longue réplique thaïe. Si le thaï est trop long à lire, raccourcir le texte ou diviser selon les changements de réplique chinoise. Ne pas allonger la réplique thaïe au-delà du temps d'affichage du chinois.
- Utiliser l'audio/ASR uniquement pour corriger les erreurs de l'OCR sur les caractères chinois et vérifier la couverture. Si l'audio parle réellement mais que le sous-titre chinois est manquant, ajouter une réplique thaïe de type
manual_missing_chinese_cueselon le timing de l'audio, et l'enregistrer dans le rapport QA. - Traduire toutes les répliques de dialogue, à l'exception des paroles des génériques d'ouverture/fermeture qui ont été enregistrées comme sautées.
- Conserver les sous-titres chinois d'origine dans la vidéo, et mesurer la boîte englobante du chinois, des crédits et des légendes pour définir la zone sécurisée des sous-titres thaïs.
- Ajuster la position des sous-titres thaïs par segment lorsque les sous-titres chinois ou les crédits changent de position. Ne pas utiliser une seule position pour toute l'histoire si un chevauchement se produit.
- Effectuer une vérification de couverture en comparant les répliques chinoises, la parole audio et les répliques thaïes pour confirmer qu'aucun dialogue n'a été omis.
Mode B — Sous-titres anglais
- Conserver les numéros et le timing originaux des fichiers SRT/ASS/VTT par défaut.
- Utiliser les sous-titres anglais comme structure de sens et de rythme, sans considérer les termes anglais comme des noms définitifs.
- Écouter l'audio chinois ou utiliser le texte/les sous-titres chinois pour trouver les mots chinois sources des noms, titres, écoles, techniques, armes, expressions et systèmes de puissance.
- Appliquer la règle
anglais → mot chinois possible → thaïen utilisant references/english-chinese-bridge.md. - Résoudre les ambiguïtés contextuelles pour des termes comme
master,sect,clan,cult,chief,elder,senior,energy,cultivationetrealm. - Vérifier les informations que les sous-titres anglais peuvent avoir omises ou généralisées, en particulier le genre, l'ordre des générations, les négations, les nombres, les noms de techniques et le niveau de politesse.
- Traduire en thaï à partir du sens du texte chinois confirmé, en utilisant les sous-titres anglais pour le sens général et le timing.
- En l'absence d'audio ou de texte chinois à vérifier, marquer le statut comme
inféré de l'anglaisdans le glossaire et le rapport QA. Ne pas rapporter comme confirmé avec le chinois.
Les sous-titres anglais peuvent fusionner deux phrases chinoises ou diviser une seule phrase en plusieurs répliques. Vérifier le sens entre les répliques avant de traduire, mais ne pas modifier le timing sans nécessité.
Principes de choix des mots
Termes généraux vs noms propres
- Traduire les termes généraux en thaï :
江湖→ยุทธภพ,内功→กำลังภายใน - Transcrire les noms de personnes, d'écoles, de techniques et de lieux spécifiques en mandarin lorsqu'il n'existe pas de nom thaï officiel.
- Utiliser les noms thaïs du détenteur des droits d'auteur ou des versions diffusées officiellement en premier, si l'utilisateur fournit des références.
- Ne pas alterner entre une traduction et une translittération en cours d'histoire. Par exemple, ne pas utiliser à la fois
ตันเถียนetจุดรวมลมปราณpour la même chose sans raison. - Si un terme a deux significations, choisir en fonction du rôle dans l'histoire et enregistrer le terme choisi.
Distinguer les types d'organisations
门派→สำนัก帮→พรรคouแก๊งselon le niveau de langue et l'époque.教→นิกายlorsqu'il s'agit d'une religion ou d'un culte ; utiliserพรรคมารuniquement lorsque le contexte l'appelle intentionnellement.宗→นิกาย,สำนักouตระกูลselon la structure de l'organisation.宫→ตำหนัก山庄→คฤหาสน์ouสำนัก...จวงselon le nom officiel.镖局→สำนักคุ้มภัย
Distinguer les titres souvent confondus
掌门→เจ้าสำนัก门主 / 帮主 / 教主 / 宗主→ประมุข...avec le type d'organisation盟主→ประมุขพันธมิตรยุทธ์长老→ผู้อาวุโส堂主→หัวหน้าหอ舵主→หัวหน้าสาขา护法→ผู้พิทักษ์
Ne pas traduire tous les postes par ประมุข, car la hiérarchie du pouvoir serait perdue.
Pronoms et niveau de langue
- Maintenir les relations et le statut de manière plus claire que de conserver chaque mot chinois.
- Utiliser
ข้า / เจ้า / ท่านcomme valeur par défaut pour les dialogues du monde des arts martiaux. - Utiliser
กระหม่อม / หม่อมฉัน / ฝ่าบาท / พระองค์uniquement dans un contexte de cour impériale. - Utiliser
อาตมาpour les moines bouddhistes, etข้านักพรตou une forme adaptée pour les personnages taoïstes. - Utiliser
ผู้น้อย / ผู้เยาว์lorsque le locuteur s'abaisse devant une personne plus âgée. - Utiliser
ผู้เฒ่าlorsque le locuteur est âgé et que le ton le permet. - Supprimer les appels redondants lorsque la ligne est serrée, mais ne pas rendre impossible la connaissance de qui parle à qui.
- Éviter le thaï archaïque inutile comme
ไฉน,บัดเดี๋ยวนี้,หาได้ไม่; ne les utiliser que si le ton de l'épisode le permet.
Noms de techniques et de mouvements
- Traduire les noms qui décrivent clairement une image ou une fonction, par exemple
降龙十八掌→สิบแปดฝ่ามือพิชิตมังกร - Conserver la même structure de nom pour les noms répétés dans tous les épisodes.
- Utiliser
วิชาpour un système d'entraînement,เพลง...pour une séquence de mouvements enchaînés,กระบวนท่าpour un mouvement spécifique, etเคล็ดวิชาpour un principe d'entraînement interne. - Si un nom est unique et pas encore certain, mettre une traduction temporaire dans le
glossaire de projetavec le statutต้องยืนยัน(à confirmer) plutôt que de changer entre les scènes.
Distinguer Wuxia de Xianxia
- Utiliser
กำลังภายใน,วรยุทธ์,ลมปราณ,ยุทธภพpour les histoires de type wuxia (arts martiaux internes). - Utiliser
พลังปราณ,ตบะ,ผู้บำเพ็ญ,แก่นปราณ,ข้ามด่านเคราะห์,เซียนlorsque l'histoire a un système d'entraînement à l'immortalité clair (xianxia). - Ne pas utiliser
ตบะà la place de功力dans une histoire wuxia générale. - Ne pas traduire automatiquement
走火入魔parกลายเป็นมาร(devenir démon). Utiliserธาตุไฟเข้าแทรกlorsqu'il s'agit d'une erreur d'entraînement.
Format des sous-titres thaïs
- Avant de créer un ASS ou de rendre, lire references/rendering-guardrails.md et utiliser les règles qui y sont définies comme porte de rendu. Ne pas deviner la taille de police à partir de constantes de projets précédents.
- Utiliser par défaut la couleur jaune pour les sous-titres thaïs (
#FFFF00; ASS&H0000FFFF) avec une bordure noire opaque pour la lisibilité sur les scènes sombres et claires, sauf si l'utilisateur spécifie une autre couleur. - Utiliser le jaune pour les fichiers ASS et les vidéos avec sous-titres brûlés (burn). Les fichiers SRT étant en texte brut, la couleur n'est pas garantie lors de l'ouverture dans un lecteur.
- Calculer la taille initiale à partir de l'image de sortie réelle après rotation/mise à l'échelle :
round(min(display_height × 0.042, display_width × 0.046)), puis limiter à28–96; exemple pour 1920×1080, utiliser environ 45, pas 52 ou 120 automatiquement. - Définir la bordure noire à
clamp(round(font_size × 0.07), 2, 6)et utiliser une ombre de 0–1 ; ne pas faire de bordure épaisse au point que les lettres semblent plus grandes que leur taille réelle. - Définir ASS
PlayResX/PlayResYsur les dimensions de l'image de sortie,ScaledBorderAndShadow: yes,Timer: 100.0000,WrapStyle: 0,BorderStyle=1, et vérifier que la police possède réellement les glyphes thaïs. - Utiliser des styles nommés pour différentes positions plutôt que des overrides par réplique ; ne pas laisser
\fs,\fscx,\fscy,\pos,\move,\t,\fad,\fadeou\alphadans le Dialogue sans raison et sans vérification, car cela peut rendre certaines répliques trop grandes, sauter ou sembler bloquées. - Limiter à 2 lignes maximum par réplique.
- Diviser les lignes selon les phrases et le sens, sans couper les noms, titres ou expressions au milieu d'une unité.
- Utiliser des phrases courtes et supprimer les mots superflus que le chinois utilise pour insister, mais conserver les informations importantes.
- Éviter les parenthèses expliquant la terminologie à l'écran ; choisir des mots thaïs compréhensibles ou créer un glossaire séparé.
- Utiliser le signe
…uniquement pour les paroles interrompues et—uniquement pour les interruptions brusques lorsque le format de fichier le supporte. - Ne pas ajouter de jurons ou d'émotions absents de la source originale.
- Ne pas faire parler les personnages de manière trop moderne par rapport à l'époque, sauf si la source originale a intentionnellement un ton humoristique contemporain.
Preflight de rendu — Prévenir les polices trop grandes et les sous-titres bloqués
Effectuer ces étapes après avoir créé le SRT/ASS et avant le rendu complet. Ne pas sauter :
- Vérifier que le SRT et l'ASS utilisent le même inventaire de répliques : le nombre de répliques, le texte, les heures de début et de fin, et l'ordre doivent correspondre selon la politique du mode.
- Exécuter
python scripts/subtitle_preflight.py <thai.ass> --compare <thai.srt> --width <display_width> --height <display_height> --fps <fps> --media-duration <seconds> --strict --json <report.json>et l'exécuter à nouveau avec le SRT. - Bloquer le travail en cas de temps
end ≤ start, de réplique dépassant la fin de la vidéo, de réplique se chevauchant dans le même style/calque, de réplique dépassant 8 secondes non vérifiée, d'override d'événement risqué, de PlayRes incorrect, de Timer différent de 100, ou de police plus grande que la plage calculée. - Les répliques de dialogue de plus de 6 secondes doivent être vérifiées sur l'image/audio réelle ; la dernière réplique, les répliques qui se chevauchent, les répliques modifiées et les répliques avant un changement de scène doivent être vérifiées pour confirmer qu'elles disparaissent réellement après le temps de fin.
- Rendre un échantillon de 10 à 20 secondes d'au moins 4 types : réplique courte, réplique longue / deux lignes, scène avec chinois ou crédits, et intervalle de changement rapide de réplique. Visualiser à 100% et à environ 50%.
- Ne pas faire le rendu complet tant que l'échantillon ne montre pas de polices trop grandes, de texte débordant, de voyelles/diacritiques tronqués, de tofu/fallback, de sous-titres chevauchant l'image, ou d'anciens sous-titres restant après une nouvelle réplique.
- En cas de changement de résolution, de format d'image, de police ou de variante de sortie, recalculer le style et repasser par l'échantillon. Ne pas copier directement Fontsize/Margin depuis une autre sortie.
Règles de timing pour éviter les sous-titres bloqués
- Définir chaque réplique avec
0 ≤ start < end ≤ media_duration + 1 frame; ne pas avoir de temps de fin vide, dépassant une constante factice comme9:59:59, ou s'étendant jusqu'à la fin du fichier sans vérification. - Ordonner les événements par temps et style/calque ; vérifier les textes en double qui se suivent, car ils peuvent sembler être la même réplique bloquée.
- En mode A/B, corriger les chevauchements non intentionnels en se basant sur l'audio réel, sans supprimer la réplique.
- En mode C, ne pas couper le temps du master chinois pour résoudre les chevauchements ; conserver le start/end chinois un-à-un, puis résoudre l'appariement du calque/style ou de la position à la place.
- Après le burn-in, vérifier les trames
end - 1,end + 1etend + 2des répliques longues, de la dernière réplique, des répliques qui se chevauchent et des répliques ayant déjà posé problème, pour confirmer que les pixels de l'ancien sous-titre ont bien disparu.
Portée des génériques d'ouverture et de fermeture
- Sauter la transcription et la traduction des paroles des génériques d'ouverture et de fermeture par défaut, et enregistrer les plages horaires sautées dans le rapport QA.
- Ne pas considérer les plages de paroles enregistrées comme des répliques manquantes.
- Si des dialogues, des éléments d'histoire ou des narrations importantes sont intercalés pendant les chansons, traduire ces parties normalement.
- Il faut toujours vérifier l'image pendant les chansons pour éviter que les sous-titres thaïs ne chevauchent les crédits, et pour confirmer que les sous-titres chinois à conserver ne sont pas endommagés.
QC et QA finaux — Ne pas sauter
Effectuer deux passes distinctes après la fin de la traduction et après la création des fichiers réels. Ne pas utiliser la vérification en cours de traduction à la place des passes QC/QA, et ne pas livrer tant que les deux passes ne sont pas passées.
Étape obligatoire — Vérifier les paroles rapides et les répliques manquantes dans la source
- Créer une
carte de couverture de la paroleà partir de l'audio complet de l'extrait avec VAD/ASR, indépendante de la liste des répliques sources. Ne pas utiliser le nombre de répliques SRT/OCR/ASR originales comme preuve que la traduction est complète. - Effectuer une deuxième passe de vérification audio sur les segments de parole rapide, de parole superposée, de réplique de moins d'une seconde, d'interjection, de parole faible, de coupure de scène, et les espaces où le VAD détecte une voix humaine mais sans réplique thaïe, en utilisant des fenêtres courtes et des intervalles qui se chevauchent si nécessaire.
- Pour les sous-titres chinois incrustés, effectuer un OCR aléatoire sur plusieurs trames dans les zones à risque, pas seulement sur la trame centrale, car les phrases courtes peuvent apparaître et disparaître entre les points d'échantillonnage.
- Comparer
tous les segments de parole → répliques chinoises/anglaises trouvées → répliques thaïessegment par segment, puis créer une liste deparole non couverteavec le timing, vérifier en écoutant ou en regardant l'image, et ajouter la traduction jusqu'à ce qu'il n'y en ait plus. - Ne pas sauter automatiquement la totalité des génériques d'ouverture ou de fermeture. Ne sauter que les paroles réellement chantées dans les plages horaires enregistrées ; les dialogues, interjections, éléments d'histoire, extraits du prochain épisode et paroles intercalées doivent être traduits.
- Ne pas valider le QC tant que
segments de parole non couverts = 0,répliques de dialogue manquantes = 0etdrapeaux de parole rapide non résolus = 0après déduction des seules plages de paroles autorisées à sauter.
Passe 1 — QC de l'exhaustivité et de la propreté
- Comparer tous les segments de parole avec les répliques sources et les répliques thaïes de bout en bout, sans compter les plages de paroles des génériques d'ouverture/fermeture enregistrées comme sautées.
- Vérifier l'intégralité du clip du début à la fin en utilisant la
carte de couverture de la paroleet vérifier tous les segments de parole rapide/réplique courte marqués. Ne pas vérifier uniquement les répliques que le système de transcription a réussi à créer. - Confirmer que tous les dialogues ont été traduits, qu'il n'y a pas de répliques vides, de texte temporaire ou de langue source restante intentionnellement dans le fichier de sous-titres thaïs.
- Vérifier le nombre de répliques, l'ordre, les heures de début et de fin, les espaces entre les paroles, et les répliques que l'ASR/les sous-titres sources ont pu manquer.
- Vérifier tous les endroits où il a été demandé de supprimer les sous-titres anglais ou autres langues pour s'assurer qu'ils sont propres, sans résidus de caractères, d'ombres, de bordures, de boîtes ou de clignotements.
- Ne pas considérer les sous-titres chinois que l'utilisateur a demandé de conserver comme des résidus de sous-titres, et vérifier que les sous-titres thaïs ne chevauchent pas les sous-titres chinois.
- En mode C, vérifier que chaque réplique de dialogue chinoise a une réplique thaïe correspondante un-à-un et que les heures de début et de fin correspondent à 1 trame près ; exception faite des paroles enregistrées comme sautées et des répliques audio...
[...tronqué pour la traduction]