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

Сообщение добавлено пользователем SerGEAnt

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

Извлечь весь текст не трудно. Задача состоит в том, чтобы получившийся перевод обратно записать в файлы UDLG. Это задача несколько сложнее, так как требует понимания того, как устроен формат udlg внутри, на что уйдет какое-то время.

В udlg далеко не весь текст, а только тот, что внизу в диалогах появляется. Всё остальное неизвестно где (ну вот в первой же локации, в своём отсеке ткните в витраж "Broken pixel", появится описание "this colorful mosaic бла-бла-бла". Этого в udlg нет.

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


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

Также очень понравилась данная игра.

Готов, в основном материально и морально помочь...

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


Ссылка на сообщение
В udlg далеко не весь текст, а только тот, что внизу в диалогах появляется. Всё остальное неизвестно где (ну вот в первой же локации, в своём отсеке ткните в витраж "Broken pixel", появится описание "this colorful mosaic бла-бла-бла". Этого в udlg нет.

Найдем и остальной :)

BumB_32, норм видимо шрифты таки прикрутились. Вопрос в следующем как контент в файл писался?

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


Ссылка на сообщение
Найдем и остальной :)

BumB_32, норм видимо шрифты таки при крутились. Вопрос в следующем как контент в файл писался?

Переименовал шрифт Т9.xnb в Т6.xnb (лень было переделывать). Два байта длина строки далее текст в кодировке UTF-8.

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


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

BumB_32, Два то два, но там формат используется 7BitEncodedInt, что было несколько не тривиально во всяком случае для меня, так как я не C# разработчик ;).

Я тут вспомнил, ты ранее писал о внутренностях udlg, по поводу последоствательности MT ID LN TEXT, если это было в udlg файлах, у тебя сохранился тот билд? Если да мне бы его на просмотр.

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


Ссылка на сообщение
Два то два

Ну есть и один байт длины слова, если слово не больше 0xFF по длине.

 

формат используется 7BitEncodedInt

Понятие не имею что такое 7BitEncodedInt.

так как я не C# разработчик

Я тоже не разработчик ))

по поводу последоствательности MT ID LN TEXT

Последовательность MT ID LN TEXT пришлось пересмотреть. Не устроил результат поиска игрового текста, было много мусора.

у тебя сохранился тот билд?

Прога? Или ты имел что-то другое?

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


Ссылка на сообщение
Ну есть и один байт длины слова, если слово не больше 0xFF по длине.

в том то и дело что не правильно, если длина слова 0xFF то записывается это двумя байтами 0хFF01

https://msdn.microsoft.com/en-us/library/dd...office.12).aspx

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


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

BumB_32, Ясно, ну ладно.

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

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


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

Такая вот инфа:

https://github.com/tarvitz/udlg тут в templates лежит репрезентация нужного для чтения udlg файлов, правда с одной оговоркой. Из-за того что бинарный формат подразумевает некоторые хитрые перемещения для ClassWithId (в основно как я понял это массивы объектов) назад по прочитанному большая часть в темплейтом не прочтется до конца корректно. У 010Editor есть ограничения, через которые я уже не хочу переступать, чтобы довести работу до конца + это и не обязательно, так как составить приложение на основе имеющихся данных уже можно.

В целом автор использовал стандартный механизм сериализации, документации на который находится тут https://msdn.microsoft.com/en-us/library/cc236844.aspx

Я же добивать буду данный формат уже для Python, возможно, если кто-то раньше не сподобится сделать инструмент для распаковки/запаковки, то я его таки допишу.

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


Ссылка на сообщение
Такая вот инфа:

https://github.com/tarvitz/udlg тут в templates лежит репрезентация нужного для чтения udlg файлов, правда с одной оговоркой. Из-за того что бинарный формат подразумевает некоторые хитрые перемещения для ClassWithId (в основно как я понял это массивы объектов) назад по прочитанному большая часть в темплейтом не прочтется до конца корректно. У 010Editor есть ограничения, через которые я уже не хочу переступать, чтобы довести работу до конца + это и не обязательно, так как составить приложение на основе имеющихся данных уже можно.

В целом автор использовал стандартный механизм сериализации, документации на который находится тут https://msdn.microsoft.com/en-us/library/cc236844.aspx

Я же добивать буду данный формат уже для Python, возможно, если кто-то раньше не сподобится сделать инструмент для распаковки/запаковки, то я его таки допишу.

Могу написать прогу для редактирования udlg файлов на Delphi

Только не разобрался пока со структурой этих udlg

Полистав ветку форума, все ссылки в т.ч. и https://msdn.microsoft.com/en-us/library/cc236865.aspx понял, что udlg - это файл, каждый элемент которого является записью

Есть конкретная инфа по заголовку udlg и структуре записи ?

Ну кроме

MT- что-то типа метки всегда 0x00000006

ID- индекс строки (наверное), занимает четыре байта

LN- длина текста занимает один байт (максимум длина строки составляет 255 символов)

TEXT- сам текст + служебные данные

В udlg реплики идут после символа с ASCII-кодом 6

Могу написать прогу, которая позводит редактировать реплики между соответствующими служебными символами

Тогда вся эта возня со структурой udlg будет не нужна

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

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


Ссылка на сообщение
Тогда вся эта возня со структурой udlg будет не нужна

Я так и знал =)). Конечно не нужна. Всего то было нужно заменить текст и плюс длину строки.

В udlg реплики идут после символа с ASCII-кодом 6

Много мусора будет.

Короче в udlg переведенный текст вставить не проблема. Скрин был выложен выше.

