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

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

19.11.2010, 14:04

Учимся переводить игры с рисованным шрифтом

Компания I-Play, не выпускает и походу не собирается выпускать игры на русском языке.
Давайте вместе рассмотрим базовые знания по переводу игр этой компании. Все они строятся на одном принципе и если у меня получится доступно рассказать как, то впоследствии вы сможете перевести любую их игру, а заодно почерпнёте знания по работе с программами которые пригодятся и для перевода других компаний.

Нужные нам программы:
1. WinRAR - архиватор для распаковки игр
2. WinHex - редактор Hex значений (контрольного кода)
3. Macromedia Fireworks MX или Adobe Photoshop - графический редактор
4. Notepad 2 - текстовый блокнот
5. Text Filter - программа для перевода игр
6. KEmulator - эмулятор телефона

Осуществим и рассмотрим наш перевод на примере игры: Bubble Town 2

Скачиваем игру и нужные нам программы (соответственно всё это устанавливаем)
Создаём папку "Перевод игры" и закидываем туда нашу игру, чтобы потом нам не искать где это у нас всё лежит и все операции будем проделывать в этой папке.
Распаковываем игру архиватором WinRAR и заходим в распакованную папку с файлами которые нам и нужны для редактирования.

И начнём мы с вами с создания русских букв. Отыскиваем среди распакованных файлов графический файл (рисунок) с буквами. В нашем случае это два файла "menufont.png" и "smallfont.png" дорисовывать буквы будем в оба файла.
Начнём с файла "menufont.png", открываем его графическим редактором:

Мы с вами видим что картинка шириной 586 точек и высотой 66 точек. Нам нужна только высота картинки.
На картинке мы видим три строчки букв, то есть высоту 66 делим на 3 строчки и получаем значение что каждая строчка равна 22 высота. Нам на картинке больше буквы рисовать места нет и поэтому мы добавляем новую строчку шириной 22 точки в нижнюю часть картинки. У нас картинка получилась 88 точек.
Начинаем на чистой строке рисовать буквы полностью русский алфавит:

ЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеж
зийклмнопрстуфхцчшщъыьэюяё

Начинаем с буквы "Ё" далее по порядку и заканчиваем маленькой "ё" имено так идут буквы в кодировке ЮТФ8.
Похожие буквы можно вырезать из уже нарисованного алфавита английская A = русской А и так далее.
В нашем примере рисовать начинаем от самого края.
(*Примечание: Если в рисунке было пустое место, то рисовать начинаем от последней буквы, перенос на новую строку происходит по истечению пустого места или если последующая буква уже не вмещается в кусок пустоты, тогда этот кусочек оставляем пустым и начинаем новую строку.)
(**Примечание: Чтобы буквы начать рисовать не выше и не ниже в строке, можно наложить нашу букву на верхнюю строку выровняв с соответствующими уже нарисованными буквами и отпустить вниз на 22 (так как у нас строка равна 22) точки и уже следующие буквы рисовать по этой высоте в строке.)

Рисовать надо каждую букву отдельно, то есть если мы зацепим нарисованую букву курсором мышки, то мы сможем её двигать по экрану рисунка.
Буквы в строке должны прилегать друг к другу, если выделить букву то она будет в квадратной рамочке и эти рамочки должны быть квадратик к квадратику.

Если выделить одну букву то она тоже будет в рамочке (это её параметры размера). В нижней части вашего редактора (обычно) при выделении буквы пишутся параметры: Ширина, Высота, Ось Х, Ось У. Выделяем букву и ищем эти параметры, ...ищем, ищем, должны быть. Нам нужен параметр Ширина. Ширина каждой нарисованой нами буквы.
На моём рисунке это выглядит так
Ё=13
А=15
Б=13
В=13
Г=11
Д=17
и так далее.
Нам будут нужны размеры каждой нами нарисованой буквы. Можно на компе создать текстовый документ и записать все размеры букв. Или в обычную тетрадочку.
Эти параметры ширины каждой буквы нам очень нужны.

Ну всё рисуем буквы акуратно записываем ширину и можно сказать мы завершили шаг номер один.

Теперь проделываем такую же операцию с файлом smallfont.png но заметим что ширина строк равна 16, а это значит что и буквы на этом рисунке поменьше размером.
Всё мы дорисовали с вами буквы и записали у себя ширину каждой нарисованной нами буквы.
Сохраняем наши рисунки с прозрачным фоном в формате PNG-8. (фон вырезается, удаляется и делается прозрачным.)

Теперь сделаем так, чтобы нашими нарисоваными буквами можно было писать в игре.
Создаём у себя обычный Текстовый документ и открываем его программой Notepad 2.
И пишем в нём весь русский алфавит (в одну строчку, без пробелов, начиная с Ё и заканчивая ё)
ЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
абвгдежзийклмнопрстуфхцчшщъыьэюяё
теперь в верхнем трее выбираем / Файл / Кодировка / UTF-8
И сохраняем наш текстовый документ.

