Lokalės keitimas bet kuriuo metu
Tikrinimo aplinka
- Windows
-
- Langai 11
- "Unity" redaktorius
-
- 2021.3.12f1
- Įvesties sistema ("Unity Technologies")
-
- 1.4.3
- Lokalizavimas ("Unity Technologies")
-
- 1.3.2
Būtinos šio patarimo sąlygos
Šie nustatymai buvo atlikti iš anksto kaip šio patarimo aprašymo prielaida.
Būtinos žinios ir pasirengimas
Šiame patarime daroma prielaida, kad lokalizuojamas šis tekstas: Pirmiausia perskaitykite šiuos patarimus, kaip pasiruošti rodyti lokalizuotą tekstą.
Mygtukų įdėjimas lokalės keitimui
Jei paleisite jį "Unity" redaktoriuje, lokalę galite pakeisti viršutiniame dešiniajame ekrano kampe, tačiau sukūrę žaidimą jis neturi šios funkcijos ir turite ją paruošti patys. Šį kartą įdėsiu mygtuką, kad perjungtumėte tris kalbas "Japonų (ja)", "Anglų (en)" ir "Ispanų (es)" ir spustelėkite, kad jas perjungtumėte.
Mygtukų scenarijų kūrimas
Įsitikinkite, kad tikslinis metodas iškviečiamas spustelėjus mygtuką. Tai yra bendrosios paskirties procedūra, todėl praleisiu detales. Peržiūrėkite šiuos patarimus, kad gautumėte išsamias instrukcijas.
ButtonEvent
Sukurkite scenarijų su pavadinimu .
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()
{
}
}
Priskirkite kiekvieną metodą mygtuko paspaudimui.
Lokalės keitimų tvarkymas
Pakeiskite kodą taip:
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");
}
}
Pats pakeitimas yra paprastas LocalizationSettings.SelectedLocale
ir gali būti perjungiamas tiesiog nustatant tikslą Locale
nuosavybėje.
Locale
Locale.CreateLocale
galima sukurti metode nustatant lokalės pavadinimą.
Tačiau, kadangi lokalės keitimo procesas yra asinchroninis, kitas nustatytas procesas nereiškia,LocalizationSettings.SelectedLocale
kad lokalė jau buvo visiškai perjungta.
Būkite atsargūs, jei atliekate nuo lokalės priklausančias operacijas.
Paleiskite ir patikrinkite
Tai viskas, kas yra, todėl paleiskite jį ir patikrinkite judėjimą. Viršutiniame dešiniajame žaidimo ekrano kampe matote, kad įvairūs ištekliai dinamiškai persijungia taip pat, kaip ir keičiant lokalę.