武侠泰语字幕技能
目标
将中文武侠、仙侠、历史奇幻类视频中的对话翻译成简洁、自然、保留江湖氛围的泰语字幕。全剧术语、人名、头衔、人称代词保持统一。
选择工作模式
首先检查源文件,然后选择一种模式作为主路径:
- 模式 A — 中文无字幕: 从视频中提取中文语音,转录为文字,然后对照专业术语表翻译成泰语。
- 模式 C — 有中文字幕: 直接使用中文字幕为源,保留原中文字幕在画面中,并放置泰语字幕避免重叠。
- 模式 B — 有英文字幕: 借鉴英文字幕的时间和核心含义,但回查中文语音或剧本以确定关键术语的泰语译法。
如果存在中文字幕,首选模式 C,即使同时存在英文字幕。如果只有中文语音和英文字幕,使用模式 B,以中文语音为准,英文字幕为辅。
画面准备阶段 — 检查原有字幕并制定策略
每次翻译前检查视频,分类并识别字幕的语音和类型:
-
无字幕: 无需制作清洁版母板。直接转录、翻译,并将泰语字幕放置在标准安全区域。
-
有中文字幕: 不得删除原中文字幕。将其作为翻译源并测量其实际显示区域。将泰语字幕置于不与中文字幕、片尾致谢、标识或演员面部重叠的安全区域内。
-
有英文字幕或其他语言字幕: 阅读 references/subtitle-removal.md。仅当项目策略要求时,才清除或隐藏。
-
软字幕: 即可以打开或关闭的字幕轨道。保留中文轨道;仅移除或取消映射英文或其他需要移除的轨道。切勿修改视频像素。
-
硬字幕: 文字已嵌入画面。保留原始视频文件,新建一个副本。切勿覆写原始文件。
对于需要清除的英文或其他语言的硬字幕,按以下优先级选择方法:
- 使用原始的、无字幕的视频文件(前提是用户有合法使用权限)。
- 仅当字幕位于黑色边框或画面边缘、不包含重要内容时才进行裁剪,然后进行等比缩放/填充。全剧保持统一处理。
- 当字幕覆盖在画面上时,使用遮罩和时序修复。跟踪遮罩位置在帧间变化并羽化边缘。
- 当背景静止且确认无移动物体经过时,从相邻帧进行修补。
- 使用色块或模糊遮盖作为最后手段;如果结果显然可见,须预先通知用户。
不要在不检查场景的情况下使用固定大小的遮罩覆盖全片,因为两行字幕、翻译标签或前景物体的位置可能会变化。
当无字幕或保留原中文字幕时,跳过画面清除步骤,并在最终编码阶段添加泰语字幕。当需要清除英文字幕或其他语言字幕时,创建清洁版母板或清洁版代理,并将添加泰语字幕与最终画面编码合并,以减少画质损失。
翻译前协作步骤
- 检查源文件:包含的语言、字幕格式和语言、时长、音轨完整性,以及“保留或清除原有字幕”的策略。
- 阅读 references/wuxia-glossary.md 了解中文术语,并在有英文字幕时阅读 references/english-chinese-bridge.md。
- 在长片翻译前创建
项目术语表,至少记录:- 角色姓名及字/号
- 门派、帮会、教派、家族、朝廷
- 头衔、职位、角色间关系
- 功法、武器、秘籍、丹药、地点名称
- 每个角色使用的自称/对称
- 在开始前确定命名策略:使用官方泰语译名、现有译本译名,或按汉语拼音音译。
- 标记所有不确定的术语为
需确认。切勿凭猜测确认。
模式 A — 中文无字幕
- 转录中文语音及其时间码,明确语音类型,并保存原文。
- 根据语义和说话节奏断句。切勿在成语或惯用语中间断行。
- ASR置信度低的片段,通过反复收听确认。重点检查人名、门派、功法、数字、否定词以及同门亲属称谓。
- 将中文文本与 references/wuxia-glossary.md 及
项目术语表对照。 - 基于语义、意图及角色身份进行翻译,而非逐字翻译。
- 将听不清的片段记录在QA报告中,附上时间码和可能的拼音。
- 生成泰语字幕,保持与中文语音的自然节奏匹配,然后进行最终QA。
切勿在未核对语音的情况下直接翻译ASR文本中包含错误专有名词的字幕,否则一次错误会导致整部剧的名称错误。
模式 C — 有中文字幕
- 以中文字幕的文本和显示时间为唯一模板,一一对应:中文字幕何时开始,泰语字幕同时开始;中文字幕何时消失,泰语字幕同时消失。切勿使用ASR时间代替中文字幕时间。
- 如果是软字幕,直接复制每条中文字幕的
start和end时间;如果是硬字幕,检查视频帧以找到中文文字出现的第一帧和消失的第一帧,应用相同的时间边界。容差不得超过1帧。 - 逐条翻译中文字幕,不得将多条中文字幕合并成一条较长的泰语字幕。如果泰语阅读速度跟不上,则精简文本或按照中文字幕切换点进行拆分。切勿延长泰语字幕显示时间超过对应的中文显示时间。
- 仅使用语音/ASR来修正OCR识别错误的中文字符以及检查覆盖度。如果确实有语音但中文字幕缺失,则将其作为
manual_missing_chinese_cue根据语音时间添加泰语字幕,并在QA报告中记录。 - 翻译所有对话字幕,但记下片头/片尾曲歌词的跳过范围。
- 在视频中保留原始中文字幕,测量中文、片尾致谢和标识的边界框,以确定泰语字幕的安全区域。
- 当中文字幕或片尾致谢位置变化时,分段调整泰语字幕位置。如果发生重叠,切勿在全片使用单一位置。
- 执行覆盖度检查:对比中文字幕、语音和泰语字幕,确认无对话遗漏。
模式 B — 有英文字幕
- 默认保留原始SRT/ASS/VTT的字幕序号和时间码。
- 将英文字幕视为语义框架和时间节奏,而非最终的术语命名依据。
- 收听中文语音或使用剧本/中文字幕来查找人物姓名、头衔、门派、功法、武器、成语和力量体系的中文原文。
- 使用 references/english-chinese-bridge.md 进行
英文 → 推测的中文 → 泰语的对照翻译。 - 根据上下文解决歧义问题,例如
master、sect、clan、cult、chief、elder、senior、energy、cultivation和realm。 - 检查英文字幕可能省略或概括的信息,特别是性别、辈分、否定词、数字、招式名称和语气礼貌程度。
- 根据已确认的中文剧本的语义进行泰语翻译,借助英文字幕理解主题和时间。
- 如果无法收听中文语音或查看中文剧本进行核实,则在术语表和QA报告中标记为
推测自英文。切勿声称已与中文确认。
英文字幕可能将中文的两句话合并成一条,或将一句话拆成两条,翻译前应跨条检查语义,但非必要不修改时间。
用词选择原则
通用词汇与专有名词
- 将通用词汇翻译成泰语:例如
江湖→ยุทธภพ,内功→กำลังภายใน - 人物姓名、门派、功法、地点的专有名词若无官方泰语译名,则按汉语拼音音译。
- 优先使用版权持有人或官方发行版本所使用的泰语名称(若用户提供了参考来源)。
- 全剧不得混用翻译与音译,例如:对同一事物无理由地同时使用
ตันเถียน和จุดรวมลมปราณ。 - 如果一个术语有两种含义,则根据其在剧中的角色选择其一,并记录所选的译法。
区分组织类型
门派→สำนัก帮→พรรค或แก๊ง,视语言风格和时代背景而定。教→นิกาย(如果涉及宗教或信仰);仅在特定语境下特意称呼时才使用พรรคมาร。宗→นิกาย、สำนัก或ตระกูล,视组织结构而定。宫→ตำหนัก山庄→คฤหาสน์或สำนัก...จวง,取决于官方名称。镖局→สำนักคุ้มภัย
区分易混淆的头衔
掌门→เจ้าสำนัก门主 / 帮主 / 教主 / 宗主→ประมุข...(附上组织类型)盟主→ประมุขพันธมิตรยุทธ์长老→ผู้อาวุโส堂主→หัวหน้าหอ舵主→หัวหน้าสาขา护法→ผู้พิทักษ์
不要将所有职位都翻译成ประมุข,否则会丢失权力等级。
人称代词与语气等级
- 优先保持角色关系和地位的清晰,而非保留每个中文词汇。
- 武侠对话中,使用
ข้า / เจ้า / ท่าน作为中性选项。 - 仅宫廷语境下使用
กระหม่อม / หม่อมฉัน / ฝ่าบาท / พระองค์。 - 僧侣使用
อาตมา,道士角色使用ข้านักพรต或其他合适的形式。 - 说话者在对长辈放低姿态时使用
ผู้น้อย / ผู้เยาว์。 - 年长角色自称时,若语气合适,使用
ผู้เฒ่า。 - 当台词行字数过紧时,可删减重复的称呼,但不得造成对话双方身份不明。
- 避免不必要地使用古旧泰语词汇,例如
ไฉน、บัดเดี๋ยวนี้、หาได้ไม่。仅在符合该剧整体风格时才使用。
功法与招式
- 将能清晰传达画面或功能的名称翻译出来,例如
降龙十八掌→สิบแปดฝ่ามือพิชิตมังกร。 - 所有重复出现的名称结构保持前后一致。
- 使用
วิชา指代修炼体系,เพลง...指代连击招式,กระบวนท่า指代特定招式,เคล็ดวิชา指代内功心法。 - 如果名称非常独特且无法确认,在
项目术语表中放入临时译法并标记为需确认,而非在不同场景间来回切换。
区分武侠与仙侠
- 武侠类作品使用
กำลังภายใน、วรยุทธ์、ลมปราณ、ยุทธภพ。 - 仙侠类作品(具有明确的修仙体系)使用
พลังปราณ、ตบะ、ผู้บำเพ็ญ、แก่นปราณ、ข้ามด่านเคราะห์、เซียน。 - 不要在普通武侠作品中使用
ตบะ替代功力。 - 不要自动将
走火入魔翻译为กลายเป็นมาร。当指修炼出错导致真气紊乱时,使用ธาตุไฟเข้าแทรก。
泰语字幕格式规范
- 创建ASS或渲染前,必须阅读 references/rendering-guardrails.md 并以其规则作为渲染前检查依据。切勿套用之前项目的固定字号值。
- 默认使用黄色泰语字幕文字 (
#FFFF00; ASS&H0000FFFF),并配以纯黑色描边以确保在明暗场景下均清晰可读。用户另有指定除外。 - 黄色仅用于ASS文件和硬编码字幕的视频;SRT文件为纯文本格式,无法保证播放器中的颜色。
- 根据输出图像旋转/缩放后的实际尺寸计算初始字号:
round(min(display_height × 0.042, display_width × 0.046)),然后限制在28–96;例如1920×1080约为45,而非默认的52或120。 - 黑色描边宽度设置为
clamp(round(font_size × 0.07), 2, 6),阴影深度为0–1;不要使用过粗的描边使文字看起来超过实际字号。 - ASS脚本设置:
PlayResX/PlayResY应与输出图像尺寸一致;ScaledBorderAndShadow: yes;Timer: 100.0000;WrapStyle: 0;BorderStyle=1;并检查使用的字体是否包含泰语字形。 - 对于不同的位置需求,使用命名的样式(
Style),而非在每条字幕事件中单独覆写。除非有充分理由并经过检查,否则不要在Dialogue行中使用\fs、\fscx、\fscy、\pos、\move、\t、\fad、\fade或\alpha,否则会导致部分字幕字号异常、跳动或显示为残影。 - 每条字幕不超过两行。
- 根据短语和语义换行。切勿在姓名、标题或成语中间断行。
- 使用短句,删减中文中用于强调的冗余词汇,但保留所有重要信息。
- 避免在屏幕上使用括号注释术语;选择易于理解的泰语词汇,或单独提供术语表。
…仅用于言语中断;—仅用于被他人打断(如果文件格式支持)。- 不要添加原文没有的咒骂词或情感。
- 不要让角色说话方式过于现代而脱离时代背景,除非原文故意采用喜剧性现代风格。
渲染前检查 — 防止字号过大和字幕残留
此步骤在SRT/ASS创建之后、完整渲染之前执行。禁止跳过:
- 检查SRT和ASS是否使用相同的字幕条目清单:在考虑工作模式策略的前提下,条目数量、文本、开始和结束时间、顺序必须一致。
- 运行
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>,并对SRT也执行一次。 - 当发现以下情况时,阻止作业:
结束时间 ≤ 开始时间;条目时间超出视频末尾;同一样式/图层的条目时间重叠;未检查的超过8秒的条目;具有风险的事件覆写;PlayRes错误;Timer不是100.0000;或字号超出计算范围。 - 对于超过6秒的对话条目,必须检查实际画面/语音;对于最后一条、重叠条目、已编辑条目以及场景切换前的条目,必须确认其在结束时间后确实消失。
- 至少选择四种类型的10-20秒样本进行渲染:短条目;长/两行条目;带有中文或致谢字幕的场景;快速切换条目的场景。以100%和约50%的缩放比例观看。
- 在未确认样本无以下问题前,不得进行完整渲染:文字过大;文字溢出边界;元音/音调符号被裁剪;显示为方块/回退字体;字幕与画面内容重叠;旧字幕在新字幕出现后未消失。
- 如果更改分辨率、宽高比、字体或输出变体,必须重新计算样式并重新通过样本检查。不得直接从其他输出复制字号/边距设置。
防止字幕滞留的时间规则
- 确保每个条目的时间满足
0 ≤ 开始时间 < 结束时间 ≤ 媒体时长 + 1帧;结束时间不能为空、是一个假定值(如9:59:59),或未经检查直接延续到片尾。 - 按时间和样式/图层对事件排序;检查相邻的重复文本,这可能导致前一条字幕显示为滞留。
- 在模式A/B中,根据实际语音纠正非故意的重叠,而非直接删除条目。
- 在模式C中,不得修改中文源字幕的时间以解决重叠问题;保持与中文条目的一对一开始/结束时间对应关系,转而通过调整图层/样式配对或位置来解决。
- 硬编码后,对长条目、最后一条、重叠条目以及之前出错的条目的
end - 1、end + 1和end + 2帧进行检查,确认旧字幕的像素确实已消失。
片头曲和片尾曲的范围
- 默认跳过片头曲和片尾曲歌词的转录和翻译,并在QA报告中记录跳过的时间范围。
- 已记录的歌词范围不被视为缺失的对话。
- 如果歌曲期间插有对话、剧情或重要解说,则照常翻译该部分。
- 仍须检查歌曲期间的画面,确保泰语字幕不与致谢信息重叠,并确认需要保留的中文字幕未受损。
最终QC与QA — 禁止跳过
全片翻译完成后和最终文件创建后,必须分开执行两轮检查。不得以翻译过程中的检查替代QC/QA轮次,且直到两轮都通过后方可交付。
强制性关口 — 检查快速对话和源字幕遗漏的唱词
- 使用VAD/ASR从整个视频剪辑中创建独立的
语音覆盖图,独立于源字幕条目列表。不得以SRT/OCR/ASR的条目数量作为翻译完整的证据。 - 在快速说话、重叠说话、短于1秒的条目、感叹词、低音量发言、场景切换点以及VAD检测到人声但无泰语字幕的间隔处,使用较短的分析窗口并在必要时重叠窗口,执行第二轮语音检测。
- 对于硬编码的中文字幕,在风险时间段内随机抽取多个视频帧进行OCR,而非仅使用中间帧,因为短句可能在采样点之间出现和消失。
- 逐段比对
所有说话时段 → 找到的中文/英文字幕 → 泰语字幕,生成带时间戳的未覆盖语音列表。通过收听或查看实际画面进行核实,并补译直至为零。 - 不要自动跳过整个片头曲或片尾曲时段。仅跳过所记录时间段内的实际演唱歌词;对话、感叹、剧情、下集预告、嵌入的唱词必须翻译。
- 除非
未覆盖语音段落 = 0、缺失对话条目 = 0且未解决的快速语音标志 = 0(扣除允许跳过的歌词部分之后),否则QC不通过。
第1轮 — 完整性与清洁度检查
- 使用精确的开始-结束点,将整个语音时段与源字幕和泰语字幕进行比对,不统计已标记为跳过的片头/片尾曲歌词时间段。
- 使用
语音覆盖图从头到尾重新检查完整片段。检查所有标记为快速/短条目的时间段。不要仅检查语音系统已成功处理的条目。 - 确认所有对话部分均已被翻译。泰语字幕文件中不得有无意留下的空条目、占位文本或源语言文字。
- 检查条目数量、顺序、开始/结束时间、说话间隔,以及ASR/源字幕可能遗漏的条目。
- 检查所有被指示清除英文或其他语言字幕的位置,确认已完全清洁,无残留文字笔画、阴影、边框、色块或闪烁再现。
- 用户要求保留的中文字幕不被算作残留物,但必须检查泰语字幕是否与其重叠。
- 在模式C中,检查每个中文对话条目是否有一条与其配对的泰语条目,且其开始/结束时间相差在1帧以内;仅排除已标记跳过的歌词部分以及文件中明确包含的、关于画外音与咆哮的注意事项中描述的音效条目。
第2轮 — 格式与质量标准检查
- 从头到尾观看整个视频。不要仅检查样本剪辑。
- 检查文本内容:目标语言的拼写、语法和措辞。确认称谓一致,无通用术语与专有名称混用的情况。
- 检查样式规格:行数(每屏不超过两行)、换行位置(无词语或成语被截断)、字号大小及其在所有场景中的一致性。
- 检查易读性:确认所有文本清晰可读,无与演员面部、场景中重要物体、其他文字或致谢信息的重叠。
- 检查显示持续时间:评估阅读速度,关注快速切换的条目或充满细节场景。必要时调整文本长度或显示时间。
- 检查所有需要移除原有字幕的位置,确认无残留、闪烁或错误帧。
- 确认泰语字幕未遮盖需要进行模式下中文字幕检查的原中文字幕或其他视觉元素。
- 检查硬编码的完整视频文件中定位的准确性。
- 对于ASS文件:在标准播放器中加载并检查样式一致性,样式名称正确映射,无未知或缺失字体。
第1轮和第2轮均通过后
- 最终质量检查报告必须包含:执行人、执行日期、剪辑总时长、使用的工作模式、检查和修改的摘要、已发现并解决的具体问题、任何异常情况、一个样本帧截图、以及所有轨道(包括保留的原轨道)的完整无障碍认证。
- 在开始下一个任务或最终交付前,通过将文件导出为约定格式、检查所有视频和音频轨道(包括保留的原轨道)的正确包含、确认无嵌入式元数据或隐藏信息破坏内容,对最终文件进行完整性验证。
- 准备一个最终包,包含:最终视频、字幕文件(SRT/ASS)以及最终质量报告。
交付前检查清单:
- 术语一致性 ✅
- 文本正确性 ✅
- 格式合规性 ✅
- 易读性与无障碍性 ✅
- 原有/清洁后视频完整性 ✅
- 已检查字幕重叠 ✅
- 维护了源语言完整性(保留项) ✅
- 最终质量报告已填写 ✅
- 文件完整性已验证 ✅
该清单将确保交付的泰语字幕项目内容准确、风格恰当、技术稳定、术语一致,并已全面检查质量问题。