Schimbați setările regionale în orice moment

Pagina actualizată :
Data creării paginii :

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.