Как сделать свою локализацию в майнкрафт

Обновлено: 09.05.2024

Русификатор — программное средство или пакет ресурсов направленные на замену языка интерфейса на русский конечным пользователем (игроком) без лишних временных затрат и не требующий от пользователя специальных знаний в информатике и/или лингвистике.

[Гайд] Как сделать свой русификатор?

Вам хочется сделать русификатор, но Вы не знаете как? Специально для Вас я приготовил этот гайд!

Для начала Вам нужно скачать NotePad++ и основу для русификатора: rusifikator.rar [18,08 Kb] , теперь распаковываем архив и изучаем файлы:
Папка font:
default --- Не трогаем этот файл
font --- Не трогаем этот файл
Папка lang:
en_US --- Самый главный файл, тут почти все, что можно русифицировать! (позже мы перейдем к нему)
font --- Не трогаем этот файл
languages --- Названия языков
Основная папка:
font --- не трогаем
Теперь пора русифицировать! Начнем!


Открываем файл en_US с помощью NotePad++ и мы видим столбик из строчек. Но как русифицировать? Надо писать слово после " scriptcode">
gui.done=Done
gui.done=Готово

Папку Font, lang и файл font переместить в minecraft.jar

Открываем minecraft.jar с помощью архиватора.
Заходим в папку title
Находим файл splashes и открываем с помощью NotePad++
Новый сплэш должен начинаться с новой строки!
Так же есть одна очень хорошая вещь:
Если перед сплэшем вписать §1 (или любые цифры 1-6 или буквы a-f), то текст будет цветным!

Редактируем диалог, который высвечивается после победы над драконом:


Открываем файл win с помощью NotePad++
Тут схема такая-же, только для красоты желательно оставлять §2 и §3


Открываем файл credits
Тут схема опять простая, но надо не забывать делать красную строку и оставлять §

Всем пока! Надеюсь Вам понравилось! В следующем гайде, я расскажу как изменить другой текст и о небольших изменениях, которые можно сделать!

Создадим папку lang , а в ней файл ru_ru формата .lang .

Обратите внимание, что с 1.12+ все файлы ресурсов должны быть в нижнем регистре в противном же случаи придётся использовать pack.mcmeta!

  • itemGroup.*TabName* - такой вид используется для локализации вкладки в творческом режиме.
  • item.*ItemName*.name - такой вид используется для локализации предметов.

tile.*BlockName*.name - такой вид используется для локализации блока.

*TabName* - название вашей вкладки.

Перейдём в игру и сменим язык на русский. Теперь предметы которые мы указали в файле переведены. Для других языков делается также.

Виды русификаторов [ ]

Здесь приведены все способы русификации, упомянутые в разделе «История».

Изменение файлов клиента [ ]

С ранних Beta-версий по 1.5.2 включительно.

Этот способ русификации заключался в извлечении определённых файлов из minecraft.jar , их изменении и обратной упаковке в архив (также необходимо было удалить файл META-INF , чтобы не происходили аварийные завершения игр при проверке контрольной суммы).

Изменению подвергались следующие файлы (указаны пути относительно корня .jar -архива):

Также в некоторых русификаторах измнялись:

Достоинтсва и недостатки данного метода перечислять нет смысла, так как это был единственный рабочий метод. Из заметных проблем можно отметить только жертвование рядом символов, так как в игре была всего одна кодовая страница и число символов не могло превышать 256. Пришлось даже пожертвовать буквой «Ё» (на самом деле, с обновлённым LWJGL можно было бы освободить 64 символа, но необходимо было поддерживать совместимость между разными версиями библиотек и русификаторов).

Редактирование классов [ ]

С 1.6 по 1.8, технически возможно и для всех более поздних.

Изменяются программные классы, автор предлагает пользователю скопировать заранее скомпилированные автором классы в minecraft.jar , либо сразу использовать авторский minecraft.jar . Может использоваться установщик.

Есть два основных пути, по которым идут авторы таких русификаторов:

  • Исправление новой отрисовки, по сути рендеринг начинает работать так же, как в версиях 1.9 и более поздние
  • Откат к способу отрисовки, применяемому в старых версиях. В этом случае возможна несовместимость с редкими модами, зато радует глаз опытных игроков. Также существует в виде модификации под названием ClientFixer.

Применение пакетов ресурсов [ ]

Реализуемо начиная с 1.6, действительно удобно начиная с 1.9.

Такой русификатор представляет собой пакет ресурсов, в который вложен файл локализации с авторским вариантом перевода. Он может перезаписывать ru_RU.lang и в этом случае не будет проблем с русифицированными модификациями, а может быть выполнен в качестве дополнительной локализации.

Иногда кроме перевода текста в русификатор добавляются также изменённые текстуры шрифтов. И хотя с введением официальной локализации как раз изменение шрифта стало главной причиной, по которой игроки всё ещё пользуются русификаторами, до версии 1.9 в пакете ресурсов изменить шрифт было крайне проблематично, так как алгоритм, отрисовывающий «юникодовый» шрифт, сильно искажал тот крупный пиксельный шрифт, к которому все привыкли.

