3030 Deathwar Redux - A Space Odyssey / 3030 Deathwar Redux - космическая одиссея

Программы / Игры

scripts_D пожатая глава на дубли 8177
Deathwar_EXE переводить не больше оригинала (кратного 2 в большую) +4 символа. (Длина проверяется при вставке).

Аккуратно переводить в missions lua, только текст обрамлённый кавычками, внутри текста добавляемая кавычка экранируется слешем.
Если будет хоть один косяк с этим, придётся потратить очень много времени, чтобы его найти. (И ещё не ясно вылетит игра или что-то сломается, что можно даже не заметить).

А также в глава scripts, но не столь медицинская, переносить в перевод ego: и other: как есть. (Тут конечно можно проверить везде ли проставлены, но лучше не нарушать это правило тоже).

Настройки извлечения
Deathwar_EXE – не обязательно без переносов
старое (text_txt – как есть оригинальные переносы, остальное unix)
ansi переносы win \r\n можно извлечь всё так

Скачать русификатор (тестовая версия beta)

Памятка замеченные вылеты, что-то исправлено:
Вылет, если names2.ovl неправильно собран (в 9 строчке нулевой байт) и при переводе любого имени. Исправлено (вернут оригинал)
Вылет где-то в exe при переходе мышкой на карте на систему. Исправлено
Иногда вылет при запуске игры, если часто нажимать эскейпт в катсценах, не всегда вылет, (не существенно).
После перевода missions пропал офицер (хотя при новой игре есть, но зацикливается его диалог и не уйти от него). Походу тут смысла нет парится с переводом наименований, всё багать только будет, как вариант лучше перевести только большие тексты и простые предложения, и сойдёт, я так думаю.
Сделана альфа без наименований с тем что есть.

добавлено 2025
экспорт импорт текста exe для тестов и отладки перевода этой части
если кто захочет продолжать перевод
https://disk.yandex.ru/d/7JL9ITNqlayfOQ
так как на этой части текста могут быть баги из-за добавления перевода, необходимо играть в игру и проверять перевод.
я думаю понятно, что для вычисления багованой строки перевода, придётся частями добавлять перевод, ну и по интуиции с какой строкой тот или иной баг может быть связан.

-----------------------------------------------------------------------
Если кто-то надеется, что это разберёт разработчик, то огорчу вас, так как эта часть кода сделана с текстом, то для выноса всего текста нужно затратить колоссальные усилия перекроения кода и передачи этого текста во внешний локализационный файл, не думаю что разработчик будет этим заниматься. Да была инфа о поддержке локализаций, вероятно он имел ввиду вынос текста лишь из текстовых файлов с кодом, которые не так уж и сопротивляются доступом к переводу. Лично я не видел игр в движке с таким нестандартным видом строк исполнительного файла где был бы локализационный файл (см. Exanima, Eschalon Book), слишком проблематично искать в коде текстовые строки и найдутся ли все. Сделать всё можно, но стоит ли игра свеч со стороны разработчика, ведь текст ещё и ему придётся переводить.
В частности говоря о тексте в исполнительном файле, даже ни разу за 10 лет не видел ни одной игры, которая изначально была с текстом в коде исполнительного файла и этот текст был перемещён в локализационный файл. В общем о локализации языков разработчикам нужно заморачиваться на этапе разработки, а не писать всё в кучу с кодом или хотя бы задумываться можно ли это легко будет перенести в локу.

Констатация факта появления ошибок при переносе во внешний файл текста, после написания кода. Может возникнуть проблема при сравнении с соответствием текста со служебными словами или наименованиями чего-либо при вызове объектов, методов, классов, даже файлов, а также для вызова последующего кода при содержании в строке определённого набора букв. Что вызовет проблему после перевода. Также как и в нашем случае при переводе определённого текста, из-за чего придётся производить отладку и искать проблемную строку. Так что как с нашей стороны без исходников кода, так и со стороны разработчика имеющего исходники кода, с этим могут возникнуть проблемы при таком подходе начатому на начальных этапах разработки приложения.

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

Radialix – обычный инструмент для обработки стандартных сишных строк текста из exe и dll с возможностью подключения и разделения ссылок с плагином ida.
Выложенный выше софт подойдёт для борландских строк таких движков как эта игра, по сути эти строки имеют идентификатор одинаковый для всех строк (но разный для ansi и utf16 кодировок, и разный во всех приложениях) и в конце выравниваются байтом завершения \x90.
Ну и также существуют приложения с длинной строки в push, боле сложный вариант видов строк, например DungeonDredmor Domina Diablo1 моды. Софт был на зог DungeonDredmor, но тут уже вероятно придётся использовать дизассемблер IDA.
Да-да, возможно, что попытки добавить локализацию в Domina свели с ума и этого разработчика, теперь игры нет в стиме. :)

Оглавление:

Название Статус Активность Готово
cutscenes переводится > 1 года 100% (102 / 102) читать
missions переводится > 1 года 100% (1624 / 1624) читать
scripts_D переводится > 1 года 100% (6282 / 6282) читать
text_ovl переводится > 1 года 100% (2997 / 2997) читать
text_txt переводится > 1 года 100% (196 / 196) читать
Deathwar_EXE   переводится > 1 года 100% (8976 / 8976) читать
upg_weap_ships редактируется > 1 года 100% (328 / 328) читать
upg_weap_ships_footer редактируется > 1 года 100% (104 / 104) читать
-ignore_old_upg_weap_ships готово > 1 года 100% (380 / 380) читать
Перевод
Перевод:
текст с английского на русский
Создан:
25 марта 2019, владелец: CIbeaST
Скачали:
9 чел.
Права доступа:
войти все
видеть чужие версии все
скачивать результат все
оценивать перевод все
комментировать перевод все
переводить все
читать блог все
комментировать блог все
писать в блог все
анонсировать модераторы
редактировать оригинал никто
редактировать описание никто
управлять группой модераторы
Участие в группе нет группы
Готово:
100.00% КП = 1.0