Kecualikan baris yang tidak diinginkan dari terjemahan dengan filter regex
String debug, jalur aset, dan sisa teks pengembang bisa lolos dari pengecualian otomatis. Filter regex per-proyek milik RuneTranslate mengecualikan setiap baris yang sumbernya cocok dengan sebuah pola — lengkap dengan pratinjau langsung tentang persis apa yang ditangkapnya — sehingga Anda tak pernah menghabiskan terjemahan untuk sampah. Gratis, di setiap tier.
Arahkan RuneTranslate ke sebuah game dan ia akan menarik setiap string yang bisa diterjemahkan yang bisa ditemukannya. Sebagian besar merupakan dialog dan teks menu asli — tetapi sebagian lagi hanyalah sampah: baris debug sisa, nama file aset, flag internal, dan pengenal (identifier) liar yang tidak pernah ditampilkan game kepada pemain. RuneTranslate sudah mengecualikan kasus-kasus yang jelas per engine dan menandainya sebagai baris merah opsional (opt-in), tetapi setiap game berbeda, dan sebagian sampah bersifat spesifik untuk judul yang sedang Anda kerjakan.
Untuk itulah filter pengecualian regex ada. Anda memberi RuneTranslate satu pola atau lebih, dan setiap baris yang teks sumber-nya cocok dengan sebuah pola akan dikeluarkan dari proses — dilewati oleh penerjemah dan ditampilkan sebagai baris merah opsional yang selalu bisa Anda aktifkan kembali. Mekanismenya sama dengan pengecualian engine bawaan, tetapi digerakkan oleh aturan Anda sendiri dan disimpan bersama proyek. Dan ini gratis: tidak seperti glosarium dan memori terjemahan, pengecualian regex gratis di setiap tier.
Mengapa perlu mengecualikan baris sama sekali?
Dua alasan — satu yang jelas, satu yang lebih penting:
- Biaya dan waktu. Setiap baris sampah yang Anda terjemahkan adalah kuota penyedia (atau batas laju scraper gratis) yang terpakai untuk teks yang tidak akan pernah dibaca siapa pun. Di sepanjang satu game utuh, jumlahnya menumpuk.
- Menjaga game tetap berfungsi. Ini yang sebenarnya penting. Sebagian baris sama sekali bukan teks — melainkan kunci, jalur file, atau operan alur yang diselesaikan engine berdasarkan nilai. Terjemahkan
bg_office_01atauEV_FLAG_TRUEdan Anda bisa diam-diam merusak transisi adegan atau pencarian variabel. Mengecualikannya menjaga build hasil ekspor tetap stabil.
Di mana menemukannya
Buka sebuah proyek, lalu pada toolbar editor buka menu ⋯ More dan pilih Regex exclusions. Itu akan membuka panel Custom exclusion filters — Anda menambahkan pola, mengamati persis apa yang ditangkapnya, dan menerapkannya, semua dalam satu dialog.
Pratinjau langsung adalah inti dari semuanya
Anda tidak pernah menerapkan pola secara buta. Saat Anda mengetik sebuah regex, RuneTranslate menampilkan Matches N of TOTAL lines dan mencantumkan beberapa baris asli yang akan ditangkapnya, diperbarui pada setiap ketukan tombol. Pola yang tidak valid langsung ditandai beserta kesalahannya, sehingga Anda tidak bisa menyimpan pola yang rusak.
Karena pratinjau menampilkan baris nyata dari proyek Anda, Anda menyetel pola hingga ia menangkap persis sampahnya dan tidak menangkap teks asli, lalu menerapkannya. Satu detail yang perlu diingat: pola dicocokkan dengan teks sumber — bahasa Jepang asli, atau apa pun bahasa sumber Anda — bukan terjemahannya. Anda menulis pola terhadap teks yang belum diterjemahkan.
Pola siap pakai
Panel ini dilengkapi chip preset satu klik untuk pola yang muncul di hampir setiap game Jepang:
- ASCII only —
^[\x00-\x7F]+$— baris yang sama sekali tidak memuat karakter bahasa sumber (sisa bahasa Inggris, romaji, atau sebuah pengenal). Biasanya aman dibuang ketika sumber Anda bahasa Jepang. - Asset path —
\.(png|jpe?g|gif|webp|ogg|mp3|wav|webm|mp4)$— apa pun yang berakhiran ekstensi file media. - Variable —
^[a-z_]+\.[a-z_]— referensi kode bertitik sepertif.pageataustate.flag. - ALL_CAPS token —
^[A-Z0-9_]+$— konstanta dan flag sepertiEVENT_FLAG_3. - Numbers / symbols —
^[\d\s.,:%/+\-]+$— baris yang hanya berisi angka dan mask ubin seperti11111112222. - Bracketed tag —
^\[.*\]$— satu baris utuh yang tak lain hanyalah sebuah[tag].
Panel ini juga menampilkan lembar contekan ringkas untuk membangun pola Anda sendiri: ^ dan $ menambatkan awal dan akhir baris, . adalah karakter apa pun, * dan + berarti nol-atau-lebih dan satu-atau-lebih, ? bersifat opsional, \d sebuah digit, \w sebuah karakter kata, dan \s spasi kosong.
Menulis filter Anda sendiri
Preset mencakup kasus-kasus umum; untuk apa pun yang spesifik pada game, Anda menulis ekspresi reguler JavaScript Anda sendiri. Beberapa aturan praktis:
- Tambatkan ke seluruh baris. Sebuah
debugyang polos akan cocok dengan setiap baris yang memuat kata itu — termasuk dialog asli tentang debugging.^DEBUG:hanya cocok dengan baris yang diawali penanda tersebut, dan membungkus pola dengan^...$akan mencocokkan seluruh baris. Menambatkan adalah default yang paling aman. - Perhatikan jumlah pada pratinjau. Jika sebuah pola melonjak dari menangkap 12 baris sampah menjadi menangkap 400, hampir pasti Anda telah menangkap teks asli — periksa contohnya dan perketat polanya.
- Utamakan struktur ketimbang kata. Sampah biasanya dikenali dari bentuknya — huruf kapital semua, jalur bertitik, ekstensi file di ujung, angka murni — bukan dari kata tertentu. Pola struktural berlaku umum di seluruh proyek.
- Satu aturan per gagasan. Beberapa pola kecil yang jelas lebih mudah dipahami, dan lebih mudah dihapus nanti, ketimbang satu pola raksasa yang sulit dibaca.
Menerapkan, dan membatalkan
Tekan Apply & save. RuneTranslate menyimpan pola bersama proyek dan mengklasifikasikan ulang setiap baris, lalu memberi tahu Anda persis apa yang terjadi — misalnya Excluded 340 lines · 5 restored. Angka restored adalah baris yang dulunya ditangkap sebuah filter tetapi kini tidak lagi, yang dikembalikan secara otomatis.
Ini sepenuhnya bisa dibatalkan: hapus sebuah pola, terapkan lagi, dan baris-barisnya kembali. Filter hanya pernah memiliki pengecualiannya sendiri — mereka tidak pernah menimpa pengecualian otomatis engine — dan Anda tetap bisa mengaktifkan kembali baris tunggal mana pun dengan sakelar barisnya jika sebuah filter terlalu luas.
Prompt reset terjemahan yang difilter
Satu kasus yang ditangani RuneTranslate untuk Anda: bagaimana jika Anda memfilter baris yang sudah Anda terjemahkan? Baris yang dikecualikan mengekspor teks sumber-nya, tetapi terjemahan lama masih terlampir padanya. Jadi tepat setelah Anda menerapkan, jika ada baris yang baru difilter yang sudah memiliki terjemahan, RuneTranslate menanyakan apakah akan mereset-nya ke pending — membuang terjemahan agar ekspor bersih kembali ke sumber — atau mempertahankannya. Reset biasanya yang Anda inginkan, karena Anda mengecualikan baris-baris itu justru karena Anda tidak ingin baris tersebut diterjemahkan.
Bagaimana ini berpadu dengan yang lainnya
Filter regex adalah alat jarak-akhir (last-mile). Adapter engine sudah mengecualikan sampah struktural yang mereka ketahui untuk setiap format, sehingga pada game yang didukung dengan baik, AI tidak pernah melihat sebuah jalur aset. Filter ditujukan untuk sisa-sisanya: penanda spesifik game, satu saluran debug yang aneh, atau string yang dimunculkan sebuah engine khusus yang tidak sepenuhnya berupa dialog.
Gunakan filter status Excluded pada editor untuk meninjau semua yang saat ini ditahan — pengecualian engine dan pengecualian regex Anda sekaligus — dan mengaktifkan kembali bagian mana pun darinya. Dan sementara filter menghapus baris, glosarium melakukan kebalikannya: ia mengunci istilah pilihan agar selalu diterjemahkan dengan cara yang sama. Di antara keduanya, Anda mengendalikan baik apa yang diterjemahkan maupun caranya.
Lima menit dengan panel Filter di awal proyek — masukkan beberapa chip preset, lirik pratinjaunya, terapkan — menghemat kuota pada setiap proses berikutnya dan sepenuhnya menjauhkan non-teks berisiko dari penerjemah. Unduh RuneTranslate, buka game apa pun, dan periksa menu ⋯ More untuk Regex exclusions.
Siap mencoba RuneTranslate?
Tier gratis membuka setiap engine + setiap penyedia terjemahan. Supporter ($3/mo) membuka kecepatan penuh.
Unduh untuk Windows