พูดง่ายๆ ก็คือ งานแปลภาษาจีนคือการแทนที่ข้อความทั้งหมดในเกมด้วยภาษาจีน ในเกมมือถือ ข้อความที่แก้ไขอาจมีสามรูปแบบ:
คำรูปภาพ หมายถึงข้อความทั้งหมดที่มีอยู่ในรูปแบบของรูปภาพ เช่น เกมสแปลช พื้นหลังข้อความ หรือเอฟเฟกต์พิเศษ ฯลฯ วิธีการแทนที่นั้นง่ายมาก ค้นหาศิลปินเพื่อทำการวาดภาพ จากนั้นจึงแทนที่รูปภาพต้นฉบับโดยตรง เกมหลายเกมในอดีตใส่รูปภาพเหล่านี้ลงในขวดโดยไม่มีการประมวลผลใด ๆ หรือลบเฉพาะส่วนขยายเท่านั้น มันง่ายมากที่จะแทนที่มัน อย่างไรก็ตาม เพื่อลดขนาด เกมจำนวนมากจึงรวมรูปภาพทั้งหมดไว้ในไฟล์เดียว การแทนที่ไฟล์เหล่านี้อย่างถูกต้องเป็นเรื่องยากเล็กน้อย
ก่อนอื่น เราต้องหารูปแบบการจัดเก็บของไฟล์ก่อน ตามวิธีการวาดของโปรแกรมสามารถแบ่งคร่าวๆ ได้เป็น 2 รูปแบบ คือ DrawImage และ DrawRGB
drawImage จัดแพคเกจรูปภาพโดยตรงโดยไม่ทำลายรูปแบบของรูปภาพใด ๆ ในขณะที่ DrawRGB จะบันทึกข้อมูลพิกเซลของรูปภาพในรูปแบบ RGB แบบแรกง่ายกว่า นอกจาก PNG แล้ว โทรศัพท์มือถือบางรุ่นยังรองรับ GIF, JPG และรูปแบบอื่นๆ อีกด้วย เพียงตรวจสอบให้แน่ใจว่ารูปแบบภาพถูกต้อง อย่างหลังนั้นยุ่งยากกว่าเล็กน้อย เนื่องจากอาร์เรย์ของข้อมูลพิกเซล RGB ที่เกิดขึ้นมีขนาดใหญ่มากและบางส่วนถูกบีบอัด ดังนั้นการเปลี่ยนที่แม่นยำจึงทำได้ยากขึ้น
String เขียนในโปรแกรม วิธีการประมวลผลก็ง่ายมากเช่นกัน เพียงถอดรหัสไฟล์ต้นฉบับและแทนที่สตริงที่เกี่ยวข้อง อย่าถามผมว่า decompilation คืออะไร ผมจะไม่พูดถึงหลักการ Compile ในโพสนี้ครับ เพื่ออธิบายรายละเอียดเพิ่มเติม มีสองวิธี ประการแรกคือการแก้ไขไฟล์คลาสโดยตรง หากคุณเขียนอักขระภาษาจีนโดยตรงในโปรแกรมต้นทาง สตริงอักขระภาษาจีนในไฟล์คลาสที่สร้างขึ้นควรเป็นการเข้ารหัส UTF8 มาตรฐาน วิธีง่ายๆ คือการคอมไพล์ไฟล์ java ด้วยสตริงภาษาจีนที่เขียนเอง จากนั้นคัดลอกไบต์ที่เกี่ยวข้องในไฟล์คลาสที่สร้างขึ้นไปยังไฟล์คลาสดั้งเดิม ไฟล์ที่สองคือไฟล์ Java ที่สร้างขึ้นหลังจากการคอมไพล์ เนื่องจากการแย่งชิงมีบางจุดที่ไม่สามารถรวบรวมได้ ซึ่งมักเกิดขึ้นเนื่องจากมีปัญหากับไฟล์ที่สร้างขึ้นหลังจากการคอมไพล์ เนื่องจากเครื่องมือ Scrambling ที่แตกต่างกัน ปัญหาที่มีอยู่จึงแตกต่างกันด้วย ในบางสถานที่ การคอมไพล์ไม่สำเร็จ ในสถานที่อื่นๆ มีการใช้คำสั่งการประกอบหลอก (เช่น goto ฯลฯ) และชื่อของตัวสร้างบางตัวถูกซ่อนไว้ . เดี๋ยวก่อน เครื่องมือเข้ารหัสบางตัวจงใจเพิ่มโค้ดที่ไม่สมเหตุสมผลเพื่อตั้งค่ากับดักสำหรับการคอมไพล์ -__-|| ดังนั้นจึงต้องทำการปรับเปลี่ยนที่ยุ่งยากมาก . . แน่นอนว่ามีข้อผิดพลาดเพียงเล็กน้อยที่ต้องทำเมื่อทำการแก้ไข ซึ่งถือเป็นเรื่องยุ่งยากมาก เทคนิคการแย่งชิงและการคอมไพล์ทำงานร่วมกัน และไม่มีวิธีแก้ปัญหาแบบใดขนาดหนึ่งที่เหมาะกับทุกคน กล่าวโดยสรุป ไม่แนะนำให้ใช้วิธีนี้เมื่อการรบกวนของรหัสการเข้ารหัสยังไม่ถูกกำจัดออกไปอย่างสมบูรณ์
String เขียนในข้อมูลภายนอก หากโครงสร้างโปรแกรมของเกมนี้ดี ควรวางสตริงทั้งหมดไว้ในไฟล์ภายนอก หากคุณไม่ทราบว่าเป็นไฟล์ใด เพียงแค่เปิดไฟล์ทั้งหมดด้วยโปรแกรมแก้ไขข้อความ และดูไฟล์นั้นเพื่อค้นหาไฟล์ที่เก็บสตริงนั้น เกมจำนวนมากใช้ฟังก์ชันทั่วไป readUTF() เพื่ออ่านข้อมูลจากไฟล์ ดังนั้น ตรวจสอบให้แน่ใจว่าสตริงใหม่ที่ใช้มีการเข้ารหัส UTF-8 เนื่องจากไม่มีไฟล์ xml ต้นฉบับที่จะสร้างไฟล์ข้อมูลนี้ใหม่ คุณอาจต้องแทนที่การเข้ารหัสสตริงเลขฐานสิบหกเพื่อแทนที่สตริงต้นฉบับอย่างถูกต้อง โดยทั่วไปแล้ว อักขระแต่ละตัวของ uft-8 จะมีขนาดใหญ่กว่า Unicode หนึ่งไบต์ ดังนั้นไฟล์สตริงที่ถูกแทนที่อาจมีขนาดใหญ่กว่าต้นฉบับเล็กน้อย หากไม่อยู่ในรูปแบบ UTF8 อาจอยู่ในรูปแบบ Unicode หรือรูปแบบอื่นๆ อย่างไรก็ตาม หากตัวโปรแกรมไม่ได้คำนึงถึงการอ่านข้อความแบบหลายไบต์ ก็ไม่สามารถแก้ไขได้จนกว่าจะมีการแก้ไขซอร์สโค้ด
โดยทั่วไปแล้วสิ่งนี้จะเสร็จสิ้น การเปลี่ยนแปลงขนาด jar และหน่วยความจำรันไทม์ของเกมที่เกิดจากการแทนที่สตริงเหล่านี้ไม่มีนัยสำคัญ ขั้นตอนสุดท้ายคือการยืนยันว่าโทรศัพท์มือถือที่คุณต้องการเรียกใช้โปรแกรมนี้รองรับภาษาจีน :)
พูดโดยย่อ เป็นเรื่องน่ายินดีอย่างยิ่งที่ไม่มีไลบรารีแบบอักษรในตัว เมื่อคุณได้รับ GBA rom สิ่งแรกที่คุณต้องทำคือการแคร็กมัน แต่จะซื้อเกมมือถือล่ะ? เพียงแตกไฟล์และดูแต่ละไฟล์ฮ่าๆ การทำ GBA เวอร์ชั่นภาษาจีนต้องมีการแคร็ก การแปล และอาร์ตเป็นอย่างน้อย แต่การทำมือถือเวอร์ชั่นภาษาจีน ข้อความไม่เยอะ รูปภาพไม่เยอะ คนเดียวก็พอแล้ว และประเด็นสำคัญที่สุดคือไม่มีบริษัทผลิตเกม GBA ในจีน อยากเล่นเกมจีนก็ต้องพึ่งแฟน ๆ ทำเองเท่านั้น แต่สำหรับเกมมือถือกลับตรงกันข้าม มีบริษัทผู้ผลิตในประเทศจำนวนมาก แต่ถึงอย่างนั้น เกมในจีนส่วนใหญ่ก็ยังเป็นขยะล้วนๆ และเทียบไม่ได้เลยกับเกมที่ผลิตโดยบริษัทยักษ์ใหญ่จากต่างประเทศ ผู้สนใจสามารถทดลองด้วยตนเองได้ ดังนั้น ผมคิดว่าความสำคัญของบทความนี้ไม่ได้ไร้ความหมายแต่อย่างใด
บทช่วยสอนเบื้องต้นสำหรับเกมภาษาจีน
ตอบกลับ (12)
"@_@" ยากเกินไป แสดงว่ามีความกดดัน
นี่คือของที่ถูกส่งต่อ
ผ่านมา เกี่ยวกับการเขียนโปรแกรมและมีคำศัพท์เฉพาะ… การปฏิบัติจริงน่าจะยังต้องทำบนคอมพิวเตอร์นะ ผมรู้สึกงงเล็กน้อย แท้จริงแล้วเข้ามาก็คิดว่าน่าจะใช้ซอฟต์แวร์ตัวหนึ่งแปลแล้วค่อยเอาไฟล์ทับก็เสร็จ แต่ผลลัพธ์ไม่ใช่… ช่างเถอะ ซับซ้อนเกินไป ข้าพเจ้าไม่เข้าใจ…
แทนที่ไฟล์ต้นฉบับได้อย่างไร้ปัญหา
สุดยอด…………
สุดยอด…………
ระบุว่านี่ไม่ใช่บทเรียน แค่ชี้แจงแนวคิดในการแปลเป็นภาษาจีนเท่านั้น!
คำอธิบายข้างล่างถูกต้อง ส่วนข้างบนเป็นการอธิบายทฤษฎีการแปลเป็นภาษาจีน สำหรับคนที่สนใจเรียน
สุดยอด~~~~~
โอ้!!!!!
ค่อนข้างดี…แค่ไม่เข้าใจ
อ่านไม่ออกอ่ะ อธิบายง่าย ๆ หน่อยได้ไหม????
— โหลดคำตอบทั้งหมดแล้ว —