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

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

header.jpg?t=1667371736

Скоро игре 5 лет, а перевода всё нет, и нет. 

Придётся заняться самим.

Движок: Unity

Жанр: Решение с последствиями, Детективное, Симулятор.

Скрытый текст

ss_4c6c5a4884d488901e46f59b27a927fabfaa6bdf.600x338.jpg?t=1667371736ss_47c3834a936809e97a1cdb73c92d08dc3e3be0cb.600x338.jpg?t=1667371736ss_93240f1b975ade56fe039b11a69b8e975f9e19e3.600x338.jpg?t=1667371736ss_f6b027840e7686b027c3abdbe1d5e24cdea732c2.600x338.jpg?t=1667371736ss_1db871954330237c38a19c52addbe32520a7c04c.600x338.jpg?t=1667371736ss_2b83b31983ba0ebfdd54c8bcf1809206fd81c5ff.600x338.jpg?t=1667371736ss_4bc23d36da8c86102cb9121a8d6750dc2ebe0f5b.600x338.jpg?t=1667371736ss_86496956257de4d0d31f08481a1f8f06cef2508e.600x338.jpg?t=1667371736ss_546d3e707cf4ddfcda75365949c31626c642f261.600x338.jpg?t=1667371736ss_9810d081f383354d0d0d55cbd14bcfd4f3ccc238.600x338.jpg?t=1667371736ss_481d6b34edea76cd25153c63b20543833a8e30cd.600x338.jpg?t=1667371736ss_fadd80d3e96e8a9af1ff115a45cc092b45d997ec.600x338.jpg?t=1667371736

 

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

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


Ссылка на сообщение
5 часов назад, Amigaser сказал:

@Saimys87 русский SDF шрифт Ubuntu сделал в разных вариантах, которые в игре используются. В архиве дампы для шрифта для Unity Patcher. https://disk.yandex.ru/d/8fdbp8xPI_ruZA
А в этом архиве шрифты уже импортированные в ассеты игры. Их просто скопировать с заменой в папку Ignorance_Data
https://disk.yandex.ru/d/JWjCw-kKlDbcTA Возможно где-то в игре ещё и другие шрифты используются, это можно выявить только по мере её прохождения. Тогда нужно вычислять нужный шрифт и заменять его на похожий русский.

С текстами оказалось чуть сложнее, чем ожидалось. Не весь текст в объектах TextMeshProUGUI, некоторый в объектах с другими классами, и некоторый скомпилирован прямо в код в виде строк. Напр., как надписи на третьем скрине. Но основной текст всё же в объектах TextMeshProUGUI. Ещё есть проблемы, что переведённый текст может на влезать в контейнер для него предназначенный, банально из-за того, что перевод на русский длиннее английского текста. Даже в настройках это проявилось. Тут, кроме как сокращать русский текст, не знаю что ещё можно сделать.
https://disk.yandex.ru/i/5iHP2pfHs_usxQ
https://disk.yandex.ru/i/CNj-aUGwqCW9zg
https://disk.yandex.ru/i/_xNyVdZhOqZhyg
Вот вытащенный текст по файлам ресурсов из объектов TextMeshProUGUI. Это просто текстовые файлы в формате json. Добавлять перевод нужно в поле textru (в кавычках). Переводить можно только текст, escape-последовательности (перенос строк и пр.), обратные слэши, служебные символы и тэги не трогать. В тэгах можно переводить только текст в них.
https://disk.yandex.ru/d/mjxG1KGG6RvIGw
Если надо, можно текст и в таблицу Эксель, где будет и поле для перевода (textru). После перевода вставлю перевод в дампы и импортирую в ассеты в ресурсах. Я вижу процесс перевода так:
- проходить игру, и по мере прохождения искать в json-файлах фразы и переводить их в контексте игры. 
- после прохождения вставлю перевод в игру, и нужно будет его протестировать по мере прохождения
- тексты, которые остались не переведённые, записывать в текстовый файлик с их переводом, я смогу затем англ. текст поискать в ресурсах игры и заменить их на перевод. Также можно отдельно сохранять русские тексты, которые не вписываются в контейнеры для них предназначенные. И думать как их сократить, заменить.
Вот как-то так… Тогда может получиться вполне приличный перевод этой игры.

Теперь вопрос: как мне это переводить? o_O Напрямую через файлы никак? Или я просто читал невнимательно

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


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

@Saimys87 что непонятного? Берёшь текст из поля "texten", переводишь, и вставляешь перевод в поле "textru". Сохраняешь изменения. Когда всё переведёшь, скинешь мне файлы с переводом. Я импортирую перевод в ресурсы игры. А если захочешь сам попробовать заняться импортом, напиши в личку. Попробую рассказать что да как.

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


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

Как импортировать атласы и метрики для шрифтов, которые я сделал для версии игры 1.1.9207.35014.
Скачайте UnityPatcher
Releases · JunkBeat/UnityPatcher
Распакуйте архив в папку игры. Создайте тут же папку RURU и распакуйте в неё файлы вот из этого архива
https://disk.yandex.ru/d/f0QWrPyGW5R7rA
Это шрифт Ubuntu в разных вариациях. Затем запустите командную строку cmd рядом с Patcher.exe и выполните команду

