Поддерживаемый движок · Unreal Engine
Unreal Engine питает огромную и растущую библиотеку японских игр — и упаковывает их совсем иначе, чем тайтл на RPG Maker или Ren'Py. Unreal хранит свой переводимый текст интерфейса (меню, системные сообщения, названия предметов и навыков, субтитры) в скомпилированных файлах локализации .locres, упакованных внутри одного или нескольких архивов .pak — часто зашифрованных AES-256 и сжатых Oodle — а на современном UE5 внутри контейнеров IoStore .utoc / .ucas вместо распакованных паков. RuneTranslate читает всё это. Он разбирает формат .pak на чистом TypeScript, расшифровывая архив ключом, который восстанавливает автоматически, сканируя поставляемый .exe (или который вы вставляете), читает запись .locres для языка, с которого вы переводите, и перечисляет каждую строку. Для игр UE5 IoStore он распаковывает контейнеры встроенной копией retoc (опенсорсный инструмент IoStore под лицензией MIT). Вы переводите любым провайдером, а при экспорте RuneTranslate записывает переводы обратно в .locres и поставляет небольшой незашифрованный переопределяющий pak — названный с суффиксом _P «патч», чтобы Unreal монтировал его последним и прозрачно заменял оригинальный текст, без переподписи и без многогигабайтной переупаковки игры. Это недавно добавленный движок, работающий по возможности: .locres покрывает основную массу текста интерфейса / меню / системы / субтитров игры, но диалоги, скомпилированные в DataTables или готовые блобы .uasset, вне охвата, и вам следует проверить переведённую сборку в игре перед тем, как делиться. Исходный язык по умолчанию японский, но настраивается на проект (китайский, корейский, английский и другие).
Текст Unreal .locres ключуется по пространству имён + ключу, и одно и то же имя предмета, навыка или персонажа повторяется во многих записях. Занесите в глоссарий ваши повторяющиеся термины первыми, чтобы каждое меню и подсказка отображали их единообразно. Глоссарий: основы →
Укажите RuneTranslate каталог игры — папку, содержащую .exe и папку <Game>/Content/Paks с архивами .pak (и/или UE5 IoStore .utoc / .ucas). Определение движка автоматически распознаёт футер pak Unreal и контейнеры IoStore; ваши оригинальные файлы никогда не изменяются.
Если паки зашифрованы AES, RuneTranslate восстанавливает ключ автоматически, сканируя поставляемый .exe — или вы можете вставить его (зашифрованные тайтлы часто публикуют свой ключ на модерских вики) в диалоге нового проекта. Незашифрованным играм ничего не нужно. Контейнеры UE5 IoStore распаковываются встроенным сайдкаром retoc.
RuneTranslate перечисляет каждую переводимую строку из .locres на исходном языке — меню, системный текст, названия предметов / навыков, субтитры — с токенами формата Unreal {0} / {Arg} и разметкой <RichText>, замаскированными за заполнителями, чтобы провайдер не мог их испортить. Переводите с помощью DeepL, LLM (OpenAI / Anthropic), бесплатного Google Translate или локальной модели; опциональный второй проход AI-редактора подтягивает формулировки.
При экспорте RuneTranslate записывает ваши переводы обратно в .locres и собирает небольшой незашифрованный переопределяющий pak (названный с суффиксом патча _P) — плюс короткий README. Он НЕ копирует всю многогигабайтную игру.
Скопируйте _P.pak в папку Content/Paks игры и запустите. Unreal монтирует патч-паки последними, так что он заменяет оригинальный текст вашим переводом — без переподписи или ключа AES. Убедитесь, что меню читаются корректно в игре, перед тем как делиться.