Lokaadi muutmine igal ajal

Lehekülg uuendatud :
Lehe loomise kuupäev :

Kontrollimise keskkond

Windows
  • Windows 11
Ühtsuse toimetaja
  • 2021.3.12f1
Sisendsüsteem (Unity Technologies)
  • 1.4.3
Lokaliseerimine (Unity Technologies)
  • 1.3.2

Selle näpunäite eeltingimused

Selle vihje kirjeldamise eelduseks on eelnevalt tehtud järgmised sätted.

Eelduseks olevad teadmised ja ettevalmistus

See näpunäide eeldab järgmise teksti lokaliseerimist: Esiteks vaadake lokaliseeritud teksti kuvamiseks ettevalmistamiseks järgmisi näpunäiteid.

Nuppude paigutamine lokaadi muutmiseks

Kui käivitate selle Unity Editoris, saate muuta lokaati ekraani paremas ülanurgas, kuid pärast mängu ehitamist pole sellel funktsiooni ja peate selle ise ette valmistama. Seekord panen nupu kolme keele "Jaapani (ja)", "Inglise (en)" ja "Hispaania (es)" vahel vahetamiseks ja klõpsan nende vahetamiseks.

Nuppude skriptimine

Veenduge, et nupul klõpsates helistatakse sihtmeetodile. See on üldotstarbeline menetlus, seega jätan üksikasjad välja. Üksikasjalike juhiste saamiseks vaadake järgmisi näpunäiteid.

ButtonEvent Looge skript nimega .

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

Määrake igale meetodile nupuvajutus.

Lokaadi muudatuste käsitlemine

Muutke koodi järgmiselt:

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

Muudatus ise on lihtne LocalizationSettings.SelectedLocale ja seda saab vahetada, seades lihtsalt omaduse sihtmärgi Locale . Locale Locale.CreateLocale saab luua, määrates meetodis lokaadi nime.

Kuna aga lokaadi muutmise protsess on asünkroonne, ei tähenda järgmine komplektne protsess,LocalizationSettings.SelectedLocale et lokaat on juba täielikult vahetatud. Olge ettevaatlik, kui teete lokaadist sõltuvaid toiminguid.

Käivitage ja kontrollige

See on kõik, mis seal on, nii et palun käivitage see ja kontrollige liikumist. Mängu ekraani paremas ülanurgas näete, et erinevad ressursid lülituvad dünaamiliselt samamoodi nagu lokaadi muutmisel.