Руководство по организации перевода модификаций (модов) для игр серии Total War, часть первая.
Приветствую вас дорогие форумчане! Если вы вдруг решили заняться переводом интересных модов на ранние игры серии Total War (вплоть до Empire Total War, по ней и более новым частям серии будет вторая часть) то это руководство для вас!
Первый шаг который вы должны сделать, это скачать все необходиме программы для работы с иходными .txt файлами игры. В данной Для просмотра ссылки Зарегистрируйтесь представлен их исчерпывающий список, также там вы сможете найти крайне полезные словари для самого процесса перевода и достаточно обширный каталог исторических материалов.
Второй шаг заключается в определении фронта работ, которые необходимо провести. начнём с того, что выясним, где же находятся текстовые файлы игры?
Ответ, по данному пути: (ваш путь к папке с установленной игрой)\Medieval II Total War\mods\Divide_and_Conquer\data\text В данном случае показан пример для глобального мода Divide and Conquer на игру Medieval 2 Total War. С другими играми серии подход будет немного другой... Но об этом в другой раз.
В папке text находятся все текстовые файлы которые использует игра, но не все они нуждаются в переводе, файлы credits и descr_shortcuts никогда не используются игрой и переводить их бессмысленно.
К этому списку можно также добавить export_advice, потому что в большинстве модов советник по умолчанию отключен в игре и при попытке его использовать произойдёт crush (вылет из игры на рабочий стол с ошибкой). Также, далеко не все текстовые файлы могут быть модифицированы разработчиками мода, в каких-то случаях может подойти простой перенос русификации из оригинальной игры, но делать это тоже придётся либо вручную или использовать специальные плагины для редакторов исходного кода.
Итак, определившись со списком файлов которые нуждаются в переводе, настоятельно рекомендуется создать рабочий список по образцу:
- expanded (свободно)
- export_ancillaries (в процессе перевода, Alexander_NSK)
- export_units (свободно)
И так далее. пока все файлы не будут закреплены за определёнными переводчиком, если перевод делается в команде, ну или хотя бы отмечены что они сейчас "в работе" если вы занимаетесь переводом самостоятельно. Можно приступать к работе!
Третий шаг заключается в самом процессе перевода. Разберёмся как выглядит текстовый файл "изнутри", ниже представлен пример нескольких строк кода из файла diplomacy.txt
{DDS_ACCEPT_EXTORTION}Barely Accepted
{DDS_ACCEPT_HIGH}Happily Accepted
{DDS_ACCEPT_LOW}Just Accepted
{DDS_ACCEPT_MED}Accepted
Слова слева от знака фигурных скобок { и } это название строчки в движке игры, грубо говоря "кнопки", на которую должен выводится текст. Справа от фигурных скобок находится сам внутриигровой текст который нужно перевести. Процесс перевода выглядит так: Переводите строчку внутриигрового текста и заменяете её в файле на ваш перевод, выглядит это так:
{DDS_ACCEPT_EXTORTION}Уступка
{DDS_ACCEPT_HIGH}Радостное согласие
{DDS_ACCEPT_LOW}Неуверенное согласие
{DDS_ACCEPT_MED}Согласие
В даннном примере показан успешно переведённый текст. Вы спросите, а есть "неуспешно" переведённый текст? Да, конечно же есть. Например, вот это:
{DDS_ACCEPT_EXTORTIONУступка
{DDS_ACCEPT_HIGH}Радостное согласие
{DDS_ACCEPT_LOW}
{DDS_ACCEPT_MED}AcceptedСогласие
Рассмотрим данные ошибки и их влияние на функционирование игры. Ошибка первой строке неизбежно приведёт к crush (вылету игры), поскольку была пропущена фигурная скобка } отделяющая код игры от внутриигрового текста, соответственно, игра не сможет прочитать его в нужный момент и аварийно завершит работу выдав ошибку. Пустая строчке в третьей строке может как вызвать crush (краш, вылет) так и не вызвать, всё зависит от конкретного текстового файла, в лучшем случае в игре на месте данного текста будет пустота, в худшем - игра вылетит. Ну и наконец ошибка в последней строке, это криво скопированный переведённый текст, который слился с английским оригиналом. Вылет игры конечно не вызовет, но выглядеть будет не очень красиво.
Ну и последний шаг заключается в переконвертации переведённого на русский язык файла во внутриигровой бинарный формат .txt.strings.bin который сможет прочитать игра. Для этого нам понадобится программа BinEditor, ссылка на которую есть в упомянутой выше теме. Запускаем программу и выбираем пункт MENU_FILE, в открывшемся меню нажимаем MENU_IMPORT и выбираем переведённый .txt файл. Выбрав файл, нажимаем MENU_SAVE и получаем нужный нам бинарный файл в той же папке что и переведённый .txt всё, можно после тестирования работы перевода в игре, добавлять файлы в архив с нашим русификатором.
И отдельного упоминания заслуживает одна очень необычная ошибка, которая может произойти если редактировать текстовые файлы не редактором исходного кода (вроде Notepad++) а обычными текстовыми редакторами (например, Блокнот по умолчанию установленный в Windows) это ошибка связанная с кодировкой файла. Дело в том, что внутриигровой текст записан не в обычных текстовых файлах, а в переконвертированных бинарных файлах игры, да, вы правильно поняли, это файлы с хитрым расширением .txt.strings.bin переписанные специальным скриптом в обычные .txt файлы. При попытке отредактировать их Блокнотом или другим текстовым редактором, происходит также смена кодировки с родного для этих файлов на используемый редактором. В итоге, при попытке поиграть вы в 95% случаев наткнётесь на то, что компания или сама игра не запускаются в принципе. Избежать этой проблемы можно только используя редакторы исходного кода (Notepad++), на которые дана ссылка в вышеупомянутой теме.
Что-ж, пожалуй это всё что должен знать начинающий переводчик модов по первым играм серии Total War... Хотя нет, постойте! Последний и самый важный совет: Всегда делайте копии (backup, бэкапы) оригинальных текстовых файлов мода. Вам же не хочется скачивать и устанавливать его заново в случае порчи файла, да?
Ну и на этом всё. Спасибо за внимание, и удачи в переводе!