Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Вступление

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

В данной статье речь пойдёт о KiriKiri — втором по популярности движке после Ren'Py. Про него уже существует статья в двух частях, однако, во-первых, она была выпущена достаточно давно, а во-вторых, в ней рассматривается старая, немодифицированная версия данного движка (то есть KiriKiriZ).

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

________________________________________________

Следует отметить, что в представленной ранее статье автор не уделяет внимание четырём важным моментам:

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


2) Чаще всего при запуске игры будет выдаваться ошибка (подобное также может быть и с японскими релизами ВН на KiriKiriZ, не попавшими на зарубежный рынок), а потому для корректного открытия новеллы необходимо использовать программу Locale Emulator, следуя данной инструкции:

— распакуйте архив и запустите LEInstaller.exe. Выберите в нём вариант Install for current user;

— нажмите на экзешник игры правой кнопкой мыши и выберите данные пункты: Эмулятор локали → Run in Japanese.


3) Во избежание проблем лучше прописывать шрифт EET поверх стандартного японского MS (или другого шрифта). Поскольку EET не является системным шрифтом, переводчику достаточно будет поместить его в архив перевода, а читателю — установить (пример установки будет рассмотрен в конце статьи).


4) В статьях не описан процесс преобразования PNG-картинок обратно в расширение TLG. Делается это с помощью одной программы.

Для того чтобы поменять расширение картинки с PNG на TLG, требуется перейти в kirikiri2 → tools → krkrtpc.exe. Далее в программе нужно выбрать пункты TLG5 и TLG5 with alpha channel в категориях Opacity и Image with Transparency соответственно, а после следует просто перекинуть PNG-картинку в открывшееся окно.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Все ссылки на использованные в статье программы будут представлены в конце.
________________________________________________

Первые приготовления

Я постараюсь описать процесс перевода визуальных новелл на KiriKiriZ как можно детальнее, чтобы каждое моё действие было понятно читателю.

Разумеется, всякая игра имеет свои особенности в плане структуры файлов. Например, в одной новелле файлы сценария, графики и музыки могут лежать в общем XP3-архиве, в то время как в другой ВН — в разных. И поскольку отличительные черты каждого проекта разобрать просто невозможно, вам придётся учитывать их самостоятельно. Тем не менее принцип перевода каждой визуальной новеллы един, и о нём я расскажу далее.

________________________________________________

Для начала разберёмся с тем, как же узнать, что выбранная вами новелла построена именно на KiriKiri. Сделать это очень просто:

1) открываем vndb.org базу данных всех существующих визуальных новелл (чтобы отображались картинки, используйте VPN);


2) переходим на страницу Visual Novels;

3) выставляем в поле Language английский язык;


4) после выбираем кнопки в следующем порядке: + (правее Tags) → ReleaseEngine, а далее в появившемся поле Search пишем «KiriKiri»;


5) вновь нажимаем на + (ниже Rel), потом — на Length и выбираем из открывшегося списка нужную длину ВН;


6) нажимаем на Search.
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

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

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

Рекомендуется обращать внимание на дату выхода игры: если она выпущена раньше, скажем, 2013 года, то при работе с ней вы с большей вероятностью столкнётесь со старой версией движка KiriKiri. Это можно будет понять по тому, что сценарные файлы игры будут представлены в формате KS (а не KS.SCN).

_______________________________________

Начало

Для примера я возьму визуальную новеллу под названием Nekogami-sama to, Nanatsuboshi -Imouto no Ane-. В Steam данной игры нет, но её можно скачать на сайтах с новеллами по типу ryuugames.com (для входа используйте VPN), moegesoft.com (или на крайний случай через торрент).

На скриншоте представлена структура файлов игры.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

adult.xp3 — архив с хентаем. Содержит 18+ картинки, порой скрипты (иногда могут быть помечены буквой h), а также озвучку для постельных сцен.

