Sie können das Gebietsschema jederzeit ändern
Verifizierungsumgebung
- Fenster
-
- Windows 11
- Unity-Editor
-
- 2021.3.12f1
- Eingabesystem (Unity Technologies)
-
- 1.4.3
- Lokalisierung (Unity Technologies)
-
- 1.3.2
Voraussetzungen für diesen Tipp
Die folgenden Einstellungen wurden im Vorfeld als Prämisse für die Beschreibung dieses Tipps vorgenommen.
Erforderliche Kenntnisse und Vorbereitung
Bei diesem Tipp wird davon ausgegangen, dass der folgende Text lokalisiert wird: Beachten Sie zunächst die folgenden Tipps, um die Anzeige von lokalisiertem Text vorzubereiten.
Platzieren von Schaltflächen zum Ändern des Gebietsschemas
Wenn Sie es im Unity-Editor ausführen, können Sie das Gebietsschema in der oberen rechten Ecke des Bildschirms ändern, aber nachdem Sie das Spiel erstellt haben, hat es diese Funktion nicht und Sie müssen es selbst vorbereiten. Dieses Mal werde ich eine Schaltfläche platzieren, um zwischen den drei Sprachen "Japanisch (ja)", "Englisch (en)" und "Spanisch (es)" zu wechseln, und klicken, um sie zu wechseln.
Skripterstellung für Schaltflächen
Stellen Sie sicher, dass die Zielmethode aufgerufen wird, wenn Sie auf die Schaltfläche klicken. Dies ist ein Allzweckverfahren, daher werde ich die Details weglassen. In den folgenden Tipps finden Sie detaillierte Anweisungen.
ButtonEvent
Erstellen Sie ein Skript mit dem Namen .
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()
{
}
}
Weisen Sie jede Methode einem Schaltflächenklick zu.
Behandeln von Gebietsschemaänderungen
Ändern Sie den Code wie folgt:
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");
}
}
Die Änderung selbst ist einfach LocalizationSettings.SelectedLocale
und kann durch einfaches Festlegen des Ziels Locale
in der Eigenschaft geändert werden.
Locale
Locale.CreateLocale
kann erstellt werden, indem der Name des Gebietsschemas in der Methode festgelegt wird.
Da der Gebietsschemaänderungsprozess jedoch asynchron ist, bedeutet der nächste Prozess, der festgelegt wird, nicht,LocalizationSettings.SelectedLocale
dass das Gebietsschema bereits vollständig gewechselt wurde.
Seien Sie vorsichtig, wenn Sie gebietsschemaabhängige Vorgänge ausführen.
Ausführen und Überprüfen
Das ist alles, was dazu gehört, also führen Sie es bitte aus und überprüfen Sie die Bewegung. In der oberen rechten Ecke des Spielbildschirms kannst du sehen, dass die verschiedenen Ressourcen dynamisch wechseln, genauso wie wenn du das Gebietsschema änderst.