字幕转句首大写
或者粘贴字幕文本
选项
这一个框背后是五条有名字的规则,每条都有自己的页面:全大写(UPPERCASE)和小写(lowercase)改写每个字母;标题式(Title Case)把每个词首字母大写,短词(a、the、of)保持小写;句首式(Sentence case)先把整行转成小写,再重建每个句子的开头;每行首字母大写(Capitalise each line)只改每行的第一个字母。这一页会把框填成标题里点名的那条规则,并且不列出其他规则,所以这一页产出的就是这一页所讲的那件事。
时间按哪个帧率计算。在格式页面里,这是 MicroDVD 需要的值,因为它把时间存成帧号。在帧率页面里,它是文件当初对应的速率 —— 字幕是按这个版本做的 —— 而页面的第二个框填你要拿它配套的视频速率。常见的有 23.976、24、25、29.97、30、50、59.94 和 60。填错会让整条时间轴偏移;在帧率页面里,偏移是按比例发生的,而不是一个固定的量。
这一页专治“全大写来稿”:先把每一行整体降为小写,再把大写放回句子真正开始的地方——行首一个,每个句号、问号、感叹号之后各一个。整份大写文件出来就是普通的大小写混排文本。
什么算句子结束是判出来的,不是见句点就断:句点后面跟数字属于数字的一部分,`3.5` 不会另起一句;已知缩写后面的句点(`etc.`、`Dr.`、`a.m.` 等约三十个)也不算;引号内的句号照样算,所以 `He said "go." She left.` 里的 `She` 会大写。这套判断与“按句子拆分字幕”那一页共用同一份实现,两页不会就“句子在哪结束”给出不同答案。
有一件事必须在跑整季前知道:专有名词会跟其他字母一起降为小写,因为字幕文件里没有任何字段记录“这个词是人名”。`DR. SMITH LEFT` 出来是 `Dr. smith left`——名词不会被还原。名字密集的文件更适合行首字母大写或词首大写,那两页对行内其余字符几乎不动。
判断按行进行,每一行独立重建;一条 cue 里有两句话就得到两个大写。已经符合句首大写的文件逐字节返回,所以对一份来路不明的文件跑一遍是便宜的体检:它改动的每一处,都是它认为不对的地方。文件在浏览器里处理,不上传。
示例
一份大写交来的文件
输入
1
00:00:01,000 --> 00:00:02,000
THE ROOM IS DARK. THE LIGHT IS ON.
2
00:00:03,000 --> 00:00:04,000
WHO TURNED IT OFF?
输出
1
00:00:01,000 --> 00:00:02,000
The room is dark. The light is on.
2
00:00:03,000 --> 00:00:04,000
Who turned it off?
第一条 cue 里有两句话,于是两个大写:行首一个、句号后一个,其余全部降为小写。规则按行跑而不是按 cue 跑,所以一条字幕里的第二句话也会拿到大写。
并不结束句子的句点
输入
1
00:00:01,000 --> 00:00:02,000
IT IS 3.5 METRES, ETC. AND MORE.
2
00:00:03,000 --> 00:00:04,000
DR. SMITH LEFT AT 9 A.M.
输出
1
00:00:01,000 --> 00:00:02,000
It is 3.5 metres, etc. and more.
2
00:00:03,000 --> 00:00:04,000
Dr. smith left at 9 a.m.
三个句点都没触发新句子:`3.5` 后面是数字,`etc.` 与 `Dr.` 在缩写表里,因此 `and` 与 `smith` 保持小写。第二条 cue 正是最容易让人意外的那种输出,名字多的文件请换一页。
常见问题
为什么句首大写把我的人名也变成了小写?
因为这一页先把整行降为小写,再按句子重建,而字幕文件不记录哪些词是人名。`DR. SMITH LEFT` 变成 `Dr. smith left`:`Dr.` 在缩写表里,`smith` 因此不算句首、保留小写。需要保护已有大写时,用词首字母大写那一页。
哪些缩写后面的句点不算句子结束?能自己加吗?
内置约三十个:Mr / Mrs / Dr / Prof / St 等称谓,etc / e.g / i.e / vs 等拉丁缩写,approx / inc / ltd / dept 等单位与商号写法,以及 a.m / p.m 及其带点变体。页面里没有添加入口,因为这份表必须在每份文件上给出同一个答案。
数字里的句点(比如 3.5)会触发大写吗?
不会。句点后面紧跟数字时视为数字的一部分,不是句子边界,所以 `3.5 metres` 里 `metres` 保持小写,整行不会因此多出一个大写。
引号里的句号算句子结束吗?
算。`He said "go." She left.` 里句号在引号内,`She` 仍得到大写;而如果行首是引号本身,大写落在引号内的第一个字母上,标点永远不承担大写。
一条字幕里有两句话会加几个大写?
每句话一个。`THE ROOM IS DARK. THE LIGHT IS ON.` 出来是 `The room is dark. The light is on.`,一行两个大写——字幕里两句短句很常见,这是常态而不是边界情况。
已经是正确大小写的文件跑一遍会变吗?
逐字节不变。页面会重建每一行,但重建结果与原行一致时输出就是原文件;对继承来的文件跑一遍,输出相当于它认为有问题的地方的清单。
中文或日文字幕跑这一页会怎样?
文字本身原样返回,因为那些文字系统没有大小写;句读判断按英文的句号、问号、感叹号进行,中文全角标点不在同一张表里,所以不要指望它给中文断句。