เอนจินที่รองรับ · YU-RIS
YU-RIS (โดย raiL-soft) เป็นเอนจินสคริปต์ Windows ที่ใช้มายาวนานเบื้องหลังวิชวลโนเวลญี่ปุ่น doujin และเชิงพาณิชย์หลายร้อยเกม ทรัพยากรของมันอยู่ในอาร์ไคฟ์แพ็กเกจ .ypf และเนื้อเรื่องถูกคอมไพล์เป็นสคริปต์ YSTB (ไฟล์ .ybn ภายใน ysbin.ypf ที่พาธภายในเช่น ysbin/yst00000.ybn) RuneTranslate อ่านแพ็กเกจ .ypf ใน TypeScript ล้วน — ไม่มี GARbro หรือเครื่องมือภายนอก — คลายบีบอัดรายการและกู้คีย์ชื่อไฟล์ของแต่ละอาร์ไคฟ์ แล้วแยกวิเคราะห์สคริปต์ YSTB ที่คอมไพล์แล้ว: มันแยกสี่ส่วน (คำสั่ง ตัวอธิบายอาร์กิวเมนต์ ค่าสตริง หมายเลขบรรทัด) และกู้คีย์ XOR 4 ไบต์ของสคริปต์อัตโนมัติจากตารางตัวอธิบาย สคริปต์ที่เข้ารหัสจึงเปิดได้โดยไม่ต้องล่าคีย์ จากนั้นมันดึงบทสนทนาญี่ปุ่นออกจากตารางสตริงและแสดงทุกบรรทัดในตัวแก้ไข ขณะที่เว้นตัวถูกกระทำคำสั่งของเอนจิน ชื่อตัวแปร และพาธแอสเซตไว้ยกเว้นตามค่าเริ่มต้น เพื่อให้คุณไม่แปลสิ่งที่ตรรกะสคริปต์เปรียบเทียบด้วย ตอนส่งออกมันสร้างตารางสตริงใหม่ — แพตช์ทุกออฟเซตเพื่อให้คำแปลที่ยาวหรือสั้นกว่าพอดี — ใช้คีย์ XOR เดิมซ้ำ และเขียน .ybn ที่แปลแบบแยกที่พาธอาร์ไคฟ์ของมัน เพราะ YU-RIS runtime อ่านไฟล์แยกบนดิสก์ก่อนพาธเดียวกันที่แพ็กใน .ypf เกมจึงโหลดคำแปลของคุณเพียงเท่านั้น — ไม่มีการแพ็กใหม่ เอนจินนี้ยังกำลังถูกตรวจสอบข้ามเกมจริง ทดสอบบิลด์ที่ส่งออกก่อนแจกจ่าย
วิชวลโนเวลพึ่งรายชื่อตัวละครคงที่และคำศัพท์ที่เกิดซ้ำข้ามหลายพันบรรทัด และการแปลอัตโนมัติจะสะกดชื่อนางเอกสามแบบต่างกันข้ามสามบท ใส่ตัวละคร ชื่อสถานที่ และเทอมที่เกิดซ้ำลงในอภิธานศัพท์ล่วงหน้าเพื่อให้ทุกบรรทัดบทสนทนาแสดงมันเหมือนกัน อภิธานศัพท์ 101 →
ชี้ RuneTranslate ไปที่ไดเรกทอรีเกม — โฟลเดอร์ที่มี yu-ris.exe ของเกมและแพ็กเกจ .ypf (มักอยู่ในโฟลเดอร์ย่อย pac/ โดยมีสคริปต์ใน ysbin.ypf) ถ้าคุณแตกเกมด้วย GARbro แล้ว โฟลเดอร์ ysbin/ แยกของสคริปต์ .ybn ก็ถูกตรวจจับด้วย การตรวจจับเอนจินจดจำเลย์เอาต์ YU-RIS อัตโนมัติ โฟลเดอร์ต้นฉบับของคุณไม่ถูกแก้ไข
RuneTranslate เปิดแพ็กเกจ .ypf ใน TypeScript ล้วน คลายบีบอัดรายการ และแยกวิเคราะห์สคริปต์ YSTB ที่คอมไพล์แล้วข้างใน มันกู้คีย์ XOR 4 ไบต์ของแต่ละสคริปต์อัตโนมัติจากตารางตัวอธิบายอาร์กิวเมนต์ — ไม่ต้องล่าคีย์ — ถอดรหัสตารางสตริง Shift-JIS และแสดงทุกบรรทัดญี่ปุ่นในตัวแก้ไขจัดกลุ่มตามไฟล์สคริปต์ ตัวถูกกระทำคำสั่งเอนจิน ชื่อตัวแปร และพาธแอสเซตถูกแสดงแต่ยกเว้นตามค่าเริ่มต้นเพื่อให้ตรรกะเนื้อเรื่องคงเดิม
เกมเหล่านี้มีบทสนทนาหนาแน่นและอ่อนไหวต่อน้ำเสียง LLM (OpenAI GPT-4o / Anthropic Claude) หรือ DeepL จึงมักอ่านดีที่สุด Google Translate ฟรีหรือโมเดลในเครื่อง (Ollama / LM Studio) ครอบคลุมสตริงเมนูสั้น ๆ และตัวเลือก และคุณชี้ผู้ให้บริการที่เข้ากันได้กับ OpenAI ไปที่ OpenRouter หรือ NanoGPT ได้ ตัวปรับแต่ง AI รอบสองเสริมกระชับถ้อยคำตามตัวอักษร
ข้อความ YU-RIS ร้อยโค้ดควบคุมแบ็กสแลช (ขึ้นบรรทัด สี ruby) และแท็กในวงเล็บผ่านบทสนทนา RuneTranslate แช่แข็งทุกตัวเป็นตัวยึดตำแหน่งตัวเลขระหว่างแปลและคืนกลับตอนขาออก บรรทัดที่แปลจึงคงการจัดรูปแบบและจังหวะเดิมเหมือนต้นฉบับ
ตอนส่งออก RuneTranslate คัดลอกเกมและสร้างสคริปต์ YSTB ที่แปลแต่ละตัวใหม่ — แพตช์ออฟเซตตารางสตริงเพื่อให้คำแปลความยาวใดก็พอดีและใช้คีย์ XOR เดิมซ้ำ — แล้วเขียนแบบแยกที่พาธอาร์ไคฟ์ต้นฉบับ (เช่น ysbin/yst00000.ybn) YU-RIS runtime เลือกไฟล์แยกก่อนพาธเดียวกันที่แพ็กใน .ypf เกมจึงอ่านคำแปลของคุณโดยไม่แพ็กใหม่ รันสำเนาที่ส่งออกแล้วมันเล่นในภาษาของคุณ