Translator3000

Переводчик визуальных новелл на движке Ren'Py с лёгкой установкой и удобным интерфейсом!

Документация

Введение

Translator3000 — это удобный автоматический переводчик визуальных новелл, созданных на движке Ren'Py с лёгкой установкой и удобным интерфейсом! Он использует современные сервисы перевода и систему облачных баз данных для обеспечения качественного перевода.

Простой способ настройки

Translator3000 намного удобнее настраивать через графический интерфейс!

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

Подробное описание всех элементов графического интерфейса доступно в отдельной документации по графическому интерфейсу.

Настроечный файл, описание которого приводится в этой документации, предназначен в основном для:

  • Общей информативности о возможностях программы
  • Продвинутых пользователей, предпочитающих ручную настройку
  • Специфических случаев, когда графический интерфейс недоступен

Рекомендуем сначала попробовать настроить переводчик через графический интерфейс!

Доступ к программе

Translator3000 доступен по подписке

Для получения доступа к Translator3000 необходимо оформить подписку на одной из платформ:

Подписка даёт доступ к последним версиям программы, обновлениям и технической поддержке.

Присоединяйтесь к нашему сообществу

Обсуждайте переводы, делитесь базами данных и получайте помощь:

Важное примечание

Внимание! Данная документация описывает все возможные параметры конфигурации Translator3000.

В актуальной версии программы у вас могут отсутствовать некоторые параметры, указанные в этой документации. Это означает, что они появятся в будущих версиях программы.

Документация может обновляться раньше выхода новых версий программы. Если вы не нашли какой-то параметр в своей версии Translator3000, значит он будет добавлен в одном из следующих обновлений.

Термины и понятия

Ren'Py

Движок для создания визуальных новелл и игр с повествованием. Translator3000 специализируется на работе с играми, созданными на этом движке.

Прескан (Предварительное сканирование)

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

Облачная база данных (БД)

Система совместного использования переводов. Пользователи, которые уже перевели игру, могут поделиться своей базой данных переводов через Telegram-канал или Discord. Это позволяет другим пользователям мгновенно получать готовый перевод игры без ожидания.

Посмотреть уже доступные в базе данных переводы можно здесь.

Selenium

Инструмент для автоматизации веб-браузеров. В Translator3000 используется для работы с некоторыми сервисами перевода через эмуляцию действий реального пользователя в браузере.

TLS (Transport Layer Security)

Протокол защиты транспортного уровня, обеспечивающий безопасную передачу данных между программой и сервисами перевода. Настройки версий TLS влияют на совместимость с различными сервисами.

AutoProxy

Автоматическая система прокси, используемая для обхода географических ограничений и обеспечения конфиденциальности. Может использоваться для доступа к сервисам перевода, заблокированным в определённых регионах.

API (Application Programming Interface)

Интерфейс программирования приложений. В контексте Translator3000 — это способ взаимодействия программы с различными сервисами машинного перевода.

Основные настройки

gameLanguage (строка или null)

Назначение: Исходный язык игры, с которого выполняется перевод.

Допустимые значения: Название языка на английском или код языка (например, "en_GB", "ru_RU", "ja_JP"), или null

Значение по умолчанию: null

Примечание: Если указано null, переводчик попытается определить язык игры автоматически. Однако для более быстрой и точной работы рекомендуется указать язык явно.

directionOfTranslation (строка или null)

Назначение: Целевой язык перевода.

Допустимые значения: Название языка на английском или код языка (формат такой же, как в gameLanguage), или null

Значение по умолчанию: null

Примечание: Если указано null, переводчик попытается определить целевой язык автоматически. Однако для более быстрой и точной работы рекомендуется указать язык явно.

modeOnStartup (строка)

Назначение: Режим работы программы при запуске.

Допустимые значения:
  • "off" - отключенное состояние (рекомендуется)
  • "prescan" - режим предварительного сканирования
  • "db_only" - режим перевода только из базы данных
  • "realtime" - режим перевода в реальном времени с обращением к сети

