Få lokaliserad text och resurser när som helst

Sidan uppdaterad :
Datum för skapande av sida :

Verifiering miljö

Windows
  • Fönster 11
Unity-redaktör
  • 2021.3.12F1
Inmatningssystem (Unity-teknik)
  • 1.4.4
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.

Mål med våra tips

När du klickar på knappen visas måltexten från lokaliseringstabellen på laddningsskärmen.

Förkunskapskrav och förberedelse

Det här tipset förutsätter lokalisering av följande text: Men eftersom vi inte kommer att implementera dem alla kommer vi att publicera proceduren från 1 här, men vi kommer att förenkla duplicerat innehåll.

Installera lokaliseringspaketet

Förfarandet är detsamma här.

Skapa en lokalisering

Detta är samma som tidigare, så jag kommer bara att lägga upp bilden.

Här skapar vi en "Lokalisering" -mapp i mappen "Scener" och skapar den i den.

Skapa en språkinställning

Detta är också detsamma som tidigare, så jag kommer att utelämna det detaljerade förfarandet. De språk som ska läggas till är "japanska (ja)", "engelska (en)" och "spanska (es)".

Jag specificerade mappen "Lokalisering" som nämnts tidigare.

Lämna standardspråket som "japanska (ja)".

Skapa texter

Lämna tabellnamnet TextTable som .

Localization Skapa en mapp inuti TextTable mappen och ange den.

Skapa en text. Den här gången är syftet att få det programmatiskt, så att du kan registrera en för tillfället.

Placering av användargränssnitt

Jag vill placera texten och knappen, och när jag klickar på knappen vill jag visa texten för det aktuella språket.

Skapa och bifoga skript

Skapa ett skript. ButtonEvent Lämna namnet som .

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;
  }
}

Ange vad som ska hända när du klickar på knappen. Allt vi gör här är en sak: du kan få inmatningen av den hittade uppsättningen LocalizationSettings.StringDatabase.GetTableEntry genom att ange tabellnamnet och nyckeln som skapats i lokalisering i metoden. Den här gången gör vi det med text, men tillgångar kan också LocalizationSettings.AssetDatabase erhållas med hjälp av .

När du väl har posten är allt du behöver göra att få det värde du har. Innehållet är texten i det valda språket. Den här gången erhålls den genom synkron bearbetning, men du kan också använda asynkrona metoder.

Koppla skriptet till EventSystem. Ställ in texten också.

Tilldela klickhantering till knappen.

Kör och verifiera

Prova att köra den när du är klar med installationen. Eftersom inga lokaliseringshändelser anges i användargränssnittet ändras inte texten när den körs.

Klicka på knappen för att växla till den japanska texten. Detta beror på att det aktuella språket för japanerna är valt.

Prova att ändra språkinställningen längst upp till höger på skärmen och klicka sedan på knappen. Den bör ändras till texten för målspråket.