Mendapatkan teks dan aset yang dilokalkan kapan saja
Lingkungan verifikasi
- Windows
-
- jendela 11
- Editor Kesatuan
-
- 2021.3.12f1
- Sistem Input (Teknologi Unity)
-
- 1.4.4
- Lokalisasi (Unity Technologies)
-
- 1.3.2
Prasyarat untuk tip ini
Pengaturan berikut telah dibuat sebelumnya sebagai premis untuk deskripsi tip ini.
Tujuan dari tips kami
Saat Anda mengklik tombol, teks target dari tabel pelokalan ditampilkan di layar pemuatan.
Pengetahuan dan persiapan prasyarat
Tips ini mengasumsikan lokalisasi teks berikut: Namun, karena kami tidak akan menerapkan semuanya, kami akan memposting prosedur dari 1 di sini, tetapi kami akan menyederhanakan konten duplikat.
Menginstal Paket Pelokalan
Prosedurnya sama di sini.
Membuat lokalisasi
Ini sama seperti sebelumnya, jadi saya hanya akan memposting gambarnya.
Di sini, kami membuat folder "Lokalisasi" di folder "Adegan" dan membuatnya di dalamnya.
Membuat Lokal
Ini juga sama seperti sebelumnya, jadi saya akan menghilangkan prosedur terperinci. Lokal yang akan ditambahkan adalah "Jepang (ja)", "Inggris (en)", dan "Spanyol (es)".
Saya menentukan folder "Lokalisasi" yang disebutkan sebelumnya.
Biarkan lokal default sebagai "Jepang (ja)".
Membuat Teks
Biarkan nama TextTable
tabel sebagai .
Localization
Buat folder di dalam TextTable
folder dan tentukan.
Membuat teks. Kali ini, tujuannya adalah untuk mendapatkannya secara terprogram, sehingga Anda dapat mendaftarkannya untuk saat ini.
Penempatan UI
Saya ingin menempatkan teks dan tombol, dan ketika saya mengklik tombol, saya ingin menampilkan teks dari lokal saat ini.
Membuat dan Melampirkan Skrip
Buat skrip. ButtonEvent
Biarkan nama sebagai .
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;
}
}
Masukkan apa yang terjadi saat tombol diklik.
Yang kita lakukan di sini adalah satu LocalizationSettings.StringDatabase.GetTableEntry
hal: Anda bisa mendapatkan entri set yang ditemukan dengan menentukan nama tabel dan kunci yang dibuat di Lokalisasi dalam metode.
Kali ini kita melakukannya dengan teks, tetapi aset juga LocalizationSettings.AssetDatabase
dapat diperoleh dengan menggunakan .
Setelah Anda memiliki entri, yang harus Anda lakukan adalah mendapatkan nilai yang Anda miliki. Isinya adalah teks dari lokal yang dipilih. Kali ini diperoleh dengan pemrosesan sinkron, tetapi Anda juga dapat menggunakan metode asinkron.
Lampirkan skrip ke EventSystem. Atur teks juga.
Tetapkan penanganan klik ke tombol.
Jalankan dan verifikasi
Coba jalankan setelah Anda selesai menyiapkannya. Karena tidak ada peristiwa pelokalan yang diatur di UI, teks tidak berubah saat dijalankan.
Klik tombol untuk beralih ke teks bahasa Jepang. Ini karena lokal Jepang saat ini dipilih.
Coba ubah lokal di sudut kanan atas layar lalu klik tombol. Ini harus berubah menjadi teks untuk lokal target.