Значение по умолчанию: "off"

Внимание: В большинстве случаев этот параметр не следует менять со значения "off". Режим лучше включать через графический интерфейс переводчика.

_debug_mode (булево)

Назначение: Режим отладки для разработчика Translator3000.

Допустимые значения: true или false

Значение по умолчанию: false

Важно: Включать только по просьбе технической поддержки. Отчёты об ошибках при самостоятельном включении этого режима не принимаются.

Настройки перевода

translationService (строка или массив)

Назначение: Выбор службы машинного перевода.

Допустимые значения:
  • "google_gtx" - Google Translate (метод GTX)
  • "google_client5" - Google Translate (метод Client5)
  • "google_rpc" - Google Translate (метод RPC)
  • "selenium_deepl" - DeepL через Selenium
  • "deepl_official" - Официальный API DeepL (требуется ключ API)
  • "yandex_translate" - Yandex Translate
  • "reverso" - Reverso
  • "bing" - Microsoft Bing Translator
  • "lingvanex" - Lingvanex

Значение по умолчанию: "google_gtx"

Важная особенность: Можно указать не одно значение, а массив из допустимых значений. В этом случае, если один из сервисов вызовет ошибку - будет последовательно использоваться следующий из списка.

Пример использования массива: ["google_gtx", "yandex_translate", "bing"]

Примечание: Сервис "deepl_official" функционирует только при наличии действительного ключа API в разделе apiData.deepL.authKey.

workMethod (строка)

Назначение: Режим функционирования переводчика.

Допустимые значения:
  • "dialogueOnly" - перевод только диалогов и меню выбора (рекомендуется)
  • "allText" - попытка перевести весь текст на экране (бета-режим)

Значение по умолчанию: "dialogueOnly"

Внимание: Режим "allText" не рекомендуется к использованию. Включать только в крайнем случае и по совету технической поддержки.

autoSwitchOnAvailableDB (булево)

Назначение: Автоматическое переключение на сервис перевода облачной базы данных.

Допустимые значения: true или false

Значение по умолчанию: true

Если сервис перевода облачной базы данных и сервис перевода, выбранный пользователем, отличаются, то при включении этого параметра произойдёт переключение на тот сервис, база данных которого имеется в облаке.

useNoFreezeLogic (булево)

Назначение: Использование режима "без зависаний".

Допустимые значения: true или false

Значение по умолчанию: true

Полезен для режима "в реальном времени". Для перевода строки не останавливает основной поток до завершения перевода, а создаёт параллельный поток, и игра не зависает, а просто показывается надпись "ожидайте", пока перевод не завершится.

requestsFrequency (число с плавающей точкой или null)

Назначение: Максимально допустимая частота обращений к сервису перевода.

Допустимые значения: Число (запросов в минуту) или null (автоматическая настройка)

Значение по умолчанию: null

Примечание: Для некоторых сервисов, где частота жёстко ограничена, эта настройка игнорируется.

splitTextAsSentences (булево)

Назначение: Обработка текста перед переводом.

Допустимые значения: true или false

Значение по умолчанию: false

Если true - предложения будут приведены к читаемому виду (удалены завершающие символы вне предложения).

Внимание: В большинстве случаев этот параметр не нужен. Включать только по рекомендации технической поддержки.

googleHost (строка)

Назначение: Хост для сервиса google_rpc.

Допустимые значения: Доменное имя Google-сервиса

Значение по умолчанию: "translate.google.com"

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

Настройки отображения

originalInHistory (булево)

Назначение: Отображение текста в истории диалогов игры.

Допустимые значения: true или false

Значение по умолчанию: false

Если true - в истории показывается оригинальный текст, если false - переведённый.

displayOriginal (булево или строка)

Назначение: Отображение окна с оригинальным текстом во время игры.