data.xp3 — самый главный архив, основа всей игры. Сценарий, фоны, арты, графика, музыка и другое находятся там. Однако, как упоминалось выше, иногда все вышеперечисленные вещи могут быть в отдельных архивах: bgimage.xp3, evimage.xp3, scn.xp3, uipsd.xp3 и так далее.


evimage.xp3 — архив с артами.


fgimage.xp3 — архив со спрайтами.


patch.xp3 — архив с патчем для игры. В дальнейшем нам нужно будет создать свой патч и поместить в него перевод графики и сценария, а также задействованные системные файлы.


voice.xp3 — архив с озвучкой.

Примечание: разновидностей XP3-архивов довольно много, перечислять их можно долго.
______________________________________

Итак, как же работать с такими архивами? Для этого нам понадобится программа GARBro New, а именно её новая, модифицированная версия, потому что в ней, в отличие от старого GARBro, разработка которого была заброшена, содержатся шифрования к недавно вышедшим визуальным новеллам.

На скриншоте показан интерфейс программы.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Нажимаем на любой XP3-архив. Перед нами предстаёт окно с выбором шифрования.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Примечание: с некоторыми визуальными новеллами программа может сбоить и свободно открывать архивы, не запрашивая шифрования. В таком случае вам нужно переименовать исполняемый файл игры, убрав или добавив любую букву или цифру: например, изменить nekotsubo.exe на nekotsub.exe. После в программе нажать на следующие кнопки: ПросмотрОбновить.

______________________________________

Ищем среди списка шифрование нашей игры (у программы ориентир на японское название новеллы) и открываем архив data.xp3.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Может быть и так, что взятая вами новелла изначально не содержит в себе шифрования, даже несмотря на то что её название имеется в списке. Понять это можно, например, если при варианте «без шифрования» программа сможет без всяких проблем визуально отобразить PNG-картинки.

______________________________________


Однако бывает и наоборот: игра зашифрована, но GARBro не предоставляет её шифрование, или шифрование есть, но оно нерабочее. В таком случае нужно обратиться сюда или же попробовать вскрыть игру через KrkrExtract.exe (о нём мы ещё поговорим в дальнейшем).


Пароль от архива: 1111.

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

______________________________________


Бывают ситуации, когда мы уже видим patch.xp3 в папке игры. Чаще всего это касается официальных переводов, однако подобные случаи могут наблюдаться и с неофициальными переводами той или иной игры. Если такое произошло, то при работе с новеллой нам следует основываться на файлах данного патча (там могут быть как технические файлы, так и пригодные для перевода сценарий с графикой). Тем не менее, конечно, не стоит забывать и о data.xp3, ведь может случиться так, что в найденном patch.xp3 будут лежать не все нужные вам файлы.


В представленной ситуации собственноручно созданному патчу нужно давать имя patch2.xp3 (если заранее приготовленных патчей было двое, то следует выбрать имя patch3.xp3). Пытаться повторять до единого содержание чужого патча, лежащего в папке, не стоит. Загружаем в свой патч лишь то, с чем мы взаимодействовали при переводе игры. Патч нужно создавать без шифрования.
______________________________________


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

Открываем data.xp3, находим папку scn — именно в ней содержатся файлы сценария. У движка KiriKiriZ расширение данных файлов может быть или TXT.SCN, или KS.SCN. Важно отметить, что они не всегда лежат в той же папке, что приведена на скриншоте взятой для примера игры.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Создаём в папке с игрой папку под названием patch. Выделяем все файлы сценария в scn, нажимаем Извлечь и перемещаем их в созданную папку.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

В папке patch появится папка scn. Скопируйте все скрипты оттуда и сделайте так, чтобы они лежали именно в patch, а не находились в подпапке. Далее удалите теперь уже пустую scn. У вас должно получиться так, как показано на скриншоте ниже.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Перевод сценария

