Перевод движка Ren'Py (Translating Ren'Py)

Материал из Ren'Py Wiki
Перейти к навигации Перейти к поиску

Можно перевести сам Ren'Py. Полный перевод включает перевод графического интерфейса пользователя, различных сообщений Ren'Py, новых проектов и Ren'Py Launcher. Перевод должен распространяться на большую часть игрового процесса и разрабатываемые сценарии. В настоящее время не каждое сообщение об ошибке может быть переведено.


Чтобы создать новый перевод, вам необходимо:

  1. Открыть Ren'Py Launcher.
  2. На странице «настройки» выбрать «Открыть проект лаунчера».
  3. Выбрать «Создать переводы».
  4. Ввести название языка, на который требуется перевести. Он должен состоять из печатных символов ASCII в нижнем регистре и символа подчёркивания, поэтому "japanese", "russian" или "ancient_klingon" – это допустимые названия языков.
  5. Выбрать «Создать переводы».


Эту же процедуру можно использовать для обновления перевода с одного языка на другой. Чтобы получить доступ к созданному переводу, вернитесь к «настройкам», затем выберите недавно созданный язык. Обратите внимание, что по умолчанию перевод будет представлять собой копию перевода на английский язык.

Файлы переводов (Translation Files)[править | править код]

Файлы перевода находятся в launcher/game/tl/language/. За исключением script.rpy, все файлы состоят из строковых переводов, которые можно перевести с помощью синтаксиса перевода строк. Некоторые строки могут начинаться с "##". Это комментарии, которые переводятся, упаковываются и включаются в options.rpy и gui.rpy файлы.


Файлами перевода являются:

common.rpy
В этом файле содержатся сообщения интерфейса (строки), которые Ren'Py может представить игроку.
developer.rpy
В этом файле содержатся строки, представляющие интерес только для создателей новеллы, а не игроков.
error.rpy
Этот файл содержит строки, которые отображаются разработчику или игроку при возникновении проблемы в Ren'Py.
gui.rpy
Этот файл содержит комментарии, которые помещаются в графический интерфейс по умолчанию.
launcher.rpy
Этот файл содержит строки, которые отображаются как часть Ren'Py Launcher.
obsolete.rpy
Файл содержит строки, которые не используются в современном Ren'Py.
options.rpy
Этот файл содержит строки, которые используются для перевода комментариев в файле options.rpy по умолчанию.
screens.rpy
Этот файл содержит строки, используемые графическим интерфейсом по умолчанию, и комментарии в файле screens.rpy по умолчанию.
script.rpym
При создании нового проекта содержимое этого файла дословно копируется в script.rpy.
style.rpy
По умолчанию этот файл не существует, но должен быть создан при необходимости. Он настраивает стили Ren'Py Launcher и шрифты, используемые созданной игрой.

Изменение шрифтов (Changing Fonts)[править | править код]

В Ren'Py шрифт по умолчанию - DejaVuSans. Он охватывает большинство западных языков, но нередко возникает необходимость в других шрифтах. Шрифт можно настроить, отредактировав launcher/game/tl/language/style.rpy и добавив:

init python:
    translate_font("language", "myfont.ttf")

В данном коде "language" – язык, о котором идёт речь (например, "japanese"), и "myfont.ttf" – шрифт, который следует использовать (например, "MTLc3m.ttf"). Файл шрифта должны быть помещены в каталог launcher/game/tl/language, чтобы его мог найти лаунчер.

Изменение стиля Ren'Py Launcher (Changing the Launcher Style)[править | править код]

Стили, используемые в Ren'Py Launcher, можно настроить, задав переменные в блоке translate python.


Доступны следующие переменные. Их имена немного сбивают с толку, поскольку они отражают англоязычный перевод. Эти переменные доступны только в Ren'Py Launcher.

define gui.LIGHT_FONT = "Roboto-Light.ttf"

Путь к шрифту, используемому для исходного текста в Ren'Py Launcher.

define gui.REGULAR_FONT = "Roboto-Regular.ttf"

Путь к шрифту, используемому для действующего текста в Ren'Py Launcher.

define gui.REGULAR_BOLD = False

Если принимает значение True, действующий текст выделяется жирным шрифтом.

define gui.FONT_SCALE = 1.0

Изменяет размер шрифта для всего текста в Ren'Py Launcher.


Блок translate python используется для определения этих переменных. Например, для изменения шрифтов в арабском переводе Ren'Py используется следующий код:

translate arabic python:
    gui.REGULAR_FONT = "DejaVuSans.ttf"
    gui.LIGHT_FONT = "DejaVuSans.ttf"
    gui.FONT_SCALE = .9
    gui.REGULAR_BOLD = True

Функции (Functions)[править | править код]

Для настройки перевода в Ren'P Launcher используются следующие функции (они должны вызываться из блока init python):

translate_font(language, font)
Используется для установки шрифта для language. Шрифт используется в лаунчере, а также в играх, созданных на этом языке. Файл шрифта должен быть помещен в game/fonts.
font
Строка с именем файла шрифта.


translate_define(language, define, value, help=None)
Используется для установки определения при создании игры. Например, данную функцию можно использовать для изменения размера шрифта.
language
Участвующий язык.
define
Имя определения.
value
Строка, задающая значение, которое должно быть установлено для параметра define, т. е. "10", "False" или "'Font.ttf'".
comment
Если принимает значение не None, то является комментарием, который будет генерироваться перед определением. Комментарий будет создан, только если определение отсутствует в gui.rpy. Нет необходимости использовать «##», так как комментарий будет автоматически добавлен и упакован.


Например, размер текста диалога изменяется следующим образом:

translate_define("martian", "gui.text_size", 12)

Источник[править | править код]

Статья "Translating Ren'Py" на английском языке


На главную страницу Официальная документация движка Вернуться к началу статьи