Допустимые значения:
  • true - окно отображается всегда
  • false - окно не отображается
  • "choice_menu_only" - окно отображается только для меню выбора

Значение по умолчанию: false

Для удобства частого использования этой функции рекомендуется настроить соответствующие горячие клавиши через графический интерфейс.

displayAlternateTranslations (булево)

Назначение: Отображение альтернативных вариантов перевода.

Допустимые значения: true или false

Значение по умолчанию: false

Если true - показывается окно с альтернативными вариантами перевода от других сервисов (если перевод есть в базе данных).

Для удобства частого использования этой функции рекомендуется настроить соответствующие горячие клавиши через графический интерфейс.

showEditWindow (булево)

Назначение: Отображение окна редактирования переведённого текста.

Допустимые значения: true или false

Значение по умолчанию: false

Позволяет пользователю исправлять машинный перевод в реальном времени.

Расширенные настройки

seleniumStartMode (строка)

Назначение: Режим показа браузера при использовании Selenium.

Допустимые значения:
  • "hide" - окно не отображается (рекомендуется)
  • "minimized" - окно отображается свёрнутым
  • "default" - окно отображается изначально

Значение по умолчанию: "hide"

Важно: Рекомендуемым вариантом является "hide". В остальных случаях отчёты об ошибках не принимаются. Включать другие режимы только по просьбе технической поддержки.

seleniumInputSplitMethod (строка)

Назначение: Способ ввода текста в Selenium.

Допустимые значения:
  • "all" - текст вставляется сразу и весь
  • "strings" - текст вводится построчно
  • "symbols" - текст вводится посимвольно
  • "humanTyping" - текст вводится посимвольно с рандомизированной частотой для имитации реального человека

Значение по умолчанию: "strings"

deeplLoginData (массив или null)

Назначение: Данные для аутентификации в DeepL при использовании Selenium.

Допустимые значения: null или массив из двух элементов [логин, пароль]

Значение по умолчанию: null

addVariablesFromDB (булево)

Назначение: Использование переменных значений из облачной базы данных.

Допустимые значения: true или false

Значение по умолчанию: false

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

startTranslateAfterPrescan (булево)

Назначение: Автоматический переход в режим перевода после прескана.

Допустимые значения: true или false

Значение по умолчанию: true

Если true, переводчик перейдёт в режим "перевод только из БД" после завершения предвариного сканирования.

pathToChromeExe (строка или null)

Назначение: Путь к исполняемому файлу браузера на движке Chromium.

Допустимые значения: Путь к файлу или null (автоматическое определение)

Значение по умолчанию: null

Примечание: В большинстве случаев путь определяется автоматически. Указывать явно нужно только по просьбе технической поддержки.

alternativeSortMethod (булево)

Назначение: Использование альтернативного метода сортировки строк.

Допустимые значения: true или false

Значение по умолчанию: false

Используется только в прескане в процессе изначальной сборки строк. Если true - переводчик будет пытаться отсортировать строки по порядку их следования в диалоге, что может дать более точный перевод с учётом контекста. Если false - порядок будет игнорироваться, и будет приоритет на уменьшение количества конечных запросов к сервису.

tlsMinorVersion (строка или объект)

Назначение: Указание допустимых версий TLS для сетевых запросов.

Допустимые значения:
  • ":auto:" - автоматический выбор
  • JSON-объект, где ключ - имя браузера ("Chrome", "Yandex", "Edge"), а значение - массив допустимых минорных версий TLS (0, 1, 2, 3)

Значение по умолчанию: ":auto:"

Пример: {"Chrome": [1, 3]} - допускаются протоколы TLS1.1 и TLS1.3

useProxies (булево, null или массив)

Назначение: Настройка использования прокси-серверов.

Допустимые значения:
  • true - прокси используют AutoProxy (включается везде)
  • false - прокси отключены
  • null - прокси используют AutoProxy, но включаются не во всех сервисах, а в выбранных разработчиком
  • Массив собственных прокси пользователя в формате: ["socks5://127.0.0.1:12345", "https://some.proxies.org:12345"]

