Erhalten Sie jederzeit lokalisierten Text und Assets
Verifizierungsumgebung
- Fenster
-
- Windows 11
- Unity-Editor
-
- 2021.3.12f1
- Eingabesystem (Unity Technologies)
-
- 1.4.4
- 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.
Ziele unserer Tipps
Wenn Sie auf die Schaltfläche klicken, wird der Zieltext aus der Lokalisierungstabelle auf dem Ladebildschirm angezeigt.
Erforderliche Kenntnisse und Vorbereitung
Bei diesem Tipp wird davon ausgegangen, dass der folgende Text lokalisiert wird: Da wir jedoch nicht alle implementieren werden, werden wir das Verfahren von 1 hier posten, aber wir werden den doppelten Inhalt vereinfachen.
Installieren des Lokalisierungspakets
Die Vorgehensweise ist hier die gleiche.
Erstellen einer Lokalisierung
Dies ist das gleiche wie zuvor, daher werde ich nur das Bild posten.
Hier erstellen wir einen Ordner "Lokalisierung" im Ordner "Szenen" und legen ihn darin an.
Erstellen eines Gebietsschemas
Dies ist auch das gleiche wie zuvor, daher lasse ich die detaillierte Vorgehensweise weg. Die hinzuzufügenden Gebietsschemata sind "Japanisch (ja)", "Englisch (en)" und "Spanisch (es)".
Ich habe den bereits erwähnten Ordner "Lokalisierung" angegeben.
Belassen Sie das Standardgebietsschema auf "Japanisch (ja)".
Erstellen von Texten
Belassen Sie den Tabellennamen TextTable
als .
Localization
Erstellen Sie einen Ordner innerhalb TextTable
des Ordners und geben Sie ihn an.
Erstellen Sie einen Text. Dieses Mal besteht der Zweck darin, es programmgesteuert zu erhalten, sodass Sie vorerst eines registrieren können.
Platzierung der Benutzeroberfläche
Ich möchte den Text und die Schaltfläche platzieren, und wenn ich auf die Schaltfläche klicke, möchte ich den Text des aktuellen Gebietsschemas anzeigen.
Erstellen und Anhängen von Skripten
Erstellen Sie ein Skript. ButtonEvent
Behalten Sie den Namen als .
using UnityEngine;
using UnityEngine.Localization.Settings;
using UnityEngine.UI;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private Text Text;
public void OnClick()
{
// Localization から指定したテーブル名とキーからエントリーを取得します
var entry = LocalizationSettings.StringDatabase.GetTableEntry("TextTable", "Hello").Entry;
Text.text = entry.Value;
}
}
Geben Sie ein, was passiert, wenn auf die Schaltfläche geklickt wird.
Alles, was wir hier tun, ist eine LocalizationSettings.StringDatabase.GetTableEntry
Sache: Sie können den Eintrag der Ergebnismenge erhalten, indem Sie den Tabellennamen und den Schlüssel angeben, die in der Lokalisierung in der Methode erstellt wurden.
Dieses Mal machen wir es mit Text, aber Assets können auch LocalizationSettings.AssetDatabase
mit erhalten werden.
Sobald Sie den Eintrag haben, müssen Sie nur noch den Wert erhalten, den Sie haben. Der Inhalt ist der Text des ausgewählten Gebietsschemas. Dieses Mal wird es durch synchrone Verarbeitung erhalten, aber Sie können auch asynchrone Methoden verwenden.
Fügen Sie das Skript an das EventSystem an. Legen Sie auch den Text fest.
Weisen Sie der Schaltfläche eine Klickbehandlung zu.
Ausführen und Überprüfen
Versuchen Sie, es auszuführen, nachdem Sie die Einrichtung abgeschlossen haben. Da in der Benutzeroberfläche keine Lokalisierungsereignisse festgelegt sind, ändert sich der Text beim Ausführen nicht.
Klicken Sie auf die Schaltfläche, um zum japanischen Text zu wechseln. Dies liegt daran, dass das aktuelle Gebietsschema des Japanischen ausgewählt ist.
Versuchen Sie, das Gebietsschema in der oberen rechten Ecke des Bildschirms zu ändern, und klicken Sie dann auf die Schaltfläche. Er sollte sich in den Text für das Zielgebietsschema ändern.