การสลับข้อความของวัตถุข้อความให้ตรงกับสภาพแวดล้อมที่ข้อความได้รับการสนับสนุนหลายภาษา
สภาพแวดล้อมการตรวจสอบ
- หน้าต่าง
-
- หน้าต่าง 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 และเรียกใช้ในสภาพแวดล้อมที่มีภาษาอังกฤษเป็นภาษาเริ่มต้น ฉันคิดว่าคุณสามารถตรวจสอบให้แน่ใจว่าภาษาถูกเปลี่ยนตามสภาพแวดล้อม