Теперь наконец перейдём к главному — работе над переводом файлов сценария. Для этого нам потребуется программа VNTextPatch — и именно слегка изменённая её версия.

Разница между обычной версией и этой в том, что первая в случае наличия в игре двух и более языков, что свойственно многим официальным переводам (к примеру, играм Yuzusoft и FrontWing), будет брать ориентир на японский текст при создании таблицы, в то время как вторая — на английский, что нам и нужно.

_________________________

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

1) переместить всё содержимое архива со сценарными файлами в любое удобное нам место;

2) открыть ScnEditorGUI.exe, нажать Open File;

3) прописать путь к папке с SCN-файлами сценария у своей новеллы;

4) открыть нужный сюжетный файл.

Откроем файл сценария игры Nekogami. Как можно заметить, каждая реплика имеет несколько вариаций под разные языки.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Хоть программа SCNEditorGUI и позволяет редактировать сюжет (для этого нужно изменять выбранные строки в нижнем поле, а по окончании работы нажать на правую кнопку мыши и выбрать пункт Save File), однако ей я предпочитаю VNTextPatch.
__________________________

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

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Далее в поле, где содержится путь к папке с VNTextPatch, нужно написать cmd и нажать клавишу Enter — в результате откроется командная строка с прописанным путём к данной папке.

Следующим шагом будет написание такой команды:

VNTextPatch extractlocal nekogami nekogami.xlsx

Вместо nekogami вставьте название своей папки и таблицы.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Total lines — количество строк.
Total characters — количество символов.

В итоге у нас создастся Excel-таблица, в которой будет находиться наш скрипт. Работая с ней, перевод нужно записывать в столбец TL. Если у оригинального текста есть кавычки, то в переводе их тоже лучше учитывать.

Внешний вид готовой таблицы (каждый лист которой представляет собой один сюжетный файл) можно увидеть на скриншоте ниже:

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

При желании можно перевести все имена в игре всего в несколько кликов. Для этого нам понадобится файл names.xml, который находится в папке программы. Открываем его через блокнот или NotePad++. Имя переводим именно в теге <tl>. Когда все имена будут переведены, следует удалить Excel-таблицу и создать её способом, описанным выше.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Итак, имена перевелись.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Чтобы превратить таблицу обратно в файлы сценария по окончании перевода сюжета, нужно создать папку nekogami_ru (вместо nekogami пишем название своей папки; пометка ru также необязательна), а после открыть командную строку и вписать в неё следующее:

VNTextPatch insertlocal nekogami nekogami.xlsx nekogami_ru

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

На скриншоте ниже представлена папка с появившимися скриптами.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

А также VNTextPatch со всеми созданными нами папками.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Перемещаем все скрипты из nekogami_ru в созданную нами ранее папку patch, находящуюся в папке с игрой.
__________________________

Если сценарные файлы выбранной вами игры имеют расширение не TXT.SCN или KS.SCN, а TXT, то ко всем описанным выше командам надо добавлять --format=kirikiriks

То есть:

VNTextPatch extractlocal --format=kirikiriks visual_novel visual_novel.xlsx

VNTextPatch insertlocal --format=kirikiriks visual_novel visual_novel.xlsx visual_novel_ru
__________________________

Если вы работаете в команде с кем-либо, то можно загрузить Excel-таблицу в виде Google-таблицы, что позволит переводить новеллу в онлайн-формате.

Для этого выполните следующую инструкцию:

1) создайте Google-таблицу;


2) нажмите на нужные кнопки в следующем порядке: Файл → Импортировать → Добавить → Обзор;

3) выберите созданную в VNTextPatch таблицу, а после, заменив в выпадающем списке вариант Создать таблицу на Заменить таблицу, нажмите на кнопку Импортировать данные.

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

