เอนจินคู่มือคำถามที่พบบ่อยPatreonDiscordดาวน์โหลด
เข้าสู่ระบบ

RuneTranslate · แปลเกมจากภาษาญี่ปุ่นและ 30+ ภาษา

ผลิตภัณฑ์

  • ดาวน์โหลด
  • เอนจิน
  • ข้อความในภาพ
  • ตัวแก้ไขเซฟ
  • โหมดโกง
  • การเปลี่ยนแปลง

แหล่งข้อมูล

  • คู่มือ
  • เปรียบเทียบ
  • คำถามที่พบบ่อย

ชุมชน

  • Patreon
  • Discord
  • YouTube
  • Trustpilot

กฎหมาย

  • ความเป็นส่วนตัว
  • ข้อกำหนด
  • การคืนเงิน
  • ติดต่อ
© 2026 RuneTranslate
RuneTranslateโพสต์ทั้งหมด

unity · tutorial · engine

วิธีแปลเกม Unity เป็นภาษาอังกฤษ

แปลเกม Unity ด้วย RuneTranslate — อ่าน TextAssets, ฟิลด์ MonoBehaviour (Mono และ IL2CPP) และ StreamingAssets ทำไมมันแปลได้เฉพาะข้อความที่ถูกดึงออกภายนอก และตัวป้องกันตัวระบุช่วยไม่ให้คุณทำเกมพังอย่างไร

9 มิ.ย. 2569·6 นาทีในการอ่าน

Unity เป็นเอนจินที่อยู่เบื้องหลังส่วนแบ่งที่เพิ่มขึ้นของเกมอินดี้และวิชวลโนเวลญี่ปุ่น — และเป็นเอนจินที่แปลยากที่สุดในบรรดาเอนจินทั่วไป เพราะ Unity ไม่มีรูปแบบข้อความเดียว บทสนทนาอาจอยู่ในบล็อบ TextAsset ในฟิลด์สตริง MonoBehaviour ในสคริปต์ StreamingAssets แบบหลวม หรือคอมไพล์ตรงลงใน C# DLL คู่มือนี้พาผ่านการแปลเกม Unity ด้วย RuneTranslate และที่สำคัญไม่แพ้กัน อธิบายกฎข้อหนึ่งที่ทำให้ Unity ต่างออกไป: เฉพาะข้อความที่ถูกดึงออกภายนอก

ข้อควรระวังใหญ่ก่อน: เฉพาะข้อความที่ถูกดึงออกภายนอก

RuneTranslate แปลข้อความ Unity ที่อยู่ใน ข้อมูล — ไฟล์แอสเซ็ตที่เอนจินโหลดตอนรันไทม์ รวมถึงฟิลด์สตริงบนคอมโพเนนต์ MonoBehaviour (บทสนทนา ชื่อ ป้าย) มันอ่านฟิลด์เหล่านั้นบนบิลด์ ทั้ง Mono และ IL2CPP: เลย์เอาต์ชนิดข้อมูลมาจาก DLL ของเกมเองบน Mono หรือถูกสร้างขึ้นใหม่จากเมทาดาทา IL2CPP เมื่อไม่มีโฟลเดอร์ Managed/ สิ่งที่มัน เข้าไม่ถึง คือข้อความที่ฮาร์ดโค้ดลงในโค้ด C# ที่คอมไพล์แล้วเอง (Assembly-CSharp.dll) ในทางปฏิบัติ เกมที่เก็บสคริปต์ไว้ในแอสเซ็ตและคอมโพเนนต์แปลได้ดี — และการเปิดโปรเจกต์ ซึ่งเป็นขั้นตอนแรก บอกคุณว่าคุณมีอะไร

สิ่งที่คุณต้องมี

  • RuneTranslate สำหรับ Windows หรือ Linux — ฟรี ทุกเอนจินและผู้ให้บริการถูกปลดล็อก
  • โฟลเดอร์เกม Unity — ไดเรกทอรีที่มีไฟล์ .exe ของเกมและโฟลเดอร์ <GameName>_Data/ (ที่มี globalgamemanagers, resources.assets, data.unity3d และไฟล์ level*)
  • ภาษาปลายทาง — อังกฤษ สเปน ฝรั่งเศส เยอรมัน โปรตุเกส รัสเซีย จีน อิตาลี ตุรกี เวียดนาม และอีก 20+ ภาษา
  • ผู้ให้บริการแปลหนึ่งราย Google Translate ฟรีใช้ได้เลย; DeepL มีระดับฟรี; OpenAI, Anthropic, โมเดลบนเครื่อง และ API ที่เข้ากันได้กับ OpenAI ต้องใช้คีย์ของคุณเอง

ขั้นที่ 1: เปิดโฟลเดอร์เกม

