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

Проблемы с файлом локализации MOM2ed (Steam)

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

Возникла такая проблема: Приложение-компаньон для настольной игры Mansions of Madness 2ed. Само приложение свободно распространяется в Steam (Mansions of Madness 2ed).

Предыдущие приложения (Descent, XCOM TBG) без особых проблем разбирались стандартным набором (UnityEX) и собирались обратно. В этот раз вместо текста в извлеченном txt файле какая-то фигня.

Возможно файл неправильно извлёкся, возможно применено шифрование.

Файлы в архиве: Извлечённые файлы локализации при помощи UnityEX

Вопрос: как его привести в нужное состояние, или извлечь, чтобы можно было нормально заняться переводом?

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

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


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

 

             ObfuscateBytes(bytes, 0x411a1ba);public static void ObfuscateBytes(byte[] bytes, int key)        {            if ((bytes != null) && (bytes.Length > 3))            {                int num5 = 0;                for (int i = 0; i < bytes.Length; i += 4)                {                    byte num2;                    byte num3;                    byte num4;                    byte num = num2 = num3 = (byte)(num4 = 0);                    num = bytes[i];                    if ((i + 1) < bytes.Length)                    {                        num2 = bytes[i + 1];                    }                    if ((i + 2) < bytes.Length)                    {                        num3 = bytes[i + 2];                    }                    if ((i + 3) < bytes.Length)                    {                        num4 = bytes[i + 3];                    }                    num5 = (((num << 0x18) | (num2 << 0x10)) | (num3 << 8)) | num4;                    num5 ^= key;                    bytes[i] = (byte)(num5 >> 0x18);                    if ((i + 1) < bytes.Length)                    {                        bytes[i + 1] = (byte)((num5 >> 0x10) & 0xff);                    }                    if ((i + 2) < bytes.Length)                    {                        bytes[i + 2] = (byte)((num5 >> 8) & 0xff);                    }                    if ((i + 3) < bytes.Length)                    {                        bytes[i + 3] = (byte)(num5 & 0xff);                    }                }            }        }

 


Обратно можно шифровать тем же самым кодом с тем же ключом. Слава Ксору)
Результат https://yadi.sk/i/KIsoZBh2wzEam На выходе CSV. Вроде достаточно стандартный. Уверен, у старожил найдётся тулза для извлечения/вставки Н-ой записи из каждой строки
Пример
.,English,Spanish,French,German,Italian,Portuguese,Polish,Japanes
// ICONS,,,,,,,,
ICON_SKILL_STRENGTH,?,?,?,?,?,?,?,?
LOADING_QUOTE_0,"It is absolutely necessary, for the peace and safety of mankind, that some of earth's dark, dead corners and unplumbed depths be let alone.","Es absolutamente necesario para la paz y la seguridad de la humanidad que algunos rincones oscuros y muertos, algunas profundidades insondables de la Tierra, no sean perturbados…","Il est absolument indispensable, pour la paix et la s?curit? de l'humanit?, qu'on ne trouble pas certains recoins obscurs et morts, certaines profondeurs insond?es de la Terre…","Um des Friedens und der Sicherheit der Menschheit willen ist es absolut notwendig, dass einige der dunklen, toten Winkel und unergr?ndeten Tiefen dieser Erde unangetastet bleiben;","? assolutamente necessario, per la pace e la salvezza dell’umanit?, che alcuni degli angoli pi? oscuri e sepolti della terra e delle sue abissali profondit? rimangano inviolati.","? absolutamente necess?rio, para a paz e seguran?a da humanidade, que alguns dos confins sombrios e m?rbidos e das profundezas insond?veis da Terra permane?am inexplorados.",Ze wzgl?du na spok?j i bezpiecze?stwo ludzko?ci nale?y bezwzgl?dnie pozostawi? w spokoju pewne mroczne zak?tki i niezg??bione otch?anie ziemi.,?????????????????????????????????????????????????????????
Изменено пользователем Nightmares88

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


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

Это .csv файл и тут нужен Exel на оси

 

Spoiler

07ba5244f1e6.jpg

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


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

Nightmares88, makc_ar спасибо огромное за консультацию и помощь. Ещё немного понублю - как правильно применять приведённый код (через какую программу/как исполнительный файл/другой вариант)?

Обрабатывать перевод буду не только я, так что каждый сам будет вытаскивать для себя. Или же ведущему проект придётся паковать/шифровать файлы, полученные от других.

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


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

Это часть кода игры. Т.е. использовать его надо в среде разработки C#, например MSVS.

Скомилировал код. Исполняемый файл запускать с параметрами "входной файл" "выходной файл". Если не запустится проверь наличие .Net framework на ПК

