Как сделать локализацию игры в Unity

149
22 декабря 2019, 01:30

Хочу сделать локализацию игры на два языка,в нете нигде нет понятного гайда Суть такова,есть кнопка со спрайтом EN,значит в этот момент текст на английском А по нажатию спрайт должен заменяться на RU и менять текст на русский,а по нажатию опять,соответственно снова английский.Текста немного(4 слова),но я лютый тапок,поэтому прошу объяснить как это сделать

Answer 1

Ну, основная логика тут в чём - нажатие кнопки должно менять язык в каком-то конфиге.

Дальше логика обычно немного расходится, если в проекте много локализуемых ресурсов - звуки, текстуры и т.д. то обычно игра перезагружается, чтобы при загрузке подгрузить уже все по новому языку.

Если в игре разве что строки, то обычно срабатывает какое-то событие, на которое подписаны все локализуемые строки, которые в ответ на это запрашивают новый перевод. Либо другой вариант - все локализуемые строки на старте регистрируются в системе локализации и при смене языка им всем подставляется новый текст.

Если у вас вообще всего 4 слова, то можно даже с ключами локализации не заморачиваться, а сделать самый простой рабочий вариант - создайте скрипт, который будет иметь ссылку на текстовое поле и две строки с переводами на английский и русский.

Этот скрипт в старте будет подписываться на какое-нибудь событие, которое будет вызываться при нажатии на кнопку смены языка. Реакцией на срабатывание этого события - будет выбор строки другого языка.

Можно бесконечно усложнять, делать систему расширяемой и абстрактной, но какой смысл, если вам нужного всего 4 слова и 2 языка) А вообще в AssetStore достаточно много плагинов локализации, в том числе и бесплатных.

READ ALSO
Задача на наследование C#

Задача на наследование C#

Создать такую иерархию классов A, B и C, чтобы код ниже компилировался и выводил текст "ABC"

145
Word. Как получить Заголовки С#

Word. Как получить Заголовки С#

Использую MicrosoftOffice

139
Интерфейс с атрибутом

Интерфейс с атрибутом

Можно ли использовать атрибуты с интерфейсами, так что бы реализующий класс имел метод с таким же атрибутом ?

128
Как в mesh renderer установить текстуру

Как в mesh renderer установить текстуру

Необходимо в Компонент Mesh Renderer установить текстуру из папкиНо ничего не выходит

142