Dapatkan teks dan aset setempat pada bila-bila masa

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran pengesahan

Windows
  • Windows 11
Penyunting Perpaduan
  • 2021.3.12f1
Sistem Input (Unity Technologies)
  • 1.4.4
Penyetempatan (Teknologi Perpaduan)
  • 1.3.2

Prasyarat untuk petua ini

Tetapan berikut telah dibuat terlebih dahulu sebagai premis untuk penerangan petua ini.

Matlamat petua kami

Apabila anda mengklik butang, teks sasaran dari jadual penyetempatan dipaparkan pada skrin memuatkan.

Prasyarat pengetahuan dan penyediaan

Petua ini menganggap penyetempatan teks berikut: Walau bagaimanapun, kerana kami tidak akan melaksanakan semuanya, kami akan menyiarkan prosedur dari 1 di sini, tetapi kami akan memudahkan kandungan pendua.

Memasang Pakej Penyetempatan

Prosedur ini sama di sini.

Mencipta Penyetempatan

Ini sama seperti sebelum ini, jadi saya hanya akan menyiarkan imej.

Di sini, kami mencipta folder "Penyetempatan" dalam folder "Adegan" dan menciptanya di dalamnya.

Mencipta Penempatan

Ini juga sama seperti sebelumnya, jadi saya akan meninggalkan prosedur terperinci. Penduduk tempatan yang perlu ditambah ialah "Jepun (ja)", "Bahasa Inggeris (en)", dan "Sepanyol (es)".

Saya menentukan folder "Penyetempatan" yang dinyatakan sebelum ini.

Biarkan penempatan lalai sebagai "Jepun (ja)".

Mencipta Teks

Tinggalkan nama TextTable jadual sebagai .

Localization Buat folder di dalam TextTable folder dan tentukannya.

Buat teks. Kali ini, tujuannya adalah untuk mendapatkannya secara programatik, jadi anda boleh mendaftar satu buat masa ini.

Penempatan UI

Saya ingin meletakkan teks dan butang, dan apabila saya mengklik butang, saya ingin memaparkan teks tempat semasa.

Mencipta dan melampirkan skrip

Buat skrip. ButtonEvent Tinggalkan 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 berlaku apabila butang diklik. Apa yang kami lakukan di sini adalah satu LocalizationSettings.StringDatabase.GetTableEntry perkara: anda boleh mendapatkan kemasukan set yang dijumpai dengan menentukan nama jadual dan kunci yang dibuat dalam Penyetempatan dalam kaedah. Kali ini kita melakukannya dengan teks, tetapi aset juga LocalizationSettings.AssetDatabase boleh diperolehi dengan menggunakan .

Sebaik sahaja anda mempunyai entri, apa yang anda perlu lakukan ialah mendapatkan nilai yang anda ada. Kandungan adalah teks tempat yang dipilih. Kali ini ia diperolehi oleh pemprosesan segerak, tetapi anda juga boleh menggunakan kaedah tak segerak.

Lampirkan skrip ke EventSystem. Tetapkan teks juga.

Peruntukkan pengendalian klik pada butang.

Jalankan dan sahkan

Cuba jalankannya selepas anda selesai menyediakannya. Oleh kerana tiada peristiwa penyetempatan disetkan dalam UI, teks tidak berubah apabila dilaksanakan.

Klik butang untuk bertukar kepada teks Jepun. Ini kerana tempat semasa Jepun dipilih.

Cuba ubah tempat di sudut kanan atas skrin dan kemudian klik butang. Ia harus berubah kepada teks untuk penempatan sasaran.