การสลับข้อความของวัตถุข้อความให้ตรงกับสภาพแวดล้อมที่ข้อความได้รับการสนับสนุนหลายภาษา

ปรับปรุงหน้า :
วันที่สร้างเพจ :

สภาพแวดล้อมการตรวจสอบ

หน้าต่าง
  • หน้าต่าง 11
บรรณาธิการ Unity
  • ปี 2021.3.12f1
ระบบอินพุต (Unity Technologies)
  • 1.4.3
การแปลเป็นภาษาท้องถิ่น (เทคโนโลยีความสามัคคี)
  • 1.3.2

ข้อกําหนดเบื้องต้นสําหรับเคล็ดลับนี้

การตั้งค่าต่อไปนี้ได้ทําไว้ล่วงหน้าเพื่อเป็นหลักฐานสําหรับคําอธิบายของเคล็ดลับนี้

เกี่ยวกับการแปลเป็นภาษาท้องถิ่น

ในหลายกรณีเกมถูกสร้างขึ้นในภาษาของสภาพแวดล้อมที่ได้รับการพัฒนาหรือเป็นภาษาอังกฤษ อย่างไรก็ตามเพื่อให้ผู้คนเล่นเกมมากขึ้นจําเป็นต้องสร้างเกมตามวัฒนธรรมและภาษาของประเทศ สิ่งนี้เรียกกันทั่วไปว่า "การแปล"

ในเคล็ดลับนี้ฉันต้องการทํา "การสนับสนุนหลายภาษา" ซึ่งเป็นหนึ่งในการแปล มีหลายวิธีในการสนับสนุนหลายภาษาใน Unity แต่ในกรณีนี้เราต้องการใช้แพ็คเกจส่วนขยายอย่างเป็นทางการของ Unity คือ Localization เพื่อรองรับหลายภาษา

การติดตั้งแพคเกจการแปล

เพื่อสนับสนุนการแปลคุณต้องติดตั้งแพ็คเกจ "Localization" ก่อน

จากเมนู ให้เลือก Window - > Package Manager

ที่มุมบนซ้ายของตัวจัดการแพคเกจที่ปรากฏขึ้นให้เลือก Unity Registry

"การแปล" จะปรากฏในเมนูด้านซ้ายดังนั้นเลือกและคลิกปุ่มติดตั้ง จะใช้เวลาสักครู่ในการติดตั้ง เมื่อติดตั้งแล้วให้ปิดกล่องโต้ตอบ

การสร้างการแปลเป็นภาษาท้องถิ่น

หลังจากติดตั้งแพคเกจแล้วให้สร้างข้อความสําหรับแต่ละภาษา เลือก แก้ไข - > การตั้งค่าโปรเจ็กต์ จากเมนู

เลือก Localization จากเมนูด้านซ้ายแล้วคลิกปุ่มสร้าง

ไฟล์จะถูกสร้างขึ้นดังนั้นระบุโฟลเดอร์ใด ๆ ไฟล์หลายไฟล์จะถูกสร้างขึ้นดังนั้นจึงเป็นการดีกว่าที่จะสร้างไฟล์เหล่านั้นในโฟลเดอร์เฉพาะ ที่นี่เราสร้างโฟลเดอร์ "Localization" ในโฟลเดอร์ "Scenes" และสร้างมันขึ้นมา

เมื่อสร้างหน้าจอจะมีลักษณะเช่นนี้

ไฟล์จะถูกสร้างขึ้นในโฟลเดอร์ที่ระบุด้วย ณ จุดนี้ยังมีอยู่

การสร้างตําแหน่งที่ตั้ง

เราจะสร้างข้อความที่สอดคล้องกับภาษา เปิดการตั้งค่าโปรเจ็กต์ Localization แล้วคลิกปุ่ม Locale Generator

เลือกตําแหน่งที่ตั้งที่เกี่ยวข้อง เลือกเฉพาะสิ่งที่คุณต้องการ ยิ่งคุณตรวจสอบมากเท่าไหร่เกมก็จะสามารถใช้งานได้กว้างขึ้น แต่ปริมาณงานจะเพิ่มขึ้นตามสัดส่วน

