5 шагов к локализации: технические аспекты перевода игр

Инструкции

Автор: Павел Севец

Источник

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

Шаг  первый: перевод брифингов

В кампаниях Warcraft 3 есть две категории ресурсов, которые необходимо перевести: это сюжетный текст и надписи на текстурах. Процесс локализации мы рассмотрим на примере кампании «Повелитель кланов». Для создания перевода нам понадобится стандартный игровой редактор World Editor, входящий в состав игры, а также утилиты myWinMPQ для работы с MPQ-архивами и WC3 Image Extractor 2 для конвертации картинок. Эти и другие программы, упомянутые в данной статье, вы можете взять с нашего DVD из раздела «Игрострой». Почти все игровые файлы Warcraft 3 представляют собой MPQ-архивы, в каждом из которых хранится определенный тип данных. К примеру, тексты запакованы в файле war3*.wts, а графика — в файлах с расширением TGA и BLP.

Открываем файл кампании LordoftheClans_english.w3n MPQ-архиватором и перетаскиваем оттуда файл war3campaign.wts, открываем его обычным «Блокнотом». Перед нами список, выглядящий следующим образом:

STRING 1

{

Lord of the Clans

}

STRING 2

{

Normal

}

STRING 4

{

OutsiderXE

}

STRING 9

{

Thrall’s tumultuous tale of his journey, from slave to warchief of the horde.

}

Текст для перевода заключен в фигурные скобки, а STRING x — это просто нумерация строк. Мы переводим предложения внутри скобок и сохраняем изменения. В LordoftheClans_english.w3n собрана общая информация о кампании, появляющаяся в самом начале игры: название карты, ее краткое описание, автор, а также брифинги.

В обход защиты

Частичная расшифровка позволяет добраться до ресурсов карты с помощью MPQ-архиватора.

В последнее время появляется все больше защищенных карт для Warcraft 3. Чтобы локализовать их, приходится прибегать к ряду хитростей. Хитрость номер раз — связаться с разработчиком и попросить у него исходники. Увы, этот фокус срабатывает не всегда. Иногда найти автора мода в интернете крайне сложно. Но даже если он находится, то может не дать согласия на перевод: одно дело, когда разрешение запрашивает крупное игровое издание, и совсем другое, когда локализацией занимается простой игрок. Автор мода, может, и рад был бы вам помочь, но боится, что вы украдете программный код мода.

Но и в этом случае есть выход. При защите карт обычно удаляется графическое представление триггеров, а внутренние файлы карты шифруются. Кроме того, программы типа True’s Optimization Tools, ускоряющие загрузку карты путем переноса текстового контента из WTS-файлов в W3*-файлы, делают основную массу текста недоступной для изменения без применения трюков с HEX-редактором. Однако если карта не была оптимизирована таким способом, имеет смысл произвести расшифровку названий файлов с помощью утилиты XGM MPQ Recover, созданной отечественными программистами с сайта http://xgm.ru.

Для «лечения» защищенной карты достаточно загрузить ее и кликнуть кнопку Scan. Если в процессе сканирования были расшифрованы некоторые файлы, жмем кнопку Save MPQ для обновления оглавления архива. Теперь с помощью MPQ-архиватора можно извлечь распознанные файлы и локализовать их.

Есть и еще одна проблема — некоторые очень большие карты в игровом редакторе могут не загружаться. Причина в том, что многие моды разрабатываются в расширенных версиях редактора, например в World Editor Unlimited 1.20, который снимает с карты ограничения на количество строк текста, число триггеров и юнитов. Решение проблемы очевидно — экспорт/импорт текста необходимо осуществлять посредством WEU.

Шаг второй: вылавливание ошибок

Когда все переведено, делаем резервную копию файла кампании, после чего снова открываем ее архиватором и удаляем war3campaign.wts, а потом помещаем в архив переведенный файл. Запускаем игровой редактор и вызываем окно кампаний (клавиша F7). Если все было сделано правильно, то локализация откроется. Если же выскочило сообщение об ошибке, то с вероятностью в 90% вы сделали следующее:

— Изменили номера строк в идентификаторах STRING x. Лечится это сопоставлением и исправлением идентификаторов строк оригинального файла и отредактированного.

