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

Автопереводчик для Unity игр XUnity.AutoTranslator

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

https://github.com/bbepis/XUnity.AutoTranslator

вот типа:baby_tone2:  пример

Скачать видео
Скачать видео

 

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

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


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

Апну тему скринами из разных игр с использованием autotranslator:

Banner of the Maid (китайский →  русский): https://imgur.com/a/LNHYwsV

Banner of the Maid (китайский → английский): https://imgur.com/a/LDdyhHK

We the Revolution (английский → русский): https://i.imgur.com/D3hJUo1.png

NITE Team 4 (английский → русский):  https://i.imgur.com/K4KPip1.png

Tales of the Neon Sea (английский → русский):  https://imgur.com/a/y7oztQg

 

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


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

Creeper World 4 (Патч на русские шрифты для автопереводчика)
BepInEx-Unity.IL2CPP-win-x64-6.0.0-pre.2_AutoTranslator-5.4.4_RU
https://disk.yandex.ru/d/GcbPbnE53mqm5A
Текст в сложных БД.

Вытянутый гогле для перевода.
https://disk.yandex.ru/d/xKGf8BEp2w6aDw

Изменено пользователем DragonZH
  • Лайк (+1) 2

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


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

Здравствствуйте лог [23:48:18.031] Force loading assembly: F:\SteamLibrary\steamapps\common\Ghost of Dragon\MelonLoader\Il2CppAssemblies\UnityEngine.VRModule.dll

Не… Объясняйте парню, а я пройду мимо. У меня объяснялка “поломалась”. 
allodernat был прав, легче уже сборку скинуть, чем устраивать разбор полётов.))

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


Ссылка на сообщение
2 часа назад, LUKINx сказал:

Здравствствуйте лог [23:48:18.031] Force loading assembly: F:\SteamLibrary\steamapps\common\Ghost of Dragon\MelonLoader\Il2CppAssemblies\UnityEngine.VRModule.dll
 

Игра Ghost of Dragon  на движке Unity  Il2Cpp, а это значит нужно ставить загрузчик и автопереводчик, который работает именно с Il2Cpp: BepInEx-Unity.IL2CPP-win-x64-6.0.0 + XUnity.AutoTranslator-BepInEx-IL2CPP-5.5.2

Правда совсем не факт, что это вообще сработает, иногда вообще нельзя никак подключить автопереводчик к игре на Unity  Il2Cpp или он не работает как нужно…

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

Изменено пользователем Дмитрий Соснов

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


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

Автоперевод игры Path of Kung Fu с помощью XUnity.AutoTranslator-ReiPatcher от  RybkaVSouse  https://www.zoneofgames.ru/games/path_of_kung_fu/files/11639.html

 

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


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

Решение проблемы перевода уже переведённого на русский язык текста!

В файле настройки загрузчика: AutoTranslatorConfig.ini (или Config.ini) в строку IgnoreTextStartingWith добавляем игнорирование русских букв: 

IgnoreTextStartingWith=а;б;в;г;д;е;ё;ж;з;и;й;к;л;м;н;о;п;р;с;т;у;ф;х;ц;ч;ш;щ;ъ;ы;ь;э;ю;я;А;Б;В;Г;Д;Е;Ё;Ж;З;И;Й;К;Л;М;Н;О;П;Р;С;Т;У;Ф;Х;Ц;Ч;Ш;Щ;Ъ;Ы;Ь;Э;Ю;Я;

Спасибо Мастеркосте, это решение я нашёл в его переводе! но не факт что этот способ сможет избавить ото всех таких проблем...
 

Изменено пользователем Дмитрий Соснов
  • +1 1

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


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

Здравствствуйте  лог [Message: Preloader] BepInEx 6.0.0-be.674 - Ghost of Dragon
[Message: Preloader] Built from commit 82077ec7c91c97f0e5f8ada5d178fd7ece6c0099
[Info   :   BepInEx] System platform: Windows 10 64-bit
[Info   :   BepInEx] Process bitness: 64-bit (x64)
[Info   :   BepInEx] Running under Unity 2020.3.34f1
[Info   :   BepInEx] Runtime version: 6.0.7
[Info   :   BepInEx] Runtime information: .NET 6.0.7
[Message:InteropManager] Downloading unity base libraries

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


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

добавил Il2Cpp: BepInEx-Unity.IL2CPP-win-x64-6.0.0 + XUnity.AutoTranslator-BepInEx-IL2CPP-5.5.2 и запустил лог из консоли

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


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

resizer

Файл resizer.txt — это инструмент для тонкой настройки отображения переведенного текста в интерфейсе игры. В отличие от глобальных параметров в config.ini (например, OverrideFontSize или EnableUIResizing), этот файл позволяет применять разные правила к конкретным элементам интерфейса — кнопкам, панелям диалогов, текстовым полям и т.д.

Зачем нужен resizer.txt

При переводе текста его длина часто меняется. Фраза, которая на языке оригинала занимала 10 символов, на русском или китайском может занимать 15—20 символов. В результате текст не помещается в отведенную область, обрезается, выходит за границы кнопки или наезжает на другие элементы интерфейса .

Глобальные настройки из config.ini (EnableUIResizing, OverrideFontSize) работают "для всех", но часто требуется более гибкий подход: где-то шрифт нужно уменьшить сильнее, где-то — изменить межстрочный интервал, а где-то — вообще не трогать. Именно для этого и существует resizer.txt.

Где находится файл

Файл resizer.txt создается автоматически или вручную в папке с переводами. Точный путь зависит от используемого загрузчика модов :

Загрузчик модовПуть к папке с переводами

BepInEx

[Папка с игрой]/BepInEx/Translation/{Lang}/Text/

MelonLoader

[Папка с игрой]/Mods/Translation/{Lang}/Text/

ReiPatcher

[Папка с игрой]/AutoTranslator/Translation/{Lang}/Text/

{Lang} — это код целевого языка, например ru или zh-CN.

Если папки или файла нет, их можно создать вручную. После изменения файла можно нажать ALT+R в игре, чтобы применить изменения без перезапуска .

Как определить путь к элементу интерфейса

Чтобы применить правило к конкретному элементу, нужно знать его путь в иерархии UI. Самый простой способ его получить:

Включите логирование путей в config.ini :

[Behaviour] EnableTextPathLogging = True

Запустите игру и откройте нужный экран (меню, диалог и т.д.).

Закройте игру и откройте файл лога (LogOutput.log для MelonLoader или BepInEx/LogOutput.log для BepInEx). В нем будут строки с путями к текстовым элементам, которые использовались во время игры.

Пример пути может выглядеть так:

/Canvas/DialogPanel/MessageText /LevelSingletons/SingletonPrefabsBundle(Clone)/PauseScreenUI/Pause Screen Ui Panel

Доступные команды

В файл resizer.txt записываются команды в формате путь = команда(параметры). Каждая команда — с новой строки.

Поддерживаются следующие команды :

1. AutoResize(min, max) — автоматическая подгонка размера шрифта

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

/Canvas/DialogPanel/MessageText = AutoResize(12, 28)

Этот пример заставит плагин подобрать размер шрифта для текста в панели диалогов в диапазоне от 12 до 28 пикселей .

2. ChangeFontSizeByPercentage(коэффициент) — масштабирование шрифта

Умножает исходный размер шрифта на указанный коэффициент. Значение 0.7 уменьшит шрифт на 30%, 1.2 — увеличит на 20%.

/Canvas/MainMenu/PlayButton = ChangeFontSizeByPercentage(0.8) /LevelSingletons/.../ItemTitleText = ChangeFontSizeByPercentage(0.7)

Это полезно, когда нужно уменьшить сразу все элементы на определенной панели .

3. UGUI_ChangeLineSpacing(коэффициент) — настройка межстрочного интервала

Изменяет расстояние между строками для многострочного текста. Значение 0.8 уменьшит интервал на 20%, что может помочь уместить больше строк в ограниченной области .

/Canvas/QuestLog/DescriptionText = UGUI_ChangeLineSpacing(0.85)

4. UGUI_HorizontalOverflow(режим) — управление горизонтальным переполнением

Может принимать значения Wrap (переносить текст на новую строку) или Overflow (разрешить выход за границы).

/Canvas/Inventory/ItemName = UGUI_HorizontalOverflow(Wrap)

5. UGUI_VerticalOverflow(режим) — управление вертикальным переполнением

Принимает значения Truncate (обрезать текст, если не помещается) или Overflow (разрешить выход за границы).

/Canvas/StatusWindow/Description = UGUI_VerticalOverflow(Truncate)

