RPG Maker MV ile MZ çeviri karşılaştırması: çevirmenler için neler değişiyor
Her iki motor da çeviri yüzeyinin büyük bölümünü paylaşır, ancak MZ'de eklenti parametreleri, kontrol kodları ve veri klasörü düzeni değişir. MV ile MZ projeleri arasında geçiş yapan çevirmenler için pratik notlar.
Bir çevirmenin gözünden RPG Maker MV ve MZ %90 aynı motordur. İkisi de diyalogları, seçenekleri, eşyaları, becerileri ve terimleri JSON olarak saklar. İkisi de aynı olay komut kodlarını kullanır (401 diyalog, 102 seçenek, 320/324/325 kayan metin). İkisi de aynı kontrol kodlarını destekler (\C[1], \N[2], \V[3] vb.). Geriye kalan %10 — klasör düzeni, eklenti parametre biçimi, birkaç yeni olay kodu — çevirmenlerin ikisi arasında geçiş yaparken tökezlediği yerdir. Bu yazı hızlı bir başvuru kaynağıdır.
Klasör düzeni: en görünür fark
- MV, veri dosyalarını
www/data/*.jsonkonumunda saklar. Oyun varlıkları, eklentiler ve Node ile paketlenmiş çalışma zamanı da onun yanında bulunur. - MZ,
www/sarmalayıcısını bırakır ve verileri doğrudandata/*.jsoniçinde saklar. Çalışma zamanı da daha yalındır (varsayılan olarak Node ile paketlenmiş sarmalayıcı yoktur; MZ, NW.js tarzı statik bir web uygulaması olarak dağıtılır).
RuneTranslate için bu görünmezdir — motor algılama her iki yolu da inceler ve hangisi varsa onu seçer. Ama elle bir şey yapıyorsanız — bir çeviriyi oyunlar arasında kopyalamak, bir dosyayı harici bir düzenleyiciyle kontrol etmek gibi — ön eki unutmayın.
Diyaloglar, seçenekler, kayan metin: aynı
Olay komutu yapısı her iki motorda da aynıdır; bu da çeviri yüzeyinin özdeş olduğu anlamına gelir:
401— Metin Göster komutundaki diyalog satırı.405— aynı Metin Göster komutunun devam satırları (metin birden fazla görüntü penceresine yayıldığında).102— seçenek metni.320,324,325— kayan metin blokları (jenerik ve monolog sahnelerinde kullanılır).
RuneTranslate, beşini de MV ve MZ'de aynı şekilde ayrıştırır. Değişen tek şey hangi kodun daha çok göründüğüdür: MZ betikleri varsayılan şablonlarda kayan metin bloğunu daha fazla kullanır, ama bu motor farkı değil, yazar tercihidir.
46 karakterde satır kaydırma
Hem MV hem de MZ, diyalog satırlarını mesaj penceresinin kenarında böler. Varsayılan mesaj penceresi, varsayılan yazı tipi boyutunda satır başına yaklaşık 46 tek baytlık karakter alır; daha uzun satırlar bir sonraki görünür pencereye kayar. RuneTranslate, dışa aktarımda diyalogları her iki motorda da otomatik olarak 46 karakterde kaydırır, böylece çevrilmiş satırlar konuşma kutusundan taşmaz.
Uyarı: oyun daha geniş veya daha dar özel bir yazı tipi kullanıyorsa satır kaydırmanın ayarlanması gerekebilir. Şimdilik bu, RPG Maker bağdaştırıcısındaki genel bir sabittir; görüntüsü bozuk görünen bir oyunla karşılaşırsanız geçici çözüm, dışa aktarmadan önce uzun satırları düzenleyicide elle kısaltmaktır.
Eklenti parametre dizeleri: MZ'nin ayrıştığı yer
Her iki motor da eklenti yapılandırmasını js/plugins.js (MV) veya js/plugins.js (MZ — aynı yol, yalnızca www/ ön eki olmadan) içinde saklar. Biçimin yapısı aynıdır: her eklenti için bir PluginManager.parameters bloğu bildiren bir JS dosyası. Her iki motor da görünür dizeleri bu bloğun içinde satır içi olarak saklar.
Fark, varsayılan olarak hangi eklentilerin geldiği ve parametrelerini nasıl bildirdikleridir. MZ'nin varsayılan Yanfly tarzı eklentileri, yapılandırılmış iç içe parametre şemalarını daha sık kullanır; bu da JSON kodlu bir dizenin içinde başka bir JSON kodlu dize üretebilir. RuneTranslate yaygın iç içe geçme derinlikleriyle başa çıkar, ancak bir eklenti özel bir kodlama kullanıyorsa (örneğin Base64 ile sarılmış JSON), o eklentinin dizelerini elle çevirmeniz gerekebilir.
Pratik tavsiye: projede {"text":"こん..."} gibi görünen dizeler görürseniz — bu, eklentinin çalışma zamanında ayrıştırdığı, JSON kodlu bir iç bloktur. Japonca hâlâ oradadır, yalnızca sarılıdır. Çeviriden sonra kontrol etmek için düzenleyicinin bul-değiştir özelliğini kullanın.
Kontrol kodları: aynı, asla kaybolmalarına izin vermeyin
Her iki motor da aynı kontrol kodu ailesini destekler:
\C[n]— metin rengini palet dizininile değiştirir.\N[n]—naktörünün adını yazdırır.\V[n]—noyun değişkeninin değerini yazdırır.\.,\|,\^— duraklatma / bekleme değiştiricileri.
Bunlar çeviride birebir korunmalıdır. Bir sağlayıcı \N[1] kodunu düşürür veya bozarsa, oyun oyuncunun adı yerine ham ters eğik çizgi çöpü yazdırır. RuneTranslate, her kontrol kodunu sağlayıcıya göndermeden önce opak bir yer tutucuyla maskeler, ardından bunları tam olarak geri yükler — ve herhangi bir yer tutucu tam olarak geri dönemezse, birim başarısız olarak işaretlenir ve orijinal Japonca korunur.
Pratik iş akışı ipuçları
- JSON dosyalarını elle düzenlemeyin. Elle düzeltmeler için RuneTranslate'in yerleşik düzenleyicisini kullanın. Düzenleyici, hangi birimleri düzenlediğinizi takip eder; böylece çeviriciyi yeniden çalıştırdığınızda işiniz korunur.
- Eklenti parametrelerini en son çevirin. Çoğu eklenti dizesi, fazla elle düzenleme gerektirmeyen yapılandırma / arayüz metnidir. Önce diyalogları çalıştırın, gereken satırları elle düzeltin, ardından eklentileri ucuz bir sağlayıcıyla ayrı bir geçişte çalıştırın.
- Yeniden çevirilerde kayıtları koruyun. Motor oynatıcıları kayıtları dizeye göre değil, veri satırı dizinine göre yükler. Olayların sırasını değiştirmediğiniz sürece, oyuncular İngilizce yeniden çeviriden sonra kayıt dosyalarını koruyabilir.
RPG Maker'ın tam kılavuzu için RPG Maker motor sayfasına bakın. RPG Maker oyunları için çeviri sağlayıcılarını karşılaştırmak isterseniz Japonca oyunları çevirmek için en iyi sağlayıcılar yazısına bakın.
RuneTranslate'i denemeye hazır mısın?
Ücretsiz katman her motoru + her çeviri sağlayıcısını açar. Supporter ($3/mo) tam hızı açar.
Windows için indir