Desteklenen motor · Gettext (.po / .mo)
Gettext, Japon olmayan bağımsız oyunların çoğunun yerelleştirilme yöntemidir: Python ve pygame oyunları, Solarus, SDL ve GTK oyunları ve Poedit, Weblate veya Crowdin’den geçen her şey. Metinler locale klasöründe .po kaynakları ve derlenmiş .mo katalogları olarak durur. RuneTranslate bunları proje oluştururken algılar, her satırı çevirir ve çalışan bir .mo geri yazar — yani oyunun çalışırken okuduğu dosyayı.
Gettext katalogları çoğunlukla arayüzdür: menü öğeleri, düğme etiketleri, ipuçları ve ekranlar arasında tekrar eden durum satırları. Kendi adlarınızı, eşya isimlerinizi ve anahtar fiillerinizi sözlüğe bir kez ekleyin; her geçtiği yerde aynı çıkar — bu, diyalogdan bile önemlidir, çünkü bir yerde “Kaydet”, başka yerde “Sakla” diyen bir menü hata gibi okunur. Sözlük 101 →
RuneTranslate’i oyun dizinine yöneltin — locale/, lang/ veya i18n/ klasörü içeren dizine. Algılama katalogları uzantıya değil gerçek baytlarına bakarak arar; bu yüzden aslında 3B sahne olan bir .mo yok sayılır. Dağınık .po dosyalarından oluşan bir klasör de olur.
Yeni proje penceresi kaç katalog okunduğunu, kaçının derlenmiş .mo, kaçının kaynak .po olduğunu, oyunun hâlihazırda hangi dilleri içerdiğini ve toplam satır sayısını siz projeyi oluşturmadan önce gösterir.
Hedef dili ve bir sağlayıcıyı seçin: ücretsiz Google ya da DeepL veya kendi DeepL, OpenAI, Claude, DeepSeek anahtarınız. Biçim yer tutucuları — %s, %d, %(player)s, {count} — çeviriden önce maskelenir ve sonra geri konur; böylece hiçbir sağlayıcı onları silemez veya yeniden yazamaz.
Satırlar katalog dosyasına göre gruplanır. Her kayıt gettext bağlamını (msgctxt) korur; bu, geliştiricinin tam olarak o satır için yazdığı ayrımdır — aynı kelimenin neden iki kez göründüğünü görür ve her birini doğru çevirirsiniz.
Dışa aktarma, oyunun tam bir kopyasını doğru bir locale/<diliniz>/LC_MESSAGES/ kataloguyla VE oyunun zaten yüklediği katalogun güncellenmiş hâliyle yazar; böylece oyun dilini nasıl seçerse seçsin çeviri görünür. Hem .po hem derlenmiş .mo yazılır.