Miestnu úpravu môžete kedykoľvek zmeniť

Stránka aktualizovaná :
Dátum vytvorenia strany :

Prostredie overovania

Windows
  • Windows 11
Editor jednoty
  • 2021.3.12F1
Vstupný systém (Unity Technologies)
  • 1.4.3
Lokalizácia (Unity Technologies)
  • 1.3.2

Predpoklady pre tento tip

Nasledujúce nastavenia boli vykonané vopred ako predpoklad pre popis tohto tipu.

Nevyhnutné vedomosti a príprava

Tento tip predpokladá lokalizáciu nasledujúceho textu: Najprv si prečítajte nasledujúce tipy na prípravu na zobrazenie lokalizovaného textu.

Umiestnenie tlačidiel na zmenu miestnych nastavení

Ak ju spustíte v editore Unity, môžete zmeniť miestne nastavenie v pravom hornom rohu obrazovky, ale po vytvorení hry túto funkciu nemá a musíte si ju pripraviť sami. Tentokrát umiestnim tlačidlo na prepínanie medzi tromi jazykmi "japončina (ja)", "angličtina (en)" a "španielčina (es)" a kliknutím ich prepnem.

Skriptovanie tlačidiel

Uistite sa, že cieľová metóda je vyvolaná, keď kliknete na tlačidlo. Ide o univerzálny postup, takže podrobnosti vynechám. Podrobné pokyny nájdete v nasledujúcich tipoch.

ButtonEvent Vytvorte skript s názvom .

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

Priraďte každú metódu kliknutiu na tlačidlo.

Spracovanie zmien miestnych nastavení

Upravte kód nasledovne:

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

Samotná zmena je jednoduchá a dá sa prepnúť jednoduchým LocalizationSettings.SelectedLocale nastavením cieľa Locale vo vlastníctve. Locale Locale.CreateLocale možno vytvoriť nastavením názvu miestneho nastavenia v metóde.

Keďže je však proces zmeny miestneho nastavenia asynchrónny, ďalší proces, ktorý sa nastaví, neznamená,LocalizationSettings.SelectedLocale že miestne nastavenie už bolo úplne prepnuté. Buďte opatrní, ak vykonávate operácie závislé od miestnych podmienok.

Spustenie a overenie

To je všetko, čo k tomu patrí, takže ho spustite a skontrolujte pohyb. V pravom hornom rohu hernej obrazovky môžete vidieť, že rôzne zdroje sa dynamicky prepínajú rovnakým spôsobom, ako keď zmeníte miestne nastavenie.