-
Публикации
21 -
Зарегистрирован
-
Посещение
Репутация
0 НейтральнаяО NickolasFox
-
Звание
Новичок
- День рождения 26.08.1987
Информация
-
Пол
Male
-
Откуда
Санкт-Петербург
Посетители профиля
812 просмотра профиля
-
Вижу все таки переводу быть. Народ, который за техническую часть отвечает, а вы удостоверились что у вас запаковка будет потом правильной? Разбиение по файлам не случайной была. Инфа в распакованном формате только внутренние индексы содержит, она не знает в каком файле оно существует :), уверен что вы все проверели прежде чем начать ну или у вас хотя бы какая-то карта есть, чтобы потом все обратно записать.
-
BumB_32, и все остальные компетентные товарищи, если будут какие-то моменты мешающие процессу создания русских udlg, лучше атаковать меня в личку, чтобы я это увидел побыстрее. Сейчас вышел на новую работу, загруз довольно высокий, но если какие-то инструменты нужны будут, постараюсь что-нибудь придумать. Lemansky, https://github.com/tarvitz/udlg/tree/dev вот это, если навыков не хватает, то лучше дождись пока организуются переводческая группа на нотабенойде или где-то схожем месте.
-
Ветку форума давно читал? //forum.zoneofgames.ru/index.php?...st&p=640097 перечитай
-
Добавил простой механизм кеширования, для удобства тестирования и записи строк в udlg файлы: - Удалять теперь ничего не нужно - Любое изменение в файле-локализации (например Characters/Lucas1.txt) при следующем запуске скрипта перезапишут udlg-файл - Для создания кеша необходимо перезапустить apply_i18n скрипт
-
Возможно, стоит проерить
-
Актуально для dev ветки репозитория, все изменения будут вестись там вплоть до релиза перевода, если таковой будет. Добавил в репозиторий скрипты: - unpack_i18n.bat - распаковывает потенциально значимую част для перевода - apply_i18n.bat - на основе распакованной части и оригинальных файлов создаёт локализованные. Важно - Внутри unpack_i18n, apply_i18n указан мой путь до игровых диалогов, у вас он может несколько отличатся, так что не забудьте поменять - Не менять имена фалов и их расположение, оно должно соответствовать реальным относительно каталога Data/Dialogs - Лучше будет, если вы скопируете оригинальную папку Dialogs и положите куда-нибудь в бэкап и будете с ней работать. - Не забудьте установить кодировку файла в UTF-8 иначе в лучшем случае скрипты упадут в процессе наложения. Можно - Если вы считаете, что какие-то элементы не нуждаются в переводе вы можете их удалить, например: 1,40=>'English'1,41=>'Serbian'1,42=>'English'1,43=>'Serbian'1,44=>'English'1,45=>'Serbian'2,7=>'Start Element'3,0=>'player'4,0=>'lucas'5,2=>'::A short man rises from behind his desk (a6166da1-2d55-4af3-9ced-ab4c6a05fa8a)' Можно оставить только 5,2=>'::A short man rises from behind his desk (a6166da1-2d55-4af3-9ced-ab4c6a05fa8a)' При применении переводов будут учитываться только те, которые присутствуют в файлах-переводов. То есть удалённые позиции будут пропущены. - Если вы поняли, что какой-то файл содержал ошибку и нуждается в переводе еще раз, то достаточно удалить собранный *.udlg файл и запустить apply_i18n.bat заново. Уже собранные файлы будут пропущены, даже если вы сделали в файлах-переводах какие-то изменения, для применения изменений следует удалить *.udlg файл. Можно удалить всю структуру каталогов.
-
BumB_32, не стоит :)
-
- https://yadi.sk/d/5aafxeSKmfkcP - полная интроспекция файлов - https://yadi.sk/d/9tfFem1ymfixG - только значимая для перевода часть. Распаковщики лежат в tools (dev ветка репозитория). Есть смысл сравнить 1-2 больших файла на предмет того, что значимая для перевода часть не затерялась нигде. В значимой части цифры, которые идут сначала и одинарные кавычки, в которые обрамлены строки, трогать не нужно. По этим данным будет осуществляться запаковка обратно данных обратно. Запаковщик пока в процессе написания p.s. Добавьте ссылку в топ на репозиторий что ли, чтобы людям по страницам не искать. И измените описание, udlg файлы уже разобраны ^_^
-
Закончил на данный момент процесс чтения, все udlg файлы читаются правильно. Потихоньку докручу запись в эти файл и перевод туда-обратно в простой формат (какой-нибудь json).
-
Уже разобрались читай последнее последнее моё сообщение, иди по ссылке. Качай темплейты, ставь 010Editor и натравливай темплейт на udlg файлы. Все необходимое уже вскрыто и помечено как оно внутри структур отображается. Делай шаг, описанный выше и все увидишь в удобном формате. https://yadi.sk/i/I3cbO7GKmdHzG примерно так это будет выглядеть. Еще раз повторю формат в 010Editor темплейтах представлен не полностью в силу того, что некоторые типы записей требуют несколько более сложных операций чем чтение вперед. Но например на cc_dogInMotion.udlg сработает адекватно. Эти данные не верны. Можешь их забыть. Строки там делятся на LengthPrefixedString и BinaryObjectString (смотри официальную спецификацию от MS, ссылка выше). Все верно 06 являтся идетификатором новой записи внутри структуры .NET Binary Data structure format документе (коим является udlg). Далее следует uint32 object_id далее уже сама строка в формате LengthPrefixedString. В неё входит от 1 байта до 5 байт и длина последующей строки кодируется этим числом. После этого идет сама строка. Не стоит пренебрегать уже проделанной работой, она должна помочь в разборе структуры. Также советую смотреть в документ [MS-NRBF] (доступен http://download.microsoft.com/download/9/5...s_Protocols.zip вот тут).
-
Такая вот инфа: https://github.com/tarvitz/udlg тут в templates лежит репрезентация нужного для чтения udlg файлов, правда с одной оговоркой. Из-за того что бинарный формат подразумевает некоторые хитрые перемещения для ClassWithId (в основно как я понял это массивы объектов) назад по прочитанному большая часть в темплейтом не прочтется до конца корректно. У 010Editor есть ограничения, через которые я уже не хочу переступать, чтобы довести работу до конца + это и не обязательно, так как составить приложение на основе имеющихся данных уже можно. В целом автор использовал стандартный механизм сериализации, документации на который находится тут https://msdn.microsoft.com/en-us/library/cc236844.aspx Я же добивать буду данный формат уже для Python, возможно, если кто-то раньше не сподобится сделать инструмент для распаковки/запаковки, то я его таки допишу.
-
BumB_32, Ясно, ну ладно. По большей части формат вскрыт, осталось некоторые моменты дописать. Выложу все наработки чуть попозже.
-
BumB_32, Два то два, но там формат используется 7BitEncodedInt, что было несколько не тривиально во всяком случае для меня, так как я не C# разработчик ;). Я тут вспомнил, ты ранее писал о внутренностях udlg, по поводу последоствательности MT ID LN TEXT, если это было в udlg файлах, у тебя сохранился тот билд? Если да мне бы его на просмотр.
-
Найдем и остальной :) BumB_32, норм видимо шрифты таки прикрутились. Вопрос в следующем как контент в файл писался?
-
Попробую коротко и по пунктам расписать текущее положение, для тех кто хочет или уже занимается внутренностями диалоговых файлов *.udlg: 1. https://github.com/tarvitz/udlg там все что уже накопано мной и что будет накопано. 2. Внутри есть templates/udlg.bt файл, это файл структуры для 010Editor, триал-доступный hex редактор, существует под все ОСи (в репозитории все ссылки даны) 3. Небольшая библиотека для чтения/записи написанная на CPython 3.4, ctypes, дальше обусловленного не читает. Больше напишу когда будет что-то вменяемое