Caravan SandWitch Türkçe Yama Yayında! – 6.000 Metin Elle Türkçeleştirildi

Etkinlik #caravan-sandwitch#turkce-yama#orga#unreal-engine#oyun-cevirisi 0 cevap 25 okunma

Uzun süredir üzerinde çalıştığım Caravan SandWitch Türkçe Yama artık hazır. 🇹🇷🏜️

Bu projede yalnızca oyunun birkaç localization dosyasını bulup metinleri Türkçeye çevirmekle yetinmedim.

Caravan SandWitch’in Unreal Engine tabanlı dosya yapısını detaylı şekilde inceleyerek oyunun içerisinde Türkçeleştirilmesi gereken içeriğin nerelerde bulunduğunu mümkün olduğunca baştan sona haritaladım.

Çalışma boyunca 24.000’den fazla oyun içi dosya tarandı ve yaklaşık 6.000 metin elle Türkçeleştirildi.

Otomatik çeviri servisleri kullanılmadı.

Çeviri: ORGA

Bu konuyu Türkçe yamanın ana duyuru ve bilgilendirme konusu olarak kullanacağım.

🇹🇷 Neden Caravan SandWitch?

Caravan SandWitch hikâyesini ve atmosferini büyük ölçüde:

  • Karakter diyalogları

  • Görevler

  • Çevre anlatımı

  • Oyun içi etkileşimler

  • Arayüz metinleri

  • Keşif sırasında karşılaşılan bilgiler

üzerinden aktaran bir oyun.

Dolayısıyla oyunda yalnızca görev işaretlerini takip etmek yerine karakterlerin ne söylediğini ve dünyanın size ne anlattığını anlamak deneyimin önemli bir parçası.

Bu yüzden oyunu Türkçe oynamak isteyenler için kapsamlı bir yerelleştirme hazırlamak istedim.

🔍 Çeviriye Başlamadan Önce Oyunun Yapısını İnceledim

Bir oyuna Türkçe yama hazırlarken ilk yapılması gereken şey aslında çeviri değil.

Önce:

Metinler nerede?

sorusunun cevabını bulmak gerekiyor.

Caravan SandWitch Unreal Engine kullanıyor ve metinlerin tamamı tek bir dosyada bulunmuyor.

Bu nedenle oyunun paket yapısını detaylı şekilde inceleyerek 24.000’den fazla oyun dosyasını taradım.

Bu taramada özellikle:

  • Localization kaynakları

  • Diyalog dosyaları

  • Görev metinleri

  • Arayüz öğeleri

  • StringTable yapıları

  • Oyun içi etkileşim metinleri

  • Metin içerebilecek ilgili assetler

ayrı ayrı incelendi.

Amaç yalnızca kolay bulunan ana localization paketini çevirmek değil, oyun içerisinde oyuncunun karşılaşabileceği metinlerin mümkün olduğunca tamamını tespit etmekti.

🧩 Metinler Tek Bir Yerde Değildi

Caravan SandWitch tarafında çeviri kaynaklarını incelerken metinlerin farklı sistemler arasında dağıldığını gördüm.

Bir bölüm klasik localization yapısında bulunurken başka bir bölüm:

  • StringTable

  • Asset

  • Diyalog kaynağı

  • Görev sistemi

  • UI öğesi

içerisinden gelebiliyordu.

Bu yüzden:

Localization dosyasını çevirdim, yama tamamdır.

demek yeterli değildi.

Her kaynak türünün ayrı ayrı tespit edilmesi ve oyun içerisinde nerede kullanıldığının anlaşılması gerekiyordu.

✍️ Yaklaşık 6.000 Metin Elle Türkçeleştirildi

Yama kapsamında toplamda yaklaşık 6.000 metni elle Türkçeleştirdim.

Burada özellikle altını çizmek istediğim nokta şu:

Google Translate, DeepL veya benzeri otomatik çeviri servisleriyle toplu çeviri yapılmadı.

