Jump to content
Zone of Games Forum
Memoric

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

Recommended Posts

Апну тему скринами из разных игр с использованием 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

 

Share this post


Link to post

Чуть обновил тупые сборки в стиле кинул что-нибудь в игру, тупа жмякнул на всё и уже гамаешь.
https://disk.yandex.ru/d/PkI0TPJFlk3IZA

Edited by DragonZH
что забанили ссылку, теперь другая
  • Like (+1) 4

Share this post


Link to post
5 часов назад, Дмитрий Соснов сказал:

а есть тут уже  тема по игре The Matchless KungFu?

Файлы перевода игры Tale of immortal с помощью  XUnity.AutoTranslator. Перевод с помощью он-лайн переводчиков Дипл и Гугла и потом уже правленно ручками. Скопировать все файлы переводчика в корневую папку игры.

https://disk.yandex.ru/d/wP3kC6ylirUhXQ

темы нет

Edited by LUKINx

Share this post


Link to post

На канале Дискорда “Гора переводчиков” идёт полноценный  перевод на русский язык нескольких китайских игр по культуре Культивирования:  “Уся” и “Санся”, например The Matchless KungFu, Tale of immortal,Heros Adventure,Earthling's Undertaking,Destiny Immortal !

Всех желающих присоединиться, ждём! https://discord.gg/mS8MvhcQ

 

Edited by Дмитрий Соснов

Share this post


Link to post

XUnity.AutoTranslator Обработка пробелов в файле настроек Config.ini XUnity.AutoTranslator

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

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

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

IgnoreWhitespaceInDialogue
IgnoreWhitespaceInNGUI
MinDialogueChars
ForceSplitTextAfterCharacters


Плагин сначала определяет, должен ли он выполнять специальную операцию удаления пробелов. Он определяет, выполнять ли эту операцию на основе параметров IgnoreWhitespaceInDialogueи :IgnoreWhitespaceInNGUIMinDialogueChars

IgnoreWhitespaceInDialogue: если текст длиннее MinDialogueChars, пробел удаляется.
IgnoreWhitespaceInNGUI: если текст поступает из компонента NGUI, пробелы удаляются.
После того, как текст был переведен настроенной службой, ForceSplitTextAfterCharacters используется для определения того, должен ли подключаемый модуль принудительно отображать результат в несколько строк после определенного количества символов.

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

Пост/предварительная обработка текста

Хотя правильная обработка пробелов имеет большое значение для обеспечения более качественных переводов, этого не всегда достаточно.

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

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

Изменение размера пользовательского интерфейса

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

По умолчанию плагин попытается выполнить некоторые базовые действия автоматического изменения размера, которые контролируются следующими параметрами : EnableUIResizing, ResizeUILineSpacingScale, ForceUIResizingи OverrideFont.OverrideFontTextMeshPro

EnableUIResizing: изменяет размер компонентов при выполнении перевода.
ForceUIResizing: постоянно изменяет размеры всех компонентов, и точка.
ResizeUILineSpacingScale: изменяет межстрочный интервал компонентов с измененным размером. только УГУИ.
OverrideFont: изменяет шрифт всех текстовых компонентов независимо от EnableUIResizingи ForceUIResizing. только УГУИ.
OverrideFontTextMeshPro: рассмотрите возможность использования FallbackFontTextMeshProвместо этого. Изменяет шрифт всех текстовых компонентов независимо от EnableUIResizingи ForceUIResizing. Только TextMeshPro. Эта опция позволяет загружать шрифт двумя разными способами. Если указанная строка указывает путь в папке с игрой, то этот файл будет предпринят для загрузки в виде пакета ресурсов (требуется Unity 2018 или более поздней версии (или, в качестве альтернативы, пользовательский пакет ресурсов, созданный специально для целевой игры)). В противном случае будет предпринята попытка загрузить его через Resources API. Ресурсы по умолчанию, которые часто распространяются вместе с TextMeshPro: Fonts & Materials/LiberationSans SDFили Fonts & Materials/ARIAL SDF.
FallbackFontTextMeshPro: Добавляет резервный шрифт, который TextMesh Pro может использовать в случае, если определенный символ не поддерживается.
Дополнительное примечание об изменении шрифта TextMeshPro: вы можете загрузить некоторые готовые пакеты ресурсов для Unity 2018 и 2019 на вкладке выпуска, но на данный момент они не особенно хорошо протестированы. Если вы хотите попробовать их, просто загрузите папку .zip и поместите один из ресурсов шрифта в папку с игрой. Затем настройте его, написав имя файла в файле конфигурации в формате OverrideFontTextMeshPro.

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

Конфигурация, EnableUIResizingа ForceUIResizingтакже контроль за тем, включено ли поведение изменения размера пользовательского интерфейса вручную. См. этот раздел для получения дополнительной информации.

 

Edited by Дмитрий Соснов

Share this post


Link to post

Русский перевод файла настроек загрузчика BepInEx: BepInEx.cfg

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

[Caching]

## Включить/выключить кэш метаданных сборок
## ## Включение этого параметра ускорит обнаружение плагинов и патчеров за счет кэширования метаданных всех типов, обнаруживаемых BepInEx.
# Тип установки: Boolean
# Значение по умолчанию: true
EnableAssemblyCache = true

[Harmony.Logger]

## Определяет, какие каналы журнала Harmony следует прослушивать.
## ПРИМЕЧАНИЕ: Канал IL сбрасывает все методы патча, используйте его только при необходимости!
# Тип установки: LogChannel
# Значение по умолчанию: Warn, Error
# Приемлемые значения: None, Info, IL, Warn, Error, Debug, All
# Одновременно можно задать несколько значений, разделив их символом , (e.g. Debug, Warning)
LogChannels = Warn, Error

[Logging]

## Включение отображения сообщений журнала Unity в системе протоколирования BepInEx.
# Тип установки: Boolean
# Значение по умолчанию: true
UnityLogListening = false

## Если включено, то сообщения стандартного вывода записываются в журнал Unity.
## ПРИМЕЧАНИЕ: По умолчанию Unity делает это автоматически. Используйте эту опцию только в том случае, если в журнале Unity не видны консольные сообщения
## 
# Тип установки: Boolean
# Значение по умолчанию: false
LogConsoleToUnityLog = false

[Logging.Console]

## Включает отображение консоли для вывода журнала.
# Тип установки: Boolean
# Значение по умолчанию: true
Enabled = false

## Если эта опция включена, то она предотвращает закрытие консоли (либо путем удаления кнопки закрытия, либо другим способом, специфичным для конкретной платформы).
# Тип установки: Boolean
# Значение по умолчанию: false
PreventClose = false

## Если true, то для консоли устанавливается кодировка Shift-JIS, иначе - кодировка UTF-8.
# Тип установки: Boolean
# Значение по умолчанию: false
ShiftJisEncoding = false

## Подсказывает менеджеру консоли, какой хэндл назначить в качестве StandardOut. Возможные значения:
## Auto - позволяет BepInEx решать, как перенаправить консольный вывод.
## ConsoleOut - предпочитает перенаправление на консольный вывод; если возможно, закрывает исходный стандартный вывод
## StandardOut - предпочитает перенаправлять на стандартный вывод; если возможно, закрывает консольный выход
## 
# Тип установки: ConsoleOutRedirectType
# Значение по умолчанию: Auto
# Приемлемые значения: Auto, ConsoleOut, StandardOut
StandardOutType = Auto

## Какие уровни журнала показывать в выводе консоли.
# Тип установки: LogLevel
# Значение по умолчанию: Fatal, Error, Warning, Message, Info
# Приемлемые значения: None, Fatal, Error, Warning, Message, Info, Debug, All
# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning)
LogLevels = Fatal, Error, Warning, Message, Info

[Logging.Disk]

## Включение сообщений журнала Unity в вывод файла журнала.
# Тип установки: Boolean
# Значение по умолчанию: false
WriteUnityLog = false

## Добавление в файл журнала вместо перезаписи при запуске игры.
# Тип установки: Boolean
# Значение по умолчанию: false
AppendLog = false

## Включает запись сообщений журнала на диск.
# Тип установки: Boolean
# Значение по умолчанию: true
Enabled = true

## В выводе дискового журнала отображаются только указанные уровни журнала.
# Тип установки: LogLevel
# Значение по умолчанию: Fatal, Error, Warning, Message, Info
# Приемлемые значения: None, Fatal, Error, Warning, Message, Info, Debug, All
# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning)
LogLevels = Fatal, Error, Warning, Message, Info

## Если true, то все полученные записи журнала мгновенно записываются на диск.
## Это сильно снижает производительность при записи большого количества сообщений журнала, однако очень полезно для отладки аварий.
## 
# Тип установки: Boolean
# Значение по умолчанию: false
InstantFlushing = false

## Максимальное количество одновременно записываемых на диск файлов журнала.
## Поскольку на один открытый экземпляр игры используется один файл журнала, при отладке нескольких экземпляров одновременно может потребоваться увеличить это ограничение.
## 
# Тип установки: Int32
# Значение по умолчанию: 5
ConcurrentFileLimit = 5

[Logging.Unity]

## Какие уровни журнала следует записывать в выходной журнал Unity.
# Тип установки: LogLevel
# Значение по умолчанию: Fatal, Error, Warning, Message, Info
# Приемлемые значения: None, Fatal, Error, Warning, Message, Info, Debug, All
# Multiple values can be set at the same time by separating them with , (e.g. Debug, Warning)
LogLevels = Fatal, Error, Warning, Message, Info

[Preloader]

## Включает или отключает патчи времени выполнения.
## Это должно быть всегда верно, если только вы не можете запустить игру из-за проблем, связанных с Harmony (например, при запуске .NET Standard runtime), или вы знаете, что you're doing.
# Тип установки: Boolean
# Значение по умолчанию: true
ApplyRuntimePatches = true

## Определяет, какой backend MonoMod использовать для патчей Harmony. Автоматически используется лучший из доступных backend.
## Эта настройка должна использоваться только в целях разработки (например, для отладки в dnSpy). Другой код может переопределить эту настройку.
# Тип установки: MonoModBackend
# Значение по умолчанию: auto
# Приемлемые значения: auto, dynamicmethod, methodbuilder, cecil
HarmonyBackend = auto

## Если эта функция включена, то BepInEx будет сохранять пропатченные сборки в BepInEx/DumpedAssemblies.
## Это может быть использовано разработчиками для проверки и отладки патчеров прелоадера(preloader patchers).
# Тип установки: Boolean
# Значение по умолчанию: false
DumpAssemblies = false

## Если эта опция включена, то BepInEx будет загружать исправленные сборки из BepInEx/DumpedAssemblies вместо памяти.
## Это может быть использовано для загрузки исправленных сборок в отладчики типа dnSpy.
## Если установлено значение true, это отменяет DumpAssemblies.
# Тип установки: Boolean
# Значение по умолчанию: false
LoadDumpedAssemblies = false

## Если эта функция включена, то BepInEx будет вызывать Debugger.Break() один раз перед загрузкой исправленных сборок.
## Это может быть использовано с отладчиками типа dnSpy для установки точек останова в исправленные сборки перед их загрузкой.
# Тип установки: Boolean
# Значение по умолчанию: false
BreakBeforeLoadAssemblies = false

[Preloader.Entrypoint]

## Локальное имя файла целевой сборки.
# Тип установки: String
# Значение по умолчанию: UnityEngine.CoreModule.dll
Assembly = UnityEngine.CoreModule.dll

## Имя типа в сборке точки входа (entrypoint) для поиска метода точки входа(entrypoint).
# Тип установки: String
# Значение по умолчанию: Application
Type = Application

## Имя метода в указанной сборке точки входа и тип, из которого следует подключить и загрузить Chainloader.
# Тип установки: String
# Значение по умолчанию: .cctor
Method = .cctor

 

Edited by Дмитрий Соснов

Share this post


Link to post

Помогите, пожалуйста, никак не пойму, что не так, до этого было всё нормально и тут он мне вместо спрайтов клавиш пишет это

http://FfOyDKd.png

http://JWX0i2x.png

Share this post


Link to post

проверьте синтаксис в оригинальном тексте и переводе в файле: AutoGeneratedTranslations.txt, бывает иногда что переводчик теряет какую то кавычку или символы < > и поэтому так выходит…

 

Edited by Дмитрий Соснов

Share this post


Link to post

https://disk.yandex.ru/d/OqG8bfdvXQR_lg

Десяток готовых textmesh-шрифтов с кириллицей, на замену тех двух, что выложены на гитхабе (arialuni_sdf_u2019 и arialuni_sdf_u2018 — эти два на гитхабе, у меня другие).

Автор — я ) Собрал их сегодня после того, как в группе в дискорде подсказали как упаковать шрифт в Unity) Пришлось поставить unity с плагинами и потратить пол дня. Зато шрифты кому-нибудь точно пригодятся. Делал для себя, т.к. эти arial-ы с гитхаба слишком большие и широкие. Эти шрифты мельче и чаще всего более узкие. Поэтому влезают почти везде.

