Реализовать простую систему локализации текстов приложения на N языков
Система состоит из следующих сущностей
- Объект текста (ScriptableObject)
- Компонент (MonoBehaviour)
- Менеджер (ScriptableObject)
Объект текста
- Хранение текстов локализации (коллекция язык - текст)
Компонент
- Хранение ссылки на объект текста
- Обновление текста компонента (UnityEngine.UI.Text/TMPro.TextMeshProUGUI)
- Предпросмотр перевода1
Функции менеджера
- Хранение объектов текстов
- Переключение и хранение выбранного языка
- Вызывает событие о смене языка
- Выдача текстов текущего языка по ключу
Необходимо реализовать в предыдущем проекте и применить ко всем текстам. Статические текста используют компонент, динамические используют менеджер (по ключу). При первом запуске приложения предложить пользователю выбрать язык (по умолчанию английский). Добавить кнопку смены языка в настройки. Достаточно 2х языков: русский и английский.
-
Дополнительный функционал инспектора, кнопка и попап выбора языка (по нажатию на кнопку устанавливается текст на выбранном языке для текущего текста).
↩