Значение по умолчанию: false

Поддерживаемые протоколы: HTTP, HTTPS, SOCKS5 и другие доступные протоколы.

useProxyInSelenium (булево)

Назначение: Использование прокси в браузере Selenium.

Допустимые значения: true или false

Значение по умолчанию: false

Настройка применяется только если прокси включены в том или ином виде в параметре useProxies. В ином случае настройка игнорируется.

customProxiesBridges (массив или null)

Назначение: Список дополнительных мостов для AutoProxy.

Допустимые значения: Список мостов или null

Значение по умолчанию: null

Если прокси включены в одном из режимов, где используется AutoProxy, в этом параметре можно указать дополнительные мосты для соединения. Если прокси не включены или AutoProxy не используется, настройка игнорируется.

useMinimizeButton (булево)

Назначение: Отображение кнопки "развернуть графический интерфейс".

Допустимые значения: true или false

Значение по умолчанию: true

Показывать ли небольшую кнопку "развернуть графический интерфейс" в углу экрана, когда основное окно свёрнуто. Позволяет вернуть интерфейс при помощи нажатия мышью на иконку, а не только через комбинацию клавиш.

databaseDir (строка или null)

Назначение: Папка для сохранения облачных баз данных.

Допустимые значения: Путь к папке или null

Значение по умолчанию: null

Папка, куда будут записываться облачные базы данных после завершения прескана, чтобы потом пользователь мог ими поделиться. Если null - база данных записывается в папку игры. Рекомендуется указать конкретную папку, чтобы все БД были в одном месте и было удобно ими поделиться.

Горячие клавиши

Примечание: В большинстве случаев удобнее настроить клавиши через графический интерфейс. Информация здесь представлена для ознакомления.

keys (объект)

Назначение: Настройки горячие клавиши для управления программой.

guiShow

Назначение: Показать/скрыть графический интерфейс.

Формат: Объект с ключами "extraKeys" и "mainKey"

  • "extraKeys" - массив модификаторов (один или несколько из: "alt", "meta", "shift", "ctrl")
  • "mainKey" - основная клавиша в формате pygame

Значение по умолчанию: {"extraKeys": ["alt"], "mainKey": "BACKQUOTE"}

Пример с несколькими модификаторами: {"extraKeys": ["ctrl", "shift"], "mainKey": "K_T"}

Примечание: Все клавиши указываются в формате pygame. Буквенные клавиши должны начинаться с префикса "K_" и быть в верхнем регистре (например, "K_T", "K_A", "K_F1").

databaseTranslateSwitcher

Назначение: Переключение между режимами "перевод только из базы данных" и "отключено".

Формат: null (отключено), строка или объект

Значение по умолчанию: null

displayOriginal

Назначение: Показать/скрыть оригинальный текст (аналогично параметру в основных настройках).

Формат: null (отключено), строка или объект

Значение по умолчанию: null

displayAlternateTranslations

Назначение: Показать/скрыть альтернативные варианты перевода (аналогично параметру в основных настройках).

Формат: null (отключено), строка или объект

Значение по умолчанию: null

editWindow

Назначение: Показать/скрыть окно редактирования текста (аналогично параметру "showEditWindow" в основных настройках).

Формат: null (отключено), строка или объект

Значение по умолчанию: null

forceRestart

Назначение: Принудительное обновление текущего экрана игры (аналогично функции "Обновить страницу" в графическом интерфейсе).

Формат: null (отключено), строка или объект

Значение по умолчанию: null

Использование: Полезно в случаях, когда экран по каким-либо причинам не обновился после перевода и отображает непереведённый текст. Позволяет принудительно перерисовать интерфейс.

Форматы назначения горячих клавиш:
  • null - комбинация отключена
  • Строка с клавишей - используется указанная клавиша
  • Объект с ключами "extraKeys" и "mainKey" - "extraKeys" это массив модификаторов, "mainKey" - основная клавиша