По окончании перевода следует скачать таблицу, переместить в VNTextPatch, заменив находящуюся там ранее таблицу, и по описанным ранее правилам получить из неё обновлённые файлы SCN-формата. Важно: удалять папку с первоначальными скриптами, то есть с названием nekogami и без пометки ru, нельзя!

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Для того чтобы создать patch.xp3, воспользуемся программой Xp3Pack.exe. Переносим папку patch на программу и отпускаем мышь. В результате у нас появляется patch.xp3.

Однако же данная игра не восприняла наш патч (и такой случай не является единичным). Чтобы перевод всё-таки был применён, нужно поместить в папку с игрой файл version.dll (он содержит шифрования множества игр модифицированной версии движка).

Если вы сделали всё правильно, то должно получиться так, как показано на скриншоте.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

И как мы видим, русский текст успешно вставился. Тем не менее надпись с именем персонажа содержит большой межбуквенный интервал (хотя чаще всего, например в играх от FrontWing и Yuzusoft, такого не наблюдается). Чтобы исправить данную проблему, нам нужно поменять шрифт.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Это можно сделать несколькими способами. Конкретно в случае с игрой Nekogami нам нужно выполнить следующую инструкцию.

1) Открываем GARBro и переходим в data.xp3 (соблюдая шифрование ВН). Там заходим в папку main и извлекаем оттуда в папку patch файл Config.tjs.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

2) Открыв Config.tjs, находим представленную на скриншоте ниже строку и меняем в ней значение マルベリ на スキップ

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

На скриншоте ниже представлен вид папки patch.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Далее вновь воспользуемся программой Xp3Pack.exe, а после, наконец, получим приятное для глаза отображение имени персонажа.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Кроме того, шрифт также регулируется файлом embfontlist.tjs. В нём же можно настроить и жирность текста. Подробнее это будет раскрыто на примере одной из игр Yuzusoft, а именно PARQUET, чуть позже в статье.

Графика

У игр движка KiriKiriZ графика может быть представлена либо в PNG-формате (тогда никаких трудностей не возникнет: нужно будет просто извлечь картинки из архива, перевести их на русский, а затем положить в будущий патч), либо в формате TLG (в таком случае для повторного превращения в TLG достаточно воспользоваться программой, описанной в начале статьи).
__________________________

Открываем архив data.xp3 через GARBro (соблюдая шифрование) и находим папку uipsd.

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

Перед нами предстаёт формат изображений PIMG. Открыв его с помощью того же GARBro, мы видим множество TLG-картинок. Извлечём PIMG-файлы в папку patch.

Для работы с TLG-изображениями, заключёнными в файле с форматом PIMG, понадобится программа FreeMoteToolKit.

Ниже показан вид папки данной программы с перемещёнными туда PIMG-файлами.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Переведём главное меню. Для этого возьмём файл title_en.pimg (нужные нам картинки находятся в нём) и перенесём его на программу PsbDecompile.exe.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

PNG-картинки русифицируем через любой фоторедактор, например, Adobe Photoshop.

________________________________________________

Закончив перевод графики в Photoshop, нужно добиться того, чтобы переведённая графика отображалась в игре, — то есть создать новый PIMG-файл.

Для этого находим созданный JSON-файл для выбранного PIMG-файла (в нашем случае — файл title_en.json) и переносим его на программу PsbBuild.exe.

Далее появится файл title_en.pure.pimg. Получив его, удаляем изначальный PIMG-файл, после чего убираем текст .pure из названия нового файла. Осуществляем данные манипуляции с каждым файлом графики.

Перемещаем всю переведённую графику в папку patch.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Вновь с помощью Xp3Pack.exe создаём patch.xp3 и получаем результат в игре.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Другие детали

Если вы хотите перевести название игры и верхнее меню (кнопки по типу File (F), Screen (S) и т. д.), то следуйте описанной ниже инструкции.

1) Откройте архив data.xp3. Зайдите в папку main и извлеките оттуда файл syslangtext_en.ini.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

2) Переведите название игры.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Найдите текст, отвечающий за верхнее меню, и проведите с ним те же действия (на скриншоте ниже переведена лишь его часть).

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

