Območne nastavitve lahko kadar koli spremenite

Stran posodobljena :
Datum ustvarjanja strani :

Okolje za preverjanje

Windows
  • Windows 11
Urejevalnik Unity
  • 2021.3.12F1
Vhodni sistem (Unity Technologies)
  • 1.4.3
Lokalizacija (tehnologije Unity)
  • 1.3.2

Predpogoji za ta nasvet

Naslednje nastavitve so bile vnaprej narejene kot premisa za opis tega nasveta.

Predpogojno znanje in priprava

Ta namig predvideva lokalizacijo tega besedila: Najprej si oglejte naslednje nasvete za pripravo na prikaz lokaliziranega besedila.

Postavitev gumbov za spreminjanje območnih nastavitev

Če ga zaženete v urejevalniku Unity, lahko spremenite območne nastavitve v zgornjem desnem kotu zaslona, vendar po izgradnji igre nima te funkcije in jo morate pripraviti sami. Tokrat bom postavil gumb za preklapljanje med tremi jeziki "japonski (ja)", "angleščina (en)" in "španščina (es)" in kliknil, da jih preklopim.

Skriptno izvajanje gumbov

Prepričajte se, da je ciljna metoda poklicana, ko kliknete gumb. To je postopek za splošne namene, zato bom izpustil podrobnosti. Za podrobna navodila glejte naslednje nasvete.

ButtonEvent Ustvarite skript z imenom .

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()
  {
  }
}

Vsak način dodelite kliku gumba.

Obravnavanje sprememb območnih nastavitev

Kodo spremenite na naslednji način:

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");
  }
}

Sama sprememba je preprosta LocalizationSettings.SelectedLocale in jo je mogoče preklopiti tako, da preprosto nastavite cilj Locale v nepremičnini. Locale Locale.CreateLocale Ustvarite lahko tako, da v metodi nastavite ime območnih nastavitev.

Ker pa je postopek spreminjanja območnih nastavitev asinhron, naslednji postopek, ki nastavi, ne pomeni,LocalizationSettings.SelectedLocale da so bile področne nastavitve že popolnoma preklopljene. Bodite previdni, če izvajate postopke, odvisne od lokalnega okolja.

Zaženi in preveri

To je vse, kar je za to, zato vas prosimo, da ga zaženete in preverite gibanje. V zgornjem desnem kotu zaslona igre lahko vidite, da se različni viri dinamično preklapljajo na enak način kot pri spreminjanju območnih nastavitev.