วิธีแปลวิชวลโนเวลเอนจิน Artemis เป็นภาษาอังกฤษ
RuneTranslate แปลวิชวลโนเวล Artemis Engine (iMel/Mikage) เป็นภาษาอังกฤษและอีก 30+ ภาษา — อ่านอาร์ไคฟ์ .pfs (รวมถึงการเข้ารหัส PF8) ดึงบทสนทนาและตัวเลือก และส่งออกแพตช์แทนที่ root.pfs ที่เกมโหลด เป็นแบบพยายามอย่างเต็มที่
ในการ แปลเกมเอนจิน Artemis, RuneTranslate อ่านเฟรมเวิร์กที่แทบแตะไม่ได้สำหรับนักแปลแฟนมานาน: Artemis Engine เฟรมเวิร์กวิชวลโนเวลที่อิง Lua ซึ่งอยู่เบื้องหลังการวางจำหน่ายเกมญี่ปุ่นนับร้อยเรื่อง เปิดโฟลเดอร์เกม Artemis แล้วคุณจะพบกองอาร์ไคฟ์ .pfs และไม่มีอะไรอ่านได้ RuneTranslate ตรวจจับเอนจิน เปิดอาร์ไคฟ์เหล่านั้นด้วย pure TypeScript (การเข้ารหัสและทุกอย่าง) อ่านบทสนทนา ชื่อตัวละคร และตัวเลือกออกจากสคริปต์ของมัน และส่งออกสำเนาที่แปลแล้วซึ่งเกมโหลดได้เอง
Artemis มีความแตกต่างของแต่ละสตูดิโอมาหลายปี ดังนั้นหากคุณชี้ RuneTranslate ไปที่เกม Artemis แล้วมันตรวจจับไม่ได้ เปิดไม่ได้ หรือส่งออกสิ่งที่เกมโหลดไม่ได้ บอกเรา วิธีการอยู่ท้ายบทความ
Artemis Engine จริง ๆ แล้วคืออะไร
Artemis เป็นเอนจินวิชวลโนเวลญี่ปุ่นเชิงพาณิชย์ที่พัฒนาโดย iMel Inc. (สตูดิโอที่รู้จักกันในชื่อ Mikage ด้วย) ในขณะที่เอนจินเก่ากว่าอย่าง Kirikiri หรือ NScripter เปิดเผยภาษาสคริปต์เฉพาะโดเมนที่ออกแบบเอง Artemis สร้างขึ้นรอบ ๆ Lua — สคริปต์บทของมันเป็นตารางข้อมูล Lua โดยพื้นฐาน — ซึ่งทำให้ยืดหยุ่นสำหรับนักพัฒนา แต่ในทางปฏิบัติกลับเป็นกำแพงสำหรับใครก็ตามที่พยายามแปลเกมที่เสร็จแล้วจากภายนอก มีการวางจำหน่ายราว 730 เรื่องบน VNDB ที่สร้างบนมัน มันจึงห่างไกลจากของแปลกเฉพาะกลุ่ม มันคือแคตตาล็อกเก่าทั้งชุดที่เครื่องมือแปลด้วยเครื่องมักข้ามไป
บนดิสก์ เกม Artemis คือไฟล์ .exe บน Windows บวกกับอาร์ไคฟ์ทรัพยากร .pfs หนึ่งไฟล์ขึ้นไปที่เก็บสคริปต์ ภาพศิลป์ และเสียง สคริปต์ภายในส่วนใหญ่เป็นไฟล์ .ast (สคริปต์บทแบบตาราง Lua) และไฟล์ .txt (รูปแบบที่เรียบง่ายกว่าแบบเรียงบรรทัด) RuneTranslate ทำงานจากอาร์ไคฟ์และสคริปต์เหล่านั้นโดยตรง มันจึงครอบคลุมเกมไม่ว่าสตูดิโอจะส่งบทเป็น .ast หรือ .txt
ทำไมเกม Artemis ถึงแปลยากนัก
เมื่อเทียบกับเอนจินที่ขับเคลื่อนด้วยซอร์สอย่าง Ren’Py, Artemis ซ่อนข้อความไว้หลายชั้น มีบางอย่างที่เจาะจงที่ทำให้มันอยู่นอกเอื้อมทั้งของนักแปลด้วยมือและเครื่องมือแบบง่าย ๆ:
- ทุกอย่างอยู่ภายในอาร์ไคฟ์ `.pfs` สคริปต์ไม่ได้อยู่แบบหลวมบนดิสก์ มันถูกแพ็กเข้าไปในรูปแบบคอนเทนเนอร์
.pfsของ Artemis เอง (คุณจะเห็นPF8,PF6และรุ่นเก่าPF2) หากไม่มีตัวอ่านรูปแบบนั้น ก็ไม่มีอะไรให้แก้ไขตั้งแต่แรก - อาร์ไคฟ์ใหม่ที่สุดถูกเข้ารหัส รูปแบบ
PF8ปัจจุบันไม่เพียงแพ็กไฟล์ แต่ เข้ารหัส เนื้อหาของมัน: แต่ละรายการถูก XOR กับคีย์ที่ได้จากแฮชSHA-1ของดัชนีของอาร์ไคฟ์เอง คุณไม่สามารถแค่แกะไบต์ออกมาได้ คุณต้องจำลองการหาคีย์ของเอนจินเพื่อให้ได้สคริปต์ที่อ่านได้กลับมา - สคริปต์เป็นข้อมูล Lua ไม่ใช่ข้อความธรรมดา บท
.astคือตาราง Lua — บทสนทนา ชื่อผู้พูด และตัวเลือกเป็นฟิลด์ซ้อนกันอยู่ในตารางที่มีโครงสร้าง ปนกับคำสั่งเอนจิน มีรูปแบบตารางสองแบบในโลกจริง (v1 เก่ากว่าและ v2 ใหม่กว่า) และนักแปลต้องเข้าใจทั้งสองเพื่อดึงบรรทัดที่พูดจริงออกมาโดยไม่ทำโครงสร้างรอบ ๆ เสีย - คำสั่งเอนจินแบบอินไลน์ถูกทอเข้าไปในบทสนทนา คำอธิบาย ruby/furigana ป้ายชื่อ การเปลี่ยนสี และการรอคลิก ถูกเขียนแบบอินไลน์กับข้อความ การค้นหาและแทนที่ที่ไม่รู้จักมันจะแปลโทเคนคำสั่งด้วย แล้วเกมก็พัง
ผลลัพธ์สุทธิ: แม้แต่นักแปลที่อ่านภาษาญี่ปุ่นได้คล่องก็ต้องแกะคอนเทนเนอร์ที่เข้ารหัสเฉพาะทางก่อน แล้วแยกวิเคราะห์ตาราง Lua ด้วยมือ แล้วก้าวข้ามมาร์กอัปแบบอินไลน์อย่างระมัดระวัง ก่อนที่บรรทัดใดจะได้รับการแปล นั่นคืองานที่ RuneTranslate ทำให้คุณตอนนี้
RuneTranslate ทำอะไรตอนนี้
RuneTranslate ปฏิบัติต่อ Artemis เป็นเอนจินชั้นหนึ่งและจัดการทั้งไปป์ไลน์ด้วย pure TypeScript — ไม่มีเครื่องมือภายนอก ไม่มี Python sidecar ไม่มีอะไรต้องติดตั้ง:
- อ่านอาร์ไคฟ์ `.pfs` โดยตรง มันเปิดรูปแบบอาร์ไคฟ์
PF8,PF6และรุ่นเก่าPF2ภายใน รวมถึง การเข้ารหัส XOR ด้วยคีย์ `SHA-1` ของ PF8 โดยจำลองการหาคีย์ของเอนจินเพื่อให้เนื้อหาสคริปต์ออกมาอ่านได้ - ดึงบทสนทนา ชื่อ และตัวเลือก มันแยกวิเคราะห์สคริปต์บท
.ast(ตาราง Lua) ที่อ่านได้ — ทั้งเลย์เอาต์ v1 เก่ากว่าและ v2 ใหม่กว่า — สคริปต์.txt(แบบเรียงบรรทัด) และ บท `ASB` ไบนารีที่คอมไพล์แล้ว ที่หลายเกมส่งมาจริง (ตรวจจับด้วยลายเซ็น แม้เมื่อเปลี่ยนชื่อเป็นนามสกุลกำหนดเองอย่าง.iet) และแสดงทุกบรรทัดที่แปลได้ในตัวแก้ไข: ทั้ง บทสนทนา ที่พูด ชื่อตัวละคร บนป้ายชื่อ และ ตัวเลือก ที่แตกกิ่ง - รักษาคำสั่งเอนจิน มาร์กอัปแบบอินไลน์ — ruby/furigana ป้ายชื่อ สี การรอคลิก — และการขึ้นบรรทัดใหม่ถูกปิดบังไว้หลังตัวยึดตำแหน่งตัวเลขก่อนอะไรจะไปถึงผู้ให้บริการแปล แล้วคืนกลับเป๊ะตอนออก ข้อความได้รับการแปล; คำสั่งเอนจินไม่
- ส่งออกแพตช์แทนที่ Artemis อ่านสคริปต์จากอาร์ไคฟ์
.pfsที่เมานต์ ดังนั้นตอนส่งออก RuneTranslate เขียน อาร์ไคฟ์แพตช์แทนที่ ที่แปลแล้ว — ไฟล์root.pfs.NNNหนึ่งไฟล์ต่อหนึ่ง.pfsต้นทาง — ลงในสำเนาของเกม Artemis เมานต์อาร์ไคฟ์ที่มีหมายเลขสูงสุดเป็นอันสุดท้ายและอ่านจากมัน แพตช์จึงบดบังต้นฉบับที่แพ็กโดยไม่ต้องสร้างอาร์ไคฟ์ของเกมเองใหม่ (สคริปต์ที่แปลแล้วยังถูกเขียนแบบหลวมเป็นของแถมที่ไม่เป็นอันตราย) เป็นแนวคิดแพตช์แทนที่แบบเดียวกับ โฟลว์แพตช์ Kirikiri ของเรา
ญี่ปุ่น → อังกฤษ คือจุดที่ดีที่สุด แต่คุณเจาะเป้าได้ 30+ ภาษา — สเปน ฝรั่งเศส เยอรมัน โปรตุเกส รัสเซีย จีน อิตาลี ตุรกี เวียดนาม และอื่น ๆ
สิ่งที่คุณต้องมี
- RuneTranslate สำหรับ Windows — ฟรี; ทุกเอนจินและผู้ให้บริการถูกปลดล็อก (ระดับฟรีถูกจำกัดที่ความเร็ว ไม่ใช่ฟีเจอร์)
- โฟลเดอร์เกม Artemis นี่คือไดเรกทอรีที่มีไฟล์
.exeของเกมและอาร์ไคฟ์.pfs(สคริปต์และแอสเซ็ตถูกแพ็กอยู่ภายในนั้น) - ภาษาปลายทาง — อังกฤษ สเปน ฝรั่งเศส เยอรมัน โปรตุเกส รัสเซีย จีน อิตาลี ตุรกี เวียดนาม และอีก 20+ ภาษา
- ผู้ให้บริการแปลหนึ่งราย Google Translate ฟรีใช้ได้เลย; DeepL มีระดับฟรี; OpenAI, Anthropic, โมเดลบนเครื่อง (Ollama / LM Studio) และ API ที่เข้ากันได้กับ OpenAI ต้องใช้คีย์ของคุณเอง เกม Artemis มีบทสนทนาเยอะและอ่อนไหวต่อโทน ดังนั้น LLM (OpenAI / Anthropic) หรือ DeepL มักอ่านได้ดีที่สุด
ขั้นที่ 1: เปิดโฟลเดอร์เกม
เปิด RuneTranslate คลิก New project แล้วชี้ไปที่ไดเรกทอรีเกม Artemis การตรวจจับเอนจินทำงานอัตโนมัติ เมื่อมันเห็นอาร์ไคฟ์ .pfs ของเอนจิน มันจำแนกโปรเจกต์เป็น Artemis โฟลเดอร์เกมต้นฉบับของคุณจะไม่ถูกแก้ไขเลย
ขั้นที่ 2: สคริปต์ถูกอ่านอย่างไร
RuneTranslate เปิดอาร์ไคฟ์ .pfs และดึงสคริปต์ออกมาให้คุณ ถอดรหัสและแยกวิเคราะห์ไปในตัว:
- อาร์ไคฟ์ `PF8` ที่เข้ารหัส — ถอดรหัสภายในโดยใช้สคีม XOR ด้วยคีย์
SHA-1คุณจึงไม่ต้องรันตัวแกะแยกต่างหาก - อาร์ไคฟ์ `PF6` / รุ่นเก่า `PF2` ที่ไม่เข้ารหัส — อ่านโดยตรง
- สคริปต์ `.ast` และ `.txt` — แยกวิเคราะห์หาบทสนทนา ชื่อ และตัวเลือก และแสดงในตัวแก้ไข จัดกลุ่มตามไฟล์
คำสั่งเอนจินแบบอินไลน์และการขึ้นบรรทัดใหม่ถูกปิดบังไว้หลังตัวยึดตำแหน่งตัวเลขก่อนอะไรจะไปถึงผู้ให้บริการ แล้วคืนกลับตอนออก ดังนั้นคำอธิบาย ruby ป้ายชื่อ และแท็กสีจึงรอดผ่านการแปลไปกลับโดยไม่ถูกแตะต้อง
ขั้นที่ 3: แปล
เลือกผู้ให้บริการแล้วรัน สำหรับวิชวลโนเวล LLM (OpenAI / Anthropic) ดีที่สุดสำหรับเสียงและโทนตัวละคร DeepL เร็วและสะอาดสำหรับการบรรยาย และ Google Translate ฟรี เหมาะกับสตริงเมนูสั้น ๆ และตัวเลือก ใส่นักแสดงและคำศัพท์ที่ปรากฏซ้ำลงอภิธานศัพท์ก่อนเพื่อให้ชื่อแสดงผลเหมือนกันทั้งเกม ดู Glossary 101 เมื่อเสร็จแล้ว รอบเสริมแบบไม่บังคับกับ ตัวขัดเกลาด้วย AI จะอ่านทวนแต่ละบรรทัดในบริบทและกระชับการใช้คำที่แข็งและตรงตัวซึ่งการแปลด้วยเครื่องมักทิ้งไว้
ขั้นที่ 4: ส่งออกสำเนาที่พร้อมรัน
คลิก Export RuneTranslate เขียนสำเนาที่แปลแล้วของเกมพร้อมอาร์ไคฟ์แพตช์แทนที่ root.pfs.NNN — หนึ่งไฟล์ต่อหนึ่ง .pfs ต้นทาง — ที่ Artemis เมานต์เป็นอันสุดท้ายและอ่านมันแทนต้นฉบับที่แพ็ก (สคริปต์ที่แปลแล้วยังถูกวางแบบหลวมเป็นของแถมที่ไม่เป็นอันตราย) รันมันแล้วเกมก็เล่นในภาษาปลายทางของคุณ
ข้อจำกัดที่ทราบ
- บท `.asb` ที่คอมไพล์แล้วถูกอ่าน — หลายเกม Artemis ส่งบทเป็น AST ไบนารีที่คอมไพล์แล้ว (รูปแบบที่ขึ้นต้นด้วยเครื่องหมาย
ASB) แทน.ast/.txtที่อ่านได้ และหลายเกมเปลี่ยนชื่อนามสกุล (เกมหนึ่งที่เราทดสอบใช้.iet) RuneTranslate ตรวจจับด้วยลายเซ็น ไม่ใช่นามสกุล และแปลมันในที่เดิม ในกรณีที่เกมเก็บ ชื่อผู้พูด ไว้ในกราฟิกหรือเป็นชื่อคำสั่งแทนที่จะเป็นข้อความในสคริปต์ ชื่อเหล่านั้นมาจากโฟลว์ข้อความในภาพ ไม่ใช่สคริปต์ หากชื่อยังเป็นภาษาญี่ปุ่น นั่นมักเป็นเหตุผล - แพตช์แทนที่คือเส้นทางโหลด อาร์ไคฟ์
root.pfs.NNNที่แปลแล้วคือสิ่งที่เกมอ่านจริง ในเกมหายากที่เมานต์อาร์ไคฟ์ต่างออกไป การส่งออกอาจต้องปรับ ซึ่งเป็นพฤติกรรมของเกมจริงแบบที่เราทำให้แข็งแกร่งขึ้นเมื่อได้รับรายงาน - ข้อความที่อบไว้ในภาพศิลป์ — หน้าจอไตเติลหรือปุ่มเมนูที่วาดเป็นบิตแมป — เป็นพิกเซล ไม่ใช่ข้อความสคริปต์ ตัวดึงสคริปต์จึงเข้าไม่ถึง สำหรับกรณีนั้น ดู การแปลข้อความในภาพ
- รูปแบบอาร์ไคฟ์และสคริปต์ที่แน่นอนอาจต่างกันไปในแต่ละการวางจำหน่าย ตรวจสอบบนสำเนาเฉพาะของคุณเสมอ
เจอปัญหาไหม? บอกเรา
ตัวอ่าน .pfs การเข้ารหัส และตัวแยกวิเคราะห์ .ast / .txt / .asb ถูกสร้างและผ่านการทดสอบยูนิต แต่ Artemis มีความแตกต่างของแต่ละสตูดิโอมาหลายปี หากเกมตรวจจับไม่ได้ เปิดอาร์ไคฟ์ไม่ได้ ดึงออกไม่ได้เลย หรือส่งออกสิ่งที่โหลดไม่ได้ รายงานบน Discord ของเรา ชื่อเกมและวิธีแพ็ก (รุ่น .pfs ใด, .ast เทียบกับ .txt เทียบกับ .asb) คือสิ่งที่ช่วยให้เราทำให้มันแข็งแกร่งได้เร็วที่สุด
ดาวน์โหลด RuneTranslate ชี้มันไปที่ VN ของ Artemis ที่คุณอยากอ่าน แล้วลองดู เพื่อดูว่าเราจัดการเอนจิน VN อีกตัวที่อิงอาร์ไคฟ์อย่างไร อ่าน คู่มือ Kirikiri ต่อ
พร้อมลอง RuneTranslate ไหม
ระดับฟรีปลดล็อกทุกเอนจิน + ทุกผู้ให้บริการแปล Supporter ($3/mo) ปลดล็อกความเร็วเต็ม
ดาวน์โหลดสำหรับ Windows