Schimbați setările regionale în orice moment
Mediul de verificare
- Windows
-
- Ferestre 11
- Unity Editor
-
- 2021.3.12F1
- Sistem de intrare (Unity Technologies)
-
- 1.4.3
- Localizare (Unity Technologies)
-
- 1.3.2
Cerințe preliminare pentru acest sfat
Următoarele setări au fost făcute în avans ca premisă pentru descrierea acestui sfat.
Cunoștințe și pregătire prealabile
Acest sfat presupune localizarea următorului text: În primul rând, consultați următoarele sfaturi pentru a vă pregăti să afișați text localizat.
Plasarea butoanelor pentru schimbarea setărilor regionale
Dacă îl rulați în Editorul de unitate, puteți schimba locația din colțul din dreapta sus al ecranului, dar după construirea jocului, acesta nu are această funcție și trebuie să îl pregătiți singur. De data aceasta, voi pune un buton pentru a comuta între cele trei limbi "japoneză (ja)", "engleză (en)" și "spaniolă (es)" și faceți clic pentru a le comuta.
Scripting pentru butoane
Asigurați-vă că metoda țintă este apelată atunci când faceți clic pe buton. Aceasta este o procedură de uz general, așa că voi omite detaliile. Consultați următoarele sfaturi pentru instrucțiuni detaliate.
ButtonEvent
Creați un script cu numele .
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()
{
}
}
Atribuiți fiecare metodă unui clic pe buton.
Gestionarea modificărilor setărilor regionale
Modificați codul după cum urmează:
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");
}
}
Schimbarea în sine este simplă LocalizationSettings.SelectedLocale
și poate fi comutată prin simpla setare a țintei Locale
în proprietate.
Locale
Locale.CreateLocale
poate fi creat prin setarea numelui localizării în metodă.
Cu toate acestea, deoarece procesul de schimbare a localizării este asincron,LocalizationSettings.SelectedLocale
următorul proces care se stabilește nu înseamnă că locația a fost deja complet schimbată.
Aveți grijă dacă efectuați operațiuni dependente de localizare.
Rulați și verificați
Aceasta este tot ce există, așa că vă rugăm să o rulați și să verificați mișcarea. În colțul din dreapta sus al ecranului jocului, puteți vedea că diferitele resurse comută dinamic în același mod ca atunci când schimbați localizarea.