Cara menerjemahkan visual novel NScripter / ONScripter
RuneTranslate menerjemahkan visual novel NScripter dan ONScripter ke bahasa Inggris dan 30+ bahasa — mendekode nscript.dat yang terobfuskasi XOR, menangani Shift-JIS / CP932, dan mengekspor salinan siap-jalan. Baru; laporkan apa pun yang tak mau dimuat.
RuneTranslate membaca salah satu keluarga engine tertua dalam visual novel Jepang: NScripter dan kembarannya yang open-source, ONScripter. VN doujin klasik ini — yang dikirim sebagai folder berisi berkas .dat misterius dan skrip Shift-JIS — secara historis paling menyakitkan untuk dibongkar dengan tangan, dan yang biasanya dilewati alat terjemahan mesin. RuneTranslate mendeteksi engine-nya, membaca teks skrip, dan bahkan bisa menerjemahkan bahasa Jepang yang dilukis ke layar judul dan tombol menu.
Dukungan engine ini baru ditambahkan dan belum terverifikasi di game sungguhan, jadi jika Anda mengarahkan RuneTranslate ke game NScripter / ONScripter dan ia tidak terdeteksi atau tak mau dimuat, tolong beri tahu kami — selengkapnya di akhir.
Apa sebenarnya NScripter dan ONScripter itu
NScripter adalah engine skrip VN Windows tertutup buatan Naoki Takahashi, banyak dipakai di Jepang sejak awal 2000-an. Lisensinya yang bebas royalti untuk penggunaan pribadi dan komersial, pengemas arsip bawaan, dan bahasa skrip tingkat-rendah yang tersohor menjadikannya andalan kalangan doujin; studio seperti Nekonekosoft nyaris sepenuhnya mengandalkannya.
ONScripter adalah reimplementasi runtime NScripter yang terpisah dan open-source (GPL) oleh seorang programmer yang dikenal sebagai Ogapee. Dibangun di atas SDL dan kompatibel drop-in, ia berjalan di tempat yang tak bisa dijangkau NScripter — Linux, macOS, Android, dan lainnya — sehingga komunitas lokalisasi mengadopsinya (dan fork seperti ONScripter-EN dan Ponscripter untuk font Unicode proporsional) sebagai runtime de-facto untuk merilis build terjemahan.
Singkatnya: NScripter adalah engine Windows tertutup asli tempat game ditulis; ONScripter adalah runtime terbuka lintas-platform tempat penerjemah penggemar menjalankan build mereka. RuneTranslate bekerja dari skrip dan aset game, jadi ia mencakup judul di kedua kubu.
Mengapa game-game ini begitu sulit diterjemahkan
Dibandingkan engine modern seperti Ren’Py atau Kirikiri, NScripter / ONScripter adalah ladang ranjau keanehan zaman-engine. Empat di antaranya khususnya menjadikannya tembok bagi penerjemah manual maupun alat MT naif:
- Enkode Shift-JIS / CP932. Skrip lawas berupa Shift-JIS (CP932). Dekode salah dan Anda mendapat mojibake; enkode ulang sembarangan dan beberapa runtime lama merusak memori dan crash. Skrip native modern bisa UTF-8, tetapi katalog lama berupa CP932.
- `nscript.dat` terobfuskasi XOR-`0x84`. Skrip terkompilasi biasanya berada di
nscript.dat(ataupscript.datdi Ponscripter), setiap byte di-XOR dengan konstanta0x84. Ini bukan enkripsi — sekadar penjaga terhadap spoiler tak sengaja — tetapi Anda tetap tak bisa membukanya di editor teks. Game plaintext mengirim skrip sebagai0.utf/0.utf.txt(UTF-8) atau0.txt/00.txt(Shift-JIS). - Teks yang menyatu dalam karya gambar. Layar judul, menu, dan tombol kerap berupa bitmap yang telah dirender, sehingga bahasa Jepang di atasnya adalah piksel, bukan string — pengekstrak string tak bisa menyentuhnya.
- Yang halus: baris berawalan Latin diurai ulang sebagai perintah. Pengurai NScripter memulai setiap baris dalam mode perintah. Itu aman ketika engine hanya menerima bahasa Jepang dua-byte, tetapi baris yang diawali huruf Latin satu-byte tampak persis seperti perintah dan engine mencoba mengeksekusinya. Perbaikan komunitasnya adalah penanda teks cadangan (backtick `
`di ONScripter lawas;^` di Ponscripter) yang memaksa mode teks — yang tak akan ditambahkan oleh cari-dan-ganti naif.
Apa yang dilakukan RuneTranslate sekarang
RuneTranslate memperlakukan NScripter / ONScripter sebagai engine kelas satu dan menangani kedua sisi masalah:
- Teks skripnya. Ia membaca skrip game — berkas plaintext lepas atau
nscript.datyang terobfuskasi dengan XOR0x84— mendekode dialog Shift-JIS / CP932, mendaftar setiap baris yang bisa diterjemahkan di editor, dan saat ekspor menulis skrip kembali dalam bentuk yang diharapkan engine, menerapkan ulang XOR ketika aslinya memakainya. Ia juga menyisipkan penanda teks satu-byte secara otomatis sehingga bahasa Inggris terjemahan tak terbaca sebagai perintah. (Skrip yang berada hanya di dalam arsip.nsa/.sar, tanpa salinan lepas, belum dibaca — lihat keterbatasan.) - Teks yang menyatu dalam gambar. Bahasa Jepang di layar judul dan menu ditangani oleh terjemahan teks-gambar: kotaki kata-katanya, kenali, terjemahkan dengan penyedia Anda sendiri, dan panggang ulang hasilnya sehingga game memuat karya seni terjemahan Anda.
Jepang → Inggris adalah titik terbaiknya — itulah inti sejarah terjemahan penggemar engine ini — tetapi Anda bisa menargetkan 30+ bahasa. Pada skrip Shift-JIS lawas, target non-Latin dibatasi oleh font yang bisa dirender engine.
Yang Anda butuhkan
- RuneTranslate untuk Windows — gratis, setiap engine dan penyedia terbuka.
- Sebuah folder game NScripter atau ONScripter — direktori dengan
.exegame (atau biner ONScripter), skripnya (nscript.dat, atau0.txt/0.utflepas), dan arsip.nsa/.sarapa pun. - Sebuah bahasa target — Inggris, Spanyol, Prancis, Jerman, Mandarin, dan 30+ lainnya.
- Satu penyedia. Google Translate gratis langsung bekerja; DeepL punya tier gratis; OpenAI, Anthropic, model lokal, dan API apa pun yang kompatibel dengan OpenAI memakai kunci Anda sendiri. Game-game ini padat dialog, jadi sebuah LLM atau DeepL membacanya paling baik.
Langkah 1: Buka folder game
Luncurkan RuneTranslate, klik New project, dan arahkan ke direktori game. Deteksi berjalan otomatis: sebuah nscript.dat / pscript.dat, atau 0.utf / 0.utf.txt plaintext, sudah cukup dengan sendirinya. Sebuah 0.txt Shift-JIS polos atau arsip .nsa tunggal hanya dikenali bersama sinyal pendukung — biner ONScripter, font game, atau arsip pendamping — untuk menghindari kecocokan palsu. Folder game asli Anda tidak pernah diubah.
Langkah 2: Bagaimana skrip dibaca
RuneTranslate membaca skrip yang dikirim game secara lepas di rootnya dan mendekodenya untuk Anda:
- `nscript.dat` terobfuskasi — di-un-XOR dengan
0x84dan dibaca sebagai Shift-JIS, jadi Anda melewatkan langkahnsdecterpisah. - Skrip plaintext —
0.utf/0.utf.txt(UTF-8) atau0.txt/00.txt(Shift-JIS), dibaca langsung. - Gambar terarsip — ditarik dari arsip
.nsa/.sargame untuk langkah teks-gambar. (Skripnya sendiri dibaca dari berkas root lepas; skrip yang dikemas hanya di dalam arsip belum dibaca.)
Dialog dan teks yang ditampilkan didaftar di editor, dikelompokkan per berkas. Markup engine dan token perintah disamarkan di balik placeholder numerik sebelum mencapai penyedia, lalu dipulihkan saat keluar — dan penanda teks satu-byte diterapkan di tempat yang diperlukan, sehingga engine tak akan salah mengira baris terjemahan sebagai perintah.
Langkah 3: Terjemahkan
Pilih penyedia dan jalankan. Sebuah LLM (OpenAI / Anthropic) terbaik untuk suara karakter, DeepL cepat dan bersih untuk narasi, dan Google Translate gratis cocok untuk string menu pendek. Susun glosarium para pemeran Anda lebih dulu agar nama tampil identik — lihat Glossary 101. Setelah selesai, pass opsional dengan AI refiner membaca ulang setiap baris dalam konteks dan mengencangkan frasa harfiah yang kaku yang cenderung ditinggalkan MT.
Langkah 4: Terjemahkan teks di dalam gambar
Karena begitu banyak UI NScripter berupa karya seni yang telah dirender, langkah ini lebih penting di sini daripada di kebanyakan engine. Buka gambar judul atau menu, kotaki setiap potong bahasa Jepang, kenali, terjemahkan dengan penyedia yang sama, dan saat ekspor RuneTranslate memanggang terjemahan itu kembali dan menuliskannya lepas ke dalam salinan yang diekspor, sehingga engine memuat karya seni terjemahan Anda atas aslinya yang terarsip. (Folder asli Anda tetap tak tersentuh; karya seni terkompresi-SPB dan beberapa varian gambar eksotis masih diperkuat.) Panduan lengkap: terjemahan teks-gambar.
Langkah 5: Ekspor salinan siap-jalan
Klik Export. RuneTranslate menulis salinan terjemahan game — skrip dienkode ulang ke Shift-JIS / CP932 dan diobfuskasi ulang dengan XOR 0x84 jika aslinya memakainya, ditulis sebagai skrip lepas yang dimuat engine atas salinan terarsip mana pun, plus gambar terjemahan apa pun di sebelahnya. Jalankan dan ia berjalan dalam bahasa target Anda, baik pada runtime NScripter asli maupun ONScripter / ONScripter-EN.
Keterbatasan yang diketahui
- Obfuskasi XOR-
0x84ditangani, tetapi game dengan enkripsi kustom sejati mungkin tak mau terbuka. - Skrip yang dikemas hanya di dalam arsip
.nsa/.sar, tanpanscript.dat/0.txtlepas di root, belum diekstrak — sebagian besar game mengirimnya lepas, tetapi beberapa tidak. - Terjemahan teks-gambar menjangkau menu, judul, dan tombol yang dilukis, tetapi karya seni terkompresi-SPB dan logo yang sangat bergaya mungkin perlu sentuhan manual.
- Engine persisnya bisa berbeda per rilisan — beberapa judul yang terkait NScripter direkayasa ulang untuk rilisan ulang Steam / konsol tertentu. Verifikasi pada salinan Anda.
Ini benar-benar baru — beri tahu kami apa yang rusak
Engine ini adalah tambahan baru, belum teruji tempur. NScripter / ONScripter punya varian, fork, dan keanehan per-studio berpuluh tahun yang belum semuanya kami lihat. Jadi jika Anda mengarahkan RuneTranslate ke salah satunya dan ia tidak terdeteksi, tak mau dimuat, atau mengekspor sesuatu yang tak mau dibuka runtime, tolong laporkan — nama game dan cara pengemasannya (0.txt lepas, nscript.dat, arsip .nsa) membantu kami memperkuatnya paling cepat.
Unduh RuneTranslate, arahkan ke VN klasik yang selama ini ingin Anda baca, dan cobalah. Untuk engine VN yang lebih modern, baca panduan Ren’Py.
Siap mencoba RuneTranslate?
Tier gratis membuka setiap engine + setiap penyedia terjemahan. Supporter ($3/mo) membuka kecepatan penuh.
Unduh untuk Windows
