Mendapatkan teks dan aset yang dilokalkan kapan saja

Halaman Diperbarui :
Tanggal pembuatan halaman :

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.