跳到主要内容
SubtitleMatrix

双语字幕拆成两份

文本样式把双语文件拆成两轨
或者粘贴字幕文本

选项

双语文件通常包含两套书写系统 —— 中文上面是拉丁文、韩文上面是日文 —— 默认读法正是如此:每行的字母决定它属于哪个文件,文件里先出现的语言成为第一个文件。这不是对含义的猜测,只是对文字系统的判断,所以一旦看过第一行,它就不会把两侧搞混。它做不到的是区分共用同一套字母的两种语言。英文件对西文件、俄文件对乌克兰文件,都会被读成同一种书写系统 —— 一份普通单语文件如果长行被折到第二行,也会如此,这是常见情况,也正是这种读法刻意保守的原因。当每条字幕的每一行都被读成同一种书写系统时,什么也不会输出:文件原样通过,运行被报告为没有改动。这就是改用按行位置的信号。选择 按行位置 会让它成为统一规则:每条字幕的第一行进入第一个文件,其余进入第二个。这适合两种语言总是固定在同一行的文件,也是拆分共用字母的语言对的唯一办法 —— 但在行序不固定的文件上,它会分错行,而且与默认读法不同,它不会对此作出任何说明。

时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。

这一页把一份含两种语言的字幕拆成两份文件,每份一种语言。双语发布件大多长这样:原文在每条 cue 的第一行,译文在第二行。把两种语言交给不同的人之前先拆开——译者要改自己的稿又不碰你的、字幕公司按语言各交一条轨、平台一条轨只收一个文件。

两份文件同一次运行产出,打成一个 zip。这不是装饰:浏览器一次点击只允许开始一次下载,两个各自独立的保存按钮意味着第二份文件根本到不了。两份地位相等,谁都不是“原件”,文件名在主名后、扩展名前加上语言标记,所以 film.srt 在 film.zip 里变成 film.srt 与 film.cjk.srt。可以一次只处理一份,也可以整季丢进去、每份各自拆开。

哪一行属于哪种语言由行本身的文字系统决定,不看它在 cue 里的位置。英文在上中文在下、日文在上韩文在下、希腊文在上阿拉伯文在下——字母自己说明每行该去哪份文件,文件里先出现的那种语言成为第一份。之所以不用行序,是因为译者并不遵守它:有的 cue 译文在上、有的在下,按行数的规则会切错,而文字系统一路都有效。

文字系统做不到的是分辨共用一套字母的两种语言,以及——同样躲不开——长行折到第二行的普通单语文件。随便猜的工具会把世上最常见的字幕文件拆成两份、每份半句话。所以这一页不猜:整份文件都读成同一种文字系统时,什么也不产出,运行报告为“没有改动”,然后你该把拆分方式改成按行位置:每条 cue 的第一行进第一份、其余进第二份,那是唯一能拆开同字母对照的规则。两份文件都保留原来的时间与编号,所以第一份可能出现 1、3、4 而第二份是 1、2、3、4——缺号不是错误,是第一份在说“这条属于另一种语言”。文件不上传。

示例

英文在上、中文在下,拆成两份

输入

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:05,000 --> 00:00:07,000
How are you?
你好吗?

输出

First file (film.srt):
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file (film.cjk.srt):
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

最常见的情形。每行独立判断,所以中文在每条 cue 里都是第二行也没关系——决定的是字母。两份文件都保留原来的时间与编号,事后并排放着逐条对照很安全。

只在一种语言里存在的 cue

输入

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:05,000 --> 00:00:07,000
(敲门声)

3
00:00:09,000 --> 00:00:11,000
See you soon.
再见。

输出

First file (film.srt):
1
00:00:01,000 --> 00:00:03,000
Good morning.

3
00:00:09,000 --> 00:00:11,000
See you soon.


Second file (film.cjk.srt):
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
(敲门声)

3
00:00:09,000 --> 00:00:11,000
再见。

中间那条是只写在译文里的音效,整条没有可划分的内容,于是整体移到第二份,第一份从 1 跳到 3。这个空号是有意的:它是第一份里唯一能看出“这条属于另一种语言”的标记,重新编号就会把它抹掉。

常见问题

拆成两份时为什么打成一个 zip,而不是两个下载按钮?

因为浏览器一次点击只允许一次下载,第二个保存按钮会静默失败。两份文件放在一个以你文件名命名的 zip 里,各带语言标记;单份也是同样的一次下载。

两份文件的文件名怎么起?

在原文件名的主名后、扩展名前加语言标记:film.srt 在 film.zip 里成为 film.srt 与 film.cjk.srt,一个是原文出现的那门语言,一个是被识别出的另一门。

第一份文件的编号为什么缺了一条?

因为那条 cue 整条属于另一种语言,整体移到了第二份,而编号是原文件自己的、页面不重排。缺号正是第一份在说明这一点,重新编号会让它消失。

英文和西班牙文为什么默认拆不开?

按字母看它们是同一套文字系统,任何基于字母的规则都分不开;单语折行文件同理。此时运行报告为没有改动,把拆分方式改成按行位置再跑,前提是两种语言始终各占一行、顺序一致。

只有一种语言的那条 cue 会归到哪份文件?

整条归到它所属的那份:内容只由译文构成时整条进第二份,第一份留下空号。若一条 cue 里两种语言都有、又没有字母可判的行(音符、音效),则按行位置划分并计入报告。

两份里哪一份算“原文”?

都不算。页面无从知道哪边是原文、哪边是译文,也就不装懂:文件里先出现的那门语言成为第一份,其余地方两份完全平等——zip 里、结果列表里、文件名里只差语言标记。

相关工具