В конечном счёте вы получите показанный ниже результат.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

В данной игре всплывающие окна с текстом (например, представленная на скриншоте фраза Change setting tab в левом нижнем углу) не являются файлами графики. Они, так же, как и верхнее меню, переводятся в отдельном файле.
________________________________________________

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Открываем архив data.xp3 (соблюдая шифрование). Далее в папке main находим TXT-файлы с префиксом help. Выбираем из таких файлов те, что содержат пометку en, и извлекаем их в папку для патча. Находим в них нужный текст и переводим его (на скриншоте ниже переведена лишь его часть).

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Далее по уже известной схеме создаём новый патч с помощью Xp3Pack.exe и получаем желаемый результат.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Закончив перевод сюжета и графики, создаём конечный патч и в папку к нему прикладываем файл version.dll. Далее создаём архив — и перевод завершён.

________________________________________________

Иной способ получения доступа к файлам играм

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

Например, если таким образом пробовать вскрыть файлы сценария PARQUET, то VNTextPatch выдаст следующую ошибку:

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Тогда на помощь нам может прийти KrkrExtract.exe.

Пароль от архива: 1111.

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

Поместив её в папку к новелле, выбираем EXE-файл игры и наводим его на KrkrExtract.exe.

В итоге откроется окно, представленное ниже.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Следом наводим архив patch.xp3 (если он изначально существует в файлах выбранной вами ВН) и data.xp3 (программа работает с любым XP3-файлом) на это окно.

Ожидаем окончания процесса вскрытия архива.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

В конечном счёте у нас появляется папка outPath.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

И теперь, положив файлы сценария из архива scn.xp3 (его нужно распаковать таким же образом) в VNTextPatch, получаем показанный ниже результат.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Далее, применяя описанные ранее методики (см. пример с игрой Nekogami), переводим текст новеллы и имена персонажей, после чего используем команду insertlocal и получаем готовые файлы с расширением KS.SCN.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Важно отметить, что KrkrExtract.exe также позволяет упаковать вскрытые папки и создать архив patch.xp3.

Правда, конкретно с выбранной для примера визуальной новеллой PARQUET данная функция не работает. Однако в случае, например, с игрой Sanoba Witch от того же издателя никаких проблем с созданием архива патча не возникает.
________________________________________________

Как бы то ни было, рассмотрим процесс создания XP3-архива в данной программе.

1) Перемещаем скрипты в папку patch и вновь открываем программу KrkrExtract.exe.

2) Выбираем данную папку и наводим её на категорию Pack Setting.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

3) Нажимаем на кнопку Make Package.
В итоге получаем результат ниже.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Вернёмся к игре PARQUET. Как я говорил ранее, способ создания XP3-архива через программу KrkrExtract.exe является нерабочим для этой ВН, а потому при работе с ней следует воспользоваться программой Xp3Pack.exe (не забудьте поместить файл version.dll в папку с патчем).

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

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Чтобы это исправить, перейдём в папку outPath, а после, открыв архив data.xp3, найдём в папке font файл embfontlist.tjs.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

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

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Убрать шифрование можно с помощью программы KirikiriDescrambler.exe. Для этого требуется перенести нужный TJS-файл на программу.

И теперь, получив возможность увидеть читаемый текст, меняем в файле следующие строки:

1) 源ノ角ゴシックB на スキップ

