Skip to main content

Переводы сценариев

Строки в сценарии можно переводить на другие языки.

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

Подготовка сценария

Первое, что нужно сделать — это подготовить сценарий для перевода.

Следующие команды сценария поддерживают переводы:

Для каждой такой команды, текст которой нужно перевести, необходимо придумать уникальный идентификатор. Он прописывается в самом начале команды через двоеточие:

# пример сценария с локализируемыми командами
text1: "Эти падающие лепестки сакуры..."

menu 
{
    text2: "Опция 1"
    {
      "..."
    }

    text3: "Опция 2"
    {
      "..."
    }
}

Здесь text1, text2 и text3 — идентификаторы строк для переводов. Они необязательно должны называться именно так, можно написать любое название (однако оно подчиняется общим правилам составления имён — только латинские буквы, цифры и нижнее подчёркивание), но оно обязательно должно начинаться с буквы.

Файл перевода

Переводы для сценариев хранятся в .csv-файлах. 

Рассмотрим перевод первого дня игрового сценария:

image.png

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

Чтобы прописать в строке кавычку (т.е., чтобы она отображалась непосредственно в игре), нужно перед ней поставить символ \ — обратный слэш:

image.png

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

После создания файла перевода, вы можете прописать его в resources.yaml.

Разделитель

Можно использовать любой разделитель, поддерживаемый .csv-форматом. Однако мы рекомендуем использовать символ ;.

Примеры

Вы можете посмотреть, как устроены игровые сценарии и их переводы на этой странице.