О проекте
Bedrockus разбирает карту Minecraft Bedrock на строки, даёт их перевести и собирает карту обратно.
Что он делает
Карта — это архив: мир в базе LevelDB, наборы ресурсов и поведения, функции, скрипты. Текст в ней лежит в десятке разных мест: таблички, книги, имена предметов, описания, диалоги и кнопки NPC, команды, табло, языковые файлы наборов. Bedrockus обходит все эти места, вынимает текст и показывает одним списком с указанием, откуда каждая строка.
Переведённое он раскладывает обратно по правилам самой игры. То, что игра умеет читать из языкового файла, уходит в .lang и получает ключ. То, чего не умеет, вписывается в карту прямо текстом. Команды вроде say и tell при этом переписываются в tellraw, иначе перевод в них не подхватится.
На выходе — обычный .mcworld: открывается в игре как всегда, а язык подхватывает тот, что выбран у игрока.
Как это устроено
- Загрузка. Файл разбирается на сервере: LevelDB, NBT, архивы наборов. Результат — список строк с координатами, категорией и объяснением, куда эта строка попадёт при сборке.
- Перевод. Всё дальнейшее происходит в браузере: фильтры, черновики, свои ключи. Можно переводить прямо на странице, а можно выгрузить CSV, XLIFF или .lang, поработать в привычной программе и загрузить обратно.
- Сборка. Сервер собирает новый мир: пишет языковые файлы, подставляет ключи в таблички и книги, вписывает текстом то, что ключей не понимает, и отдаёт готовый .mcworld.
Что он знает про саму игру
Часть правил Bedrock нигде толком не описана, и они проверены прямо в игре — на них держится вся раскладка перевода.
Таблички, книги и диалоги NPC понимают перевод только через rawtext с переводимым ключом. Кнопки NPC — исключение: они берут голый ключ и обрезают его до 16 символов, поэтому ключи для кнопок делаются короткими.
Имена предметов и имя мира ключей не понимают вовсе: туда текст попадает как есть. Поэтому при сборке отдельно выбирается язык, который будет вписан прямо в мир.
Файл en_US.lang должен существовать всегда: игра берёт его как запасной, и без него на месте перевода видно сам ключ.
Чего он не делает
- Не хранит карты: загруженный файл живёт на сервере не дольше часа и удаляется вместе с разбором.
- Не заводит учётных записей и не просит регистрацию.
- Не переводит за вас: машинного перевода внутри нет, текст пишете вы или ваш переводчик.
- Не публикует ничего: собранный мир получает только тот, кто загрузил исходный файл.
Правовая часть
Bedrockus — неофициальный любительский проект. Он никак не связан с Mojang Studios и Microsoft, не одобрен и не поддерживается ими.
Minecraft — торговая марка Mojang Synergies AB. Права на игру, её содержимое, названия и оригинальные тексты принадлежат правообладателям.
Права на сами карты принадлежат их авторам. Обрабатывая чужую карту, вы отвечаете за то, что имеете на это право.
Значки в интерфейсе — Tabler Icons (© Paweł Kuna), библиотека SVG GitLab и Material Symbols (© Google LLC), флаги языков — flag-icons (© Panayiotis Lipiridis). Первые два набора и флаги используются по лицензии MIT, Material Symbols — по Apache 2.0.