Terjemahan RPG Maker MV vs MZ: apa yang berubah bagi penerjemah
Kedua engine berbagi sebagian besar area terjemahan yang sama, tetapi parameter plugin, kode kontrol, dan tata letak folder data bergeser di MZ. Catatan praktis bagi penerjemah yang berpindah antara proyek MV dan MZ.
Dari sudut pandang penerjemah, RPG Maker MV dan MZ adalah engine yang 90% sama. Keduanya menyimpan dialog, pilihan, item, skill, dan istilah sebagai JSON. Keduanya menggunakan kode perintah event yang sama (401 dialog, 102 pilihan, 320/324/325 teks bergulir). Keduanya menghormati kode kontrol yang sama (\C[1], \N[2], \V[3], dll.). Sisa 10% — tata letak folder, format parameter plugin, segelintir kode event baru — itulah yang membuat penerjemah tersandung saat berpindah di antara keduanya. Postingan ini adalah referensi singkat.
Tata letak folder: perbedaan yang paling terlihat
- MV menyimpan berkas data di
www/data/*.json. Aset game, plugin, dan runtime yang dibundel Node berada di sampingnya. - MZ menghilangkan pembungkus
www/dan menyimpan data langsung didata/*.json. Runtime-nya juga lebih ramping (secara bawaan tanpa pembungkus bundel Node; MZ dikirim sebagai aplikasi web statis bergaya NW.js).
Bagi RuneTranslate ini tak terlihat — deteksi engine memeriksa kedua jalur dan memilih mana pun yang ada. Tetapi jika kamu melakukan sesuatu secara manual — menyalin terjemahan antar-game, memeriksa berkas dengan editor eksternal — ingatlah prefiksnya.
Dialog, pilihan, teks bergulir: identik
Struktur perintah event sama di kedua engine, yang berarti area terjemahannya identik:
401— baris dialog dalam perintah Show Text.405— baris lanjutan dari perintah Show Text yang sama (ketika teks membentang di beberapa jendela tampilan).102— teks opsi pilihan.320,324,325— blok teks bergulir (digunakan untuk kredit, adegan monolog).
RuneTranslate mem-parse kelimanya secara identik di MV dan MZ. Satu-satunya yang berbeda adalah kode mana yang cenderung muncul: skrip MZ lebih sering memakai blok teks bergulir dalam templat bawaan, tetapi itu preferensi penulis, bukan perbedaan engine.
Pemenggalan baris pada 46 karakter
Baik MV maupun MZ memenggal baris dialog di tepi jendela pesan. Jendela pesan bawaan memuat kira-kira 46 karakter satu-byte per baris pada ukuran font bawaan; baris yang lebih panjang dipindah ke jendela berikutnya yang terlihat. RuneTranslate otomatis memenggal dialog pada 46 karakter saat ekspor di kedua engine agar baris terjemahan tidak meluber dari kotak percakapan.
Catatan: jika game memakai font kustom yang lebih lebar atau lebih sempit, pemenggalan mungkin perlu disesuaikan. Untuk saat ini ini adalah konstanta global di adapter RPG Maker; jika kamu menemukan game yang tampilannya kurang pas, solusinya adalah memperpendek baris-baris panjang secara manual di editor sebelum ekspor.
String parameter plugin: tempat MZ berbeda
Kedua engine menyimpan konfigurasi plugin di js/plugins.js (MV) atau js/plugins.js (MZ — jalur yang sama, hanya tanpa prefiks www/). Struktur formatnya sama: sebuah berkas JS yang mendeklarasikan blok PluginManager.parameters per plugin. Kedua engine menyimpan string yang terlihat secara inline di dalam blok itu.
Perbedaannya adalah plugin mana yang dikirim secara bawaan dan bagaimana mereka mendeklarasikan parameternya. Plugin bawaan bergaya Yanfly di MZ lebih sering memakai skema parameter bersarang yang terstruktur, yang bisa menghasilkan string ber-encoding JSON di dalam string ber-encoding JSON. RuneTranslate menangani kedalaman penyarangan yang umum, tetapi jika sebuah plugin memakai encoding kustom (JSON yang dibungkus Base64, misalnya), kamu mungkin perlu menerjemahkan string plugin itu secara manual.
Saran praktis: jika kamu melihat string di proyek yang terlihat seperti {"text":"こん..."} — itu adalah blok dalam ber-encoding JSON yang di-parse plugin saat runtime. Bahasa Jepangnya masih ada, hanya terbungkus. Gunakan fitur cari-dan-ganti editor untuk memeriksa secara acak setelah terjemahan.
Kode kontrol: identik, jangan pernah biarkan hilang
Kedua engine mendukung keluarga kode kontrol yang sama:
\C[n]— mengganti warna teks ke indeks paletn.\N[n]— mencetak nama aktorn.\V[n]— mencetak nilai variabel gamen.\.,\|,\^— modifier jeda / tunggu.
Kode-kode ini wajib bertahan melewati terjemahan apa adanya. Jika sebuah penyedia menghilangkan atau merusak \N[1], game akan mencetak sampah backslash mentah alih-alih nama pemain. RuneTranslate menutupi setiap kode kontrol dengan placeholder buram sebelum mengirim ke penyedia, lalu memulihkannya persis — dan jika ada placeholder yang gagal bolak-balik utuh, unit tersebut ditandai gagal sehingga bahasa Jepang aslinya tetap dipertahankan.
Kiat alur kerja praktis
- Jangan menyunting berkas JSON secara manual. Gunakan editor bawaan RuneTranslate untuk perbaikan manual. Editor melacak unit mana yang telah kamu sunting sehingga menjalankan ulang penerjemah tetap mempertahankan hasil kerjamu.
- Terjemahkan parameter plugin terakhir. Sebagian besar string plugin adalah teks konfigurasi / UI yang tidak butuh banyak penyuntingan manual. Jalankan dialog dulu, perbaiki baris yang perlu secara manual, lalu jalankan plugin dalam lintasan terpisah dengan penyedia yang murah.
- Pertahankan save antar-penerjemahan ulang. Player engine memuat save berdasarkan indeks baris data, bukan string. Selama kamu tidak menyusun ulang event, pemain bisa mempertahankan berkas save mereka melewati penerjemahan ulang ke bahasa Inggris.
Untuk panduan lengkap RPG Maker, lihat halaman engine RPG Maker. Untuk membandingkan penyedia terjemahan bagi game RPG Maker, lihat Penyedia terbaik untuk menerjemahkan game Jepang.
Siap mencoba RuneTranslate?
Tier gratis membuka setiap engine + setiap penyedia terjemahan. Supporter ($3/mo) membuka kecepatan penuh.
Unduh untuk Windows