Названия переводов
Обратите внимание, что у вашего предмета странное отображаемое имя, например item.tutorial.my_item? Это происходит потому, что название вашего предмета не имеет перевода на выбранный вами язык игры. Переводы используются для поддержки нескольких разных языков для одной строки.
Создание файла локализации
Вы можете использовать файлы локализации для предоставления переводов для переводимых строк в игре. Вам нужно будет создать файл с именем, соответствующим вашему языку. Чтобы найти код ваших языков, посетите эту страницу. Английский — это en_us (Русский — ru_ru). Как только у вас будет свой языковой код, создайте файл JSON по адресу resources/assets/modid/lang/; полным примером файла перевода на английский язык будет resources/assets/tutorial/lang/en_us.json (Русский — resources/assets/tutorial/lang/ru_ru.json).
Добавление перевода
После создания файла lang вы можете использовать этот базовый шаблон для добавления переводов:
Где первая строка — это любая переводимая строка (например, имя элемента или переводимый текст). Если вы следуете инструкциям по вики-руководству, не забудьте изменить modid на `tutorial` или любой другой выбранный вами modid.
Использование своего переводимого текста
Всякий раз, когда функция принимает “Text”, у вас есть возможность присвоить ей “new LiteralText()”, что означает, что Майнкрафт будет использовать строку в аргументе конструктора как есть. Однако это нежелательно, поскольку это затруднило бы перевод этого текста на другой язык, если вы захотите это сделать. Вот почему всякий раз, когда требуется объект “Text”, вы должны присвоить ему “new TranslatableText()” с ключом перевода, а затем перевести ключ в файл lang. Например, при добавлении всплывающей подсказки выполните:
А затем добавьте в файл локализации:
И всплывающая подсказка будет отображаться как “Моя подсказка”
Добавление динамических значений к переводимому тексту
Допустим, вы хотите, чтобы текст изменялся в зависимости от какой-либо переменной, например текущего дня и месяца. Для динамического числа мы помещаем %d там, где вы хотите, чтобы число отображалось в значении ввода перевода, например:
Затем мы передаем переменные, которые мы используем в нашей строке, в том порядке, в котором они отображаются в тексте. Сначала день, потом месяц:
И всплывающая подсказка будет отображаться как “Моя подсказка в день 4, и месяц 7”. Чтобы передать строку, мы используем “%s” вместо “%d”. Если вы хотите, чтобы он буквально показывал “%”, используйте “%%”. Для получения дополнительной информации см. Java String.format (это работает точно так же).
Добавление новой линии
Заставить \n работать было слишком сложно для Mojang, поэтому для того, чтобы иметь название с несколькими строками, вы должны разделить ключ перевода на несколько ключей:
Затем добавьте части TranslatableText по отдельности:
И всплывающая подсказка будет отображаться как:
Формат перевода
Ключ перевода для объектов, которые вы зарегистрировали, находится в форме <тип объекта>.<пространство имён>.<путь> (имя и путь, определенные зарегистрированным Идентификатором ).
Как РЕДАКТИРОВАТЬ язык в майнкрафте (названия блоков, кнопки)
Для начала, нужно создать пустой ресурспак. Можешь взять за основу любой другой, который используешь, и просто добавлять в него новые названия, а можешь удалить всё ненужное и получить пустой шаблон.
Затем нужно вытащить из кэша языковой файл. Это файл, в котором хранятся все строчки перевода для интерфейса игры. Довольно подробно о том, как это сделать, я расписывал здесь. Просто следуй инструкции. Добавлю лишь, что для редактирования желательно использовать хотя бы Notepad++ или другой более продвинутый редактор кода по типу VSCode.
После того, как языковой файл получен и преобразован в читабельный вариант, можно воспользоваться поиском по файлу для нахождения и замены нужных строчек. Когда необходимые изменения внесены, копируем итоговый файл в ресурспак из первого шага по адресу assets\minecraft\lang (создай эту папку, если её нет). Осталось запустить игру и выбрать этот ресурспак в настройках.
В наковальне можно поменять название любого предмета.
Но если ты хочешь что бы название определенного предмета было другим изначально, то это делается через ресурпак. Способы различаются, в зависимости от твоей версии игры (Java, Bedrock или Pocket Edition)
Локализация#
Все файлы переводов должны располагаться по следующему пути: /assets/<mod_id>/lang чтобы они были обнаружены и загружены игрой.
Создайте следующие файлы:
Наличие файла en_US.lang является обязательным — этот перевод является базовым. Игра использует его при отсутствии другого перевода или строки в переводе для выбранного языка.
Если переводить лень.
Если по каким-то причинам Вы не хотите делать перевод вашего мода на английский язык, используйте файл en_US.lang как единственный перевод, чтобы строки всегда были доступны вне зависимости от выбранного языка игры. В противном случае будут отображаться ключи строк вместо перевода.
Содержание файла:
Формат файла представляет из пары ключ=значение , размещённые каждая на отдельной строке. Файл представляет собой обычный Java Properties file.
Строки из вашего файла загружаются в общую таблицу переводов, поэтому важно чтобы ключи строк были уникальны и не конфликтовали с другими модами и самой игрой. Хорошей практикой будет добавлять к каждому ключу префикс с нашим ModId (например: mcmodding.some.key=Наш перевод )
Вы можете добавлять свои значения в этот файл, чтобы обращаться к ним позже с помощью:
- I18n#format данный метод доступен только на клиенте, поэтому рекомендуется использовать только для локализации GUI.
- StatCollector#translateToLocal и StatCollector#translateToLocalFormatted будут работать везде. Второй вариант подходит, если нужно передать в строку аргументы для String#format .
- Использовать ChatComponentTranslation принимающий в качестве строки ключ перевода. Этот вариант актуален при отправке сообщений в чат с сервера — клиент игрока сам переведёт сообщение на выбранный в настройках язык.
Если Вы работаете в Intellij Idea, рекомендуется установить плагин Minecraft Development. Он добавляет подсветку синтаксиста для *.lang файлов, а также будет сообщать о расхождениях переводов по сравнению с базовым.
Как сделать свой язык в майнкрафте — Сайт о Игре Minecraft
Как сделать свой язык в майнкрафте — Советы и Инструкции

