Заметки по GodotEngine
May 18, 2021

Отсечение переводов

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

Создаём сцену, накидываем небольшую вёрстку с Label и OptionButton, плюс TextureRect с иконкой годо и пивот поинтом в центре картинки, через Layout центруем картинку.

Так же создаём GDScript "boot.gd", и кидаем его в автозагрузку, если вкратце, скрипт загружает сначала locales.json с гита, в этом файле хранится список локалей в виде массива, далее скрипт проходя по массиву загружает каждую локаль с гита, конвертирует в словарь, создаёт объект перевода, заполняет его словами и добавляет сервер переводов. Ссылка на репозиторий будет в конце заметки.

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

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

В этом проекте использовался новый элемент "Tween", более подробно будет в следующих статьях описана работа с ними.

Исходный код:

https://github.com/holyslav/RemoteLocalizeGodot