Gaukite lokalizuotą tekstą ir išteklius bet kuriuo metu
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ą.