เปิด RuneTranslate คลิก New project แล้วชี้ไปที่ไดเรกทอรีเกม Unity การตรวจจับเอนจินมองหาโฟลเดอร์ _Data/ และจำแนกโปรเจกต์เป็น Unity UnityPy Python sidecar ที่รวมมา (ส่งมาในตัวติดตั้ง) เปิดไฟล์แอสเซ็ตและแสดงสตริงที่อ่านได้ลงในพื้นที่ทำงานต่อโปรเจกต์ใต้ %APPDATA%/RuneTranslate/unity-workspace/<projectId>/ โฟลเดอร์เกมต้นฉบับของคุณจะไม่ถูกแก้ไขเลย Unity เป็นเอนจินแบบ พยายามอย่างเต็มที่ — ตรวจสอบว่าบิลด์ที่ส่งออกรันได้ก่อนแจกจ่ายต่อ

ขั้นที่ 2: สตริงถูกดึงออกอย่างไร

RuneTranslate อ่านข้อความจากทุกที่ที่ Unity ดึงออกภายนอก:

  • TextAssets — บล็อบ JSON / CSV / สคริปต์ที่ฝังใน .assets และ AssetBundles ตัดออกด้วยตัวดึงที่รู้จักรูปแบบ
  • ฟิลด์สตริง MonoBehaviour — ข้อความที่แสดงบนคอมโพเนนต์ (บทสนทนา ชื่อ ป้าย) บนบิลด์ทั้ง Mono และ IL2CPP (ข้อมูลชนิดมาจาก DLL ของเกม หรือถูกสร้างขึ้นใหม่จากเมทาดาทา IL2CPP)
  • StreamingAssets — ไฟล์สคริปต์แบบหลวมที่เดินไล่บนดิสก์โดยตรง (.json, .txt, .csv, .tsv, .xml, .yaml, .ks และอื่น ๆ)
  • บันเดิล Addressable ที่เข้ารหัส — เกมที่เข้ารหัส AES บันเดิลแอสเซ็ต Addressable ของตนถูกถอดรหัสโดยอัตโนมัติ (คีย์ได้จากชื่อไฟล์ของบันเดิลเอง) ข้อความของมันจึงดึงออกได้เหมือนบันเดิลอื่น

Unity ยังเป็นที่ที่การแปลเกินทำความเสียหายมากที่สุด RuneTranslate จึงมาพร้อมตัวป้องกันสำหรับมัน สตริง MonoBehaviour จำนวนมากไม่ใช่ข้อความที่แสดงเลย — มันเป็น ตัวระบุควบคุม และ ตัวถูกดำเนินการโฟลว์: ชื่อฉากที่การเรียก LoadScene แก้ไขด้วยสตริง คีย์กำหนดเส้นทางข้อความ ชื่อแอนิเมเตอร์ / คลิปเสียง ชื่อชิ้นส่วน Live2D และค่าเปรียบเทียบภายในตรรกะ Fungus If / SetVariable (เช่น แฟล็กอย่าง 村落出口) แปลสิ่งเหล่านั้นแล้วเกมพังเงียบ ๆ — อาการคลาสสิกคือหน้าจอ "loading" ไม่รู้จบโดยไม่มีข้อผิดพลาด RuneTranslate จำแนกสิ่งเหล่านี้เป็น excluded โดยอัตโนมัติ (แสดงเป็นสีแดง เลือกเข้าเท่านั้น) ตัวแก้ไขจึงนำเสนอบทสนทนาและป้ายจริงและปล่อยกลไกไว้ตามลำพัง การแทนที่ {$var} ของ Fungus และมาร์กอัป {color=...} / TMP <...> ถูกปิดบังไว้หลังตัวยึดตำแหน่งเพื่อให้มันรอดผ่านการแปลครบถ้วน

ขั้นที่ 3: แปลและตรวจทาน

เลือกผู้ให้บริการแล้วรัน DeepL หรือ LLM อ่านได้ดีที่สุดสำหรับบทสนทนา; Google Translate ฟรีครอบคลุมเมนูและชื่อไอเทม ใส่นักแสดงและคำศัพท์ที่ปรากฏซ้ำลงอภิธานศัพท์ก่อน ดู Glossary 101 ทุกบรรทัดลงในตัวแก้ไขข้างต้นฉบับ; แก้แบบอินไลน์ (บันทึกเมื่อคลิกออกหรือ Ctrl+Enter) และรัน ตัวขัดเกลาด้วย AI แบบไม่บังคับสำหรับการตรวจทานรอบสอง ระดับฟรีทำงานที่การจำกัดความเร็วเล็กน้อย (ช้ากว่าประมาณ 2 เท่าบนผู้ให้บริการ AI น้อยกว่านั้นบนตัวดึง) — เอนจินเดียวกัน คุณภาพผลลัพธ์เดียวกัน; แบบเสียเงินแค่ทำงานความเร็วเต็มที่