— Пересохранили war3campaign.wts в кодировке ANSII, чего делать нельзя, так как файл должен быть только в юникод-формате UTF-8. Файл всегда можно пересохранить в «Блокноте», отметив соответствующую опцию в поле Сохранить как.

— Не удалили имеющийся в архиве файл перед добавлением переведенного. В идеале замена должна проходить безболезненно, но в реальности это вызывает массу проблем, связанных с особенностями формата MPQ.

Шаг третий: локализация основного текста

В окне редактора кампаний справа мы должны сразу увидеть русифицированный текст. Список слева содержит карты кампании. Наша задача — перевести их начинку на русский язык, но для этого требуется все карты экспортировать в отдельные W3X-файлы: правой кнопкой мыши кликаем по пунктам списка (расположенными рядом со значком «плюс-минус») и в контекстном меню выбираем опцию Экспорт карты. Когда все карты экспортированы, можно приступать к их вскрытию.

Открываем, к примеру, первую карту кампании (01.Intro.w3x) с помощью игрового редактора World Editor, командой Файл/Экспорт текста сохраняем документ для перевода в отдельный WTS-файл, после чего переводим весь англоязычный текст. Теперь закрываем редактор и загружаем карту в MPQ-архиватор. Стоит заметить, что архиватор изначально не понимает файлов типа w3x, поэтому нужно выбрать маску All Files (*.*). Необходимо выяснить, имеются ли в недрах карты графика с надписями. Тут нам на помощь приходит утилита WC3 Image Extractor 2, изначально предназначенная для исследования начинки оригинальной игры, но также отлично справляющаяся с конвертацией формата TGA (который открывается любыми графическими редакторами) и BLP (собственный формат Blizzard).

Шаг четвертый: адаптация текстур

Если нам в архиве встречается картинка в формате TGA, мы ее открываем любым доступным просмотрщиком, а для просмотра BLP используем Image Extractor. Если попадается надпись на картинке, какая-нибудь LoadingScreenTR.tga в файле 01.Intro.w3x, мы ее редактируем и вставляем обратно, пользуясь уже известным алгоритмом: сначала удаляем старый файл и только потом кидаем в архив новый вариант. Однако в файле 10.LordoftheClans.w3x графика находится в Credits-Loading-TopRight.blp, поэтому прежде, чем отредактировать ее в Image Extractor командой Open/Image, загружаем файл Credits-Loading-TopRight.blp и кликаем Save/Image для сохранения его в формате TGA. Изменив картинку, выполняем обратное преобразование — запаковываем в архив.

Когда графика всех карт заменена, самое время внедрить в кампанию русский текст. Для этого открываем каждую карту и командой Файл/Импортировать текст проводим замену англоязычного текста на переведенный, после этого обязательно сохраняем карту (Файл/Сохранить).

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

1. — Командой «Экспорт» оригинальные тексты выдираются из карты в отдельный файл.

2. — Полученный файл в кодировке UTF-8 редактируется: весь текст переводится на русский язык строка за строкой.

3. — Командой «Импорт» локализованные ресурсы возвращаются обратно в игру.

4. — Перевод корректируется непосредственно в редакторе. Например, на вкладке «Войска» можно проверить, правильно ли переведены текстовые данные, описывающие боевые юниты.

5. — Выбор юнита. В данном случае выбран лейтенант легиона.

6. — В редакторе карты можно посмотреть, как выглядит герой. Это помогает делать перевод в соответствии с обликом персонажа.

7. — Проверять точность текста лучше сразу в нескольких окнах.

8. — Описания юнита можно посмотреть на плашке свойств.

Шаг пятый: замена файлов

Когда все сделано, заменяем исходные W3X-файлы в редакторе кампаний. Для этого выбираем пункт Заменить карту в том же контекстном меню, что мы вызывали для экспорта карт, и выбираем локализованную W3X-карту. После замены всех карт кликаем Файл/Сохранить кампанию. Локализация кампании завершена, можно опробовать ее в деле: копируем русифицированный W3N-файл в <Корневая папка Warcraft III Frozen Throne>\Campaigns и запускаем игру. В списке Один игрок/Доп. кампании находим наш перевод и кликаем по названию. По мере обнаружения ошибок перевода вносим исправления.

* * *

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

Оцените статью