Эти шрифты можно кинуть в корень игры и прописать их название в config.ini в строке

Цитата

OverrideFontTextMeshPro=название

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

 

p.s. шрифты собраны на Unity 2020 года.

Edited by Doom_rulit
  • Thanks (+1) 2
  • Upvote 1

Share this post


Link to post

@Doom_rulit, ещё бы ttf шрифты в архив, из которых эти делались. Чтобы сразу можно было понять, как они выглядят.

 

Позже, может, запишу, как сделать любой шрифт из C:\Windows\Fonts пригодным для OverrideFont=

Share this post


Link to post
9 часов назад, Arklight сказал:

ещё бы ttf шрифты в архив, из которых эти делались

Названия шрифтов то сохранились. Они легко гуглятся.

Share this post


Link to post

https://disk.yandex.ru/d/iUKkLSIq1fQd8w

Сделал ещё 16 шрифтов, если кому мало первых 10) Итого получилось 26 шрифтов в сумме.

================================

добавлено 13-го октября

И третий набор из 5 шрифтов

https://disk.yandex.ru/d/F7o2Cu7NRudIiA

========================

Напоминаю что все три набора собраны на Unity 2020 и подойдут для игр на движке указанного года и более поздних. Если ваша игр на Unity 2018 или на Unity 2019, то вот вам ещё архив

https://disk.yandex.ru/d/aJ5RabZbV5XTpA — в данном архиве 31 шрифт из первого и второго набора, но собранные на Unity 2018. Специально для более старых игр. Проверено на игре Space Quest 3D, созданном либо на 2018, либо на 2019-ой версии Unity. Там работает. Значит заработает и на других играх со старым движком.

Edited by Doom_rulit
  • Like (+1) 2

Share this post


Link to post

Перевод файла настоек BepInEx: doorstop_config.ini 

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

# Общие опции для Unity Doorstop
[General]

# Включить Doorstop
enabled = true

# Путь к сборке для загрузки и выполнения
# ПРИМЕЧАНИЕ: Точка входа должна иметь формат `static void Doorstop.Entrypoint.Start()`
target_assembly = BepInEx\core\BepInEx.Unity.Mono.Preloader.dll

# Если значение true, то журнал вывода Unity перенаправляется в <current folder>\output_log.txt
redirect_output_log = false

# Если включено, значение переменной DOORSTOP_DISABLE игнорируется
# ИСПОЛЬЗУЙТЕ ЭТО ЗНАЧЕНИЕ ТОЛЬКО В ТЕХ СЛУЧАЯХ, КОГДА ВАС ОБ ЭТОМ ПРОСЯТ ИЛИ ВЫ ЗНАЕТЕ, ЧТО ОНО ОЗНАЧАЕТ
ignore_disable_switch = false

# Опции, специфичные для работы под управлением Unity Mono
[UnityMono]

# Переопределяет стандартный путь поиска DLL в Mono
# Иногда требуется указать Mono искать свои сборки по другому пути
# (например, mscorlib удалена из оригинальной игры)
# Эта опция заставляет Mono искать mscorlib и библиотеки ядра в другой папке перед Managed.
# Оригинальная папка Managed добавляется в качестве вторичной папки в путь поиска
dll_search_path_override =

# Если true, то будет включен сервер отладчика Mono
debug_enabled = false

# Когда значение debug_enabled равно true, эта опция определяет, должен ли Doorstop инициализировать сервер отладчика.
# Если при запуске отладчика на отладочных сборках UnityPlayer происходят сбои, попробуйте установить значение false
debug_start_server = true

# Когда значение debug_enabled равно true, задается адрес, который будет использоваться для сервера отладчика
debug_address = 127.0.0.1:10000

# Если true и debug_enabled равно true, то сервер отладчика Mono приостановит выполнение игры до тех пор, пока не будет подключен отладчик
debug_suspend = false

 

Edited by Дмитрий Соснов

Share this post


Link to post

Варианты перевода игры Destiny Immortal с китайского на русский:

1\с помощью XUnity AutoTranslator-BepInEx 5.4.22 https://disk.yandex.ru/d/LwPimXyMnwPSRw

2\с помощью XUnity AutoTranslator-ReiPatcher 5.2 https://disk.yandex.ru/d/Q65eROiC0C2OJQ

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

Игра Destiny Immortal

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

Доступна демо версия: 

https://store.steampowered.com/app/2377930/Destiny_of_Immortal/

Edited by Дмитрий Соснов

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



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

×