Pridobivanje seznama območnih nastavitev, ki ste jih ustvarili
Okolje za preverjanje
- Windows
-
- Windows 11
- Urejevalnik Unity
-
- 2021.3.12F1
- Vhodni sistem (Unity Technologies)
-
- 1.4.4
- Lokalizacija (tehnologije Unity)
-
- 1.3.2
Predpogoji za ta nasvet
Naslednje nastavitve so bile vnaprej narejene kot premisa za opis tega nasveta.
Cilji naših nasvetov
Prikaže seznam ustreznih območnih nastavitev v spustnem uporabniškem vmesniku in preklopi prikazano besedilo, da se ujema z območnimi nastavitvami, ki jih je izbral uporabnik.
Predpogojno znanje in priprava
Ta namig predvideva lokalizacijo tega besedila: Najprej si oglejte naslednje nasvete za pripravo na prikaz lokaliziranega besedila.
Spustna postavitev spremembe območnih nastavitev
Omogoča spustni meni za prikaz seznama območnih nastavitev. Znati morate le prikazati in izbrati, zato se prepričajte, da so parametri uporabniškega vmesnika ustrezno nastavljeni.
Pridobivanje seznama območnih nastavitev
Seznam območnih nastavitev LocalizationSettings.AvailableLocales.Locales
, ustvarjenih v .
Če to uporabite in ga nastavite na spustni meni na začetku prizora, ste v redu.
Vendar se inicializacija morda ni dokončala, ko Localization
začnete igro, zato boste morda morali počakati, da se konča.
Najprej ustvarite skript. DropDownEvent
Pustite ime kot .
Scenarij izgleda takole:
using UnityEngine;
using UnityEngine.Localization.Settings;
using UnityEngine.UI;
public class DropDownEvent : MonoBehaviour
{
// 最初のフレームアップデートの前に開始が呼び出されます
async void Start()
{
// Localization の初期化が完了するまで待機します
await LocalizationSettings.InitializationOperation.Task;
// 処理対象の Dropdown コンポーネントを取得します
var dropdownLocale = GetComponent<Dropdown>();
dropdownLocale.options.Clear();
// LocalizationSettings.AvailableLocales.Locales からロケール一覧を取得してオプションを追加します
foreach (var locale in LocalizationSettings.AvailableLocales.Locales)
{
dropdownLocale.options.Add(new Dropdown.OptionData(locale.name));
}
// 初期選択されているロケールのインデックスを取得して選択します
dropdownLocale.value = LocalizationSettings.AvailableLocales.Locales.IndexOf(LocalizationSettings.SelectedLocale);
// ドロップダウンのアイテムが選択されたときにロケールを変更します
dropdownLocale.onValueChanged.AddListener((index) =>
{
LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[index];
});
}
}
Start
Metoda izvaja obdelavo na začetku prizora, vendar na tej točki Localization
inicializacija morda ni končana.
await LocalizationSettings.InitializationOperation.Task
Počakajte, da se inicializacija konča.
await
, zato Start
ga dodajte metodi async
.
LocalizationSettings.AvailableLocales.Locales
Nato vsebuje seznam področnih nastavitev, ki ste jih ustvarili, zato foreach
obdelajte poljubno število območnih nastavitev.
Dropdown.OptionData
Nastavite Dropdown
ime območnih nastavitev na in ga dodajte v .
Če želite v spustnem meniju izbrati Dropdown.value
trenutne področne nastavitve, v lastnosti poiščite ciljne področne nastavitve in nastavite indeks.
To je konec ustvarjanja seznama, vendar želim vključiti tudi postopek, ki spremeni območne nastavitve, ko je izbran spustni element.
onValueChanged
Doda območne nastavitve za preklapljanje med dogodkom. To je enako kot prejšnji nasvet.
Spustnemu meniju priložite ustvarjeni skript.
Zaženi in preveri
Poskusite zagnati igro, da jo preverite.
Obstaja čas, ko seznam območnih nastavitev ni nastavljen takoj po začetku igre, Localization
ker ni inicializiran.
Po določenem času bi si morali ogledati seznam območnih nastavitev, registriranih v spustnem meniju. Če poskusite preklapljati med elementi, boste videli, da se vsebina besedila spremeni.