Примеры батников приложил. Если потребуется редактируй смело/создавай свои по образу и подобию.

https://yadi.sk/d/e0Z_D_jPxRDcZ

Последний вопрос очевидно нужно адресовать коллегам. Хотят ли они разбираться сами или им проще просить ведущего.

Как вариант можно разобраться с тем, как работает UnityEX.exe в консольном режиме и сделать bat'ник который в один клик извлекает/запаковывает все файлы которые нужно редактировать

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

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


Ссылка на сообщение
Это часть кода игры. Т.е. использовать его надо в среде разработки C#, например MSVS.

Скомилировал код. Исполняемый файл запускать с параметрами "входной файл" "выходной файл". Если не запустится проверь наличие .Net framework на ПК

Примеры батников приложил. Если потребуется редактируй смело/создавай свои по образу и подобию.

https://yadi.sk/d/e0Z_D_jPxRDcZ

Последний вопрос очевидно нужно адресовать коллегам. Хотят ли они разбираться сами или им проще просить ведущего.

Как вариант можно разобраться с тем, как работает UnityEX.exe в консольном режиме и сделать bat'ник который в один клик извлекает/запаковывает все файлы которые нужно редактировать

Спасибо, это ровно та информация, которой мне не хватало.

Буду копать дальше.

Вопрос: а где можно почитать про консольное использование UnityEX.exe? Тут на форуме искать или ...?

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


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

Распаковать в корень игры архив https://yadi.sk/d/2iCi7tvDxSdcm + кинуть в корень наш зашифрованный Localization.txt

Get Text.bat - расшифровывает наш Localization.txt для перевода.

Pack Text.bat - пакует текст в игровой архив.

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


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

Доброго времени суток. Есть ли успехи в процессе перевода? :rolleyes:

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


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

Пришло обновление и готовый на 90% перевод оказался неприменим. Снова нужна помощь форумчан!

Итак, файлы локализаций вынесли из общих ассетов, теперь они хранятся по адресу в папке стима: "SteamApps\common\Mansions of Madness\Mansions of Madness_Data\StreamingAssets\AssetBundles\1.3.6\Windows\localization\"

там несколько файлов, каждый из них - asset без разрешения, но отлично открывается UAE, как ассет.

Проблема в том, при копировании готовых файлов ничего не происходит - приложение всё так же остаётся на английском, хотя в файле уже полностью руссифицированный текст.

АПД: Файлы локализации: Файлы МОМ2

Шрифты идут в sharedassets0 и sharedassets1, файл локализации - из main

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

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


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

А он похоже и не использует эти файлы в базовом сценарии, можно удалить всю папку StreamingAssets, а игра загрузится , даже при грохнутом кэше. Как плохое решение - удалить кэш, заменить файл, запустить игру без сети. В этом случае она закэширует локальные данные, т.е. русские тексты. При новом запуске игра использует кэш, т.е. перевод останется, даже если сеть появилась. Другой вопрос, надолго ли.

Как заставить unity WebPlayer сначала пытаться использовать локальные данные и лишь потом удалённые я не знаю.

PS Похоже за ресурсами игра лезет на s3.amazonaws.com, вариант залокалхостить сей ресурс через host сработал. Хотя тоже не слишком хороший вариант.

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

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


Ссылка на сообщение
А он похоже и не использует эти файлы в базовом сценарии, можно удалить всю папку StreamingAssets, а игра загрузится , даже при грохнутом кэше. Как плохое решение - удалить кэш, заменить файл, запустить игру без сети. В этом случае она закэширует локальные данные, т.е. русские тексты. При новом запуске игра использует кэш, т.е. перевод останется, даже если сеть появилась. Другой вопрос, надолго ли.

Как заставить unity WebPlayer сначала пытаться использовать локальные данные и лишь потом удалённые я не знаю.

PS Похоже за ресурсами игра лезет на s3.amazonaws.com, вариант залокалхостить сей ресурс через host сработал. Хотя тоже не слишком хороший вариант.

Кстати, а может залокалхостить тот адрес в asset'ах? в смысле поменять его в resources.assets, чтобы он просто не лез куда не надо?

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

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


Ссылка на сообщение
Кстати, а может залокалхостить тот адрес в asset'ах? в смысле поменять его в resources.assets, чтобы он просто не лез куда не надо?

В Deus Ex: The Fall я убивал библиотеку Assembly-CSharp.dll. где есть строки сайта. Замени все оригиналы на http://www.zoneofgames.ru[/post] и проверь.

Делал я как-то шрифт Old Newspaper Types с кириллицей.

Spoiler

7afa5f86f9be.jpg

Распаковать http://dropmefiles.com/jgzJB в папку с игрой, а потом запустить RU.bat.