6. IgnoreFontSize — отключить изменение размера

Запрещает плагину изменять размер шрифта для указанного элемента. Полезно для текста, который не нужно трогать (например, технические надписи) .

/Canvas/VersionText = IgnoreFontSize

7. TMP_Alignment(выравнивание) — выравнивание текста для TextMeshPro

Задает выравнивание для компонентов TextMeshPro. Возможные значения: TopLeft, TopCenter, MiddleCenter, BottomRight и т.д.

/Canvas/DialogPanel/MessageText = TMP_Alignment(MiddleCenter)

Пример файла resizer.txt

# Глобальное уменьшение шрифта для всей игры /Canvas = ChangeFontSizeByPercentage(0.7) # Для панели диалогов — авто-подбор размера /Canvas/DialogPanel/MessageText = AutoResize(14, 26) # Уменьшаем шрифт в кнопках паузы чуть сильнее /Canvas/PauseMenu/ResumeButton = ChangeFontSizeByPercentage(0.65) /Canvas/PauseMenu/SettingsButton = ChangeFontSizeByPercentage(0.65) # Для описания предметов уменьшаем межстрочный интервал /Canvas/Inventory/ItemDescription = UGUI_ChangeLineSpacing(0.8) # Текст версии не трогаем /Canvas/VersionText = IgnoreFontSize

Как проверить, работает ли настройка

Сохраните изменения в resizer.txt.

Нажмите в игре ALT+R — это принудительно перезагрузит все настройки и переводы .

Если команда применилась, текст изменится сразу. Если нет — проверьте путь к элементу (возможно, он изменился или был указан неверно).

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

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

resizer.txt дополняет, но не заменяет глобальные параметры из config.ini :

Параметр в config.iniЧто делает

EnableUIResizing = TrueВключает систему изменения размеров UI в принципе. Без этого resizer.txt может не работать.

ForceUIResizing = TrueПрименяет изменения ко всем элементам, даже если текст не был переведен.

OverrideFontSize = 18Глобально меняет размер шрифта. resizer.txt позволяет сделать это более адресно.

Итог

resizer.txt — это гибкий инструмент для решения проблем с отображением переведенного текста. Он позволяет:

Задавать разные правила для разных элементов интерфейса

Использовать авто-подбор размера шрифта

Контролировать межстрочный интервал и выравнивание

Применять изменения на лету (ALT+R)

Рекомендуется включать EnableUIResizing = True в config.ini, а для тонкой настройки использовать resizer.txt, указывая пути к конкретным элементам интерфейса

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


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

за что отвечают  файлы: _Postprocessors.txt _Preprocessors.txt _Substitutions.txt в XUnity.AutoTranslator

Файлы _Preprocessors.txt, _Substitutions.txt и _Postprocessors.txt в XUnity.AutoTranslator отвечают за последовательную обработку текста на разных этапах его перевода. Они позволяют вручную настраивать, как именно текст будет выглядеть до и после автоматического перевода, а также задавать постоянные правила замены.

Ниже в таблице показано, на каком этапе и за что отвечает каждый из этих файлов.

_Preprocessors.txt    
1 (Первый)
Очистка текста перед переводом. Удаляет лишние теги форматирования, спецсимволы или мусор, который мешает правильно перевести фразу.    Удалить все теги цвета <color.*?> из текста перед отправкой на перевод.

_Substitutions.txt    
2 (Второй)
Принудительная замена слов или фраз. Работает как словарь: если фраза найдена, плагин использует указанный перевод и не отправляет текст на сервер.    Заменить "MP" на "Очки магии" или "HP" на "Здоровье" во всей игре.

_Postprocessors.txt    
3 (Третий)
Форматирование переведенного текста. Исправляет типичные ошибки машинного перевода или восстанавливает форматирование после перевода.    Убрать лишние пробелы или исправить падежи, которые часто "ломаются" при машинном переводе.

Сравнение файлов и рекомендации

Чтобы лучше понять разницу, представьте себе путь текста через эти фильтры:

Исходный текст в игре: <color=red>Do you have enough MP?</color>

Обработка _Preprocessors.txt: Удаляем теги цвета, чтобы они не мешали переводу. Получаем: Do you have enough MP?

Обработка _Substitutions.txt: Находим слово MP и заменяем его на ОМ (Очки Магии), чтобы переводчик не перевел это как депутат. Получаем: Do you have enough ОМ?