Her metni çeviri içerisinde değerlendirmeye çalıştım.

Çünkü Caravan SandWitch gibi atmosferi ve karakter ilişkileri önemli olan bir oyunda:

İngilizce metni makineye ver → Türkçeyi dosyaya yapıştır

yaklaşımının ortaya çıkaracağı sonucu yeterli bulmuyorum.

🇫🇷 Oyunun Ana Kaynak Dili Fransızca

Bu projedeki önemli ayrıntılardan biri de oyunun ana kaynak dilinin Fransızca olması.

Bu nedenle çeviri sırasında yalnızca resmi İngilizce metinlere bağlı kalmadım.

Mümkün olan yerlerde:

Fransızca ana kaynak

Resmi İngilizce çeviri

Oyunun içindeki gerçek bağlam

birlikte değerlendirildi.

Bu benim için özellikle önemliydi.

Çünkü İngilizce metin zaten Fransızca kaynağın bir çevirisi.

Türkçe yamayı yalnızca İngilizceden hazırlarsak bazı bölümlerde:

Fransızca → İngilizce → Türkçe

şeklinde iki aşamalı anlam kaybı oluşması mümkün.

🧠 İngilizce ve Fransızca Birbirinden Farklıysa Ne Yaptım?

Bazı metinlerde kaynak Fransızca ile resmi İngilizce çeviri arasında ifade farkları bulunabilir.

Böyle bir durumda doğrudan:

İngilizce ne yazıyorsa onu çevireyim.

demek yerine metnin oyun içerisindeki kullanımına baktım.

Önceliğim Türkçe oyuncunun:

  • Doğru anlamı

  • Doğru karakter tonunu

  • Doğru görev bilgisini

  • Doğru oyun mekaniğini

almasıydı.

Bu yüzden gerektiğinde Fransızca kaynak daha belirleyici olurken bazı yerlerde resmi İngilizce yerelleştirmenin tercih ettiği oyun terimini korumak daha mantıklı olabiliyordu.

🎭 Karakterlerin Konuşma Tarzlarını Korumaya Çalıştım

Oyundaki karakterlerin hepsi aynı şekilde konuşmuyor.

Bu nedenle bütün diyalogları aynı düz Türkçeyle çevirmek istemedim.

Karakterin:

  • Konuşma tarzı

  • Samimiyeti

  • Cümle yapısı

  • Bulunduğu durum

  • Diğer karakterlerle ilişkisi

mümkün olduğunca dikkate alındı.

Hedefim:

Türkçe olduğu belli olan bir çeviri

değil,

karakter Türkçe konuşsaydı buna yakın konuşurdu

hissi verebilmekti.

📜 Görev Metinleri

Görev çevirilerinde güzel cümle kurmanın yanında anlam doğruluğu çok daha önemli.

Bir görev:

Şu karakterle konuş.

diyorsa bunu yanlış karaktere,

Şu bölgeye git.

diyorsa yanlış konuma yönlendiremeyiz. 😄

Bu nedenle görev açıklamalarında özellikle:

  • Karakter adları

  • Konumlar

  • Hedefler

  • Eylemler

  • Görev sıralaması

gibi bölümlere dikkat ettim.

🖥️ Arayüz Metinleri

UI çevirilerinin de kendi problemi var.

İngilizce veya Fransızcada kısa olan bir ifade Türkçeye çevrildiğinde çok daha uzun hale gelebiliyor.

Bu nedenle menülerde yalnızca anlamı değil:

  • Metin uzunluğunu

  • Buton yapısını

  • Ekrandaki kullanımını

  • Aynı terimin diğer menülerdeki karşılığını

da dikkate almaya çalıştım.

Amaç metni doğru çevirirken arayüzü de gereksiz şekilde bozacak ifadeler oluşturmamak.

🧩 StringTable Yapıları da İncelendi

Unreal Engine oyunlarında metinlerin bir kısmı StringTable sistemleri üzerinden yönetilebiliyor.