Далее открываем нашу распакованную папку с файлами игры и находим в ней файлы:
menufont.font - этот файл отвечает за передачу игре рисованых шрифтов файла "menufont.png" который мы рисовали.
smallfont.font - этот тоже отвечает на те же требования, но к буквам файла "smallfont.png".
Вы заметили что файлы носят одинаковые названия у картинки и файла соответствия. У компании I-Play это распространнёный случай называть одинаково файлы одного направления.
Отыскали два файла "menufont.font" и "smallfont.font"

На втором рисунке этого же файла, я уже выделил вторую часть кода.

Сразу смотрим сколько он занимает в правом нижнем углу. Он равен 150. Это количество букв которые внесены в файл в видимом формате. (Как раз такое же число и нарисованных букв и знаков было у нас изначально на рисунке.)
Все эти точки, не просто точки, а имеют слишком малый числовой код и отображены именно так. Фиолетовым цветом я выделил произвольно несколько таких точек.
Мы видим что каждая точка имеет своё число. Это и есть ширина буквы!!! У каждой из 150 точек есть своё число равное ширине одной из букв.
И если мы с вами будем добавлять буквы то и точки будут прибавляться. одна буква = одна точка. две = две и так далее. И если у буквы Б ширина равна 13 то и точка ответственная за эту букву будет 13.
Далее не закрывая WinHex, мы берём наш текстовый документ в котором писали весь русский алфавит и сохраняли в UTF-8 и закидываем его в ХексРедактор.

Вот так и выглядит весь наш алфавит в формате ЮТФ-8, хотя если открыть его простым блокнотом то он будет по прежнему обычными буквами.
Его размер 132. 33 больших буквы + 33 маленьких = 66 букв. каждая буква 2 символа. 66 Х 2 = 132 блока.
Эти буквы нам надо добавить к уже прописанным буквам файла "menufont.font".

Копируем весь код русских букв Ctrl+C и вставляем Ctrl+V в файл "menufont.font" точно между кодом букв (дополняя буквы) и кодом их ширины. Для этого просто сделайте клик перед кодом букв (на первом блоке который отвечает за ширину) и вставьте текст.
Мы с вами добавили 132 блока, теперь как я и писал выше мы подтвердим это в двух блоках которые отвечают за это добавив им тоже значение +132.

Чтобы прибавить значение в блоках выделите второй отмеченный блок (удерживая левую кнопку мыши поелозьте по нему) и Ctrl+T добавить 132.
Так как значений Хекс всего 256 вместе с 0, то вы заметили что значение стало меньше чем было. В нашем случае оно стало 90 (214 + 132 = 346) значений 256 (346 - 256 = 90) То есть один целый и ещё 90. И это значит что в первый блок нам надо тоже добавить 1. и будет 1 90.

И так мы с вами вставили ЮТФ-8 в наш файл, теперь нам надо вставить значения ШИРИНУ каждой русской буквы.
Мы видим что у нас уже есть 150 точек(значений) то есть это значит что уже есть 150 букв-знаков.
Мы нарисовали 33 большие и 33 маленькие буквы.
Нам надо добавить 66 значений.
Отмечаем последнее значение и кнопки Ctrl+0(ноль) или как на рисунке добавляем 66 нулевых байт. (*заметка Если отметить последнее значение и начать добавлять байты программа спросит "добавить в конец?" отвечаем Да, если ответить Нет то байты добавятся перед последним значением)

Сохраняем проделанную работу.
Теперь такую же операцию проделаем с файлом "smallfont.font" по соответствию к картинке "smallfont.png".
Всё мы создали с вами шрифты, теперь откроем нашу игру архиватором WinRAR и закинем туда наши 4 файла (2 картинки и 2 файла соответствия) которые мы сделали. Закинем файлы с заменой старых на новые.
И приступим непосредственно к переводу игры.

Отыскиваем в распакованной папке файл "text_en.utf8" и переименовываем его "text_ru.utf8". Мы заменили буквы en на ru.
Имено этот файл и содержит весь текст в игре. Закинем наш файл "text_ru.utf8" который ещё содержит английский текст в игру и вернёмся к нему чуть-чуть позднее.

