Перейти к содержимому
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. А то все варианты уже перепроповал, а конфиг файл не создается…( От имени админа запускал, только чтение галочку снимал, папка в исключениях антивира) 

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


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

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

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

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

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

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

Войти

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

Войти сейчас


  • Сейчас популярно

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

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

    • Так в оригинале тоже с ошибками. Если бы он перевёл прямо было бы ошибкой(такое тоже бывает у ии), но в контекст таки смотрят это да.
    • не соглашусь тут 100% попадание в персонажа, хоть в промпте это и не было указано  + нейронка сама проработала дефекты речи для целой расы в игре, чего от неё не требовалось.
    • можно, но надо найти всё же чтобы вот писали что у них ручной перевод или литературный. Обычно это сержант вбирает что писать) это ты про меня? Не, свободного времени не так много. Да и тут я просто зашёл в тему и увидел слово литературный перевод. и решил глянуть на этот литературный перевод. Повторюсь, я именно говорю про “литературный перевод”. Если вы не смотрите все строчки по отдельности(да даже с помощью ии) и не делаете грамматический правильные переводы, то это никак не может быть литературным. Ваш промт сделай литературный перевод, не сделает ии его литературным какой бы большой и подробный промт вы не писали. По отдельным предложениям да подскажет что-то и уже смотря на него вы напишете свой перевод или если выдал хороший его перевод. Но когда засовываете 100+ строк в перевод, то ии плевать хотел что там, он всё равно переведёт обычно с английского с зачастую оставив английский синтаксис. У ии всё равно нет души и креативности в переводе.
    • @allodernat пиши в 10-ый раз — пусть всех чихвостит, раз времени свободного дофига 
    • Я уж не буду в десятый раз цитировать  При желании можно найти.  А вот “ручных” со степенью редактирования, известной только самому автору выходят достаточно.
    • Действие происходит на самой большой карте в истории серии — более 200 000 квадратных километров. 1C Game Studios объявила о выходе авиасимулятора «Корея. Серия игр ИЛ-2». Игра доступна на ПК в Steam и в официальном магазине серии. Сообщается, что «Корея» — игра следующего поколения серии «Ил-2». Она создана на новом движке, использует обновленную модель повреждений и полета. Под управлением игроков будет восемь самолетов эпохи, тщательно воссозданных на основе реальных чертежей, фотографий и документов. Помимо управляемых самолетов на поле боя и в небе присутствуют десятки машин, включая бомбардировщики B-29, а также тщательно проработанная наземная техника, поезда и корабли. Действие происходит на самой большой карте в истории серии — более 200 000 квадратных километров. Это не современная Корея, а регион начала 1950-х годов, воссозданный по историческим документам. На карте расположены десятки авиабаз с достоверной планировкой, сотни населенных пунктов, порты и дамбы. Все это связано разветвленной транспортной сетью.
    • пока в последнее время не видел чтобы кто-то, говорил про литературный перевод. Если говорили, то подскажи. Пройдусь и по ним) это не значит что если ты нормально прочитал, то он литературный. Я сказал не от своего имени тяжело, а по грамматике такое предложение считается тяжелым. логика одна, а грамматика это другое. Я же написал что она правильная, но… согласен. нет же. Если бы начал докапываться, то там как сказал например два раза когда, это выглядит в данном месте так себе. Ещё про мелкое всякое. Ну ты же должен понимать что это ну никак не литературный. По твоему сообщение выглядит это так. Сначала прогнал нейронкой, потом открыл оригинал, нейронный и рядом уже когда нужно прописал литературный перевод вручную. Но на деле же просто отредактированный машин от явных косяков. Это не плохо, но не надо такое преподносить как литературный. Понимаю что если написать литературный к тебе потянуться больше людей думая что ты вручную всё делаешь, а эти пользователи всё равно не понимают в языке ничего.
    • @DjGiza не поленился видео посмотреть?) Так ты и по другим литературным или ручным переводам пройдись(не моим)  Их много сейчас на зоге)) Если тебе станет легче опущу литературный  Тебе тяжело, я нормально прочитал) Так по логике в этой фразе её(женщины) голова лежала, она(голова) смотрела прямо на меня.  Поэтому этот вариант по сути тоже самое. Только тут конкретизировано. Единственное с чем соглашусь — это Литературнее)) По остальному ты просто решил докапаться))
    • И это я ещё не придрался к простым вещам как повторение одного слово друг за другом. Таких как “когда”. или такое как “пожелала простить”, вроде бы и правильно, но если позиционировать как литературный, то лучше добавить “пожелала простить меня”
    • Какой же это литературный. Это максимум немного отредактированный машинный перевод.
      1. Когда её голова лежала на земле, она смотрела прямо на меня. Она не может смотреть на него, она уже мертва. Перевод правильный, но не литературный и некорректный. Надо как-то типа так чтоль: Даже когда её голова уже лежала на земле, её взгляд был устремлен на меня С земли её голова всё ещё смотрела на меня Вернётся вновь Тавтология.  за то, на что я, как палач, обречён слишком тяжело читается  
  • Изменения статусов

    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
    • serfly  »  SamhainGhost

      Доброго времени. По локализации игры Wicked Seed. Шрифт размазан и в полях, другие можно попробовать? Например arialuni_sdf_2022? Я профан в этом, но интересно.
       
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      Это не просто перевод, а полноценная авторская сценарная адаптация. Диалоги переписаны так, чтобы персонажи звучали живо, остро и в характере. Добавлен чёрный юмор там, где авторы постеснялись. Убраны лорные противоречия, докручены мотивации. В результате игра стала умнее, злее и смешнее оригинала.
      · 0 ответов
  • Лучшие авторы


×