Caravan SandWitch tarafında da bu yapıları ayrıca analiz ettim.

Metnin yalnızca kendisini değil, gerektiğinde hangi anahtar üzerinden çağrıldığını da kayıt altında tutmak önemli.

Çünkü ileride oyun güncellendiğinde:

Bu cümle eskiden neredeydi?

sorusunun cevabını tekrar 24.000 dosyanın içerisinde aramak istemiyorum. 😄

🗺️ Terminoloji Sistemi Oluşturdum

6.000 metinlik bir çeviride en büyük problemlerden biri tutarlılık.

Örneğin bir terimi oyunun başında:

X

olarak çevirdiyseniz 4 saat sonra başka bir görevde:

Y

olarak çevirmemelisiniz.

Özellikle:

  • Özel isimler

  • Konum isimleri

  • Karakter isimleri

  • Oyun içi sistemler

  • Tekrar eden ifadeler

  • Etkileşim terimleri

için ayrı bir terminoloji düzeni oluşturdum.

Böylece aynı kavramın oyunun farklı bölümlerinde gereksiz yere farklı isimlerle görünmesini azaltmaya çalıştım.

🔁 Tekrar Eden Metinler

Oyunlarda aynı cümle veya ifade birçok farklı yerde kullanılabiliyor.

Örneğin aynı etkileşim metni farklı objelerde bulunabilir.

Bu tür tekrarları değerlendirirken aynı metnin gerçekten aynı bağlamda kullanılıp kullanılmadığını da kontrol etmek gerekiyor.

Çünkü İngilizcede aynı görünen bir kelimenin iki farklı ekranda Türkçe karşılığı farklı olabilir.

Bu nedenle tekrar eden içeriklerde de mümkün olduğunca bağlam kontrolü yaptım.

🧱 Placeholder Yapılarını Korudum

Oyun metinlerinde her gördüğünüz şey çevrilecek normal yazı değildir.

Örneğin metin içerisinde:

  • Değişkenler

  • Placeholder'lar

  • Sayısal değerler

  • Oyuncu veya karakter isimleri

  • Sistem tarafından sonradan doldurulan alanlar

bulunabilir.

Bunlardan birini yanlışlıkla çevirir veya yapısını bozarsanız oyun:

Türkçe metni yanlış gösterebilir

hatta bazı durumlarda ilgili metni hiç oluşturamayabilir.

Bu nedenle placeholder yapıları teknik kontrolden geçirildi ve korunması gereken bölümler değiştirilmedi.

🧾 Biçimlendirme İşaretleri

Metinlerin içerisinde yalnızca düz karakterler bulunmuyor.

Bazı bölümlerde oyun tarafından yorumlanan biçimlendirme yapıları olabiliyor.

Bunların:

  • Silinmemesi

  • Yanlış yere taşınmaması

  • Yapısının bozulmaması

gerekiyor.

Çeviri sonrasında metinlerin teknik yapısını ayrıca kontrol etmemin nedenlerinden biri de bu.

↩️ Satır Sonları

Diyalog ve arayüz metinlerinde satır sonlarının yapısı da önemli.

Yanlış bir line break:

  • Cümlenin ortasında kopmasına

  • UI'nın bozulmasına

  • Metnin gereksiz uzamasına

  • Görsel düzenin değişmesine

neden olabilir.

Bu yüzden çeviri sonrasında satır sonları da kontrol edildi.

🔤 Türkçe Karakter Kontrolü

Yamada doğal olarak:

ç, ğ, ı, İ, ö, ş, ü

karakterlerini yoğun şekilde kullanıyoruz.

Bu yüzden yalnızca:

Dosyada Türkçe karakter yazıyor.

demek yeterli değil.

Oyunun:

  • Font

  • Encoding

  • UI

  • Runtime metin sistemi

tarafında da bunları doğru göstermesi gerekiyor.

Türkçe karakter desteğini teknik kontrollerin bir parçası olarak değerlendirdim.

