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

Вскрытие XCOM TBG. Локализация

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

Прошу помочь. Сначала немного о сабже - это приложение для настольной игры XCOM, написанное на Unity 4.6 (судя по логам). Я понимаю, что сама тематика немного не по специализации форума, но больше не знаю куда обратиться.

XCOMTBG - App Win

Начиная с последней версии приложение стало поддерживать несколько языков локализации (как это обычно бывает - без русского, поэтому появилось желание перевести его самостоятельно).

Пользуясь советами и программами из данного раздела форума мне удалось найти файл, в котором хранится локализация. К сожалению, Unity Assets Explorer (1.3 и 1.5) хоть и смог распаковать архивы Unity, но при сборке обратно вместо какого-либо из языков локализации отображаются названия переменных (скрины скину вечером, сейчас, к сожалению не могу их снять), да и объем файла увеличивается на 3 лишних мегабайта.

Плагин Unity Assets Support для Total Commander'а напротив, справился с задачей на отлично - мне удалось вытащить файл, заменить ряд названий (поставил русские названия, вместо немецких) и загрузить обратно в архив.

После успешной первой пробы был переведён ещё кусок текста и названий. Но при дальнейшей загрузке обновлённого файла локализации приложение начало вылетать.

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

DynamicHeapAllocator out of memory - Could not get memory for large allocationCould not allocate memory: System out of memory!Trying to allocate: 1935762480B with 4 alignment. MemoryLabel: StringAllocation happend at: Line:74 in Memory overview

 

На всякий случай, я решил удалить часть локализации, которая мне не понадобится в дальнейшем (другие европейские языки). И тут тоже постигло разочарование, т.к. ошибка расширилась:

The file 'D:/!Work/Unity/XCOMTBG_Win (1)/XCOMTBG_Win_v1.1.3_Data/resources.assets' is corrupted! Remove it and launch unity again![Position out of bounds! 111980300 > 111972262](Filename:  Line: 273)DynamicHeapAllocator out of memory - Could not get memory for large allocationCould not allocate memory: System out of memory!Trying to allocate: 1850027056B with 4 alignment. MemoryLabel: StringAllocation happend at: Line:74 in Memory overview

 

Если честно - я слабо представляю как правильно сделать локализацию данного приложения (хотя на первый взгляд вроде всё не сложно). Очень прошу помочь советом - с чего начать, как продолжить, на что обратить внимание и где нужно будет внести изменения, чтобы все заработало.

Заранее спасибо.

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

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


Ссылка на сообщение
После успешной первой пробы был переведён ещё кусок текста и названий. Но при дальнейшей загрузке обновлённого файла локализации приложение начало вылетать.

А ты добавлял в тот же файл куда уже добавлял до этого или в оригинальный заново? Попробуй в оригинальный добавлять. По чуть-чуть.

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


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

