Локализация
Модуль содержит систему локализации через ключи. Каждый ключ указывает на строку, которая может быть разной для каждого из языков. Языки игры подгружаются из папки Resources/Lang в виде txt файлов, где первая строка - заголовок, а остальные - “ключ=значение”. В заголовке указываются список параметров, параметры разделяются точкой с запятой. Файлы ищутся рекурсивно по всем вложенным папкам, и если будут 2 файла с одинаковым названием языка, то они соединятся вместе.
Последовательность параметров следующая:
Название языка написанное на этом языке
Языковой код на английском
Номер языка в системе
Индекс используемого шрифта
Использовать локализацию по ключу можно несколькими способами:
У строки-ключа можно вызвать метод Localize, который переведет ключ на текущий язык
Если в строке много ключей, то можно делать такую конструкцию: “[key1] some text [key2] some text [key3]”. После вызова Localize все ключи, заключенные в квадратные строчки будут переведены
Если будете задавать текст компоненту TMP, то можно использовать метод SetLocalizedText, который установит нужный шрифт и вызовет Localize у текста
Если на сцене есть статичный текст с ключами, то на него можно накинуть компонент LocalizeTex, который автоматически при смене языка будет переводить ключи и устанавливать нужный шрифт
Есть еще и LocalizeFontOnly, который меняет только шрифт при обновлении языка. Используем для текстов без ключей (которые ток с цифрами и знаками)
В LanguageManager есть список из доступных языков и текущий язык в качестве ObservableValue. Через метод SetLanguage можно переключить текущий язык игры.
Last updated