Змінення мови в будь-який час
Середовище перевірки
- Вікна
-
- вікна 11
- Редактор єдності
-
- 2021.3.12f1
- Система введення (Unity Technologies)
-
- 1.4.3
- Локалізація (Unity Technologies)
-
- 1.3.2
Передумови для цієї поради
Наступні настройки були зроблені заздалегідь як передумова для опису цієї поради.
Необхідні знання та підготовка
Ця порада передбачає локалізацію наступного тексту: По-перше, зверніться до наступних порад, щоб підготуватися до відображення локалізованого тексту.
Розміщення кнопок для зміни локалізації
Якщо запустити її в редакторі Unity, то можна змінити локалізацію в правому верхньому кутку екрану, але після побудови гри вона не має такої функції і її потрібно підготувати самостійно. Цього разу я розміщу кнопку перемикання між трьома мовами "японська (ja)", "англійська (en)" та "іспанська (es)" і натисніть, щоб перемкнути їх.
Сценарії для кнопок
Переконайтеся, що цільовий метод викликається після натискання кнопки. Це процедура загального призначення, тому я опустю деталі. Дивіться наступні поради для отримання докладних інструкцій.
ButtonEvent
Створіть скрипт з ім'ям .
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
}
}
Призначте кожному методу натискання кнопки.
Обробка локалізаційних змін
Змініть код наступним чином:
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("ja");
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("en");
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("es");
}
}
Сама зміна проста LocalizationSettings.SelectedLocale
і її можна переключити, просто встановивши ціль Locale
у властивості.
Locale
Locale.CreateLocale
можна створити, задавши ім'я локалізації в методі.
Однак, оскільки процес зміни локалі є асинхронним, наступний процес, який встановлюється, не означає,LocalizationSettings.SelectedLocale
що локалізацію вже повністю змінено.
Будьте обережні, якщо виконуєте операції, що залежать від локалізації.
Запуск і перевірка
Це все, що є для цього, тому, будь ласка, запустіть його та перевірте рух. У правому верхньому кутку екрана гри ви можете побачити, що різні ресурси перемикаються динамічно так само, як і при зміні локалі.