Сайт Anivisual.net закрыт

Он продолжит функционировать в виде архива. Новые материалы добавлять нельзя.

Перевод визуальных новелл на Unity

Перевод визуальных новелл на Unity

Всем привет, раскажу как переводить игры созданые на движке Unity.

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

1.Создаем патч для перевода.
1) Установить переводимую игру юнити на диск c, что бы на его путях не было русских символов.
Как пример C:\Games\novella

2)Далее вам необходимо будет скачать программу XUnity.AutoTranslator

Выберите самый новый релиз ( releases ) вам нужно будет скачать файл под названием XUnity.AutoTranslator-ReiPatcher-номер_версии.zip .

В скачаном зип файле будет лежать файл SetupReiPatcherAndAutoTranslator.exe

3) Распакуйте его в корневую папку с игрой, где файл exe.

4) Запустите распакованный файл SetupReiPatcherAndAutoTranslator.exe .
Он создаст новый exe файл, который будет иметь приставку к имени (Patch and Run)

5) Запустите созданый exe файл. Он пропатчивает переводимую игру и создает файл конфигурации.

6) Когда у вас игра окончательно запустится, вам нужно будет выйти из приложения и зайти в файл конфигурации \AutoTranslator\Config.ini

2. Настраиваем конфигурационный файл (Config.ini)

1) Выбираем переводчик
Данная программа поддерживает множество переводчиков но самый качественный перевод будет у диип, поэтому вместо GoogleTranslateV2, прописываем DeepLTranslate
Код

[Service]
Endpoint=DeepLTranslate


2) Далее выбираем язык с которого на какой будем переводить. Например, у вас проект на японском(ja),(английский будет en), и вам нужно будет его перевести на русский(ru), то прописываем следующее:
Код

[General]
Language=ru
FromLanguage=ja


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

[TextFrameworks]
EnableIMGUI=True
EnableUGUI=True
EnableNGUI=True
EnableTextMeshPro=True
EnableTextMesh=True
EnableFairyGUI=True


4)Настраиваем перевод
Распишу только то, с чем сталкиваться мне приходилось, и соответственно использовал
Код

[Behaviour]
MaxCharactersPerTranslation=1000 ;Переводимое число символов
EnableUIResizing=True ;попытка изменить размеры символов в строке текста, что бы влезло
OverrideFont= ;определить свой шрифт gui, смотри TextMeshPro с кирилицей
OverrideFontTextMeshPro= ;определить свой шрифт, если у вас квадратики вместо текста перевода, смотри TextMeshPro с кирилицей



5)Извлекать изображения(текстуры) на перевод
Код

[Texture]
TextureDirectory=Translation\{Lang}\Texture
EnableTextureTranslation=True
EnableTextureDumping=True
EnableTextureToggling=True
EnableTextureScanOnSceneLoad=True
EnableSpriteRendererHooking=False
LoadUnmodifiedTextures=False
DetectDuplicateTextureNames=False
DuplicateTextureNames=
EnableLegacyTextureLoading=False
TextureHashGenerationStrategy=FromImageName
CacheTexturesInMemory=True
EnableSpriteHooking=False


Остальное оставляете без изменений..

После изменения конфигурационного файла вам необходимо запустить игру. Можно запустить exe файл что был по умолчанию, вам нужно будет подождать некоторое время, пока некоторые текстуры программа извлекет. После запуска программы. У вас высветится главное меню на исходном языке, через сек 7 программа автоматически переведет текст на русский язык, если шрифт конечно поддерживает кирилицу(или текст в виде картинки)

Заходим в раздел настройки, сохранения, разные разделы меню и нажимаем кнопку старт и проходим с автоперевод игру, не забывая заходить в историю(log)

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

3. Работа с текстом
Весь текст, которая программа поймает, оно кидает в файл \AutoTranslator\Translation\ru\Text\_AutoGeneratedTranslations.txt

Откройте его и вы увидете там примерно такое
Код

はじめから=Сначала
つづきから=Продолжить
おわる=Выход
<sound\=Sofia_Utage/Sound/Voice/level0/op/0op_010.wav>撫でてもいい……?</sound>=<sound\=Sofia_Utage/Sound/Voice/level0/op/0op_010.wav>А можно... Погладить Вас...?</sound>


Вы можете изменять текст диалога только после знака =
Текст из истории(log) только между тегами аудио файлов

Основные теги, которые используются в тексте
Код

はじめから=<color%3D#00000090>Сначала</color> ;изменить цвет текста
マウスホイールで\n文字送り=Переключать колесиком \nмыши ;отступ на следующую строку
つづきから= <size%3D25>Продолжить</size> ;изменить размер текста


Это основное, более полный набор тегов смотрите здесь

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

Всякие фразы с тегами диип плохо переводит, поэтому рекомендую их удалять когда на сайте переводите.

Текстуры(изображения) находятся здесь \AutoTranslator\Translation\ru\Texture их через фотошоп редактируете, и заменяете в той папке.

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

4. Перевод повторяющихся символов или ввод имени.
Когда вам попадется ввод имени, оставляете имя по умолчанию,

Далее вам нужно будет зайти \AutoTranslator\Translation\ru\Text\_Substitutions.txt и записать там имя по умолчанию, или слово что постоянно повторяется.
Код

日目= День
好感度=Симпатия  


И когда вы будете дальше листать игру, и где вам пападутся эти слова, в файле _AutoGeneratedTranslations.txt вместо
Код

01 日目 =01 день
будет
01{{A}}=01{{A}}


И когда игрок введет свое имя, ваш перевод сохранится.

У кого квадратики вместо теста скачайте TextMeshPro с кирилицей для версии юнити что в игре

Надеюсь что кому-нибудь помог с переводом игр юнити.
18
Декабрь
3
5.0
7139
Добавлять комментарии могут только зарегистрированные пользователи.

Комментарии к записи: 3

avatar
#1 Kuroi_Hana
79465
в 20:13 (24/Апр/2023)
0
Спасибо за подробное объяснения
avatar
#2 sicix59599
801032
в 02:04 (29/Апр/2023)
0
Здравствуйте, спасибо за статью.
Подскажите как после выполнения перевода грамотно упаковать файлы чтобы можно было отправить свой перевод другому человеку.
avatar
#3 morda2963
803605
в 13:29 (09/Июн/2023)
0
Уточните пожалуйста, где следует искать директорию \AutoTranslator\Config.ini?
После выполнения первых 5 пунктов в каталоге с игрой она не появилась. Поиском по системе раздел \AutoTranslator\ тоже не удалось найти. Может где-то не там ищу?