Русификация

Disambig color.svg Эта статья — о неофициальном русифицировании Minecraft. Об официальной русификации см. Язык.

Русификация[1] — процесс изменения языка интерфейса приложения, в данном случае: игры Minecraft на русский, характеризующийся изменением или увеличением кода программы или языкового пакета.

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

История

Beta — 1.5

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

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

В связи с появлением русского языка необходимость в русификаторе отпала, имело смысл разве что предложить свой перевод (собственный файл ru_RU.lang) и перевод титров. Но пользователи хотели большой и квадратный «классический шрифт», потому что он лучше масштабируется и просто лучше заметен, так как крупнее. И был тогда предложен вариант, который является наименее проблемным и наиболее простым в установке для версий с 1.6 по 1.8[2]. Русификация производилась путём изменения в .jar-файлах некоторых классов, отвечающих за рендеринг символов.

1.7 — 1.8

Когда в 1.7 в достаточной степени развилась система пакетов ресурсов, был предложен ещё один подход[3] — изменение шрифтов, изменение glyph_sizes.bin, отвечающего за ширину символов, и использование хитрой кодировки в файле локализации. Всё это было осуществлено в формате пакета ресурсов. Но данное решение, несмотря на отсутствие необходимости в отдельном клиенте, имело множество проблем с отрисовкой шрифта (большинство которых исправляет модификация OptiFine). Потому, несмотря на высокие трудозатраты для автора и чуть более сложный метод установки для пользователя, наиболее удобным способом русификации для 1.7 и 1.8 является корректировка классов.

1.9 —

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

Также на различных ресурсах можно найти и другие шрифты, например, конвертированные стандартные шрифты Windows (правда, только область 21-7E, то есть латинские основные символы). Единственный недостаток такого вида шрифта — что используемые юникодовые шрифты отображаются без тени в отличие от «стандартного» шрифта. Тень присутствует, но является практически незаметной. Это считается ошибкой MC-2488 на хранилище отчётов об ошибках Mojang AB.

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

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

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

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

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

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

Версии игры

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

Принцип русифицирования

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

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

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

В прошедшем времени о данном способе русификации говорится не просто так: он был актуален только до версии 1.5.2 (включительно) и не работает на последующих версиях. При этом нередко можно было встретить такой русификатор опубликованным на многих ресурсах под видом русификатора для 1.6 и 1.7, так что не дайте себя обмануть — читайте инструкцию по установке.

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

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

Версии игры

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

Принцип русифицирования

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

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

Достоинства
  • Шире возможности для перевода
  • Радует глаз (в случае отката к старому рендерингу)
Недостатки
  • Не всегда возможно использование — для Forge нужен отдельный русификатор
  • Возможны (хотя редки) конфликты с модификациями
Человеческий фактор
  • Так как для установки русификатора нередко используется установщик, под него может быть замаскировано вредоносное ПО. Чтобы избежать подобных угроз, используйте только русификаторы, опубликованные на крупных ресурсах, движимых сообществом, например, RuBukkit.
Достоинства
  • Шире возможности для перевода
  • Радует глаз (в случае отката к старому рендерингу)
Недостатки
  • Не всегда возможно использование — для Forge нужен отдельный русификатор
  • Возможны (хотя редки) конфликты с модификациями
Человеческий фактор
  • Так как для установки русификатора нередко используется установщик, под него может быть замаскировано вредоносное ПО. Чтобы избежать подобных угроз, используйте только русификаторы, опубликованные на крупных ресурсах, движимых сообществом, например, RuBukkit.

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

Версии игры
Реализуемо начиная с 1.6, действительно удобно начиная с 1.9.
Принцип русифицирования
Такой русификатор представляет собой пакет ресурсов, в который вложен файл локализации с авторским вариантом перевода. Он может перезаписывать ru_RU.lang и в этом случае не будет проблем с русифицированными модификациями, а может быть выполнен в качестве дополнительной локализации. Иногда кроме перевода текста в русификатор добавляются также изменённые текстуры шрифтов. И хотя с введением официальной локализации как раз изменение шрифта стало главной причиной, по которой игроки всё ещё пользуются русификаторами, до версии 1.9 в пакете ресурсов изменить шрифт было крайне проблематично, так как алгоритм, отрисовывающий «юникодовый» шрифт, сильно искажал тот крупный пиксельный шрифт, к которому все привыкли.
Достоинства (с 1.9)
  • Полная совместимость с модификациями и пакетами ресурсов (если в пакет не входят изменённые текстуры, например)
  • Лёгкость установки
  • Если не изменены текстуры шрифта: возможность установки/удаления из игры (как и с любым пакетом ресурсов)
Недостатки (с 1.9)
  • Нельзя перевести надписи, не выведенные в файл локализации
Недостатки (ранее)
  • Необходимость использовать OptiFine для исправления отрисовки шрифта
Достоинства (с 1.9)
  • Полная совместимость с модификациями и пакетами ресурсов (если в пакет не входят изменённые текстуры, например)
  • Лёгкость установки
  • Если не изменены текстуры шрифта: возможность установки/удаления из игры (как и с любым пакетом ресурсов)
Недостатки (с 1.9)
  • Нельзя перевести надписи, не выведенные в файл локализации
Недостатки (ранее)
  • Необходимость использовать OptiFine для исправления отрисовки шрифта

См. также

Примечания

В данной статье используются материалы из статьи «Русификация» с вики-сайта Minecraft Wiki, расположенного на Фэндоме, и они распространяются согласно лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0. Авторы статьи.