Перейти к содержимому
Zone of Games Forum
Tericonio

Руководство по русификации игр от Adventure Game Studio

Рекомендованные сообщения

Программы для работы с файлами

agsutils, Любой HEX-редактор, Photoshop, Notepad++

 

Скрытый текст

 

Поддержка версии Adventure Game Studio (2.0 + /3.0 +)

Для распаковки исполняемого файла нам понадобится agsutils

Скачиваем с репозитория и извлекаем архив в удобное место к примеру на диск D:\

Переносим в папку agutils —  исполняемый файл с которым будем работать и запускаем из этой директории CMD

Команда распаковки исполняемого файла: agstract file.exe folder1

Команда распаковки AGS файла: agstract file.ags folder1

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

Скрытый текст

acsprset.spr // Спрайты игры

*.wfn //Информация о шрифте

*.ttf //Шрифт

agspack.exestub // Игровой Player или исполняемый файл самого движка

agspack.info //Информация о распакованных файлах

*.ogg //Внутренние файлы диалогов персонажей или комментариев разработчиков либо ещё музыка может быть

*.dta //Информация с текстами на кнопки, расположение текста и т.д.

*.pcx //Загрузочный экран — открывается в Photoshop

room*.crm //Комнаты в которых тоже присутствует текст и часть скриптов за их вывод

sprindex.dat // Всякие данные о спрайтах

 

 

Скрытый текст

 

agscriptxtract -oblf folder1 folder2

Редактирование *.s скриптов в folder2

Открываем в Notepad++ и находим через поиск li ax, "

В строке li ax, " — Будет текст диалогов

Ниже строк __NEWSCRIPTSTART — операнды диалогов из li ax 

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

Текст замещаем только в li ax, ",  а также смотрим на регулярки внимательно : \? & \’  \”

Пример 1: What…\? — Что\?.. = Что?..  ← Итог

Пример 2: &What… — &Что... = Что...  ← Итог

Пример 3: \’ What\’ … — \’ Что\’... = ‘Что’... ←  Итог

Теперь преобразовываем в кодировку ANSI и сохраняем

 

Скрытый текст

agssemble folder2/script.s

 

Скрытый текст

 

К примеру, мы распаковали игру и у нас вышли такие *.s скрипты

dialogscript.s / gamescript0.s /gamescript1.s /globalscript.s /room1.s /room2.s

Упаковка будет такая:

agsinject 0 RU_s/globalscript.o RU/game*.dta   //(0 — первый скрипт на упаковку в *.dta) (Первый глобальный)
agsinject 1 RU_s/dialogscript.o RU/game*.dta  //(1 — второй скрипт на упаковку в *.dta) (Второй диалоговый)
agsinject 2 RU_s/gamescript0.o RU/game*.dta  //(2 — третий скрипт на упаковку в *.dta) (Третий внутриигровой)
agsinject 3 RU_s/gamescript1.o RU/game*.dta  //(3 — четвёртый скрипт на упаковку в *.dta) (Четвёртый внутриигровой)

и т.д. если gamescript2 то уже будет после:  agsinject 4

Для комнат всегда будет 0
agsinject 0 RU_s/room1.o RU/room1.crm  //(0 — первый скрипт на упаковку в *.crm поскольку скрипт в комнате всегда будет один)
agsinject 0 RU_s/room2.o RU/room2.crm  //(0 — первый скрипт на упаковку в *.crm поскольку скрипт в комнате всегда будет один)

 

Поскольку текст не весь распаковывается из скриптов то часть остаётся ещё в *.crm и *.dta

 

Скрытый текст

После того как уже перевели в скриптах диалоги и вставили обратно в *.crm

Открываем в HEX-редакторе *.crm поэтапно

Первые 3 байта заголовок комнаты 21 00 01

2-3 байта размер секции или смещение (будем править после перевода до секции SCOMS/SCOMZ — самого скрипта)

с 5/6 байт по 0a — 0 байты

Со смещения 0x0b начинается первый отрезок комнаты и будет начало первого отрезка указанное в смещении 0x03

Теперь переходим к смещению 0x101, если первый текст объекта No hotspot или Hotspot*, то такие не переводим, а ищем между ними или же бывает объекты начинаются для перевода со смещения 0x101 (сам текст) а размер на смещении 0xFD

Включаем режим вставки, чтобы текст не замещался а вставлялся в кодировке ANSI (А  — С0) и перед объектом-текста за минусом 4 байта длина текста

Пример: 04 00 00 00 54 65 78 74 00 00 00 00 (04 — размер  3 байта нулевых поскольку предложение даже не превышает значение ff  и дальше пошёл текст 54 65 78 74 — Text)