Создание своего языка в Minecraft возможно через файл языковых ресурсов, который находится в папке Minecraft. Для создания собственного языка необходимо выполнить следующие шаги:
Шаг 1: Создание папки для языковых ресурсов
1. Откройте папку Minecraft, которая находится в папке AppData в вашем компьютере.
2. Создайте новую папку и назовите её языком, который вы хотите создать (например, «my_language»).
Шаг 2: Определение аббревиатуры языка
1. Откройте текстовый редактор (например, Блокнот) и создайте новый текстовый документ.
2. Введите двухбуквенную аббревиатуру вашего языка в первой строчке файла.
3. Сохраните файл с названием «language. txt» в созданную ранее папку языковых ресурсов.
Шаг 3: Перевод текстовых строк
1. Откройте папку языковых ресурсов, в которую вы сохранили файл «language. txt».
2. Создайте новый файл в этой папке и назовите его «my_language. json» (замените «my_language» на название вашего языка).
3. Откройте файл «en_us. json», который находится в папке Minecraft\assets\minecraft\lang, с помощью текстового редактора.
4. Скопируйте все строки из этого файла и вставьте их в файл «my_language. json».
5. Переведите все строки на нужный вам язык и сохраните файл.
Шаг 4: Запуск Minecraft с новым языком
1. Откройте лаунчер Minecraft и выберите профиль, который вы хотите использовать для игры с новым языком.
2. Нажмите кнопку «Edit Profile» и выберите язык, который вы создали из выпадающего списка.
3. Нажмите «Save Profile» и запустите Minecraft.
— Переводите только текстовые строки между кавычками в файле языковых ресурсов.
— Некоторые строки могут содержать переменные или форматирование текста, требующие специального обращения. Их нужно также перевести, но оставить форматирование без изменений.
— Для быстрого управления переводом используйте онлайн-инструменты перевода, такие как Google Translate или DeepL. Однако, учтите, что автоматический перевод может давать неточные результаты, поэтому всегда проверяйте перевод самостоятельно.
— При использовании нестандартных символов и алфавитов в языке, убедитесь, что они корректно отображаются в Minecraft.