Руководство по переводу игры на движке Unreal Engine 4/5
Как переводить игры на движке Unreal Engine 4/5
Здесь я опишу как можно перевести игру самостоятельно. Сразу скажу, что я не эксперт в этом деле и это руководство может оказаться не верным(не рабочим).Вы можете поспрашивать в дискорде (не моём и на английском) как что-то сделать нужное вам: Unreal Engine Modding. Либо почитать руководство(англ.): UE4/5 Modding Guides.
Все приведённые ссылки не являются рекламой.
Итак начнём сначала. Вам необходимо: Fmodel запускать его нужно от имени администратора, при запуске выбрать расположение игры и так же версию игры, её можно узнать в свойствах игры. У меня 5.3
И так же может пригодиться сам движок ue, но это так сказать по воле случая.
Вам так же нужен файл usmap как вытащить его показано и рассказано тут Extracting usmap. Либо найти из архива Unreal-Mappings-Archive
Теперь, если fmodel просит какой-то ключ или не открывается пак файл, то вам нужен AESKeyFinder, распаковываете и закидываете в него exe файл находящийся немного глубже в файлах игры и заканчивается на -Shipping.exe. Запускаете bat файл и, возможно не сразу, но получаете заветный ключ AES
Что ж, теперь к переводу, представим, что нам нужно перевести locres файлы. Находим примерно вот такую директорию.
locres файл должен лежать в директории именно под названием игры, а не engine. Не нужно переводить движок!
Там у вас должно быть названия языков по типу en и т.п., переходим на нужный и через пкм экспортируем locres файл
Т.к. у меня нет locres файла игры и мне лень скачивать и искать где он есть, я покажу на примере движка(engine). Переходим туда где этот файл теперь лежит, нажимая на game.locres (у меня engine.locres)
Дальше нам нужна программа для перевода этого файла, можете использовать любой удобный вам. Дам две ссылки UnrealLocresEditor, UE4LocalizationsTool
Переводим и экспортируем. Советую сначала не переводить всё, а частично и проверить в игре, если всё работает переводим полностью
Дальше нужно упаковать соблюдая всю директорию упаковать через bat файл, как это делать написано тут Creating Pak Files(англ.) либо по видео ССЫЛКА (рус.). Засовываем в игру где лежат pak файлы и проверяем.
На случай, если вы перевели всё, а игра переведена моментами, это может значить, что файлы текста запрятаны в uasset файлах. Вы можете попробовать воспользоваться Solicen.UEExtractor(у меня он не работает как нужно), либо после этого ниже будет небольшое руководство с рассуждением
UEExtractor. Распаковываем через fmodel все ассеты, обычно нужные нам находятся в blueprints
После нужно перенести папку с ассетами на exe файл программы UEExtractor, либо через cmd вводим примерно так (нужно самим вписывать где exe и где папка): UEExtractor.exe "...\FmodelOutput\Exports\YourGame" extracted_text.csv --noparallel
После можно сразу проверить, можно ли создать locres файл через cmd строку с таким содержанием: UEExtractor.exe <csv файл> <путь до locres>
Если у вас не создаётся файл, либо новопереведённый патч ничего не меняет в игре, то это скорее всего, как я понял, значит что ваши ассеты зашифрованы и автор программы сказал, что ничего не сможет с этим сделать. Скажу сразу, что ассеты можно перевести, но есть нюанс.
Упаси боже вас переводить uasset/uexp файлы, но раз уж начали...
Если вы видите pak файлы и дургих расширений файлов нет, то можете воспользоваться PakMaster для распаковки, либо другим способом(у меня другой вид распаковки)
Если видите utoc/ucas файлы значит вам нужна программа для распаковки ZenTools и для запаковки IOStorePackagev2.
Видео как распаковывать и запаковывать ТУТ либо можете почитать ниже.
Чтобы распаковать через zentools нужно через cmd ввести команду по такому примеру: ZenTools.exe ExtractPackages <там где находятся пак файлы> <куда распаковывать> [-EncryptionKeys=<файл ключа>]
Итак после распаковки вам нужно понять где находится uexp файл (если у вас нет такого, можете попробовать перевести uasset, но у меня такой перевод не работал), который нужно перевести.
Вы можете попробовать перевести этот файл через UE4LocalizationsTool, через него так же можно перевести эти файлы, но у меня этот способ не работал
Довольно сложный аспект в этом переводе, это то что если другие способы не рабочие вам нужно будет перевести этот файл через любой HexEditor, я использую Hex Editor Neo. И сложность в необходимом соблюдении байтов.
Я не хочу сильно вдаваться в подробности и не особо я понял как перевести не получая ошибки в игре, если у вас есть информация по этому поводу, пожалуйста напишите. НО есть способ перевести с ограничениями не сильно утруждаясь
Через HexEditor просматриваем нужный нам файл и находим заветный текст на иностранном языке, покажу на примере:
У меня текст "What's up?" теперь нужно просто ввести перевод не добавляя лишнего байта, чтобы из этой фразы в переводе было столько же символов
Примерно так. Как по мне это не особо то как нужно переводить, но вы можете попробовать разобраться в этом деле. Но этот способ всё ещё работает
Сохраняем и теперь нужно всё это запаковать через IOStorePackagev2(ссылка выше).
Для этого: в папке где распаковывался пак файл должен лежать файл ResponseFile.txt, через поиск в файле находим файл который мы переводили. Полностью копируем строчку. После создаём новый текстовый документ(название на английском, какое не важно), туда вставляем скопированный текст, сохраняем.
В IOStorePackagev2 находим IoStoreCommands.txt и редактируем примерно вот так: -Output="куда выйдет файл и его название.utoc" -ContainerName=название -ResponseFile="файл где лежит недавно созданный нами txt"
Теперь наконец-то заходим в IOStorePak.exe
Выбираем где находится UnrealPak.exe движка
Дальше выбираем куда будут выводится файлы global.utoc(они нам не пригодятся)
Потом папку куда мы распаковывали, и дальше из этой же папки нужно указать packagestore.manifest и ScriptObjects.bin файлы
Из папки упаковщика перетаскиваем IoStoreCommands.txt и Crypto.json
Называем как вам угодно и запускаем.
Теперь нужно обязательно добавить к файлу _P в конце названия, пример: pakchunk99-Windows_P.ucas
и ещё создать пустой файл с расширением pak, я вам его оставлю
pak
pakchunk99-Windows_P.pak339 Byte
Готово! Осталось только перетащить эти файлы в папку Paks игры и проверить.
На случай если у вас вместо букв квадратики, то вот:
Оставлю тут для себя больную тему как добавить/заменить шрифт для игры по видео(рус.) ССЫЛКА либо руководство(англ.) Replacing Fonts
YΛTSKØV
легенда спасибо за детство
Mar 02 2025 03:36 

1
Денис Солицен
Крайне удивлен упоминанием моей программы (UEExtractor), с тех пор утекло много воды, ну и кроме прочего, недавно я сменил парсер и переписал функциональность, поэтому рассуждения по утилите могут несколько устареть, но в любом случае благодарю за упоминание.
Apr 28 2025 23:31
Redonkym
Денис Солицен, я посчитал нужным упомянуть все возможные решения для перевода. Ваша программа может помочь заинтересованным людям. Не зря же старались)
Apr 29 2025 20:38
Асурка
ууууууу и понял и не понял перечитал 2 раза и мозг задымился
Nov 03 2025 16:23