Izveidoto lokalizāciju saraksta iegūšana
Verifikācijas vide
- Windows
-
- Operētājsistēmā Windows 11
- Vienotības redaktors
-
- 2021.3.12f1
- Ievades sistēma (Unity Technologies)
-
- 1.4.4
- Lokalizācija (Unity Technologies)
-
- 1.3.2
Priekšnoteikumi šim padomam
Tālāk norādītie iestatījumi ir veikti iepriekš kā priekšnoteikums šī padoma aprakstam.
Mūsu padomu mērķi
Nolaižamajā lietotāja saskarnē parāda atbilstošo lokalizāciju sarakstu un pārslēdz parādāmo tekstu atbilstoši lietotāja atlasītajai lokalizācijai.
Priekšzināšanas un sagatavošana
Šis padoms pieņem, ka tiek lokalizēts šāds teksts: Vispirms, lūdzu, skatiet tālāk sniegtos padomus, lai sagatavotos lokalizēta teksta parādīšanai.
Lokalizācijas maiņas nolaižamais novietojums
Nodrošina nolaižamo sarakstu, lai parādītu lokalizāciju sarakstu. Jums tikai jāspēj parādīt un atlasīt, tāpēc pārliecinieties, vai lietotāja saskarnes parametri ir iestatīti pareizi.
Iegūt lokalizāciju sarakstu
Varat iegūt lokalizāciju LocalizationSettings.AvailableLocales.Locales sarakstu, kas izveidots vietnē .
Ja to izmantojat un ainas sākumā iestatāt nolaižamo izvēlni, viss ir kārtībā.
Tomēr, sākot Localization spēli, inicializēšana, iespējams, nav pabeigta, tāpēc jums, iespējams, būs jāgaida, līdz tā tiks pabeigta.
Vispirms izveidojiet skriptu. DropDownEvent Atstājiet vārdu kā .
Skripts izskatās šādi:
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 Metode veic apstrādi ainas sākumā, bet šajā brīdī Localization , inicializācija, iespējams, nav pabeigta.
await LocalizationSettings.InitializationOperation.Task Pagaidiet, līdz inicializācija ir pabeigta.
await , tāpēc Start , lūdzu, async pievienojiet to metodei.
LocalizationSettings.AvailableLocales.Locales Pēc tam ir jūsu izveidoto lokalizāciju saraksts, tāpēc foreach apstrādājiet tik daudz lokalizāciju, cik vēlaties.
Dropdown.OptionData Iestatiet Dropdown lokalizācijas nosaukumu un pievienojiet to .
Lai nolaižamajā izvēlnē atlasītu Dropdown.value pašreizējo lokalizāciju, īpašumā meklējiet mērķa lokalizāciju un iestatiet indeksu.
Šīs ir saraksta izveides beigas, bet es vēlos iekļaut arī procesu, kas maina lokalizāciju, kad tiek atlasīts nolaižamais vienums.
onValueChanged Pievieno lokalizācijas pārslēgšanos uz notikumu. Tas ir tāds pats kā iepriekšējais padoms.
Pievienojiet izveidoto skriptu nolaižamajai izvēlnei.
Palaišana un pārbaude
Mēģiniet palaist spēli, lai to pārbaudītu.
Ir laiks, kad lokalizācijas saraksts netiek iestatīts uzreiz pēc spēles sākuma, Localization jo tas nav inicializēts.
Pēc neilga laika jums vajadzētu būt iespējai redzēt nolaižamajā izvēlnē reģistrēto lokalizāciju sarakstu. Ja mēģināt pārslēgt vienumus, jums vajadzētu būt iespējai redzēt, ka teksta saturs mainās.