คราวนี้เลือก "ญี่ปุ่น (ja)", "อังกฤษ (en)" และ "สเปน (es)"

หลังจากตั้งค่าแล้วให้คลิกปุ่ม "สร้างตําแหน่งที่ตั้ง" ที่ด้านล่างขวาเพื่อสร้าง

ระบุโฟลเดอร์ที่จะสร้างไฟล์ อาจเป็นสถานที่อื่น แต่ง่ายต่อการจัดการหากมีการจัดระเบียบดังนั้นให้ระบุโฟลเดอร์ "Localization" ที่สร้างขึ้นก่อนหน้านี้

ตําแหน่งที่ตั้งที่ใช้ได้จะถูกเพิ่มไปยังจํานวนตําแหน่งที่ตั้งที่คุณเลือก

ไฟล์จะถูกสร้างขึ้นในโฟลเดอร์ที่ระบุสําหรับตําแหน่งที่ตั้งได้มากเท่าที่คุณเลือก

จากนั้นกําหนดค่าตัวเลือกตําแหน่งที่ตั้ง นี่คือการตั้งค่าสําหรับข้อมูลที่กําหนดตําแหน่งที่ตั้งเมื่อเกมเปิดตัว หากไม่มีเงื่อนไขการตัดสินใจพิเศษคุณสามารถปล่อยให้เป็นได้ ฉันต้องการให้ตําแหน่งที่ตั้งเริ่มต้นเป็นภาษาญี่ปุ่นเมื่อตําแหน่งที่ตั้งไม่ได้ถูกกําหนดโดยพยายาม จาก Specific Localse Selector ที่สาม ให้คลิกปุ่มวงกลมทางด้านขวา

เลือกภาษาญี่ปุ่น (ja)

ในทํานองเดียวกันตัวระบุตําแหน่งที่ตั้งของโครงการควรเป็น "ภาษาญี่ปุ่น (ja)"

การสร้างข้อความ

สร้างข้อความสําหรับแต่ละภาษา มีหลายวิธีในการสร้าง แต่ที่นี่เราจะสร้างโดยการตั้งค่าข้อความตั้งแต่เริ่มต้นด้วย GameObject

จากเมนู ให้เลือก Window > Asset Management - > Localization Tables

คลิก คอลเลกชันตารางใหม่

ตรวจสอบให้แน่ใจว่าได้เลือกตําแหน่งที่ตั้งทั้งหมดที่คุณสร้างไว้แล้ว

ตั้งแต่เวลานี้เรากําลังแปลข้อความให้เลือก "คอลเลกชันตารางสตริง" สําหรับ "ประเภท" ระบุชื่อตารางเนื่องจากข้อความสําหรับแต่ละตําแหน่งที่ตั้งจะถูกเก็บเป็นรายการตาราง TextTable ในตัวอย่างนี้จะใช้

หลังจากป้อนให้คลิกปุ่ม "สร้าง"

เลือกปลายทาง เนื่องจากไฟล์หลายไฟล์ถูกสร้างขึ้นสําหรับแต่ละตารางจึงควรสร้างโฟลเดอร์เฉพาะ ที่นี่เราสร้างโฟลเดอร์ "TextTable" ในโฟลเดอร์ "Localization" และระบุ

เมื่อสร้างแล้วตารางจะปรากฏขึ้น มันเป็น 0 บรรทัดเพราะฉันยังไม่ได้สร้างอะไรเลย

ไฟล์จะถูกสร้างขึ้นสําหรับโฟลเดอร์เป็นตําแหน่งที่ตั้งจํานวนมาก โดยทั่วไปฉันไม่ได้สัมผัสสิ่งนี้โดยตรง

ลองสร้างมันขึ้นมาดู มีปุ่ม "เพิ่มรายการใหม่" ในตารางดังนั้นคลิก

