รับข้อความและเนื้อหาที่แปลเป็นภาษาท้องถิ่นได้ตลอดเวลา

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

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

หน้าต่าง
  • หน้าต่าง 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 ข้อความจะไม่เปลี่ยนแปลงเมื่อดําเนินการ

คลิกปุ่มเพื่อสลับไปยังข้อความภาษาญี่ปุ่น นี่เป็นเพราะภาษาปัจจุบันของชาวญี่ปุ่นถูกเลือก

ลองเปลี่ยนตําแหน่งที่ตั้งที่มุมขวาบนของหน้าจอ แล้วคลิกปุ่ม ควรเปลี่ยนเป็นข้อความสําหรับตําแหน่งที่ตั้งเป้าหมาย