I18n
Удобный пакет для локализации игр на Unity.
Статус
Разработал
Список языков
Окно редактирования языка
Компонент текста с переводом

Во время разработки «Крестиков Ноликов 3D» потребовалось добавить поддержку нескольких языков. Чтобы для других игр не писать каждый раз одно и тоже, решил оформить код в виде своего первого Unity пакета.

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

Область
информатика
Действие
программирование
Форма
плагин
unity
перевод
1
Начало
20 мая 2019
Конец
30 ноября 2019
1
Работа над пакетом
20.05.2019 – 30.11.2019
Хронокарта
янв
фев
мар
апр
май
июн
июл
авг
сен
окт
ноя
дек
2019
1
Принцип работы

Пакет дает возможность создавать «языковые файлы», по одному на каждый реальный язык. Эти «языковые файлы» являются контейнерами, которые хранят фразы. Фразы можно добавлять/менять и удалять с помощью специального окна.

Любая фраза состоит из идентификатора (ID) и текста. В нужном месте в игре можно по идентификатору получить текст фразы на выбранном в данный момент языке.

Есть также отдельный компонент «Language Text», который работает вместе с компонентом «Text». Он берет текст из компонента «Text» и заменяет его на переведенный. Реализована возможность динамического обновления текста при смене языка.

Технологии

Весь интерфейс пакета написан с использованием исключительно технологии UI Elements. На момент создания пакета она только-только была добавлена в новую версию Unity 2019.1. С ее помощью можно создавать интерфейсы с помощью .xml макетов и таблиц стилей, прямо как сайты.

Иконки для языковых ассетов и компонента «Language Text» создал в стилистике уже использующихся в Unity иконок. Так создается впечатление, что мой пакет является частью редактора, а не чем-то чужеродным.

Цикл статей

Процесс разработки пакета расписал в 10 обучающих статьях для проекта OUnity. Писал максимально понятным языком, чтобы любой более-менее разбирающийся в Unity человек смог без труда повторить эти шаги или использовать их для создания своих пакетов.