สิ่งนี้จะเพิ่มหนึ่งบรรทัดและแสดงช่องป้อนข้อมูลสําหรับแต่ละสถานที่ ลองแปลคําว่า "สวัสดี" เป็นแต่ละภาษาและพิมพ์ "สวัสดี", "สวัสดี" และ "Hola" ตามลําดับ กุญแจสําคัญคือ Hello . โดยวิธีการถ้าคุณป้อนมันจะถูกบันทึกโดยอัตโนมัติ

เพิ่มอีกหนึ่งบรรทัดเพื่อให้คุณรู้ว่าคุณสามารถจัดการได้มากกว่าหนึ่งบรรทัด จากคําว่า "ขอบคุณ" กุญแจสําคัญ ThankYouคือการพิมพ์แต่ละคํา "ขอบคุณ", "ขอบคุณ" และ "gracias"

โปรดปิดกล่องโต้ตอบหลังจากป้อน คุณสามารถเชื่อมต่อไว้ที่ใดที่หนึ่ง

การตั้งค่าการแปลสําหรับวัตถุข้อความ

ในกรณีนี้เรามาเปลี่ยนข้อความที่แสดงเป็นวัตถุข้อความ UI ตามตําแหน่งที่ตั้งในเกม

ขั้นแรกให้วางวัตถุข้อความโดยพลการ ฉันไม่ได้ใช้มันในครั้งนี้ แต่ TextMeshPro ฉันสามารถจัดการกับมันได้

หลังจากเลือกวัตถุที่วางไว้ให้เลือก Localize จากเมนูสามจุดของส่วนประกอบข้อความ

สิ่งนี้จะเพิ่มคอมโพเนนต์เหตุการณ์สตริง Localize ใหม่

เนื่องจากไม่ได้เลือกการอ้างอิงสตริง ให้คลิก ไม่มี

เมื่อกล่องโต้ตอบปรากฏขึ้นให้ป้อนปุ่มข้อความที่จะตั้งค่าในช่องป้อนข้อมูลด้านบน Hello ในกรณีนี้ ให้พิมพ์และดับเบิลคลิกจาก Hello รายการด้านล่าง

คุณสามารถขยายการอ้างอิงสตริงเพื่อดูว่ามีการตั้งค่าต่างๆ นั่นคือทั้งหมดที่มีไป

เรียกใช้และตรวจสอบ

เมื่อคุณทําเสร็จแล้วให้ลองเล่นเกม ข้อความควรเปลี่ยนไปเมื่อคุณเรียกใช้เกม ในรูปด้านล่างจะแสดงเป็นภาษาญี่ปุ่นเนื่องจากทํางานในสภาพแวดล้อมของญี่ปุ่น

ที่มุมขวาบนของหน้าจอเกมบนตัวแก้ไขคุณสามารถเปลี่ยนภาษาของเกมได้ ลองเลือกภาษาสเปนสักพัก

จากนั้นคุณสามารถยืนยันได้ว่าเนื้อหาของข้อความจะเปลี่ยนโดยอัตโนมัติ

อย่างที่คุณเห็นแพ็คเกจการแปลอย่างเป็นทางการของ Unity ทําให้ง่ายต่อการสมัครและเปลี่ยนไปใช้ UI และดูว่ามันทํางานอย่างไร

ลองตั้งค่าข้อความอื่นและดูว่าข้อความมีการเปลี่ยนแปลงหรือไม่

ลองทํางานในสภาพแวดล้อมภาษาอื่น

สร้างและส่งออกโปรแกรมเพื่อดูว่าปรากฏในภาษาที่เกี่ยวข้องหรือไม่เมื่อเรียกใช้ในสภาพแวดล้อมภาษาอื่น

แผนภาพต่อไปนี้แสดงผลลัพธ์ของการติดตั้งภาษาอังกฤษเพิ่มเติมสําหรับระบบปฏิบัติการภาษาญี่ปุ่นของ Windows 11 และเรียกใช้ในสภาพแวดล้อมที่มีภาษาอังกฤษเป็นภาษาเริ่มต้น ฉันคิดว่าคุณสามารถตรวจสอบให้แน่ใจว่าภาษาถูกเปลี่ยนตามสภาพแวดล้อม