Разработать возможность локализации приложения на 2 языка – Русский и Английский
Локализация должна храниться в словаре в специальном типе скриптов ScriptableObjects - https://unity3d.com/ru/learn/tutorials/modules/beginner/live-training-archive/scriptable-objects
Если кратко, то это скрипт, который не сбрасывает свое состояние после выключения игры.
Создайте скрипт, дав ему нормальное название.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "Localization", menuName = "GameData/Localization", order = 1)]
public class LocalTest : ScriptableObject
{
}
Теперь создайте объект данного класса как указано на скриншотах ниже.
Необходимо разработать иерархию сериализующихся классов, при помощи которых можно будет описать нужные нам кострукции:
- Список языков
- Список ключей
- Язык со списком переведенных фраз
В итоге должен быть один список со всеми ключами. Во всех созданных языках должен использоваться один набор ключей.
В следующей статье описано как делать расширения для редактора. Реализовать возможность добавления ключей и языков через интерфейс меню - https://www.raywenderlich.com/130721/extend-unity3d-editor
Реализовать систему локализации, состоящей из трех частей:
- Скрипт, висящий на текстовом поле, в котором задается ключ и который подписан на событие смены языка
- Контроллер локализации, который содержит событие смены языка и который вызывает его в момент смены языка
- Хранилище ключей, созданное выше.