Когда всё перевели между No hotspot и Hotspot* и заменили размер байтов перед текстом, ищем Начало следующей части комнаты, а именно SCOMZ или SCOMS,  и слева от SCOM через -9 байт будет начало первого нашего отрезка, сразу же после разделителя 07 (ID Скрипта) — И теперь выделяем с этой части и до 0x0b и будет наш размер или смещение на первую часть, и вписываем в смещение с 0x03 в перевёрнутом виде : 1с20 = 201с или 10020 = 200001

 

Как только заменили первый участок, ищем следующий через текст юКпѕ — сразу после него будет разделитель комнаты — 1 байт, а после будет уже размер отрезка — начало отсчёта 8 байт (количество объектов) после смещения и будет отрезок до следующего разделителя, и переводим так же как и в начале *.crm файла и после перевода и исправления размера перед текстом правим размер этого отрезка и сохраняем и так проделываем со всеми скриптами *.crm

 

Скрытый текст

После того как упаковали все скрипты обратно в *.dta 

Открываем в HEX-редакторе в 3 частях файла

 

Первая часть

После смещения 1800 будет первый текст на объекты или предметы, который надо переводить

Здесь не включаем Режим вставки, а просто замещаем текст 

Размер общего блока под объект/предмет 44 байта, под текст где-то 16 байт 

Править смещения не надо или размер общего файла

 

Вторая часть

Теперь переходи к последнему скрипту SCOM по поиску через юКпѕ

И после этих строк до btn или lbl находим имена персонажей, оставшиеся диалоги выбора или какой либо ещё текст

Для имён персонажей 24 байта для вариантов ответов или вопросов или диалогов 94 байта

Так же вставляем текст как и в первой части

 

Третья часть

Это оставшаяся часть с редактированием текста в btn  или lbl, и сам размер перед текстом  -4 байт и с включённым режимом вставки

В этом же месте можно изменить расположение текста и кнопок по осям X и Y (позднее напишу)

 

Скрытый текст

agspack -e folder1/ file.exe

Под обновление

Изменено пользователем Tericonio
  • Спасибо (+1) 2

Поделиться сообщением


Ссылка на сообщение