ขั้นที่ 4: ส่งออกบิลด์ที่เล่นได้

คลิก Export RuneTranslate คัดลอกเกม แล้วแพตช์สตริงที่แปลแล้วกลับเข้าไฟล์แอสเซ็ตในที่เดิม ตัวป้องกันการยกเว้นเดียวกันทำงานตอนเขียนกลับด้วย โปรเจกต์เก่าจึงไม่บังเอิญดันชื่อฉากหรือตัวถูกดำเนินการโฟลว์ที่แปลแล้วตอนส่งออกซ้ำ ผลลัพธ์คือสำเนาที่รันได้เต็มของเกมในตำแหน่งที่คุณเลือก — เปิด .exe แล้วมันก็เล่นในภาษาปลายทางของคุณ

กำลังแปลเป็นภาษาที่ไม่ใช่ละติน (จีน ญี่ปุ่น เกาหลี ไทย อาหรับ) ที่ฟอนต์ในตัวของเกมเรนเดอร์กลิฟไม่ได้เหรอ? RuneTranslate ฉีดฟอนต์สำรองเข้าไปในสแตกฟอนต์ TextMeshPro ตอนส่งออก ข้อความที่แปลแล้วจึงแสดงแทนที่จะเป็นกล่องกลิฟที่หายไป

ข้อจำกัดที่ทราบ

  • เฉพาะข้อความที่ถูกดึงออกภายนอก: สตริงที่ฮาร์ดโค้ดลงในโค้ด C# ที่คอมไพล์แล้ว (Assembly-CSharp.dll บน Mono หรือไบนารี IL2CPP) ไม่ถูกแปล ฟิลด์ ข้อมูล MonoBehaviour ถูกแปล — บนบิลด์ทั้ง Mono และ IL2CPP
  • การอ่าน MonoBehaviour ของ IL2CPP ต้องการ global-metadata.dat ที่แยกวิเคราะห์ได้; เมทาดาทาที่ทำให้อ่านยากอย่างหนักอาจสร้างขึ้นใหม่ไม่ได้ (พยายามอย่างเต็มที่)
  • พยายามอย่างเต็มที่: ยืนยันว่าเกมที่ส่งออกเปิดขึ้นและอ่านได้ถูกต้องก่อนแชร์
  • ข้อความในภาพ (โลโก้ UI ที่วาดมือ คำบรรยาย CG) ไม่ถูกแปล — อยู่นอกขอบเขตการแปลด้วยเครื่อง

ทำไมมันง่ายกว่าวิธีเดิม

การแปล Unity ด้วยมือหมายถึงการแกะแอสเซ็ตด้วย UABE หรือ AssetStudio ตามล่าว่า TextAssets และฟิลด์ MonoBehaviour ใดถือข้อความจริง หลีกเลี่ยงสตริงตัวระบุที่ทำให้เกมแครชด้วยมือ แล้วนำเข้าใหม่โดยไม่ทำตารางแอสเซ็ตเสียหาย RuneTranslate พับการดึงออก จำแนก (เพื่อไม่ให้คุณแปลกลไก) แปล และแพตช์ในที่เดิม เข้าเป็นไม่กี่คลิก — โดยเปิดตัวแก้ไขไว้เพื่อให้คุณควบคุมการใช้คำ

ดูหน้าเอนจิน Unity สำหรับรายการฟีเจอร์เต็ม อ่าน คู่มือ TyranoBuilder สำหรับเอนจินที่อิง HTML หรือ ดาวน์โหลด RuneTranslate แล้วลองบนเกมจริง

RuneTranslate

ระดับฟรีปลดล็อกทุกเอนจิน + ทุกผู้ให้บริการแปล Supporter ($3.99/mo) ปลดล็อกความเร็วเต็ม

ดาวน์โหลด RuneTranslate สำหรับ Windows & Linux

อ่านที่เกี่ยวข้อง

gettext · po · mo · engine · tutorial · 4 ส.ค. 2569 · 7 นาที

วิธีแปลไฟล์ .po และ .mo ของเกม (gettext)

อ่าน →
godot · engine · tutorial · 17 มิ.ย. 2569 · 6 นาที

วิธีแปลเกม Godot เป็นภาษาอังกฤษ

อ่าน →
renpy · tutorial · engine · 9 มิ.ย. 2569 · 6 นาที

วิธีแปลเกม Ren’Py เป็นภาษาอังกฤษ (คู่มือฉบับเต็ม)

อ่าน →

พร้อมลอง RuneTranslate ไหม

ระดับฟรีปลดล็อกทุกเอนจิน + ทุกผู้ให้บริการแปล Supporter ($3.99/mo) ปลดล็อกความเร็วเต็ม

ดาวน์โหลดสำหรับ Windows & Linux