Lokalisoidun tekstin ja resurssien käyttäminen milloin tahansa

Sivu päivitetty :
Sivun luontipäivämäärä :

Varmennusympäristö

Windows
  • Windows 11
Unity-editori
  • 2021.3.12F1
Syöttöjärjestelmä (Unity Technologies)
  • 1.4.4
Lokalisointi (Unity Technologies)
  • 1.3.2

Tämän vinkin edellytykset

Seuraavat asetukset on tehty etukäteen tämän vinkin kuvauksen lähtökohtana.

Vinkkiemme tavoitteet

Kun napsautat painiketta, lokalisointitaulukon kohdeteksti näkyy latausnäytössä.

Edeltävät tiedot ja valmistelu

Tämä vinkki edellyttää seuraavan tekstin lokalisointia: Koska emme kuitenkaan toteuta niitä kaikkia, lähetämme menettelyn 1: stä tänne, mutta yksinkertaistamme päällekkäistä sisältöä.

Lokalisointipaketin asentaminen

Menettely on sama täällä.

Lokalisoinnin luominen

Tämä on sama kuin ennen, joten lähetän vain kuvan.

Täällä luomme "Lokalisointi" -kansion "Scenes" -kansioon ja luomme sen siihen.

Aluekohtaisen alueen luominen

Tämä on myös sama kuin aiemmin, joten jätän pois yksityiskohtaisen menettelyn. Lisättävät kieliasetukset ovat "japani (ja)", "englanti (en)" ja "espanja (es)".

Määritin aiemmin mainitun "Localization" -kansion.

Jätä oletusaluekohtaiseksi asetukseksi "japani (ja)".

Tekstien luominen

Jätä taulukon nimeksi TextTable .

Localization Luo kansio kansion sisälle TextTable ja määritä se.

Luo teksti. Tällä kertaa tarkoituksena on saada se ohjelmallisesti, joten voit rekisteröidä sellaisen toistaiseksi.

Käyttöliittymän sijoittelu

Haluaisin sijoittaa tekstin ja painikkeen, ja kun napsautan painiketta, haluan näyttää nykyisen kielialueen tekstin.

Skriptien luominen ja liittäminen

Luo komentosarja. ButtonEvent Jätä nimeksi .

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

Syötä, mitä tapahtuu, kun painiketta napsautetaan. Tässä on vain yksi LocalizationSettings.StringDatabase.GetTableEntry asia: voit saada löydetyn joukon merkinnän määrittämällä menetelmän lokalisoinnissa luodun taulukon nimen ja avaimen. Tällä kertaa teemme sen tekstillä, mutta resurssit voidaan hankkia myös LocalizationSettings.AssetDatabase käyttämällä .

Kun sinulla on merkintä, sinun tarvitsee vain saada arvo, joka sinulla on. Sisältö on valitun kielialueen teksti. Tällä kertaa se saadaan synkronisella käsittelyllä, mutta voit käyttää myös asynkronisia menetelmiä.

Liitä skripti EventSystemiin. Aseta myös teksti.

Määritä painikkeelle napsautusten käsittely.

Suorita ja vahvista

Yritä suorittaa se, kun olet määrittänyt sen. Koska käyttöliittymässä ei ole määritetty lokalisointitapahtumia, teksti ei muutu, kun se suoritetaan.

Napsauta painiketta vaihtaaksesi japaninkieliseen tekstiin. Tämä johtuu siitä, että japanin kielen nykyinen kielialue on valittuna.

Kokeile vaihtaa näytön oikeassa yläkulmassa olevaa aluetta ja napsauta sitten painiketta. Sen pitäisi muuttua kohdealueen tekstiksi.