2025-05-01 01:48:08 -07:00

45 lines
1.2 KiB
C#

#if PACKAGE_UGUI
#region example-code
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Localization.Settings;
using UnityEngine.UI;
public class LocaleDropdown : MonoBehaviour
{
public Dropdown dropdown;
IEnumerator Start()
{
// Wait for the localization system to initialize
yield return LocalizationSettings.InitializationOperation;
// Generate list of available Locales
var options = new List<Dropdown.OptionData>();
int selected = 0;
for (int i = 0; i < LocalizationSettings.AvailableLocales.Locales.Count; ++i)
{
var locale = LocalizationSettings.AvailableLocales.Locales[i];
if (LocalizationSettings.SelectedLocale == locale)
selected = i;
options.Add(new Dropdown.OptionData(locale.name));
}
dropdown.options = options;
dropdown.value = selected;
dropdown.onValueChanged.AddListener(LocaleSelected);
}
static void LocaleSelected(int index)
{
LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[index];
}
}
#endregion
#endif