Patcher.exe pack "RURU" -i "Ignorance_Data" —outsamedir —backup

Дампы импортируются в ассеты и создастся рядом папка BACKUP с оригинальными файлами (на всякий случай). Это только шрифт Ubuntu русифицированный в разных вариациях, но в игре могут быть ещё и другие шрифты. Вычислять их сложно. Проще всего вытащить все шрифты из игры также через UnityPatcher командой

Patcher.exe unpack -i "Ignorance_Data" —font

Создастся папка Patcher_Assets и в ней папка SDF со шрифтами. Там смотреть png-картинку (Атлас) шрифта и сличать буквы из неё с текстом в игре. Похожий SDF шрифт подменить на русский. Можно взять тот же Ubuntu, но отредактировать идентификаторы в метрике и имена файлов метрики и атласа, импортировать в игру по команде выше, и проверить в игре. Если это тот шрифт, то заколосится. Если не тот, то пробовать другой похожий. Можно было бы найти шрифт цивилизованно через UnityExplorer, но у меня почему-то не работает с этой игрой BepInEx, который нужен для UnityExplorer. Если удастся подобрать работающий, то найти нужный шрифт будет проще.

Для того, чтобы экспортировать тексты из ассетов в дампы, нужно выполнить в cmd вот такую команду
Patcher.exe unpack -i "Ignorance_Data" -c TextMeshProUGUI —group type_source
В папке Patcher_Assets появится папка MonoBehaviour, а в ней по папкам ресурсов будут находиться json-дампы. В каждом файле json-дампа есть поле "m_text", в нём и будет англ. текст для перевода. 

Для импорта переведённых дампов в ассеты игры, нужно очистить папку RURU и скопировать туда переведённые дампы без всяких папок, просто в кучу. Выполнить команду импорта как для импорта шрифтов выше. Все команды импорта в ассеты нужно выполнять, естественно, при закрытой игре.

Не все тексты в игре находятся в ассетах. Некоторые тексты  вставлены прямо в код игры в виде строк. Но таких строк не сильно много. Для их перевода придётся воспользоваться декомпилятором кода и правкой их прямо в коде игры, с последующим сохранением модуля. Это всё находится в файле Assembly-CSharp.dll в папке \Ignorance_Data\Managed\. Для декомпиляции и поиска текста нужно воспользоваться утилитой dnSpyEX
Release v6.5.1 · dnSpyEx/dnSpy
Распаковать в какую-нибудь папку и запустить. Выйти из игры. Открыть файл Assembly-CSharp.dll. Затем в строке поиска искать текст, который нужен. Напр., при выходе из игры появляется окно с текстом “Are you sure you want to quit to your desktop?” Найти текст с настройками поиска как на картинке
https://disk.yandex.ru/i/DXj-gIaU-nUAxQ
Затем нажать на нём правой мышкой и выбрать “Изменить инструкции IL” и заменить текст на русский. Затем OK. И в меню выбрать Файл — Сохранить модуль.

Некоторые фразы могут содержаться не в объектах с классом TextMeshProUGUI. Для их поиска нужно воспользоваться командой Патчера search. Напр., для поиска текста WE PROTECT THE NATION. нужно выполнить такую команду:
Patcher.exe search "WE PROTECT THE NATION." —entire_search  —once —export -i "Ignorance_Data" —group type_source —output_folder Patcher_search
Будет найден ассет, содержащий этот текст, и результат поиска в виде json-дампа будет помещён в папку Patcher_search
А дальше переводим там этот текст и дамп с переводом помещает в папку RURU (предварительно очистив её) и выполняем команду импорта.

Многие хотят переводить прямо в контексте игры не выходя из неё и правя текст прямо по ходу игры. Такой вариант тоже есть, напишу о нём позже.
P.S. Все длинные тире в командах перед опциями — это два тире, движок форума их почему-то сливает. :( 

Изменено пользователем Amigaser
  • +1 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Victor Veles

      Жанр: Action/RPG/Beat ’em up Платформы: PC & PlayStation 4 Разработчики: SEGA, Ryu Ga Gotoku Studio Дата выхода на PC: 25 марта 2021 Состояние русификации
      Выпущен, ведётся доработка
      Скачать русификатор (v.0.5.0)
      Наша группа в ВКонтакте
      Наш канал в Telegram
      Наш бот в Telegram
      Наш чат в Telegram
      Наш канал на Youtube
    • Автор: MrTest
      .hack//G.U. Last Recode
      Жанр: RPG / 3D Платформы: PC PS4 Разработчик: CyberConnect2 Издатель: Bandai Namco Entertainment Издатель в России: Bandai Namco Entertainment Дата выхода: 3 ноября 2017 г. http://store.steampowered.com/app/525480/hackGU_Last_Recode/


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

×