Кеши тут сидят: C:\Users\ИМЯ КОМПА\AppData\LocalLow\Unity\WebPlayer\Cache Можно добавить в батник строчку для копирования файлов локализации, которые находятся на системном диске и тем самым не убивать библиотеку.

Отображение скрытых файлов и папок: https://support.microsoft.com/ru-ru/help/14...ow-hidden-files

Spoiler

e2b47a3cd271.jpg

Не уверен в том, что прокатит замена кеша. Добавил папку RU в русификатор http://dropmefiles.com/Ma4do, где будет текст для патча, но он там у меня английский. У меня нет дополнения Mansions of Madness - What Lies Within http://store.steampowered.com/app/478980/, т.е. новый кеш в папке RU делайте сами.

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

    • Вот, например, популярно расписано что такой мультикласс и с чем его едят. Ты б попробовал сперва сам, прежде чем чудеса искать в других. Уворот можно качать без убийств, если не знал. В т.ч. никто не запрещает потом вернуться в старый класс. После перехода навыки вкачанные не теряются и доступны. Сам обычно брал первым лвлом неосновной класс, качал подобные вещи ещё на пляже в начале, потом переходил в то, что хотел основным. Около получаса гринда, а потом комфорт на всю игру. Повторюсь, всё это чаще всего нужно, когда хочешь играть в одного персонажа без каких-либо сопартийцев. Тут совсем другой подход к игре и другие потребности.  
    • Моя теория подтвердилась. Делитнул сейф (ранее не находил такого меню в игре, либо игра не реагировало на него), переставил руссификатор и игра заработала на русском… Чудеса!
    • Русификатор Venetica 1.00 обновлённый (Только текст) Исправлен текст Немного изменён шрифт Добавлен game_menu.gfx из-за одной строки в Настройках управления (которая отсутствовала в english.bin)   P.s. Архив самораспаковывающийся (Закинуть в папку Venetica и запустить, согласившись на замену) 
    • @oleg72 еще одно чудо которое в игру не играло. Нет там автолевела, я чётко помню как убегал из локации в которой даже три раунда просто выстоять не мог и я выше писал, что в соло комфортно можно играть если в уровне превосходсвто есть.    Девка повелась на прекрасного незнакомца, который ей в последствии глаз вырвал, один из персонажей убивает свою дочь — это так обычно не то что в третьем ведьмаке. Сюжет там есть и он хорош, но его очень мало и локации очень разнообразные, просто на графон деньги кончились.  Для своей целевой аудитории это шедевр на все времена, ну а идеальную игру, так еще такую в которой после нескольких прохождении недостатков не увидеть, еще никто не сделал.  
    • @sakhDoc не думаю что в сейвах дело. автор чуть выше писал что заменяются ресурсы, если я правильно понял, то в результате вместо английского появляется русский. а сейвы легко находятся, можно даже отредактировать их в блокноте. да и в самой игре есть кнопка удаления сейвов.
    • Cразу “Ведьмак” вспоминается, последняя книга, я помню там какую-то чудищу тоже Мыкола звали.
    • Добавлю, как и до этого, что проблема аналогична. Но я грешу на сейф игры. Возможно в нём зашиты какие-то настройки. Как удалить сейф/файл с настройками, я так и не нашел.
    • @Atanvaron  перекачал с я.диска. архив, опять скопировал (как и в прошлые разы с заменой, т.е. в нужное место копирую) — ничего. скачал установщик, запустил, он сам нашёл куда установлен tape to tape, поставил — ничего. Логично. Но не поменялось ничего ошибок нет, тексты в порядке, в настройках язык меняется английски <> французский.
    • ля там треш ближе к концу происходит, я увидел очередную нелепую смерть в кино 
    • Вполне нормально и вписывается в логику в отличии от модного ныне ухилист, бомбардувальник, бiмба (видео про Бибу и Бобу нашедших русскую бiмбу просто бiмба какое ржачое своей мовой и бомбой которая бiмба ), кiт и кот и прочие перлы мовы включая моё любимое, ділянка, как обозначение спец участка в ралли WRC (в русском делянка — участок в лесу, а в WRC это или этап или спец участок, что как раз один из примеров “узкой специализации” о которой писал @Mertisadon ). Так даже болгары не отжигают со своими обычными словами похожими на наши матерные. Так что неудобно должно тебе стать от прослушивания украинских стендап диалогов жителей западных хуторов украины (вчера как раз видел ролик о том как Мыкола с западного хутора старые жигули продавал, разговаривая на непонятной смеси суржика и мовы, камеди клаб просто отдыхает), а не от моей писанины
  • Изменения статусов

  • Лучшие авторы


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

×