Gaukite lokalizuotą tekstą ir išteklius bet kuriuo metu

Puslapis atnaujintas :
Puslapio sukūrimo data :

Tikrinimo aplinka

Windows
  • Langai 11
"Unity" redaktorius
  • 2021.3.12f1
Įvesties sistema ("Unity Technologies")
  • 1.4.4
Lokalizavimas ("Unity Technologies")
  • 1.3.2

Būtinos šio patarimo sąlygos

Šie nustatymai buvo atlikti iš anksto kaip šio patarimo aprašymo prielaida.

Mūsų patarimų tikslai

Spustelėjus mygtuką, įkėlimo ekrane rodomas tikslinis tekstas iš lokalizavimo lentelės.

Būtinos žinios ir pasirengimas

Šiame patarime daroma prielaida, kad lokalizuojamas šis tekstas: Tačiau, kadangi visų jų neįgyvendinsime, procedūrą paskelbsime nuo 1 čia, tačiau supaprastinsime pasikartojantį turinį.

Lokalizavimo paketo diegimas

Čia procedūra yra tokia pati.

Lokalizavimo kūrimas

Tai tas pats, kas anksčiau, todėl paskelbsiu tik vaizdą.

Čia aplanke "Scenos" sukuriame aplanką "Lokalizacija" ir sukuriame jame.

Lokalės kūrimas

Tai taip pat yra tas pats, kaip ir anksčiau, todėl praleisiu išsamią procedūrą. Vietos, kurias reikia pridėti, yra "japonų (ja)", "anglų (en)" ir "ispanų (es)".

Nurodžiau anksčiau minėtą aplanką "Lokalizavimas".

Palikite numatytąją lokalę kaip "Japonų (ja)".

Tekstų kūrimas

Palikite lentelės pavadinimą TextTable kaip .

Localization Sukurkite aplanką TextTable aplanke ir nurodykite jį.

Sukurkite tekstą. Šį kartą tikslas yra jį gauti programiškai, kad kol kas galėtumėte jį užregistruoti.

Vartotojo sąsajos išdėstymas

Norėčiau įdėti tekstą ir mygtuką, o kai spusteliu mygtuką, noriu parodyti dabartinės lokalės tekstą.

Scenarijų kūrimas ir pridėjimas

Sukurkite scenarijų. ButtonEvent Palikite pavadinimą kaip .

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

Įveskite, kas nutinka spustelėjus mygtuką. Viskas, ką mes čia darome, yra vienas LocalizationSettings.StringDatabase.GetTableEntry dalykas: galite gauti rasto rinkinio įrašą, nurodydami lentelės pavadinimą ir raktą, sukurtą lokalizacijoje metode. Šį kartą tai darome su tekstu, tačiau turtą taip pat LocalizationSettings.AssetDatabase galima gauti naudojant .

Kai turėsite įrašą, tereikia gauti turimą vertę. Turinys yra pasirinktos lokalės tekstas. Šį kartą jis gaunamas sinchroniniu būdu, tačiau taip pat galite naudoti asinchroninius metodus.

Pridėkite scenarijų prie "EventSystem". Nustatykite ir tekstą.

Mygtukui priskirkite paspaudimų tvarkymą.

Paleiskite ir patikrinkite

Pabandykite jį paleisti, kai baigsite nustatyti. Kadangi vartotojo sąsajoje nenustatyta jokių lokalizavimo įvykių, tekstas nesikeičia, kai vykdomas.

Spustelėkite mygtuką, kad perjungtumėte į tekstą japonų kalba. Taip yra todėl, kad pasirinkta dabartinė japonų lokalė.

Pabandykite pakeisti lokalę viršutiniame dešiniajame ekrano kampe ir spustelėkite mygtuką. Jis turėtų pasikeisti į tikslinės lokalės tekstą.