FAQ
Распространённые вопросы о переводе японских и других игр с помощью RuneTranslate. Не нашли свой вопрос? Напишите на [email protected].
Создайте проект → выберите поставщика → переведите → проверьте → экспортируйте.
RuneTranslate — это десктопное приложение для Windows, которое переводит японские игры на ваш язык, читая собственные файлы данных игры. Оно определяет движок, извлекает каждую строку диалогов, текста меню, названий предметов и вариантов выбора в редактируемый проект, переводит их выбранным вами провайдером, а затем экспортирует играбельную сборку, которая остаётся у вас, — а не оверлей, который приходится держать запущенным рядом с игрой. Поддерживаются шестнадцать движков, а также формат каталогов gettext .po и .mo, и 35 целевых языков.
Перевод игры в RuneTranslate — это четыре шага. Укажите «Новый проект» на папку игры и дайте приложению определить движок и посчитать текст. Выберите провайдера перевода и нажмите «Перевести» — вы видите полосу прогресса и живую оценку времени. Пройдитесь по редактору и поправьте всё, что читается криво: через поиск и замену, фильтры с регулярными выражениями или AI-доработчик. Затем нажмите «Экспорт» и выберите папку назначения — RuneTranslate запишет туда переведённую играбельную сборку и никогда не тронет оригинал игры.
RuneTranslate действительно требует аккаунт: при первом запуске приложение выполняет вход через Patreon, и режима без входа или анонимного режима нет. Вход бесплатен и делается в один клик — оформлять подписку не нужно. Бесплатный тариф означает просто «вы вошли, но подписки нет», и он открывает каждый движок, каждого провайдера и весь редактор целиком. После первого входа вы можете продолжать работать без соединения.
Целая игра в RuneTranslate обычно укладывается в один заход. Короткая визуальная новелла на несколько тысяч строк переводится за минуты на бесплатных маршрутах Google или DeepL. Плотная RPG на 30 000–100 000 строк займёт от двадцати минут до нескольких часов — в зависимости от выбранного провайдера, от того, сколько запросов он готов принимать параллельно, и от того, на бесплатном вы ограничении скорости или на платном тарифе. Прогон возобновляется с того места, где остановился, память переводов пропускает строки, переведённые однажды, а ночная очередь на тарифе Supporter способна прогнать несколько проектов подряд, пока вы спите.
Что именно создаёт RuneTranslate, зависит от того, что умеет загружать движок, и записывается это всегда в выбранную вами папку назначения, а не поверх вашей игры. Для большинства движков получается полная переведённая копия папки игры, которую вы запускаете напрямую. Для некоторых — небольшой файл переопределения, потому что именно его движок читает в первую очередь: Kirikiri получает россыпные файлы плюс патч-архив, Unreal — небольшой переопределяющий pak, который вы кладёте в Content/Paks, чтобы не дублировать игру на 60 ГБ, а Ren'Py — файлы перевода, записанные в копию папки игры. В любом случае на выходе получается самостоятельная переведённая сборка, которая остаётся у вас и играется офлайн.
Вернуться назад можно всегда, потому что оригинал игры никогда не изменяется. Экспорт пишет в отдельную папку, которую вы сами выбрали, так что отменить его — значит просто удалить эту папку: установленная игра остаётся нетронутой. Внутри проекта любую строку можно сбросить обратно к японскому оригиналу, из которого она была извлечена, — он сохраняется в файле проекта в момент создания, поэтому «Сбросить» и следом «Экспорт» вернут исходный текст, даже если папку, куда вы экспортировали раньше, уже перезаписали.
RuneTranslate бесплатен в использовании после входа через Patreon. Каждый движок, каждый провайдер перевода, весь редактор, редактор сохранений, основа Режима читов и AI-доработчик открыты без всякой подписки. Бесплатный тариф — это ограничение пропускной способности, а не платная стена вокруг функций: перевод идёт примерно вдвое медленнее на AI-провайдерах и немного медленнее на бесплатных скраперах, одновременно можно держать один проект, Image Studio открывается только на чтение, а в очень тяжёлый день число прогонов перевода может быть ограничено. Что добавляет платный тариф, перечислено в следующем ответе — полная скорость, память переводов, глоссарий, маршрутизация провайдеров, хостинг совместных проектов, очередь и больше слотов под проекты, — но ни один движок, провайдер или инструмент редактора не запирается от бесплатных пользователей.
Supporter стоит $3.99 в месяц на Patreon и снимает ограничение скорости, добавляет облачную память переводов, глоссарий, маршрутизацию провайдеров, хостинг совместных проектов, ночную очередь, редактор Image Studio, сборки бета-канала и 10 одновременных проектов. Pro стоит $5.99 в месяц и включает всё из Supporter плюс анимированные темы оформления, 30 одновременных проектов, пул собственных прокси для бесплатных скраперов и увеличенную дневную квоту Image Studio. Ultimate стоит $9.99 в месяц и включает всё из Pro плюс самую большую квоту RuneLingua, самую большую дневную квоту Image Studio, вкладку Developer для импорта ваших собственных строк CSV, JSON, PO и XLIFF и 100 одновременных проектов. Все три тарифа также включают RuneLingua — наш собственный машинный перевод на основе AI, работающий на нашем собственном GPU — с месячной квотой символов, которая растёт вместе с тарифом. Ни один платный тариф не запирает движок или провайдера от бесплатных пользователей.
Ultimate — верхний тариф RuneTranslate за $9.99 в месяц на Patreon и надмножество Pro. Он создан для тех, кто много переводит с помощью RuneLingua: в нём самая большая месячная квота RuneLingua и самая большая дневная квота Image Studio. Кроме того, он добавляет вкладку Developer, которая импортирует ваши собственные строки CSV, JSON, PO и XLIFF как проекты для перевода и экспортирует их обратно в том же формате, а также самый высокий лимит в 100 проектов.
Число проектов RuneTranslate, которые можно держать одновременно, зависит от тарифа: 1 на бесплатном, 10 на Supporter, 30 на Pro и 100 на Ultimate. Считаются проекты, лежащие в вашей библиотеке, а не количество игр, которые вы когда-либо переведёте: закончили игру, экспортировали, удалили проект — слот снова свободен. Совместные проекты, которые вы хостите или к которым присоединились, в лимит не входят. Экспортированные сборки и уже сделанные переводы остаются вашими навсегда и от лимита не зависят.
Главное, что ограничивает бесплатный тариф, — это скорость. На практике прогон занимает примерно вдвое больше времени на AI- и LLM-провайдерах и лишь немного дольше на бесплатных скраперах, поскольку там ограничение исходит от самой точки доступа, а не от нас. Качество идентично: тот же провайдер, тот же промпт, тот же результат. Пока идёт прогон, баннер над полосой прогресса объясняет, почему медленнее. Бесплатный тариф также держит один проект за раз, открывает Image Studio только на чтение, разрешает один экспорт патча и один импорт раз в три дня и может ограничить число прогонов перевода в очень тяжёлый день; дополнения Supporter — память переводов, глоссарий, маршрутизация провайдеров, хостинг совместных проектов и очередь — перечислены выше.
Переводы, которые вы уже сделали в RuneTranslate, остаются вашими. Файлы проектов лежат на вашем собственном диске, экспортированные сборки — самостоятельные папки, которые играются при закрытом приложении, и ничто не истекает и не звонит на сервер, чтобы готовый перевод продолжал работать. Если подписка закончится, вы вернётесь на бесплатный тариф, где по-прежнему доступны каждый движок, каждый провайдер и полноценный редактор — просто на ограниченной скорости; платные дополнения вроде облачной памяти переводов и лишних слотов под проекты встанут на паузу до возобновления подписки.
RuneTranslate — это инструмент редактирования текста для игр, которые у вас уже есть, и он специально построен так, чтобы оставаться по эту сторону черты. Он читает документированные форматы данных игры, извлекает текст и записывает переведённую сборку для вашего личного пользования: он не снимает защиту от копирования, не распространяет содержимое игры и никогда никуда не загружает саму игру. Личный перевод купленной игры — широко принятая практика, но авторское право различается от страны к стране и зависит от лицензии самой игры, так что сверьтесь со своей юрисдикцией и не распространяйте переведённую сборку без разрешения правообладателя. Делитесь вместо этого файлом .rtpatch: в нём только ваши переводы и исходные строки, к которым они привязаны, — ни файлов игры, ни графики, ни исполняемых файлов.
RuneTranslate никогда не отправляет текст вашей игры на наши серверы, пока вы сами не включите функцию, которой это нужно. Извлечение, редактор, хранение проекта и экспорт целиком выполняются на вашем компьютере, а запросы на перевод идут напрямую с вашего ПК к выбранному провайдеру — мы их не проксируем. С нами приложение общается о вашем аккаунте: поддерживает вашу авторизацию, проверяет, какой у вас тариф, и проверяет обновления. Анонимная статистика использования — метки движка, провайдера и языка плюс количество строк — тоже уходит после прогона, если вы не отключите её в разделе Settings. Реальное содержимое несут четыре необязательные функции, и о них стоит знать: облачная память переводов приватно хранит ваши пары «оригинал — перевод» под вашим аккаунтом, совместные проекты держат текст такого проекта на сервере, чтобы его видели остальные участники, Image Studio отправляет нашему сервису распознавания тот фрагмент картинки, который вы читаете или восстанавливаете, а обращение в поддержку несёт тот текст и файлы, которые вы к нему приложили, — до момента, когда обращение истечёт. Если все четыре выключены, ни текст игры, ни переводы не покидают вашу машину.
Ваши API-ключи в RuneTranslate никогда не покидают ваш компьютер. Они хранятся в зашифрованном виде на вашем ПК, в собственной папке данных приложения. Запросы на перевод уходят с вашего ПК прямо в API провайдера с этим ключом, так что его видит только тот провайдер, которому вы платите. Наши серверы ключей не получают, и в коде нет пути, который бы их отправил.
RuneTranslate — обычный установщик для Windows, который кладёт нативное десктопное приложение в ваш профиль пользователя (права администратора не нужны, а папку при установке можно выбрать другую): без навязанных панелей инструментов, без рекламы, без телеметрии, которую нельзя отключить, и без фоновой службы, остающейся работать после закрытия. В комплект действительно входит несколько вспомогательных инструментов с открытым исходным кодом, читающих форматы игр, — все они поставляются под собственными лицензиями. Сборка не подписана цифровой подписью, поэтому при первом запуске Windows SmartScreen может показать предупреждение — установщик можно сверить с контрольной суммой, которая публикуется с каждым релизом на runetranslate.com. Анонимная статистика использования необязательна и отключается в разделе Settings. Начиная с версии 1.0 само приложение написано на Rust с оболочкой Tauri вместо Electron, поэтому оно занимает малую долю прежнего размера, запускается меньше чем за секунду и выполняет извлечение и экспорт в нативном коде.
Перевод игры никогда не пишет в папку игры. Извлечение открывает игру только на чтение, любая распаковка происходит в отдельной папке проекта внутри данных самого приложения, а «Экспорт» записывает свежую переведённую копию или небольшой файл переопределения в выбранную вами папку назначения. Так сделано намеренно: неудачный экспорт или плохой перевод не могут стоить вам установленной игры. Единственная функция, которая действительно меняет игру на месте, — Режим читов: вы сами указываете ему папку, и у него есть удаление в один клик. Всё же сделайте резервную копию, если игру негде взять снова, и учтите, что часть движков даёт полную копию игры, — проверьте, хватает ли места на диске назначения.
Всё, что RuneTranslate о вас хранит, невелико и удаляемо. Проекты и настройки лежат в собственной папке приложения на вашем ПК и исчезают при удалении программы. На стороне сервера аккаунт хранит вашу учётную запись Patreon, тариф, список устройств и — только если вы пользовались этими функциями — записи облачной памяти переводов, размещённые вами совместные проекты и открытые обращения в поддержку. Памятью переводов можно управлять и очистить её на runetranslate.com/account/translation-memory, обращения в поддержку удаляются автоматически, когда затихают, а удалить сам аккаунт можно, написав нам письмо.
В RuneTranslate 35 целевых языков: английский, испанский, французский, немецкий, португальский, итальянский, русский, китайский (упрощённый и традиционный), корейский, японский, польский, турецкий, вьетнамский, тайский, индонезийский, арабский и многие другие. Насколько хорошо каждый из них читается, отчасти зависит от игры: движок, хранящий текст в Shift-JIS, — например RPG Maker XP и VX или старые движки визуальных новелл, — лучше всего чувствует себя с языками на латинице, а некоторым движкам нужен шрифт, поставляемый вместе с экспортом, чтобы вывести кириллицу, греческий или CJK; для Ren'Py RuneTranslate делает это автоматически. Интерфейс самого приложения доступен на 19 языках.
Японский — язык оригинала по умолчанию в RuneTranslate, но не единственный. Исходный язык задаётся для каждого проекта, так что китайская, корейская, английская или европейская игра извлекается и переводится точно так же: адаптеры движков опираются на форматы файлов игры, а не на письменность, которой набран текст. Частые сценарии — с китайского на английский и с английского на что угодно. Единственное, что стоит проверить, — что выбранный исходный язык совпадает с тем, что действительно лежит в игре: некоторые движки по нему решают, какие строки являются текстом, а какие — служебной обвязкой. Старые движки, созданные только для японских игр (Wolf RPG, Kirikiri, NScripter, YU-RIS, AliceSoft, Artemis и LiveMaker), читают только японские кодировки текста, поэтому китайский или корейский релиз на них может не открыться.
RuneTranslate — приложение для Windows, собранное и протестированное под Windows 10 и Windows 11 на x64. Сборки под macOS нет, нативной сборки под Linux тоже нет, и сейчас они не планируются: игры, которые он переводит, в подавляющем большинстве — Windows-игры, а часть встроенных инструментов для работы с форматами существует только в виде Windows-бинарников. На Windows заранее ставить ничего не нужно: установщик приносит все инструменты форматов, которыми пользуются движки, а несколько вспомогательных утилит на .NET опираются на .NET Framework, уже входящий в Windows 10 и 11.
RuneTranslate хорошо работает на Linux и Steam Deck через Wine или Proton, хотя нативной сборки нет. Установите обычную версию для Windows в префикс — и она поведёт себя так же, как в Windows: те же движки, провайдеры, редактор и экспорт. Это вполне логично, ведь японские игры, которые он переводит, тоже Windows-игры, и вы уже запускаете их через тот же слой совместимости. Большинству движков ничего дополнительно не нужно; RPG Developer Bakin дополнительно требует .NET Framework в префиксе — его ставит winetricks.
В RuneTranslate девять провайдеров перевода, и переключаться между ними можно в любой момент. Четверо работают по вашему собственному API-ключу: DeepL, OpenAI, Anthropic Claude и DeepSeek. Пятый, OpenAI-совместимый провайдер, принимает любой ключ и базовый URL, так что подходят OpenRouter, NanoGPT и самостоятельно поднятые точки доступа. Троим не нужны ни ключ, ни аккаунт вообще: Google Translate, DeepL через бесплатный анонимный маршрут и второй бесплатный маршрут к DeepL, где можно выбрать между классической моделью и моделью нового поколения. Девятый — Local Model, который общается с Ollama или LM Studio на вашем собственном железе.
API-ключ в RuneTranslate — вещь необязательная. Три провайдера из девяти бесплатны и не требуют ни ключа, ни аккаунта: Google Translate и два бесплатных маршрута к DeepL, один из которых позволяет выбрать модель нового поколения. Локальная модель через Ollama или LM Studio тоже обходится без ключа и не стоит ничего за строку. Ключ понадобится, только если вы хотите официальный API DeepL, OpenAI, Anthropic Claude, DeepSeek или другую OpenAI-совместимую точку доступа, — да и тогда он остаётся зашифрованным на вашем компьютере.
Самый дешёвый способ перевести игру в RuneTranslate не стоит ничего: Google Translate и два бесплатных маршрута к DeepL не требуют ни ключа, ни аккаунта. Это неофициальные точки доступа, поэтому у них есть ограничения по частоте и они могут измениться без предупреждения — бесплатный маршрут DeepL намеренно идёт примерно по одному запросу в секунду и с предохранителем, чтобы вас не заблокировали, — и лучше всего они подходят для коротких строк и небольших или средних игр. Из платных вариантов дешевле всего за миллион символов выходят DeepSeek и младшие модели Claude и GPT. Маршрутизация провайдеров на Supporter и выше срезает расходы ещё сильнее: короткие строки меню уходят бесплатному провайдеру, а диалоги остаются на платном.
Качество в RuneTranslate зависит от игры, а не от одного универсального победителя. DeepL — самый сильный обычный машинный перевод для прямого повествования, и он быстрый. Крупные LLM — GPT, Claude и DeepSeek — читают контекст в пределах пакета и гораздо лучше справляются со сленгом, регистром речи и голосом персонажа, что важнее всего в визуальных новеллах. Собственный промпт RuneTranslate велит каждому LLM-провайдеру записывать японские звукоподражания латиницей, а не повторять их как есть, так что んん возвращается как «Mm…», кого бы вы ни выбрали. Практичный подход — прогнать пару сотен строк на двух провайдерах, прочитать их в редакторе бок о бок и только потом решать за всю игру.
RuneTranslate умеет переводить полностью на вашем собственном железе — через провайдера Local Model, который общается с любым локальным OpenAI-совместимым сервером: Ollama, LM Studio, llama.cpp. Укажите URL своего сервера, выберите установленную модель — и перевод пойдёт без API-ключа, без оплаты за токены и без того, чтобы текст покидал ваш ПК. Это медленнее хостингового API, потому что маленькие пакеты отправляются по одному, а качество равно качеству запущенной модели: хорошая локальная модель уверенно берёт меню и короткие реплики, тогда как крупные хостинговые модели по-прежнему лидируют на нюансированной длинной прозе.
AI-доработчик — это необязательный второй проход RuneTranslate по готовому переводу. Он отправляет строки обратно в LLM вместе с японским оригиналом и текущим переводом и просит исправленный вариант, что вылавливает деревянные машинные формулировки, перепутанные местоимения, потерянные уровни вежливости и строки, вернувшиеся без изменений. Запускать его можно по всему проекту или по выделению, а редактор держит перевод первого прохода рядом с доработанным, так что видно, что именно изменилось, и любую строку можно поправить или откатить, а не принимать на веру. Доступен на всех тарифах, включая бесплатный.
Маршрутизация провайдеров — это функция RuneTranslate, доступная с тарифа Supporter, которая делит один прогон на две линии по длине строки. Короткие строки — названия предметов, «Да» и «Нет», подписи меню — уходят дешёвому или бесплатному провайдеру, а всё, что длиннее выбранного вами порога, остаётся на премиальном провайдере, где контекст действительно имеет значение. Линии идут параллельно, так что прогон не становится медленнее, а на большой RPG, где большинство единиц — короткие подписи, счёт за LLM обычно сокращается в два-три раза.
Ручная правка — это не запоздалая мысль, а сам смысл редактора RuneTranslate. Каждая извлечённая строка — это ряд, который вы можете переписать, с японским оригиналом рядом, сгруппированный по карте, сцене или файлу, чтобы диалог читался по порядку. Есть поиск и замена по всему проекту с поддержкой регулярных выражений, массовые операции над отфильтрованным выделением и фильтры по строкам — ожидающим, неудавшимся или уже отредактированным. Правки сохраняются при потере фокуса или по Ctrl+Enter, Escape отменяет. Повторный запуск переводчика сохраняет отредактированные вами строки и переводит заново только ожидающие и неудавшиеся, пока вы явно не попросите перевести всё заново.
Память переводов — это кэш RuneTranslate: каждая японская строка, которую вы уже перевели, и то, чем она стала. Когда та же строка встречается снова — дальше в той же игре или в совершенно другой — она подставляется мгновенно, без обращения к провайдеру, что экономит деньги на прогонах через LLM и разносит вперёд ваши исправленные вручную формулировки. С версии 0.18.0 она хранится приватно, отдельно для каждого пользователя, на наших серверах, а не в локальном файле, так что переезжает вместе с вами между компьютерами; просмотреть или очистить её можно на runetranslate.com/account/translation-memory. Доступна на Supporter, Pro и Ultimate. Результаты бесплатных неофициальных скраперов по умолчанию в неё не пишутся, чтобы черновой машинный проход не отравил кэш, — но любого провайдера можно включить или исключить.
Глоссарий в RuneTranslate заставляет конкретные термины выходить одинаково каждый раз — независимо от провайдера и настроения модели. Добавьте пару 勇者 → Hero или アリス → Alice, и каждое вхождение в игре отобразится ровно так; именно это держит имена персонажей, названия мест, коронные приёмы и терминологию предметов согласованными в 40-часовой RPG, переведённой десятками пакетов. Подстановка применяется через непрозрачные плейсхолдеры ещё до отправки текста, так что её уважают и обычные машинные переводчики, не только LLM. Глоссарий доступен с тарифа Supporter.
Глоссарии в RuneTranslate импортируются и экспортируются в CSV из раздела Settings — со столбцами для исходного термина, целевого термина и целевого языка. Импорт предлагает Merge, который добавляет строки поверх имеющихся и убирает дубли, или Replace, который стирает существующий список. CSV, сохранённые из Excel, читаются как есть. Это практичный способ поделиться глоссарием с соавтором, переиспользовать его на серии игр одного кружка или сделать резервную копию большого списка терминов перед крупной правкой.
В RuneTranslate есть совместные проекты: один человек хостит проект и приглашает остальных работать над ним вживую. Все видят правки друг друга по мере их появления, индикаторы присутствия показывают, кто в каком разделе, а если двое трогают одну строку, побеждает более поздняя правка. Хостинг совместного проекта требует Supporter или выше, а присоединяться можно бесплатно — так что платящий хост может привести сколько угодно бесплатных помощников. Текст такого проекта живёт на нашем сервере, пока существует сессия, а неактивный совместный проект истекает через 15 дней.
RuneTranslate выгружает вашу работу в файл .rtpatch — идентификаторы единиц, исходные строки, по которым идёт сопоставление, и ваши переводы, и никаких файлов игры или ресурсов. Друг открывает собственную копию игры как проект, импортирует патч и экспортирует переведённую сборку уже для себя — это одновременно и вежливый способ поделиться, и безопасный, потому что ни бинарники игры, ни графика из рук в руки не переходят. Так же вы переносите свою работу между компьютерами, передаёте проект корректору или обновляете перевод после того, как игра получила патч. На бесплатном тарифе можно экспортировать один патч и импортировать один раз в три дня; на платных тарифах ограничений нет.
Когда переведённая вами игра получает обновление, в RuneTranslate не нужно начинать заново. Пересканируйте источник в существующем проекте: экстрактор добавит новые строки и сохранит уже переведённые привязанными к их идентификаторам, а память переводов подставит всё, что разработчик просто перенёс или повторил. Останется перевести небольшой остаток и экспортировать снова. Оговорка в том, что несколько движков адресуют текст по позиции, а не по устойчивому ключу, поэтому крупная структурная перестройка игры способна сдвинуть идентификаторы; пересканирование только добавляет вновь найденные строки, так что если после пересборки игры новых рядов оказалось намного больше, чем вы ожидали, чище будет создать новый проект и дать памяти переводов заполнить его заново.
Очередь — это способ RuneTranslate переводить несколько проектов без присмотра. Поставьте в очередь до десяти проектов на Supporter (до тридцати на Pro), запустите её перед сном — и каждый проект отработает до конца и передаст эстафету следующему, а утром результаты будут ждать в редакторе. Это функция тарифа Supporter и выше, она использует настройки провайдера и языка каждого проекта и естественно дополняет платный тариф, где полноскоростной прогон большой RPG измеряется часами, а не минутами.
В RuneTranslate есть локальный MCP-сервер, так что ассистент вроде Claude Desktop может обращаться к нему напрямую: перечислять ваши проекты, читать отчёты об извлечении, просматривать единицы, а на платном тарифе — запускать перевод и экспорт. По умолчанию он выключен, а включённый слушает только петлевой интерфейс и требует токен, так что снаружи вашей машины до него не добраться. Диагностика сломанной экспортированной сборки через него бесплатна на любом тарифе.
RPG Maker поддерживается в RuneTranslate полностью, в пяти версиях. MV и MZ читаются из своих JSON-файлов данных — диалоги, варианты выбора, прокручивающийся текст, предметы, навыки, термины и строки параметров плагинов, — с автоматическим переносом строк по ширине при экспорте; игры, чьи данные упакованы внутрь исполняемого файла с помощью Enigma Virtual Box, распаковываются в полноценную запускаемую переведённую копию. Более старые XP, VX и VX Ace на Ruby читаются собственной реализацией Ruby Marshal, охватывающей события, базу данных и системные термины, включая зашифрованные архивы RGSSAD. XP и VX хранят текст в Shift-JIS, поэтому им лучше всего подходят языки на латинице; VX Ace работает в UTF-8 и принимает что угодно.
Ren'Py — один из самых полно проработанных движков в RuneTranslate: поддерживаются игры с исходниками в виде россыпи .rpy, игры только со скомпилированными .rpyc и игры, поставляемые в архивах .rpa, — последние два случая перед разбором декомпилируются и распаковываются встроенными инструментами. Помимо обычных диалогов и меню он достаёт кнопки экранов, текст, передаваемый аргументами во вспомогательные метки (телефон, SMS и подобное), прозу, присвоенную переменным, и таблицы данных для галерей и журналов заданий. Экспортированная сборка несёт хук времени выполнения, который принудительно ставит язык игры, а шрифт подкладывается автоматически, когда вашему целевому языку нужны глифы, которых в игре нет.
Визуальные новеллы на Kirikiri и KAG поддерживаются в RuneTranslate полностью, включая зашифрованные архивы XP3: реализовано около 26 описанных схем шифрования плюс решатель, автоматически подбирающий простые однобайтовые ключи, а архивы, дописанные внутрь исполняемого файла игры, находятся тем же способом, каким это делает сам движок. Читаются сценарии .ks вместе с тегами руби, имён и кнопок, а также скомпилированные сценарии PSB, как в KirikiriZ. Экспорт даёт и россыпные файлы с хуком AfterInit2.tjs, и патч-архив, потому что разные игры подхватывают переопределения по-разному. Зашифрованные и сжатые MDF сценарии PSB остаются вне охвата.
Wolf RPG, известный по-японски как ウディタ, поддерживается в RuneTranslate через встроенный сайдкар с открытым исходным кодом, который отвечает за расшифровку и переупаковку архивов .wolf, а строковые данные читаются из файлов .dat и .mps. Версия 2.x — проверенный путь, подтверждённый играбельностью на реальных играх. У версии 3.x, хранящей сжатые данные в UTF-8 в другой раскладке, есть собственный чистый парсер, который даёт побайтово идентичный обратный проход и поднял одну реальную игру с 7 извлечённых строк до 1856; экспортированная сборка 3.x подтверждённо запускается и показывает свои переводы. Обратная запись намеренно осторожна: строка, у которой пострадали бы управляющие коды, возвращается к японскому, а не рискует уронить игру.
Визуальные новеллы на TyranoBuilder и TyranoScript поддерживаются в RuneTranslate полностью — и в варианте, обёрнутом в Electron, и в автономном HTML5. Переводятся все файлы сценариев, языковой файл интерфейса, конфигурация и отображаемые имена персонажей, которые вставляются как полноценные определения персонажей, чтобы собственный поиск имён в игре продолжал работать. Встроенные теги KAG, в том числе с японскими названиями, маскируются перед переводом и восстанавливаются после, а двоичные или зашифрованные файлы сценариев распознаются и остаются нетронутыми, а не портятся.
В RuneTranslate есть универсальный адаптер Electron для визуальных новелл, собранных как самодельные оболочки на Electron, а не на именованном движке. Он читает и перезаписывает app.asar игры, просматривая внутри него файлы JavaScript, HTML, JSON и сценариев настоящим лексером, — это важно на современных сборках React или Vite, где наивный сканер почти ничего не находит. Игры на Cocos Creator, обёрнутые в Electron, тоже охвачены: собственный манифест ресурсов движка помогает отличить отображаемый текст от идентификаторов ресурсов, чтобы перевод не сломал загрузку ассетов. Перезапись потоковая, поэтому одну кнопку можно заменить внутри многогигабайтного архива за секунды.
Игры на Unity поддерживаются в RuneTranslate по мере сил и охватывают текст, который Unity держит вне скомпилированного кода: TextAsset и строковые поля MonoBehaviour внутри файлов ассетов, файлов уровней и AssetBundles, отдельные скрипты в StreamingAssets, таблицы локализации, многоязычные CSV и словари XUnity.AutoTranslator. Поля MonoBehaviour читаются и в сборках Mono, и в IL2CPP, зашифрованные бандлы Addressables расшифровываются и записываются обратно, а в сборках Mono удаётся достать и текст, вкомпилированный в Assembly-CSharp.dll. Обширные предохранители помечают идентификаторы, имена сцен и операнды логики как строки с ручным включением, а не переводят их: перевод одной такой строки — это ровно то, что молча ломает игру на Unity. Текст, вкомпилированный в бинарник IL2CPP, остаётся вне охвата.
RPG Developer Bakin поддерживается в RuneTranslate через встроенный сайдкар, который управляет собственным слоем данных игры. Он читает базу данных — названия и описания предметов, навыков, персонажей, классов и состояний — плюс текст событий и сценариев из пака данных игры, а затем применяет ваш перевод через встроенную локализацию Bakin как язык игры по умолчанию, так что экспортированная сборка открывается уже переведённой, без построчного патчинга двоичных данных. 3D-модели, текстуры, звук и текст, вкомпилированный в C#-скрипты игры, остаются вне охвата.
Каталоги gettext поддерживаются в RuneTranslate как формат, а не как движок, что покрывает игры, локализованные через Poedit или Weblate, и всё, что построено на Python, pygame, SDL или Solarus. Читаются и редактируемый исходник .po, и скомпилированный .mo, который игра загружает на самом деле; извлекается каждое сообщение вместе с формами множественного числа и контекстом, а при экспорте рядом с каждым каталогом компилируется свежий .mo, чтобы игра подхватила перевод без каких-либо других изменений. Если игра поставляется только с исходниками .po, экспорт соберёт недостающий .mo.
Игры на Unreal Engine 4 и 5 поддерживаются в RuneTranslate в части вынесенного наружу текста .locres — интерфейс, меню, системные сообщения и субтитры, то есть почти всё, что читает игрок. Архивы .pak читаются на чистом TypeScript, без загрузки всего файла в память, ключ AES для зашифрованных игр восстанавливается из исполняемого файла автоматически, а контейнеры IoStore из UE5 распаковываются встроенным инструментом с открытым исходным кодом и фильтром, который вытягивает только файлы локализации, — поэтому игра на 100 ГБ обрабатывается за секунды вместо полной пересборки. На выходе — небольшой переопределяющий pak, который вы кладёте в Content/Paks, а не копия игры. Строки, вкомпилированные в DataTables или в подготовленные ассеты, вне охвата, а игра, в которой .locres нет вовсе, честно сообщается как таковая, а не проваливается молча.
LiveMaker, продающийся также под именем LiveNovel, поддерживается в RuneTranslate по мере сил. Игра на LiveMaker — это исполняемый файл с дописанным к нему архивом либо отдельный файл данных, где лежат скомпилированные сценарии .lsb; встроенный сайдкар читает каждый сценарий в памяти и достаёт диалоги, пункты меню и подписи интерфейса, а затем переупаковывает архив в полную запускаемую переведённую копию. Разделённые архивы и вариант с отдельным индексом обрабатываются оба, а пересобранный архив заново открывается и проверяется до того, как что-либо будет заменено. Извлечение и переупаковка подтверждены на реальных играх — одна игра на 411 МБ дала 7715 строк и переупаковалась за пять секунд, — но запуск экспортированной сборки в самой игре пока не подтверждён.
Игры на Godot 3.x и 4.x поддерживаются в RuneTranslate и подтверждены как играбельные на реальных проектах. Распаковывается .pck, включая паки, встроенные в исполняемый файл, и зашифрованные, ключ к которым восстанавливается из бинарника; декомпилируется GDScript и преобразуются двоичные сцены; текст читается из четырёх мест, где игра на Godot может его держать: литералы скриптов и сцен, скомпилированные ресурсы перевода, которые патчатся по значению, файлы таймлайнов Dialogic и — для игр на C# — собственная строковая таблица игры, если та поставляется с загрузчиком, умеющим прочитать файл-замену. Служебная обвязка вроде путей узлов и идентификаторов ресурсов отфильтровывается, чтобы перевод не сломал поиск по сцене.
YU-RIS, движок raiL-soft, поддерживается в RuneTranslate вообще без сайдкаров — всё сделано на чистом TypeScript. Читается пакет .ypf, разбираются лежащие внутри скомпилированные скрипты YSTB, XOR-ключ каждого скрипта восстанавливается автоматически, а из них достаются сырые диалоги в Shift-JIS вместе со строками интерфейса в кавычках. Обратная запись переносит каждое значение и правит его дескриптор, поэтому перевод другой длины всё равно даёт корректный скрипт, а неизменённый скрипт выходит побайтово идентичным. Структурные фильтры не пускают в редактор байткод и метки переходов — на одной реальной игре это убрало 78 процентов рядов, не потеряв ни одной настоящей строки. Извлечение проверено на реальных играх; запуск экспортированной сборки в самой игре пока не подтверждён.
Движок System от AliceSoft — серия Rance и более широкий каталог System 3.x / System 4 — поддерживается в RuneTranslate в обеих ветках, System 3.x и System 4, и реализован целиком на TypeScript. Читаются архивы .ald и .afa, текст сообщений берётся из общей таблицы символов System39 на 3.x либо из байткода .ain конкретной игры на System 4, включая сжатые и зашифрованные варианты контейнеров, а экспорт идёт россыпными файлами-переопределениями, так что оригинальные архивы остаются нетронутыми. Три реальные игры проходят обратный цикл побайтово идентично, что доказывает извлечение и обратную запись; запуск экспортированной переведённой сборки в самой игре пока не подтверждён, поэтому перед долгим прогоном проверьте на своей игре.
Движок Artemis от iMel, известный также как Mikage, поддерживается в RuneTranslate и подтверждённо отображается в игре. Архивы .pfs форматов PF8, PF6 и PF2 читаются на чистом TypeScript, включая шифрование PF8 на основе SHA-1, а диалоги, имена говорящих и варианты выбора извлекаются и из скриптов .ast на Lua — в том числе из многоязычной формы, где каждый блок несёт ветку на язык, — и из сценариев .iet в стиле KAG. Экспорт даёт нумерованный патч-архив переопределения, который движок монтирует после базового: это тот же механизм обновлений, которым пользуются сами разработчики, а не россыпные файлы, которые движок проигнорировал бы.
NScripter и его наследник с открытым исходным кодом ONScripter поддерживаются в RuneTranslate на чистом TypeScript, без сайдкаров. Читаются обфусцированный nscript.dat, вариант Ponscripter и формы обычного текстового скрипта, поддерживается Shift-JIS, а перевод идёт построчно, оставляя каждый остальной байт неизменным. Одно правило важнее прочих и учитывается автоматически: движок определяет тип строки по её первому символу, поэтому английская строка на месте японской была бы прочитана как команда — RuneTranslate ставит перед ней префикс, принудительно включающий однобайтовый текстовый режим. Текст на картинках внутри архивов .nsa и .sar тоже читается, а переопределения поставляются россыпными файлами, которые этот движок предпочитает. Подтверждения на реальной игре внутри самой игры пока нет.
SRPG Studio, конструктор тактических RPG от SapphireSoft, распространённый на DLsite, поддерживается в RuneTranslate через встроенный сайдкар на C++ с открытым исходным кодом. Он распаковывает зашифрованный data.dts, извлекает каждое игровое текстовое поле, применяет ваш перевод и переупаковывает архив в полную переведённую копию игры — россыпных переопределений у этого движка нет. Встроенный инструмент покрывает SRPG Studio до версии 1.322; игра, собранная на чём-то более новом, может не распаковаться. Полный цикл «распаковать — отредактировать — переупаковать — прочитать заново» подтверждён на недавней реальной игре.
Если RuneTranslate не определяет вашу игру, перед тем как сдаваться, стоит попробовать три вещи. Многие игры, выглядящие как неизвестный движок, на деле оказываются поддерживаемым в маскировке — самодельная оболочка на Electron, сборка Cocos Creator, игра на Unity с непривычным именем папки, — так что откройте «Новый проект» и дайте определению посмотреть на папку, прежде чем делать выводы. Если игра поставляется с каталогами gettext .po или .mo либо с таблицей локализации в стиле Unity, они читаются как форматы независимо от движка вокруг них. А если поддержки действительно нет, напишите нам на [email protected], указав игру и содержимое папки: большинство из шестнадцати поддерживаемых сейчас движков появились именно потому, что кто-то прислал игру, которая не открывалась.
Image Studio — это редактор RuneTranslate для японского текста, вписанного в графику игры: заставки, кнопки меню, штамп на CG — до всего этого не доберётся ни один экстрактор текста, потому что это пиксели, а не строки. Работа идёт в четыре шага, и каждый можно поправить: найти области с текстом, убрать их с рисунка, набрать ваш перевод с полным контролем шрифта, размера и положения и вписать результат обратно в игру в её исходном формате, включая зашифрованные изображения RPG Maker и TLG в Kirikiri. Страницу можно также выгрузить в PNG, отредактировать во внешнем графическом редакторе и импортировать обратно. Работает на RPG Maker, Kirikiri, NScripter, Ren'Py, играх на Electron и любом движке, который держит изображения в обычных папках. Бесплатные аккаунты могут открывать Image Studio и читать, но не изменять; для редактирования нужен Supporter, а Pro поднимает дневную квоту.
В RuneTranslate есть встроенный редактор сохранений на отдельной вкладке, и он бесплатен на любом тарифе. Перетащите файл сохранения и правьте его напрямую — без проекта, без перевода, без переигрывания часа ради пропущенного флага или недостающего золота. Правки сохраняются прямо в файл, при первом изменении оригинал копируется в резервную копию рядом, и один клик всё возвращает. Это отдельный от перевода инструмент, и он работает с играми, которые вы вообще не переводили.
Редактор сохранений RuneTranslate открывает восемь форматов. RPG Maker MV (.rpgsave) и MZ (.rmmzsave) получают полноценный структурированный редактор: золото, уровень, HP, MP и EXP каждого члена отряда, переменные, переключатели и инвентарь, причём названия переменных и переключателей берутся из System.json самой игры, так что видно, за что каждый отвечает. RPG Maker XP (.rxdata), VX (.rvdata), VX Ace (.rvdata2), RPG Maker 2000 и 2003 (.lsd), Ren'Py (.save) и TyranoBuilder (.sav) открываются в редакторе переменных, который показывает сохранённые в них значения. Для MV и MZ названия переменных и переключателей можно ещё и показывать на вашем языке — это отображение только внутри приложения, в сохранение оно никогда не записывается.
Редактор сохранений меняет только те поля, которых вы коснулись, и переносит всё остальное ровно так, как нашёл, записывая через временный файл, чтобы сбой не оставил половину сохранения. При первой правке оригинал копируется в резервный файл рядом, а кнопка «Откатить» возвращает его в один клик. При этом форматы сохранений специфичны для каждой игры, и игра всегда может отвергнуть значение, которое считает невозможным, — так что перед экспериментами держите собственную копию важного сохранения.
Режим читов — это отдельная вкладка в RuneTranslate, которая встраивает живое внутриигровое меню читов в игру на RPG Maker MV или MZ либо включает инструменты разработчика в игре на Ren'Py. Вы указываете ему папку игры — проект перевода не нужен — и он добавляет меню на месте, а удаление в один клик чисто всё отменяет. Он рассчитан на офлайн-игру в одиночку на вашей собственной копии и никогда не трогает ни ваши проекты перевода, ни ваши оригинальные архивы.
Режим читов в RuneTranslate даёт играм на RPG Maker оверлей по горячей клавише — по умолчанию F10 — с добавлением 1000 золота, режимом бога, полным исцелением, убийством с одного удара, отключением случайных встреч и проходом сквозь стены, а также выдачей всех предметов, максимальными характеристиками и уровнем и мгновенной победой в бою. Вкладки «Переменные» и «Переключатели» перечисляют каждую игровую переменную и переключатель, чтобы искать по имени или id и задавать или переключать любой из них вживую. Для Ren'Py включается встроенная консоль разработчика на Shift+O вместе с меню разработчика, плюс панель, которая перечисляет и правит переменные store игры прямо во время работы. Один и тот же оверлей работает и на MV, и на MZ.
Режим читов в RuneTranslate бесплатен частично. Семь читов не стоят ничего: на RPG Maker — добавить 1000 золота, режим бога, полное исцеление, убийство с одного удара, отключение случайных встреч и проход сквозь стены, а на Ren'Py — консоль разработчика. Ещё шесть требуют Supporter или выше: выдать все предметы, максимальные характеристики и уровень, мгновенная победа в бою, вкладки «Переменные» и «Переключатели» для RPG Maker и живой редактор переменных для Ren'Py. Бесплатно или платно, читы влияют только на ту копию игры, в которую вы их встроили.
У строки, оставшейся на японском после прогона RuneTranslate, почти всегда одна из четырёх причин. Её могли вообще не извлечь, потому что она лежит там, куда адаптер не добирается: вкомпилирована в код или впечатана в картинку — как раз для этого и есть Image Studio. Она может быть помечена как исключённая и показана красной строкой с ручным включением, потому что похожа на идентификатор, с которым игра сравнивает, а не который показывает; если вы уверены, поставьте галочку и переведите её всё равно. Она может быть неудавшейся — провайдер вернул оригинал без изменений или потерял управляющий код, — и тогда оригинал сохраняется намеренно, вместо того чтобы отправить в игру испорченный текст. Либо движок откатил её при обратной записи, чтобы избежать падения: так делает Wolf RPG на строках с хрупкими управляющими структурами. Фильтры редактора показывают, какой из четырёх случаев ваш.
RuneTranslate ориентируется на движок, а не на содержание, так что додзин или взрослая игра переводится ровно так же, как любая другая на том же движке. Если она построена на RPG Maker, Ren'Py, Kirikiri, Wolf RPG, TyranoBuilder, Unity, Godot, NScripter, Artemis, YU-RIS, AliceSoft, LiveMaker, SRPG Studio, RPG Developer Bakin, Unreal или на самодельной оболочке Electron, она поддерживается независимо от тематики. Это покрывает большую часть того, что продаётся на DLsite, DMM и Itch. Провайдера при этом стоит выбирать с оглядкой: часть хостинговых LLM отказывается переводить откровенные реплики или смягчает их, бесплатные машинные маршруты не отказывают никогда (просто плохо справляются с откровенным сленгом и звукоподражаниями), а у локальной модели через Ollama или LM Studio фильтра нет вовсе.
RuneTranslate не ограничен японским оригиналом — исходный язык задаётся для каждого проекта, так что английскую игру можно перевести на испанский, а китайскую на английский теми же движками и в том же редакторе. Адаптеры опираются на форматы файлов, а не на письменность. Два практических замечания: на источнике с латиницей экстрактору сложнее отличить отображаемый текст от служебных идентификаторов, поэтому строк с ручным включением на проверку будет больше, а у игры, в которой уже есть официальные переводы, они останутся нетронутыми, а не будут перезаписаны.
Квадратики или пустые места в игре, переведённой через RuneTranslate, означают, что в шрифте игры нет глифов для символов вашего целевого языка, — обычное дело для кириллицы, греческого, польского, турецкого, вьетнамского и CJK в японской игре. Часть движков обрабатывается автоматически: экспорт для Ren'Py кладёт подходящий шрифт и переназначает на него шрифты игры. Там, где этого нет, обычно помогает замена файла шрифта в экспортированной сборке. Буквальные знаки вопроса — другая проблема: это предел кодировки в собственном строковом формате движка, а не отсутствующий шрифт, и о таком стоит сообщить, чтобы мы посмотрели на конкретный движок.
Есть три больших подхода к тому, как достать японский из игры, и RuneTranslate берёт только один из них: он разбирает собственные файлы данных игры и создаёт готовую переведённую сборку, которая остаётся у вас и запускается когда угодно, без чего-либо ещё. Альтернативы подключаются к запущенной игре или читают экран — это переводит вживую, но ничего не сохраняет и требует держать вторую программу открытой каждый сеанс. Что лучше, зависит от вашего движка и вашего терпения, и универсально правого тут нет. Подробные сравнения бок о бок по основным инструментам — Sugoi Toolkit, Translator++, mtool, Textractor, Translumo и XUnity.AutoTranslator — лежат на runetranslate.com/compare.
RuneTranslate работает офлайн везде, кроме двух мест, которым сеть нужна по самой их природе. Определение движка, извлечение, редактор, редактор сохранений, Режим читов, хранение проектов и экспорт выполняются локально. Переводу нужно соединение, потому что провайдер — удалённый сервис; исключение — локальная модель через Ollama или LM Studio, тогда и это считается на вашем собственном железе. Второе исключение — первый вход: свежей установке нужно один раз достучаться до Patreon. Дальше работать можно без соединения, а приложение время от времени переподключается, чтобы поддерживать ваш тариф в актуальном состоянии.
Скачайте для Windows. Бесплатный тариф разблокирует все функции; Supporter ($3.99/mo) разблокирует полную скорость.
Скачать RuneTranslate