Учим Minetest говорить по-русски (Linux)

Russian
Post Reply
User avatar
rudzik8
Member
Posts: 206
Joined: Wed Jun 02, 2021 04:13
GitHub: rudzik8
In-game: db75c and rudzik8
Location: Siberia

Учим Minetest говорить по-русски (Linux)

by rudzik8 » Post

Не знаю, поможет ли кому данный пост. Пылился у меня пару дней в черновиках на форуме, думал - публиковать или нет, решил всё же опубликовать. Тут я описываю в основном конкретно свою ситуацию, у вас же скомпилированный Minetest может не переводиться по совсем другим причинам. Пишите если так - попробуем разобраться, буду постепенно дополнять этот пост. Чем больше вы предоставляете информации тем легче вам помочь!

Иногда бывает такое, что Minetest ни в какую не хочет переводиться на русский - ты и так настройки меняешь, и сяк, и перезапускаешь, и вручную конфиги меняешь; просто без толку. Насколько я понял, это происходит в основном на дистрибутивах Linux с установленным английским языком и скомпилированным вручную Minetest, но даже если после установки поменять системные локали на русский, то Minetest всё равно откажется пить водку и играть на балалайке :-)

Если вкратце, всё дело в отсутствующем Gettext. Да, пускай README на GitHub и уверяет нас, что опция ENABLE_GETTEXT включена по умолчанию (т.е. =ON), на деле это не всегда так. Данная опция как раз таки и должна отвечать за перевод Minetest на другие языки.

В общем, порядок действий такой:
  1. Подготавливаемся к компиляции нового Minetest. Желательно создать под это новую папку и пока что подержать уже существующий Minetest где-то в сторонке, но если места не хватает то копируем все нужные папки из старого Minetest (типа mods, games, textures, worlds, screenshots и (самое главное!) minetest.conf), куда-нибудь их вставляем и сносим всё оставшееся в папке старого Minetest.
  2. Компилируем новый Minetest. Следуем инструкциям из README вплоть до подраздела Build. На нём добавляем к команде cmake . -DRUN_IN_PLACE=TRUE ещё один ключ: -DENABLE_GETTEXT=ON. Результатом должно быть cmake . -DRUN_IN_PLACE=TRUE -DENABLE_GETTEXT=ON. После этого, естественно, запускаем make -j$(nproc) и ждём.
  3. Запускаем Minetest. Перед этим также можно вставить всё что вам нужно в его каталог (например, то что вы запасли на шаге 1). Открываем в корневой папке с Minetest терминал и там пишем: ./bin/minetest
После этого у вас должно получиться научить Minetest говорить по-русски. Поздравляем, если получилось; если же нет - пишите в этом топике что у вас конкретно пошло не так, на каком шагу, с любой debug-информацией и прочим. Чем больше вы предоставляете информации тем легче вам помочь!
Lead dev of Voxelgarden (revived) and MineClone2 dev and modder || Codeberg

User avatar
Imk
Member
Posts: 490
Joined: Mon Nov 05, 2018 19:15
In-game: Imk
Location: Crimea, Russia
Contact:

Re: Учим Minetest говорить по-русски (Linux)

by Imk » Post

Молодец, рассказано хорошо, приятно было читать)

User avatar
littlePrettyCat
Member
Posts: 19
Joined: Fri Oct 28, 2022 15:15
GitHub: alwayshopeless
In-game: littlePrettyCat
Location: Ukraine

Re: Учим Minetest говорить по-русски (Linux)

by littlePrettyCat » Post

Дополню.
Не обязательно декомпилировать приложение, если у вас возникла эта проблема на Linux, то с высокой долей вероятности ваша проблема кроется в использовании сервиса lBus, не нужно отключать его полностью, достаточно просто перед запуском выполнить следующие команды:

Code: Select all

unset GTL_IM_MODULE
unset XMODIFIERS
Когда lBus не обнаруживает этих перменных среды, он не используется в приложении.
После этого вы можете запустить Minetest из терминала

Code: Select all

minetest
Для удобства вы можете прописать удаление этих перменных прямо в Desktop файл вашей игры, чтобы можо было запускать её через графический интерфейс, в перекомпиляции нет необходимости.

Так же, если у вас после запуска игры не работают клавиши перемещения, то поставьте английский первым в списке языков вашей системы.
cdb_b870072d9f7f

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests