Ändra språk när som helst
Verifiering miljö
- Windows
-
- Fönster 11
- Unity-redaktör
-
- 2021.3.12F1
- Inmatningssystem (Unity-teknik)
-
- 1.4.3
- Lokalisering (Unity-tekniker)
-
- 1.3.2
Förutsättningar för det här tipset
Följande inställningar har gjorts i förväg som en förutsättning för beskrivningen av detta tips.
Förkunskapskrav och förberedelse
Det här tipset förutsätter lokalisering av följande text: Läs först följande tips för att förbereda visning av lokaliserad text.
Placera knappar för att ändra språk
Om du kör den i Unity-redigeraren kan du ändra språket längst upp till höger på skärmen, men efter att ha byggt spelet har det inte den funktionen och du måste förbereda det själv. Den här gången kommer jag att placera en knapp för att växla mellan de tre språken "japanska (ja)", "engelska (en)" och "spanska (es)" och klicka för att växla dem.
Skript för knappar
Kontrollera att målmetoden anropas när du klickar på knappen. Detta är ett allmänt förfarande, så jag kommer att utelämna detaljerna. Se följande tips för detaljerade instruktioner.
ButtonEvent
Skapa ett skript med namnet .
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()
{
}
}
Tilldela varje metod till ett knappklick.
Hantera språkändringar
Ändra koden enligt följande:
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");
}
}
Ändringen i sig är enkel LocalizationSettings.SelectedLocale
och kan ändras genom att helt enkelt ställa in målet Locale
i fastigheten.
Locale
Locale.CreateLocale
kan skapas genom att ange namnet på språkinställningen i metoden.
Men eftersom språkändringsprocessen är asynkronLocalizationSettings.SelectedLocale
betyder nästa process som anges inte att språkinställningen redan har växlats helt.
Var försiktig om du utför språkberoende åtgärder.
Kör och verifiera
Det här är allt som finns i det, så kör det och kontrollera rörelsen. I det övre högra hörnet av spelskärmen kan du se att de olika resurserna växlar dynamiskt på samma sätt som när du ändrar språk.