Добавлял в изменённый. Я оставил контрольный файл локализации, который был изначально (Localization.mov.xml.bcg). Если копирую его обратно (т.е. восстанавливаю assets в том виде, как они были изначально, то приложение снова запускается.

Хорошо, попробую в оригинальный, по чуть-чуть.

Странно, теперь даже то, что получалось в начале не получается. Вылетает с ошибкой, в логах:

(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)DynamicHeapAllocator out of memory - Could not get memory for large allocationCould not allocate memory: System out of memory!Trying to allocate: 1952544368B with 4 alignment. MemoryLabel: StringAllocation happend at: Line:74 in Memory overview[ ALLOC_DEFAULT ] used: 13836895B | peak: 0B | reserved: 20971520B [ ALLOC_GFX ] used: 69948B | peak: 0B | reserved: 7340032B [ ALLOC_CACHEOBJECTS ] used: 427232B | peak: 0B | reserved: 10485760B [ ALLOC_TYPETREE ] used: 0B | peak: 0B | reserved: 0B [ ALLOC_PROFILER ] used: 2340B | peak: 0B | reserved: 8388608B Could not allocate memory: System out of memory!Trying to allocate: 1952544368B with 4 alignment. MemoryLabel: StringAllocation happend at: Line:74 in Memory overview

 

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


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

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

2d23247bd8b4.png

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


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

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

И ещё вопрос: Есть ли возможность удалить из файла ненужные локализации? Чтобы была только русская и английская версии.

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


Ссылка на сообщение
Вот я рискую сорвать приз за тупые вопросы: А как правильно актуализировать информацию, какая верная длина должна быть?

Размер файла в байтах

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


Ссылка на сообщение
Размер файла в байтах

Хм. Идею понял, но вот тут интересный вопрос: судя по скрину длина файла 982056 + 4, но Тотал Коммандер говорит, что общая длина файла 982064. Куда делись 4 байта? О_о

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


Ссылка на сообщение
Хм. Идею понял, но вот тут интересный вопрос: судя по скрину длина файла 982056 + 4, но Тотал Коммандер говорит, что общая длина файла 982064. Куда делись 4 байта? О_о

4 байта в конце (00 00 00 00), служат для "выравнивания" длинны файла, пока оставь их как есть

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


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

Всем огромное спасибо за помощь, работа пошла!

Но как всегда - новые сложности:

Рабочий файл локализации

Как только я добавляю дополнительный перевод в файл выше (ну, в смысле перевожу очередной кусок текста) приложение начинает вылетать с ошибкой:

The file 'D:/!Work/Unity/XCOMTBG_Win (1)/XCOMTBG_Win_v1.1.3_Data/resources.assets' is corrupted! Remove it and launch unity again![Position out of bounds! 112833268 > 111981298](Filename:  Line: 273)Mismatched serialization in the builtin class 'TextAsset'. (Read 983076 bytes but expected 983074 bytes)(Filename:  Line: 1174)Shader warmup: 17 shaders 45 combinations 0.025sAudioController - Initialized with 24 hooks(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)Loading Saved Settings Music: 0.7894737 Sound: 0.7894737(Filename: C:/BuildAgent/work/d63dfc6385190b60/artifacts/StandalonePlayerGenerated/UnityEngineDebug.cpp Line: 49)DynamicHeapAllocator out of memory - Could not get memory for large allocationCould not allocate memory: System out of memory!Trying to allocate: 1733230628B with 4 alignment. MemoryLabel: AudioAllocation happend at: Line:334 in Memory overview[ ALLOC_DEFAULT ] used: 14692208B | peak: 0B | reserved: 20971520B [ ALLOC_GFX ] used: 69992B | peak: 0B | reserved: 7340032B [ ALLOC_CACHEOBJECTS ] used: 158348B | peak: 0B | reserved: 10485760B [ ALLOC_TYPETREE ] used: 0B | peak: 0B | reserved: 0B [ ALLOC_PROFILER ] used: 2376B | peak: 0B | reserved: 8388608B Could not allocate memory: System out of memory!Trying to allocate: 1733230628B with 4 alignment. MemoryLabel: AudioAllocation happend at: Line:334 in Memory overview

 

Пока проверил на двух разных кусках перевода в разных частях файла, ошибка вылетает одна и та же, как только значение длины файла, которую я записываю становится: 0a 00 0f 00

на нынешнем значении всё работает

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


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

UPD Всем огромная благодарность за помощь! Процесс идёт полных ходом.

Для тех, кто будет разбираться с дебрях перевода, читая эту тему - чтобы избежать ошибки в данном посте выше, необходимо добавить (или убрать) в конец файла (в блок выравнивания) дополнительные 00 байты так, чтобы длина файла делилась на 4.

Кстати, вопрос всё ещё актуален, кто-нибудь сталкивался:

И ещё вопрос: Есть ли возможность удалить из файла ненужные локализации? Чтобы была только русская и английская версии.

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


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

Перевод почти закончен, хочу ещё раз поблагодарить всех за помощь.

Накопилось несколько вопросов, с которыми так же хотел попросить помочь:

1. Если в файле локализаций меняешь название языка (в моём случае German -> Russian), то приложение падает. Как я понимаю, это связано с тем, что по названиям локализаций подгружаются остальные файлы из архива (картинки, музыка). Можно ли как-нибудь исправить данное падение и таки добавить русский в список доступных языков?

1.1. Есть вариант конечно, попробовать добавить пачку файлов с _Russian в названии, вдруг получится и заработает, но об этом скажу только завтра.

2. В продолжении варианта 1, есть ли возможность убрать остальные локализации, кроме Английской и Русской? (они, в принципе, не нужны, только место занимают) Если убираю вручную, то приложение опять же падает (а вот тут уже возникает подозрение, что языки "вшиты" в код приложения)

3. Который дополнительно вылезает из первых двух пунктов - есть вариант добавить тупо русский ко всему набору. И вот тут возникает ещё одна проблема: если оба предположения верны (части названий файлов и "вшитые" в код локализации), то если с первой проблемой разобраться можно легко, то как разобраться со вшитыми названиями локализаций и где это делать?

Заранее благодарен за помощь.

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

    • Он выйдет 5 февраля 2026 года и предложит комплексное улучшение оригинала по всем параметрам, включая графику, физику и управление. Также обещают синхронизацию движений губ персонажей в такт озвучке. Компания Aspyr анонсировала ремастер Deus Ex — самой первой части легендарной серии иммерсивных экшенов. Над игрой работает сама Aspyr в сотрудничестве с Eidos Montreal. Она выйдет 5 февраля 2026 года и предложит комплексное улучшение оригинала по всем параметрам, включая графику, физику и управление. Также обещают синхронизацию движений губ персонажей в такт озвучке. У ремастера уже появилась страница в Steam: в России за игру просят 990 рублей, заявлены русские субтитры. Ранее игра никогда официально не переводилась на русский язык.
    • Несколько лет назад же выходил ремастер первых C&C и red alert.
    • Руководство по переводу для сообщества https://steamcommunity.com/sharedfiles/filedetails/?id=3301098116 В этом официальном руководстве я объясню, как создать и отправить перевод для сообщества Raidborn.
      Пожалуйста, присоединяйтесь к официальному разделу Discord https://discord.com/invite/8Gus2ktNxY чтобы сотрудничать с другими пользователями и не работать над переводом, над которым уже работали. Ниже приведен список языков, которые уже поддерживаются (официально или сообществом):
      Английский (официальный)
      Немецкий (официальный) Загрузка исходных файлов Чтобы начать перевод, пожалуйста, сначала загрузите исходные файлы CSV https://drive.google.com/file/d/1bxr8lZM8fKZSoNxVq-6B-7zNvTh3PZJV/view?usp=sharing Я рекомендую использовать LibreOffice Calc https://www.libreoffice.org/download/download-libreoffice/  но вы можете использовать любой инструмент, который вам нужен. Для корректного открытия исходных файлов CSV, пожалуйста, убедитесь, что вы используете следующие настройки импорта: Набор символов: По умолчанию используется кодировка Unicode (UTF-8), которая должна работать для всех латинских языков. Если вы хотите перевести на нелатинский язык, например, на русский или китайский, пожалуйста, выберите подходящий набор символов. Язык: Пожалуйста, выберите язык, на который вы хотите перевести. Разделители: выберите только табулятор и не используйте текстовый разделитель.
      Все остальные опции оставьте отключенными. Затем просто просмотрите все файлы и заполните пустые столбцы локализации. Вы можете использовать чат-ботов, таких как Gemini[gemini.google.com] или Chat-GPT[chatgpt.com], для ускорения перевода, но обязательно проверяйте результаты. Такие инструменты, как этот, чаще всего допускают ошибки, что может привести к повреждению файлов перевода или просто к неправильному переводу. Подстановочные знаки При переводе вы столкнетесь с двумя типами ключевых слов, называемых подстановочными знаками, которые в основном используются в текстах квестов.
      Следующее предложение содержит подстановочные знаки и на первый взгляд может показаться загадочным: {#QuestGiverName} попросил меня принести {его|ее} 
      {#RequiredCount} {#RequiredItem}. После того, как алгоритм игры заменил подстановочные знаки, предложение могло выглядеть следующим образом:
      Уолтер попросил меня принести ему пять растений. Переменные подстановочные знаки Переменные подстановочные знаки - это переменные слова, которые не зависят от пола в контексте, в котором они используются, поэтому вам не нужно это учитывать.
      Вы можете переместить их, чтобы привести в соответствие с грамматикой целевого языка, но, пожалуйста, НЕ меняйте текст между фигурными скобками, иначе это нарушит Подстановочные знаки. Вот несколько примеров ключевых слов и их возможных значений:
      {#SpeciesSingular} = скелет, зомби, гоблин.
      {#SpeciesPlural} = скелеты, зомби, гоблины
      {#Location}  = Крепость Ворона, Лощиина Стонекона (и подобные названия локаций)
      {#LocationTypeSingular}  = руины замка, пещера
      {#LocationTypePlural} = руины замков, пещеры
      {#QuestGiverName} = Уолтер, Марк, Джозеф, Лаура, Анна, Белла (мужские и женские имена) Гендерные подстановочные знаки Поскольку игра случайным образом генерирует участников, дающих задания, их грамматический пол не определен на момент написания диалога или текста.
      Для решения этой проблемы используются гендерные подстановочные знаки в следующем формате: {male variant|female variant} = {мужской вариант|женский вариант} Мужской вариант является первым, а женский - вторым. Чтобы отделить варианты друг от друга, используется символ pipe. Давайте рассмотрим предыдущий пример, чтобы проиллюстрировать их использование: {#QuestGiverName} попросил меня привести {его|ее} 
      {#RequiredCount} {#RequiredItem}. Подстановочный знак рода {он|она} необходим, потому что мы не знаем, каков будет грамматический род того, кто дает задание, и, следовательно, местоимение. Пожалуйста, обратите внимание: грамматика в вашем языке может быть более сложной, чем в английском, поэтому в этом случае, вероятно, вам потребуется добавить дополнительные гендерные знаки, чтобы учесть это. Отправка перевода
      Как только вы закончите перевод исходных файлов, пожалуйста, упакуйте их в ZIP-файл и отправьте по адресу support@phodexgames.com вместе с названием языка, на который вы перевели игру.
    • Накатил версию 1.3 и увидел странный баг
      https://youtu.be/Mwgw5VB6zBw
    • RAIDBORN Метки: Ролевая игра, Пиксельная графика, Приключения, экшен-RPG.
      Платформы: PC
      Игровой движок: Unity v2021.3.45.895135
      Разработчик и издатель: Phodex Games
      Дата выхода в Ранний доступ: 29 марта 2023  года
      Отзывы Steam: В основном положительные (279)
      ИГРА НАХОДИТСЯ В РАННЕМ ДОСТУПЕ RAIDBORN это захватывающая фэнтезийная экшен-RPG с возможностью строительства базы и процедурно генерируемыми подземельями. Грабьте легендарные сокровища, улучшайте снаряжение, развивайте свои навыки и погружайтесь в напряжённые сражения. Устали тратить драгоценное время на бесконечные прогулки и долгие диалоги? Хотите быстрее перейти к интересным моментам? Больше не надо объяснять! RAIDBORN как раз для вас. Постройте свой форпост и наймите опытных членов команды, чтобы они поддержали вас в ваших приключениях. Выберите из множества захватывающих навыков и станьте ловким мечником, умелым мастером, свирепым варваром, хитрым вором или кем-то еще.
      Постройте и управляйте своим форпостом
      Открытая система навыков для максимальной свободы
      Обширная система крафта
      Сотни уникальных предметов для экипировки
      Погружайтесь в интенсивные сражения, экспериментируйте с различными боевыми техниками и выбирайте из разнообразного арсенала оружия ближнего и дальнего боя, чтобы сокрушать орды зла.
      Удовлетворяющая система комбо
      Активная физика тел для отличной обратной связи при использовании оружия
      Пинайте врагов в ловушки и с обрывов
      Враги с уникальными способностями и стилями боя
      Создайте своего персонажа, используя разнообразные захватывающие навыки. Выберите свою судьбу и станьте ловким мастером меча, свирепым варваром, бронированным рыцарем, хитрым разбойником или кем-то промежуточным.
      Открытая система навыков для максимальной свободы
      Обширная система крафта
      Сотни уникальных предметов для экипировки
      Находите и используйте легендарные артефакты Системные требования: Минимальные: ОС: Windows 10 Процессор: Intel Core i5-2300 Оперативная память: 4 GB ОЗУ Видеокарта: Nvidia GTX 750-Ti DirectX: версии 10 Место на диске: 2 GB Рекомендованные: ОС: Windows 10 Процессор: Intel Core i5-3570K Оперативная память: 8 GB ОЗУ Видеокарта: Nvidia GTX 960 DirectX: версии 11 Место на диске: 2 GB Официальный сайт игры: https://raidborn.com Игра в Стиме: https://store.steampowered.com/app/1546090/RAIDBORN/ Цена в РФ: 880 руб Дискорд разработчика Phodex Games: https://discord.com/invite/8Gus2ktNxY Ютуб разработчика Phodex Games: https://www.youtube.com/phodexgames/ Трейлер RAIDBORN : https://vkvideo.ru/video-212496568_456244708 RAIDBORN!!! КРАТКИЙ ОБЗОР - на YouTube: https://www.youtube.com/watch?v=llPCLyllnsQ
    • @Svetoch932 я кстати когда выбирал сохранения из первой части (где я с Товой мутил), игра мне подсунула, что я типа выбрал Алису. Хотя инфа по пройденным квестам вроде бы взята из моего сохранения. Впрочем я не уверен, я кажись пропустил сцену после титров в конце первой части (оказывается оно там должно быть). Да и вообще когда я начал вторую часть у меня появилось ощущение, будто я какой-то кусок из первой части пропустил, так-как подразумевают, что весь класс катался в Имир, а я такого вообще не помню.
    • Если скинете конкретные упоминания или скриншоты, на что нужно смотреть, и предлагаемые изменения, то конечно исправлю. Но вот сам их выискивать не буду.
    • Проклятые леваки не дают атлантам плечи расправить, да что ты будешь делать!
    • жаль что нету официальной русской локализации! кто в курсе, она позже  может появится или же это даже не планируется? Ну я бы поиграл в хороший аутентичный ремастер, культовой сери игр C&C! Думаю что многие поклонники хороших стратегий в реальном времени, со мною бы согласились...
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      Вышел русификатор для Knights and Bikes (текст и текстуры) steam/gog совместимый
      · 0 ответов
    • Nitablade  »  k0rre0n

      Куда же ты пропал...
      · 0 ответов
    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
  • Лучшие авторы


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

×