跳至主要內容
SubtitleMatrix

字幕行首字母大寫

文字樣式變更大小寫
或者貼上字幕文字

選項

這個欄位背後有五條有名字的規則,每條都有自己的頁面:全大寫(UPPERCASE)和小寫(lowercase)改寫每個字母;標題式(Title Case)把每個詞的首字母大寫,短詞(a、the、of)保持小寫;句首式(Sentence case)先把整行轉成小寫,再重建每個句子的開頭;每行首字母大寫(Capitalise each line)只改每行的第一個字母。這一頁會把欄位填成標題裡點名的那條規則,並且不列出其他規則,所以這一頁產出的就是這一頁所講的那件事。

時間以哪個影格率計算。在格式頁面上,這是 MicroDVD 需要的值,因為它把時間存成影格編號。在影格率頁面上,它是檔案當初對應的速率 —— 字幕是照這個版本製作的 —— 而頁面的第二個欄位填你要搭配的影片速率。常見的有 23.976、24、25、29.97、30、50、59.94 和 60。填錯會讓整條時間軸位移;在影格率頁面上,位移是按比例發生,而不是固定的量。

這一頁做的是全站最小的改動:只把每一行字幕的第一個字母改成大寫,其他字元一個都不動,也不會把任何字母降成小寫。OCR 辨識、語音轉錄或手動輸入的字幕,行首常常是小寫;這種檔案唯一的毛病就是「每行少一個大寫」,用這一頁補上就好,不必整份重寫。

判斷的對象是「第一個字母」,不是「第一個字元」。台詞行常以破折號開頭,很多行以引號或括號開頭,非語音行以音符開頭;大寫要落在後面那個單字上,所以 `- hello there` 變成 `- Hello there`,`♪♪ the music swells` 變成 `♪♪ The music swells`。整行一個字母都沒有的(一排音符、一個鐘面讀數),原樣返回。

因為改動這麼小,它也是「大小寫」這一組裡唯一能安心對一份你認為已經正確的檔案再跑一遍的頁面。行首本來就對,什麼都不會變,下載到的就是同一份檔案;有幾處不對,只改那幾處,其餘的縮寫、專有名詞、行中間刻意的小寫,全都照你留下的樣子保留。

檔案不會上傳,讀寫都在瀏覽器分頁裡完成。支援的 12 種格式一律按內容判斷,不看副檔名,所以一份其實是 WebVTT 的 SRT(或反過來)照樣能處理。字幕段落的起止時間、順序、換行與樣式都原樣通過。

範例

兩條字幕,其中一條分成兩行

輸入

1
00:00:01,000 --> 00:00:02,000
the room is dark.

2
00:00:03,000 --> 00:00:04,000
the light is on.
and the door is shut.

輸出

1
00:00:01,000 --> 00:00:02,000
The room is dark.

2
00:00:03,000 --> 00:00:04,000
The light is on.
And the door is shut.

每行只加一個大寫,其他都不動——三個 `is` 都保持小寫,這正是它與句首大寫的分界。第二條字幕有兩行,兩行各自取得大寫,因為強制換行就是一行,而一條字幕不是。

以符號開頭的行

輸入

1
00:00:01,000 --> 00:00:02,000
- hello there.

2
00:00:03,000 --> 00:00:04,000
♪♪ the music swells.

3
00:00:05,000 --> 00:00:06,000
"come in," she said.

輸出

1
00:00:01,000 --> 00:00:02,000
- Hello there.

2
00:00:03,000 --> 00:00:04,000
♪♪ The music swells.

3
00:00:05,000 --> 00:00:06,000
"Come in," she said.

對話破折號、音符與開引號都留在原位,大寫落在它們後面的第一個字母,而不是符號本身。真實檔案裡最常遇到的就是這種:台詞行幾乎不會以字母開頭,若把大寫加在破折號上,每一條字幕都會看起來像壞掉。

已經全大寫的檔案

輸入

1
00:00:01,000 --> 00:00:02,000
THE ROOM IS DARK.

2
00:00:03,000 --> 00:00:04,000
AND THE LIGHT IS ON.

輸出

1
00:00:01,000 --> 00:00:02,000
THE ROOM IS DARK.

2
00:00:03,000 --> 00:00:04,000
AND THE LIGHT IS ON.

原樣返回,因為每行第一個字母本來就是大寫,而這一頁對行內其餘字母沒有意見。這也是分辨兩頁最快的方法:對一份全大寫的檔案跑一遍,若回報沒有變更,該用的是句首大寫那一頁。

整行沒有字母

輸入

1
00:00:01,000 --> 00:00:02,000
♪♪

2
00:00:03,000 --> 00:00:04,000
19:42

輸出

1
00:00:01,000 --> 00:00:02,000
♪♪

2
00:00:03,000 --> 00:00:04,000
19:42

兩行都沒有字母——音符沒有大小寫,鐘點的數字也沒有。檔案逐位元組返回,變更清單是空的,這是「沒有事情可做」的誠實回答。只是「以符號開頭」的行是另一種情況,那裡的大寫會落在符號後的第一個字母。

常見問題

字幕行首字母大寫與句首大寫有什麼不同?

這一頁每行只改一個字元,而且從不把字母降成小寫。句首大寫則是丟掉原本的大小寫、整行重建:對以小寫開頭的行結果相同,對 `THE ROOM IS DARK` 卻完全不同——在這裡它照樣全大寫,在那裡會變成 `The room is dark.`。OCR 或轉錄來的檔案用這一頁,全大寫交件的檔案用另一頁。

行首是破折號、引號或音符時,行首字母大寫會把大寫加在符號上嗎?

不會。這一頁會找行內第一個字母並把它改成大寫,因此行首的對話破折號、開引號、括號、音符或數字都會被跳過,大寫落在後面的單字上。整行沒有字母的(一排音符、鐘面讀數)原樣返回,因為沒有東西可以改。

行首字母大寫能修正行中間拼錯的大寫嗎?

不能,但也不會讓情況更糟:它只改每一行的第一個字母。行中間有多餘大寫的檔案要靠尋找取代(可以指定單字),或句首大寫(整行重建成句子、丟棄原本的大小寫)。只錯在行首時,這一頁才是正確選擇。

一條字幕分成兩行時,行首字母大寫會怎麼處理?

每一行都當成獨立的一行,所以有強制換行的字幕兩行都會取得大寫。這是刻意的,字幕裡通常也該如此:換行是排版決定,不是句子結束,第二行會被單獨閱讀,開頭小寫反而像打錯。保留檔案原本的換行,也代表你排好的斷行不會被這一頁改掉。

對已經檢查過的字幕檔再跑一次行首字母大寫安全嗎?

安全,而且是這一組裡唯一如此的頁面。其他大小寫規則都會降下某些字母或重建整行,再跑一次可能悄悄撤掉你做的工。這一頁只在行首字母是小寫時補上大寫,行首已經正確的檔案產出完全相同,並回報沒有變更。

行首字母大寫會動到時間碼或斜體樣式嗎?

兩者都不動,而且這一頁根本不會弄丟樣式。其他大小寫規則可能在字母數改變時丟掉標籤;這裡不論怎麼改,字串長度都不變,每個樣式區間仍覆蓋原本那些字元。每條字幕的起止時間是檔案自己的,精確到毫秒。

相關工具