Мы закинули новый созданный файл в игру и теперь нам надо это сообщить игре, что мы создали дополнительный языковой пакет "ru" "text_ru.utf8".
Отыскиваем файл "langs.utf8" этот файл содержит информацию о языковых пакетах в игре и даёт возможность запустить выбранный язык.
Открываем файл langs.utf8 редактором WinHex.
Мы видим название пакетов и запуск пакета ..English..en..Italiano..it и так далее, перед каждым словом видим 2 точки-байта они показывают сколько знаков используется в слове (07)English(02)en - тоесть в слове English = 7 знаков, в en = 2 знака.
Самые первые два байта показывают "0" "10" они говорят о том что в файле написано 10 слов. 5 пакетов языка и 5 пакетов запуска.
Нам надо добавить ещё один пакет и запуск пакета. ..Русский(в формате ЮТФ-8, 14 знаков)..ru(два знака) и дописать в первые 2 байта "+2" тоесть будет равно 12.

Если мы хотим оставить два языка будет примерно так | .0.4 (четыре слова в файле) | .0.14Русский (имя языка) | .0.2ru (имя пакета) | .0.7English (имя языка) | .0.2en (имя пакета) |

Если мы оставим всего оди язык то соответственно первые 2 байта будут = 0 и 2. В этом случае игра запустится без выбора языка и в настройках игры функция ЯЗЫК будет отсутствовать.

Вот мы с вами и разобрались с выборами языковых пакетов, а теперь приступим к самой игре, её переводу.

===

Virusfon (4.5.2010 - 16.5.2010)
Взято с http://blackcats.su

Категория: Уроки по переводу java игр | Добавил: Tommy_M
Просмотров: 3387 | Комментарии: 7 | Рейтинг: 4.2/5

Всего комментариев: 7
Спам
Shokan   (20.06.2012 20:25)
Или подскажи,
у меня буква А-13 точек. В винхексе где написать в букве А 13 точек?

Спам
Shokan   (20.06.2012 20:15)
Нечего не понял... Можешь сделать видео урок? Жду ответа. За ранее спасибо!..

Спам
quver   (17.06.2011 16:48)
Erlan42, ты по русский язык умеешь писать?

Спам
Erlan42   (11.06.2011 14:36)
Как меня это игра скачать на рyссом версия каком сайте?

Спам
Dodakaedr   (07.02.2011 14:14)
Tommy_M, Помоги перевести игру Робинзон Крузо. Или хоть подскажи где там текст меню. Class файлы с текстом я перевел, не могу найти текст меню и т.д.

Спам
Tommy_M   (26.12.2010 11:40)
Не пробовал, но ничё сложного не вижу. Поподробнее? Тут всё в мельчайших деталях разжёвано.

Спам
gtasafan   (26.12.2010 10:56)
томми, а ты сам это умеешь делать? если да то мог бы по подробнее урок пожалуйста сделать smile

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

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

Darkest Fear 3D [Alpha]
Комментов: 0 | Загрузок: 3
GTA III JAVA:D
Комментов: 0 | Загрузок: 3
Quantum 2.6
Комментов: 34 | Загрузок: 126
GD OBSCHAYA
Комментов: 1 | Загрузок: 10
GD Normal
Комментов: 0 | Загрузок: 12
SILENT EVIL 3D 2018 v.1.3 Beta (относительно стабильный билд)
Комментов: 48 | Загрузок: 232
Ancient Empires 2. Mod By Black Phoenix. Skirmish Edition 2018 year
Комментов: 2 | Загрузок: 25
Evil Dead Regeneration Java Beta
Комментов: 3 | Загрузок: 85
Walking Zombie :D
Комментов: 4 | Загрузок: 74
Grim Reaper
Комментов: 0 | Загрузок: 53

БЫСТРАЯ НАВИГАЦИЯ ПО САЙТУ
Комментов: 3 | Просмотров: 2525
Работа с EMG Studio
Комментов: 9 | Просмотров: 3847
J2ME Loader - 1.2.5.1 (эмулятор Java на Android)
Комментов: 2 | Просмотров: 1829
M3G to OBJ Converter + Lang Editor
Комментов: 2 | Просмотров: 613
Исходный код Gish Reloaded
Комментов: 2 | Просмотров: 1692
Моды Minecraft PE
Комментов: 0 | Просмотров: 1363
Оптимизация графики
Комментов: 5 | Просмотров: 2419

Неизданное (JAVA)
Комментов: 4 | Просмотров: 100
Splatterhouse: Cry & Fear
Комментов: 6 | Просмотров: 101
КОНКУРС МОДОВ 2018
Комментов: 0 | Просмотров: 127
Old Gameloft games
Комментов: 0 | Просмотров: 207
С наступающим короч)
Комментов: 1 | Просмотров: 560
Silent Evil - что же с релизом?
Комментов: 5 | Просмотров: 437
Alien Shooter на телефон! |Java| (Полное прохождение)
Комментов: 0 | Просмотров: 493
Случайный мод
контра на подобе crysis
1709 309 12 3.0
Статистика
Онлайн всего: 2
Гостей: 2
Пользователей: 0
Пользователи
Гости сайта

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