Отправка на перевод (например, в Google Translate): Do you have enough ОМ? -> У тебя достаточно ОМ?

Обработка _Postprocessors.txt: Применяем правило, чтобы сделать фразу более естественной для игры: заменяем У тебя на У вас. Получаем итог: <color=red>У вас достаточно ОМ?</color>

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

Где они находятся и как их создать
Эти файлы представляют собой обычные текстовые документы (.txt), которые располагаются в папке с переводами для вашего языка:

[Папка с игрой]/BepInEx/Translation/{Язык}/Text/

{Язык} — это код языка, на который вы переводите (например, ru для русского, zh-CN для китайского).

Если папки или файлов нет, вы можете создать их вручную с помощью любого текстового редактора (например, Блокнота). После изменения этих файлов в игре можно нажать Alt + R, чтобы применить изменения без перезапуска.

Синтаксис правил
Правила в этих файлах обычно записываются в формате Исходный_текст=Переведенный_текст.

Пример для _Substitutions.txt:

Quest=Задание
Skill=Навык
MP=ОМ

В файлах пред- и пост-обработки можно также использовать регулярные выражения (Regex) для более сложных замен. Например, чтобы удалить все HTML-теги из текста перед переводом:

<color.*?>=

 Итог
Эти три файла дают вам полный контроль над качеством перевода:

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

_Substitutions.txt полезен для исправления названий предметов, заклинаний или интерфейса, которые переводчик постоянно переводит неправильно.

_Preprocessors.txt и _Postprocessors.txt помогают "очистить" текст от мусора и причесать результат, делая его более читаемым.

Настройка этих файлов требует некоторого опыта, но именно они являются ключом к созданию качественного русификатора с помощью XUnity.AutoTranslator.

Изменено пользователем Дмитрий Соснов

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


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

Посоветуйте как мне объединить два варианта авто-перевода одной игры,  в одном файле AutoGeneratedTranslations.txt  и избавится в нём от дублей и повторений перевода одной той же строки, но разными словами?

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


Ссылка на сообщение
В 21.03.2026 в 04:11, Дмитрий Соснов сказал:

Посоветуйте как мне объединить два варианта авто-перевода одной игры,  в одном файле AutoGeneratedTranslations.txt  и избавится в нём от дублей и повторений перевода одной той же строки, но разными словами?

Можно сделать скрипт, который распределит одинаковые предложения по разным текстовым файлам.
При условии, что они действительно одинаковые (оригинальная строка), а дальше уже вам решать - что оставить, а что удалить.

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


Ссылка на сообщение
4 часа назад, parabelum сказал:

Можно сделать скрипт, который распределит одинаковые предложения по разным текстовым файлам.
При условии, что они действительно одинаковые (оригинальная строка), а дальше уже вам решать - что оставить, а что удалить.

значит не для меня, я в скриптах и программировании  ничего не смыслю… 

а  можно как то удалить уже имеющийся кривой гугловский перевод строк из файла AutoGeneratedTranslations.txt сделанный с помощью XUnity.AutoTranslator, оставив только вытащенный им текст, чтобы  потом отдать его для пакетного перевода Нейросетке? 

 

Изменено пользователем Дмитрий Соснов

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


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

@Дмитрий Соснов, можно аналогичным способом.

Сделать скрипт, который удаляет построчно текст после метки равно. Тем более вы пользуетесь нейронкой.

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

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


Ссылка на сообщение
В 22.03.2026 в 16:51, parabelum сказал:

@Дмитрий Соснов, можно аналогичным способом.

Сделать скрипт, который удаляет построчно текст после метки равно. Тем более вы пользуетесь нейронкой.

я нейронкой(обычно Дипсиком) пользуюсь просто до ужаса примитивно, просто вручную кидаю ей строки для перевода, если надо...

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


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

@Дмитрий Соснов, на сегодняшний день нейронок много к сожалению)) ), и практически в любой можно дать запрос на создание скрипта, например, как в вашем случае. 

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


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

Здраствуйте, не подскажете, как подключить автопереводчик к Gaucho and the Grassland. А то все варианты уже перепроповал, а конфиг файл не создается…( От имени админа запускал, только чтение галочку снимал, папка в исключениях антивира) 

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


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

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

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

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

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

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

Войти

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

Войти сейчас



×