История [ ]

Для Minecraft первые русификаторы появились ещё для Beta-версий. Тогда русификация производилась путём непосредственного перевода en_US.lang , перерисовки шрифта (область 80F-F из используемой для латинского шрифта кодовой страницы CP437) и изменения font.txt . Также, начиная с 1.0, в некоторых русификаторах стали переводиться и финальные титры. Всё это затем копировалось в minecraft.jar . Такой способ русификации использовался до версии 1.5.2 включительно, пока в 1.6 не было введено множество языков, пакеты ресурсов и новый способ управления шрифтами, не позволявший достаточно качественно русифицировать игру аналогичным предыдущим версиям образом.

1.6 и редактирование классов [ ]

В версии 1.9 была исправлена критическая ошибка, накладывавшая ограничения по ширине символов в Unicode-шрифте . Таким образом, в случае, когда автор русификатора в формате пакета ресурсов хочет добавить ещё и шрифт, ему больше не нужно перекодировать символы из кириллицы в символы, содержащиеся в CP437, и создаваемый таким образом русификатор стал полностью функционален. Впрочем, шрифты теперь удобнее устанавливать как отдельный пакет ресурсов, никак не связанный с русификатором, так как это освобождает пользователя от необходимости пользоваться сторонним переводом, если ему требуется просто альтернативный шрифт. Классический шрифт можно взять здесь.

Для 1.11 на данный момент нет русификаторов кроме тех, что предлагает команда KoshkBench.

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

Для 1.16.3 и более поздних версий появился перевод от KoshkBench, главным отличием которого является иной взгляд на перевод Nether Update, в том числе сохранение некоторых старых названий.

Локализация предмета.

Учусь делать мод на версию minecraft 1.12.2. Сделал всё как в учебнике - создал предмет с моделью и текстурой. Решил сделать локализацию. По расположению assets/tameetpack/lang/ создал файл ru_ru.lang . В нём написал следующее: item.Money.name=Монета . Но в игре вместо текста знаки вопроса. В случае с английским языком всё нормально. В учебнике написано, что надо что-то сделать в pack.mcmeta, но что, не сказано. Что же надо сделать?

timaxa007

lang файл желательно должен UTF-8 и без BOM (если NotePad++ есть).

timaxa007

lang файл желательно должен UTF-8 и без BOM (если NotePad++ есть).

Ну, как-то так. Я тоже могу ошибаться. Я пишу на 1.7.10.

Garik

Попробуй удалить файл "pack.mcmеta" (Он рядом с "мсмod.info" лежит)

Maxik
Голубой Петушок

Даже не желательно, а обязательно. У меня иначе и не работает)

Делаю воксельные(и не только) 3D-модели для ваших Minecraft проектов. Портфолио можете увидеть полистав группу моего мода Soviet Lab - все модели сделаны мной.

Icosider
iMixin

Учусь делать мод на версию minecraft 1.12.2. Сделал всё как в учебнике - создал предмет с моделью и текстурой. Решил сделать локализацию. По расположению assets/tameetpack/lang/ создал файл ru_ru.lang . В нём написал следующее: item.Money.name=Монета . Но в игре вместо текста знаки вопроса. В случае с английским языком всё нормально. В учебнике написано, что надо что-то сделать в pack.mcmeta, но что, не сказано. Что же надо сделать?

Если пишешь мод через intellij idea, то всё должно быть нормально, в случаи с эклипсом, то нужно как говорил @timaxa007, убрать флаг юникода(UTF-8 без BOM). То что было про pack.mcmeta это о смене регистра. Т.е. в случаи с версией 2 регистр может быть как верхний, так и нижний, а в случаи с 3, только в нижнем.

marous

lang файл желательно должен UTF-8 и без BOM (если NotePad++ есть).

у меня в эклипсе кодировка UTF-8 и при компиляции мода всеравно знаки вопроса в описании предметов

SuperCatMaster

Надо в самом .lang файле (ru_ru.lang). Читай внимательней.

Почти всё новое - хорошо забытое старое.
-----------------------------------------------------
Всё есть на гитхубе, надо лишь поискать.

marous

Надо в самом .lang файле (ru_ru.lang). Читай внимательней.

да нет, у меня описание предмета не через ru_ru.lang, а в par3List.add, но я уже разобрался

SuperCatMaster

Почти всё новое - хорошо забытое старое.
-----------------------------------------------------
Всё есть на гитхубе, надо лишь поискать.

marous

я не могу разобраться куда вот это
StatCollector.translateToLocal("book.text.1")

SuperCatMaster

В addInformation. Там List list, потом list.add(StatCollector.translateToLocal("book.text.1"));

Почти всё новое - хорошо забытое старое.
-----------------------------------------------------
Всё есть на гитхубе, надо лишь поискать.

Содержание

Читайте также: