Перевод Ren'Py

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

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

  1. Откройте лаунчер Ren'Py.

  2. На странице настроек выберите "Open launcher project".

  3. Выберите "Generate Translations".

  4. Введите название языка для перевода. Оно должно состоять из строчных ASCII-символов и подчёркиваний, поэтому "japanese", "russian" или "ancient_klingon" — все являются допустимыми названиями языков.

  5. Выберите "Generate Translations".

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

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

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

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

common.rpy

Этот файл содержит сообщения интерфейса (строки), которые Ren'Py может показывать игроку.

developer.rpy

Этот файл содержит строки, представляющие интерес только для разработчиков, а не для игроков.

error.rpy

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

gui.rpy

Этот файл содержит комментарии, которые вставляются в стандартный GUI.

launcher.rpy

Этот файл содержит строки, которые отображаются в лаунчере.

obsolete.rpy

Этот файл содержит строки, которые не используются в современных версиях Ren'Py.

options.rpy

Этот файл содержит строки, используемые для перевода комментариев в стандартном файле options.rpy.

screens.rpy

Этот файл содержит строки, используемые стандартным GUI, и комментарии в стандартном файле screens.rpy.

script.rpym

Содержимое этого файла копируется дословно в script.rpy при создании нового проекта.

style.rpy

Этот файл не существует по умолчанию, но его следует создать при необходимости. Он настраивает стили лаунчера и шрифт, используемый в сгенерированной игре.

Специфичные для языка переводы

Есть один перевод, который не является прямым переводом. Перевод "{#language name and font}" должен быть заменён названием языка, опционально обёрнутым в шрифт лаунчера, если используются не-ASCII символы. Например:

translate french strings:

    old "{#language name and font}"
    new "{font=fonts/Roboto-Light.ttf}Français{/font}"

Это используется для отображения названия языка, когда лаунчер работает на другом языке.

Переводы, начинающиеся с "{#in language font}", нужно оборачивать таким же образом. Например:

translate french strings:

    old "{#in language font}Start using Ren'Py in [lang_name]"
    new "{font=fonts/Roboto-Light.ttf}Commencez à utiliser Ren'Py en [lang_name]{/font}"

Изменение шрифтов

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, чтобы лаунчер мог его найти.

Изменение стиля лаунчера

Стили, используемые лаунчером, можно настроить, установив переменные в блоке translate python. Доступны следующие переменные. Их названия могут сбивать с толку, так как они отражают англоязычный перевод.

Эти переменные доступны только в лаунчере.

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

Путь к шрифту, используемому для обычного текста в лаунчере.

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

Путь к шрифту, используемому для текста с большим начертанием (жирного) в лаунчере.

define gui.REGULAR_BOLD = False

Если True, текст с большим начертанием отображается жирным.

define gui.FONT_SCALE = 1.0

Коэффициент масштабирования, применяемый ко всему тексту в лаунчере.

Для установки этих переменных используется блок 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

Функции

Следующие функции используются для настройки перевода в лаунчере. Их следует вызывать из блока init python.

translate_font(language, font)

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

font

Строка, содержащая имя файла шрифта.

translate_define(language, define, value, help=None)

Используется для установки define при генерации игры. Например, её можно использовать для изменения размера шрифта.

language

Соответствующий язык.

define

Имя define.

value

Строка, задающая значение для define (т. е. "10", "False" или "'Font.ttf'").

comment

Если не None, комментарий, который будет сгенерирован перед define. Комментарий будет сгенерирован, только если define не существует в gui.rpy. Нет необходимости использовать "## ", так как комментарий будет добавлен и отформатирован с переносом строк автоматически.

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

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