Få lokaliseret tekst og aktiver når som helst

Side opdateret :
Dato for oprettelse af side :

Miljø til bekræftelse

Windows
  • Windows 11
Enhedslistens redaktør
  • 2021.3.12f1
Inputsystem (Unity-teknologier)
  • 1.4.4
Lokalisering (Unity Technologies)
  • 1.3.2

Forudsætninger for dette tip

Følgende indstillinger er foretaget på forhånd som en forudsætning for beskrivelsen af dette tip.

Mål for vores tips

Når du klikker på knappen, vises målteksten fra lokaliseringstabellen på indlæsningsskærmen.

Forudsætning viden og forberedelse

Dette tip forudsætter lokalisering af følgende tekst: Men da vi ikke implementerer dem alle, sender vi proceduren fra 1 her, men vi forenkler duplikatindholdet.

Installation af lokaliseringspakken

Proceduren er den samme her.

Oprettelse af en lokalisering

Dette er det samme som før, så jeg vil kun sende billedet.

Her opretter vi en "Lokalisering" -mappe i mappen "Scener" og opretter den i den.

Oprettelse af en landestandard

Det er også det samme som før, så jeg vil udelade den detaljerede procedure. De landestandarder, der skal tilføjes, er "japansk (ja)", "engelsk (en)" og "spansk (es)".

Jeg specificerede mappen "Lokalisering" nævnt tidligere.

Lad standardlandestandarden være "japansk (ja)".

Oprettelse af tekster

Lad tabelnavnet TextTable være .

Localization Opret en mappe inde i TextTable mappen, og angiv den.

Opret en tekst. Denne gang er formålet at få det programmatisk, så du kan registrere en indtil videre.

Placering af brugergrænseflade

Jeg vil gerne placere teksten og knappen, og når jeg klikker på knappen, vil jeg vise teksten for den aktuelle landestandard.

Oprettelse og vedhæftning af scripts

Opret et script. ButtonEvent Lad navnet være .

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

Indtast, hvad der sker, når der klikkes på knappen. Alt, hvad vi gør her, er én LocalizationSettings.StringDatabase.GetTableEntry ting: Du kan få indtastningen af det fundne sæt ved at angive tabelnavnet og nøglen, der er oprettet i lokalisering i metoden. Denne gang gør vi det med tekst, men aktiver kan også LocalizationSettings.AssetDatabase fås ved hjælp af .

Når du har posten, skal du blot få den værdi, du har. Indholdet er teksten i den valgte landestandard. Denne gang opnås det ved synkron behandling, men du kan også bruge asynkrone metoder.

Vedhæft scriptet til EventSystem. Indstil også teksten.

Tildel klikhåndtering til knappen.

Kør og bekræft

Prøv at køre det, når du er færdig med at konfigurere det. Da der ikke er angivet nogen lokaliseringshændelser i brugergrænsefladen, ændres teksten ikke, når den udføres.

Klik på knappen for at skifte til den japanske tekst. Dette skyldes, at japanernes aktuelle landestandard er valgt.

Prøv at ændre landestandarden i øverste højre hjørne af skærmen, og klik derefter på knappen. Det skal ændres til teksten for mållandestandarden.