Muse Dash

Muse Dash

Not enough ratings
Русификатор / автопереводчик через XUnity.AutoTranslator для IL2CPP
By Твой Сладкий
Гайд, как сделать автоматический переводчик на игру. + файл с частичным переводом.
   
Award
Favorite
Favorited
Unfavorite
Пример перевода
Предисловие
Данная инструкция сделана конкретно под игру Muse Dash, но так же может подойти для иных игр, сделанных на движке Unity (проверить можно это вбив название по ссылке
https://steamdb.info/tech/Engine/Unity/?min_reviews=500)
и при этом ИМЕЮЩИМ библиотеку IL2CPP

Проверить наличие библиотеки чаще всего можно в корневой папке игры common\(название игры)\(название игры)_Data
В случае с Muse Dash в папке common\Muse Dash\MuseDash_Data присутствует папка il2cpp_data, что подтверждает наличие библиотеки

Данная инструкция не подойдет иным играм, не удовлетворяющим этим требованиям.
1. Необходимый софт
Раздел довольно большой, так что если желаете, качайте готовую сборку с Яндекс Диска для вашей системы (я ее заготовил, чтобы не прыгать по ссылкам со всего раздела, а качать все сразу) если у вас она х64 ссылка: https://disk.yandex.ru/d/3bJcfi2FfP1wYQ и если она у вас х86 ссылка: https://disk.yandex.ru/d/RGt3QBd12uoEvA

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

Если желаете скачать все с оригинальных сайтов, то вперед дальше по текущему разделу. Если скачали сборку выше, то переходите к следующему разделу "2. Распаковываем в папку с игрой".

Установите .NET 6.0
(или новее), если требуется для работы BepInEx (скачать можно с сайта Microsoft[dotnet.microsoft.com])

https://dotnet.microsoft.com/ru-ru/download/dotnet/9.0

Например, прямая ссылка на скачивание NET 9.0.7 x64[dotnet.microsoft.com]
https://dotnet.microsoft.com/ru-ru/download/dotnet/thank-you/runtime-desktop-9.0.7-windows-x64-installer

NET 9.0.7 x86[dotnet.microsoft.com]
https://dotnet.microsoft.com/ru-ru/download/dotnet/thank-you/runtime-desktop-9.0.7-windows-x86-installer

Далее
BepInEx для IL2CPP

Перейдите на страницу BepInEx Bleeding Edge Builds[builds.bepinex.dev] и скачайте последнюю версию BepInEx-Unity.IL2CPP для вашей разрядности игры. В нашем случае надо BepInEx-Unity.IL2CPP-win-x64, но оставлю так же ссылку на вторую версию.
https://builds.bepinex.dev/projects/bepinex_be

Прямая ссылка на скачивание BepInEx-Unity.IL2CPP-win-x86-6.0.0
https://builds.bepinex.dev/projects/bepinex_be/738/BepInEx-Unity.IL2CPP-win-x86-6.0.0-be.738%2Baf0cba7.zip

Прямая ссылка на скачивание BepInEx-Unity.IL2CPP-win-x64-6.0.0
https://builds.bepinex.dev/projects/bepinex_be/738/BepInEx-Unity.IL2CPP-win-x64-6.0.0-be.738%2Baf0cba7.zip

XUnity.AutoTranslator для IL2CPP:

Перейдите на страницу релизов XUnity.AutoTranslator[github.com].
https://github.com/bbepis/XUnity.AutoTranslator/releases

Скачайте файл XUnity.AutoTranslator-BepInEx-IL2CPP
Например, XUnity.AutoTranslator-BepInEx-IL2CPP-5.4.5.zip
Прямая ссылка на скачивание
https://github.com/bbepis/XUnity.AutoTranslator/releases/download/v5.4.5/XUnity.AutoTranslator-BepInEx-IL2CPP-5.4.5.zip

Шрифты
(опционально):

Если игра не отображает кириллицу (к данной игре не относится и тут пункт можно пропустить, но может пригодиться для других игр), скачайте шрифты, такие как arialuni_sdf_u2019, из набора TMP_Font_AssetBundles.zip с того же GitHub-репозитория или других источников.
Прямая ссылка на скачивание https://github.com/bbepis/XUnity.AutoTranslator/releases/download/v5.4.5/TMP_Font_AssetBundles_2025-05-12.7z
2. Распаковываем в папку с игрой
2.1 Если вы не знаете где именно установленная игра то делаем следующее:
Библиотека стим - ищем игру в списке игр - ПКМ - управление - посмотреть локальные файлы.



Или кликом на шестеренку. Результат тот же.




2.2 Закидываем наши архивы BepInEx-Unity.IL2CPP-win-x64-6.0.0-be.738+af0cba7.zip и XUnity.AutoTranslator-BepInEx-IL2CPP-5.4.5.zip в корневую папку игры (Например, в моем случае: E:\SteamLibrary\steamapps\common\Muse Dash).

Распакуйте архив BepInEx-Unity.IL2CPP (в нашем случае BepInEx-Unity.IL2CPP-win-x64-6.0.0-be.738+af0cba7.zip) в корневую папку игры (где находится MuseDash.exe и папка MuseDash_Data). После распаковки в корневой папке должны появиться папки BepInEx, doorstop_libs и файлы, такие как winhttp.dll.

Далее распакуйте архив XUnity.AutoTranslator-BepInEx-IL2CPP (в нашем случае XUnity.AutoTranslator-BepInEx-IL2CPP-5.4.5.zip) в корневую папку игры.
Убедитесь, что файлы из папки BepInEx в архиве AutoTranslator добавляются в уже существующую папку BepInEx в игре.

У вас в итоге должно получиться примерно так:


3. Первичная настройка
После этого запускаете игру и у вас появится черное окошко как на скрине ниже. Окошко не закрывайте. Нужно, чтобы игра загрузилась после полной загрузки окна. Ждите загрузки игры. Если он застопорился, кликните ENTER. Скрин:

4. Настройка переводчика. Версия 1. Ленивая настройка.
Просто качаете файл конфигурации по ссылке https://disk.yandex.ru/d/8EHzCvuX_ADE_g
Заходите в папку в корневом каталоге BepInEx\config

[/previewicon]


Далее там заменяете файл AutoTranslatorConfig на тот, который скачали. (Если файла или папки нет, то снова запускаете игру, чтобы они появились)

Далее там заменяете файл AutoTranslatorConfig на тот, который скачали. (Если файла или папки нет, то снова запускаете игру, чтобы они появились)



Файл конфигурации из ссылки выше актуален для версии XUnity.AutoTranslator-BepInEx-IL2CPP-5.4.5
4. Настройка переводчика. Версия 2. Ручная настройка.
Заходите в папку в корневом каталоге BepInEx\config





Далее открываете файл AutoTranslatorConfig. (Если файла или папки нет, то снова запускаете игру, чтобы они появились)



Выставляете настройки


[Service]
Endpoint=GoogleTranslate
FallbackEndpoint=GoogleTranslateV2

[General]
Language=ru
FromLanguage=en
----------------------
[Behaviour]
MaxCharactersPerTranslation=1000
IgnoreWhitespaceInDialogue=False

Эти настройки выше позволяют поменять язык, на который переводится игра (Language=ru), язык, с которого переводится (FromLanguage=en), Максимум символов на текст для перевода. Макс 2500. (MaxCharactersPerTranslation) и так же игнорирование пустового места (IgnoreWhitespaceInDialogue).

Endpoint и FallbackEndpoint выставляют основной и запасной переводчик.

Не забудьте сохранить изменения.

Если у вас проблемы с постоянным переносом фраз на новую строку, то попробуйте другой переводчик. К примеру

[Service]
Endpoint=GoogleTranslateCompat
5. Файл перевода
Или берете файл из сборки, которую я заготовил, или качаем файл отдельно по ссылке https://disk.yandex.ru/d/MxL8PRHA-MdQgQ

Перевод находится в папке BepInEx\Translation\ru\Text. (BepInEx это папка в корневой папке игры, которую показывал на скринах выше) Так что заходим туда и заменяем наш _AutoGeneratedTranslations.txt

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

В переводе в основном улучшенный с помощью нейросети Grok автоматический перевод обучения, а так же некоторые описания персонажей в разделе выборов покупки и так же эльфов. Больше я ничего не захватывал. Остальное переведется автоматически в указанный файл в процессе игры.
Управление плагином
ALT + 0: Переключать XUnity Автоперевод UI. (Это ноль, а не О) (от себя добавлю, что позволяет через интерфейс программы во время игры менять переводчик, не затрагивая файл конфигурации с помощью блокнота)
ALT + 1: Переключительный перевод Агрегатор UI.
ALT + T: Переключает между включенным и выключенным переводом.
ALT + R: Перезагрузить файлы перевода. Полезно, если вы измените текст и текстурные файлы на лету. Не гарантированно работает для всех текстур. К сожалению, команда не работает в данной игре по какой-то причине. Если нужно обновить файл, перезагрузите игру.
ALT + U: Ручной зацепинг. Позволяет выделить на участке экрана текст для перевода.
ALT + F: Если настройка OverrideFont будет переключаться между переопределенным шрифтом и шрифтом по умолчанию. (То есть, шрифтом, который установлен в настройках файла конфигурации и шрифтом по умолчанию)
ALT + Q: Перезагрузите плагин, если он был отключен. Это будет работать только в том случае, если плагин был отключен из-за последовательных ошибок к конечной точке перевода. Следует использовать только в том случае, если у вас есть основания полагать, что вы исправили проблему (например, измененную конечную точку VPN и т. Д.), В противном случае она просто снова отключится.

Ключи только для отладки:

CTRL + ALT + NP9: симуляция синхронных ошибок
CTRL + ALT + NP8: смоделируйте асинхронные ошибки, задерживающиеся на одну секунду
CTRL + ALT + NP7: распечатайте загруженные имена и идентификаторы сцены на консоли
CTRL + ALT + NP6: отпечатайте всю иерархию GameObject в файле hierarchy.txt

Как выбрать переводчик через команду ALT+0 (ноль):
Установите гугл или другой, которые подсвечиваются белым. Те, что серые в списке, на данный момент не работают.
Возможные возникшие проблемы и методы их решения
Проблема 1:
Успешная работа BepInEx, но не видит XUnity.AutoTranslator, и соответственно не создается папка AutoTranslator и файл перевода. Возможно, что получение config.ini прошло успешно.

Решение.
Ни в коем случае не закрывать игру сразу после запуска окна игры. Лечится тем, что сначала закинуть beplnex в корневую папку и после запуска игры подождал 20 секунд и только после закинуть XUnity.AutoTranslator переводчик.

Информация предоставлена благодаря решению пользователя "кредит на очко"
Конец по настройкам текущей игры
Теперь все. Можете запускать игру как обычно, то есть через Steam или обычный ярлык. Игра теперь идет с переводом.

P.s. Когда будете копировать название песни в игре по кнопке, сначала выключите перевод командой ALT + T, и потом уже копируйте. А то скопирует переведенное название, а не оригинальное. Потом верните перевод обратно той же командой.
Иные версии переводчика для иных случаев (иных игр)
Unity
(проверить можно это вбив название по ссылке
https://steamdb.info/tech/Engine/Unity/?min_reviews=500)

и при этом НЕ имеющим библиотеку IL2CPP
Проверить наличие библиотеки чаще всего можно в корневой папке игры common\(название игры)\(название игры)_Data
В случае с Muse Dash в папке common\Muse Dash\MuseDash_Data присутствует папка il2cpp_data, что подтверждает наличие библиотеки
В текущей игре Love Love School Days в папке common\Love Love School Days\LoveLoveSchoolDays_Data отсутствие папки il2cpp_data соответственно подтверждает отсутствие библиотеки
https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=3465278682
Исправление проблем с шрифтом. (Для иных игр)
Данный раздел не нужен для текущей игры, так как тут все в порядке с шрифтом, но может пригодиться для иных игр.
Данный раздел пригодится вам, если у вас при русском автопереводе какие-либо проблемы с отображением символов. К примеру, если отображаются кубики вместо символов или кракозябра, или если у вас слишком большое место между символами в шрифте, хотя на изначальном языке все отображается без проблем.

Берем и качаем шрифты Cuprum по ссылке
https://fonts.google.com/specimen/Cuprum#standard-styles
или https://disk.yandex.ru/d/jVLWVMN0gX7Jsw
(вторая просто с моего Яндекс диска. Первая официальная)
Далее разархивировать в любое место. Например я распаковал в нашу любимую директорию игры. Заходим в распакованную папку



Далее папка static и тут уже выбираем нужный нам шрифт



Правой кнопкой нажать по файлу Cuprum-Regular.ttf и в открывшемся контекстном меню кнопка "установить для всех пользователей"





В папке common\Muse Dash\BepInEx\config в файле AutoTranslatorConfig.ini меняем значения

OverrideFont=Cuprum

Еще мне понравился шрифт Roboto. Он немного шире прежнего.
Ссылка с моего Яндекс диска на архив: https://disk.yandex.ru/d/170Yk7_bWKcpfw
Ссылка с страницы шрифта: https://fonts.google.com/specimen/Roboto

Если ставите его, то соответственно В файле Config.ini меняем

OverrideFont=Roboto

И ставим по примеру выше

Для изменения шрифта TextMeshPro ставим

OverrideFontTextMeshPro=arialuni_sdf_u2018

Сохраняем все изменения

На TextMeshPro

Качаем далее шрифты. Прямая ссылка на скачивание:
https://github.com/bbepis/XUnity.AutoTranslator/releases/download/v5.4.5/TMP_Font_AssetBundles_2025-05-12.7z

Или если посмотреть текущие релизы по ссылке ниже и выбрать
TMP_Font_AssetBundles
https://github.com/bbepis/XUnity.AutoTranslator/releases

Распаковываем шрифты прямо в корень игры как на скрине. Для этого сначала разорхивируем. Далее входим в новую папку и копируем шрифты в корень (остальные шрифты из корня удалил, чтобы место не занимали).



В папке common\Muse Dash\BepInEx\config в файле AutoTranslatorConfig.ini меняем значения

OverrideFontTextMeshPro=arialuni_sdf_u2018

если не сделали этого ранее

OverrideFontTextMeshPro= отвечает за наименование файла шрифта в каталоге игры. Вы можете использовать шрифты с той же папки или приобрести еще новые. Прямая ссылка на скачивание: https://mega.nz/file/87xz0AQY#A0dwP2dg0b1itQZB0tuvViBwH_FGFKDAolTCr5uKGvY

Информацию взял с https://forum.zoneofgames.ru/topic/53856-avtoperevodchik-dlya-unity-igr-xunityautotranslator/
https://github.com/bbepis/XUnity.AutoTranslator/issues/112
31 Comments
Твой Сладкий  [author] 5 Sep @ 5:31am 
[𝐏𝐒𝐁]SanciIl, добавил раздел работы с шрифтом в конце руководства. А еще я понял, что я забыл на TextMeshPro в сборку кинуть, так что тебе их нужно будет докачать отдельно. Ссылки оставил в разделе. Сборки обновил.
Твой Сладкий  [author] 4 Sep @ 11:53am 
Завтра сделаю
[𝐏𝐒𝐁]SanciIl 4 Sep @ 11:49am 
Мне для другой :melon:
Твой Сладкий  [author] 4 Sep @ 11:37am 
В общем, если уточняешь по текущей игре потому что не знаешь просто куда деть шрифт, то по текущей игре его никуда вставлять не нужно. Я его в сборку кинул, мало ли пригодится кому для иных случаев.
Твой Сладкий  [author] 4 Sep @ 11:34am 
[𝐏𝐒𝐁]SanciIl, ты уточняешь, потому что тебе для текущей игры нужно или для другой? В текущей игре это не требуется, так как тут с шрифтами все в порядке. Это для других игр, где проблема с шрифтами присутствует.

Если будет нужно для иной игры, добавлю завтра раздел про шрифты в руководство.
[𝐏𝐒𝐁]SanciIl 4 Sep @ 11:22am 
А что с шрифтами то делать, куда кидать?
Твой Сладкий  [author] 8 Aug @ 11:37pm 
Я имел ввиду, чтобы взять текст со всей игры, который в ней есть на текущую версию, даже без игры в нее. То есть текст, который мы даже не проходили во время игры. Если честно, я еще не пробовал эту методику и не знаю, получится или нет
кредит на очко 8 Aug @ 10:50am 
а про раздел, да все верно
кредит на очко 8 Aug @ 10:49am 
всм вывести? если ты про файл AutoTran..txt то получится, я всегда так делаю, только с помощью диипсика
Твой Сладкий  [author] 8 Aug @ 9:31am 
Кстати в дальнейшем хочу попробовать вывести текст из игры, провести через Grok, чтобы читабельнее было и прописать его в файл перевода, чтобы перевода в реальном времени было меньше. Я вообще хз, получится или нет но на всякий случай подпишись на комментарии