Войти или зарегистрироваться

Туториал [урок] более сложная русификация клиента

sunday95

Активный участник
Баллы
63
Более сложная русификация клиента, заключается в том чтобы перевести строчки не используемые ранее в lang, такие как GameOver, Respawn, Title menu и в том же духе

И так с вас:
1. Декомплеированный клиент minecraft
2. Программа для массового поиска в файлах например EditPlus, или TotalComander
от вас знаний java не понадобится, надеюсь
-------------------------------------------------------------------------------------------------------------------------------
Что делать?

1. Для начала найдем нужное нам название допустим Respawn
Открываем EditPlus, кликаем - Search - Find in files... , открылось окно поиска, и так заполеяем поля

В Finde What: вводим (в моём случае) Respawn
FileType: *.java
Exclude: оставляем пустой
Folder: ваш путь до mpc\src\minecraft\net\minecraft\src

Выдало много результатов, но нам нужен один в моем случае это GuiGameOver.java
(почему именно он? нам нужен файл с приставкой Gui - графический интерфейс в них содержится информация о кнопках, а загрузочные экраны типа "Simulating world for a bit" хранятся в \src\minecraft\net\minecraft\client\minecraft.jar )

2. Открываем его, и уже обычный поиском ctrl + f ищем Respawn
Нашли? Отлично, если все сделали правильно то у вас там будет строчка типа этой
Код:
controlList.add(new GuiButton(1, width / 2 - 100, height / 4 + 72,  "respawn"));
"respawn" заменяем на ("menu.respawn") и перед ними пишем stringtranslate.translateKey
должно получиться так
Код:
controlList.add(new GuiButton(1, width / 2 - 100, height / 4 + 72, stringtranslate.translateKey ("menu.respawn")));
теперь от этой строки поднимаемся выше на 3 строчки именно в этом случае!!!
то есть над public void initGui() пишем
Код:
StringTranslate stringtranslate = StringTranslate.getInstance();
эту строку надо писать 1 раз на 1 файл! то есть в файле в GuiGameOver она должна написана 1 раз
сохраняем наш файл, рекомплеируем, реобуфицируем

3. Теперь самое простое При реобуфикации
5936fb741dad.png

видим что файл GuiGameOver сохранен под именем qg.class
открываем \reobf\minecraft копируем оттуда qg.class в наш minecraft.jar (.minecraft\bin\minecraft.jar)
после всех этих махинаций открываем в .minecraft\bin\minecraft.jar папку lang
копируем оттуда en_US.lang открываем блокнотом и дописываем в конце всего текста menu.respawn=Ваш текст допустим "Возродиться!"
Должно быть вроде того
Код:
death.explosion=%1$s разорвало на части
death.magic=%1$s убит Херобрином
death.mob=%1$s был убит %2$s
death.player=%1$s был убит %2$s
death.arrow=%1$s был застрелен %2$s
death.fireball=%1$s был убит горящим шаром %2$s
death.thrown=%1$s был побит %2$s
menu.respawn=Возродиться!

ГЛАВНОЕ ЧТО ВСЕ ГОРАЗДО ПРОЩЕ ЧЕМ МОЖЕТ ПОКАЗАТЬСЯ
 
а не проще ли ланги перевести а не делать все что ты описал?
 
не проще т.к это совсем другое, я описываю как прикрепить к lang неиспользуемые предложения, думаю что если прочитал ты бы это понял
 
лучше бы написал как менять копирайты на 1.8
 
нету там этой строки
 
а сам этот перевод находится в sf.class, и без mcp можно сделать
 
Назад
Верх