Перевод Ren'Py
Можно перевести сам Ren'Py. Полный перевод включает в себя GUI, различные сообщения Ren'Py, новые проекты и лаунчер. Это должно охватить большинство сценариев игрового процесса и разработки. В настоящее время не все сообщения об ошибках могут быть переведены.
Чтобы создать новый перевод:
Откройте лаунчер Ren'Py.
На странице настроек выберите "Open launcher project".
Выберите "Generate Translations".
Введите название языка для перевода. Оно должно состоять из строчных ASCII-символов и подчёркиваний, поэтому "japanese", "russian" или "ancient_klingon" — все являются допустимыми названиями языков.
Выберите "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)