В игре Rosewater (движок версии 3.6.0) есть уже файл German.tra с немецким переводом. Может есть способ проще русифицировать игру, без ковыряния ассетов в Rosewater.ags? Просто правкой этого German.tra? По инструкциям, которые нашёл, утилитой AGSUnpacker почему-то ничего не получается.  Декомпилирую .tra в .trs, делаю правки в файле. Затем снова компилирую в German.tra. В игре ничего не меняется :( В чём может быть причина? Утилита не работает?

Поделиться сообщением


Ссылка на сообщение

@Chaves Dudevich у меня ничего не получается. Делаю изменения в немецком тексте в .trs, компилирую в .tra, и в игре изменения не отображаются. Вижу только что некоторые немецкие буквы поломались... На немецкий язык в настройках, естественно, меняю. Вы какой утилитой делаете изменения? Дайте её, пожалуйста.

Поделиться сообщением


Ссылка на сообщение
2 часа назад, Chaves Dudevich сказал:

@Amigaser В самой игре язык поменяйте, чтобы German.tra работал.
 photo-2025-04-01-17-58-55.jpg

1 час назад, Amigaser сказал:

@Chaves Dudevich у меня ничего не получается. Делаю изменения в немецком тексте в .trs, компилирую в .tra, и в игре изменения не отображаются. Вижу только что некоторые немецкие буквы поломались... На немецкий язык в настройках, естественно, меняю. Вы какой утилитой делаете изменения? Дайте её, пожалуйста.

По опыту официальной локализации игр на движке Adventure Game Studio могу сказать, что важно соблюдать исконную кодировку файла при работе с ним. 

Смотрите. Допустим, вы открыли .trs файл в Notepad++. Внимательно посмотрите на немецкий текст — вы увидите, что часть немецких букв искажена из-за того, чтобы кодировка при открытии определилась неправильно. 

okGVquz.png

А теперь меняем кодировку с ANSI на ISO-8859-1.DOS и получаем:
gjek5aB.png


Хотя не знаю, сохранит ли Notepad++ нормально.
В своё время я менял текст в trs файлах от этих игр через wxMEdit.

Изменено пользователем 0wn3df1x

Поделиться сообщением


Ссылка на сообщение

@Chaves Dudevich я тоже именно ей всё делаю. Использую последнюю версию (08) из репозитория. Там, по сути, две кнопки Decompile TRA и Compile TRS. Не получается как у вас изменить текст. А в каком редакторе вы редактировали текст в trs-файле? В какой кодировке он у вас открывается в редакторе?

@0wn3df1x Я редактирую trs-файл в Notepad++. В нём этот файл, который создала утилита AGSUnpacker, открывается в UTF-8 кодировке, и там все немецкие буквы отображаются нормально. Попробовал менять кодировки trs-файла, но ничего не помогает. Текст, который я добавляю в немецкую фразу вообще не появляется. :( Но про немецкие буквы вы правы, напр., если компилировать trs в ISO-кодировке, то буквы во фразах не ломаются. Но на кнопках всё равно ломаются.

Поделиться сообщением


Ссылка на сообщение

@Amigaser Редактировал в Notepad ++. Файл открывается в кодировке UTF-8. Предварительно еще распаковал ресурсы и сгенерировал game.id.

Поделиться сообщением


Ссылка на сообщение
1 час назад, Chaves Dudevich сказал:

Предварительно еще распаковал ресурсы и сгенерировал game.id.

Это для чего? В общем разобрался с текстом во фразах. Он появляется только если делать правку в “нумерных” строчках. Но шрифты в игре без русских букв.  Внешние русские шрифты agsfntХ.ttf не кушает. Вернее кушает, но русские буквы не отображаются. :( 

UPD. Со шрифтами разобрался. Они отображаются когда файл trs перед компиляцией переконвертировать из UTF-8 в ANSI. 

Изменено пользователем Amigaser

Поделиться сообщением


Ссылка на сообщение

Непонятно что делать с кнопками меню и пр. надписями. Изменения в текстах отображаются только для “нумерованных” строк. А все надписи на кнопках и в меню — в “обычных” строках. Видимо, утилита не всё правильно “декомпилирует” из tra. :( 

Поделиться сообщением


Ссылка на сообщение

@Amigaser 

Через *.trs не весь текст подхватывается, сам движок AGS так устроен, что часть текста не может декомпилировать в данные текста в файл *.trs

Часть текста бывает в изображениях — Надо смотреть файлы спрайтов и потрошить их

Часть текста бывает в сценах — Надо смотреть файлы комнат и потрошить их

Поэтому я и написал руководство по русификации на движке AGS, а не руководство по *.trs

Изменено пользователем Tericonio

Поделиться сообщением


Ссылка на сообщение

Понятно. Сильно заморочно русифицировать такие игры. Я попробовал перевести текст кнопки в начальном меню по вашей инструкции. Но, к сожалению, не получилось, игра крашилась. Наверно, что-то не так сделал. Видимо, не буду заниматься переводом игры. Инструкция полезная, но слишком сложно для не профессионалов. Особенно возня с правками в hex-редакторе. Жаль что нет удобных GUI утилит для прямой правки ресурсов игры, напр., как для Unity.

Изменено пользователем Amigaser

Поделиться сообщением


Ссылка на сообщение

@Amigaser рано сдались. Сгенерированный trs файл конкретно для Rosewater должен быть в UTF-8. Если файл получен из tra, то в его начало нужно добавить строчку “//#Encoding=UTF-8”, тогда проблем с порченными символами не будет. Это бага в AGSUnpacker v08, он не считывает кодировку из tra файла если в нем есть блок настроек.

Что касается непереводимости текста кнопок в меню… На самом деле все переводится, просто разработчик для немецкого языка захардкодил текст этих самых кнопок на немецком. Проще говоря, когда выбран немецкий язык, игра ищет перевод не для “New Game”, а для “Neues Spiel”. Если в trs файл добавить перевод для этой строки, то текст начинает подхватываться.

HOKATvI.jpeg

Содержимое trs файла:

//#GameId=1087995093
//#GameName=Rosewater
//#Encoding=UTF-8
Neues Spiel+
TEST+

 

Поделиться сообщением


Ссылка на сообщение

@adm-244 с кодировкой понятно. А вот куда добавлять перевод строки, так и не понял. :( Утилита AGSUnpacker делает trs-файл German.trs, в котором есть вот такие строки

……
New Game+
Neues Spiel+
New Game
Neues Spiel
Load Game
Spiel laden
Settings
Einstellungen
Continue
Weiter
Quit Game
Spiel beenden
…...

Где и что мне нужно поменять, чтобы изменить надпись на кнопке, напр., Neues Spiel, чтобы это отобразилось в игре? В самом начале в первом меню игры. Объясните, пожалуйста, мне тупому… А лучше скиньте такой правленный trs-файл.

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

    • Хмм, да, действительно, он это уточнял в более раннем, на который я ответил, которое он цитировал. Всех догоним и перегоним. Перестройка игр идёт по плану, товарищи. Ура! Ну, ммо — это тоже игры, так что почему бы и нет. Если он сумеет свести вообще все виды игр воедино под свою теорию, это будет чем-то с чем-то. Но пока что выходит, что сопоставить воедино вообще все тезисы у него всё-таки не получается, т.к. сопоставляется худо-бедно тезис про полноту, то рушится тезис про полноценность, появляются подводные камни, огромный процент “исключений”, условностей, уточнений и так далее. В целом, то, что он на этот раз хотя бы пытается сформулировать как и сформировать хоть сколько-то целостное личное мнение, это уже само по себе радует. Ещё бы он совладал со своим максимализмом и принял то, что у людей может быть отличное от его мнение...
    • Ну наконец то, основная игра из демоверсии выросла до базовой версии. Прогресс, товарищи! Торкнуло же человека на ММО, пихает где надо и не надо. Чаще где не надо.
    • Да, только никто так не делает (в не демках). Обычно ставят такую цель (или несколько целей), на которые нужно убить много времени чтобы их достичь. Вообще-то уточнял. Это даже в цитате в вашем комментарии есть. Но у меня появились вопросы к @Dusker :
      1 — Например, игра выходит на ПК, Плейстейшн и ИксБокс. При этом у версии на Плейстейшн есть эксклюзивное DLC (такие случаи были). Получается ли так, что только версия на Плейстейшн полная, а ПК и ИксБокс нет? 2 — Вспомним времена NFS4. В Плейстейшн версии были только новые трассы, а в ПК версии помимо новых трасс ещё были трассы из NFS3, но при этом в Плейстейшн версии было несколько автомобилей, которых не было в ПК версии. Как тут считать “полноту” игр?
    • Кстати, @Dusker  вот еще такой вопрос по поводу длц. Есть такая игра — Warhammer: Vermintide 2, в общем если не играли, то там такая суть, есть 5 персонажей и у каждого есть по 4 профессии, первые три доступны для всех, 4-я продается в виде длц. И эта 4-я профессия на мой взгляд ну немножечко имбоватая, поиграв на ней когда возвращаешься на стандартную такое ощущение будто с феррари пересел на запорожец, а учитывая что там в конце игрового сеанса показывает таблицу какой игрок сколько чего делал (это кооп на 4-х игроков), то она просто идеально заходит попонтоваться перед нищебродами, которые играют на стандартных, ну потому что ты в конце будешь лидировать практически по всем позициям. То есть как ни крути это длц типа имбалансных вещей, которые вы за контент не считаете. Но с другой стороны у каждой профессии свой уникальный не похожий на другие стиль игры, и за каждую из них играть довольно интересно, а за эти платные так в особенности интересно (безотносительно силы, просто за саму игру они мне понравились куда больше халявных), то есть это уникальный игровой опыт, которого ты не получишь не купив их, так что в этом плане их можно сравнить с дополнительными фракциями в какой-нибудь стратегии, которые вы я так понял за контент считаете. Вот и интересно как по вашему, считаются подобные длц за контент или не считаются?
    • Верно, твоя цель игры выполнена. Ты прошёл то, что сам считал прохождением игры. И неважно, что на этот счёт считают остальные. Собственно, твоя логика про неполноценность игр без длс является точно такой же субъективной вкусовщиной и личными критериями цели. Это твоё личное мнение, твоё личное видение ситуации. разумеется, оно имеет право быть, при этом оно не обязано совпадать с личным видением данного других людей. А потому люди, имея своё, отличное от твоего мнение, с тобой и не соглашаются, когда это противоречит их личным убеждениям. Когда кто-то претендует на объективность в своей оценке, то он пытается объединить максимальное число других личных суждений и свести оценку к общему, сделать полученное мнение более популярным, то есть тем, с чем согласятся более охотно остальными. Для этого в том числе нужно идти и на такую штуку, как компромисс. Но вывести с нуля такую оценку, с которой согласятся все, которая вообще не будет вызывать сомнения, то есть оценку не просто претендующую на объективность, но оценку объективную, сделать практически невозможно для простых людей, т.к. это крайне сложный и трудоёмкий путь. А мы разве хоть раз в этой теме обсуждали что-то КРОМЕ “субъектива”? Люди тут выкладывают свои личные мнения. “Объективность предполагает рассмотрение явлений, фактов и процессов такими, какие они есть на самом деле, вне зависимости от личного мнения, чувств или предвзятости.” Мнения, предвзятости и эмоций у тебя хватает, как и у нас, а потому все наши высказывания субъективны по определению. Этот вопрос мне ты не задавал, этот вопрос задал тебе я. А что там было в твоих беседах с кем-то ещё меня не касается — это тебе к тем, с кем ты говорил по этому вопросу. Ты не уточнял, что человек публикуется только в стиме. В том числе даже это не гарантирует того, что длс не может быть, например, на гитхабе или ещё где. Например. Ты сам выставлял равенство между “огрызком”, “демкой”, “неполной”, “неполноценной”, “кусочком” версией игры без длс, то есть все условия должны быть удовлетворены одновременно. То есть игра со всеми длс должна включать противоположному всем твоим высказываниям о версии игры без длс, т.е. полной, полноценной, не огрызком, не демкой, не кусочком. И демка — это не просто часть контента, это демонстративная версия игры, полнота и содержимое которой зависит от разработчика. Это может быть даже не кусочек от целой игры, а отдельный мини-сценарий или набор сценок и эпизодов, сделанный на движке игры, например, как у tales of zestiria. В демке может вообще не быть того, что есть в настоящей игре, при этом в самой игре может и не оказаться того, что было в демке. Делает ли это в том числе и саму игру неполноценной, если в демке есть то, чего нет в самой игре? Мб всё-таки ты признаешь, что хотя бы с “демкой” ты всё-таки перестарался в своих резких высказываниях?   Не то, чтобы я не понимал, что да, в природе есть игры, которые без длс неполнофункциональны, мб даже и ущербны. Но опять же — это ведь далеко не на все игры распространяется. В т.ч. то, нужны ли каждому конкретному человеку длс или нет — это уже субъективно, это по вкусу, это уже не может быть объективным, т.к. не является чем-то общим для всех и вся. Итак, будет ли когда-нибудь момент, когда тот же геншин будет “полной версией игры” при том, что у него есть временный контент, который невозможно увидеть, если его пропустить? И да, у этой игры вполне рано или поздно, но будет сюжетное завершение (которое может быть продолжено каким-нибудь парт 2, как в хонкай 3 от них же). Хорошо, мы все телепаты, ты нас раскрыл. Мы владеем сверхспособность “читать контекст”, то есть то, что не написано словами. Впрочем, возникает вопрос, а чьи же мы на самом деле читает мозговые волны, играя в пк игры, неужели у нпс действительно есть разум и биологические мозги. Скинь снова видео (оно по идее у тебя в облаке на диске гугла или яндекса, не помню уже точно), пересмотрю и разжую с подробностями. А то за это время уже запамятовал полное содержимое.
    • Прошел эту игру на PS, Syphon Filter, Resident Evil 2, не зная языка, без переведённых субтитров. Просто по наитию угадывая загадки и по видеовставкам приблизительно представляя что за сюжет.
    • Ну тогда если я себе поставил в игре цель, убить первого моба, то я прошел игру считаю, и демка уже не демка. Сам себе поставил цель — завершил — игра закончена. Может такие есть, но однозначно я видел достаточно много таких где сюжет бесконечно идет, пока ммо популярно.  Тебе не надоело обсуждать субьектив? Я этот вопрос задавал уже несколько раз, но никто почему то не хочет отвечать, странно. Я написал, если человек публикуется только в стиме, то значит если в стиме нет dlc то их нигде нет. ну потому что полная версия, это версия которая, содержит весь существующий контент. а демка, это просто часть контента. не полноценной игра может быть даже имея полную версию, просто из-за плохого качества, а не обьема. мне плевать на завершенные  продукты в контексте этого обсуждения. полная версия игры не значит завершенный продукт. полная версия значит весь существующий контент имеется в этой версии и ничего другого это не значит. не надо меня учить приходить к выводам каким то. покажи текст, благодаря которому ты пришел к каким то выводам. Сам написал “видя текст”, вот покажи этот текст который ты увидел и помог тебе.  еще бы они своё гавно не защищали, я бы удивился. изначально мне разжевал человек, который видел английский вариант, он потом даже предложил переводчикам там поправить кое где текст. и разжевал он мне совсем другой момент, он разжевал мне почему эти сектанты так относятся к Картеру, а не почему они начали друг друга убивать.  
    • Посмотрел на игру в библиотеке, думаю, ее нужно все же пройти.
      Далее нашел информацию, что русский язык в нынешнем руссификаторе не очень, теряется смысл повествования. 
      Без всякой надежды зашел сюда, а тут работа над переводом кипеть начала.

      Подскажите, пожалуйста, ориентировочно, через сколько можно ждать перевод? (Пол года/год/ не факт, что выйдет/ и т.д.).
      Просто, если через пол года год, то можно и подождать, а если не выйдет, то можно и так попробовать пройти 
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×