Привет Гость!
Ты можешь:
Войти или зарегистрироваться

Забыл пароль
Регистрация
Меню сайта
Главная страница
Моды ПК игр Форум Flash игры/журналы Помощь сайту WAP/PDA версия сайта Мы вКонтакте
Категории
Уроки по модификации java [176]
Уроки по переводу java игр [15]
Программы для компьютера [102]
Программы для телефона [85]
Модификация смартфонных игр [15]
Symbian, Android, iPhone и т.д.
Прочее [35]
Уроки по модификации ПК игр [10]
Мини-чат
Главная » Статьи » Уроки по переводу java игр

30.10.2012, 18:03

Fishing Legend (Перевод)

Однажды, прогулявшись по нескольким форумам, я нашел комментарии с просьбой перевести на русский javaME игру Fishing Legend. Сразу вспомнил, что эту игру как-то очень давно сам хотел перевести, но не понимал, почему после перевода не отображается русский текст. Тогда я не знал, что существуют рисованные шрифты. Но сейчас, спустя три года, пробежавшись по файликам в архиве, я решил взяться за перевод этой игры.

Итак, открываем архив и ищем интересующие нас файлы — шрифты и текст. В этой игре используются два рисованных шрифта: один крупный (для меню, с обводкой), второй мелкий — для всего остального:


Размеры каждого символа — длина, ширина и расстояние между буквами — находятся в классе i.class, считывание шрифтов, судя по всему, тоже в классе i.class. Здесь два варианта для добавления русских букв: оставить все существующие символы и дорисовать русские в конец изображения либо русские буквы поставить вместо существующих. Я выбрал второй вариант, самый простой, к тому же количество символов в одной строке — 32, как раз все русские буквы можно вставить без проблем (буквы ё в своих переводах я избегаю). Далее появляется еще одна очень неприятная проблема в первом шрифте: так как ширина для всех букв одинакова, изменить ее отдельно нельзя. Изначально она равняется 8 пикселям, что совершенно не подходит для «нестандартных» русских букв «Д», «Ш», «Щ» и «М». На помощь приходит javaByte, с его помощью ширина была увеличена до 10 пикселей. Что касается второго шрифта — там проблем не было никаких, все буквы встали на места как родные.

Вот то, что получилось после нескольких минут работы в графическом редакторе (четвертая строка была удалена за ненадобностью):


А вот то, что было изменено в коде программы:
Code
if(j == 0)
  {
  a_int_static_fld = 10; // ширина символа изменена на 10
  b = 7; // расстояние между символами, не выяснено, почему корректно не увеличивается
  c = 12; // выстоа символов
  return;
  }


На этом работа со шрифтами заканчивается, пора приступать к работе над текстом. Текст находится в каталоге /t/ в восьми файлах, плюс несколько слов в классах. Структура файла на первый раз была непонятна из-за того, что байты записываются в обратном порядке (например, не 0021, а 2100).

Вот как выглядит первый файл в Hex редакторе:


Первые два байта — количество текстовых строк в файле. Далее двухбайтовое число — количество всех байтов с начала файла до нужной текстовой строки. На скрине выше AA00 (байты выделены) — количество байтов до первой текстовой строки, все строки во всех файлах начинаются и заканчиваются символами «+».

Редактировать вручную — вырезать и вставлять строки — очень сложно, так как ситуация ухудшается с появлением «крякозябров» — русские буквы ведь «встали» на место всяких-там-непонятных символов. Отредактированный файл принял такой вид:


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

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


После редактирования / перевода всех восьми файлов и двух классов работа над игрой завершается. Файлы шрифта и перевода совместимы с версиями 240х320 и 176х208. Графику я решил не перерисовывать, поскольку у меня это получается не очень хорошо.

Оценка времени перевода:
1 день на перерисовку шрифтов и написания программы
3 дня на перевод строк
1 день на тестирование
Итого: 5 дней (в среднем за день работы на 3 часа).



Автор урока - wakko, вот его сайт.
Категория: Уроки по переводу java игр | Добавил: Tommy_M | Автор: wakko
Просмотров: 3221 | Комментарии: 6 | Рейтинг: 5.0/1
Всего комментариев: 6
Спам
Westnoise   (18.11.2012 15:20) [Материал]
Сложно, но понятно. Благодарю за инфу. :)

Спам
HapyTo-05   (06.11.2012 10:25) [Материал]
да все там понятно!

Спам
erkin98   (31.10.2012 22:16) [Материал]
я непонял

Спам
ValekS   (31.10.2012 17:27) [Материал]
Всё там понятно. Wakko зачётно пишет.

Спам
Mad1999   (31.10.2012 14:03) [Материал]
mda

Спам
Werewolf   (30.10.2012 21:34) [Материал]
%) ничего непонял

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

о, привет
Новинки
  • Файлы
  • Статьи
  • Новости

Rise Of Antares
Комментов: 1 | Загрузок: 43
РЕЗНЯ 3D: Not city of sins
Комментов: 0 | Загрузок: 98
Vice Multi-Player 0.1 beta RC 8-4-9-5
Комментов: 0 | Загрузок: 18
GTA San Andreas Beta 1
Комментов: 1 | Загрузок: 171
Galaxy Force 2 FINAL
Комментов: 42 | Загрузок: 1
Haunting abandoned mansion (color mod)
Комментов: 0 | Загрузок: 148
Deadly game Resident Evil 7 DLC
Комментов: 0 | Загрузок: 225
GTA SA FLY
Комментов: 0 | Загрузок: 281
GTA SA Mobile: Definitive Edition
Комментов: 1 | Загрузок: 492
QUAKE
Комментов: 51 | Загрузок: 432

Чат в Телеге
Комментов: 0 | Просмотров: 36
ODN Remake - скриншоты
Комментов: 0 | Просмотров: 77
O. D. N Remake
Комментов: 0 | Просмотров: 124
Новый сайт с мобильными загрузками - Oldfag
Комментов: 7 | Просмотров: 1487
Здорово и вечно 2 свободное человечество анонс номер два
Комментов: 9 | Просмотров: 1417
Дневник разработки "Шизофрения 3D" #2 - Концепция
Комментов: 2 | Просмотров: 1429
Дневник разработки "Шизофрения 3D" #1 - Общая инфа
Комментов: 0 | Просмотров: 1379
Случайный мод
1959 311 6 3.3
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Пользователи
Гости сайта

[ Нас сегодня посетили ]
При копировании материалов, желательно оставлять ссылку на этот сайт!
© Tommy_M 2009-2024 | Хостинг от uCoz