Вопрос в другом, где еще игровой текст кроме exe и udlg.

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

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


Ссылка на сообщение
Могу написать прогу для редактирования udlg файлов на Delphi

Только не разобрался пока со структурой этих udlg.bt

Уже разобрались читай последнее последнее моё сообщение, иди по ссылке. Качай темплейты, ставь 010Editor и натравливай темплейт на udlg файлы.

Все необходимое уже вскрыто и помечено как оно внутри структур отображается.

Есть конкретная инфа по заголовку udlg и структуре записи ?

Делай шаг, описанный выше и все увидишь в удобном формате. https://yadi.sk/i/I3cbO7GKmdHzG примерно так это будет выглядеть.

Еще раз повторю формат в 010Editor темплейтах представлен не полностью в силу того, что некоторые типы записей требуют несколько более сложных операций чем чтение вперед. Но например на cc_dogInMotion.udlg сработает адекватно.

Ну кроме

MT- что-то типа метки всегда 0x00000006

ID- индекс строки (наверное), занимает четыре байта

LN- длина текста занимает один байт (максимум длина строки составляет 255 символов)

TEXT- сам текст + служебные данные

Эти данные не верны. Можешь их забыть.

В udlg реплики идут после символа с ASCII-кодом 6

Строки там делятся на LengthPrefixedString и BinaryObjectString (смотри официальную спецификацию от MS, ссылка выше).

Все верно 06 являтся идетификатором новой записи внутри структуры .NET Binary Data structure format документе (коим является udlg).

Далее следует uint32 object_id далее уже сама строка в формате LengthPrefixedString.

В неё входит от 1 байта до 5 байт и длина последующей строки кодируется этим числом. После этого идет сама строка.

Могу написать прогу, которая позводит редактировать реплики между соответствующими служебными символами

Тогда вся эта возня со структурой udlg будет не нужна

Не стоит пренебрегать уже проделанной работой, она должна помочь в разборе структуры. Также советую смотреть в документ [MS-NRBF] (доступен http://download.microsoft.com/download/9/5...s_Protocols.zip вот тут).

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


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

Блин, когда будет Альфа\бета версия русификатора выложена? Ну или хотя бы показано сколько процентов переведено и сколько осталось?

Неизвестность знайте ли, гложет сильнее чем малый, но видимый прогресс.

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


Ссылка на сообщение
Блин, когда будет Альфа\бета версия русификатора выложена? Ну или хотя бы показано сколько процентов переведено и сколько осталось?

Неизвестность знайте ли, гложет сильнее чем малый, но видимый прогресс.

какие альфы и беты? если ребята ещё даже не весь текст нашли!!

по русски же написано!

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


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

2 hazan

смотри F22.6.

русификатор будет готов, когда будет готов. Люди работают.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Похожие публикации

    • Автор: Badgert
      Magical Princess

      Метки: Симулятор жизни, Несколько концовок, Ролевая игра, Решения с последствиями, Аниме Платформы: PC Разработчик: Neotro, MAGI Издатель: MAGI Дата выхода: 28 апреля 2026 года Отзывы Steam: 3526 отзывов, 97% положительных Предлагаю к переводу вот такую игру — https://store.steampowered.com/app/3562120/Magical_Princess/
      Это та самая старинная “принцесс мейкер”, только с нормальной графикой и насыщенная разнообразным контентом.
      Игра сделана на Юнити, так что для опытных пользователей процесс перевода не должен оказаться слишком затруднительным.
    • Автор: SamhainGhost

      Steam
      Экшен-приключение RPG с вайбом ПК-игр 90-х. Ты и до 4 гоблинов онлайн, плюс новые работяги- новобранцы. Исследуй, собирай, занимайся крафтом и уничтожай. Забирай всё. Дай волю жадности. Делись только тем, с чем не жаль расстаться.
      Добро пожаловать в Улей, свежатина. Все новоприбывшие гоблины-работяги должны быть не ниже этого роста, чтобы умереть за королевскую армию Лидера Гоблинов. Тебе выдадут стандартную набедренную повязку и отправят на первую каторжную работу. Будь я на твоём месте, я бы как можно скорее научился крафтить снаряжение получше. Задача номер один для гоблина-работяги - сделать наш новый Улей процветающим, как в старые-добрые времена. Хватай всё, что найдёшь, люди бросили кучу полезного хлама. Кроши, рви и хватай. Не останавливайся, для Улья сгодятся любые материалы. Добывай, руби и собирай. И не забудь об органах убитых врагов… это настоящий деликатес. Делиться добычей... не обязательно, хотя это и помогает достичь наших общих целей. Все ценности и блестяшки будут переданы Лидеру Гоблинов, верно? Делись ради блага Улья, а мы позаботимся, чтобы Квартирмейстер выдал тебе всё необходимое. Новые удобные постройки и товары сделают ежедневную каторгу чуть-чуть полегче. Исследуй новые неизведанные земли с предельной осторожностью. Пусть мы ещё не на самом дне пищевой цепи, но где-то очень близко. Чтобы твоя работа была повеселее, советую собрать банду более-менее надёжных дружков. Они могут быть такими же никчёмными отбросами, как и ты, но, как говорится, сила в толпе.  
      Русификатор v.1.0a от 04.05.2026 от SamhainGhost:
      boosty
      Deepseek с правками. Для любой версии игры. 
      Из минусов: не переведены подсказки на экране загрузки, часть подсказок интерактивных объектов и некоторые моменты во всплывающих сообщениях. Мелкий шрифт и в оригинале.


×