Дополнительные настройки текста

extraTextOptions (объект)

Назначение: Дополнительные параметры отображения текста в игре.

font

Назначение: Шрифт для отображения текста.

Допустимые значения:
  • Путь к файлу шрифта
  • null - шрифт не меняется
  • ":auto:" - шрифт скачивается автоматически в зависимости от языка перевода

Значение по умолчанию: ":auto:"

size

Назначение: Размер текста.

Значение по умолчанию: null

Пример: 24 - размер текста 24 пикселя

color

Назначение: Цвет текста в HEX-формате.

Значение по умолчанию: null

Примеры:

  • "#ffffff" - белый текст
  • "#ff0000" - красный текст
  • "#00ff00" - зелёный текст
  • "#0000ff" - синий текст

outlines

Назначение: Настройки обводки текста.

Формат: Массив с массивами из 4 элементов: [Размер, цвет в HEX, смещение по X, смещение по Y]

Значение по умолчанию: null

Примеры:

// Простая чёрная обводка толщиной 2 пикселя [[2, "#000000", 0, 0]] // Двойная обводка - чёрная и белая [ [3, "#000000", 0, 0], // Чёрная обводка толщиной 3px [1, "#ffffff", 0, 0] // Белая обводка толщиной 1px поверх чёрной ] // Обводка со смещением (эффект тени) [[2, "#000000", 2, 2]] // Цветная обводка [[2, "#ff0000", 0, 0]] // Красная обводка

italic

Назначение: Курсивное начертание текста.

Допустимые значения: true или false

Значение по умолчанию: false

bold

Назначение: Жирное начертание текста.

Допустимые значения: true или false

Значение по умолчанию: false

Пример полной настройки текста:

"extraTextOptions": { "font": ":auto:", "size": 24, "color": "#ffffff", "outlines": [[2, "#000000", 0, 0]], "italic": false, "bold": true }

Настройки API

apiData (объект)

Назначение: Данные для доступа к API сервисов перевода.

deepL

Назначение: Настройки для DeepL API.

endpoint

Назначение: Адрес API DeepL.

Значение по умолчанию: "https://api-free.deepl.com"

authKey

Назначение: Ключ авторизации для DeepL API.

Значение по умолчанию: null

Опции исправления проблем

_fixOptions (объект)

Назначение: Специальные опции для исправления различных проблем в конкретных играх.

Важно: Без конкретного указания технической поддержки в этом разделе не рекомендуется менять ничего вообще. Эти опции предназначены для исправления специфических проблем в отдельных играх и могут привести к нестабильной работе программы при неправильном использовании.

fixGUI (булево)

Назначение: Исправляет проблему в играх, где подавляется слой на котором отображается переводчик. Опция отключает подавление слоёв, если таковое имеется.

Допустимые значения: true или false

Значение по умолчанию: false

fixFont (булево)

Назначение: Исправляет проблему в играх, где форсированно изменяется стиль выводимого текста из за чего не применяется выбранный пользователем шрифт, что приводит к отображанию "квадратиков" вместо текста. Опция применяет альтернативный метод изменения шрифта текста.

Допустимые значения: true или false

Значение по умолчанию: false

fixDevMode (булево)

Назначение: Исправляет проблему с множественным вызовом renpy.restart_interaction(), которая возникает из за того, что разработчик оставляет параметр config.developer включённым в релизной версии. Опция отключает параметр.

Допустимые значения: true или false

Значение по умолчанию: false

forceRestartInNoFreeze (булево)

Назначение: Если включено, изменяет поведение в режиме "No freeze", принудительно перерисовывая интерфейс после каждого обновления перевода. Если отключено - интерфейс перерисовывается избирательно, в зависимости от условий. Помогает в играх, где вывод текста производится нестандартыми способами.

Допустимые значения: true или false

Значение по умолчанию: false