Hae luettelo luomistasi kieliasetuksista
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
Näyttää luettelon vastaavista kieliasetuksista avattavassa käyttöliittymässä ja vaihtaa näyttötekstin vastaamaan käyttäjän valitsemaa aluekohtaista asetusta.
Edeltävät tiedot ja valmistelu
Tämä vinkki edellyttää seuraavan tekstin lokalisointia: Tutustu ensin seuraaviin vinkkeihin, joiden avulla voit valmistautua näyttämään lokalisoidun tekstin.
Avattavan aluekohtaisten asetusten muutoksen sijoittelu
Näyttää avattavan valikon, jossa näkyy aluekohtainen luettelo. Sinun tarvitsee vain pystyä näyttämään ja valitsemaan, joten varmista, että käyttöliittymän parametrit on asetettu oikein.
Hae kielialueiden luettelo
Saat luettelon aluekohtaisista asetuksista LocalizationSettings.AvailableLocales.Locales
, jotka on luotu .
Jos käytät tätä ja asetat sen kohtauksen alussa olevaan avattavaan valikkoon, olet kunnossa.
Alustus ei kuitenkaan välttämättä ole valmis, kun Localization
käynnistät pelin, joten sinun on ehkä odotettava sen valmistumista.
Luo ensin komentosarja. DropDownEvent
Jätä nimeksi .
Skripti näyttää tältä:
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
Menetelmä suorittaa käsittelyn kohtauksen alussa, mutta tässä vaiheessa Localization
, alustusta ei ehkä ole suoritettu loppuun.
await LocalizationSettings.InitializationOperation.Task
Odota, että alustus on valmis.
await
, joten Start
lisää se menetelmään async
.
LocalizationSettings.AvailableLocales.Locales
Seuraavaksi sisältää luettelon luomistasi kieliasetuksista, joten foreach
käsittele niin monta kieliasetusta kuin haluat.
Dropdown.OptionData
Määritä Dropdown
aluekohtaisten asetusten nimeksi ja lisää se .
Jos haluat valita Dropdown.value
nykyisen aluekohtaisen asetuksen avattavasta valikosta, etsi kohdealuekohtainen asetus omaisuudesta ja määritä indeksi.
Tämä on luettelon luomisen loppu, mutta haluan myös sisällyttää prosessin, joka muuttaa aluekohtaista asetusta, kun avattava kohde valitaan.
onValueChanged
Lisää tapahtumaan aluekohtaisen alueen vaihdon. Tämä on sama kuin edellinen vinkki.
Liitä luomasi komentosarja avattavaan valikkoon.
Suorita ja vahvista
Yritä tarkistaa peli suorittamalla se.
On aika, jolloin aluekohtaista luetteloa ei aseteta heti pelin alkamisen jälkeen, Localization
koska sitä ei alusteta.
Hetken kuluttua sinun pitäisi nähdä luettelo rekisteröidyistä aluekohtaisista asetuksista avattavassa valikossa. Jos yrität vaihtaa kohteita, sinun pitäisi nähdä, että tekstin sisältö muuttuu.