🧪 Çeviri Sonrası Teknik QA

Çeviri tamamlandıktan sonra sadece:

6.000 satırın hepsi Türkçe, tamamdır.

deyip paketlemedim.

Metinlerde teknik olarak:

  • Placeholder yapıları

  • Biçimlendirme

  • Satır sonları

  • Metin biçimi

  • Türkçe karakterler

  • Dosya yapısı

gibi alanlar da kontrol edildi.

Çünkü güzel çevrilmiş bir cümle oyunun okuyamayacağı formatta bulunuyorsa kullanıcı açısından hiçbir anlamı yok.

🔄 Yamanın Gelecekteki Güncellemelerini Baştan Düşündüm

Caravan SandWitch Türkçe Yama’yı hazırlarken yalnızca bugünkü oyun sürümünü düşünmedim.

Bir oyun yaması hazırlarken benim için artık önemli konulardan biri de:

6 ay sonra oyun güncellendiğinde ne yapacağız?

sorusu.

Bu yüzden proje içerisinde güncelleme sürecinde kullanılabilecek ayrı bir teknik harita oluşturdum.

🔑 Localization Anahtarları Kayıt Altında

Çevrilen içeriklerin ilgili localization anahtarlarını mümkün olduğunca kayıt altında tutuyorum.

Böylece yeni oyun sürümünde:

  • Anahtar hâlâ var mı?

  • Silinmiş mi?

  • Yeni anahtar eklenmiş mi?

  • Mevcut metin değişmiş mi?

gibi kontroller yapılabilir.

Bu, yamayı güncelleme süresini ciddi şekilde azaltabilecek bir yapı.

🔗 Asset Bağlantıları da Takip Ediliyor

Sadece localization key tutmak bazı durumlarda yeterli değil.

Metnin hangi asset veya oyun sistemiyle bağlantılı olduğu da önemli olabilir.

Bu nedenle gerekli yerlerde asset ilişkileri de kayıt altına alındı.

Amaç yeni sürüm geldiğinde projeyi tekrar sıfırdan reverse engineering yapmak zorunda kalmamak.

🔐 Sürüm ve Hash Bilgileri

Yamada kullanılan önemli oyun kaynaklarının sürüm ve hash bilgilerini de kayıt altında tutuyorum.

Bu sayede yeni oyun sürümü geldiğinde:

Eski dosya ile yeni dosya gerçekten aynı mı?

sorusuna yalnızca dosya adına bakarak cevap vermek zorunda değilim.

Dosyanın içeriği değiştiyse bunu daha sistematik şekilde tespit edebiliriz.

🔄 Oyun Güncellenirse Ne Olacak?

İdeal süreç şu şekilde olacak:

Eski oyun sürümü

Yeni oyun sürümü

Dosya ve kaynak karşılaştırması

Değişmeyen metinleri koru

Değişen metinleri tespit et

Yeni metinleri çıkar

Yalnızca gerekli çevirileri yap

Yeni yama sürümünü hazırla

Yani oyun güncellendiğinde tekrar:

24.000+ dosyayı sıfırdan incele

ve

6.000 metni yeniden çevir

noktasına dönmek istemiyorum.

Bütün bu kayıt sistemini bunun için oluşturdum.

🆕 Yeni İçerikler İngilizce Kalırsa

Gelecekte oyun yeni görev, diyalog veya arayüz metni eklerse mevcut Türkçe yama eski içerikleri Türkçe göstermeye devam ederken yeni bölümlerin İngilizce kalması mümkün.

Böyle bir durumda ekran görüntüsüyle bildirim yapabilirsiniz.

Yeni içeriği ilgili kaynak üzerinden tespit edip sonraki yama sürümüne ekleyebilirim.

🐛 Hata Görürseniz Bildirin

