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

Забыл пароль
Регистрация
Меню сайта
Главная страница
Моды ПК игр Форум Flash игры/журналы Помощь сайту WAP/PDA версия сайта Мы вКонтакте
Категории
Уроки по модификации java [175]
Уроки по переводу java игр [15]
Программы для компьютера [102]
Программы для телефона [85]
Модификация смартфонных игр [15]
Symbian, Android, iPhone и т.д.
Прочее [35]
Уроки по модификации ПК игр [9]
Мини-чат
Главная » Статьи » Уроки по переводу 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
Просмотров: 2670 | Комментарии: 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) [Материал]
%) ничего непонял

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

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

Нагибатор 3D (Repressor) Prefinal
Комментов: 27 | Загрузок: 2611
Parkour 3d from quantum
Комментов: 0 | Загрузок: 20
Micro Team fortress pre-alpha
Комментов: 2 | Загрузок: 803
Evil House - По мотивам Resident Evil Village
Комментов: 1 | Загрузок: 811
ZOA 3D Билд 7621
Комментов: 10 | Загрузок: 1042
Большой Шлепа
Комментов: 3 | Загрузок: 629
Хроники Хаоса
Комментов: 1 | Загрузок: 1178
Deep 3D Submarine Odyssey sound MOD
Комментов: 0 | Загрузок: 83
Crazy Chicken: DeluXe
Комментов: 0 | Загрузок: 530
The long dark mobile
Комментов: 7 | Загрузок: 177

Здорово и вечно свободное человечество
Комментов: 3 | Просмотров: 80
Silent evill quantum
Комментов: 5 | Просмотров: 124
PES 5 RPL
Комментов: 20 | Просмотров: 417
Evil House - По мотивам Resident Evil Village
Комментов: 5 | Просмотров: 475
S.T.A.L.K.E.R. Mobile part_2
Комментов: 23 | Просмотров: 1184
Lost in taiga 3d: Winter survival
Комментов: 6 | Просмотров: 1041
Comcraft Remastered Version
Комментов: 1 | Просмотров: 1079
Случайный мод
Новый мод на знаменитую Java-игру Deep - Submarine odissey. Изменены ВСЕ характеристики оборудования и кораблей.
1764 202 12 3.8
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Пользователи
Гости сайта

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