Zmień ustawienia regionalne w dowolnym momencie
Środowisko weryfikacji
- Windows
-
- Okna 11
- Edytor Unity
-
- 2021.3.12f1
- System wejściowy (Unity Technologies)
-
- 1.4.3
- Lokalizacja (Unity Technologies)
-
- 1.3.2
Wymagania wstępne dotyczące tej porady
Poniższe ustawienia zostały wcześniej wprowadzone jako przesłanka do opisu tej wskazówki.
Wstępna wiedza i przygotowanie
Ta wskazówka zakłada lokalizację następującego tekstu: Najpierw zapoznaj się z poniższymi wskazówkami, aby przygotować się do wyświetlania zlokalizowanego tekstu.
Umieszczanie przycisków do zmiany ustawień regionalnych
Jeśli uruchomisz go w Unity Editor, możesz zmienić ustawienia regionalne w prawym górnym rogu ekranu, ale po zbudowaniu gry nie ma tej funkcji i musisz ją przygotować samodzielnie. Tym razem umieszczę przycisk do przełączania się między trzema językami "japoński (ja)", "angielski (en)" i "hiszpański (es)" i kliknij, aby je przełączyć.
Tworzenie skryptów dla przycisków
Upewnij się, że metoda docelowa jest wywoływana po kliknięciu przycisku. Jest to procedura ogólnego przeznaczenia, więc pominę szczegóły. Zapoznaj się z poniższymi wskazówkami, aby uzyskać szczegółowe instrukcje.
ButtonEvent
Utwórz skrypt o nazwie .
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()
{
}
}
Przypisz każdą metodę do kliknięcia przycisku.
Obsługa zmian ustawień regionalnych
Zmodyfikuj kod w następujący sposób:
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 zmiana jest prosta LocalizationSettings.SelectedLocale
i można ją przełączyć, po prostu ustawiając cel Locale
we właściwości.
Locale
Locale.CreateLocale
można utworzyć, ustawiając nazwę ustawień regionalnych w metodzie.
Ponieważ jednak proces zmiany ustawień regionalnych jest asynchroniczny, następny proces, który zostanie ustawiony, nie oznacza,LocalizationSettings.SelectedLocale
że ustawienia regionalne zostały już całkowicie przełączone.
Należy zachować ostrożność podczas wykonywania operacji zależnych od ustawień regionalnych.
Uruchom i zweryfikuj
To wszystko, więc uruchom go i sprawdź ruch. W prawym górnym rogu ekranu gry widać, że różne zasoby przełączają się dynamicznie w taki sam sposób, jak po zmianie ustawień regionalnych.