รับข้อความและเนื้อหาที่แปลเป็นภาษาท้องถิ่นได้ตลอดเวลา
สภาพแวดล้อมการตรวจสอบ
- หน้าต่าง
-
- หน้าต่าง 11
- บรรณาธิการ Unity
-
- ปี 2021.3.12f1
- ระบบอินพุต (Unity Technologies)
-
- 1.4.4
- การแปลเป็นภาษาท้องถิ่น (เทคโนโลยีความสามัคคี)
-
- 1.3.2
ข้อกําหนดเบื้องต้นสําหรับเคล็ดลับนี้
การตั้งค่าต่อไปนี้ได้ทําไว้ล่วงหน้าเพื่อเป็นหลักฐานสําหรับคําอธิบายของเคล็ดลับนี้
เป้าหมายของเคล็ดลับของเรา
เมื่อคุณคลิกปุ่มข้อความเป้าหมายจากตารางการแปลจะปรากฏขึ้นบนหน้าจอการโหลด
ความรู้เบื้องต้นและการเตรียมตัว
เคล็ดลับนี้ถือว่าการแปลข้อความต่อไปนี้: อย่างไรก็ตามเนื่องจากเราจะไม่ใช้ทั้งหมดเราจะโพสต์ขั้นตอนจาก 1 ที่นี่ แต่เราจะลดความซับซ้อนของเนื้อหาที่ซ้ํากัน
การติดตั้งแพคเกจการแปล
ขั้นตอนเหมือนกันที่นี่
การสร้างการแปลเป็นภาษาท้องถิ่น
นี้เหมือนกับก่อนดังนั้นฉันจะโพสต์เฉพาะภาพ
ที่นี่เราสร้างโฟลเดอร์ "Localization" ในโฟลเดอร์ "Scenes" และสร้างมันขึ้นมา
การสร้างตําแหน่งที่ตั้ง
นี่เป็นเหมือนเมื่อก่อนดังนั้นฉันจะละเว้นขั้นตอนโดยละเอียด ตําแหน่งที่ตั้งที่จะเพิ่มคือ "ญี่ปุ่น (ja)", "อังกฤษ (en)" และ "สเปน (es)"
ฉันระบุโฟลเดอร์ "Localization" ที่กล่าวถึงก่อนหน้านี้
ปล่อยให้ตําแหน่งที่ตั้งเริ่มต้นเป็น "ภาษาญี่ปุ่น (ja)"
การสร้างข้อความ
ปล่อยให้ชื่อ TextTable
ตารางเป็น .
Localization
สร้างโฟลเดอร์ภายใน TextTable
โฟลเดอร์และระบุ
สร้างข้อความ คราวนี้จุดประสงค์คือเพื่อให้เป็นโปรแกรมเพื่อให้คุณสามารถลงทะเบียนได้ในขณะนี้
ตําแหน่ง UI
ฉันต้องการวางข้อความและปุ่มและเมื่อฉันคลิกปุ่มฉันต้องการแสดงข้อความของตําแหน่งที่ตั้งปัจจุบัน
การสร้างและการแนบสคริปต์
สร้างสคริปต์ ButtonEvent
ทิ้งชื่อไว้เป็น .
using UnityEngine;
using UnityEngine.Localization.Settings;
using UnityEngine.UI;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private Text Text;
public void OnClick()
{
// Localization から指定したテーブル名とキーからエントリーを取得します
var entry = LocalizationSettings.StringDatabase.GetTableEntry("TextTable", "Hello").Entry;
Text.text = entry.Value;
}
}
ป้อนสิ่งที่จะเกิดขึ้นเมื่อคลิกปุ่ม
สิ่งที่เราทําที่นี่คือสิ่งหนึ่ง LocalizationSettings.StringDatabase.GetTableEntry
: คุณสามารถรับรายการชุดที่พบได้โดยระบุชื่อตารางและคีย์ที่สร้างขึ้นใน Localization ในวิธีการ
คราวนี้เรากําลังทําด้วยข้อความ แต่สามารถรับสินทรัพย์ LocalizationSettings.AssetDatabase
ได้โดยใช้ .
เมื่อคุณมีรายการสิ่งที่คุณต้องทําคือรับค่าที่คุณมี เนื้อหาคือข้อความของตําแหน่งที่ตั้งที่เลือก คราวนี้ได้มาจากการประมวลผลแบบซิงโครนัส แต่คุณสามารถใช้วิธีการแบบอะซิงโครนัสได้
แนบสคริปต์กับ EventSystem ตั้งค่าข้อความด้วย
กําหนดการจัดการคลิกให้กับปุ่ม
เรียกใช้และตรวจสอบ
ลองเรียกใช้หลังจากที่คุณตั้งค่าเสร็จแล้ว เนื่องจากไม่มีการตั้งค่าเหตุการณ์การแปลใน UI ข้อความจะไม่เปลี่ยนแปลงเมื่อดําเนินการ
คลิกปุ่มเพื่อสลับไปยังข้อความภาษาญี่ปุ่น นี่เป็นเพราะภาษาปัจจุบันของชาวญี่ปุ่นถูกเลือก
ลองเปลี่ยนตําแหน่งที่ตั้งที่มุมขวาบนของหน้าจอ แล้วคลิกปุ่ม ควรเปลี่ยนเป็นข้อความสําหรับตําแหน่งที่ตั้งเป้าหมาย