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.
Altyazıları çevrimdışı nasıl çevirirsin?
Dört yöntemden ikisi tamamen kendi makinende çalışır; metin gizliyse ya da güvenilir bir bağlantı yoksa bu önemlidir: yerel modelle Subtitle Edit ve Sablate'in Argos katmanları. İkisi de yalnızca metni çevirir ve her zaman damgasını korur; bu yüzden yukarıdaki zamanlama sorunu ikisi için de geçerli değildir.
| Yerel modelle Subtitle Edit | Argos ile Sablate | |
|---|---|---|
| Ne kurarsın | Ollama ya da llama.cpp ile bir model; sonra Subtitle Edit'i ona yönlendirirsin | Fazladan bir şey yok; her dil paketi uygulamanın içinden bir kez iner |
| Diller | Seçtiğin modelin desteklediği her şey | Herhangi bir kaynak dilden yaklaşık 50 hedef dil, çoğu İngilizce üzerinden |
| Çeviri kalitesi | Modelin boyutuna bağlı; Avrupa dil çiftlerinde DeepL'in altında | Kelimesi kelimesine ve okunabilir; DeepL ve güncel LLM'lerin altında |
| Terim kontrolü | Bir prompt korunacak terimleri sıralayabilir | Çevirmende yok; isimleri sonradan bul-değiştir ile düzelt |
| Maliyet | Ücretsiz | Ücretsiz planda iş başına bir çevrimdışı katman, Pro'da sınırsız |
İkisine de güvenmeden önce beklentini ayarla. Çevrimdışı çevirmenler DeepL'den ya da güncel bir bulut LLM'inden çok daha küçük modellerdir ve bu belli olur: ifadeler kelimesi kelimesine çıkar, deyimler sözcük sözcük çevrilir, isimler bazen çevrilmemesi gerekirken çevrilir. Argos'un buna ek bir sınırı daha var. Paketlerinin neredeyse hepsi bir dili İngilizceyle eşler; bu yüzden Türkçeden Almancaya gibi bir çift art arda iki çeviri olarak, İngilizce üzerinden çalışır ve ikisinin hatalarını da devralır.
Bu yüzden çevrimdışı çeviri; çalışma taslağı, konuşmadığın bir dildeki görüntüyü anlamak ya da kendin kontrol edebileceğin bir dil için doğru araçtır. Ekipte kimsenin okuyamadığı bir dilde yayınlayacağın altyazılar için önce çevrimdışı çevir, sonra sonucu kontrol ettir; ya da yalnızca o katmanı kendi anahtarınla DeepL'e veya bir LLM'e geçir. Transkripti en baştan üreten diğer çevrimdışı araçlar çevrimdışı altyazı üreticilerinin karşılaştırmasında yan yana duruyor.
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.
Sık sorulan sorular
SRT dosyasını zamanlamayı bozmadan nasıl çeviririm?
Dosyayı düz metin gibi işleyen bir araç yerine, SRT formatını ayrıştıran bir araç kullan. Böyle bir araç blok numarasını, zaman damgası satırını ve metni ayrı ayrı okur; yalnızca metni çevirir, geri kalanına dokunmadan bırakır. Subtitle Edit bunu ücretsiz yapar, DeepL ise SRT'yi bir belge olarak kabul eder.
Altyazıları çevrimdışı çevirebilir miyim?
Evet. Subtitle Edit, Ollama ya da llama.cpp üzerinden yerel bir modelle çevirebilir; Sablate ise her dil paketini bir kez indirip sonra bağlantısız çalışan Argos ile dil katmanlarına çevirir. İkisi de zamanlamayı korur. Kelimesi kelimesine bir ifade bekle: çevrimdışı modeller DeepL'den ya da bulut LLM'lerinden küçüktür, bu yüzden yayınlayacağın her şeyi gözden geçir.
Google Translate SRT dosyalarını neden bozar?
Çünkü dosyanın tamamını düz yazı olarak görür. Genel bir çevirmen için zaman damgaları, blok numaraları ve aralarındaki ok işareti de çevrilebilir metindir; bu yüzden onları yeniden biçimlendirir, ayırıcı boş satırı kaybolan cue'ları birleştirir ve paragrafları yeniden akıttığında blokları yeniden numaralandırır. Sonuçta dosya çoğu zaman artık ayrıştırılamaz hale gelir.
SRT dosyasını ücretsiz çevirebilir miyim?
Evet. Subtitle Edit ücretsiz ve açık kaynaktır, Windows, macOS ve Linux'ta çalışır; internet bağlantısı gerektirmeyen yerel modeller dahil birkaç motorla çeviriyi kendi içinde barındırır. Ücretsiz çevrimiçi altyazı çevirmenleri de var, ama dosyanı sunucuya yüklüyorlar — içerik gizliyse bu önemli bir fark yaratır.
Çevrilen altyazılar orijinal zamanlamalara hâlâ sığıyor mu?
Zamanlamalara sığıyor ama genelde okuma hızına sığmıyor. İngilizceden İspanyolcaya ya da Fransızcaya çeviri tipik olarak yüzde 20 ile 25 arası daha fazla karakter ekler, Almancada bu oran yüzde 35'e kadar çıkabilir — hepsi aynı saniye sayısının içinde. Cue sınırları doğru kalır, ama satır artık okunamayacak kadar hızlanmıştır.
Çevrilen bir SRT'nin hâlâ geçerli olduğunu nasıl kontrol ederim?
İki dosyadaki zaman damgası satırlarını say ve karşılaştır. Orijinalde 412, çeviride 389 satır varsa, çeviri sırasında bloklar birleşmiş ya da kaybolmuş demektir. Sonra çevrilen dosyayı videonun yanında bir oynatıcıda aç; ilk cue'yu, son cue'yu ve ortadaki hızlı bir diyalog alışverişini kontrol et.
Altyazı dosyasını mı çevirmeliyim, yoksa hedef dilde yeniden mi transkript çıkarmalıyım?
Dosyayı çevir. Konuşma tanımayı dil başına yeniden çalıştırmak, her dil için farklı bir cue sınırları kümesi üretir; bu yüzden bir dildeki senkron düzeltmesi diğerlerine hiçbir şey kazandırmaz. Metni çevirmek ise eklediğin her dilde aynı doğru zaman çizelgesini yeniden kullanmanı sağlar.