Yaklaşık 6.000 metin elle çevrildiği için ne kadar kontrol yapılırsa yapılsın:

  • Yazım hatası

  • Yanlış bağlam

  • İngilizce kalan satır

  • Terim tutarsızlığı

  • UI taşması

  • Teknik görüntüleme problemi

gözden kaçabilir.

Böyle bir şey bulursanız forum üzerinden bildirmeniz gerçekten yardımcı olur.

Mümkünse ekran görüntüsü paylaşın.

Ekran görüntüsünün yanında:

  • Görev adı

  • Karakter

  • Menü

  • Bölge

  • Oyun sürümü

gibi bilgiler verirseniz ilgili metni çok daha hızlı bulabilirim.

💬 Çeviri Önerilerine Açığım

Bazı terimler için tek bir doğru Türkçe karşılık olmayabilir.

Daha doğal veya oyunun atmosferine daha uygun olduğunu düşündüğünüz bir çeviri varsa paylaşabilirsiniz.

Önerileri değerlendirirken yalnızca tek satıra değil, aynı terimin oyun genelindeki kullanımına da bakacağım.

Çünkü bir yerde yapılan değişikliğin onlarca başka metni etkileyebileceği durumlar olabiliyor.

🎯 Bu Yamadaki Temel Hedefim

Caravan SandWitch Türkçe Yama’yı hazırlarken üç şeye özellikle önem verdim:

1. Çeviri kalitesi

Yaklaşık 6.000 metni otomatik çeviri servislerine vermek yerine elle hazırlamak.

2. Teknik bütünlük

Placeholder, StringTable, asset, format ve Unreal Engine kaynak yapılarını bozmadan oyuna uygulamak.

3. Güncellenebilirlik

Oyun güncellendiğinde her şeyi sıfırdan yapmak yerine değişen kaynakları tespit edebilecek bir proje yapısı bırakmak.

Benim için artık iyi bir Türkçe yama sadece:

Bugün çalışan yama

değil,

yarın güncellemek gerektiğinde nasıl güncelleneceği de belli olan yama.

❤️ Son Olarak

Caravan SandWitch Türkçe Yama’nın hazırlanması, görünen 6.000 satırlık çeviriden çok daha büyük bir çalışma oldu.

Öncesinde:

24.000+ oyun dosyasının taranması

ardından:

localization, diyalog, görev, UI, StringTable ve asset kaynaklarının ayrıştırılması

sonrasında:

Fransızca + resmi İngilizce + oyun bağlamının birlikte değerlendirilmesi

ve en sonunda:

yaklaşık 6.000 metnin elle Türkçeleştirilmesi

gerekti.

Bunun yanında yamanın teknik yapısını ve gelecekteki güncellemelerini de mümkün olduğunca kayıt altına aldım.

Umarım Caravan SandWitch’i Türkçe oynamak isteyenler için düzgün ve uzun süre sürdürülebilir bir çeviri ortaya çıkmıştır.

Kullandıktan sonra karşılaştığınız hata veya önerileri forum üzerinden paylaşabilirsiniz.

Herkese iyi oyunlar. 🏜️🚐🇹🇷

🇹🇷 Kısaca

Oyun: Caravan SandWitch

İçerik: Türkçe Yama

Çeviri: ORGA

Motor: Unreal Engine

Taranan oyun dosyası: 24.000+

Elle Türkçeleştirilen metin: Yaklaşık 6.000

Otomatik çeviri servisi: Kullanılmadı

Kaynak diller: Ana Fransızca kaynak + resmi İngilizce yerelleştirme

İncelenen sistemler: Localization, diyaloglar, görevler, UI, StringTable, asset ve oyun içi etkileşim metinleri

Güncelleme altyapısı: Localization anahtarları, asset bağlantıları ve sürüm/hash bilgileri kayıt altında

Yamayı oyun güncellemelerine karşı mümkün olduğunca sürdürülebilir bir yapıda tutmaya devam edeceğim. 🇹🇷

Cevap yazmak için giriş yapmalısın. Okumak için giriş gerekmez.

Giriş yap