Найти тему
Техногайд

Автоперевод игр на движке Ren'py

Источник: Яндекс.Картинки
Источник: Яндекс.Картинки

Если вы поклонник визуальных новелл на движке Ren'ry, то часто сталкивались с такой проблемой, что перевода для новеллы нет, а с великим и могучим английским туго. Не отчаивайтесь, выход есть.

Для того, что автоматически перевести нашу новеллу нам понадобиться несколько программ. Процесс перевода осуществляется в несколько этапов:

1) Для начала нам нужно перейти на официальный сайт движка и скачать его последнюю версию.
2) После того, как мы скачали и распаковали наш движок, внутрь него необходимо поместить нашу новеллу, но в названии папки должен быть спереди стоять восклицательный знак "
!"

Для примера
Для примера

3) Необходимо этот файлик забросить в папку с новеллой, нажать 9, затем Enter и подождать завершения операции
4) Возвращаемся в папку с Ren'py и запускаем ее. Необходимо, что бы в проектах появилась наша папка с игрой, если ее нет, то укажите к ней путь.
5) Теперь нужно сгенерировать пустые строки для будущего перевода, как показано на скрине:

Генерация строк
Генерация строк

6) Необходимо подождать, пока процесс генерации завершится. После чего распаковываем и запускаем в любую папку программу Translate Ren'Py. Скачиваем ее по ссылке.

Интерфейс программы
Интерфейс программы

7) В верхнюю строку копируем путь до наших сгенерированных строк. Обычно путь выглядит так:

путь по папки с ренпи\!имя новеллы(проекта)\game\tl\Russian

8) Для того, что бы перевести полученные строки автоматически, нам необходимо получить апи ключ от яндекса. Получить можно по ссылке, после чего вставляем его в программу.
9) Нажимаем на кнопку
Generate translation file, затем Translate using Yandex. Процедура может занять определенное время, потому запаситесь терпением.
10) После успешного перевода появиться файл
translations.txt, не закрывая программу, нужно вручную проверить файл на наличие ошибок синтаксиса. Переводчик очень любит ломать синтаксис, и вместо /n мы получаем, или вместо %s - %c и т.д. Все это необходимо подправить вручную, иначе наша новелла после такого перевода попросту работать не будет.
11) После того, как мы отредактировали файл
translations.txt, необходимо интегрировать наш перевод в новеллу. Для этого нажимаем в программе Export dialogues from translation file и ждем завершение процедуры. Сворачивать программу никоем образом нельзя. Процедура может занять по 90 минут в зависимости от кол-ва строк перевода. Наберитесь терпения.
12) Теперь необходимо в саму игру добавить переключение языка с английского на русский. Заходим в папку
game нашей новеллы, открываем обычным блокнотом файл screens.rpy. Внимание, необходим стандартный блокнот, встроенный в windows, notepad ++ и прочие не подойдут.
Ищем строку (Ctrl+F)
screen preferences и внутрь нее необходимо вставить следующий код:

vbox:
style_prefix "pref"
label _("Language")
textbutton "English" action Language(None)
textbutton "Russian" action Language("Russian")

отступ между уровнями 4 пробела, как показано на скриншоте:

Соблюдайте отступы в 4 пробела, иначе новелла не запустится
Соблюдайте отступы в 4 пробела, иначе новелла не запустится

Сохраняем скрипт и закрываем блокнот.
13) Если все сделали правильно, запускайте exe файл вашей новеллы. Внимание, первый запуск может быть очень долгим, до 2-х часов, запаситесь терпением. За это время компилируются новые скрипты с вашим переводом.
14) Пока идет компиляция, займитесь шрифтами. Обычно, те, что идут с новеллой не поддерживает русские буквы. Для этого находим все файлы с разрешением
ttf, и в интернете находим любые понравившиеся вам шрифты с поддержкой русских букв. Потом скачанные шрифты переименуйте в тот файл шрифта, который изначально был в новелле и копируйте с заменой.

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