Переводы сценариев
Строки в сценарии можно переводить на другие языки.
По умолчанию, если у сценария нет перевода, для всех языков будет выводиться текст, прописанный в исходном сценарии.
Подготовка сценария
Первое, что нужно сделать — это подготовить сценарий для перевода.
Следующие команды сценария поддерживают переводы:
Для каждой такой команды, текст которой нужно перевести, необходимо придумать уникальный идентификатор. Он прописывается в самом начале команды через двоеточие:
# пример сценария с локализируемыми командами
text1: "Эти падающие лепестки сакуры..."
menu
{
text2: "Опция 1"
{
"..."
}
text3: "Опция 2"
{
"..."
}
}
Здесь text1
, text2
и text3
— идентификаторы строк для переводов. Они необязательно должны называться именно так, можно написать любое название (однако оно подчиняется общим правилам составления имён — только латинские буквы, цифры и нижнее подчёркивание), но оно обязательно должно начинаться с буквы.
Файл перевода
Переводы для сценариев хранятся в .csv-файлах.
Рассмотрим перевод первого дня игрового сценария:
Как можно увидеть из примера — в первом столбце прописываются идентификаторы, во втором — строки (включая кавычки), которые необходимо заменить в игре — со всеми тэгами.
Чтобы прописать в строке кавычку (т.е., чтобы она отображалась непосредственно в игре), нужно перед ней поставить символ \
— обратный слэш:
По сути, строки из файла перевода просто заменяют текстовую часть строки в игровом сценарии — поэтому синтаксис у них должен совпадать. В переводах также можно использовать переменные.
После создания файла перевода, вы можете прописать его в resources.yaml.
Разделитель
Можно использовать любой разделитель, поддерживаемый .csv-форматом. Однако мы рекомендуем использовать символ ;
.
Примеры
Вы можете посмотреть, как устроены игровые сценарии и их переводы на этой странице.