主页/文档库/工作流
工作流#校对#清单#质量

校对清单:交付前的最后一公里

整理一份覆盖时轴、错别字、断句、样式一致性、特殊符号、安全边距的 24 项校对清单,避免低级错误流出。

5 分钟阅读发布于 2026/03/25Smyx1ayang

校对清单:交付前的最后一公里

字幕制作完成后,交付前必须过一遍校对清单。这份 24 项清单我用了三年,每次交付前都跑一遍,能把低级错误率降到 0。

时轴检查

1. 时间戳精度

  • 所有时间戳对齐到 10 毫秒精度
  • 不要出现 1.234 秒这样的精度(截断到 1.23)
  • 时间戳格式统一为 H:MM:SS.cc

2. 重叠检查

  • 相邻字幕不应重叠(除非有意为之)
  • 用 Aegisub 的"重叠检测"工具扫描
  • 重叠字幕必须用不同 Layer

3. 间隔检查

  • 相邻字幕间隔 100-200 毫秒
  • 间隔过短(< 50ms)会让画面跳切
  • 间隔过长(> 1s)会让观众感觉字幕"消失"了

4. 显示时长

  • 最小显示时长 1.2 秒
  • 最大显示时长 7 秒
  • 长字幕(> 15 字)至少 2 秒
  • 短字幕(< 5 字)至少 1.5 秒

文本检查

5. 错字

  • 中文错字:用词典软件扫描
  • 日文汉字误用:如"剣"与"劍"
  • 英文拼写:用 spell-check
  • 人名拼写:与术语表对照

6. 标点

  • 全角标点统一:,。!?:;「」
  • 省略号统一:……(两个字符)
  • 不混用全半角
  • 句末标点不省略(除非原文也省略)

7. 数字格式

  • 阿拉伯数字:5、100、1.5
  • 序数:第 1、第 2
  • 日期:2024 年 5 月 1 日
  • 时间:下午 3 点

8. 专有名词

  • 与术语表 100% 一致
  • 同一专有名词在不同位置不出现不同译法
  • 商标保留原文:iPhone、Mac
  • 缩写按惯例:USA、UK

断句检查

9. 单行字符数

  • 中文:≤ 18 字符
  • 日文:≤ 24 字符
  • 英文:≤ 42 字符

10. 句末断句

  • 句末标点(。!?)后必断
  • 不要把两句话压在一行

11. 自然断句

  • 在自然停顿处断(逗号、连词前)
  • 不要把主谓宾拆散
  • 不要在修饰语中间断开

12. 双行字幕

  • 第一行不要短于第二行
  • 双行字数尽量接近
  • 双行视觉重心居中

样式检查

13. 字体一致

  • 默认字幕用同一字体
  • 强调字幕用粗体版本同字体
  • 不要在同一工程里混用多种字体

14. 字号一致

  • 默认字幕字号统一
  • 不要出现 47、48、49 这种微差

15. 颜色一致

  • 主色统一为白(&H00FFFFFF)
  • 边框色统一为黑(&H00000000)
  • 强调色按角色分配(不要超过 3 种)

16. 边框阴影

  • 边框宽度 2 px
  • 阴影距离 1 px
  • 不要为了"好看"过度装饰

安全边距

17. 顶部边距

  • 顶部字幕距画面顶部 10-15%
  • 不要贴顶部显示

18. 底部边距

  • 底部字幕距画面底部 8-12%
  • 不要贴底部显示

19. 左右边距

  • 左右边距 5-10%
  • 不要贴边显示

20. 不遮画面

  • 字幕不盖人脸
  • 字幕不盖关键画面元素
  • 字幕不盖其他字幕

特殊符号

21. 音乐符号

  • 音乐符号 ♪♫ 用 ASS 内置字体渲染
  • 不要用 emoji 替代

22. 注释符号

  • 注释字幕用 () 包裹
  • 注释字号比默认小 20%
  • 注释颜色比默认淡(如灰色)

23. 笑声拟声词

  • 笑声:哈哈、嘻嘻、呵呵
  • 不要用"哈哈哈"过多感叹号
  • 拟声词按原文语气

最终检查

24. 全片通读

  • 关掉声音,只看字幕
  • 检查是否有不通顺的地方
  • 检查是否有不一致的地方
  • 检查是否有遗漏的对话

自动化校对

部分检查可以自动化:

import re

def check_subtitle(file_path):
    with open(file_path, 'r', encoding='utf-8') as f:
        content = f.read()
    
    issues = []
    
    # 检查全角标点
    if re.search(r'[,\.\?!:;]', content):
        issues.append("发现半角标点")
    
    # 检查单行字符数
    for line in content.split('\n'):
        if line.startswith('Dialogue:'):
            text = line.split(',', 9)[-1]
            clean_text = re.sub(r'\{.*?\}', '', text)
            if len(clean_text) > 18:
                issues.append(f"单行过长: {clean_text}")
    
    # 检查时间戳重叠
    # ... (略)
    
    return issues

校对清单是质量保障的最后一道防线。

翻译理论札记

写到这里想插入一段翻译理论的思考。奈达的功能对等强调译文读者读到译文时的反应,应当与原文读者读到原文时的反应基本一致,这意味着翻译不是字面替换,而是要在目标语里重新构造等值效果。我们做字幕,观众在屏幕前只有几秒钟读完一行字,反应时间被严重压缩,所以功能对等在字幕里被推到了极端——可读性优先于忠实度。

纽马克的区分更实用:交际翻译关注译文效果,语义翻译关注原文意义。字幕绝大多数时候走交际翻译路线,但遇到关键术语、专有名词、文化负载词时又要切回语义翻译,避免观众被误导。这两条路线在字幕里不停切换,做久了会形成直觉。

韦努蒂的归化异化是另一条轴线。归化是让译文流畅得像目标语原创,异化是保留原文的陌生感。日漫字幕里大量保留"前辈""学园""王道"等词就是异化,因为这些词在中文语境里已经形成了稳定的亚文化共识,强行归化反而失味。但纪录片、欧美剧的台词又需要强归化,否则观众跳戏。题材决定策略,没有一招通吃的方案。

—— 这些理论看起来抽象,但实际做字幕时每天都在用,只是未必意识到。把直觉变成方法论,是新人到熟手的分水岭。