Модификации > Русификация игры
Русификация Dwarf Fortress
insolor:
Прогу я посмотрю. Интересно, строки длиннее исходных она умеет как-нибудь обрабатывать?
Arex:
Сам не пробовал, но в описании написано, что да:
"Radialix 2 поддерживает локализацию не только ресурсов, но и строк, размещенных в коде приложения - жестко-закодированных строк. В дополнение ко встроенным средствам в дистрибутив Radialix 2 включен плагин RDMAP к дизассемблеру IDA http://www.hex-rays.com/idapro/, позволяющий существенно улучшить качество поиска и возможности редактирования жестко-закодированных строк. Теперь практически для любых строк можно использовать перевод, длина которого превышает длину оригинала."
insolor:
--- Цитировать ---В процессе редактирования длина перевода может оказаться больше длины оригинального текста, в результате перевод не будет вмещаться в существующую структуру данных в коде локализуемого файла. Radialix позволяет решить эту проблему двумя способами:
* размещение строки в новой секции данных. Для обеспечения корректного переноса производится поиск, а затем при создании локализованных файлов коррекция всех ссылок на строку. В текущей версии поддерживается только один тип ссылок - 32-х разрядное поле, содержащее виртуальный адрес поля Техt в структуре данных строки (для Pascal String - адрес поля Len). Поиск ссылок производится с использованием таблицы перемещений, а при использовании плагина RDMAP дизассемблера IDA - во всем коде. Управление ссылками (удаление, добавление) может производиться только с помощью плагина RDMAP. Добавление новой секции и размещение в ней строк, увеличившейся длины, производится автоматически при создании локализованного файла. В список сообщений при этом добавляется соответствующая запись. Не смотря на перенос строки в новую секцию данные в оригинальном размещении строки также заменяются на перевод - сохраняется укороченная строка.
* увеличение размера структуры данных строки за счет использования байтов-заполнителей в конце строки. Обычно структуры данных в PE файле выровнены на границу 4-х байт, промежутки меду данными заполнены нулями. Увеличить размер данных строки можно только в дизассемблере IDA c помощью плагина RDMAP.
--- Конец цитаты ---
Если все действительно так радужно, как тут расписано, значит на мою долю останется меньше интересных проблем :-[
Интересно будет посмотреть как он справится с заинлайненной и развернутой strcpy ;)
mialax:
Радостно видеть, что идея перевода опять ожила. Обычно пыл у людей быстро охладевает.
Сам писал 3 программы для перевода DF. Все разочаровали качеством получаемого результата. Сейчас появилась идея 4-й, ещё более извращенной.
ЗЫ: Ещё не дошли до CraftDwarf's WorkShop?
insolor:
mialax, вот здесь http://forum.dfwk.ru/index.php/topic,204.msg13184.html#msg13184 пример того что получилось у меня в плане кириллицы.
В данный момент наработки по переводу находятся здесь: http://www.dfwk.ru/User:Insolor/translation
Насчет CraftDwarf's WorkShop не помню, а что там?
Навигация
Перейти к полной версии