Перевод игр для чайников. Часть 2

Локализация игр

Автор: AxelS2002@mail.ru

Источник

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

Хочу сразу предупредить, я НЕ знаю японского совершенно (совсем никак), поэтому данный документ нужно читать как объяснение особенностей перевода игр с японского.

Для лабораторной работы нам понадобятся следующие инструменты:

  • 0. Windows2000 или XP (любая редакция) в Win95/98/Me возможны проблемы в виду не полной поддержки ими unicode.
  • 1. Шестнадцатиричный редактор.
  • 2. Windows Commander для побайтного сравнения файлов и быстрого HEX просмотра.
  • 3. TileMolester утилита для поиска и редактирования битмэповых шрифтов в приставочных играх.
  • 5. PokePerevod JAP Edition- утилита, которая будет помогать нам при переводе…с японского
  • 6. Также возможно вам понадобятся словари и переводчики (обилие словарей сильно зависит от ваших знаний).
  • 7. Не лишней будет и системная утилита из комплекта Windows под названием Charmap
  • 8. Возможно потребуется еще какой-никакой графический редактор (я пользовался Paint Shop Pro).

 

Глава Первая – Настраиваем locale.

Говоря простым языком locale – это поддержка операционной системой символов национального алфавита, причем не только в плане отображения на экране, но также их ввода, редактирования, сортировки и проч.

Первое, что нам потребуется это включить поддержку японской locale в нашей многострадальной операционной системе. Для этого идем в Start–>Control Panel–>Regional Settring и устанавливаем соответствующую галочку в нужное положение.
(вероятно Windows попросит вставить ей…CDROM)

После успешного добавления японской locale наш Internet Explorer (на японских сайтах) будет показывать японские иероглифы а не непонятные галочки с закорючками. Кроме того в системе появятся еще пара шрифтов один из них называется MS Mincho.

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

Конечно японцы хитрый народец, и придумали еще много разных “буковок” называемых идеографами, но в данном руководстве мы рассмотрим простой случай (когда в игре идеографов нет).

 

Глава вторая – препарируем игру.

Для расправы я выбрал игру под названием Hachiemon (1088 – Hachimon (J).gba) для приставки GameBoy Advance.

Игра эта выбрана главным образом потому, что являет собой классический пример ромостроения и поэтому объяснение должно быть намного понятнее. Следует заметить, что совсем не каждая японская игра устроена именно по такому принципу (будем считать нам повезло 😉 ).

Первое, что нам предстоит сделать – это найти изображение букв. Для этого открываем ром в Tile Molester и после некоторого листания и выравнивания видим примерно следующую картину.

Подсчитатав, количество строк и колонок, понимаем насколько нам повезло – тут как раз 255 символов!

Аккуратненько вырезаем наши тайлы с буковками и отредактировав картинку получаем примерно вот это.

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

Следующим шагом мы начинаем сравнивать изображения букв в шрифте(в роме) и их изображения “уложенные” в слова и показываемые нам на экране в процессе игры. Ищем все буквы первого слова и переводим их в цифры (в hex виде). Получилось что первое слово равно кодам: 69 60 53 72 7d 13 (hex). Следующим шагом мы запускаем hex редактор и пытаемся найти последовательность байтиков с именно такими кодами, как мы придумали…
Ура нашлась такая комбинация байтов (нам повезло второй раз). Судя по картинке следующим должен идти пробел, но в hex редакторе это код EAh, запомним на будущее.

Идет дальше, теперь нужно убедиться, что мы не промахнулись и это имеено то самое место и именно те самые байты. Для этого мы вычисляем коды для какого нибудь английского слова и вписываем его в ром. Рисовать английские буквы нам не пришлось, ну и везучие мы люди, в третий раз повезло! Пусть слово будет “SHEDEVR”, тогда коды будут такие: B2 A7 A4 A3 A4 B5 B1 EA (в hex). Вспомните код EAh это предположительно пробел.

Исправив пробуем запустить нашу игру и посмотреть, что получится.

Ура, получилось…

Прежде чем мы возьмемся переводить, нужно еще убедиться, что мы сможем писать по русски. Для этого вызываем Tile Molester и рисуем наши родимые буковки. Я решил, что нечего тут изголяться и нарисовал их прямо с позиции 00h. Вот так:

Сохраняем исправленный образ игры.
Я решил для наглядности еще раз сделать отдельную картинку с набором символов.

Для проверки идеи напишем еще слово, но уже по русски. Для этого сильно не задумываясь берем слово “ШЕДЕВР” и вычислив коды букв получаем последовательность кодов байт 18 05 04 05 02 10 (опять hex). Вбиваем новые коды в то самое место, которое как мы убедились показывается в начале игры (вы ведь запомнили его адрес ?).

Так… сохраняем, проверяем…

Ура! опять получилось…причем видавшие виды переводчики скажут, что нам еще раз повезло, на этот раз с шириной символов…(нам не надо искать и исправлять байты ответственные за это)

 

Глава третья – делаем японскую таблицу.

После проверки концепции, нам нужно вернуться в начало и понять как же нам все таки переводить. Есть несколько вариантов:

  • 1. Сделать таблицу в виде транскрипции.(мы пойдем другим путем)
  • 2. Сделать таблицу в виде url_encoded символов.(мы пойдем другим путем)
  • 3. Вытащить текст из игры в “широкую” кодировку типа unicode где есть и английские и японские и русские буквы, а потом при вставке перевода обратно в игру вернуть его в однобайтовую кодировку.

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

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

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

Решено, делаем японскую таблицу. Для этого запускаем charmap.exe и выбираем шрифт MS Mincho.

Далее мы, глядя одним глазом в нашу картинку с японским шрифтом, другим глазом в charmap, а третьим глазом в японский алфавит двойными щелчками “накликиваем” себе все символы в нужном порядке. Потом мы эту длинную строку иероглифов сохраняем в clipboard. Далее вызываем notepad и переключаем там шрифт на MS Mincho и вставляем туда нашу строку.

Затем сохраняем такой файл, не забыв указать тип кодировки unicode.

теперь запускаем японскую редакцию PokePerevod’а мы генерируем таблицу.(нужно вводить полный путь к файлу)

Утилита просто допишет левую часть таблицы (коды символов). В нашем конкретном случае мы укажем начинать с кода 00h. И получим вот такой файл:

Осталось только загрузить ром и нашу таблицу, а потом вынуть текст из рома. В результате мы получим весьма большой файл, но это текстовый файл.

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

Эксперимент удался!

Ниже я привел пару примеров использования подручных средств для перевода…

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

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