SRT Dosyasını Zamanlamayı Bozmadan Nasıl Çevirirsin?
SRT dosyasını zamanlamayı bozmadan çevir: genel çeviri araçları zaman damgalarını neden bozar, bozmayan dört yöntem ve dosyayı yakalayan tek satırlık kontrol.
Bir SRT dosyasını zamanlamayı bozmadan çevirmek için, dosyayı düz yazı gibi işleyen değil, altyazı formatını ayrıştıran bir araç kullan. Formatı ayrıştıran bir araç blok numarasını, zaman damgası satırını ve metni üç ayrı şey olarak okur, yalnızca üçüncüsünü çevirir, diğer ikisini oldukları gibi geri yazar.
Bozulan her çevrilmiş altyazı dosyası aynı hataya dayanır: dosyanın tamamı, hangi satırların kritik olduğunu bilmesi için hiçbir sebebi olmayan genel amaçlı bir çevirmene verilmiştir.
SRT çevirisi zamanlamayı neden bozar?
Bir SRT bloğunun dört parçası vardır ve bunlardan yalnızca biri dildir:
2
00:00:04,120 --> 00:00:06,480
The timings live on the line above.
A translator must never touch it.
Numara, cue'yu tanımlar. Virgülle ayrılmış milisaniyeleri ve --> okuyla zaman damgası satırı, zamanlamanın kendisidir. Metin, altyazının içeriğidir. Boş satır ise bir ayrıştırıcıya bloğun bittiğini söyleyen ayırıcıdır.
Genel bir çevirmen bu dördünü de içeren tek bir belge görür. 00:00:04,120 --> 00:00:06,480 satırını bir sözdizimi olarak ele alması için hiçbir sebebi yoktur, bu yüzden genelde birlikte üç şey ters gider:
- Cue'lar birleşir. Bloklar arasındaki boş satır, düz yazı çevirmeni için sadece bir boşluktur; gidiş-dönüşte hayatta kalmazsa iki cue tek bir paragrafa dönüşür. O noktadan sonraki her şey artık sesle uyumsuzdur.
- Bloklar yeniden numaralandırılır ya da sırası değişir. Paragrafları yeniden akıtmak sıra numaralarını karıştırır; bazı ayrıştırıcılar dosyayı doğrudan reddederken bazıları sessizce yeniden numaralandırıp cue'ları kaydırır.
- Zaman damgaları yeniden biçimlendirilir. Okun etrafına eklenen bir boşluk, virgülün noktaya dönüşmesi, farklı doldurulmuş bir milisaniye alanı — bunlardan herhangi biri satırı ayrıştırılamaz hale getirmeye yeter.
Çevirmenle hiçbir ilgisi olmayan dördüncü bir hata daha var. Kodlama. Aksanlı karakterler ya da Latin olmayan bir yazı sistemi içeren bir dosya, UTF-8 yerine Latin-1 veya Windows-1254 olarak kaydedilirse, onu açan oynatıcıların yarısında bozuk karakter yığınına (mojibake) dönüşür. Her altyazı dosyasını UTF-8 olarak kaydet, bu sorun kalıcı olarak ortadan kalkar.
Bunun belirtisi şu: bozulmuş bir dosya, göz gezdirdiğinde çoğu zaman hâlâ sorunsuz görünür. Metin doğru dildedir, zaman damgaları hâlâ yerindedir ve hiçbir şey göze batmaz. Sorun, bir oynatıcı onu ayrıştırmaya çalıştığında ortaya çıkar — ya da daha kötüsü, ayrıştırır ama iki saniye kaymış oynatır.
Bir SRT'yi çevirmenin dört yolu
En hızlıdan en kontrollüye:
- Subtitle Edit — ücretsiz, açık kaynak, çeviri yerleşik, yerel çalışır.
- Formatı ayrıştıran çevrimiçi bir çevirmen — dosyayı yükle, bir tane geri al.
- Katı promptlu bir LLM — en iyi terim kontrolü, doğrulama gerektirir.
- Çeviriyi katman olarak ele alan bir masaüstü uygulaması — tek bir zaman çizelgesinden birden fazla dil.
Doğru kullanıldığında dördü de zaman damgalarını olduğu gibi korur. Aralarındaki fark; maliyet, gizlilik ve kaç dil ürettiğindir.
Yöntem 1: Subtitle Edit
Ücretsiz cevap ve çoğu kişinin başlaması gereken yöntem.
Subtitle Edit açık kaynaktır, Windows, macOS ve Linux'ta çalışır ve metni bellekte değiştirip blok yapısına tasarım gereği dokunmayan bir Auto-Translate işlevi sunar. Birkaç motor sunar — anahtarın varsa DeepL ve Google, kendi sunucunda barındırıyorsan LibreTranslate, Ollama, llama.cpp ya da herhangi bir OpenAI uyumlu uç nokta üzerinden yerel modeller.
.srtdosyasını Subtitle Edit'te aç.- Auto-Translate'i seç, bir motor ve hedef dil belirle.
- Sonucu liste görünümünde incele; orijinal ve çeviri yan yana durur.
- Yeni bir dosya olarak UTF-8 formatında kaydet.
Bilinmeye değer olan yol, yerel model yoludur: API anahtarı gerektirmez ve hiçbir şey makineden dışarı çıkmaz; bu da onu bu sayfadaki hem ücretsiz hem de gizliliği koruyan tek yöntem yapar. Bunun bedeli, küçük bir yerel modelin Avrupa dil çiftlerinde DeepL'den belirgin biçimde daha kötü çevirmesi ve senin daha çok düzenleme yapman gerekmesidir.
Yöntem 2: Formatı ayrıştıran çevrimiçi bir çevirmen
Dosyayı yükle, bir dil seç, sonucu indir. DeepL, .srt'yi bir belge türü olarak kabul eder ve yapısı bozulmamış, çevrilmiş bir .srt döndürür; kaç belge işleyebileceğin planına bağlıdır. Birkaç özel altyazı çevirisi sitesi de aynı şeyi yapar.
Tek bir dosyayı tek bir dile çevirmek için en hızlı yol budur ve büyük Avrupa dil çiftlerinde kalite, hiçbir yapılandırma yapmadan dördü arasında en iyisidir.
Kullanmadan önce bilinmesi gereken iki şey var. Dosya sunucuya yüklenir, bu yüzden gizli olan hiçbir şey için doğru yöntem değildir — yayınlanmamış bir kurgu, bir müşterinin görüntüleri, kaydedilmiş bir iç toplantı. Ayrıca bir belge çevirmeni terminoloji üzerinde hiçbir kontrol vermez: ürün adları, karakter adları ve jargon geri kalan her şeyle birlikte çevrilir — isimler için tam olarak istemeyeceğin şey budur.
Yöntem 3: Katı promptlu bir LLM
Bu, dördü arasında en iyi terim kontrolünü sağlar, çünkü modele neyi çevirmemesi gerektiğini söyleyebilirsin. Aynı zamanda dosyayı sessizce bozma ihtimali en yüksek olan yöntemdir, bu yüzden doğrulama adımı isteğe bağlı değildir.
İşe yarayan bir prompt:
Translate the subtitle text below from English into German.
Rules:
- Output exactly the same number of subtitle blocks as the input.
- Copy every block number and every timecode line unchanged, character for character.
- Translate only the subtitle text lines.
- Keep the blank line between blocks.
- Do not merge, split, reorder or renumber blocks.
- Do not translate these terms: [list product and character names here]
- Keep each translated line roughly the length of the original.
İki saatlik bir filmi tek seferde yapıştırmak yerine, 50 ila 100 bloklu parçalar halinde çalış. Modellerin cue'ları birleştirip blok kaybetmeye başladığı yer uzun girdilerdir ve bunu hiç belirtmeden yaparlar.
Sonra doğrula. Bu tek satırlık komut, her iki dosyadaki zaman damgası satırlarını sayar:
grep -c " --> " original.srt translated.srt
İki sayı birebir aynı olmalıdır. Çeviri daha kısaysa, bloklar birleşmiştir ve birleşmeden sonraki her cue artık yanlıştır. Bu kontrolü her LLM çevirisinde, her seferinde çalıştır.
Yöntem 4: Dosya değil, katman olarak çevir
Yukarıdaki üç yöntemin ortak bir şekli var: bir dosyan var, başka bir dosya üretiyorsun ve sekiz dil istiyorsan bunu sekiz kez yapıp sekiz dosyayı yönetiyorsun.
Bir masaüstü uygulaması, bunun yerine tek bir zaman çizelgesi tutabilir. Sablate'ta çeviri, var olan bir transkripsiyona eklenen bir katmandır, yeni bir iş değil — cue sınırları bir kez oluşturulur ve her dil onları devralır, bu yüzden zamanlama sorunu ikinci kez ortaya çıkmaz. Her katman kendi stilini ve kendi yazı sistemi fontunu taşır; bu da bir dilin, altyazı fontunun içermediği bir yazı sistemine ihtiyaç duyduğu anda önem kazanır.
İki çeviri yolu mevcuttur. Argos kendi makinende çevrimdışı çalışır ve hiçbir şeyi hiçbir yere göndermez; kendi API anahtarını getirirsen DeepL, OpenAI ve Claude da kullanılabilir. Çevrimdışı yol hakkında bilinmesi gereken bir şey var: Argos, bir tarafında İngilizce olmayan neredeyse hiçbir çift yayınlamaz, yani Türkçe-Almanca gibi bir çiftin doğrudan bir paketi yoktur ve ara adım olarak İngilizce üzerinden birleştirilir. Yine de işe yarar; Türkçeden Almancaya çevrilen bir satırın Türkçeden İngilizceye çevrilen bir satırdan biraz daha düz okunmasının sebebi de budur.
Ücretsiz plan, on dakikaya kadar videolarda iş başına bir çevrimdışı çeviri katmanını kapsar; sınırsız katman, bulut motorları ve her dilin tek tıkla dışa aktarımı Pro'nun parçasıdır. Windows ya da Mac için indir ve bir karara varmadan önce bir dosyayı çevir.
Hangi yöntemi kullanmalısın?
| Yöntem | Maliyet | Çevrimdışı çalışır | Terim kontrolü | En iyi kullanım |
|---|---|---|---|---|
| Subtitle Edit | Ücretsiz | Evet, yerel modelle | Kısmi | Tek dosya, herhangi bir dil çifti |
| Çevrimiçi belge çevirmeni | Ücretsiz katman, sonrası ücretli | Hayır | Hayır | Avrupa dil çiftlerinde en hızlı iyi sonuç |
| Katı promptlu LLM | Modele göre değişir | Evet, yerel modelle | Evet | Jargon, isimler, kurumsal terim sözlüğü |
| Sablate | Ücretsiz katman, Pro tek seferlik 29 $ | Evet | Evet | Tek transkriptten birden fazla dil |
“Tek dosyam var ve bütçem yok.” Subtitle Edit. Ücretsizdir, bu listedeki format işleri için en yetenekli altyazı aracıdır ve zamanlamalarını bozmaz.
“En iyi Almanca çeviriye ihtiyacım var ve dosya hassas değil.” Bir belge çevirmeni. DeepL'in İngilizceden Almancaya çıktısı, burada en az düzenlemeyi gerektiren sonuçtur.
“Video gizli.” Yerel modelle Subtitle Edit, ya da Sablate'in çevrimdışı yolu. Yükleme yapan her şey, ne kadar iyi olursa olsun elenir.
“Aynı videoyu altı dilde yayınlıyorum.” Dosya değil, katman. Dosya bazlı yöntemler altıyla çarpılır; katmanlı bir iş akışı çarpılmaz ve çok dilli iş akışı her şey başlamadan önce transkriptin neden dikkatli bir düzeltme okumasını hak ettiğini anlatır.
Zamanlamanın tekrar bozulmasını nasıl önlersin?
Üç alışkanlık, kazandırdıkları zamana göre sıralanmış.
Her çeviride blok sayısını doğrula. Yukarıdaki grep satırı iki saniye sürer ve incelemeyle görünmeyen tek hatayı yakalar. Kaynağından daha az bloğu olan çevrilmiş bir dosya, her zaman bozuktur.
Okuma hızını transkriptten sonra değil, çeviriden sonra kontrol et. Zamanlamalar hayatta kaldı; metin aynı uzunlukta kalmadı. İngilizceden İspanyolcaya ya da Fransızcaya çeviri tipik olarak yüzde 20 ile 25 arası, Almancaya ise yüzde 35'e kadar uzar — hepsi aynı saniye sayısının içinde. Rahat bir 14 CPS'lik satır, tek bir zaman damgası bile kımıldamadan 17,5 CPS'lik bir satıra dönüşür — okuma hızı sınırları bu konuda ne yapman gerektiğini anlatır ve cevap her zaman kelimeleri ya da süreyi değiştirmektir, senkronu asla.
Kaynak transkripti ana kopya olarak koru. Herhangi bir şeyi çevirmeden önce isimleri, jargonu ve noktalamayı orada düzelt. Kaynakta düzeltilen bir soyisim her dilde düzeltilmiş olur; aynı soyismi sonradan düzeltmek ise dil başına bir düzenleme demektir ve düzenlemeler birbirinden sapar.
Bunlardan herhangi biri sonunda bir videoya gömülecekse, bunu en son yap. Videoya gömülü bir kopyada okuma hızı kalıcıdır ve dışa aktardığın format izleyicinin dil değiştirip değiştiremeyeceğine karar verir.
Videoyu değil, dosyayı çevir. Zaten emek verdiğin zaman çizelgesini koru, çabanı onun üzerindeki kelimelere harca ve göndermeden önce blok sayısını kontrol et.