Národní prostředí můžete kdykoli změnit

Stránky aktualizovány :
Datum vytvoření stránky :

Ověřovací prostředí

Windows
  • Systém Windows 11
Editor jednoty
  • 2021.3.12f1
Vstupní systém (Unity Technologies)
  • 1.4.3
Lokalizace (Unity Technologies)
  • 1.3.2

Předpoklady pro tento tip

Následující nastavení byla provedena předem jako předpoklad pro popis tohoto tipu.

Předpoklady znalosti a příprava

Tento tip předpokládá lokalizaci následujícího textu: Nejprve si přečtěte následující tipy, abyste se připravili na zobrazení lokalizovaného textu.

Umístění tlačítek pro změnu národního prostředí

Pokud jej spustíte v editoru Unity, můžete změnit národní prostředí v pravém horním rohu obrazovky, ale po vytvoření hry tuto funkci nemá a musíte ji připravit sami. Tentokrát umístím tlačítko pro přepínání mezi třemi jazyky "japonština (ja)", "angličtina (en)" a "španělština (es)" a kliknutím je přepnu.

Skriptování tlačítek

Ujistěte se, že je volána cílová metoda po klepnutí na tlačítko. Jedná se o obecný postup, takže vynechám podrobnosti. Podrobné pokyny najdete v následujících tipech.

ButtonEvent Vytvořte skript s názvem .

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

Přiřaďte každou metodu kliknutí na tlačítko.

Zpracování změn národního prostředí

Upravte kód následujícím způsobem:

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á změna je jednoduchá LocalizationSettings.SelectedLocale a lze ji přepínat jednoduchým nastavením cíle Locale ve vlastnosti. Locale Locale.CreateLocale lze vytvořit nastavením názvu národního prostředí v metodě.

Protože je však proces změny národního prostředí asynchronní, další proces, který nastavuje, neznamená,LocalizationSettings.SelectedLocale že národní prostředí již bylo zcela přepnuto. Buďte opatrní, pokud provádíte operace závislé na národním prostředí.

Spuštění a ověření

To je vše, co k tomu patří, takže to prosím spusťte a zkontrolujte pohyb. V pravém horním rohu herní obrazovky vidíte, že různé zdroje se dynamicky přepínají stejným způsobem, jako když změníte národní prostředí.