2) (const)%[ "name"=>"スキップ" на (const)%[ "name"=>"スキップ1"

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Следом перемещаем изменённый файл embfontlist.tjs в папку patch и с помощью программы Xp3Pack.exe создаём патч для игры.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

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

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Для того чтобы сделать перенос строк удобным для читателя, вернёмся в папку VNTextPatch и найдём в ней файл VNTextPatch.exe.config, в котором можно настроить нужный нам параметр.

Сейчас в теге с ключом ProportionalLineWidth задано значение 1000. Попробуем изменить его на 800 (можно выбирать и другое, главное — узнать, как поведёт себя игра) и посмотрим, что произойдёт с переносом строк в новелле.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Очищаем папку parquet_ru от добавленных ранее KS.SCN-файлов, а затем, пользуясь командой insertlocal, снова создаём их.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

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

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Стоит сказать, что трудности с переносом строк в ВН встречаются не всегда, поэтому если вы перевели какую-либо новеллу, создали для неё патч и, зайдя в игру, поняли, что не столкнулись с подобного рода проблемами, то лучше не меняйте никаких значений в файле VNTextPatch.exe.config.


Кроме того, по окончании работ с ВН не забывайте возвращать исходное значение (то есть 1000) в ключ ProportionalLineWidth — в противном случае вы рискуете получить таблицу с некорректными переносами при переводе уже другой игры.
________________________________________________

Вставка собственного шрифта в новеллу

Данная тема касается игр, построенных на старом движке. Напоминаю, что заметить такие новеллы можно по следующему признаку: их сюжетные файлы имеют расширение KS (а не KS.SCN).

Итак, рассмотрим добавление нового шрифта в ВН на примере игры Suki to Suki to de Sankaku Ren'ai.

Содержимое папки с данной новеллой можно увидеть ниже.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Создаём в папке с игрой папку patch. Открываем архив data.xp3 через GARBro и выбираем нужное шифрование среди предложенного списка (у программы ориентир на японское название новеллы).

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Переходим в папку scenario, затем — в папку main. Там выделяем все KS-файлы, относящиеся к сценарию, и перемещаем их в папку патча.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Поскольку VNTextPatch работает с ВН, построенными на старом движке, нестабильно, я не буду его использовать, а открою файлы сценария через программу NotePad++.

Стоит сказать, что иногда файлы старых игр имеют нестандартную кодировку (а именно Shift-JIS). Если вы столкнулись с такой проблемой, то повторите действия, описанные на скриншоте ниже.

Для этого откройте файл через NotePad++ и поставьте файлу кодировку Shift-JIS.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

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

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Теперь рассмотрим последний известный мне способ создания архива XP3. Открываем GARBro, переходим в папку patch, выделяем всё её содержимое и нажимаем на кнопку Создать архив. Если у выбранной вами игры есть шифрование, то его необходимо указать при создании архива.

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

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Находим в папке patch созданный файл patch.xp3 и переносим его в папку с EXE-файлом игры. Следом удаляем папку savedata, чтобы игра отреагировала на наши изменения.

Как можно заметить, текст отобразился. Кроме того, мы столкнулись с уже известными нам проблемами: непереведённым именем и большим межбуквенным интервалом.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Давайте исправим первую проблему. Для удобства создадим папку data в папке с игрой. Теперь извлечём все файлы архива data.xp3 туда.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Далее находим файл init_variableadv.ks, а уже в нём — имена персонажей.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Стоит отметить, что нужный файл с именами может находиться и в другом архиве (например, в title.ks) в зависимости от игры. Но все имена не разбросаны по разным файлам: они всегда лежат в одном определённом файле.

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

________________________________________________
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Закончив работать с файлом init_variableadv.ks, переместим его в папку патча.

Возвращаемся к сюжетным файлам. С помощью замены меняем прописанные там имена на их переведённые версии.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

И такое нужно проделать с каждым именем и в каждом сюжетном файле.
________________________________________________

Следом, используя GARBro, вновь создаём архив patch.xp3. Не забываем удалить папку savedata для того, чтобы изменения вступили в силу!

И теперь мы можем увидеть переведённые имена.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Осталась проблема с межбуквенным интервалом. Чтобы её решить, нужно поменять шрифт.

Открываем папку data, затем — папку system, а после заходим в файл config.tjs.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Ищём в нём строку, содержащую текст userFace =

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

В итоге наблюдаем, что в переменной userFace = заключён шрифт MotoyaLMaru (хотя чаще всего на его месте выступает японский MS). Меняем его на EET.

Важно отметить, что в таком случае вам следует приложить шрифт EET к вашему патчу, чтобы пользователь мог его установить.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

К слову, в файле config.tjs можно поменять и название игры (однако у некоторых новелл оно может быть записано в override.tjs).

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Теперь снова создадим XP3-архив патча с помощью GARBro, удалив при этом папку savedata, и запустим игру.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

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

Давайте увеличим размер текста. Для этого вернёмся в файл config.tjs, найдём там строку с переменной defaultFontSize = и изменим её значение с 20 на 25.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)
Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

После применения изменений получаем представленный ниже результат.

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

В нашем случае никаких проблем с переносом строк в игре не возникло, однако так бывает не всегда.

Переносы регулируются файлом messagelayer.tjs. Открываем его и ищем в нём строку, содержащую переменную wwLeading, а далее меняем её значение, заключённое в кавычках, на следующее:

\\$([{「‘“(〔[{〈《「『【¥$£АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщэюяъыь.,

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

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

Как перевести японскую визуальную новеллу на движке KirikiriZ (без навыков программирования)

Также важно сказать и о другом появляющемся в игре тексте:

— шрифт текста, находящегося в меню «История» у игр, построенных на старом движке, может быть изменён в файле historylayer.tjs;

— текст верхнего меню у игр на старом движке может находиться в файле menus.tjs;

— всплывающие окна с текстом могут встретиться в файле mainwindows.tjs.

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

И конечно, не стоит забывать, что у игр на старом движке часто разнится структура файлов, отчего нужный текст приходится искать по всем KS- и TJS-файлам, как это было показано в примере перевода имён героев.
________________________________________________

Заключение

Как я уже говорил, уместить все тонкости и особенности работы с каждой ВН в одну статью просто нереально, а потому некоторые вещи вам придётся изучать самостоятельно. Тем не менее я надеюсь, что смог понятно объяснить вам основы перевода игр на движке KiriKiri.

На мой взгляд, понять движок KiriKiri и его модифицированную версию KiriKiriZ на базовом уровне (пригодном для возможности перевести ВН) не составит труда, поэтому разобраться в них, не обладая никакими навыками в области программирования, — вполне реальная задача.

________________________________________________

Все использованные программы:

EETшрифт для русификации игр на старом движке;


FreeMoteToolKit изменение формата графики с PIMG на PNG;


GARBro Newизвлечение данных из XP3-архивов с выбором из множества шифрований, создание патча;


KirikiriDescrambler возможность дешифровать TJS-файлы движка KiriKiriZ;


KrkrExtract иной способ извлечения данных из XP3-архивов и создания патча;


Пароль от архива: 1111;

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


kr2_232r2ENизменение формата графики с PNG на TLG;


LocaleEmulatorэмулятор локали: позволяет запустить игру, доступ к которой имеется только у систем с японской локалью;


NotePad++версия блокнота, учитывающая кодировку файлов;


ScnEditorGUI иной способ работы с SCN-файлами сценария;


version.dllсодержит в себе шифрования множества игр, построенных на движке KiriKiriZ;


VNTextPatchсоздание удобной таблицы для перевода текста;


Xp3Pack.exe создание XP3-патча.
6060
32 комментария

Похоже, кто-то наконец-то объяснил в подсайте Аниме, как пропатчить KDE2 под FreeBSD😁

10
Ответить
Автор

А, да? Не знал)

Ответить

Комментарий недоступен

2
Ответить

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

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

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

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

2
Ответить

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

2
Ответить
Автор

Куда ещё можно выложить? Здесь самое близкое к вн, что я нашёл. Анивизуал закрыт, новый сайт от НВН в процессе — иных ресурсов не знаю

Ответить

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

1
Ответить