Higurashi LLM Çevirileri
2025'in başında bir arkadaşın isteğiyle kurulan otomasyon hakkında
Giriş
Fikir yaklaşık 2024'ün ortasından beri aklımdaydı. Büyük dil modellerinin gelişmesiyle beraber 2025 gibi Claude ile hayata geçirme fırsatı buldum. Bu yazıda işin teknik kısmından bahsetmek istiyorum biraz da. İlginizi çekerse sizi de çektiğim birkaç soruna davet ediyorum.
Nasıl çalıştı?
Higurashi no Naku Koro ni serisinin oyunları aslen NScripter motorunda Ryukishi07 tarafından yazıldı. İlk olarak Windows platformuna çıktı, ardından serinin öbür platformlarına çıkışında PS2 için Alchemist, PS3 ve Vita için Kaga Create, Switch ve PS4 sürümü için Entergram üstlendi. Bu konsol çıkışlarında Batı'nın ilgisi beklenmedi ve hiçbirinde ikinci dil olarak İngilizce gelmiyor. Küresel çıkış içinse bu işi MangaGamer üstlendi ve NScripter oyun motorunun yapısını alıp ufak tefek değişikliklerle yapıyı koruyup Unity oyun motoruna taşıdı. Bu durumda da oyunun senaryo dosyalarında direkt olarak wata_001.txt gibi metin dosyaları bırakıldı. Bu ise benim yapmak istediğim işe birebir uygun ve kolaydı.
Mesela oyunun ham hâliyle çalışırken şu şekilde satırlar varken:
DisableWindow();
PlayBGM( 2, "lsys22", 128, 0 );
DrawSceneWithMask( "white", "c", 0, 0, 1300 );
// 目覚まし代りは小鳥のさえずりだった@
OutputLine(NULL, " 目覚まし代りは小鳥のさえずりだった。",
NULL, "The chirping of birds served as my alarm clock.", Line_WaitForInput);
OutputLineAll(NULL, "\n\n", Line_ContinueAfterTyping);
07th-mod ekibinin yaptığı yamada da şu şekilde satırlar çıkıyordu:
DisableWindow();
PlayBGM( 2, "lsys22", 56, 0 );
DrawSceneWithMask("white", "c", 0, 0, 1300 );
// 目覚まし代りは小鳥のさえずりだった@
ClearMessage();
if (GetGlobalFlag(GADVMode)) { OutputLineAll("", NULL, Line_ContinueAfterTyping); }
OutputLine(NULL, " 目覚まし代りは小鳥のさえずりだった。",
NULL, "The chirping of birds served as my alarm clock.", GetGlobalFlag(GLinemodeSp));
if (GetGlobalFlag(GADVMode)) { ClearMessage(); } else { OutputLineAll(NULL, "\n\n", Line_ContinueAfterTyping); }
Görüleceği üzere bu iki kod satırlarında da
OutputLine(NULL, "JAPONCA METİN", NULL, "İNGİLİZCE METİN", GetGlobalFlag(GLinemodeSp))
karakterin konuştuğu monolog ve diyaloglar gözüküyordu. Bu dosya yapılarına göre de ben de 07th-mod'un yamalı sürümünündeki bu metinleri Claude ile bunları teker teker ayıklayacak ve yapay zekânın formatta yanlış yapmayacağı şekilde çıkardım. API'ye o zaman para veremeyeceğim için Google AI Studio'nun sohbet kısmını kirletecek ve parça parça çevirisini alabileceğim bir sisteme geçirdim ve başarılı da oldu. Bu kısımdan sonra da yine Claude ile çıkış metinlerini dosyalara yerleştirecek bir kısa script yazdım ve İngilizce metinleri birebir olarak Türkçeyle değiştirdim.
Ama büyük dil modellerini sürekli bu şekilde metne boğmak metinlerin sürekli bozulmasına neden oluyordu. Bazı metinlerin Türkçede daha kısa veya uzun olmasından ötürü satırların eksik veyahut fazla çıkmasına neden oldu. Tekrar tekrar başarılı olana dek denedim, bazılarını da elimde düzelttim. Bu şekilde ortalama bir oyunu çevirmem 45-50 dakikayı alıyordu, herkese açık şekilde yayımlamamın bana başka bir maliyeti de oldu: oyun içi görsel çevirileri.

Büyük dil modellerine çevirtsem dahi estetik kaygılardan ötürü oyun içi dosyalara da 07th-mod ekibinin verdiği araçla giriştim. İnsanlar yazı çevirisiyle de yetiniyor ama bunu da kendime vazife edinerek insanların Türkçe diline erişimini kolaylaştırmak istedim, yoksa öbür türlü 1 gram İngilizce bilmeyen adam roman okurken İngilizce ve uzun uzun metinlerle karşılaşınca afallayabiliyor. (Mesela tüm projeyi hazırlamama sebep olan arkadaşım gibi) Bu da benim için hoş bir durum değildi. 2, 3, 4 ve 5. oyunlar için görsel çevirisi yaptım ancak şimdilik 6, 7 ve 8. oyunlar için sadece yazı çevirilerini sunacağım.
Sonuç
Biraz meşakkatli bir proje oldu benim için, bir yere kadar eğlenceli olsa da bir insan gücüyle hazırladığım için bir süre sonra baydı vallahi ne yalan söyleyeyim. Özellikle fotoğraf düzenleme kısmı beni bitirdi. Yine de, insanların erişimini kolaylaştırmak adına bir başlatıcı hazırladım, ilerideki vakitlerde Higurashi no Naku Koro ni serisi dışında da oyunların çevirilerini paylaşmak istiyorum. Şimdilik keyifli okumalar!