Mengubah lokal kapan saja
Lingkungan verifikasi
- Windows
-
- jendela 11
- Editor Kesatuan
-
- 2021.3.12f1
- Sistem Input (Teknologi Unity)
-
- 1.4.3
- Lokalisasi (Unity Technologies)
-
- 1.3.2
Prasyarat untuk tip ini
Pengaturan berikut telah dibuat sebelumnya sebagai premis untuk deskripsi tip ini.
Pengetahuan dan persiapan prasyarat
Tips ini mengasumsikan lokalisasi teks berikut: Pertama, silakan lihat tips berikut untuk bersiap menampilkan teks yang dilokalkan.
Menempatkan tombol untuk mengubah lokal
Jika Anda menjalankannya di Unity Editor, Anda dapat mengubah lokal di sudut kanan atas layar, tetapi setelah membangun game, itu tidak memiliki fungsi itu dan Anda harus menyiapkannya sendiri. Kali ini, saya akan menempatkan tombol untuk beralih di antara tiga bahasa "Jepang (ja)", "Inggris (en)", dan "Spanyol (es)" dan klik untuk mengalihkannya.
Skrip untuk tombol
Pastikan bahwa metode target dipanggil ketika Anda mengklik tombol. Ini adalah prosedur tujuan umum, jadi saya akan menghilangkan detailnya. Lihat tips berikut untuk petunjuk terperinci.
ButtonEvent
Buat skrip dengan nama .
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
}
}
Tetapkan setiap metode ke klik tombol.
Menangani perubahan lokal
Ubah kode sebagai berikut:
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("ja");
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("en");
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("es");
}
}
Perubahan itu sendiri sederhana LocalizationSettings.SelectedLocale
dan dapat dialihkan hanya dengan menetapkan target Locale
di properti.
Locale
Locale.CreateLocale
dapat dibuat dengan mengatur nama lokal dalam metode.
Namun, karena proses perubahan lokal tidak sinkron,LocalizationSettings.SelectedLocale
proses berikutnya yang menetapkan tidak berarti bahwa lokal telah sepenuhnya dialihkan.
Hati-hati jika Anda melakukan operasi yang bergantung pada lokal.
Jalankan dan verifikasi
Ini semua ada untuk itu, jadi silakan jalankan dan periksa gerakannya. Di sudut kanan atas layar game, Anda dapat melihat bahwa berbagai sumber daya beralih secara dinamis dengan cara yang sama seperti ketika Anda mengubah lokal.