From 9329b99cba735842f704f378679cbc000a4c8868 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Mon, 11 Mar 2019 22:07:12 +0000 Subject: [PATCH 001/279] Continue with 5.0.1-dev --- CMakeLists.txt | 4 ++-- doc/client_lua_api.txt | 4 ++-- doc/menu_lua_api.txt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 121086680..a2fed51e1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,11 +17,11 @@ set(CLANG_MINIMUM_VERSION "3.4") # Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing set(VERSION_MAJOR 5) set(VERSION_MINOR 0) -set(VERSION_PATCH 0) +set(VERSION_PATCH 1) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases -set(DEVELOPMENT_BUILD FALSE) +set(DEVELOPMENT_BUILD TRUE) set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") if(VERSION_EXTRA) diff --git a/doc/client_lua_api.txt b/doc/client_lua_api.txt index f0e585355..9253b5568 100644 --- a/doc/client_lua_api.txt +++ b/doc/client_lua_api.txt @@ -1,5 +1,5 @@ -Minetest Lua Client Modding API Reference 5.0.0 -================================================ +Minetest Lua Client Modding API Reference 5.0.1 +=============================================== * More information at * Developer Wiki: diff --git a/doc/menu_lua_api.txt b/doc/menu_lua_api.txt index 419bc2f8a..2c76c6b8f 100644 --- a/doc/menu_lua_api.txt +++ b/doc/menu_lua_api.txt @@ -1,4 +1,4 @@ -Minetest Lua Mainmenu API Reference 5.0.0 +Minetest Lua Mainmenu API Reference 5.0.1 ========================================= Introduction From fc24bf09153f17bec023cde164a039202102a66c Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Wed, 6 Mar 2019 22:24:39 +0000 Subject: [PATCH 002/279] Fix incorrect string length check after cast --- src/network/networkpacket.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp index 35a131a34..6d869e5eb 100644 --- a/src/network/networkpacket.cpp +++ b/src/network/networkpacket.cpp @@ -110,11 +110,12 @@ NetworkPacket& NetworkPacket::operator>>(std::string& dst) NetworkPacket& NetworkPacket::operator<<(const std::string &src) { - u16 msgsize = src.size(); - if (msgsize > STRING_MAX_LEN) { + if (src.size() > STRING_MAX_LEN) { throw PacketError("String too long"); } + u16 msgsize = src.size(); + *this << msgsize; putRawString(src.c_str(), (u32)msgsize); @@ -124,11 +125,12 @@ NetworkPacket& NetworkPacket::operator<<(const std::string &src) void NetworkPacket::putLongString(const std::string &src) { - u32 msgsize = src.size(); - if (msgsize > LONG_STRING_MAX_LEN) { + if (src.size() > LONG_STRING_MAX_LEN) { throw PacketError("String too long"); } + u32 msgsize = src.size(); + *this << msgsize; putRawString(src.c_str(), msgsize); @@ -160,11 +162,12 @@ NetworkPacket& NetworkPacket::operator>>(std::wstring& dst) NetworkPacket& NetworkPacket::operator<<(const std::wstring &src) { - u16 msgsize = src.size(); - if (msgsize > WIDE_STRING_MAX_LEN) { + if (src.size() > WIDE_STRING_MAX_LEN) { throw PacketError("String too long"); } + u16 msgsize = src.size(); + *this << msgsize; // Write string From da4739a26cb8327d1e6c5d8642692e5fbb0ad4a0 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Thu, 7 Mar 2019 06:41:21 +0000 Subject: [PATCH 003/279] Fix detach inventory serialisation (#8331) --- src/network/clientpackethandler.cpp | 6 ++++-- src/server.cpp | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/network/clientpackethandler.cpp b/src/network/clientpackethandler.cpp index 3e50173a6..889002a82 100644 --- a/src/network/clientpackethandler.cpp +++ b/src/network/clientpackethandler.cpp @@ -895,8 +895,10 @@ void Client::handleCommand_DetachedInventory(NetworkPacket* pkt) inv = inv_it->second; } - std::string contents; - *pkt >> contents; + u16 ignore; + *pkt >> ignore; // this used to be the length of the following string, ignore it + + std::string contents = pkt->getRemainingString(); std::istringstream is(contents, std::ios::binary); inv->deSerialize(is); } diff --git a/src/server.cpp b/src/server.cpp index ad469d655..701339ad8 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2576,7 +2576,10 @@ void Server::sendDetachedInventory(const std::string &name, session_t peer_id) // Serialization & NetworkPacket isn't a love story std::ostringstream os(std::ios_base::binary); inv_it->second->serialize(os); - pkt << os.str(); + + std::string os_str = os.str(); + pkt << static_cast(os_str.size()); // HACK: to keep compatibility with 5.0.0 clients + pkt.putRawString(os_str); } if (peer_id == PEER_ID_INEXISTENT) From bf4deb0ce628b423600d397a725831cc980e961c Mon Sep 17 00:00:00 2001 From: Paramat Date: Sun, 10 Mar 2019 01:49:03 +0000 Subject: [PATCH 004/279] Confirm registration GUI: Remove positional strings to fix Windows bug (#8258) Positional strings don't work on some Windows builds. Remove server address string, leave player name string present. --- src/gui/guiConfirmRegistration.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/gui/guiConfirmRegistration.cpp b/src/gui/guiConfirmRegistration.cpp index 9a374b405..6e6b7ad16 100644 --- a/src/gui/guiConfirmRegistration.cpp +++ b/src/gui/guiConfirmRegistration.cpp @@ -89,23 +89,18 @@ void GUIConfirmRegistration::regenerateGui(v2u32 screensize) */ s32 ypos = 30 * s; { - std::string address = m_address; - if (address.empty()) - address = "localhost"; core::rect rect2(0, 0, 540 * s, 180 * s); rect2 += topleft_client + v2s32(30 * s, ypos); static const std::string info_text_template = strgettext( - "You are about to join the server at %1$s with the " - "name \"%2$s\" for the first time. If you proceed, a " - "new account using your credentials will be created " - "on this server.\n" - "Please retype your password and click Register and " - "Join to confirm account creation or click Cancel to " - "abort."); + "You are about to join this server with the name \"%s\" for the " + "first time.\n" + "If you proceed, a new account using your credentials will be " + "created on this server.\n" + "Please retype your password and click 'Register and Join' to " + "confirm account creation, or click 'Cancel' to abort."); char info_text_buf[1024]; porting::mt_snprintf(info_text_buf, sizeof(info_text_buf), - info_text_template.c_str(), address.c_str(), - m_playername.c_str()); + info_text_template.c_str(), m_playername.c_str()); wchar_t *info_text_buf_wide = utf8_to_wide_c(info_text_buf); gui::IGUIEditBox *e = new gui::intlGUIEditBox(info_text_buf_wide, true, From d8ece2e3e951e070b37f670bd910d24855be5262 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sun, 10 Mar 2019 18:53:02 +0000 Subject: [PATCH 005/279] Fix serialization of std::time_t by casting to u64 first (#8353) Fixes #8332 --- src/network/clientpackethandler.cpp | 4 +++- src/network/networkpacket.cpp | 16 ---------------- src/network/networkpacket.h | 4 ---- src/server.cpp | 2 +- 4 files changed, 4 insertions(+), 22 deletions(-) diff --git a/src/network/clientpackethandler.cpp b/src/network/clientpackethandler.cpp index 889002a82..2f5deae2a 100644 --- a/src/network/clientpackethandler.cpp +++ b/src/network/clientpackethandler.cpp @@ -408,7 +408,9 @@ void Client::handleCommand_ChatMessage(NetworkPacket *pkt) return; } - *pkt >> chatMessage->sender >> chatMessage->message >> chatMessage->timestamp; + u64 timestamp; + *pkt >> chatMessage->sender >> chatMessage->message >> timestamp; + chatMessage->timestamp = static_cast(timestamp); chatMessage->type = (ChatMessageType) message_type; diff --git a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp index 6d869e5eb..22c035c5b 100644 --- a/src/network/networkpacket.cpp +++ b/src/network/networkpacket.cpp @@ -281,12 +281,6 @@ NetworkPacket& NetworkPacket::operator<<(u64 src) return *this; } -NetworkPacket& NetworkPacket::operator<<(std::time_t src) -{ - *this << (u64) src; - return *this; -} - NetworkPacket& NetworkPacket::operator<<(float src) { checkDataSize(4); @@ -372,16 +366,6 @@ NetworkPacket& NetworkPacket::operator>>(u64& dst) return *this; } -NetworkPacket& NetworkPacket::operator>>(std::time_t& dst) -{ - checkReadOffset(m_read_offset, 8); - - dst = readU64(&m_data[m_read_offset]); - - m_read_offset += 8; - return *this; -} - NetworkPacket& NetworkPacket::operator>>(float& dst) { checkReadOffset(m_read_offset, 4); diff --git a/src/network/networkpacket.h b/src/network/networkpacket.h index 760b51f7a..a8b741374 100644 --- a/src/network/networkpacket.h +++ b/src/network/networkpacket.h @@ -19,7 +19,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #pragma once -#include #include "util/pointer.h" #include "util/numeric.h" #include "networkprotocol.h" @@ -88,9 +87,6 @@ public: NetworkPacket &operator>>(u64 &dst); NetworkPacket &operator<<(u64 src); - NetworkPacket &operator>>(std::time_t &dst); - NetworkPacket &operator<<(std::time_t src); - NetworkPacket &operator>>(float &dst); NetworkPacket &operator<<(float src); diff --git a/src/server.cpp b/src/server.cpp index 701339ad8..003ad45b4 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -1559,7 +1559,7 @@ void Server::SendChatMessage(session_t peer_id, const ChatMessage &message) NetworkPacket pkt(TOCLIENT_CHAT_MESSAGE, 0, peer_id); u8 version = 1; u8 type = message.type; - pkt << version << type << std::wstring(L"") << message.message << message.timestamp; + pkt << version << type << std::wstring(L"") << message.message << (u64)message.timestamp; if (peer_id != PEER_ID_INEXISTENT) { RemotePlayer *player = m_env->getPlayer(peer_id); From 19825d853e6f30685f367e99e206327a6bcf14a2 Mon Sep 17 00:00:00 2001 From: sofar Date: Mon, 4 Mar 2019 23:11:13 -0800 Subject: [PATCH 006/279] getS16NoEx() returns true unless syntactical error in conf. (#8304) The getS16NoEx() handler will return true unless there is a `[num_emerge_threads]` line in the `minetest.conf` at which point the excption handler part is reached. Due to the fact that `defaultsettings.cpp` has a default value set for this setting, that never will happen. Because of this, the code will never check the number of threads on the system, and keep `nthreads = 0`. If that happens, the value is changed to `1` and only 1 emerge thread will be used. The default should be set to `1` instead, due to the potential unsafe consequences for the standard sqlite map files, but that should be a separate commit that also adds documentation for that setting. This commit focuses on removing this `hiding` bug instead. --- src/emerge.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/emerge.cpp b/src/emerge.cpp index 592b1bef7..0ad6ee29b 100644 --- a/src/emerge.cpp +++ b/src/emerge.cpp @@ -130,11 +130,13 @@ EmergeManager::EmergeManager(Server *server) // If unspecified, leave a proc for the main thread and one for // some other misc thread - s16 nthreads = 0; - if (!g_settings->getS16NoEx("num_emerge_threads", nthreads)) + s16 nthreads; + g_settings->getS16NoEx("num_emerge_threads", nthreads); + if (nthreads == 0) nthreads = Thread::getNumberOfProcessors() - 2; if (nthreads < 1) nthreads = 1; + verbosestream << "Using " << nthreads << " emerge threads." << std::endl; m_qlimit_total = g_settings->getU16("emergequeue_limit_total"); if (!g_settings->getU16NoEx("emergequeue_limit_diskonly", m_qlimit_diskonly)) From 82739f4d7d634eaccdc8414382da5d55ae39734d Mon Sep 17 00:00:00 2001 From: Paramat Date: Tue, 5 Mar 2019 22:58:38 +0000 Subject: [PATCH 007/279] Change 'num_emerge_threads' default to 1 (#8303) --- builtin/settingtypes.txt | 2 +- minetest.conf.example | 2 +- src/defaultsettings.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index da9b8bf10..3df0376a3 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -1925,7 +1925,7 @@ emergequeue_limit_generate (Limit of emerge queues to generate) int 64 # processes, especially in singleplayer and/or when running Lua code in # 'on_generated'. # For many users the optimum setting may be '1'. -num_emerge_threads (Number of emerge threads) int 0 +num_emerge_threads (Number of emerge threads) int 1 [Online Content Repository] diff --git a/minetest.conf.example b/minetest.conf.example index f31d9356a..6e40a4b6b 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -3005,7 +3005,7 @@ # 'on_generated'. # For many users the optimum setting may be '1'. # type: int -# num_emerge_threads = 0 +# num_emerge_threads = 1 # # Online Content Repository diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 1df6dccb6..5a56f3d77 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -374,7 +374,7 @@ void set_default_settings(Settings *settings) settings->setDefault("emergequeue_limit_total", "512"); settings->setDefault("emergequeue_limit_diskonly", "64"); settings->setDefault("emergequeue_limit_generate", "64"); - settings->setDefault("num_emerge_threads", "0"); + settings->setDefault("num_emerge_threads", "1"); settings->setDefault("secure.enable_security", "true"); settings->setDefault("secure.trusted_mods", ""); settings->setDefault("secure.http_mods", ""); From 444ec1e4128e68523f1bbf51aa03e8bf2006156c Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Tue, 12 Mar 2019 07:56:56 +0000 Subject: [PATCH 008/279] HPChange Reason: Fix push after free, and type being overwritten (#8359) * HPChange Reason: Fix push after free, and type being overwritten Fixes #8227 and #8344 --- src/content_sao.h | 5 +++++ src/script/cpp_api/s_base.cpp | 14 +++++++++----- src/script/lua_api/l_object.cpp | 3 +++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/content_sao.h b/src/content_sao.h index 14f959e30..f54bc16c2 100644 --- a/src/content_sao.h +++ b/src/content_sao.h @@ -405,6 +405,11 @@ struct PlayerHPChangeReason { bool from_mod = false; int lua_reference = -1; + inline bool hasLuaReference() const + { + return lua_reference >= 0; + } + bool setTypeFromString(const std::string &typestr) { if (typestr == "set_hp") diff --git a/src/script/cpp_api/s_base.cpp b/src/script/cpp_api/s_base.cpp index bf89f748c..a8ed902dd 100644 --- a/src/script/cpp_api/s_base.cpp +++ b/src/script/cpp_api/s_base.cpp @@ -384,14 +384,18 @@ void ScriptApiBase::objectrefGetOrCreate(lua_State *L, void ScriptApiBase::pushPlayerHPChangeReason(lua_State *L, const PlayerHPChangeReason &reason) { - if (reason.lua_reference >= 0) { + if (reason.hasLuaReference()) lua_rawgeti(L, LUA_REGISTRYINDEX, reason.lua_reference); - luaL_unref(L, LUA_REGISTRYINDEX, reason.lua_reference); - } else + else lua_newtable(L); - lua_pushstring(L, reason.getTypeAsString().c_str()); - lua_setfield(L, -2, "type"); + lua_getfield(L, -1, "type"); + bool has_type = (bool)lua_isstring(L, -1); + lua_pop(L, 1); + if (!has_type) { + lua_pushstring(L, reason.getTypeAsString().c_str()); + lua_setfield(L, -2, "type"); + } lua_pushstring(L, reason.from_mod ? "mod" : "engine"); lua_setfield(L, -2, "from"); diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp index 9edb2f4f8..b3ed39c7c 100644 --- a/src/script/lua_api/l_object.cpp +++ b/src/script/lua_api/l_object.cpp @@ -257,6 +257,9 @@ int ObjectRef::l_set_hp(lua_State *L) if (co->getType() == ACTIVEOBJECT_TYPE_PLAYER) getServer(L)->SendPlayerHPOrDie((PlayerSAO *)co, reason); + if (reason.hasLuaReference()) + luaL_unref(L, LUA_REGISTRYINDEX, reason.lua_reference); + // Return return 0; } From dd451a8a0055ad082d3fbc4af34c401f22bfb7d6 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Tue, 12 Mar 2019 07:58:02 +0000 Subject: [PATCH 009/279] Fix cast from const by accessing string data directly (#8354) Fixes #8327 --- src/irrlicht_changes/irrUString.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/irrlicht_changes/irrUString.h b/src/irrlicht_changes/irrUString.h index fce49e717..b628c092c 100644 --- a/src/irrlicht_changes/irrUString.h +++ b/src/irrlicht_changes/irrUString.h @@ -2916,13 +2916,13 @@ public: ret[0] = unicode::BOM; else if (endian == unicode::EUTFEE_LITTLE) { - uchar8_t* ptr8 = reinterpret_cast(ret.c_str()); + uchar8_t* ptr8 = reinterpret_cast(&ret[0]); *ptr8++ = unicode::BOM_ENCODE_UTF16_LE[0]; *ptr8 = unicode::BOM_ENCODE_UTF16_LE[1]; } else { - uchar8_t* ptr8 = reinterpret_cast(ret.c_str()); + uchar8_t* ptr8 = reinterpret_cast(&ret[0]); *ptr8++ = unicode::BOM_ENCODE_UTF16_BE[0]; *ptr8 = unicode::BOM_ENCODE_UTF16_BE[1]; } From 10cc62d2ca03517b9653efb18df299fff9c96876 Mon Sep 17 00:00:00 2001 From: Paramat Date: Thu, 14 Mar 2019 12:49:33 +0000 Subject: [PATCH 010/279] num_emerge_threads: Warn of crashes when > 1 (#8357) --- builtin/settingtypes.txt | 8 +++++--- minetest.conf.example | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index 3df0376a3..6c5b3f317 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -1915,16 +1915,18 @@ emergequeue_limit_diskonly (Limit of emerge queues on disk) int 64 emergequeue_limit_generate (Limit of emerge queues to generate) int 64 # Number of emerge threads to use. +# WARNING: Currently there are multiple bugs that may cause crashes when +# 'num_emerge_threads' is larger than 1. Until this warning is removed it is +# strongly recommended this value is set to the default '1'. # Empty or 0 value: # - Automatic selection. The number of emerge threads will be # - 'number of processors - 2', with a lower limit of 1. # Any other value: # - Specifies the number of emerge threads, with a lower limit of 1. -# Warning: Increasing the number of emerge threads increases engine mapgen +# WARNING: Increasing the number of emerge threads increases engine mapgen # speed, but this may harm game performance by interfering with other # processes, especially in singleplayer and/or when running Lua code in -# 'on_generated'. -# For many users the optimum setting may be '1'. +# 'on_generated'. For many users the optimum setting may be '1'. num_emerge_threads (Number of emerge threads) int 1 [Online Content Repository] diff --git a/minetest.conf.example b/minetest.conf.example index 6e40a4b6b..6e881596f 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -2994,16 +2994,18 @@ # emergequeue_limit_generate = 64 # Number of emerge threads to use. +# WARNING: Currently there are multiple bugs that may cause crashes when +# 'num_emerge_threads' is larger than 1. Until this warning is removed it is +# strongly recommended this value is set to the default '1'. # Empty or 0 value: # - Automatic selection. The number of emerge threads will be # - 'number of processors - 2', with a lower limit of 1. # Any other value: # - Specifies the number of emerge threads, with a lower limit of 1. -# Warning: Increasing the number of emerge threads increases engine mapgen +# WARNING: Increasing the number of emerge threads increases engine mapgen # speed, but this may harm game performance by interfering with other # processes, especially in singleplayer and/or when running Lua code in -# 'on_generated'. -# For many users the optimum setting may be '1'. +# 'on_generated'. For many users the optimum setting may be '1'. # type: int # num_emerge_threads = 1 From ca1bff6b66c4df8bd42f1249523cf235e275e265 Mon Sep 17 00:00:00 2001 From: paramat Date: Sun, 17 Mar 2019 08:38:15 +0000 Subject: [PATCH 011/279] num_emerge_threads: Fix documentation of automatic selection --- builtin/settingtypes.txt | 2 +- minetest.conf.example | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index 6c5b3f317..5d68007e3 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -1918,7 +1918,7 @@ emergequeue_limit_generate (Limit of emerge queues to generate) int 64 # WARNING: Currently there are multiple bugs that may cause crashes when # 'num_emerge_threads' is larger than 1. Until this warning is removed it is # strongly recommended this value is set to the default '1'. -# Empty or 0 value: +# Value 0: # - Automatic selection. The number of emerge threads will be # - 'number of processors - 2', with a lower limit of 1. # Any other value: diff --git a/minetest.conf.example b/minetest.conf.example index 6e881596f..1574d5c3f 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -2997,7 +2997,7 @@ # WARNING: Currently there are multiple bugs that may cause crashes when # 'num_emerge_threads' is larger than 1. Until this warning is removed it is # strongly recommended this value is set to the default '1'. -# Empty or 0 value: +# Value 0: # - Automatic selection. The number of emerge threads will be # - 'number of processors - 2', with a lower limit of 1. # Any other value: From 1ae0335b626e1c9f31cbaf45509099e4676f2d1a Mon Sep 17 00:00:00 2001 From: Paramat Date: Mon, 18 Mar 2019 10:19:53 +0000 Subject: [PATCH 012/279] num_emerge_threads: Initialise value to cope with setting syntax error (#8396) --- src/emerge.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/emerge.cpp b/src/emerge.cpp index 0ad6ee29b..0a1852985 100644 --- a/src/emerge.cpp +++ b/src/emerge.cpp @@ -128,10 +128,10 @@ EmergeManager::EmergeManager(Server *server) enable_mapgen_debug_info = g_settings->getBool("enable_mapgen_debug_info"); - // If unspecified, leave a proc for the main thread and one for - // some other misc thread - s16 nthreads; + s16 nthreads = 1; g_settings->getS16NoEx("num_emerge_threads", nthreads); + // If automatic, leave a proc for the main thread and one for + // some other misc thread if (nthreads == 0) nthreads = Thread::getNumberOfProcessors() - 2; if (nthreads < 1) From 57e0f52aaad7a0dc7738cfa20cfc304294f41e93 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 18 Mar 2019 15:06:27 +0100 Subject: [PATCH 013/279] httpfetch: Disable IPv6 here too if requested by settings (#8399) --- src/httpfetch.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/httpfetch.cpp b/src/httpfetch.cpp index 6b67e0e13..326b5052f 100644 --- a/src/httpfetch.cpp +++ b/src/httpfetch.cpp @@ -253,6 +253,10 @@ HTTPFetchOngoing::HTTPFetchOngoing(const HTTPFetchRequest &request_, curl_easy_setopt(curl, CURLOPT_INTERFACE, bind_address.c_str()); } + if (!g_settings->getBool("enable_ipv6")) { + curl_easy_setopt(curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); + } + #if LIBCURL_VERSION_NUM >= 0x071304 // Restrict protocols so that curl vulnerabilities in // other protocols don't affect us. From 538a7b12bd0c5c10e0ef16dde363f16eb447c101 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 18 Mar 2019 22:41:39 +0100 Subject: [PATCH 014/279] Fix texture rotation for wallmounted nodeboxes fixes #8358 --- src/client/mapblock_mesh.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/mapblock_mesh.cpp b/src/client/mapblock_mesh.cpp index ed8a073de..6b5ba9f9d 100644 --- a/src/client/mapblock_mesh.cpp +++ b/src/client/mapblock_mesh.cpp @@ -744,7 +744,7 @@ void getNodeTile(MapNode mn, const v3s16 &p, const v3s16 &dir, MeshMakeData *dat u8 dir_i = ((dir.X + 2 * dir.Y + 3 * dir.Z) & 7) * 2; // Get rotation for things like chests - u8 facedir = mn.getFaceDir(ndef); + u8 facedir = mn.getFaceDir(ndef, true); static const u16 dir_to_tile[24 * 16] = { From cf1802a6de51ec14c98b1424ba95e86a66cf7c75 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Tue, 26 Mar 2019 01:18:52 +0000 Subject: [PATCH 015/279] Prevent multi-line chat messages server-side (#8420) --- src/server.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/server.cpp b/src/server.cpp index 003ad45b4..172bb4744 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -2874,8 +2874,13 @@ std::wstring Server::handleChat(const std::string &name, const std::wstring &wna L"It was refused. Send a shorter message"; } + auto message = trim(wide_to_utf8(wmessage)); + if (message.find_first_of("\n\r") != std::wstring::npos) { + return L"New lines are not permitted in chat messages"; + } + // Run script hook, exit if script ate the chat message - if (m_script->on_chat_message(name, wide_to_utf8(wmessage))) + if (m_script->on_chat_message(name, message)) return L""; // Line to send From 76325d0ba925cfdd18e387ae96d27921136e98e5 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sun, 31 Mar 2019 22:57:45 +0200 Subject: [PATCH 016/279] Bump version to 5.0.1 --- CMakeLists.txt | 2 +- build/android/build.gradle | 2 +- misc/net.minetest.minetest.appdata.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a2fed51e1..e647f62b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ set(VERSION_PATCH 1) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases -set(DEVELOPMENT_BUILD TRUE) +set(DEVELOPMENT_BUILD FALSE) set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") if(VERSION_EXTRA) diff --git a/build/android/build.gradle b/build/android/build.gradle index 7b9ebb9ec..11a4a714c 100644 --- a/build/android/build.gradle +++ b/build/android/build.gradle @@ -28,7 +28,7 @@ android { buildToolsVersion "28.0.3" defaultConfig { - versionCode 23 + versionCode 24 versionName "${System.env.VERSION_STR}.${versionCode}" minSdkVersion 14 targetSdkVersion 28 diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml index 089383b5d..f1aab53a9 100644 --- a/misc/net.minetest.minetest.appdata.xml +++ b/misc/net.minetest.minetest.appdata.xml @@ -56,6 +56,6 @@ minetest sfan5@live.de - + From 4c8a6423884751cc686d6aaaf415a0d7b1bc0e34 Mon Sep 17 00:00:00 2001 From: MoNTE48 Date: Thu, 7 Nov 2019 00:39:39 +0100 Subject: [PATCH 017/279] Android: build fixes & compat fixes --- build/android/build.gradle | 14 ++-- build/android/gradle.properties | 2 + .../gradle/wrapper/gradle-wrapper.properties | 7 +- build/android/src/debug/AndroidManifest.xml | 5 -- build/android/src/main/AndroidManifest.xml | 11 +-- .../net.minetest.minetest/MainActivity.java | 40 +++++------ .../MinetestAssetCopy.java | 72 ++++++++----------- .../MinetestTextEntry.java | 8 +-- .../MtNativeActivity.java | 11 ++- .../src/main/res/values-v21/styles.xml | 13 ++-- build/android/src/main/res/values/styles.xml | 8 ++- 11 files changed, 91 insertions(+), 100 deletions(-) create mode 100644 build/android/gradle.properties delete mode 100644 build/android/src/debug/AndroidManifest.xml diff --git a/build/android/build.gradle b/build/android/build.gradle index 81c99c974..d86598b5b 100644 --- a/build/android/build.gradle +++ b/build/android/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.4.2' + classpath 'com.android.tools.build:gradle:3.5.1' } } @@ -24,13 +24,14 @@ def sqlite3_version = "3240000" apply plugin: "com.android.application" android { - compileSdkVersion 28 + compileSdkVersion 29 + buildToolsVersion '29.0.2' defaultConfig { versionCode 24 versionName "${System.env.VERSION_STR}.${versionCode}" minSdkVersion 14 - targetSdkVersion 28 + targetSdkVersion 29 applicationId "net.minetest.minetest" manifestPlaceholders = [package: "net.minetest.minetest", project: project.name] ndk { @@ -41,6 +42,11 @@ android { } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + lintOptions { disable "OldTargetApi", "GoogleAppIndexingWarning" } @@ -165,5 +171,5 @@ task cleanAll(type: Delete, dependsOn: [clean, cleanAssets, cleanIconv, } dependencies { - implementation 'com.android.support:support-v4:28.0.0' + implementation 'androidx.core:core:1.1.0' } diff --git a/build/android/gradle.properties b/build/android/gradle.properties new file mode 100644 index 000000000..5465fec0e --- /dev/null +++ b/build/android/gradle.properties @@ -0,0 +1,2 @@ +android.enableJetifier=true +android.useAndroidX=true \ No newline at end of file diff --git a/build/android/gradle/wrapper/gradle-wrapper.properties b/build/android/gradle/wrapper/gradle-wrapper.properties index 7ba375433..22ac96460 100644 --- a/build/android/gradle/wrapper/gradle-wrapper.properties +++ b/build/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1 @@ -#Fri Aug 09 22:14:33 CEST 2019 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip diff --git a/build/android/src/debug/AndroidManifest.xml b/build/android/src/debug/AndroidManifest.xml deleted file mode 100644 index ee04d1d03..000000000 --- a/build/android/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/build/android/src/main/AndroidManifest.xml b/build/android/src/main/AndroidManifest.xml index 7f61cda38..fb1de9cf0 100644 --- a/build/android/src/main/AndroidManifest.xml +++ b/build/android/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ @@ -11,14 +12,14 @@ + android:resizeableActivity="false" + tools:targetApi="n"> + android:value="2.4" /> + android:windowSoftInputMode="stateAlwaysHidden" /> + android:theme="@style/AppTheme" /> diff --git a/build/android/src/main/java/net.minetest.minetest/MainActivity.java b/build/android/src/main/java/net.minetest.minetest/MainActivity.java index 1baa71668..71b0ce144 100644 --- a/build/android/src/main/java/net.minetest.minetest/MainActivity.java +++ b/build/android/src/main/java/net.minetest.minetest/MainActivity.java @@ -6,17 +6,17 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.ActivityCompat; -import android.support.v4.content.ContextCompat;; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class MainActivity extends Activity { - private final static int PERMISSIONS = 1; private static final String[] REQUIRED_SDK_PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}; @@ -30,8 +30,8 @@ public class MainActivity extends Activity { } } - protected void checkPermission() { - final List missingPermissions = new ArrayList(); + private void checkPermission() { + final List missingPermissions = new ArrayList<>(); // check required permission for (final String permission : REQUIRED_SDK_PERMISSIONS) { final int result = ContextCompat.checkSelfPermission(this, permission); @@ -42,7 +42,7 @@ public class MainActivity extends Activity { if (!missingPermissions.isEmpty()) { // request permission final String[] permissions = missingPermissions - .toArray(new String[missingPermissions.size()]); + .toArray(new String[0]); ActivityCompat.requestPermissions(this, permissions, PERMISSIONS); } else { final int[] grantResults = new int[REQUIRED_SDK_PERMISSIONS.length]; @@ -53,25 +53,23 @@ public class MainActivity extends Activity { } @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - switch (requestCode) { - case PERMISSIONS: - for (int index = 0; index < permissions.length; index++) { - if (grantResults[index] != PackageManager.PERMISSION_GRANTED) { - // permission not granted - toast and exit - Toast.makeText(this, R.string.not_granted, Toast.LENGTH_LONG).show(); - finish(); - return; - } + if (requestCode == PERMISSIONS) { + for (int index = 0; index < permissions.length; index++) { + if (grantResults[index] != PackageManager.PERMISSION_GRANTED) { + // permission not granted - toast and exit + Toast.makeText(this, R.string.not_granted, Toast.LENGTH_LONG).show(); + finish(); + return; } - // permission were granted - run - next(); - break; + } + // permission were granted - run + next(); } } - public void next() { + private void next() { Intent intent = new Intent(this, MtNativeActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); diff --git a/build/android/src/main/java/net.minetest.minetest/MinetestAssetCopy.java b/build/android/src/main/java/net.minetest.minetest/MinetestAssetCopy.java index 03b34f705..84cfca796 100644 --- a/build/android/src/main/java/net.minetest.minetest/MinetestAssetCopy.java +++ b/build/android/src/main/java/net.minetest.minetest/MinetestAssetCopy.java @@ -1,5 +1,6 @@ package net.minetest.minetest; +import android.annotation.SuppressLint; import android.app.Activity; import android.content.res.AssetFileDescriptor; import android.os.AsyncTask; @@ -19,13 +20,12 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; -import java.util.Iterator; import java.util.Vector; public class MinetestAssetCopy extends Activity { - ProgressBar m_ProgressBar; - TextView m_Filename; - copyAssetTask m_AssetCopy; + private ProgressBar m_ProgressBar; + private TextView m_Filename; + private copyAssetTask m_AssetCopy; @Override public void onCreate(Bundle savedInstanceState) { @@ -53,29 +53,26 @@ public class MinetestAssetCopy extends Activity { super.onResume(); makeFullScreen(); } - + @Override - protected void onDestroy() { + protected void onDestroy() { super.onDestroy(); if (m_AssetCopy != null) { m_AssetCopy.cancel(true); } - } + } - public void makeFullScreen() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + private void makeFullScreen() { + if (Build.VERSION.SDK_INT >= 19) this.getWindow().getDecorView().setSystemUiVisibility( - View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY - ); - } + View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); - if (hasFocus) { + if (hasFocus) makeFullScreen(); - } } /* preserve asset copy background task to prevent restart of copying */ @@ -85,7 +82,8 @@ public class MinetestAssetCopy extends Activity { return this; } - private static class copyAssetTask extends AsyncTask { + @SuppressLint("StaticFieldLeak") + private class copyAssetTask extends AsyncTask { boolean m_copy_started = false; String m_Foldername = "media"; Vector m_foldernames; @@ -99,7 +97,7 @@ public class MinetestAssetCopy extends Activity { InputStream src = getAssets().open(filename); byte[] buf = new byte[4096]; - int len = 0; + int len; while ((len = src.read(buf)) > 0) { size += len; } @@ -111,10 +109,10 @@ public class MinetestAssetCopy extends Activity { @Override protected String doInBackground(String... files) { - m_foldernames = new Vector(); - m_filenames = new Vector(); - m_tocopy = new Vector(); - m_asset_size_unknown = new Vector(); + m_foldernames = new Vector<>(); + m_filenames = new Vector<>(); + m_tocopy = new Vector<>(); + m_asset_size_unknown = new Vector<>(); String baseDir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/"; @@ -128,9 +126,9 @@ public class MinetestAssetCopy extends Activity { } else { File[] todel = TempFolder.listFiles(); - for (int i = 0; i < todel.length; i++) { - Log.v("MinetestAssetCopy", "deleting: " + todel[i].getAbsolutePath()); - todel[i].delete(); + for (File file : todel) { + Log.v("MinetestAssetCopy", "deleting: " + file.getAbsolutePath()); + file.delete(); } } @@ -166,9 +164,9 @@ public class MinetestAssetCopy extends Activity { if (m_asset_size_unknown.contains(filename)) { File testme = new File(baseDir + "/" + filename); - if (testme.exists()) { + if (testme.exists()) filesize = testme.length(); - } + asset_size_unknown = true; } @@ -249,12 +247,10 @@ public class MinetestAssetCopy extends Activity { protected void onProgressUpdate(Integer... progress) { if (m_copy_started) { - boolean shortened = false; String todisplay = m_tocopy.get(progress[0]); m_ProgressBar.setProgress(progress[0]); m_Filename.setText(todisplay); } else { - boolean shortened = false; String todisplay = m_Foldername; String full_text = "scanning " + todisplay + " ..."; m_Filename.setText(full_text); @@ -264,14 +260,11 @@ public class MinetestAssetCopy extends Activity { /** * check all files and folders in filelist */ - protected void ProcessFileList() { + void ProcessFileList() { String FlashBaseDir = Environment.getExternalStorageDirectory().getAbsolutePath(); - Iterator itr = m_filenames.iterator(); - - while (itr.hasNext()) { - String current_path = (String) itr.next(); + for (String current_path : m_filenames) { String FlashPath = FlashBaseDir + "/" + current_path; if (isAssetFolder(current_path)) { @@ -300,7 +293,7 @@ public class MinetestAssetCopy extends Activity { File testme = new File(FlashPath); long asset_filesize = -1; - long stored_filesize = -1; + long stored_filesize; if (testme.exists()) { try { @@ -308,7 +301,6 @@ public class MinetestAssetCopy extends Activity { asset_filesize = fd.getLength(); fd.close(); } catch (IOException e) { - refresh = true; m_asset_size_unknown.add(current_path); Log.e("MinetestAssetCopy", "Failed to open asset file \"" + FlashPath + "\" for size check"); @@ -316,22 +308,20 @@ public class MinetestAssetCopy extends Activity { stored_filesize = testme.length(); - if (asset_filesize == stored_filesize) { + if (asset_filesize == stored_filesize) refresh = false; - } } - if (refresh) { + if (refresh) m_tocopy.add(current_path); - } } } /** * read list of folders prepared on package build */ - protected void BuildFolderList() { + void BuildFolderList() { try { InputStream is = getAssets().open("index.txt"); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); @@ -351,7 +341,7 @@ public class MinetestAssetCopy extends Activity { /** * read list of asset files prepared on package build */ - protected void BuildFileList() { + void BuildFileList() { long entrycount = 0; try { InputStream is = getAssets().open("filelist.txt"); @@ -374,7 +364,7 @@ public class MinetestAssetCopy extends Activity { finish(); } - protected boolean isAssetFolder(String path) { + boolean isAssetFolder(String path) { return m_foldernames.contains(path); } } diff --git a/build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java b/build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java index 4cd899025..cb7ba8d3b 100644 --- a/build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java +++ b/build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java @@ -15,8 +15,8 @@ public class MinetestTextEntry extends Activity { private final int MultiLineTextInput = 1; private final int SingleLineTextInput = 2; private final int SingleLinePasswordInput = 3; - public AlertDialog mTextInputDialog; - public EditText mTextInputWidget; + private AlertDialog mTextInputDialog; + private EditText mTextInputWidget; @Override public void onCreate(Bundle savedInstanceState) { @@ -71,7 +71,7 @@ public class MinetestTextEntry extends Activity { mTextInputDialog.show(); } - public void pushResult(String text) { + private void pushResult(String text) { Intent resultData = new Intent(); resultData.putExtra("text", text); setResult(Activity.RESULT_OK, resultData); @@ -79,7 +79,7 @@ public class MinetestTextEntry extends Activity { finish(); } - public void cancelDialog() { + private void cancelDialog() { setResult(Activity.RESULT_CANCELED); mTextInputDialog.dismiss(); finish(); diff --git a/build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java b/build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java index b32e97b53..f49d078fe 100644 --- a/build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java +++ b/build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java @@ -37,20 +37,17 @@ public class MtNativeActivity extends NativeActivity { makeFullScreen(); } - public void makeFullScreen() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + private void makeFullScreen() { + if (Build.VERSION.SDK_INT >= 19) this.getWindow().getDecorView().setSystemUiVisibility( - View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY - ); - } + View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); - if (hasFocus) { + if (hasFocus) makeFullScreen(); - } } public void copyAssets() { diff --git a/build/android/src/main/res/values-v21/styles.xml b/build/android/src/main/res/values-v21/styles.xml index 825ab1d37..8b0777467 100644 --- a/build/android/src/main/res/values-v21/styles.xml +++ b/build/android/src/main/res/values-v21/styles.xml @@ -1,12 +1,17 @@ - + - - diff --git a/build/android/src/main/res/values/styles.xml b/build/android/src/main/res/values/styles.xml index 3e66ff4ba..1bd41ae76 100644 --- a/build/android/src/main/res/values/styles.xml +++ b/build/android/src/main/res/values/styles.xml @@ -1,12 +1,14 @@ - - From 6c9fc130836618b6355c2133789d492bf29e6128 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Sat, 9 Nov 2019 11:37:46 +0100 Subject: [PATCH 018/279] Bump to version code 25 --- build/android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/android/build.gradle b/build/android/build.gradle index d86598b5b..61163288f 100644 --- a/build/android/build.gradle +++ b/build/android/build.gradle @@ -28,7 +28,7 @@ android { buildToolsVersion '29.0.2' defaultConfig { - versionCode 24 + versionCode 25 versionName "${System.env.VERSION_STR}.${versionCode}" minSdkVersion 14 targetSdkVersion 29 From 45bbe39d1f7958a38cb0a10357fe0baf1d725c52 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Sat, 9 Nov 2019 12:50:53 +0100 Subject: [PATCH 019/279] Add arm64-v8a but it's not sufficient for 64bit build --- build/android/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/android/build.gradle b/build/android/build.gradle index 61163288f..3601434f5 100644 --- a/build/android/build.gradle +++ b/build/android/build.gradle @@ -38,7 +38,7 @@ android { // Specifies the ABI configurations of your native // libraries Gradle should build and package with your APK. // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' - abiFilters 'armeabi-v7a', 'x86' + abiFilters 'armeabi-v7a', 'x86', 'arm64-v8a' } } From 6e6ef9489f898d06730015239fb2595d8d6b316b Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Thu, 26 Dec 2019 17:09:21 +0000 Subject: [PATCH 020/279] Continue with 5.1.1-dev --- CMakeLists.txt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 36528d022..4fcb9506a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,11 +17,11 @@ set(CLANG_MINIMUM_VERSION "3.4") # Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing set(VERSION_MAJOR 5) set(VERSION_MINOR 1) -set(VERSION_PATCH 0) +set(VERSION_PATCH 1) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases -set(DEVELOPMENT_BUILD FALSE) +set(DEVELOPMENT_BUILD TRUE) set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") if(VERSION_EXTRA) @@ -164,9 +164,9 @@ if(RUN_IN_PLACE) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/textures/texture_packs_here.txt" DESTINATION "${SHAREDIR}/textures") endif() -install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/games/minetest_game" DESTINATION "${SHAREDIR}/games/" +install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/games/minetest_game" DESTINATION "${SHAREDIR}/games/" COMPONENT "SUBGAME_MINETEST_GAME" OPTIONAL PATTERN ".git*" EXCLUDE ) -install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/games/minimal" DESTINATION "${SHAREDIR}/games/" +install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/games/minimal" DESTINATION "${SHAREDIR}/games/" COMPONENT "SUBGAME_MINIMAL" OPTIONAL PATTERN ".git*" EXCLUDE ) if(BUILD_CLIENT) @@ -284,12 +284,12 @@ if(WIN32) set(CPACK_CREATE_DESKTOP_LINKS ${PROJECT_NAME}) set(CPACK_WIX_PRODUCT_ICON "${CMAKE_CURRENT_SOURCE_DIR}/misc/minetest-icon.ico") - # Supported languages can be found at + # Supported languages can be found at # http://wixtoolset.org/documentation/manual/v3/wixui/wixui_localization.html #set(CPACK_WIX_CULTURES "ar-SA,bg-BG,ca-ES,hr-HR,cs-CZ,da-DK,nl-NL,en-US,et-EE,fi-FI,fr-FR,de-DE") set(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/misc/CPACK_WIX_UI_BANNER.BMP") set(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/misc/CPACK_WIX_UI_DIALOG.BMP") - + set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/doc/lgpl-2.1.txt") # The correct way would be to include both x32 and x64 into one installer @@ -325,4 +325,3 @@ if(DOXYGEN_FOUND) COMMENT "Generating API documentation with Doxygen" VERBATIM ) endif() - From 06ba82680312ef3836ec759ae603289a20ea42ec Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sun, 20 Oct 2019 12:44:52 +0200 Subject: [PATCH 021/279] Formspecs: Reset version number on rebuild --- src/gui/guiFormSpecMenu.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp index aee7da869..83d7923d9 100644 --- a/src/gui/guiFormSpecMenu.cpp +++ b/src/gui/guiFormSpecMenu.cpp @@ -2418,6 +2418,8 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize) m_bgfullscreen = false; + m_formspec_version = 1; + { v3f formspec_bgcolor = g_settings->getV3F("formspec_default_bg_color"); m_bgcolor = video::SColor( From 57409ef382509a4a293683b78b44816ee29bb8d4 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Wed, 23 Oct 2019 21:28:55 +0300 Subject: [PATCH 022/279] Fix build issue due to conflicting s64 type definitions (#9064) See comment in irrlichttypes.h and https://sourceforge.net/p/irrlicht/bugs/433/ --- src/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main.cpp b/src/main.cpp index 4629f92ce..1993f7c24 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,6 +17,7 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include "irrlichttypes.h" // must be included before anything irrlicht, see comment in the file #include "irrlicht.h" // createDevice #include "irrlichttypes_extrabloated.h" #include "chat_interface.h" From 1c61fe5ed930720485ef42571739e5efc39a14c9 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Thu, 14 Nov 2019 17:38:15 +0100 Subject: [PATCH 023/279] Rework packet receiving in ServerThread Notably it tries to receive all queued packets between server steps, not just one. --- src/network/connection.cpp | 27 +++++++++++--- src/network/connection.h | 3 ++ src/network/networkpacket.cpp | 9 +++++ src/network/networkpacket.h | 1 + src/server.cpp | 70 +++++++++++++++++++++++++---------- 5 files changed, 86 insertions(+), 24 deletions(-) diff --git a/src/network/connection.cpp b/src/network/connection.cpp index 0bc13a2f0..a99e5b145 100644 --- a/src/network/connection.cpp +++ b/src/network/connection.cpp @@ -1323,16 +1323,21 @@ void Connection::Disconnect() putCommand(c); } -void Connection::Receive(NetworkPacket* pkt) +bool Connection::Receive(NetworkPacket *pkt, u32 timeout) { + /* + Note that this function can potentially wait infinitely if non-data + events keep happening before the timeout expires. + This is not considered to be a problem (is it?) + */ for(;;) { - ConnectionEvent e = waitEvent(m_bc_receive_timeout); + ConnectionEvent e = waitEvent(timeout); if (e.type != CONNEVENT_NONE) LOG(dout_con << getDesc() << ": Receive: got event: " << e.describe() << std::endl); switch(e.type) { case CONNEVENT_NONE: - throw NoIncomingDataException("No incoming data"); + return false; case CONNEVENT_DATA_RECEIVED: // Data size is lesser than command size, ignoring packet if (e.data.getSize() < 2) { @@ -1340,7 +1345,7 @@ void Connection::Receive(NetworkPacket* pkt) } pkt->putRawPacket(*e.data, e.data.getSize(), e.peer_id); - return; + return true; case CONNEVENT_PEER_ADDED: { UDPPeer tmp(e.peer_id, e.address, this); if (m_bc_peerhandler) @@ -1358,7 +1363,19 @@ void Connection::Receive(NetworkPacket* pkt) "(port already in use?)"); } } - throw NoIncomingDataException("No incoming data"); + return false; +} + +void Connection::Receive(NetworkPacket *pkt) +{ + bool any = Receive(pkt, m_bc_receive_timeout); + if (!any) + throw NoIncomingDataException("No incoming data"); +} + +bool Connection::TryReceive(NetworkPacket *pkt) +{ + return Receive(pkt, 0); } void Connection::Send(session_t peer_id, u8 channelnum, diff --git a/src/network/connection.h b/src/network/connection.h index 057bd39f6..d7f1e0fe8 100644 --- a/src/network/connection.h +++ b/src/network/connection.h @@ -771,6 +771,7 @@ public: bool Connected(); void Disconnect(); void Receive(NetworkPacket* pkt); + bool TryReceive(NetworkPacket *pkt); void Send(session_t peer_id, u8 channelnum, NetworkPacket *pkt, bool reliable); session_t GetPeerID() const { return m_peer_id; } Address GetPeerAddress(session_t peer_id); @@ -803,6 +804,8 @@ protected: UDPSocket m_udpSocket; MutexedQueue m_command_queue; + bool Receive(NetworkPacket *pkt, u32 timeout); + void putEvent(ConnectionEvent &e); void TriggerSend(); diff --git a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp index 22c035c5b..4d531b611 100644 --- a/src/network/networkpacket.cpp +++ b/src/network/networkpacket.cpp @@ -66,6 +66,15 @@ void NetworkPacket::putRawPacket(u8 *data, u32 datasize, session_t peer_id) memcpy(m_data.data(), &data[2], m_datasize); } +void NetworkPacket::clear() +{ + m_data.clear(); + m_datasize = 0; + m_read_offset = 0; + m_command = 0; + m_peer_id = 0; +} + const char* NetworkPacket::getString(u32 from_offset) { checkReadOffset(from_offset, 0); diff --git a/src/network/networkpacket.h b/src/network/networkpacket.h index a8b741374..fc8617651 100644 --- a/src/network/networkpacket.h +++ b/src/network/networkpacket.h @@ -35,6 +35,7 @@ public: ~NetworkPacket(); void putRawPacket(u8 *data, u32 datasize, session_t peer_id); + void clear(); // Getters u32 getSize() const { return m_datasize; } diff --git a/src/server.cpp b/src/server.cpp index 4aa8375c8..d914beead 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -93,6 +93,15 @@ void *ServerThread::run() { BEGIN_DEBUG_EXCEPTION_HANDLER + /* + * The real business of the server happens on the ServerThread. + * How this works: + * AsyncRunStep() runs an actual server step as soon as enough time has + * passed (dedicated_server_loop keeps track of that). + * Receive() blocks at least(!) 30ms waiting for a packet (so this loop + * doesn't busy wait) and will process any remaining packets. + */ + m_server->AsyncRunStep(true); while (!stopRequested()) { @@ -101,7 +110,6 @@ void *ServerThread::run() m_server->Receive(); - } catch (con::NoIncomingDataException &e) { } catch (con::PeerNotFoundException &e) { infostream<<"Server: PeerNotFoundException"<Receive(&pkt); - peer_id = pkt.getPeerId(); - ProcessData(&pkt); - } catch (const con::InvalidIncomingDataException &e) { - infostream << "Server::Receive(): InvalidIncomingDataException: what()=" - << e.what() << std::endl; - } catch (const SerializationError &e) { - infostream << "Server::Receive(): SerializationError: what()=" - << e.what() << std::endl; - } catch (const ClientStateError &e) { - errorstream << "ProcessData: peer=" << peer_id << e.what() << std::endl; - DenyAccess_Legacy(peer_id, L"Your client sent something server didn't expect." - L"Try reconnecting or updating your client"); - } catch (const con::PeerNotFoundException &e) { - // Do nothing + NetworkPacket pkt; + session_t peer_id; + bool first = true; + for (;;) { + pkt.clear(); + peer_id = 0; + try { + /* + In the first iteration *wait* for a packet, afterwards process + all packets that are immediately available (no waiting). + */ + if (first) { + m_con->Receive(&pkt); + first = false; + } else { + if (!m_con->TryReceive(&pkt)) + return; + } + + peer_id = pkt.getPeerId(); + ProcessData(&pkt); + } catch (const con::InvalidIncomingDataException &e) { + infostream << "Server::Receive(): InvalidIncomingDataException: what()=" + << e.what() << std::endl; + } catch (const SerializationError &e) { + infostream << "Server::Receive(): SerializationError: what()=" + << e.what() << std::endl; + } catch (const ClientStateError &e) { + errorstream << "ProcessData: peer=" << peer_id << " what()=" + << e.what() << std::endl; + DenyAccess_Legacy(peer_id, L"Your client sent something server didn't expect." + L"Try reconnecting or updating your client"); + } catch (const con::PeerNotFoundException &e) { + // Do nothing + } catch (const con::NoIncomingDataException &e) { + return; + } } } @@ -3728,6 +3755,11 @@ void dedicated_server_loop(Server &server, bool &kill) static thread_local const float profiler_print_interval = g_settings->getFloat("profiler_print_interval"); + /* + * The dedicated server loop only does time-keeping (in Server::step) and + * provides a way to main.cpp to kill the server externally (bool &kill). + */ + for(;;) { // This is kind of a hack but can be done like this // because server.step() is very light From fa858530cc2c241a676562584fe024ab48773149 Mon Sep 17 00:00:00 2001 From: ANAND Date: Tue, 26 Nov 2019 00:33:34 +0530 Subject: [PATCH 024/279] Use a safer implementation of gsub in core.chat_format_message (#9133) This search-and-replace implementation does not use Lua pattern-matching --- builtin/game/chat.lua | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/builtin/game/chat.lua b/builtin/game/chat.lua index ad703b94c..d0d456a46 100644 --- a/builtin/game/chat.lua +++ b/builtin/game/chat.lua @@ -1,27 +1,41 @@ -- Minetest: builtin/game/chat.lua +-- Helper function that implements search and replace without pattern matching +-- Returns the string and a boolean indicating whether or not the string was modified +local function safe_gsub(s, replace, with) + local i1, i2 = s:find(replace, 1, true) + if not i1 then + return s, false + end + + return s:sub(1, i1 - 1) .. with .. s:sub(i2 + 1), true +end + -- -- Chat message formatter -- -- Implemented in Lua to allow redefinition function core.format_chat_message(name, message) - local str = core.settings:get("chat_message_format") local error_str = "Invalid chat message format - missing %s" - local i + local str = core.settings:get("chat_message_format") + local replaced - str, i = str:gsub("@name", name, 1) - if i == 0 then + -- Name + str, replaced = safe_gsub(str, "@name", name) + if not replaced then error(error_str:format("@name"), 2) end - str, i = str:gsub("@message", message, 1) - if i == 0 then + -- Timestamp + str = safe_gsub(str, "@timestamp", os.date("%H:%M:%S", os.time())) + + -- Insert the message into the string only after finishing all other processing + str, replaced = safe_gsub(str, "@message", message) + if not replaced then error(error_str:format("@message"), 2) end - str = str:gsub("@timestamp", os.date("%H:%M:%S", os.time()), 1) - return str end From 7a0884e2cdcdf39f832b56421a584b770c98f61b Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Mon, 9 Dec 2019 21:05:07 +0000 Subject: [PATCH 025/279] Fix spaces breaking formspec_version[] tag --- src/gui/guiFormSpecMenu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp index 83d7923d9..8d740237c 100644 --- a/src/gui/guiFormSpecMenu.cpp +++ b/src/gui/guiFormSpecMenu.cpp @@ -2005,7 +2005,7 @@ bool GUIFormSpecMenu::parseVersionDirect(const std::string &data) return false; } - if (parts[0] != "formspec_version") { + if (trim(parts[0]) != "formspec_version") { return false; } From 2ef04cc3089a960df641aada03a09bb5cef4da46 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Tue, 24 Dec 2019 18:12:46 +0000 Subject: [PATCH 026/279] Fix item eat sound not played if last item (#9239) --- builtin/game/item.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/game/item.lua b/builtin/game/item.lua index 8041d557e..4054949f1 100644 --- a/builtin/game/item.lua +++ b/builtin/game/item.lua @@ -460,10 +460,10 @@ function core.do_item_eat(hp_change, replace_with_item, itemstack, user, pointed return result end end + local def = itemstack:get_definition() if itemstack:take_item() ~= nil then user:set_hp(user:get_hp() + hp_change) - local def = itemstack:get_definition() if def and def.sound and def.sound.eat then minetest.sound_play(def.sound.eat, { pos = user:get_pos(), max_hear_distance = 16 }) end From 0d8f598df214f9464baa939f2a7ce1d1750101a9 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Thu, 5 Dec 2019 20:35:31 +0100 Subject: [PATCH 027/279] Fix LocalPlayer-bound sound playback broken by 81c2370 --- src/client/content_cao.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index a15c1cc0b..5521a6cf1 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -834,18 +834,19 @@ void GenericCAO::updateNodePos() void GenericCAO::step(float dtime, ClientEnvironment *env) { - // Handel model of local player instantly to prevent lags + // Handle model animations and update positions instantly to prevent lags if (m_is_local_player) { LocalPlayer *player = m_env->getLocalPlayer(); + m_position = player->getPosition(); + pos_translator.val_current = m_position; + m_rotation.Y = wrapDegrees_0_360(player->getYaw()); + rot_translator.val_current = m_rotation; + if (m_is_visible) { int old_anim = player->last_animation; float old_anim_speed = player->last_animation_speed; - m_position = player->getPosition(); - m_rotation.Y = wrapDegrees_0_360(player->getYaw()); m_velocity = v3f(0,0,0); m_acceleration = v3f(0,0,0); - pos_translator.val_current = m_position; - rot_translator.val_current = m_rotation; const PlayerControl &controls = player->getPlayerControl(); bool walking = false; From 5e4739b4607e2867783c71c0301e1aa3df16529a Mon Sep 17 00:00:00 2001 From: William Breathitt Gray Date: Sat, 16 Nov 2019 13:14:24 -0500 Subject: [PATCH 028/279] Fix find_path for newer jsoncpp installations The upstream JsonCpp project has renamed the `json/features.h` file to `json/json_features.h`. This patch fixes the JsonCpp installation search by looking for `json/allocator.h` which has not been renamed on newer versions of JsonCpp. Fixes: https://github.com/minetest/minetest/issues/9119 --- cmake/Modules/FindJson.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/FindJson.cmake b/cmake/Modules/FindJson.cmake index 26339a295..53ddf4599 100644 --- a/cmake/Modules/FindJson.cmake +++ b/cmake/Modules/FindJson.cmake @@ -8,7 +8,7 @@ option(ENABLE_SYSTEM_JSONCPP "Enable using a system-wide JSONCPP. May cause seg if(ENABLE_SYSTEM_JSONCPP) find_library(JSON_LIBRARY NAMES jsoncpp) - find_path(JSON_INCLUDE_DIR json/features.h PATH_SUFFIXES jsoncpp) + find_path(JSON_INCLUDE_DIR json/allocator.h PATH_SUFFIXES jsoncpp) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(JSONCPP DEFAULT_MSG JSON_LIBRARY JSON_INCLUDE_DIR) From c00081b62c115e773078d534ca1809d557a488c8 Mon Sep 17 00:00:00 2001 From: Oguz Ersen Date: Sun, 27 Oct 2019 13:16:37 +0000 Subject: [PATCH 029/279] Translated using Weblate (Turkish) Currently translated at 100.0% (1274 of 1274 strings) --- po/tr/minetest.po | 194 ++++++++++++++++++++++------------------------ 1 file changed, 94 insertions(+), 100 deletions(-) diff --git a/po/tr/minetest.po b/po/tr/minetest.po index d7347a86c..49f1deb7d 100644 --- a/po/tr/minetest.po +++ b/po/tr/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Turkish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-10-27 21:50+0000\n" +"Last-Translator: Oguz Ersen \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.9.1-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Öldün" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Lua betiğinde, bir mod gibi, bir hata oluştu:" +msgstr "Lua komut dosyasında bir hata oluştu:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -120,27 +119,24 @@ msgid "Mod:" msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "İsteğe bağlı bağımlılıklar:" +msgstr "(İsteğe bağlı) bağımlılık yok" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Verilen oyun açıklaması yok." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Bağımlılık yok." +msgstr "Katı bağımlılık yok" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Verilen mod paketi açıklaması yok." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "İsteğe bağlı bağımlılıklar:" +msgstr "İsteğe bağlı bağımlılık yok" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -782,9 +778,8 @@ msgid "Waving Leaves" msgstr "Dalgalanan Yapraklar" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Dalgalanan Nodlar" +msgstr "Dalgalanan Sıvılar" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1529,7 +1524,7 @@ msgid "Register and Join" msgstr "Kaydol ve Katıl" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1537,11 +1532,11 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"\"%2$s\" adıyla %1$s adresindeki sunucuya ilk kez bağlanmak üzeresiniz. " -"Devam ederseniz, bu sunucuda, bilgileriniz kullanılarak yeni bir hesap " -"yaratılacak.\n" -"Lütfen hesap yaratmayı onaylamak için parolanızı tekrar girin ve Kaydol ve " -"Katıl'a tıklayın veya vaz geçmek İptal'e tıklayın." +"Bu sunucuya \"%s\" adıyla ilk kez katılmak üzeresiniz.\n" +"Devam ederseniz, kimlik bilgilerinizi kullanarak yeni bir hesap bu sunucuda " +"oluşturulur.\n" +"Lütfen şifrenizi tekrar yazın ve hesap oluşturmayı onaylamak için 'Kayıt Ol " +"ve Katıl' düğmesini tıklayın veya iptal etmek için 'İptal'i tıklayın." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1684,9 +1679,8 @@ msgid "Toggle noclip" msgstr "Hayalet aç/kapa" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "Sohbet günlüğünü aç/kapa" +msgstr "Pitchmove'u aç/kapa" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1817,9 +1811,8 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges." msgstr "Step dağ aralıklarının boyutunu/oluşumunu denetleyen 2D gürültü." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that locates the river valleys and channels." -msgstr "Yuvarlanan tepelerin şeklini/boyutunu denetleyen 2D gürültü." +msgstr "Nehir vadilerini ve kanallarını belirleyen 2B gürültü." #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1857,7 +1850,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "Mapchunk başına zindan sayısını belirleyen 3B gürültü." #: src/settings_translation_file.cpp msgid "" @@ -1913,7 +1906,7 @@ msgstr "Havada hızlanma" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Yerçekimi ivmesi, saniyede saniye başına düğüm sayısı halinde." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2143,17 +2136,16 @@ msgid "Bumpmapping" msgstr "Tümsek eşleme" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" "Most users will not need to change this.\n" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Nodlarda düzlem uzaklığına yakın kamera, 0 ile 0.5 arasında \n" -"Çoğu kullanıcının bu değiştirmesi gerekmez.\n" -"Artırmak, zayıf GPUlarda bozulmayı azaltabilir.\n" -"0.1 = Öntanımlı, 0.25 = Zayıf tabletler için iyi değer." +"Düğümlerde kamera 'düğüm düzlemine yakın' uzaklığı, 0 ile 0,5 arasında.\n" +"Çoğu kullanıcının bunu değiştirmesi gerekmez.\n" +"Artırma, zayıf GPU'larda görüntü bozulmalarını azaltabilir.\n" +"0,1 = Varsayılan, 0,25 = Zayıf tabletler için iyi değer." #: src/settings_translation_file.cpp msgid "Camera smoothing" @@ -2239,9 +2231,8 @@ msgid "Chat message count limit" msgstr "Sohbet ileti sayısı sınırı" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "Sohbet iletisi maksimum uzunluğu" +msgstr "Sohbet mesajı formatı" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2418,7 +2409,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Sıvıdaki batma hızını kontrol eder." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2483,9 +2474,8 @@ msgid "Debug info toggle key" msgstr "Hata ayıklama bilgisi açma/kapama tuşu" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Çöl gürültü eşiği" +msgstr "Hata ayıklama log dosyası boyutu eşiği" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -2497,7 +2487,7 @@ msgstr "Ses alçaltma tuşu" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." -msgstr "" +msgstr "Harekete karşı sıvı direncini artırmak için bunu azaltın." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2590,9 +2580,8 @@ msgid "Defines the base ground level." msgstr "Taban yer seviyesini belirler." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "Taban yer seviyesini belirler." +msgstr "Nehir kanalının derinliğini tanımlar." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." @@ -2601,14 +2590,12 @@ msgstr "" "sınırsız)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "Geniş çaplı nehir kanal yapısını belirler." +msgstr "Nehir kanalının genişliğini tanımlar." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "Ağaçların elması olacağı alanları belirler." +msgstr "Nehir vadisinin genişliğini tanımlar." #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2641,6 +2628,9 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" +"Kullanılmıyor, bunun yerine biome tanımlarını kullanarak mağara sıvılarını " +"tanımlayın ve bulun.\n" +"Büyük mağaralarda lav üst sınırının Y'si." #: src/settings_translation_file.cpp msgid "Depth below which you'll find giant caverns." @@ -2663,13 +2653,12 @@ msgid "Desert noise threshold" msgstr "Çöl gürültü eşiği" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Deserts occur when np_biome exceeds this value.\n" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" -"np_biome bu değeri aştığında Çöller oluşur.\n" -"Yeni biyom sistemi etkinken, bu yok sayılır." +"Çöller, np_biome bu değeri aştığında gerçekleşir.\n" +"'Snowbiomes' bayrağı etkinleştirildiğinde, bu dikkate alınmaz." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -2716,9 +2705,8 @@ msgid "Dungeon minimum Y" msgstr "Zindan minimum Y" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Zindan minimum Y" +msgstr "Zindan gürültüsü" #: src/settings_translation_file.cpp msgid "" @@ -3072,6 +3060,9 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Oyuncu sohbet mesajlarının formatı. Aşağıdaki stringler geçerli yer " +"tutuculardır:\n" +"@name, @message, @timestamp (isteğe bağlı)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3327,18 +3318,24 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Atlarken veya düşerken havada yatay hızlanma,\n" +"saniyede saniye başına düğüm sayısı halinde." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Hızlı modda yatay ve dikey hızlanma,\n" +"saniyede saniye başına düğüm sayısı halinde." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"Zeminde veya tırmanırken yatay ve dikey hızlanma,\n" +"saniyede saniye başına düğüm sayısı halinde." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3625,6 +3622,10 @@ msgid "" "deleting an older debug.txt.1 if it exists.\n" "debug.txt is only moved if this setting is positive." msgstr "" +"Debug.txt dosyasının boyutu, açıldığında bu ayarda belirtilen megabayt\n" +"sayısını aşıyorsa, dosya varsa eski bir debug.txt.1 dosyasını\n" +"silerek debug.txt.1 dosyasına taşınır.\n" +"debug.txt yalnızca bu ayar pozitifse taşınır." #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." @@ -3658,7 +3659,7 @@ msgstr "Ses yükseltme tuşu" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "Atlama sırasında ilk dikey hız, saniyede düğümler halinde." #: src/settings_translation_file.cpp msgid "" @@ -4684,9 +4685,8 @@ msgid "Liquid queue purge time" msgstr "Sıvı sırası silme zamanı" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Sıvı inme hızı" +msgstr "Sıvı batışı" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." @@ -4768,14 +4768,14 @@ msgstr "" "'altitude_dry': Nemi yükseklikle azaltır." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen flat.\n" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Mapgen v7'ye özgü harita üretim özellikleri.\n" -"'ridges' nehirleri etkinleştirir." +"Mapgen düzlüğüne özgü harita oluşturma özellikleri.\n" +"'terrain' fraktal olmayan arazi oluşumunu sağlar:\n" +"okyanus, adalar ve yeraltı." #: src/settings_translation_file.cpp msgid "" @@ -4790,17 +4790,17 @@ msgid "Map generation attributes specific to Mapgen v5." msgstr "Mapgen v5'e özgü harita üretim değerleri." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen v6.\n" "The 'snowbiomes' flag enables the new 5 biome system.\n" "When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" "the 'jungles' flag is ignored." msgstr "" -"Mapgen v6'ya özgü harita üretim değerleri.\n" -"'snowbiomes' bayrağı yeni 5 biyom sistemini etkinleştir.\n" -"Yeni biyom sistemi etkinken cangıllar kendiliğinden etkinleştirilir ve\n" -"'jungles' bayrağı yok sayılır." +"Mapgen v6'ya özgü harita oluşturma özellikleri.\n" +"'snowbiomes' bayrağı yeni 5 biome sistemini etkinleştirir.\n" +"'snowbiomes' bayrağı etkinleştirildiğinde, ormanlar otomatik olarak " +"etkinleştirilir ve\n" +"'jungles' bayrağı dikkate alınmaz." #: src/settings_translation_file.cpp msgid "" @@ -4855,9 +4855,8 @@ msgid "Mapgen Fractal" msgstr "Mapgen Fraktal" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal specific flags" -msgstr "Mapgen Düz'e özgü bayraklar" +msgstr "Mapgen Fractal'a özgü bayraklar" #: src/settings_translation_file.cpp msgid "Mapgen V5" @@ -4944,6 +4943,8 @@ msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Maksimum sıvı direnci. Yüksek hızda sıvıya girerken yavaşlamayı\n" +"kontrol eder." #: src/settings_translation_file.cpp msgid "" @@ -5149,20 +5150,16 @@ msgid "Mute sound" msgstr "Sesi kapat" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this.\n" "Current mapgens in a highly unstable state:\n" "- The optional floatlands of v7 (disabled by default)." msgstr "" -"Yeni bir dünya yaratırken kullanılacak harita üretecinin adı.\n" -"Ana menüde bir dünya yaratmak bunu etkisiz kılar.\n" -"Şu anki kararlı harita üreteçleri:\n" -"v5, v6, v7 (yüzenkaralar hariç), tek-nod.\n" -"'kararlı', var olan bir dünyada arazi şekli gelecekte değişmeyecek " -"demektir.\n" -"Biyomların oyun tarafından belirlendiğini ve değişebileceğini unutmayın." +"Yeni bir dünya oluştururken kullanılacak harita üreticisinin adı.\n" +"Ana menüde bir dünya oluşturmak bunu geçersiz kılacaktır.\n" +"Aşırı dengesiz durumdaki mevcut harita oluşturucular:\n" +"- İsteğe bağlı v7 yüzer alanları (varsayılan olarak devre dışıdır)." #: src/settings_translation_file.cpp msgid "" @@ -5181,9 +5178,8 @@ msgstr "" "Oyuncular katılındığında ve sunucu listesinde görüntülenecek sunucu adı." #: src/settings_translation_file.cpp -#, fuzzy msgid "Near clipping plane" -msgstr "Düzleme yakın" +msgstr "Kırpma düzlemi yakınında" #: src/settings_translation_file.cpp msgid "Network" @@ -5234,7 +5230,6 @@ msgid "Number of emerge threads" msgstr "Emerge iş sayısı" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Number of emerge threads to use.\n" "WARNING: Currently there are multiple bugs that may cause crashes when\n" @@ -5251,15 +5246,20 @@ msgid "" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" "Kullanılacak emerge iş parçacıklarının sayısı.\n" -"Boş veya 0 değeri:\n" -"- Kendiliğinden seçim. İş parçacığı sayısı, 1 alt sınırıyla,\n" -"- 'işlemci sayısı - 2' olur.\n" +"UYARI: Şu anda 'num_emerge_threads' 1'den büyük olduğunda çökmelere neden\n" +"olabilecek birden fazla hata var. Bu uyarı kaldırılıncaya kadar, bu değerin " +"varsayılan\n" +"'1' olarak ayarlanması şiddetle önerilir.\n" +"Değer 0:\n" +"- Otomatik seçim. Ortaya çıkan emerge iş parçacıklarının sayısı\n" +"- alt limit 1 olmak üzere 'işlemci sayısı - 2' olacaktır.\n" "Başka bir değer:\n" -"- Emerge iş parçacığı sayısını, 1 alt sınırıyla, belirtir.\n" -"Uyarı: Emerge iş parçacığı sayısını artırmak, motor mapgen hızını artırır,\n" -"ancak bu oyun performansına, diğer işlemlere engel olarak, zarar verebilir,\n" -"özellikle tek-oyunculuda ve/veya 'on_generated'da Lua kodu çalıştırırken.\n" -"Bir çok kullanıcı için optimum değer '1' olabilir." +"- Emerge iş parçacıklarının sayısını, alt sınır 1 olmak üzere belirtir.\n" +"UYARI: Emerge iş parçacığı sayısının arttırılması, motor mapgen hızını " +"arttırır, ancak\n" +"bu, özellikle tek oyunculu ve/veya Lua kodunu 'on_generated' çalıştırırken,\n" +"diğer işlemlere müdahale ederek oyun performansına zarar verebilir.\n" +"Birçok kullanıcı için optimum ayar '1' olabilir." #: src/settings_translation_file.cpp msgid "" @@ -5525,14 +5525,12 @@ msgid "Rightclick repetition interval" msgstr "Sağ tık tekrarlama aralığı" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel depth" -msgstr "Nehir derinliği" +msgstr "Nehir kanal derinliği" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel width" -msgstr "Nehir derinliği" +msgstr "Nehir kanal genişliği" #: src/settings_translation_file.cpp msgid "River depth" @@ -5547,9 +5545,8 @@ msgid "River size" msgstr "Nehir boyutu" #: src/settings_translation_file.cpp -#, fuzzy msgid "River valley width" -msgstr "Nehir derinliği" +msgstr "Nehir vadisi genişliği" #: src/settings_translation_file.cpp msgid "Rollback recording" @@ -5890,7 +5887,7 @@ msgstr "Sızma hızı" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "Sinsice ilerleme hızı, saniyede düğümler halinde." #: src/settings_translation_file.cpp msgid "Sound" @@ -6269,7 +6266,6 @@ msgid "Undersampling" msgstr "Aşağı örnekleme" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Undersampling is similar to using a lower screen resolution, but it applies\n" "to the game world only, keeping the GUI intact.\n" @@ -6277,10 +6273,11 @@ msgid "" "image.\n" "Higher values result in a less detailed image." msgstr "" -"Aşağı örnekleme daha düşük bir ekran çözünürlüğü kullanmaya benzer, ancak\n" -"yalnızca oyun dünyasına uygulanır, GUI'ye dokunulmaz.\n" -"Daha az ayrıntılı resimler pahasına belirgin bir performans artışı vermesi " -"beklenir." +"Alt örnekleme, daha düşük bir ekran çözünürlüğü kullanmaya benzer, ancak\n" +"GUI'yi koruyarak, yalnızca oyun dünyasına uygulanır.\n" +"Daha az ayrıntılı görüntü karşılığında önemli bir performans artışı " +"sağlamalıdır.\n" +"Daha yüksek değerler daha az ayrıntılı bir görüntü sağlar." #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" @@ -6390,7 +6387,7 @@ msgstr "Uçurumların dikliğini değiştirir." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "Dikey tırmanma hızı, saniyede düğümler halinde." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6448,7 +6445,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "Yürüme ve uçuş hızı, saniyede düğümler halinde." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6456,7 +6453,7 @@ msgstr "Yürüme hızı" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." -msgstr "" +msgstr "Hızlı modda yürüme, uçma ve tırmanma hızı, saniyede düğümler halinde." #: src/settings_translation_file.cpp msgid "Water level" @@ -6483,19 +6480,16 @@ msgid "Waving water" msgstr "Dalgalanan su" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave height" -msgstr "Dalgalanan su yüksekliği" +msgstr "Sallanan su dalgası yüksekliği" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave speed" -msgstr "Dalgalanan su hızı" +msgstr "Sallanan su dalgası hızı" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wavelength" -msgstr "Dalgalanan su uzunluğu" +msgstr "Sallanan su dalga boyu" #: src/settings_translation_file.cpp msgid "" From b3a9d607c49225f389520f79e2711c58d9bb877a Mon Sep 17 00:00:00 2001 From: monolifed Date: Sun, 27 Oct 2019 21:50:06 +0000 Subject: [PATCH 030/279] Translated using Weblate (Turkish) Currently translated at 100.0% (1274 of 1274 strings) --- po/tr/minetest.po | 114 +++++++++++++++++++++++----------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/po/tr/minetest.po b/po/tr/minetest.po index 49f1deb7d..125274059 100644 --- a/po/tr/minetest.po +++ b/po/tr/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Turkish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-10-27 21:50+0000\n" -"Last-Translator: Oguz Ersen \n" +"PO-Revision-Date: 2019-10-29 11:53+0000\n" +"Last-Translator: monolifed \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9.1-dev\n" +"X-Generator: Weblate 3.9.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -24,7 +24,7 @@ msgstr "Öldün" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" -msgstr "Lua komut dosyasında bir hata oluştu:" +msgstr "Lua betiğinde bir hata oluştu:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -855,7 +855,7 @@ msgstr "Lütfen bir ad seçin!" #: src/client/clientlauncher.cpp msgid "Provided password file failed to open: " -msgstr "Sağlanan parola dosyası açılamadı: " +msgstr "Sağlanan şifre dosyası açılamadı: " #: src/client/clientlauncher.cpp msgid "Provided world path doesn't exist: " @@ -1552,7 +1552,7 @@ msgstr "Kendiliğinden-ileri" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Automatic jumping" -msgstr "Kendilinden zıplama" +msgstr "Kendiliğinden zıplama" #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" @@ -1680,7 +1680,7 @@ msgstr "Hayalet aç/kapa" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle pitchmove" -msgstr "Pitchmove'u aç/kapa" +msgstr "Eğim hareketi aç/kapa" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1850,7 +1850,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "Mapchunk başına zindan sayısını belirleyen 3B gürültü." +msgstr "Harita yığını başına zindan sayısını belirleyen 3B gürültü." #: src/settings_translation_file.cpp msgid "" @@ -1906,7 +1906,7 @@ msgstr "Havada hızlanma" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "Yerçekimi ivmesi, saniyede saniye başına düğüm sayısı halinde." +msgstr "Yerçekimi hızlanması, saniye başına nod cinsinden." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -1980,7 +1980,7 @@ msgstr "Ortam oklüzyon gama" #: src/settings_translation_file.cpp msgid "Amount of messages a player may send per 10 seconds." -msgstr "Bir oyuncunun her 10 saniyede gönderebileceği ileti sayısı." +msgstr "Bir oyuncunun her 10 saniyede bir gönderebileceği ileti sayısı." #: src/settings_translation_file.cpp msgid "Amplifies the valleys." @@ -2069,7 +2069,7 @@ msgstr "Ekran boyutunu hatırla" #: src/settings_translation_file.cpp msgid "Autoscaling mode" -msgstr "Kendilinden boyutlandırma kipi" +msgstr "Kendiliğinden boyutlandırma kipi" #: src/settings_translation_file.cpp msgid "Backward key" @@ -2142,10 +2142,11 @@ msgid "" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Düğümlerde kamera 'düğüm düzlemine yakın' uzaklığı, 0 ile 0,5 arasında.\n" +"Nodlar arasındaki, kamera 'yakın kırpma düzlem' uzaklığı, 0 ile 0,5 arasında." +"\n" "Çoğu kullanıcının bunu değiştirmesi gerekmez.\n" "Artırma, zayıf GPU'larda görüntü bozulmalarını azaltabilir.\n" -"0,1 = Varsayılan, 0,25 = Zayıf tabletler için iyi değer." +"0,1 = Öntanımlı, 0,25 = Zayıf tabletler için iyi değer." #: src/settings_translation_file.cpp msgid "Camera smoothing" @@ -2232,7 +2233,7 @@ msgstr "Sohbet ileti sayısı sınırı" #: src/settings_translation_file.cpp msgid "Chat message format" -msgstr "Sohbet mesajı formatı" +msgstr "Sohbet ileti biçimi" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2409,7 +2410,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "Sıvıdaki batma hızını kontrol eder." +msgstr "Sıvıdaki batma hızını denetler." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2475,7 +2476,7 @@ msgstr "Hata ayıklama bilgisi açma/kapama tuşu" #: src/settings_translation_file.cpp msgid "Debug log file size threshold" -msgstr "Hata ayıklama log dosyası boyutu eşiği" +msgstr "Hata ayıklama günlük dosyası boyut eşiği" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -2511,7 +2512,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Default password" -msgstr "Öntanımlı parola" +msgstr "Öntanımlı şifre" #: src/settings_translation_file.cpp msgid "Default privileges" @@ -2628,7 +2629,7 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" -"Kullanılmıyor, bunun yerine biome tanımlarını kullanarak mağara sıvılarını " +"Kullanılmıyor, bunun yerine biyom tanımlarını kullanarak mağara sıvılarını " "tanımlayın ve bulun.\n" "Büyük mağaralarda lav üst sınırının Y'si." @@ -2658,7 +2659,7 @@ msgid "" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" "Çöller, np_biome bu değeri aştığında gerçekleşir.\n" -"'Snowbiomes' bayrağı etkinleştirildiğinde, bu dikkate alınmaz." +"'Snowbiomes' bayrağı etkinleştirildiğinde, bu yok sayılır." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -3060,8 +3061,7 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" -"Oyuncu sohbet mesajlarının formatı. Aşağıdaki stringler geçerli yer " -"tutuculardır:\n" +"Oyuncu sohbet ileti biçimi. Aşağıdaki dizeler geçerli yer tutuculardır:\n" "@name, @message, @timestamp (isteğe bağlı)" #: src/settings_translation_file.cpp @@ -3318,24 +3318,24 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" -"Atlarken veya düşerken havada yatay hızlanma,\n" -"saniyede saniye başına düğüm sayısı halinde." +"Zıplarken veya düşerken havada yatay hızlanma,\n" +"saniye başına nod cinsinden." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" -"Hızlı modda yatay ve dikey hızlanma,\n" -"saniyede saniye başına düğüm sayısı halinde." +"Hızlı kipte yatay ve dikey hızlanma,\n" +"saniye başına nod cinsinden." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" -"Zeminde veya tırmanırken yatay ve dikey hızlanma,\n" -"saniyede saniye başına düğüm sayısı halinde." +"Yerdeyken veya tırmanırken yatay ve dikey hızlanma,\n" +"saniye başına nod cinsinden." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3659,7 +3659,7 @@ msgstr "Ses yükseltme tuşu" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "Atlama sırasında ilk dikey hız, saniyede düğümler halinde." +msgstr "Zıplarken ilk dikey hız, saniye başına nod cinsinden." #: src/settings_translation_file.cpp msgid "" @@ -4533,7 +4533,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Kick players who sent more than X messages per 10 seconds." -msgstr "10 saniyede X iletiden çok gönderen oyuncuları at." +msgstr "10 saniyede bir X iletiden çok gönderen oyuncuları at." #: src/settings_translation_file.cpp msgid "Lake steepness" @@ -4773,8 +4773,8 @@ msgid "" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Mapgen düzlüğüne özgü harita oluşturma özellikleri.\n" -"'terrain' fraktal olmayan arazi oluşumunu sağlar:\n" +"Mapgen düz'e özgü harita üretim değerleri.\n" +"'terrain' fraktal olmayan arazi üretimini etkinleştirir:\n" "okyanus, adalar ve yeraltı." #: src/settings_translation_file.cpp @@ -4796,11 +4796,11 @@ msgid "" "When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" "the 'jungles' flag is ignored." msgstr "" -"Mapgen v6'ya özgü harita oluşturma özellikleri.\n" -"'snowbiomes' bayrağı yeni 5 biome sistemini etkinleştirir.\n" -"'snowbiomes' bayrağı etkinleştirildiğinde, ormanlar otomatik olarak " +"Mapgen v6'ya özgü harita üretim değerleri.\n" +"'snowbiomes' bayrağı yeni 5 biyom sistemini etkinleştirir.\n" +"'snowbiomes' bayrağı etkinleştirildiğinde, ormanlar kendiliğinden " "etkinleştirilir ve\n" -"'jungles' bayrağı dikkate alınmaz." +"'jungles' bayrağı yok sayılır." #: src/settings_translation_file.cpp msgid "" @@ -4856,7 +4856,7 @@ msgstr "Mapgen Fraktal" #: src/settings_translation_file.cpp msgid "Mapgen Fractal specific flags" -msgstr "Mapgen Fractal'a özgü bayraklar" +msgstr "Mapgen Fraktal'a özgü bayraklar" #: src/settings_translation_file.cpp msgid "Mapgen V5" @@ -4944,7 +4944,7 @@ msgid "" "high speed." msgstr "" "Maksimum sıvı direnci. Yüksek hızda sıvıya girerken yavaşlamayı\n" -"kontrol eder." +"denetler." #: src/settings_translation_file.cpp msgid "" @@ -5156,10 +5156,10 @@ msgid "" "Current mapgens in a highly unstable state:\n" "- The optional floatlands of v7 (disabled by default)." msgstr "" -"Yeni bir dünya oluştururken kullanılacak harita üreticisinin adı.\n" +"Yeni bir dünya oluştururken kullanılacak harita üretecinin adı.\n" "Ana menüde bir dünya oluşturmak bunu geçersiz kılacaktır.\n" -"Aşırı dengesiz durumdaki mevcut harita oluşturucular:\n" -"- İsteğe bağlı v7 yüzer alanları (varsayılan olarak devre dışıdır)." +"Şu anda aşırı dengesiz durumdaki harita üreteçleri:\n" +"- v7'nin isteğe bağlı yüzenkaraları (öntanımlı olarak devre dışı)." #: src/settings_translation_file.cpp msgid "" @@ -5179,7 +5179,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Near clipping plane" -msgstr "Kırpma düzlemi yakınında" +msgstr "Yakın kırpma düzlemi" #: src/settings_translation_file.cpp msgid "Network" @@ -5246,20 +5246,20 @@ msgid "" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" "Kullanılacak emerge iş parçacıklarının sayısı.\n" -"UYARI: Şu anda 'num_emerge_threads' 1'den büyük olduğunda çökmelere neden\n" -"olabilecek birden fazla hata var. Bu uyarı kaldırılıncaya kadar, bu değerin " -"varsayılan\n" -"'1' olarak ayarlanması şiddetle önerilir.\n" +"UYARI: Şu anda 'num_emerge_threads' 1'den büyük olduğunda çökmelere\n" +"neden olabilecek birden fazla hata var. Bu uyarı kaldırılıncaya kadar, bu " +"değerin\n" +"öntanımlı '1' olarak ayarlanması şiddetle önerilir.\n" "Değer 0:\n" -"- Otomatik seçim. Ortaya çıkan emerge iş parçacıklarının sayısı\n" +"- Kendiliğinden seçim. Ortaya çıkan emerge iş parçacıklarının sayısı\n" "- alt limit 1 olmak üzere 'işlemci sayısı - 2' olacaktır.\n" "Başka bir değer:\n" "- Emerge iş parçacıklarının sayısını, alt sınır 1 olmak üzere belirtir.\n" -"UYARI: Emerge iş parçacığı sayısının arttırılması, motor mapgen hızını " +"UYARI: Emerge iş parçacığı sayısının artırılması, motor mapgen hızını " "arttırır, ancak\n" "bu, özellikle tek oyunculu ve/veya Lua kodunu 'on_generated' çalıştırırken,\n" -"diğer işlemlere müdahale ederek oyun performansına zarar verebilir.\n" -"Birçok kullanıcı için optimum ayar '1' olabilir." +"diğer işlemlere etki ederek oyun performansına zarar verebilir.\n" +"Birçok kullanıcı için en iyi ayar '1' olabilir." #: src/settings_translation_file.cpp msgid "" @@ -5887,7 +5887,7 @@ msgstr "Sızma hızı" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "Sinsice ilerleme hızı, saniyede düğümler halinde." +msgstr "Sızma hızı, saniye başına nod cinsinden." #: src/settings_translation_file.cpp msgid "Sound" @@ -5951,7 +5951,7 @@ msgstr "Paralaks gücü." #: src/settings_translation_file.cpp msgid "Strict protocol checking" -msgstr "Sıkı protokol denetleme" +msgstr "Katı protokol denetleme" #: src/settings_translation_file.cpp msgid "Strip color codes" @@ -6387,7 +6387,7 @@ msgstr "Uçurumların dikliğini değiştirir." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "Dikey tırmanma hızı, saniyede düğümler halinde." +msgstr "Dikey tırmanma hızı, saniye başına nod cinsinden." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6445,7 +6445,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "Yürüme ve uçuş hızı, saniyede düğümler halinde." +msgstr "Yürüme ve uçma hızı, saniye başına nod cinsinden." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6453,7 +6453,7 @@ msgstr "Yürüme hızı" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." -msgstr "Hızlı modda yürüme, uçma ve tırmanma hızı, saniyede düğümler halinde." +msgstr "Hızlı kipte yürüme, uçma ve tırmanma hızı, saniye başına nod cinsinden." #: src/settings_translation_file.cpp msgid "Water level" @@ -6481,15 +6481,15 @@ msgstr "Dalgalanan su" #: src/settings_translation_file.cpp msgid "Waving water wave height" -msgstr "Sallanan su dalgası yüksekliği" +msgstr "Dalgalanan su dalga yüksekliği" #: src/settings_translation_file.cpp msgid "Waving water wave speed" -msgstr "Sallanan su dalgası hızı" +msgstr "Dalgalanan su dalga hızı" #: src/settings_translation_file.cpp msgid "Waving water wavelength" -msgstr "Sallanan su dalga boyu" +msgstr "Dalgalanan su dalga boyu" #: src/settings_translation_file.cpp msgid "" From 0e52b78590189ec963e0521c6c768a2839dcd11d Mon Sep 17 00:00:00 2001 From: nautilusx Date: Sun, 27 Oct 2019 13:34:27 +0000 Subject: [PATCH 031/279] Translated using Weblate (German) Currently translated at 100.0% (1274 of 1274 strings) --- po/de/minetest.po | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/po/de/minetest.po b/po/de/minetest.po index 3e6d79408..0d85c240d 100644 --- a/po/de/minetest.po +++ b/po/de/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: German (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-10-29 11:53+0000\n" +"Last-Translator: nautilusx \n" "Language-Team: German \n" "Language: de\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.9.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Sie sind gestorben" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Es ist ein Fehler in einem Lua-Skript aufgetreten, z.B. in einer Mod:" +msgstr "In einem Lua-Skript ist ein Fehler aufgetreten:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -120,27 +119,24 @@ msgid "Mod:" msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Optionale Abhängigkeiten:" +msgstr "Keine (optionalen) Abhängigkeiten" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Keine Spielbeschreibung verfügbar." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Keine Abhängigkeiten." +msgstr "Keine harten Abhängigkeiten" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Keine Modpackbeschreibung verfügbar." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Optionale Abhängigkeiten:" +msgstr "Keine optionalen Abhängigkeiten" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" From d215b7a10e191d92200c781150c9883b23b95446 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Mon, 28 Oct 2019 00:34:23 +0000 Subject: [PATCH 032/279] Translated using Weblate (German) Currently translated at 100.0% (1274 of 1274 strings) --- po/de/minetest.po | 148 +++++++++++++++++++++++----------------------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/po/de/minetest.po b/po/de/minetest.po index 0d85c240d..07332f945 100644 --- a/po/de/minetest.po +++ b/po/de/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" "PO-Revision-Date: 2019-10-29 11:53+0000\n" -"Last-Translator: nautilusx \n" +"Last-Translator: Wuzzy \n" "Language-Team: German \n" "Language: de\n" @@ -781,9 +781,8 @@ msgid "Waving Leaves" msgstr "Wehende Blätter" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Wehende Blöcke" +msgstr "Wasserwellen" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1528,7 +1527,7 @@ msgid "Register and Join" msgstr "Registrieren und beitreten" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1536,9 +1535,10 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Sie sind im Begriff, dem Server an %1$s mit dem Namen „%2$s“ für das erste " -"Mal beizutreten. Falls Sie fortfahren, wird ein neues Benutzerkonto mit " -"Ihren Anmeldedaten auf diesem Server erstellt.\n" +"Sie sind im Begriff, dem Server mit dem Namen „%s“ für das erste Mal " +"beizutreten.\n" +"Falls Sie fortfahren, wird ein neues Benutzerkonto mit Ihren Anmeldedaten " +"auf diesem Server erstellt.\n" "Bitte geben Sie Ihr Passwort erneut ein und klicken Sie auf „Registrieren " "und beitreten“, um die Erstellung des Benutzerkontos zu bestätigen oder " "klicken Sie auf „Abbrechen“ zum Abbrechen." @@ -1686,9 +1686,8 @@ msgid "Toggle noclip" msgstr "Geistmodus" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "Chat an/aus" +msgstr "Nickbewegung" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1826,9 +1825,8 @@ msgstr "" "2-D-Rauschen, welches die Größe/Vorkommen von Stufenbergketten steuert." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that locates the river valleys and channels." -msgstr "2-D-Rauschen, welches die Form/Größe von sanften Hügeln steuert." +msgstr "2-D-Rauschen, welches den Ort der Flusstäler und -kanäle regelt." #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1868,7 +1866,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "3-D-Rauschen, welches die Anzahl der Verliese je Mapchunk festlegt." #: src/settings_translation_file.cpp msgid "" @@ -1932,7 +1930,7 @@ msgstr "Beschleunigung in der Luft" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Beschleunigung der Schwerkraft, in Blöcken pro Sekunde pro Sekunde." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2160,18 +2158,16 @@ msgid "Bumpmapping" msgstr "Bumpmapping" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" "Most users will not need to change this.\n" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Distanz von der Kamera zur vorderen Clippingebene in Blöcken,\n" -"zwischen 0 und 0.5.\n" +"Distanz von der Kamera zur vorderen Clippingebene in Blöcken, zwischen 0 und " +"0.5.\n" "Die meisten Benutzer müssen dies nicht ändern.\n" -"Eine Erhöhung dieses Wertes kann Artefakte auf schwächeren GPUs\n" -"reduzieren.\n" +"Eine Erhöhung dieses Wertes kann Artefakte auf schwächeren GPUs reduzieren.\n" "0.1 = Standard, 0.25 = Guter Wert für schwächere Tablets." #: src/settings_translation_file.cpp @@ -2259,9 +2255,8 @@ msgid "Chat message count limit" msgstr "Max. Anzahl Chatnachrichten" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "Max. Chatnachrichtenlänge" +msgstr "Chatnachrichtenformat" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2444,7 +2439,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Regelt die Sinkgeschwindigkeit in Flüssigkeiten." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2508,9 +2503,8 @@ msgid "Debug info toggle key" msgstr "Taste zum Umschalten der Debug-Info" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Wüstenrauschschwellwert" +msgstr "Debugprotokolldateigrößengrenze" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -2523,6 +2517,7 @@ msgstr "Leiser-Taste" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." msgstr "" +"Dies verringern, um den Bewegungswiderstand in Flüssigkeiten zu erhöhen." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2619,9 +2614,8 @@ msgid "Defines the base ground level." msgstr "Definiert die Basisgeländehöhe." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "Definiert die Basisgeländehöhe." +msgstr "Definiert die Tiefe des Flusskanals." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." @@ -2630,14 +2624,12 @@ msgstr "" "in Kartenblöcken (0 = unbegrenzt)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "Definiert große Flusskanalformationen." +msgstr "Definiert die Breite des Flusskanals." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "Definiert Gebiete, in denen Bäume Äpfel tragen." +msgstr "Definiert die Breite des Flusstals." #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2670,6 +2662,9 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" +"Misbilligte Einstellung. Definieren/Finden Sie statdessen " +"Höhlenflüssigkeiten in Biomdefinitionen.\n" +"Y der Obergrenze von Lava in großen Höhlen." #: src/settings_translation_file.cpp msgid "Depth below which you'll find giant caverns." @@ -2692,13 +2687,12 @@ msgid "Desert noise threshold" msgstr "Wüstenrauschschwellwert" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Deserts occur when np_biome exceeds this value.\n" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" "Wüsten treten auf, wenn np_biome diesen Wert überschreitet.\n" -"Falls das neue Biomsystem aktiviert ist, wird dies ignoriert." +"Falls das „snowbiomes“-Flag aktiviert ist, wird dies ignoriert." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -2745,9 +2739,8 @@ msgid "Dungeon minimum Y" msgstr "Verlies: Min. Y" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Verlies: Min. Y" +msgstr "Verliesrauschen" #: src/settings_translation_file.cpp msgid "" @@ -3117,6 +3110,9 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Format der Spielerchatnachrichten. Die folgenden Zeichenketten sind gültige " +"Platzhalter:\n" +"@name, @message, @timestamp (optional)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3385,18 +3381,24 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Horizontale Beschleunigung in der Luft beim Springen oder Fallen,\n" +"in Blöcken pro Sekunde pro Sekunde." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Horizontale und vertikale Beschleunigung im Schnellmodus,\n" +"in Blöcken pro Sekunde pro Sekunde." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"Horizontale und vertikale Beschleunigung auf dem Boden oder beim Klettern,\n" +"in Blöcken pro Sekunde pro Sekunde." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3691,6 +3693,11 @@ msgid "" "deleting an older debug.txt.1 if it exists.\n" "debug.txt is only moved if this setting is positive." msgstr "" +"Falls die Dateigröße von debug.txt die Anzahl an in dieser Einstellung " +"festgelegten Megabytes überschreitet, wenn die Datei geöffnet wird, wird sie " +"nach debug.txt.1 verschoben, wobei eine ältere debug.txt.1 gelöscht wird, " +"falls sie existiert.\n" +"debug.txt wird nur verschoben, falls diese Einstellung positiv ist." #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." @@ -3730,6 +3737,7 @@ msgstr "Lauter-Taste" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." msgstr "" +"Anfängliche vertikale Geschwindigkeit beim Springen, in Blöcken pro Sekunde." #: src/settings_translation_file.cpp msgid "" @@ -4767,9 +4775,8 @@ msgid "Liquid queue purge time" msgstr "Aufräumzeit für Flüssigkeitswarteschlange" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Flüssigkeitssinkgeschwindigkeit" +msgstr "Flüssigkeitsabsinken" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." @@ -4853,14 +4860,14 @@ msgstr "" "„altitude_dry“: Reduziert Luftfeuchte mit der Höhe." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen flat.\n" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Kartengenerierungsattribute speziell für den Kartengenerator v7.\n" -"„ridges“ aktiviert die Flüsse." +"Kartengenerierungsattribute speziell für den flachen Kartengenerator.\n" +"„terrain“ aktiviert die Erzeugung von nicht-fraktalem Gelände:\n" +"Ozean, Inseln und der Untergrund." #: src/settings_translation_file.cpp msgid "" @@ -4875,7 +4882,6 @@ msgid "Map generation attributes specific to Mapgen v5." msgstr "Kartengenerierungsattribute speziell für den Kartengenerator v5." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen v6.\n" "The 'snowbiomes' flag enables the new 5 biome system.\n" @@ -4884,9 +4890,8 @@ msgid "" msgstr "" "Kartengenerierungsattribute speziell für den Kartengenerator v6.\n" "Das Flag „snowbiomes“ aktiviert das neue 5-Biom-System.\n" -"Falls das neue Biomsystem aktiviert ist, werden Dschungel automatisch " -"aktiviert\n" -"und das „jungles“-Flag wird ignoriert." +"Falls das „snowbiomes“-Flag aktiviert ist, werden Dschungel automatisch " +"aktiviert und das „jungles“-Flag wird ignoriert." #: src/settings_translation_file.cpp msgid "" @@ -4941,9 +4946,8 @@ msgid "Mapgen Fractal" msgstr "Fraktale-Kartengenerator" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal specific flags" -msgstr "Flags spezifisch für flachen Kartengenerator" +msgstr "Flags spezifisch für Fraktale-Kartengenerator" #: src/settings_translation_file.cpp msgid "Mapgen V5" @@ -5030,6 +5034,8 @@ msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Maximaler Flüssigkeitswiderstand. Regelt die Abbremsung beim Eintauchen in " +"eine Flüssigkeit bei hoher Geschwindigkeit." #: src/settings_translation_file.cpp msgid "" @@ -5247,7 +5253,6 @@ msgid "Mute sound" msgstr "Ton verstummen" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this.\n" @@ -5256,11 +5261,8 @@ msgid "" msgstr "" "Name des Kartengenerators, der für neue Welten benutzt werden soll.\n" "Wird eine Welt im Hauptmenü erstellt, wird diese Einstellung überschrieben.\n" -"Momentan stabile Kartengeneratoren:\n" -"v5, v6, v7 (außer Schwebeländer), singlenode.\n" -"„stabil“ heißt, dass die Geländeform in einer existierenden Welt in Zukunft\n" -"nicht geändert wird. Beachten Sie, dass Biome von Spielen definiert werden\n" -"und sich immer noch ändern können." +"Aktuelle Kartengeneratoren in einem sehr instabilem Zustand:\n" +"- Die optionalen Schwebeländer von v7 (standardmäßig deaktiviert)." #: src/settings_translation_file.cpp msgid "" @@ -5282,7 +5284,6 @@ msgstr "" "Spieler angezeigt." #: src/settings_translation_file.cpp -#, fuzzy msgid "Near clipping plane" msgstr "Vordere Clippingebene" @@ -5336,7 +5337,6 @@ msgid "Number of emerge threads" msgstr "Anzahl der Erzeugerthreads" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Number of emerge threads to use.\n" "WARNING: Currently there are multiple bugs that may cause crashes when\n" @@ -5353,12 +5353,16 @@ msgid "" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" "Anzahl der zu verwendeten Erzeugerthreads.\n" +"ACHTUNG: Momentan gibt es mehrere Bugs, die Abstürze verursachen können,\n" +"wenn „num_emerge_threads“ größer als 1 ist. Bis diese Warnung entfernt ist,\n" +"wird es stark empfohlen, diesen Wert auf den Standardwert „1“ zu setzen.\n" +"Wert 0:\n" "Leerer Wert oder 0:\n" "- Automatische Wahl. Die Anzahl der Erzeugerthreads wird\n" "- „Anzahl der Prozessoren - 2“ sein, mit einer Untergrenze von 1.\n" "Jeder andere Wert:\n" "- Legt die Anzahl der Erzeugerthreads fest, mit einer Untergrenze von 1.\n" -"Achtung: Das Erhöhen der Anzahl der Erzeugerthreads erhöht die\n" +"ACHTUNG: Das Erhöhen der Anzahl der Erzeugerthreads erhöht die\n" "Geschwindigkeit des Engine-Kartengenerators, aber dies könnte die Spiel-\n" "performanz beeinträchtigen, da mit anderen Prozessen konkurriert wird,\n" "das ist besonders im Einzelspielermodus der Fall und/oder, wenn Lua-Code\n" @@ -5637,14 +5641,12 @@ msgid "Rightclick repetition interval" msgstr "Rechtsklick-Wiederholungsrate" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel depth" -msgstr "Flusstiefe" +msgstr "Flusskanaltiefe" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel width" -msgstr "Flusstiefe" +msgstr "Flusskanalbreite" #: src/settings_translation_file.cpp msgid "River depth" @@ -5659,9 +5661,8 @@ msgid "River size" msgstr "Flussgröße" #: src/settings_translation_file.cpp -#, fuzzy msgid "River valley width" -msgstr "Flusstiefe" +msgstr "Flusstalbreite" #: src/settings_translation_file.cpp msgid "Rollback recording" @@ -6007,7 +6008,7 @@ msgstr "Schleichgeschwindigkeit" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "Schleichgeschwindigkeit, in Blöcken pro Sekunde." #: src/settings_translation_file.cpp msgid "Sound" @@ -6405,7 +6406,6 @@ msgid "Undersampling" msgstr "Unterabtastung" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Undersampling is similar to using a lower screen resolution, but it applies\n" "to the game world only, keeping the GUI intact.\n" @@ -6413,11 +6413,12 @@ msgid "" "image.\n" "Higher values result in a less detailed image." msgstr "" -"Unterabtastung ist ähnlich der Verwendung einer niedrigeren Bildschirm-\n" -"auflösung, aber sie wird nur auf die Spielwelt angewandt, während die GUI\n" -"intakt bleibt.\n" -"Dies sollte einen beträchtlichen Performanzschub auf Kosten einer weniger\n" -"detaillierten Grafik geben." +"Unterabtastung ist ähnlich der Verwendung einer niedrigeren " +"Bildschirmauflösung, aber sie wird nur auf die Spielwelt angewandt, während " +"das GUI intakt bleibt.\n" +"Dies sollte einen beträchtlichen Performanzschub auf Kosten einer weniger " +"detaillierten Grafik geben.\n" +"Hohe Werte führen zu einer weniger detaillierten Grafik." #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" @@ -6534,7 +6535,7 @@ msgstr "Varriiert die Steilheit von Klippen." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "Vertikale Klettergeschwindigkeit, in Blöcken pro Sekunde." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6592,7 +6593,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "Geh- und Fluggeschwindigkeit, in Blöcken pro Sekunde." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6601,6 +6602,8 @@ msgstr "Gehgeschwindigkeit" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." msgstr "" +"Geh-, Flug- und Klettergeschwindigkeit im Schnellmodus, in Blöcken pro " +"Sekunde." #: src/settings_translation_file.cpp msgid "Water level" @@ -6627,19 +6630,16 @@ msgid "Waving water" msgstr "Wasserwellen" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave height" -msgstr "Wasserwellenhöhe" +msgstr "Wasserwellen: Wellenhöhe" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave speed" -msgstr "Wasserwellengeschwindigkeit" +msgstr "Wasserwellen: Wellengeschwindigkeit" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wavelength" -msgstr "Wasserwellenlänge" +msgstr "Wasserwellen: Wellenlänge" #: src/settings_translation_file.cpp msgid "" From 4814195dc40c63e2eee68982673fa2775aeb904e Mon Sep 17 00:00:00 2001 From: BreadW Date: Sun, 27 Oct 2019 13:31:15 +0000 Subject: [PATCH 033/279] Translated using Weblate (Japanese) Currently translated at 100.0% (1274 of 1274 strings) --- po/ja/minetest.po | 184 +++++++++++++++++++++------------------------- 1 file changed, 84 insertions(+), 100 deletions(-) diff --git a/po/ja/minetest.po b/po/ja/minetest.po index 50662c777..c1fb30964 100644 --- a/po/ja/minetest.po +++ b/po/ja/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Japanese (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-10-29 11:53+0000\n" +"Last-Translator: BreadW \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.9.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "死んでしまった" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "ModなどのLuaスクリプトでエラーが発生しました:" +msgstr "Luaスクリプトでエラーが発生しました:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -87,7 +86,7 @@ msgstr "キャンセル" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Dependencies:" -msgstr "依存:" +msgstr "依存関係:" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" @@ -118,27 +117,24 @@ msgid "Mod:" msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "任意:" +msgstr "(任意)依存関係なし" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "ゲームの説明がありません。" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "依存なし。" +msgstr "依存関係なし" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Modパックの説明がありません。" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "任意:" +msgstr "任意依存関係なし" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -780,9 +776,8 @@ msgid "Waving Leaves" msgstr "揺れる葉" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "揺れるノード" +msgstr "揺れる液体" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1527,7 +1522,7 @@ msgid "Register and Join" msgstr "参加登録" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1535,10 +1530,9 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"あなたはサーバ %1$s に名前 \"%2$s\" で初めて参加しようとしています。続行する" -"場合、\n" -"あなたの名前とパスワードが新しいアカウントとしてこのサーバに作成されます。\n" -"あなたのパスワードを再入力し参加登録をクリックしてアカウント作成するか、\n" +"あなたはこのサーバ に名前 \"%s\" で初めて参加しようとしています。\n" +"続行する場合、あなたの情報が新しいアカウントとしてこのサーバに作成されます。\n" +"あなたのパスワードを再入力してから '参加登録' をクリックしてアカウント作成するか、\n" "キャンセルをクリックして中断してください。" #: src/gui/guiFormSpecMenu.cpp @@ -1684,9 +1678,8 @@ msgid "Toggle noclip" msgstr "すり抜けモード切替" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "チャット表示切替" +msgstr "ピッチ移動モード切替" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1761,7 +1754,7 @@ msgstr "" "望みの点を (0,0) に移動して適切なスポーンポイントを作成したり、\n" "'スケール'を増やして望みの点に'ズームイン'できるようにするために\n" "使用できます。\n" -"規定では規定のパラメータを持つマンデルブロー集合のための適切な\n" +"既定では既定のパラメータを持つマンデルブロー集合のための適切な\n" "スポーンポイントに合わせて調整されます、他の状況で変更を必要とする\n" "かもしれません。\n" "範囲はおよそ -2~2 です。ノードのオフセットに 'scale' を掛けます。" @@ -1781,7 +1774,7 @@ msgstr "" "これらの数字は非常に大きくすることができ、フラクタルは\n" "ワールドの中に収まる必要はありません。\n" "これらを増加してフラクタルの細部を'ズーム'します。\n" -"規定値は島に適した垂直方向に押しつぶされた形状のためのもので、\n" +"既定値は島に適した垂直方向に押しつぶされた形状のためのもので、\n" "加工していないの形状のためには3つの数字をすべて等しく設定します。" #: src/settings_translation_file.cpp @@ -1817,9 +1810,8 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges." msgstr "ステップマウンテン地帯の大きさ/出現を制御する2Dノイズ。" #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that locates the river valleys and channels." -msgstr "ゆるやかな丘の形状/大きさを制御する2Dノイズ。" +msgstr "川の谷と水路を特定する2Dノイズ。" #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1855,7 +1847,7 @@ msgstr "山の張り出し、崖などの3Dノイズ。通常は小さな変化 #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "マップチャンクごとのダンジョンの数を決定する3Dノイズ。" #: src/settings_translation_file.cpp msgid "" @@ -1911,7 +1903,7 @@ msgstr "空中での加速" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "重力加速度、1秒あたりのノード数/秒です。" #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2135,17 +2127,16 @@ msgid "Bumpmapping" msgstr "バンプマッピング" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" "Most users will not need to change this.\n" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"0~0.5の間のノードでのカメラと近くの面の距離\n" +"カメラと '近くのクリッピング面' の距離、0~0.5の間のノード数です。\n" "ほとんどのユーザーはこれを変更する必要はありません。\n" "増加すると、低性能GPUでの画像の乱れを減らすことができます。\n" -"0.1 = 規定値、0.25 = 低性能タブレットに適した値です。" +"0.1 = 既定値、0.25 = 低性能タブレットに適した値です。" #: src/settings_translation_file.cpp msgid "Camera smoothing" @@ -2231,9 +2222,8 @@ msgid "Chat message count limit" msgstr "チャットメッセージ数の限度" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "チャットメッセージの最大長" +msgstr "チャットメッセージの形式" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2410,7 +2400,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "液体中の沈降速度を制御します。" #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2473,9 +2463,8 @@ msgid "Debug info toggle key" msgstr "デバッグ情報切り替えキー" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "砂漠ノイズのしきい値" +msgstr "デバッグログファイルのサイズのしきい値" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -2487,7 +2476,7 @@ msgstr "音量を下げるキー" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." -msgstr "" +msgstr "この値を小さくすると、移動時の液体抵抗が増加します。" #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2495,7 +2484,7 @@ msgstr "専用サーバステップ" #: src/settings_translation_file.cpp msgid "Default acceleration" -msgstr "規定の加速度" +msgstr "既定の加速度" #: src/settings_translation_file.cpp msgid "Default game" @@ -2506,7 +2495,7 @@ msgid "" "Default game when creating a new world.\n" "This will be overridden when creating a world from the main menu." msgstr "" -"新しいワールドを作成する際の規定のゲーム。\n" +"新しいワールドを作成する際の既定のゲーム。\n" "メインメニューからワールドを作成するときにこれは上書きされます。" #: src/settings_translation_file.cpp @@ -2578,23 +2567,20 @@ msgid "Defines the base ground level." msgstr "基準地上レベルを定義します。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "基準地上レベルを定義します。" +msgstr "河道の深さを定義します。" #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." msgstr "最大プレイヤー転送距離をブロック数で定義します(0 = 無制限)。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "大規模な河川構造を定義します。" +msgstr "河道の幅を定義します。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "木にリンゴがある地域を定義します。" +msgstr "川の谷の幅を定義します。" #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2625,6 +2611,8 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" +"廃止予定、代わりにバイオーム定義を使用して洞窟の液体を定義および特定します。\n" +"大きな洞窟内の溶岩のY高さ上限。" #: src/settings_translation_file.cpp msgid "Depth below which you'll find giant caverns." @@ -2645,13 +2633,12 @@ msgid "Desert noise threshold" msgstr "砂漠ノイズのしきい値" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Deserts occur when np_biome exceeds this value.\n" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" "砂漠は np_biome がこの値を超えたときに出現します。\n" -"新しいバイオームシステムを有効にすると、これは無視されます。" +"'snowbiomes' フラグを有効にすると、これは無視されます。" #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -2698,9 +2685,8 @@ msgid "Dungeon minimum Y" msgstr "ダンジョンの最小Y" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "ダンジョンの最小Y" +msgstr "ダンジョンノイズ" #: src/settings_translation_file.cpp msgid "" @@ -3053,6 +3039,8 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"プレーヤーのチャットメッセージの形式。以下の文字列は有効なプレースホルダです。:\n" +"@name, @message, @timestamp (任意)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3060,7 +3048,7 @@ msgstr "スクリーンショットのファイル形式です。" #: src/settings_translation_file.cpp msgid "Formspec Default Background Color" -msgstr "フォームスペックの規定の背景色" +msgstr "フォームスペックの既定の背景色" #: src/settings_translation_file.cpp msgid "Formspec Default Background Opacity" @@ -3076,11 +3064,11 @@ msgstr "フォームスペックのフルスクリーンの背景不透明度" #: src/settings_translation_file.cpp msgid "Formspec default background color (R,G,B)." -msgstr "フォームスペックの規定の背景色 (R,G,B)。" +msgstr "フォームスペックの既定の背景色 (R,G,B)。" #: src/settings_translation_file.cpp msgid "Formspec default background opacity (between 0 and 255)." -msgstr "フォームスペックの規定の背景不透明度 (0~255の間)。" +msgstr "フォームスペックの既定の背景不透明度 (0~255の間)。" #: src/settings_translation_file.cpp msgid "Formspec full-screen background color (R,G,B)." @@ -3232,9 +3220,8 @@ msgid "" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" "廃止予定のLua API呼び出しの処理:\n" -"- legacy: 古い振る舞いを模倣する(試みる) (リリースの規定値)。\n" -"- log: 廃止予定の呼び出しを模倣してバックトレースを記録 (デバッグの規定" -"値)。\n" +"- legacy: 古い振る舞いを模倣する(試みる) (リリースの既定値)。\n" +"- log: 廃止予定の呼び出しを模倣してバックトレースを記録 (デバッグの既定値)。\n" "- error: 廃止予定の呼び出しの使用を中止する (Mod開発者に推奨)。" #: src/settings_translation_file.cpp @@ -3308,18 +3295,24 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"ジャンプや落下時の空気中の水平加速度、\n" +"1秒あたりのノード数/秒です。" #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"高速移動モード中の水平および垂直加速度、\n" +"1秒あたりのノード数/秒です。" #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"地面や登山時の水平および垂直加速度、\n" +"1秒あたりのノード数/秒です。" #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3605,6 +3598,10 @@ msgid "" "deleting an older debug.txt.1 if it exists.\n" "debug.txt is only moved if this setting is positive." msgstr "" +"debug.txt のファイルサイズが指定されたメガバイト数を超える場合、\n" +"ファイルは debug.txt.1 に移動されます。\n" +"古い debug.txt.1 が存在する場合は削除されます。\n" +"debug.txt は、この設定が正の場合にのみ移動されます。" #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." @@ -3636,7 +3633,7 @@ msgstr "音量を上げるキー" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "ジャンプ時の初期垂直速度、1秒あたりのノード数です。" #: src/settings_translation_file.cpp msgid "" @@ -4662,9 +4659,8 @@ msgid "Liquid queue purge time" msgstr "液体キューのパージ時間" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "液体の沈降速度" +msgstr "液体中の沈降" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." @@ -4742,14 +4738,14 @@ msgstr "" "'altitude_dry': 高度とともに湿度を下げます。" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen flat.\n" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"マップジェネレータ v7 に固有のマップ生成属性。\n" -"'ridges' は川ができるようにします。" +"マップジェネレータ fractal に固有のマップ生成属性。\n" +"'terrain' は非フラクタルな地形ができるようにします:\n" +"海、島そして地下。" #: src/settings_translation_file.cpp msgid "" @@ -4764,7 +4760,6 @@ msgid "Map generation attributes specific to Mapgen v5." msgstr "マップジェネレータ v5 に固有のマップ生成属性。" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen v6.\n" "The 'snowbiomes' flag enables the new 5 biome system.\n" @@ -4773,7 +4768,7 @@ msgid "" msgstr "" "マップジェネレータ v6 に固有のマップ生成属性。\n" "'snowbiomes' フラグは新しい5つのバイオームシステムを有効にします。\n" -"新しいバイオームシステムが有効になるとジャングルが自動的に有効になり、\n" +"'snowbiomes' フラグを有効にすると、ジャングルが自動的に有効になり、\n" "'jungles' フラグは無視されます。" #: src/settings_translation_file.cpp @@ -4829,9 +4824,8 @@ msgid "Mapgen Fractal" msgstr "マップジェネレータ Fractal" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal specific flags" -msgstr "マップジェネレータ Flat 固有のフラグ" +msgstr "マップジェネレータ Fractal 固有のフラグ" #: src/settings_translation_file.cpp msgid "Mapgen V5" @@ -4917,7 +4911,7 @@ msgstr "ホットバー最大幅" msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." -msgstr "" +msgstr "最大の液体抵抗。高速で液体に入る際の減速を制御します。" #: src/settings_translation_file.cpp msgid "" @@ -5120,7 +5114,6 @@ msgid "Mute sound" msgstr "消音" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this.\n" @@ -5129,11 +5122,8 @@ msgid "" msgstr "" "新しいワールドを作成するときに使用されるマップジェネレータの名前。\n" "メインメニューでワールドを作成すると、これが上書きされます。\n" -"現在安定しているマップジェネレータ:\n" -"v5、v6、v7(浮遊大陸を除く)、singlenode。\n" -"「安定している」とは、既存のワールドの地形が将来変更されないことを\n" -"意味します。バイオームはゲームによって定義され、それによって変更\n" -"される可能性があることに注意してください。" +"現在非常に不安定な状態のマップジェネレータ:\n" +"- v7の浮遊大陸 (既定では無効)。" #: src/settings_translation_file.cpp msgid "" @@ -5152,9 +5142,8 @@ msgid "" msgstr "プレイヤーが参加したときにサーバ一覧に表示されるサーバの名前。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Near clipping plane" -msgstr "近くの面" +msgstr "クリッピング面付近" #: src/settings_translation_file.cpp msgid "Network" @@ -5205,7 +5194,6 @@ msgid "Number of emerge threads" msgstr "出現するスレッド数" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Number of emerge threads to use.\n" "WARNING: Currently there are multiple bugs that may cause crashes when\n" @@ -5221,12 +5209,15 @@ msgid "" "processes, especially in singleplayer and/or when running Lua code in\n" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" -"使用する出現するスレッド数。\n" -"空 または 0:\n" -"- 自動選択。 出現するスレッド数は\n" -"- 「プロセッサー数 - 2」、下限は 1 です。\n" +"使用する出現スレッド数。\n" +"警告: 'num_emerge_threads' が 1 より大きいときにクラッシュを引き起こす\n" +"可能性のあるバグが現在複数あります。この警告が削除されるまでは\n" +"この値を規定の '1' に設定することを強くお勧めします。\n" +"値 0:\n" +"- 自動選択。 出現スレッド数は\n" +"- 'プロセッサー数 - 2'、下限は 1 です。\n" "その他の値:\n" -"- 出現するスレッド数を指定します、下限は 1 です。\n" +"- 出現スレッド数を指定します、下限は 1 です。\n" "警告: 出現するスレッド数を増やすとエンジンのマップ生成速度が\n" "上がりますが、特にシングルプレイヤーや 'on_generated' で\n" "Luaコードを実行している場合、他のプロセスと干渉してゲームの\n" @@ -5310,7 +5301,7 @@ msgid "" "used." msgstr "" "シェーダーディレクトリへのパス。パスが定義されていない場合は、\n" -"規定の場所が使用されます。" +"既定の場所が使用されます。" #: src/settings_translation_file.cpp msgid "Path to texture directory. All textures are first searched from here." @@ -5497,14 +5488,12 @@ msgid "Rightclick repetition interval" msgstr "右クリック繰り返しの間隔" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel depth" -msgstr "川の深さ" +msgstr "河道の深さ" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel width" -msgstr "川の深さ" +msgstr "河道の幅" #: src/settings_translation_file.cpp msgid "River depth" @@ -5519,9 +5508,8 @@ msgid "River size" msgstr "川のサイズ" #: src/settings_translation_file.cpp -#, fuzzy msgid "River valley width" -msgstr "川の深さ" +msgstr "川の谷の幅" #: src/settings_translation_file.cpp msgid "Rollback recording" @@ -5857,7 +5845,7 @@ msgstr "スニーク時の速度" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "スニーク時の速度、1秒あたりのノード数です。" #: src/settings_translation_file.cpp msgid "Sound" @@ -6221,7 +6209,6 @@ msgid "Undersampling" msgstr "アンダーサンプリング" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Undersampling is similar to using a lower screen resolution, but it applies\n" "to the game world only, keeping the GUI intact.\n" @@ -6230,9 +6217,9 @@ msgid "" "Higher values result in a less detailed image." msgstr "" "アンダーサンプリングは低い画面解像度を使用するのと似ていますが、\n" -"GUIをそのままにしてゲームの世界にのみ適用されます。\n" -"それほど詳細でないイメージを犠牲にしてパフォーマンスをかなり高める\n" -"でしょう。" +"GUIをそのままにしてゲームのワールドにのみ適用されます。\n" +"より詳細なイメージを犠牲にしてパフォーマンスをかなり高めるでしょう。\n" +"値を大きくすると、画像の詳細が少なくなります。" #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" @@ -6343,7 +6330,7 @@ msgstr "崖の険しさが異なります。" #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "垂直方向の上る速度、1秒あたりのノード数です。" #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6401,7 +6388,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "歩行と飛行速度、1秒あたりのノード数です。" #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6409,7 +6396,7 @@ msgstr "歩く速度" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." -msgstr "" +msgstr "高速移動モード中の歩行と飛行と上る速度、1秒あたりのノード数です。" #: src/settings_translation_file.cpp msgid "Water level" @@ -6436,19 +6423,16 @@ msgid "Waving water" msgstr "揺れる水" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave height" -msgstr "水の揺れる高さ" +msgstr "揺れる水の波の高さ" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave speed" -msgstr "水の揺れる速度" +msgstr "揺れる水の波の速度" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wavelength" -msgstr "水の揺れる丈" +msgstr "揺れる水の波長" #: src/settings_translation_file.cpp msgid "" From 482ab186a275a82575fb2f52d5290a0bedc88711 Mon Sep 17 00:00:00 2001 From: ssantos Date: Sun, 27 Oct 2019 16:48:33 +0000 Subject: [PATCH 034/279] Translated using Weblate (Portuguese) Currently translated at 100.0% (1274 of 1274 strings) --- po/pt/minetest.po | 194 +++++++++++++++++++++++----------------------- 1 file changed, 97 insertions(+), 97 deletions(-) diff --git a/po/pt/minetest.po b/po/pt/minetest.po index a9977c4fc..bca432768 100644 --- a/po/pt/minetest.po +++ b/po/pt/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Portuguese (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-10-29 11:53+0000\n" +"Last-Translator: ssantos \n" "Language-Team: Portuguese \n" "Language: pt\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.9.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Você morreu" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Ocorreu um erro em um script Lua, como um mod:" +msgstr "Um erro ocorreu num script Lua:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -121,27 +120,24 @@ msgid "Mod:" msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Dependências opcionais:" +msgstr "Sem dependências (opcionais)" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Nenhuma descrição de jogo disponível." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Sem dependências." +msgstr "Sem dependências fortes" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Nenhuma descrição de modpack disponível." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Dependências opcionais:" +msgstr "Sem dependências opcionais" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -786,9 +782,8 @@ msgid "Waving Leaves" msgstr "Folhas ondulantes" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Cubos Ondulantes" +msgstr "Líquidos ondulantes" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1546,7 +1541,7 @@ msgid "Register and Join" msgstr "Registrar e entrar" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1554,11 +1549,12 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Você está prestes a entrar no servidor em %1$s com o nome \"%2$s\" pela " -"primeira vez. Se continuar, uma nova conta usando suas credenciais será " -"criada neste servidor.\n" -"Por favor, redigite sua palavra-passe e clique registrar e entrar para " -"confirmar a criação da conta ou clique em cancelar para abortar." +"Está prestes a entrar neste servidor com o nome \"%s\" pela primeira vez.\n" +"Se prosseguir, uma nova conta usando suas credenciais será criada neste " +"servidor.\n" +"Por favor, digite novamente a sua palavra-passe e clique em 'Registrar e se " +"cadastrar' para confirmar a criação da conta ou clique em 'Cancelar' para " +"cancelar." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1701,9 +1697,8 @@ msgid "Toggle noclip" msgstr "Ativar/Desativar noclip" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "Ativar histórico de conversa" +msgstr "Alternar pitchmove" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1834,9 +1829,8 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges." msgstr "Ruído 2D que controla o tamanho/ocorrência de montanhas de passo." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that locates the river valleys and channels." -msgstr "Ruído 2D que controla o formato/tamanho de colinas." +msgstr "Ruído 2D que localiza os vales e canais dos rios." #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1874,7 +1868,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "Ruído 3D que determina o número de masmorras por mapchunk." #: src/settings_translation_file.cpp msgid "" @@ -1934,7 +1928,7 @@ msgstr "Aceleração no ar" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Aceleração da gravidade, em nós por segundo por segundo." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2162,7 +2156,6 @@ msgid "Bumpmapping" msgstr "Bump mapping" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" "Most users will not need to change this.\n" @@ -2170,7 +2163,7 @@ msgid "" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" "Distancia do plano próximo da câmera em nós, entre 0 e 0.5\n" -"A maioria dos utilizadores não precisarão mudar isto.\n" +"A maioria dos utilizadores não precisará mudar isto.\n" "Aumentar pode reduzir a ocorrência de artefactos em GPUs mais fracas.\n" "0.1 = Padrão, 0.25 = Bom valor para tablets fracos." @@ -2258,9 +2251,8 @@ msgid "Chat message count limit" msgstr "Limite do contador de mensagens de bate-papo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "Tamanho máximo da mensagem de conversa" +msgstr "Formato da mensagem de chat" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2440,7 +2432,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Controla a velocidade de afundamento em líquido." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2503,9 +2495,8 @@ msgid "Debug info toggle key" msgstr "Tecla para alternar modo de depuração" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Limite do ruído de deserto" +msgstr "Limite do tamanho do ficheiro de log de depuração" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -2517,7 +2508,7 @@ msgstr "Tecla de dimin. de som" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." -msgstr "" +msgstr "Diminue isto para aumentar a resistência do líquido ao movimento." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2611,9 +2602,8 @@ msgid "Defines the base ground level." msgstr "Define o nível base do solo." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "Define o nível base do solo." +msgstr "Define a profundidade do canal do rio." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." @@ -2622,14 +2612,12 @@ msgstr "" "ilimitado)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "Define estruturas de canais de grande porte (rios)." +msgstr "Define a largura do canal do rio." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "Define áreas onde árvores têm maçãs." +msgstr "Define a largura do vale do rio." #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2662,6 +2650,9 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" +"Depreciar, definir e localizar líquidos de cavernas usando definições de " +"biomas.\n" +"Y do limite superior de lava em grandes cavernas." #: src/settings_translation_file.cpp msgid "Depth below which you'll find giant caverns." @@ -2684,13 +2675,12 @@ msgid "Desert noise threshold" msgstr "Limite do ruído de deserto" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Deserts occur when np_biome exceeds this value.\n" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" -"Deserto ocorre quando np_biome excede esse valor.\n" -"Quando o novo sistema de biomas está habilitado, isso é ignorado." +"Os desertos ocorrem quando np_biome excede este valor.\n" +"Quando a marcação 'snowbiomes' está ativada, isto é ignorado." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -2737,9 +2727,8 @@ msgid "Dungeon minimum Y" msgstr "Y mínimo da dungeon" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Y mínimo da dungeon" +msgstr "Ruído de masmorra" #: src/settings_translation_file.cpp msgid "" @@ -3095,6 +3084,9 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Formato das mensagens de chat do jogador. As seguintes cadeias são espaços " +"reservados válidos:\n" +"@name, @message, @timestamp (opcional)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3349,18 +3341,24 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Aceleração horizontal no ar ao saltar ou cair,\n" +"em nós por segundo por segundo." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Aceleração horizontal e vertical em modo rápido,\n" +"em nós por segundo por segundo." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"Aceleração horizontal e vertical no solo ou ao subir,\n" +"em nós por segundo por segundo." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3647,6 +3645,11 @@ msgid "" "deleting an older debug.txt.1 if it exists.\n" "debug.txt is only moved if this setting is positive." msgstr "" +"Se o tamanho do ficheiro do debug.txt exceder a quantidade de megabytes " +"especificado \n" +"nesta configuração quando é aberta, o ficheiro é movido para debug.txt.1,\n" +"apagando um debug.txt.1 mais antigo, se existir.\n" +"debug.txt só é movido se esta configuração for positiva." #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." @@ -3684,7 +3687,7 @@ msgstr "Tecla da consola" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "Velocidade vertical inicial ao saltar, em nós por segundo." #: src/settings_translation_file.cpp msgid "" @@ -4713,9 +4716,8 @@ msgid "Liquid queue purge time" msgstr "Tempo para limpar a lista de espera para a atualização de líquidos" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Velocidade do afundamento de liquido" +msgstr "Afundamento de líquidos" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." @@ -4795,14 +4797,14 @@ msgstr "" "'altitude_dry': Reduz a umidade com a altitude." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen flat.\n" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Atributos de geração de mapa específicos ao gerador V7.\n" -"'ridges' habilitam os rios." +"Atributos de geração de mapas específicos do Mapgen plano.\n" +"O \"terreno\" permite a geração de terrenos não fractários:\n" +"oceano, ilhas e subsolo." #: src/settings_translation_file.cpp msgid "" @@ -4817,17 +4819,17 @@ msgid "Map generation attributes specific to Mapgen v5." msgstr "Atributos de geração de mapa específicos ao gerador V5." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen v6.\n" "The 'snowbiomes' flag enables the new 5 biome system.\n" "When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" "the 'jungles' flag is ignored." msgstr "" -"Atributos de geração de mapas específico para o gerador de mundo v6.\n" -" O 'snowbiomes' flag habilita o novo sistema de bioma 5.\n" -"Quando o sistema de novo bioma estiver habilitado, selvas são " -"automaticamente habilitadas e a flag 'jungles' é ignorada." +"Atributos de geração de mapas específicos do Mapgen v6.\n" +"A marcação \"snowbiomes\" ativa o novo sistema de 5 biomas.\n" +"Quando a marcação 'snowbiomes' está ativada, as selvas são automaticamente " +"ativadas e\n" +"a marcação 'selvas' é ignorada." #: src/settings_translation_file.cpp msgid "" @@ -4884,9 +4886,8 @@ msgid "Mapgen Fractal" msgstr "Gerador de mundo Fractal" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal specific flags" -msgstr "Flags específicas do gerador de mundo plano" +msgstr "Marcações específicas do Mapgen Fractal" #: src/settings_translation_file.cpp msgid "Mapgen V5" @@ -4973,6 +4974,9 @@ msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Resistência máxima do líquido. Controla a desaceleração ao entrar no líquido " +"a\n" +"alta velocidade." #: src/settings_translation_file.cpp msgid "" @@ -5182,19 +5186,16 @@ msgid "Mute sound" msgstr "Mutar som" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this.\n" "Current mapgens in a highly unstable state:\n" "- The optional floatlands of v7 (disabled by default)." msgstr "" -"Nome do gerador de mapa usando quando criar um novo mundo.\n" -"Criar um mundo no menu principal vai sobrescrever isto.\n" -"Geradores de mapa estáveis atualmente:\n" -"v5, v6, v7(exceto terras flutuantes), singlenode.\n" -"'estável' significa que a forma do terreno em um mundo existente não será " -"alterado no futuro. Note que biomas definidos por jogos ainda podem mudar." +"Nome do gerador de mapas a ser usado na criação de um novo mundo.\n" +"Criar um mundo no menu principal irá sobrepor-se a isto.\n" +"Mapgens atuais num estado altamente instável:\n" +"- As floatlands opcionais da v7 (desativadas por padrão)." #: src/settings_translation_file.cpp msgid "" @@ -5215,9 +5216,8 @@ msgstr "" "servidores." #: src/settings_translation_file.cpp -#, fuzzy msgid "Near clipping plane" -msgstr "plano próximo" +msgstr "Plano de corte próximo" #: src/settings_translation_file.cpp msgid "Network" @@ -5268,7 +5268,6 @@ msgid "Number of emerge threads" msgstr "Número de seguimentos de emersão" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Number of emerge threads to use.\n" "WARNING: Currently there are multiple bugs that may cause crashes when\n" @@ -5284,17 +5283,22 @@ msgid "" "processes, especially in singleplayer and/or when running Lua code in\n" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" -"Número de thread emergentes para usar.\n" -"Vazio ou valor 0:\n" -"- Seleção automática. O número de threads emergentes será 'quantidade de " -"processadores - 2', com limite mínimo de 1.\n" +"Quantidade de threads emergentes a utilizar.\n" +"AVISO: Atualmente existem vários bugs que podem causar falhas quando\n" +"'num_emerge_threads' é maior que 1. Até que este aviso seja removido, é\n" +"bem recomendado que este valor seja definido ao valor padrão '1'.\n" +"Valor 0:\n" +"- Seleção automática. A quantidade de threads emergentes será\n" +"- 'quantidade de processadores - 2', com um limite inferior de 1.\n" "Qualquer outro valor:\n" -"- Especifica o número de threads emergentes com limite mínimo de 1.\n" -"Alerta: aumentando o número de threads emergentes aumenta a velocidade do " -"gerador, mas pode prejudicar o desempenho interferindo com outros processos, " -"especialmente in singleplayer e/ou quando executando código lua em " -"'on_generated'.\n" -"Para muitos utilizadores a opção mais recomendada é 1." +"- Especifica a quantidade de threads emergentes, com um limite inferior " +"de 1.\n" +"AVISO: O aumento do quantidade de threads emergentes aumenta a velocidade " +"do\n" +"motor mapgen, mas isso pode prejudicar o desempenho do jogo, interferindo " +"com outros\n" +"processos, especialmente no singleplayer e/ou ao executar código Lua em\n" +"'on_generated'. Para muitos utilizadores, o ajuste ideal pode ser '1'." #: src/settings_translation_file.cpp msgid "" @@ -5564,14 +5568,12 @@ msgid "Rightclick repetition interval" msgstr "Intervalo de repetição do clique direito" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel depth" -msgstr "Profundidade do Rio" +msgstr "Profundidade do canal do rio" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel width" -msgstr "Profundidade do Rio" +msgstr "Largura do canal do rio" #: src/settings_translation_file.cpp msgid "River depth" @@ -5586,9 +5588,8 @@ msgid "River size" msgstr "Tamanho do Rio" #: src/settings_translation_file.cpp -#, fuzzy msgid "River valley width" -msgstr "Profundidade do Rio" +msgstr "Largura do vale do rio" #: src/settings_translation_file.cpp msgid "Rollback recording" @@ -5928,7 +5929,7 @@ msgstr "Velocidade da furtividade" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "Velocidade furtiva, em nós por segundo." #: src/settings_translation_file.cpp msgid "Sound" @@ -6309,7 +6310,6 @@ msgid "Undersampling" msgstr "Subamostragem" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Undersampling is similar to using a lower screen resolution, but it applies\n" "to the game world only, keeping the GUI intact.\n" @@ -6317,10 +6317,12 @@ msgid "" "image.\n" "Higher values result in a less detailed image." msgstr "" -"A subamostragem é semelhante ao uso de resolução de tela menor, mas se " -"aplica apenas ao mundo do jogo, mantendo a GUI (Interface Gráfica do " -"Utilizador) intacta. Deve dar um aumento significativo no desempenho ao " -"custo de uma imagem menos detalhada." +"A subamostragem é semelhante à utilização de uma resolução de ecrã mais " +"baixa, mas aplica-se\n" +"apenas para o mundo do jogo, mantendo a GUI intacta.\n" +"Deve dar um impulso significativo de desempenho ao custo de uma imagem menos " +"detalhada.\n" +"Valores mais altos resultam numa imagem menos detalhada." #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" @@ -6434,7 +6436,7 @@ msgstr "Controla a inclinação/altura das colinas." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "Velocidade de subida vertical, em nós por segundo." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6491,7 +6493,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "Velocidade de marcha e de voo, em nós por segundo." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6500,6 +6502,7 @@ msgstr "Velocidade de caminhada" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." msgstr "" +"Velocidade de caminhada, vôo e escalada em modo rápido, em nós por segundo." #: src/settings_translation_file.cpp msgid "Water level" @@ -6526,19 +6529,16 @@ msgid "Waving water" msgstr "Balançar das Ondas" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave height" -msgstr "Altura de balanço da água" +msgstr "Altura da onda de água ondulante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave speed" -msgstr "Velocidade de balanço da água" +msgstr "Velocidade da onda de água ondulante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wavelength" -msgstr "Comprimento de balanço da água" +msgstr "Comprimento de onda da água de ondulação" #: src/settings_translation_file.cpp msgid "" From 60c18d3550e660ddc145dd7a7c4a1a70546f034e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81cs=20Zolt=C3=A1n?= Date: Mon, 28 Oct 2019 10:54:35 +0000 Subject: [PATCH 035/279] Translated using Weblate (Hungarian) Currently translated at 61.9% (788 of 1274 strings) --- po/hu/minetest.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/po/hu/minetest.po b/po/hu/minetest.po index 100c07761..c4de6a3d2 100644 --- a/po/hu/minetest.po +++ b/po/hu/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Hungarian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-10-29 11:53+0000\n" +"Last-Translator: Ács Zoltán \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.9.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -789,7 +789,7 @@ msgstr "Hullámzó levelek" #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Waving Liquids" -msgstr "Hullámzó blokkok" +msgstr "Hullámzó folyadékok" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1545,8 +1545,8 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Te most %1$s szerverre csatlakozol \"%2$s\" névvel elősször. Ha folytatja, " -"akkor egy új fiók lesz létrehozva a hetelesítő adatokkal a szerveren. Kérlek " +"Te most %1$s szerverre csatlakozol \"%2$s\" névvel először. Ha folytatod, " +"akkor egy új fiók lesz létrehozva a hitelesítő adatokkal a szerveren. Kérlek " "írd be újra a jelszavad, kattints Regisztrációra majd Bejelentkezésre, hogy " "megerősítsd a fióklétrehozást vagy kattints Kilépés gombra a megszakításhoz." From 28e05295faea3808dc609741ccf5936e96d9300d Mon Sep 17 00:00:00 2001 From: Jacques Lagrange Date: Mon, 28 Oct 2019 10:40:29 +0000 Subject: [PATCH 036/279] Translated using Weblate (Italian) Currently translated at 96.9% (1234 of 1274 strings) --- po/it/minetest.po | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/po/it/minetest.po b/po/it/minetest.po index f215ec022..f330f5bc3 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Italian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-10-29 11:53+0000\n" +"Last-Translator: Jacques Lagrange \n" "Language-Team: Italian \n" "Language: it\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.9.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Sei morto" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "È successo un errore in uno script Lua, come un mod:" +msgstr "Si è verificato un errore in uno script Lua:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -120,27 +119,24 @@ msgid "Mod:" msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Dipendenze facoltative:" +msgstr "Dipendenze facoltative" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Non è stata fornita nessuna descrizione del gioco." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Nessuna dipendenza." +msgstr "Nessuna dipendenza" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Non è stata fornita nessuna descrizione del pacchetto mod." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Dipendenze facoltative:" +msgstr "Nessuna dipendenza facoltativa" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -784,9 +780,8 @@ msgid "Waving Leaves" msgstr "Foglie ondeggianti" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Nodi ondeggianti" +msgstr "Liquidi ondeggianti" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1531,7 +1526,7 @@ msgid "Register and Join" msgstr "Registrati e accedi" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1539,8 +1534,8 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Stai per accedere al server a %1$s col nome \"%2$s\" per la prima volta. Se " -"prosegui, su questo server sarà creato un nuovo account usando le tue " +"Stai per accedere a questo server col nome \"%2$s\" per la prima volta. \n" +"Se prosegui, su questo server sarà creato un nuovo account usando le tue " "credenziali.\n" "Per favore reinserisci la tua password e premi Registrati e accedi per " "confermare la creazione dell'account, o premi Annulla per interrompere." From 39449d4b63c47106d8162ae873cec0c3cdb2373a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20M=C3=BCnster?= Date: Sun, 27 Oct 2019 15:07:56 +0000 Subject: [PATCH 037/279] Translated using Weblate (Swedish) Currently translated at 32.7% (417 of 1274 strings) --- po/sv/minetest.po | 57 +++++++---------------------------------------- 1 file changed, 8 insertions(+), 49 deletions(-) diff --git a/po/sv/minetest.po b/po/sv/minetest.po index 0baafd2d5..64e1b2243 100644 --- a/po/sv/minetest.po +++ b/po/sv/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Swedish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-10-29 11:53+0000\n" +"Last-Translator: Mattias Münster \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.9.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -99,7 +99,6 @@ msgid "Disable modpack" msgstr "Avaktivera modpaket" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "Enable all" msgstr "Aktivera alla" @@ -207,7 +206,6 @@ msgid "Search" msgstr "Sök" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Texture packs" msgstr "Texturpaket" @@ -341,7 +339,7 @@ msgstr "Oktaver" #: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp msgid "Offset" -msgstr "" +msgstr "Förskjutning" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Persistance" @@ -364,9 +362,8 @@ msgid "Scale" msgstr "Skala" #: builtin/mainmenu/dlg_settings_advanced.lua -#, fuzzy msgid "Select directory" -msgstr "Välj modfil:" +msgstr "Välj katalog" #: builtin/mainmenu/dlg_settings_advanced.lua #, fuzzy @@ -692,9 +689,8 @@ msgid "Bilinear Filter" msgstr "Bilinjärt filter" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Bump Mapping" -msgstr "Bumpmappning" +msgstr "Stötkartläggning" #: builtin/mainmenu/tab_settings.lua src/client/game.cpp msgid "Change Keys" @@ -839,7 +835,6 @@ msgid "Start Singleplayer" msgstr "Starta Enspelarläge" #: src/client/client.cpp -#, fuzzy msgid "Connection timed out." msgstr "Anslutningens tidsgräns nådd." @@ -864,7 +859,6 @@ msgid "Rebuilding shaders..." msgstr "Rekonstruerar shaders..." #: src/client/clientlauncher.cpp -#, fuzzy msgid "Connection error (timed out?)" msgstr "Anslutningsfel (tidsgräns nådd?)" @@ -969,7 +963,6 @@ msgid "Camera update enabled" msgstr "Av/på-tangent för kamerauppdatering" #: src/client/game.cpp -#, fuzzy msgid "Change Password" msgstr "Ändra Lösenord" @@ -996,7 +989,7 @@ msgid "Continue" msgstr "Fortsätt" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1138,7 +1131,6 @@ msgid "Game paused" msgstr "Spel pausat" #: src/client/game.cpp -#, fuzzy msgid "Hosting server" msgstr "Arrangerar server" @@ -1329,7 +1321,6 @@ msgid "Caps Lock" msgstr "Caps Lock" #: src/client/keycode.cpp -#, fuzzy msgid "Clear" msgstr "Rensa" @@ -1342,7 +1333,6 @@ msgid "Down" msgstr "Ner" #: src/client/keycode.cpp -#, fuzzy msgid "End" msgstr "Slut" @@ -1351,7 +1341,6 @@ msgid "Erase EOF" msgstr "Radera EOF" #: src/client/keycode.cpp -#, fuzzy msgid "Execute" msgstr "Kör" @@ -1360,7 +1349,6 @@ msgid "Help" msgstr "Hjälp" #: src/client/keycode.cpp -#, fuzzy msgid "Home" msgstr "Hem" @@ -1369,7 +1357,6 @@ msgid "IME Accept" msgstr "Acceptera IME" #: src/client/keycode.cpp -#, fuzzy msgid "IME Convert" msgstr "Konvertera IME" @@ -1386,7 +1373,6 @@ msgid "IME Nonconvert" msgstr "Ickekonvertera IME" #: src/client/keycode.cpp -#, fuzzy msgid "Insert" msgstr "Insert" @@ -1411,7 +1397,6 @@ msgid "Left Shift" msgstr "Vänster Shift" #: src/client/keycode.cpp -#, fuzzy msgid "Left Windows" msgstr "Vänster Windowstangent" @@ -1428,17 +1413,14 @@ msgid "Num Lock" msgstr "Num Lock" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad *" msgstr "Numpad *" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad +" msgstr "Numpad +" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad -" msgstr "Numpad -" @@ -1447,57 +1429,46 @@ msgid "Numpad ." msgstr "Numpad ." #: src/client/keycode.cpp -#, fuzzy msgid "Numpad /" msgstr "Numpad /" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 0" msgstr "Numpad 0" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 1" msgstr "Numpad 1" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 2" msgstr "Numpad 2" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 3" msgstr "Numpad 3" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 4" msgstr "Numpad 4" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 5" msgstr "Numpad 5" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 6" msgstr "Numpad 6" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 7" msgstr "Numpad 7" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 8" msgstr "Numpad 8" #: src/client/keycode.cpp -#, fuzzy msgid "Numpad 9" msgstr "Numpad 9" @@ -1554,7 +1525,6 @@ msgid "Right Windows" msgstr "Höger Windowstangent" #: src/client/keycode.cpp -#, fuzzy msgid "Scroll Lock" msgstr "Scroll Lock" @@ -1563,7 +1533,6 @@ msgid "Select" msgstr "Välj" #: src/client/keycode.cpp -#, fuzzy msgid "Shift" msgstr "Shift" @@ -1572,17 +1541,14 @@ msgid "Sleep" msgstr "Sov" #: src/client/keycode.cpp -#, fuzzy msgid "Snapshot" msgstr "Snapshot" #: src/client/keycode.cpp -#, fuzzy msgid "Space" msgstr "Mellanslag" #: src/client/keycode.cpp -#, fuzzy msgid "Tab" msgstr "Tab" @@ -1668,7 +1634,6 @@ msgid "Dec. volume" msgstr "Sänk volym" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Double tap \"jump\" to toggle fly" msgstr "Dubbeltryck \"hoppa\" för att slå på/av flygande" @@ -1689,7 +1654,6 @@ msgid "Inc. volume" msgstr "Öka volym" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Inventory" msgstr "Förråd" @@ -1750,7 +1714,6 @@ msgid "Toggle chat log" msgstr "Slå av/på snabb" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle fast" msgstr "Slå av/på snabb" @@ -1778,7 +1741,6 @@ msgid "Toggle pitchmove" msgstr "Slå av/på snabb" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "press key" msgstr "tryck på tangent" @@ -1862,7 +1824,6 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "0 = parallax occlusion with slope information (faster).\n" "1 = relief mapping (slower, more accurate)." @@ -1907,9 +1868,8 @@ msgid "3D mode" msgstr "3D-läge" #: src/settings_translation_file.cpp -#, fuzzy msgid "3D noise defining giant caverns." -msgstr "3D oljudsdefinierade jättegrottor" +msgstr "3D oljudsdefinierade jättegrottor." #: src/settings_translation_file.cpp msgid "" @@ -1980,7 +1940,6 @@ msgid "ABM interval" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Absolute limit of emerge queues" msgstr "Absolut gräns av emerge kö" From 3c7f6508ad59ceb546a4da0654eb81494e66d1c6 Mon Sep 17 00:00:00 2001 From: Muhammad Nur Hidayat Yasuyoshi Date: Wed, 30 Oct 2019 03:11:36 +0000 Subject: [PATCH 038/279] Translated using Weblate (Malay) Currently translated at 100.0% (1274 of 1274 strings) --- po/ms/minetest.po | 160 ++++++++++++++++++++++------------------------ 1 file changed, 76 insertions(+), 84 deletions(-) diff --git a/po/ms/minetest.po b/po/ms/minetest.po index 0796f3dd3..1ff4ccec0 100644 --- a/po/ms/minetest.po +++ b/po/ms/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Malay (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-10-31 06:03+0000\n" +"Last-Translator: Muhammad Nur Hidayat Yasuyoshi \n" "Language-Team: Malay \n" "Language: ms\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Anda telah meninggal" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Berlakunya ralat dalam skrip Lua, contohnya mods:" +msgstr "Berlakunya ralat dalam skrip Lua:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -120,27 +119,24 @@ msgid "Mod:" msgstr "Mods:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Kebergantungan pilihan:" +msgstr "Tiada kebergantungan (pilihan)" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Tiada perihal permainan tersedia." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Tiada kebergantungan." +msgstr "Tiada kebergantungan wajib" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Tiada perihal pek mods tersedia." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Kebergantungan pilihan:" +msgstr "Tiada kebergantungan pilihan" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -783,9 +779,8 @@ msgid "Waving Leaves" msgstr "Daun Bergoyang" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Nod bergoyang" +msgstr "Cecair Bergelora" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1533,7 +1528,7 @@ msgid "Register and Join" msgstr "Daftar dan Sertai" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1541,11 +1536,11 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Anda akan sertai pelayan di %1$s dengan nama \"%2$s\" untuk kali pertama. " +"Anda akan sertai pelayan dengan nama \"%s\" untuk kali pertama.\n" "Jika anda teruskan, akaun baru dengan maklumat anda akan dicipta di pelayan " "ini.\n" -"Sila taip semula kata laluan anda dan klik Daftar dan Sertai untuk sahkan " -"penciptaan akaun atau klik Batal untuk membatalkan." +"Sila taip semula kata laluan anda dan klik 'Daftar dan Sertai' untuk sahkan " +"penciptaan akaun, atau klik 'Batal' untuk membatalkan." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1690,9 +1685,8 @@ msgid "Toggle noclip" msgstr "Togol tembus blok" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "Togol log sembang" +msgstr "Togol pergerakan mencuram" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1823,9 +1817,8 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges." msgstr "Hingar 2D yang mengawal saiz/kejadian gunung curam berjarak." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that locates the river valleys and channels." -msgstr "Hingar 2D yang mengawal bentuk/saiz bukit." +msgstr "Hingar 2D yang menentukan peletakan lembah dan arus sungai." #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1861,7 +1854,7 @@ msgstr "Hingar 3D untuk unjuran, cenuram gunung, dll. Selalunya variasi kecil." #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "Hingar 3D yang menentukan jumlah kurungan bawah tanah per ketulan peta." #: src/settings_translation_file.cpp msgid "" @@ -1917,7 +1910,7 @@ msgstr "Pecutan dalam udara" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Pecutan graviti, dalam unit nod per saat per saat." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2145,14 +2138,13 @@ msgid "Bumpmapping" msgstr "Pemetaan timbul" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" "Most users will not need to change this.\n" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Kamera berhampiran jarak satah dalam nilai nod, antara 0 dan 0.5\n" +"Jarak kamera 'berhampiran satah ketipan' dalam nilai nod, antara 0 dan 0.5.\n" "Kebanyakan pengguna tidak perlu mengubah nilai ini.\n" "Menaikkan nilai boleh kurangkan artifak pada GPU yang lebih lemah.\n" "0.1 = Asal, 0.25 = Nilai bagus untuk tablet yang lebih lemah." @@ -2242,9 +2234,8 @@ msgid "Chat message count limit" msgstr "Had kiraan mesej sembang" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "Panjang maksimum mesej sembang" +msgstr "Format mesej sembang" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2425,7 +2416,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Mengawal kelajuan tenggelam dalam cecair." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2489,9 +2480,8 @@ msgid "Debug info toggle key" msgstr "Kekunci togol maklumat nyahpepijat" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Nilai ambang hingar gurun" +msgstr "Nilai ambang saiz fail log nyahpepijat" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -2504,6 +2494,7 @@ msgstr "Kekunci perlahankan bunyi" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." msgstr "" +"Kurangkan nilai untuk meningkatkan rintangan cecair terhadap pergerakan." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2595,9 +2586,8 @@ msgid "Defines the base ground level." msgstr "Mentakrifkan aras tanah asas." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "Mentakrifkan aras tanah asas." +msgstr "Mentakrifkan kedalaman saliran sungai." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." @@ -2606,14 +2596,12 @@ msgstr "" "tiada had)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "Mentakrifkan struktur saluran sungai berskala besar." +msgstr "Mentakrifkan lebar saluran sungai." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "Mentakrifkan kawasan di mana pokok mempunyai epal." +msgstr "Mentakrifkan lebar lembah sungai." #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2645,6 +2633,9 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" +"Tetapan terkecam, mentakrifkan dan menetapkan cecair gua menggunakan " +"pentakrifan biom menggantikan cara asal.\n" +"Had Y atasan lava di gua-gua besar." #: src/settings_translation_file.cpp msgid "Depth below which you'll find giant caverns." @@ -2667,13 +2658,12 @@ msgid "Desert noise threshold" msgstr "Nilai ambang hingar gurun" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Deserts occur when np_biome exceeds this value.\n" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" "Gurun akan dijana apabila np_biome melebihi nilai ini.\n" -"Apabila sistem biom baru dibolehkan, tetapan ini diabaikan." +"Apabila bendera 'snowbiomes' dibolehkan, tetapan ini diabaikan." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -2723,9 +2713,8 @@ msgid "Dungeon minimum Y" msgstr "Y minimum kurungan bawah tanah" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Y minimum kurungan bawah tanah" +msgstr "Hingar kurungan bawah tanah" #: src/settings_translation_file.cpp msgid "" @@ -3084,6 +3073,10 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Format mesej sembang pemain. Rentetan berikut ialah pemegang tempat yang sah:" +"\n" +"@name (untuk nama), @message (untuk mesej), @timestamp (pilihan, untuk cop " +"masa)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3347,18 +3340,24 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Pecutan mendatar di udara apabila melompat atau jatuh,\n" +"dalam unit nod per saat per saat." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Pecutan mendatar dan menegak dalam mod pantas,\n" +"dalam unit nod per saat per saat." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"Pecutan mendatar dan menegak atas tanah atau ketika memanjat,\n" +"dalam unit nod per saat per saat." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3650,6 +3649,10 @@ msgid "" "deleting an older debug.txt.1 if it exists.\n" "debug.txt is only moved if this setting is positive." msgstr "" +"Jika saiz fail debug.txt melebihi jumlah megabait yang dinyatakan dalam\n" +"tetapan ini ketika ia dibuka, fail ini akan dipindahkan ke debug.txt.1,\n" +"memadamkan fail debug.txt.1 yang lama jika wujud.\n" +"debug.txt hanya akan dipindahkan sekiranya tetapan ini positif." #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." @@ -3687,7 +3690,7 @@ msgstr "Kekunci kuatkan bunyi" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "Kelajuan menegak awal ketika melompat, dalam unit nod per saat." #: src/settings_translation_file.cpp msgid "" @@ -4715,9 +4718,8 @@ msgid "Liquid queue purge time" msgstr "Masa pembersihan giliran cecair" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Kelajuan lubuk cecair" +msgstr "Tenggelam dalam cecair" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." @@ -4798,14 +4800,14 @@ msgstr "" "'altitude_dry': Mengurangkan kelembapan seiring ketinggian." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen flat.\n" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Atribut penjanaan peta khusus untuk Janapeta v7.\n" -"'ridges' membolehkan sungai." +"Atribut penjanaan peta khusus untuk Janapeta flat.\n" +"'terrain' membolehkan penjanaan rupa bumi bukan fraktal:\n" +"lautan, kepulauan dan unsur bawah tanah." #: src/settings_translation_file.cpp msgid "" @@ -4820,7 +4822,6 @@ msgid "Map generation attributes specific to Mapgen v5." msgstr "Atribut penjanaan peta khusus untuk janapeta v5." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen v6.\n" "The 'snowbiomes' flag enables the new 5 biome system.\n" @@ -4829,9 +4830,8 @@ msgid "" msgstr "" "Atribut penjanaan peta khusus untuk Janapeta v6.\n" "Bendera 'snowbiomes' membolehkan sistem 5 biom baharu.\n" -"Apabila sistem biom baharu dibolehkan, hutan akan dibolehkan secara " -"automatik dan\n" -"bendera 'jungles' diabaikan." +"Apabila bendera 'snowbiomes' dibolehkan, hutan akan dibolehkan secara\n" +"automatik dan bendera 'jungles' diabaikan." #: src/settings_translation_file.cpp msgid "" @@ -4886,9 +4886,8 @@ msgid "Mapgen Fractal" msgstr "Fraktal Janapeta" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal specific flags" -msgstr "Bendera khusus Janapeta Flat" +msgstr "Bendera khusus Janapeta Fractal" #: src/settings_translation_file.cpp msgid "Mapgen V5" @@ -4975,6 +4974,8 @@ msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Rintangan cecair maksimum. Mengawal nyahpecutan apabila memasuki\n" +"cecair pada kelajuan maksimum." #: src/settings_translation_file.cpp msgid "" @@ -5180,7 +5181,6 @@ msgid "Mute sound" msgstr "Bisukan bunyi" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this.\n" @@ -5189,12 +5189,8 @@ msgid "" msgstr "" "Nama penjana peta untuk digunakan apabila mencipta dunia baru.\n" "Mencipta dunia dalam menu utama akan mengatasi tetapan ini.\n" -"Janapeta stabil ketika ini:\n" -"v5, v6, v7 (kecuali floatlands), singlenode.\n" -"'stabil' maksudnya bentuk rupa bumi dalam dunia sedia ada tidak akan berubah " -"pada\n" -"masa depan. Ambil perhatian bahawa biom ditakrifkan oleh permainan dan boleh " -"berubah." +"Janapeta semasa yang berada dalam keadaan sangat tidak stabil:\n" +"- Pilihan floatlands di v7 (dilumpuhkan secara asalnya)." #: src/settings_translation_file.cpp msgid "" @@ -5216,9 +5212,8 @@ msgstr "" "senarai pelayan." #: src/settings_translation_file.cpp -#, fuzzy msgid "Near clipping plane" -msgstr "Satah dekat" +msgstr "Satah dekat ketipan" #: src/settings_translation_file.cpp msgid "Network" @@ -5269,7 +5264,6 @@ msgid "Number of emerge threads" msgstr "Jumlah jalur keluar" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Number of emerge threads to use.\n" "WARNING: Currently there are multiple bugs that may cause crashes when\n" @@ -5286,17 +5280,19 @@ msgid "" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" "Jumlah jalur timbul untuk digunakan.\n" -"Kosong atau nilai 0:\n" +"AMARAN: Ketika ini terdapat beberapa pepijat yang mungkin mengakibatkan\n" +"ranap apabila nilai 'num_emerge_threads' lebih tinggi daripada 1. Sehingga\n" +"amaran ini dibuang, adalah digalakkan untuk kekalkan nilai asalnya '1'.\n" +"Nilai 0:\n" "- Pemilihan automatik. Jumlah jalur timbul akan dikira berdasarkan\n" "- 'jumlah pemproses - 2', dengan had minimum 1.\n" "Sebarang nilai lain:\n" "- Menetapkan jumlah jalur timbul, dengan had minimum 1.\n" -"Amaran: Menaikkan jumlah jalur timbul meningkatkan kelajuan penjanaan\n" +"AMARAN: Menaikkan jumlah jalur timbul meningkatkan kelajuan penjanaan\n" "peta enjin, tetapi ia boleh memberi kesan buruk kepada prestasi permainan\n" "dengan mengganggu proses-proses lain, terutamanya dalam mod pemain\n" -"perseorangan dan/atau apabila menjalankan kod Lua dalam fungsi " -"'on_generated'.\n" -"Untuk kebanyakan pengguna, tetapan optimum ialah '1'." +"perseorangan dan/atau apabila menjalankan kod Lua dalam fungsi\n" +"'on_generated'. Untuk kebanyakan pengguna, tetapan optimum ialah '1'." #: src/settings_translation_file.cpp msgid "" @@ -5570,14 +5566,12 @@ msgid "Rightclick repetition interval" msgstr "Selang pengulangan klik kanan" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel depth" -msgstr "Kedalaman sungai" +msgstr "Kedalaman saluran sungai" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel width" -msgstr "Kedalaman sungai" +msgstr "Lebar saluran sungai" #: src/settings_translation_file.cpp msgid "River depth" @@ -5592,9 +5586,8 @@ msgid "River size" msgstr "Saiz sungai" #: src/settings_translation_file.cpp -#, fuzzy msgid "River valley width" -msgstr "Kedalaman sungai" +msgstr "Lebar lembah sungai" #: src/settings_translation_file.cpp msgid "Rollback recording" @@ -5938,7 +5931,7 @@ msgstr "Kelajuan menyelinap" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "Kelajuan menyelinap, dalam unit nod per saat." #: src/settings_translation_file.cpp msgid "Sound" @@ -6324,7 +6317,6 @@ msgid "Undersampling" msgstr "Pensampelan pengurangan" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Undersampling is similar to using a lower screen resolution, but it applies\n" "to the game world only, keeping the GUI intact.\n" @@ -6335,7 +6327,8 @@ msgstr "" "Pensampelan pengurangan serupa seperti menggunakan resolusi skrin rendah,\n" "tetapi ia hanya diaplikasikan kepada dunia permainan sahaja, tidak mengubah " "GUI.\n" -"Ia boleh meningkatkan prestasi dengan mengorbankan perincian imej." +"Ia boleh meningkatkan prestasi dengan mengorbankan perincian imej.\n" +"Nilai lebih tinggi membuatkan imej yang kurang perincian." #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" @@ -6448,7 +6441,7 @@ msgstr "Pelbagai kecuraman cenuram." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "Kelajuan memanjat menegak, dalam unit nod per saat." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6506,7 +6499,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "Kelajuan berjalan dan terbang, dalam unit nod per saat." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6515,6 +6508,8 @@ msgstr "Kelajuan berjalan" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." msgstr "" +"Kelajuan berjalan, terbang dan memanjat dalam mod pantas, dalam unit nod per " +"saat." #: src/settings_translation_file.cpp msgid "Water level" @@ -6541,19 +6536,16 @@ msgid "Waving water" msgstr "Air bergelora" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave height" -msgstr "Ketinggian air bergelora" +msgstr "Ketinggian ombak air bergelora" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave speed" -msgstr "Kelajuan air bergelora" +msgstr "Kelajuan ombak air bergelora" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wavelength" -msgstr "Panjang air bergelora" +msgstr "Panjang ombak air bergelora" #: src/settings_translation_file.cpp msgid "" From 1f419ad19fd96f162c1f74d7980553d6c3518307 Mon Sep 17 00:00:00 2001 From: Mateusz Mendel Date: Fri, 1 Nov 2019 15:33:44 +0000 Subject: [PATCH 039/279] Translated using Weblate (Polish) Currently translated at 81.1% (1033 of 1274 strings) --- po/pl/minetest.po | 48 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/po/pl/minetest.po b/po/pl/minetest.po index 35d450dcb..669e78bfd 100644 --- a/po/pl/minetest.po +++ b/po/pl/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Polish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-02 23:03+0000\n" +"Last-Translator: Mateusz Mendel \n" "Language-Team: Polish \n" "Language: pl\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1860,8 +1860,9 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations." msgstr "Szum 3D dla nawisów skalnych, klifów, itp. Zwykle mało zróżnicowany." #: src/settings_translation_file.cpp +#, fuzzy msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "Szum 3D, który wpływa na liczbę lochów na jeden mapchunk." #: src/settings_translation_file.cpp msgid "" @@ -1920,8 +1921,9 @@ msgid "Acceleration in air" msgstr "Przyspieszenie w powietrzu" #: src/settings_translation_file.cpp +#, fuzzy msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Przyśpieszenie grawitacyjne, w blokach na sekundę." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2432,8 +2434,9 @@ msgstr "" "zostaje niezmienione." #: src/settings_translation_file.cpp +#, fuzzy msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Wpływa na prędkość zanurzania w płynie." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2509,8 +2512,9 @@ msgid "Dec. volume key" msgstr "Klawisz zmniejszania głośności" #: src/settings_translation_file.cpp +#, fuzzy msgid "Decrease this to increase liquid resistence to movement." -msgstr "" +msgstr "Zmniejsz wartość, aby zwiększyć opór ruchu w cieczy." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -3088,11 +3092,14 @@ msgid "Font size" msgstr "Rozmiar czcionki" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Format of player chat messages. The following strings are valid " "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Format wiadomości czatu graczy. Następujące ciągi są dozwolone: \n" +"@name, @message, @timestamp (opcjonalne0" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3355,22 +3362,31 @@ msgid "Homepage of server, to be displayed in the serverlist." msgstr "Główna strona serwera, wyświetlana na liście serwerów." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Przyśpieszenie poziome podczas skoku lub upadku,\n" +"w blokach na sekundę." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Poziome i pionowe przyśpieszenie w trybie szybkim,\n" +"w blokach na sekundę." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"Poziome i pionowe przyśpieszenie na ziemi lub podczas wchodzenia,\n" +"w blokach na sekunde." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3721,8 +3737,9 @@ msgid "Inc. volume key" msgstr "Klawisz zwiększania głośności" #: src/settings_translation_file.cpp +#, fuzzy msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "Początkowa prędkość pionowa podczas skoku, w blokach na sekundę." #: src/settings_translation_file.cpp #, fuzzy @@ -5067,10 +5084,13 @@ msgid "Maximum hotbar width" msgstr "Maksymalna długość hotbar" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Maksymalny opór cieczy. Wpływa na spowolnienie przy wejściu w ciecz \n" +"z dużą prędkością." #: src/settings_translation_file.cpp msgid "" @@ -6001,8 +6021,9 @@ msgid "Sneaking speed" msgstr "Szybkość skradania" #: src/settings_translation_file.cpp +#, fuzzy msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "Prędkość skradania, w blokach na sekundę." #: src/settings_translation_file.cpp msgid "Sound" @@ -6487,8 +6508,9 @@ msgid "Varies steepness of cliffs." msgstr "Kontroluje stromość/wysokość gór." #: src/settings_translation_file.cpp +#, fuzzy msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "Pionowa prędkość wchodzenia, w blokach na sekundę." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6546,16 +6568,20 @@ msgstr "" "Jego zakres jest od -2 do 2" #: src/settings_translation_file.cpp +#, fuzzy msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "Prędkość chodzenia i latania, w blokach na sekundę." #: src/settings_translation_file.cpp msgid "Walking speed" msgstr "Szybkość chodzenia" #: src/settings_translation_file.cpp +#, fuzzy msgid "Walking, flying and climbing speed in fast mode, in nodes per second." msgstr "" +"Prędkość chodzenia, latania i wchodzenia w trybie szybkiego chodzenia, w " +"blokach na sekundę." #: src/settings_translation_file.cpp msgid "Water level" From 93db4be7268ac7ffd5745feefa019f608fa39b82 Mon Sep 17 00:00:00 2001 From: Vicente Carrasco Alvarez Date: Fri, 1 Nov 2019 22:06:35 +0000 Subject: [PATCH 040/279] Translated using Weblate (Spanish) Currently translated at 61.5% (783 of 1274 strings) --- po/es/minetest.po | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index 73e0f91d1..bf097e64a 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Spanish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-02 23:03+0000\n" +"Last-Translator: Vicente Carrasco Alvarez \n" "Language-Team: Spanish \n" "Language: es\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -791,9 +791,8 @@ msgid "Waving Leaves" msgstr "Movimiento de Hojas" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Movimiento de hojas" +msgstr "Movimiento de Líquidos" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -922,9 +921,8 @@ msgid "- Server Name: " msgstr "- Nombre del servidor: " #: src/client/game.cpp -#, fuzzy msgid "Automatic forward disabled" -msgstr "Avance automático descativado" +msgstr "Avance automático desactivado" #: src/client/game.cpp #, fuzzy @@ -1882,7 +1880,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "Ruido 3D que determina la cantidad de mazmorras por chunk." #: src/settings_translation_file.cpp msgid "" @@ -2365,6 +2363,14 @@ msgid "" "These flags are independent from Minetest versions,\n" "so see a full list at https://content.minetest.net/help/content_flags/" msgstr "" +"Lista de banderas a ocultar en el repositorio de contenido. La lista usa la " +"coma como separador.\n" +"Se puede usar la etiqueta \"nonfree\" para ocultar paquetes que no tienen " +"licencia libre (tal como define la Funcación de software libre (FSF).\n" +"También puedes especificar proporciones de contenido.\n" +"Estas banderas son independientes de la versión de Minetest.\n" +"Si quieres ver una lista completa visita https://content.minetest.net/help/" +"content_flags/" #: src/settings_translation_file.cpp msgid "" From d877e9030182cec48747b4c3519ce79d95f1b105 Mon Sep 17 00:00:00 2001 From: Mateusz Mendel Date: Sun, 3 Nov 2019 16:51:39 +0000 Subject: [PATCH 041/279] Translated using Weblate (Polish) Currently translated at 81.1% (1033 of 1274 strings) --- po/pl/minetest.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/pl/minetest.po b/po/pl/minetest.po index 669e78bfd..c58933756 100644 --- a/po/pl/minetest.po +++ b/po/pl/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Polish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-02 23:03+0000\n" +"PO-Revision-Date: 2019-11-04 17:03+0000\n" "Last-Translator: Mateusz Mendel \n" "Language-Team: Polish \n" @@ -3099,7 +3099,7 @@ msgid "" "@name, @message, @timestamp (optional)" msgstr "" "Format wiadomości czatu graczy. Następujące ciągi są dozwolone: \n" -"@name, @message, @timestamp (opcjonalne0" +"@name, @message, @timestamp (opcjonalne)" #: src/settings_translation_file.cpp msgid "Format of screenshots." From 7f2911b7f036fa633fef131058f952f4c38733cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allan=20Nordh=C3=B8y?= Date: Wed, 6 Nov 2019 08:55:35 +0000 Subject: [PATCH 042/279] Translated using Weblate (Italian) Currently translated at 96.9% (1234 of 1274 strings) --- po/it/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/it/minetest.po b/po/it/minetest.po index f330f5bc3..621ac9bd7 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Italian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-10-29 11:53+0000\n" -"Last-Translator: Jacques Lagrange \n" +"PO-Revision-Date: 2019-11-07 09:04+0000\n" +"Last-Translator: Allan Nordhøy \n" "Language-Team: Italian \n" "Language: it\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9.1\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1534,7 +1534,7 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Stai per accedere a questo server col nome \"%2$s\" per la prima volta. \n" +"Stai per accedere a questo server col nome \"%s\" per la prima volta. \n" "Se prosegui, su questo server sarà creato un nuovo account usando le tue " "credenziali.\n" "Per favore reinserisci la tua password e premi Registrati e accedi per " From 8e35ab78b43f063243df0e985dfacecb0cff3907 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:37:55 +0000 Subject: [PATCH 043/279] Translated using Weblate (Lao) Currently translated at 0.1% (1 of 1274 strings) --- po/lo/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/lo/minetest.po b/po/lo/minetest.po index 9971e84fd..d52565df1 100644 --- a/po/lo/minetest.po +++ b/po/lo/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Lao (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Lao \n" "Language: lo\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -857,7 +857,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From 3c234107532cca9899a77ed96be4910f7ea0980f Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:38:03 +0000 Subject: [PATCH 044/279] Translated using Weblate (Lithuanian) Currently translated at 15.4% (196 of 1274 strings) --- po/lt/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/lt/minetest.po b/po/lt/minetest.po index 91864ca50..85263e363 100644 --- a/po/lt/minetest.po +++ b/po/lt/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Lithuanian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Lithuanian \n" "Language: lt\n" @@ -14,7 +14,7 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > " "19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) ? " "1 : 2);\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -935,7 +935,7 @@ msgstr "Pateiktas pasaulio kelias neegzistuoja: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From 6dbbe07d50d73362a908ff746c646b49f0038932 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:33:50 +0000 Subject: [PATCH 045/279] Translated using Weblate (Thai) Currently translated at 66.8% (851 of 1274 strings) --- po/th/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/th/minetest.po b/po/th/minetest.po index ebda995d1..70d78ca4e 100644 --- a/po/th/minetest.po +++ b/po/th/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Thai (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Thai \n" "Language: th\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -871,7 +871,7 @@ msgstr "โลกมีเส้นไม่มี: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "ต้องการใช้แทนอักษร" +msgstr "yes" #: src/client/game.cpp #, fuzzy From 8e5fa96ffcbaefb417ee3772859af0d6d7c46948 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:36:07 +0000 Subject: [PATCH 046/279] Translated using Weblate (Filipino) Currently translated at 0.1% (1 of 1274 strings) --- po/fil/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/fil/minetest.po b/po/fil/minetest.po index 3bf95e45e..5323fa6ed 100644 --- a/po/fil/minetest.po +++ b/po/fil/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Filipino (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Filipino \n" "Language: fil\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 " "|| n % 10 == 6 || n % 10 == 9);\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -858,7 +858,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From f5d2d79f756007367856a838d15ac297e3228295 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:38:51 +0000 Subject: [PATCH 047/279] Translated using Weblate (Portuguese (Brazil)) Currently translated at 96.4% (1228 of 1274 strings) --- po/pt_BR/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/pt_BR/minetest.po b/po/pt_BR/minetest.po index 9fb7bbbe8..21bec314a 100644 --- a/po/pt_BR/minetest.po +++ b/po/pt_BR/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Portuguese (Brazil) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -874,7 +874,7 @@ msgstr "O caminho do mundo providenciado não existe. " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "precisa_fonte_reserva" +msgstr "no" #: src/client/game.cpp msgid "" From 2ef7df5cfe40b2875e7557c4f51ba97b2c6f41d2 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:33:05 +0000 Subject: [PATCH 048/279] Translated using Weblate (Danish) Currently translated at 49.5% (631 of 1274 strings) --- po/da/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/da/minetest.po b/po/da/minetest.po index 600eb042a..cdca137ba 100644 --- a/po/da/minetest.po +++ b/po/da/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Danish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Danish \n" "Language: da\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -884,7 +884,7 @@ msgstr "Angivne sti til verdenen findes ikke: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From 839bb713895700f0d0188153ee3eedf96c5a4450 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:34:56 +0000 Subject: [PATCH 049/279] Translated using Weblate (Greek) Currently translated at 1.1% (14 of 1274 strings) --- po/el/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/el/minetest.po b/po/el/minetest.po index 18e4b8a14..afc61a060 100644 --- a/po/el/minetest.po +++ b/po/el/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Greek (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Greek \n" "Language: el\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -860,7 +860,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From b037efc5c6f4c86f4dbf2a5e8daece20dd3c50a5 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:35:15 +0000 Subject: [PATCH 050/279] Translated using Weblate (Esperanto) Currently translated at 79.6% (1014 of 1274 strings) --- po/eo/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/eo/minetest.po b/po/eo/minetest.po index d9630fc17..c53d4181f 100644 --- a/po/eo/minetest.po +++ b/po/eo/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Esperanto (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Esperanto \n" "Language: eo\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -869,7 +869,7 @@ msgstr "Donita monda dosierindiko ne ekzistas: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "bezonas_rezervan_tiparon" +msgstr "yes" #: src/client/game.cpp msgid "" From 0ea16328dfda7049510ca640285dc207f467194a Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:35:46 +0000 Subject: [PATCH 051/279] Translated using Weblate (Estonian) Currently translated at 14.4% (183 of 1274 strings) --- po/et/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/et/minetest.po b/po/et/minetest.po index d2a659cd2..2207f3a80 100644 --- a/po/et/minetest.po +++ b/po/et/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Estonian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Estonian \n" "Language: et\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -919,7 +919,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "no" #: src/client/game.cpp msgid "" From 18e42efa015af121f1c7599fd10ee43797521ad7 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:36:30 +0000 Subject: [PATCH 052/279] Translated using Weblate (Hungarian) Currently translated at 61.9% (788 of 1274 strings) --- po/hu/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/hu/minetest.po b/po/hu/minetest.po index c4de6a3d2..93ad4bab3 100644 --- a/po/hu/minetest.po +++ b/po/hu/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Hungarian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-10-29 11:53+0000\n" -"Last-Translator: Ács Zoltán \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9.1\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -873,7 +873,7 @@ msgstr "A megadott útvonalon nem létezik világ: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "Tartalék szövegtípus szükséges" +msgstr "yes" #: src/client/game.cpp msgid "" From 0823bb1276348554791b70239861524a6972ce33 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:36:18 +0000 Subject: [PATCH 053/279] Translated using Weblate (Hebrew) Currently translated at 4.3% (55 of 1274 strings) --- po/he/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/he/minetest.po b/po/he/minetest.po index 746a68d36..263c5d24a 100644 --- a/po/he/minetest.po +++ b/po/he/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Hebrew (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Hebrew \n" "Language: he\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " "n % 10 == 0) ? 2 : 3));\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -888,7 +888,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From 92aab79d275d4943a72b8d4b092dde292860de67 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:36:45 +0000 Subject: [PATCH 054/279] Translated using Weblate (Italian) Currently translated at 96.9% (1234 of 1274 strings) --- po/it/minetest.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/it/minetest.po b/po/it/minetest.po index 621ac9bd7..525b967e5 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Italian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-07 09:04+0000\n" -"Last-Translator: Allan Nordhøy \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Italian \n" "Language: it\n" @@ -865,7 +865,7 @@ msgstr "Il percorso fornito per il mondo non esiste: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "richiede_font_ripiego" +msgstr "no" #: src/client/game.cpp msgid "" From 1d268f4b8355ee162837829dfe333c2d12fd5a79 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:38:34 +0000 Subject: [PATCH 055/279] Translated using Weblate (Norwegian Nynorsk) Currently translated at 31.2% (398 of 1274 strings) --- po/nn/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/nn/minetest.po b/po/nn/minetest.po index b341f4187..3bd237b2a 100644 --- a/po/nn/minetest.po +++ b/po/nn/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Norwegian Nynorsk (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -872,7 +872,7 @@ msgstr "Verds-ruta du ga finnes ikkje: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "Trengar_attoverfall_skriftstype" +msgstr "yes" #: src/client/game.cpp msgid "" From 1407a7bc8a374af0c57898838c3a456484a2c4ab Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:37:15 +0000 Subject: [PATCH 056/279] Translated using Weblate (Kazakh) Currently translated at 0.1% (1 of 1274 strings) --- po/kk/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/kk/minetest.po b/po/kk/minetest.po index db633a053..cd847a9b7 100644 --- a/po/kk/minetest.po +++ b/po/kk/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Kazakh (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Kazakh \n" "Language: kk\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -857,7 +857,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From 3f3fce466473da1619a43e313928740ed5b84f90 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:37:29 +0000 Subject: [PATCH 057/279] Translated using Weblate (Kannada) Currently translated at 3.0% (38 of 1274 strings) --- po/kn/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/kn/minetest.po b/po/kn/minetest.po index e4045c7a8..6b8c4ec75 100644 --- a/po/kn/minetest.po +++ b/po/kn/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Kannada (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Kannada \n" "Language: kn\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -870,7 +870,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From e38415c56ddba61fcf20133ceaeb276f59ce967d Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:39:06 +0000 Subject: [PATCH 058/279] Translated using Weblate (Slovenian) Currently translated at 42.0% (535 of 1274 strings) --- po/sl/minetest.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/po/sl/minetest.po b/po/sl/minetest.po index 47e53ffe8..d48ee9167 100644 --- a/po/sl/minetest.po +++ b/po/sl/minetest.po @@ -3,17 +3,17 @@ msgstr "" "Project-Id-Version: Slovenian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Slovenian \n" "Language: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" -"%100==4 ? 2 : 3;\n" -"X-Generator: Weblate 3.9-dev\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -874,7 +874,7 @@ msgstr "Podana pot do sveta ne obstaja: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "no" #: src/client/game.cpp msgid "" From 4666c99b27a7ae1539f80ccf3ed0cb6fcf2bb3b0 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:37:36 +0000 Subject: [PATCH 059/279] Translated using Weblate (Kyrgyz) Currently translated at 8.6% (110 of 1274 strings) --- po/ky/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/ky/minetest.po b/po/ky/minetest.po index 29a57ee93..2f91441c1 100644 --- a/po/ky/minetest.po +++ b/po/ky/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Kyrgyz (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Kyrgyz \n" "Language: ky\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -926,7 +926,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From ab2fa2ca9da806716fd326f8e475affe13fd369c Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:38:20 +0000 Subject: [PATCH 060/279] Translated using Weblate (Burmese) Currently translated at 0.1% (1 of 1274 strings) --- po/my/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/my/minetest.po b/po/my/minetest.po index d0f8bfdc7..272eb01c9 100644 --- a/po/my/minetest.po +++ b/po/my/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Burmese (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Burmese \n" "Language: my\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -857,7 +857,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From 6f97e15a8f643156362f4dfbcbf5038663e4530d Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:40:29 +0000 Subject: [PATCH 061/279] Translated using Weblate (Chinese (Simplified)) Currently translated at 63.0% (803 of 1274 strings) --- po/zh_CN/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po index 648ad72e9..e723e35b2 100644 --- a/po/zh_CN/minetest.po +++ b/po/zh_CN/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -868,7 +868,7 @@ msgstr "提供的世界路径不存在: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "需要_fallback_字体" +msgstr "yes" #: src/client/game.cpp msgid "" From 662af2edba37c0cbc800a471c2823c5f750b0974 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:34:31 +0000 Subject: [PATCH 062/279] Translated using Weblate (Dhivehi) Currently translated at 8.2% (105 of 1274 strings) --- po/dv/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/dv/minetest.po b/po/dv/minetest.po index 2f252435d..c96ac042e 100644 --- a/po/dv/minetest.po +++ b/po/dv/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Dhivehi (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Dhivehi \n" "Language: dv\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -878,7 +878,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From 642cac3759ebf1f494411a6c33801cd63201dc00 Mon Sep 17 00:00:00 2001 From: Krock Date: Sat, 9 Nov 2019 14:37:00 +0000 Subject: [PATCH 063/279] Translated using Weblate (Japanese (Kansai)) Currently translated at 0.1% (1 of 1274 strings) --- po/ja_KS/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/ja_KS/minetest.po b/po/ja_KS/minetest.po index ca5d315ee..504aadb3b 100644 --- a/po/ja_KS/minetest.po +++ b/po/ja_KS/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Japanese (Kansai) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"Last-Translator: Krock \n" "Language-Team: Japanese (Kansai) \n" "Language: ja_KS\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -857,7 +857,7 @@ msgstr "" #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "" +msgstr "yes" #: src/client/game.cpp msgid "" From 7d2ae10849c843d8483b157706b89076ffbc0684 Mon Sep 17 00:00:00 2001 From: Jacques Lagrange Date: Tue, 12 Nov 2019 06:11:53 +0000 Subject: [PATCH 064/279] Translated using Weblate (Italian) Currently translated at 100.0% (1274 of 1274 strings) --- po/it/minetest.po | 191 +++++++++++++++++++++++----------------------- 1 file changed, 97 insertions(+), 94 deletions(-) diff --git a/po/it/minetest.po b/po/it/minetest.po index 525b967e5..0779ba55a 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Italian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2019-11-13 16:04+0000\n" +"Last-Translator: Jacques Lagrange \n" "Language-Team: Italian \n" "Language: it\n" @@ -28,7 +28,7 @@ msgstr "Si è verificato un errore in uno script Lua:" #: builtin/fstk/ui.lua msgid "An error occurred:" -msgstr "È successo un errore:" +msgstr "Si è verificato un errore:" #: builtin/fstk/ui.lua msgid "Main menu" @@ -245,7 +245,7 @@ msgstr "Nessun gioco selezionato" #: builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Seed" -msgstr "Seme" +msgstr "Seme di generazione" #: builtin/mainmenu/dlg_create_world.lua msgid "Warning: The minimal development test is meant for developers." @@ -261,13 +261,13 @@ msgstr "Non hai nessun gioco installato." #: builtin/mainmenu/dlg_delete_content.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "Sei sicuro di volere cancellare \"$1\"?" +msgstr "Sei sicuro di volere eliminare \"$1\"?" #: builtin/mainmenu/dlg_delete_content.lua #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua #: src/client/keycode.cpp msgid "Delete" -msgstr "Cancella" +msgstr "Elimina" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" @@ -279,7 +279,7 @@ msgstr "pkgmgr: percorso non valido \"$1\"" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" -msgstr "Cancellare il mondo \"$1\"?" +msgstr "Vuoi eliminare il mondo \"$1\"?" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" @@ -307,11 +307,11 @@ msgstr "Rumore 2D" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "< Back to Settings page" -msgstr "< Torna alla Pag. impostazioni" +msgstr "< Torna alle impostazioni" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" -msgstr "Mostra" +msgstr "Scorri" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Disabled" @@ -343,7 +343,7 @@ msgstr "Persistenza" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid integer." -msgstr "Per favore inserisci un intero valido." +msgstr "Per favore inserisci un numero intero valido." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid number." @@ -403,19 +403,19 @@ msgstr "Propagazione Z" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "absvalue" -msgstr "val.ass." +msgstr "'absvalue'" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "defaults" -msgstr "predefiniti" +msgstr "'defaults'" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "eased" -msgstr "semplificato" +msgstr "'eased'" #: builtin/mainmenu/pkgmgr.lua msgid "$1 (Enabled)" -msgstr "$1 (Abilitato)" +msgstr "$1 (abilitato)" #: builtin/mainmenu/pkgmgr.lua msgid "$1 mods" @@ -427,12 +427,12 @@ msgstr "Impossibile installare $1 in $2" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find real mod name for: $1" -msgstr "Installa mod: Impossibile trovare il nome reale del mod per: $1" +msgstr "Installa mod: Impossibile trovare il vero nome del mod per: $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find suitable folder name for modpack $1" msgstr "" -"Installa mod: Impossibile trovare un nome cartella adatto per il pacchetto " +"Installa mod: Impossibile trovare un nome cartella corretto per il pacchetto " "mod $1" #: builtin/mainmenu/pkgmgr.lua @@ -601,7 +601,7 @@ msgstr "Ferimento abilitato" #: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua msgid "Del. Favorite" -msgstr "Canc. preferito" +msgstr "Elimina preferito" #: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua msgid "Favorite" @@ -653,7 +653,7 @@ msgstr "Sei sicuro di azzerare il tuo mondo locale?" #: builtin/mainmenu/tab_settings.lua msgid "Autosave Screen Size" -msgstr "Salvare dim. finestra" +msgstr "Ricorda dim. finestra" #: builtin/mainmenu/tab_settings.lua msgid "Bilinear Filter" @@ -701,11 +701,11 @@ msgstr "Nessuna mipmap" #: builtin/mainmenu/tab_settings.lua msgid "Node Highlighting" -msgstr "Evidenz. nodo" +msgstr "Evidenzia nodi" #: builtin/mainmenu/tab_settings.lua msgid "Node Outlining" -msgstr "Profilo nodo" +msgstr "Profilo nodi" #: builtin/mainmenu/tab_settings.lua msgid "None" @@ -753,7 +753,7 @@ msgstr "Foglie semplici" #: builtin/mainmenu/tab_settings.lua msgid "Smooth Lighting" -msgstr "Illuminaz. uniforme" +msgstr "Luce uniforme" #: builtin/mainmenu/tab_settings.lua msgid "Texturing:" @@ -837,7 +837,7 @@ msgstr "Impossibile trovare o caricare il gioco \"" #: src/client/clientlauncher.cpp msgid "Invalid gamespec." -msgstr "Spec. gioco non valida." +msgstr "Requisiti gioco non validi." #: src/client/clientlauncher.cpp msgid "Main Menu" @@ -1682,9 +1682,8 @@ msgid "Toggle noclip" msgstr "Scegli incorporea" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "Scegli registro chat" +msgstr "Modalità beccheggio" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1824,9 +1823,8 @@ msgstr "" "Rumore 2D che controlla forma/comparsa delle file di montagne con dirupi." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that locates the river valleys and channels." -msgstr "Rumore 2D che controlla forma/dimensione delle colline in serie." +msgstr "Rumore 2D che posiziona fiumi e canali." #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1864,7 +1862,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "Rumore 3D che stabilisce il numero di segrete per blocco di mondo." #: src/settings_translation_file.cpp msgid "" @@ -1922,7 +1920,7 @@ msgstr "Accelerazione in aria" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Accelerazione di gravità, in nodi per secondo al secondo." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2153,14 +2151,14 @@ msgid "Bumpmapping" msgstr "Bumpmapping" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" "Most users will not need to change this.\n" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Distanza in nodi del piano vicino alla telecamera, tra 0 e 0.5\n" +"Distanza in nodi del \"piano di ritaglio vicino\" alla telecamera, tra 0 e " +"0.5.\n" "La maggior parte degli utenti non dovrà cambiarla.\n" "Aumentarla può ridurre l'artificialità sulle GPU più deboli.\n" "0.1 = predefinita, 0.25 = buon valore per tablet più deboli." @@ -2250,9 +2248,8 @@ msgid "Chat message count limit" msgstr "Numero limite dei messaggi di chat" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "Lunghezza massima dei messaggi di chat" +msgstr "Formato dei messaggi di chat" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2433,7 +2430,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Controlla la velocità di affondamento nei liquidi." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2498,9 +2495,8 @@ msgid "Debug info toggle key" msgstr "Tasto di scelta delle informazioni di debug" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Soglia di rumore del deserto" +msgstr "Dimensione del file di debug" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -2512,7 +2508,7 @@ msgstr "Tasto dim. volume" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." -msgstr "" +msgstr "Va diminuito per aumentare la resistenza al movimento nel liquido." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2606,9 +2602,8 @@ msgid "Defines the base ground level." msgstr "Definisce il livello base del terreno." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "Definisce il livello base del terreno." +msgstr "Stabilisce la profondità del letto del fiume." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." @@ -2617,14 +2612,12 @@ msgstr "" "= illimitata)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "Definisce la struttura dei canali fluviali di ampia scala." +msgstr "Stabilisce la larghezza del fiume." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "Definisce aree in cui gli alberi hanno le mele." +msgstr "Stabilisce la larghezza della valle del fiume." #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2657,6 +2650,9 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" +"Sconsigliato, va usata la definizione del bioma per definire e posizionare " +"le caverne di liquido.\n" +"Limite verticale della lava nelle caverne grandi." #: src/settings_translation_file.cpp msgid "Depth below which you'll find giant caverns." @@ -2679,13 +2675,12 @@ msgid "Desert noise threshold" msgstr "Soglia di rumore del deserto" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Deserts occur when np_biome exceeds this value.\n" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" -"Quando np_biome eccede questo valore si verificano i deserti.\n" -"Ciò viene ignorato quando è attivato il nuovo sistema di bioma." +"I deserti si presentano quando np_biome supera questo valore.\n" +"Quando è attivo il parametro 'snowbiomes', viene ignorato." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -2732,9 +2727,8 @@ msgid "Dungeon minimum Y" msgstr "Y minimo dei sotterranei" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Y minimo dei sotterranei" +msgstr "Rumore per le segrete" #: src/settings_translation_file.cpp msgid "" @@ -3099,6 +3093,9 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Formato dei messaggi del giocatore. Le stringhe seguenti sono segnaposto " +"validi:\n" +"@name, @message, @timestamp (optional)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3359,18 +3356,24 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Accelerazione orizzontale in aria quando si salta o si cade,\n" +"in nodi al secondo per secondo." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Accelerazione orizzontale e verticale in modalità veloce,\n" +"in nodi al secondo per secondo." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"Accelerazione orizzontale sul terreno o in scalata,\n" +"in nodi al secondo per secondo." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3659,6 +3662,11 @@ msgid "" "deleting an older debug.txt.1 if it exists.\n" "debug.txt is only moved if this setting is positive." msgstr "" +"Se la dimensione del file debug.txt supera il numero di Mb indicati in\n" +"questa impostazione quando viene aperto, il file viene rinominato in " +"debug.txt.1,\n" +"eliminando un eventuale debug.txt.1 più vecchio.\n" +"debug.txt viene rinominato solo se c'è questa impostazione." #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." @@ -3692,7 +3700,7 @@ msgstr "Tasto aum. volume" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "Velocità verticale iniziale quando si salta, in nodi al secondo." #: src/settings_translation_file.cpp msgid "" @@ -4733,9 +4741,8 @@ msgid "Liquid queue purge time" msgstr "Tempo di svuotamento della coda del liquido" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Velocità di affondamento del liquido" +msgstr "Velocità di affondamento nel liquido" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." @@ -4819,14 +4826,15 @@ msgstr "" "\"altitude_dry\": riduce l'umidità con l'altitudine." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen flat.\n" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Attributi di generazione della mappa specifici del generatore di mappe v7.\n" -"\"ridges\" abilita i fiumi." +"Attributi di generazione della mappa specifici del generatore di mappe " +"piatto.\n" +"'terrain' abilita la generazione di terreno non-frattale:\n" +"oceano, isole e sotterranei." #: src/settings_translation_file.cpp msgid "" @@ -4843,7 +4851,6 @@ msgstr "" "Attributi di generazione della mappa specifici del generatore di mappe v5." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen v6.\n" "The 'snowbiomes' flag enables the new 5 biome system.\n" @@ -4851,9 +4858,9 @@ msgid "" "the 'jungles' flag is ignored." msgstr "" "Attributi di generazione della mappa specifici del generatore di mappe v6.\n" -"Il valore \"snowbiomes\" abilita il nuovo sistema di bioma 5.\n" -"Quando è abilitato il nuovo sistema di bioma le giungle sono abilitate\n" -"automaticamente e il valore \"jungles\" è ignorato." +"Il valore \"snowbiomes\" abilita il nuovo sistema di 5 biomi.\n" +"Quando è abilitato,le giungle sono abilitate automaticamente \n" +"e il valore \"jungles\" viene ignorato." #: src/settings_translation_file.cpp msgid "" @@ -4908,9 +4915,8 @@ msgid "Mapgen Fractal" msgstr "Generatore di mappe Fractal" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal specific flags" -msgstr "Valori specifici del generatore di mappe Flat" +msgstr "Valori specifici del generatore di mappe frattale" #: src/settings_translation_file.cpp msgid "Mapgen V5" @@ -4997,6 +5003,8 @@ msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Resistenza massima dei liquidi. Gestisce la decelerazione \n" +"quando si entra ad alta velocità in un liquido." #: src/settings_translation_file.cpp msgid "" @@ -5209,7 +5217,6 @@ msgid "Mute sound" msgstr "Silenzia audio" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this.\n" @@ -5217,12 +5224,9 @@ msgid "" "- The optional floatlands of v7 (disabled by default)." msgstr "" "Nome del generatore mappa da usare alla creazione di un nuovo mondo.\n" -"Creare un mondo nel menu principale lo scavalcherà.\n" -"Generatori mappe attualmente stabili:\n" -"v5, v6, v7 (eccetto terre fluttuanti), singlenode.\n" -"\"Stabile\" significa che la forma del terreno in un mondo esistente non\n" -"sarà cambiata in futuro. Si noti che i biomi sono determinati dai giochi\n" -"e potrebbero ancora cambiare." +"Non viene usato se si crea un mondo nel menu principale.\n" +"Generatori mappe attualmente molto instabili:\n" +"- 'floatlands' in v7 (disabilitato per impostazione predefinita)." #: src/settings_translation_file.cpp msgid "" @@ -5243,9 +5247,8 @@ msgstr "" "dei server." #: src/settings_translation_file.cpp -#, fuzzy msgid "Near clipping plane" -msgstr "Piano vicino" +msgstr "Piano di ritaglio vicino" #: src/settings_translation_file.cpp msgid "Network" @@ -5296,7 +5299,6 @@ msgid "Number of emerge threads" msgstr "Numero di thread emerge" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Number of emerge threads to use.\n" "WARNING: Currently there are multiple bugs that may cause crashes when\n" @@ -5312,17 +5314,22 @@ msgid "" "processes, especially in singleplayer and/or when running Lua code in\n" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" -"Numero di thread emerge da usare.\n" -"Vuoto o valore 0:\n" -"- Selezione automatica. Il numero di thread emerge sarà\n" +"Numero di emerge thread da usare.\n" +"Attenzione: Attualmente ci sono diversi bachi che possono provocare crash " +"quando\n" +"'num_emerge_threds' è maggiore di 1. Fintanto che questo avviso non viene " +"rimosso \n" +"si raccomanda vivamente di impostarlo al valore predefinito 1.\n" +"Valore 0:\n" +"- Selezione automatica. Il numero di emerge thread sarà\n" "- \"numero di processori - 2\", con un limite inferiore di 1.\n" "Qualunque altro valore:\n" -"- Specifica il numero di thread emerge, con un limite inferiore di 1.\n" -"Avvertimento: aumentare il numero di thread emerge aumenta la\n" +"- Specifica il numero di emerge thread, con un limite inferiore di 1.\n" +"Avvertimento: aumentare il numero di emerge thread aumenta la\n" "velocità del motore del generatore mappa, ma ciò potrebbe danneggiare\n" "le prestazioni del gioco interferendo con altri processi, specialmente in\n" -"modalità giocatore singolo e/o quando si esegue codice Lua in \"on_generated" -"\".\n" +"modalità giocatore singolo e/o quando si esegue codice Lua in \"" +"on_generated\".\n" "Per molti utenti l'impostazione ottimale può essere \"1\"." #: src/settings_translation_file.cpp @@ -5601,14 +5608,12 @@ msgid "Rightclick repetition interval" msgstr "Intervallo di ripetizione del click destro" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel depth" -msgstr "Profondità dei fiumi" +msgstr "Profondità dell'alveo dei fiumi" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel width" -msgstr "Profondità dei fiumi" +msgstr "Larghezza dell'alveo dei fiumi" #: src/settings_translation_file.cpp msgid "River depth" @@ -5623,9 +5628,8 @@ msgid "River size" msgstr "Dimensione dei fiumi" #: src/settings_translation_file.cpp -#, fuzzy msgid "River valley width" -msgstr "Profondità dei fiumi" +msgstr "Larghezza delle valli dei fiumi" #: src/settings_translation_file.cpp msgid "Rollback recording" @@ -5974,7 +5978,7 @@ msgstr "Velocità di strisciamento" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "Velocità furtiva, in nodi al secondo." #: src/settings_translation_file.cpp msgid "Sound" @@ -6364,7 +6368,6 @@ msgid "Undersampling" msgstr "Sotto-campionamento" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Undersampling is similar to using a lower screen resolution, but it applies\n" "to the game world only, keeping the GUI intact.\n" @@ -6372,12 +6375,13 @@ msgid "" "image.\n" "Higher values result in a less detailed image." msgstr "" -"Il sotto-campionamento è simile all'uso di una risoluzione schermo " +"Il sotto-campionamento è analogo all'uso di una risoluzione schermo " "inferiore,\n" "ma è applicato solo al mondo di gioco, mantenendo intatta l'interfaccia " "utente.\n" "Dovrebbe dare un aumento di prestazioni significativo al costo di immagini\n" -"meno dettagliate." +"meno dettagliate.\n" +"Più si aumenta il valore, meno dettagliata sarà l'immagine." #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" @@ -6493,7 +6497,7 @@ msgstr "Varia la ripidità dei dirupi." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "Velocità di scalata, in nodi al secondo." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6551,7 +6555,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "Velocità a terra o in volo, in nodi al secondo." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6560,6 +6564,8 @@ msgstr "Velocità di cammino" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." msgstr "" +"Velocità sul terreno, in volo e in scalata con modalità rapida, in nodi al " +"secondo." #: src/settings_translation_file.cpp msgid "Water level" @@ -6586,19 +6592,16 @@ msgid "Waving water" msgstr "Acqua ondeggiante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave height" -msgstr "Altezza dell'acqua ondeggiante" +msgstr "Altezza di ondeggiamento dei liquidi" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave speed" -msgstr "Velocità di ondeggiamento dell'acqua" +msgstr "Velocità di ondeggiamento dei liquidi" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wavelength" -msgstr "Durata di ondeggiamento dell'acqua" +msgstr "Durata di ondeggiamento dei liquidi" #: src/settings_translation_file.cpp msgid "" From dcaa7ac609a404d74d470f05c766bfd06a67fe84 Mon Sep 17 00:00:00 2001 From: Julien Maulny Date: Tue, 12 Nov 2019 15:11:01 +0000 Subject: [PATCH 065/279] Translated using Weblate (French) Currently translated at 97.0% (1236 of 1274 strings) --- po/fr/minetest.po | 51 ++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/po/fr/minetest.po b/po/fr/minetest.po index cec173e3d..386d8aeef 100644 --- a/po/fr/minetest.po +++ b/po/fr/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: French (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-13 16:04+0000\n" +"Last-Translator: Julien Maulny \n" "Language-Team: French \n" "Language: fr\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Vous êtes mort" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Une erreur est survenue dans un script Lua (comme un mod) :" +msgstr "Une erreur est survenue dans un script Lua :" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -121,18 +120,16 @@ msgid "Mod:" msgstr "Mod :" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Dépendances optionnelles :" +msgstr "Pas de dépendances (optionnelles)" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Pas de description du jeu fournie." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Pas de dépendances." +msgstr "Pas de dépendances" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." @@ -141,7 +138,7 @@ msgstr "Aucune description fournie pour le pack de mods." #: builtin/mainmenu/dlg_config_world.lua #, fuzzy msgid "No optional dependencies" -msgstr "Dépendances optionnelles :" +msgstr "Pas de dépendances optionnelles" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -789,9 +786,8 @@ msgid "Waving Leaves" msgstr "Feuilles ondulantes" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Environnement mouvant" +msgstr "Liquides ondulants" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1533,7 +1529,7 @@ msgid "Register and Join" msgstr "S'enregistrer et rejoindre" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1541,12 +1537,13 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Vous allez rejoindre le serveur %1$s1 avec le nom \"%2$s2\" pour la première " -"fois. Si vous continuez un nouveau compte avec ces identifiants sera créé " +"Vous êtes sur le point de rejoindre ce serveur avec le nom \"%s\" pour la " +"première fois.\n" +"Si vous continuez, un nouveau compte utilisant vos identifiants sera créé " "sur ce serveur.\n" -"Merci d'inscrire de nouveau votre mot de passe et de cliquer sur Enregistrer " -"et rejoindre pour confirmer la création du coup. Auquel cas, cliquez sur " -"Annuler pour retourner en arrière." +"Veuillez retaper votre mot de passe et cliquer sur \"S'enregistrer et " +"rejoindre\" pour confirmer la création de votre compte, ou cliquez sur \"" +"Annuler\"." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1925,7 +1922,7 @@ msgstr "Accélération en l'air" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Accélération de la gravité, en nœuds par seconde par seconde." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2254,9 +2251,8 @@ msgid "Chat message count limit" msgstr "Limite du nombre de message de discussion" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "Longueur maximum d'un message de chat" +msgstr "Format du message de chat" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2503,9 +2499,8 @@ msgid "Debug info toggle key" msgstr "Infos de débogage" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Limite de bruit pour le désert" +msgstr "Seuil de la taille du fichier de logs" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -2518,6 +2513,7 @@ msgstr "Touche pour diminuer le volume" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." msgstr "" +"Diminuer cette valeur pour augmenter la résistance du liquide au mouvement." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2735,9 +2731,8 @@ msgid "Dungeon minimum Y" msgstr "Minimum Y des donjons" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Minimum Y des donjons" +msgstr "Bruit de donjon" #: src/settings_translation_file.cpp msgid "" @@ -3101,6 +3096,8 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Format des messages de chat des joueurs. Substituts valides :\n" +"@name, @message, @timestamp (facultatif)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3362,12 +3359,16 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Accélération horizontale dans l'air en sautant ou en tombant,\n" +"en nœuds par seconde par seconde." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Accélération horizontale et verticale en mode rapide,\n" +"en nœuds par seconde par seconde." #: src/settings_translation_file.cpp msgid "" From a95e75261a0baf22d94fe558a3a170876b1898d3 Mon Sep 17 00:00:00 2001 From: Viktar Vauchkevich Date: Mon, 18 Nov 2019 20:59:06 +0000 Subject: [PATCH 066/279] Translated using Weblate (Belarusian) Currently translated at 100.0% (1274 of 1274 strings) --- po/be/minetest.po | 243 ++++++++++++++++++++++------------------------ 1 file changed, 114 insertions(+), 129 deletions(-) diff --git a/po/be/minetest.po b/po/be/minetest.po index 59be1980a..1658d2dbe 100644 --- a/po/be/minetest.po +++ b/po/be/minetest.po @@ -3,17 +3,17 @@ msgstr "" "Project-Id-Version: Belarusian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-19 23:04+0000\n" +"Last-Translator: Viktar Vauchkevich \n" "Language-Team: Belarusian \n" "Language: be\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.9-dev\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -24,9 +24,8 @@ msgid "You died" msgstr "Вы загінулі" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Памылка ў скрыпце Lua, такая як у мадыфікацыі:" +msgstr "Адбылася памылка ў Lua-скрыпце:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -121,27 +120,24 @@ msgid "Mod:" msgstr "Мадыфікацыя:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Неабавязковыя залежнасці:" +msgstr "Няма (неабясковыя) залежнасцей" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Апісанне гульні адсутнічае." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Залежнасці адсутнічаюць." +msgstr "Няма жорсткіх залежнасцяў" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Апісанне мадыфікацыі адсутнічае." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Неабавязковыя залежнасці:" +msgstr "Няма неабавязковых залежнасцей" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -787,9 +783,8 @@ msgid "Waving Leaves" msgstr "Дрыготкае лісце" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Калыханне блокаў" +msgstr "Калыханне вадкасцяў" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -916,14 +911,12 @@ msgid "- Server Name: " msgstr "- Назва сервера: " #: src/client/game.cpp -#, fuzzy msgid "Automatic forward disabled" -msgstr "Аўтаматычны рух адключаны" +msgstr "Аўтаматычны рух наперад адключаны" #: src/client/game.cpp -#, fuzzy msgid "Automatic forward enabled" -msgstr "Аўтаматычны рух уключаны" +msgstr "Аўтаматычны рух наперад уключаны" #: src/client/game.cpp msgid "Camera update disabled" @@ -1536,7 +1529,7 @@ msgid "Register and Join" msgstr "Зарэгістравацца і далучыцца" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1544,10 +1537,11 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Вы хочаце першы раз увайсці на сервер %1$s як \"%2$s\". Калі вы працягнеце, " -"то на серверы будзе створаны новы акаўнт з уведзенымі данымі. Калі ласка, " -"ўвядзіце пароль яшчэ раз і націсніце \"Зарэгістравацца і далучыцца\", каб " -"пацвердзіць стварэнне акаўнта альбо \"Скасаваць\", каб адмовіцца." +"Вы хочаце першы раз увайсці на сервер з назвай «%s».\n" +"Калі вы працягнеце, то на серверы будзе створаны новы конт з вашамі данымі.\n" +"Калі ласка, ўвядзіце пароль яшчэ раз і націсніце «Зарэгістравацца і " +"далучыцца», каб пацвердзіць стварэнне конта альбо \"Скасаваць\", каб " +"адмовіцца." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1691,9 +1685,8 @@ msgid "Toggle noclip" msgstr "Рух скрозь сцены" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "Размова" +msgstr "Нахіленне руху" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1812,24 +1805,20 @@ msgid "2D noise that controls the shape/size of step mountains." msgstr "2D-шум, што кіруе формай/памерам сталовых гор." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that controls the size/occurrence of ridged mountain ranges." -msgstr "2D-шум, што кіруе памерам/месцазнаходжаннем горных ланцугоў." +msgstr "2D-шум, што кіруе памерам/распаўсюдам складчатых горных ланцугоў." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that controls the size/occurrence of rolling hills." -msgstr "2D-шум, што кіруе памерам/месцазнаходжаннем пагоркаў." +msgstr "2D-шум, што кіруе памерам/распаўсюдам пагоркаў." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that controls the size/occurrence of step mountain ranges." -msgstr "2D-шум, што кіруе памерам/месцазнаходжаннем горных ланцугоў." +msgstr "2D-шум, што кіруе памерам/распаўсюдам ступенявых горных ланцугоў." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that locates the river valleys and channels." -msgstr "2D-шум, што кіруе памерам/месцазнаходжаннем горных ланцугоў." +msgstr "2D-шум, што размяшчае поймы рэк і рэчышчы." #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1866,7 +1855,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "3D-шум, што вызначае колькасць падзямелляў на кавалку мапы." #: src/settings_translation_file.cpp msgid "" @@ -1922,7 +1911,7 @@ msgstr "Паскарэнне ў паветры" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Паскарэнне свабоднага падзення ў вузлах за секунду за секунду." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2066,9 +2055,8 @@ msgstr "" "Прызначаецца ў блоках мапы (16 вузлоў)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Automatic forward key" -msgstr "Клавіша ўперад" +msgstr "Клавіша аўта-ўперад" #: src/settings_translation_file.cpp msgid "Automatically jump up single-node obstacles." @@ -2151,17 +2139,17 @@ msgid "Bumpmapping" msgstr "Рэльефнае тэкстураванне" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" "Most users will not need to change this.\n" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Адлегласць паміж камерай і плоскасцю, ад 0 да 0.5 блока. Большасці " -"карыстальнікаў няма патрэбы змяняць гэты параметр. Павелічэнне параметра " -"можа паменшыць колькасць артэфактаў на слабых графічных працэсарах.\n" -"Прадвызначана - 0.1; 0.25 будзе добра для слабых планшэтаў." +"Блізкая плоскаць адсячэння камеры ў вузлах ад 0 да 0.5.\n" +"Большасці карыстальнікаў няма патрэбы змяняць гэты параметр.\n" +"Павелічэнне можа паменшыць колькасць артэфактаў на слабых графічных " +"працэсарах.\n" +"Тыповае — 0.1, а 0.25 будзе добра для слабых планшэтаў." #: src/settings_translation_file.cpp msgid "Camera smoothing" @@ -2248,9 +2236,8 @@ msgid "Chat message count limit" msgstr "Максімальная колькасць паведамленняў у размове" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "Максімальная працягласць паведамлення ў размове" +msgstr "Фармат чат-паведамленняў" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2393,12 +2380,11 @@ msgstr "Вышыня кансолі" #: src/settings_translation_file.cpp msgid "ContentDB Flag Blacklist" -msgstr "" +msgstr "Чорны спіс сцяжкоў ContentDB" #: src/settings_translation_file.cpp -#, fuzzy msgid "ContentDB URL" -msgstr "Змесціва" +msgstr "URL ContentDB" #: src/settings_translation_file.cpp msgid "Continuous forward" @@ -2427,7 +2413,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Кантралюе хуткасць сцякання вадкасці." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2490,9 +2476,8 @@ msgid "Debug info toggle key" msgstr "Клавіша пераключэння адладачных даных" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Парог шуму пустынь" +msgstr "Парог памеру файла журнала адладкі" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -2504,7 +2489,7 @@ msgstr "Кнопка памяншэння гучнасці" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." -msgstr "" +msgstr "Паменшыце гэта, каб павялічыць інерцыю вадкасці." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2596,9 +2581,8 @@ msgid "Defines the base ground level." msgstr "Вызначае базавы ўзровень зямлі." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "Вызначае базавы ўзровень зямлі." +msgstr "Вызначае глыбіню рэчышча." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." @@ -2607,14 +2591,12 @@ msgstr "" "(0 — неабмежаваная)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "Вызначае буйнамаштабную структуру рэчышч." +msgstr "Вызначае шырыню рэчышча." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "Вызначае вобласці, дзе на дрэвах ёсць яблыкі." +msgstr "Вызначае шырыню поймы ракі." #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2647,6 +2629,9 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" +"Састарэлы. Вызначае і размяшчае пячорныя вадкасці з выкарыстаннем азначэнняў " +"біёму.\n" +"Y верхняй мяжы лавы ў вялікіх пячорах." #: src/settings_translation_file.cpp msgid "Depth below which you'll find giant caverns." @@ -2668,13 +2653,12 @@ msgid "Desert noise threshold" msgstr "Парог шуму пустынь" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Deserts occur when np_biome exceeds this value.\n" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" "Пустыні з'яўляюцца, калі np_biome перавысіць гэтае значэнне.\n" -"Ігнаруецца, калі ўключаная новая сістэма біёмаў." +"Ігнаруецца, калі ўключаны сцяжок snowbiomes." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -2721,9 +2705,8 @@ msgid "Dungeon minimum Y" msgstr "Мінімальная Y падзямелля" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Мінімальная Y падзямелля" +msgstr "Шум падзямелля" #: src/settings_translation_file.cpp msgid "" @@ -3078,6 +3061,9 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Фармат чат-паведамленняў гульца. Наступныя радкі з'яўляюцца запаўняльнікамі:" +"\n" +"@name, @message і @timestamp (неабавязкова)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3202,18 +3188,15 @@ msgid "Global callbacks" msgstr "Глабальныя зваротныя выклікі" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Global map generation attributes.\n" "In Mapgen v6 the 'decorations' flag controls all decorations except trees\n" "and junglegrass, in all other mapgens this flag controls all decorations." msgstr "" "Глабальныя параметры генерацыі мапы.\n" -"У генератары мапы 6 параметр \"decorations\" кіруе ўсімі дэкарацыямі,\n" +"У генератары мапы 6 параметр «decorations» кіруе ўсімі дэкарацыямі,\n" "апроч дрэў і травы джунгляў, а ў астатніх генератарах гэты параметр\n" -"кіруе ўсімі дэкарацыямі.\n" -"Параметры, не вызначаныя ў радку, застаюцца з прадвызначанымі значэннямі.\n" -"Параметры з \"no\" выключаюцца." +"кіруе ўсімі дэкарацыямі." #: src/settings_translation_file.cpp msgid "Gradient of light curve at maximum light level." @@ -3336,18 +3319,24 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Гарызантальнае паскарэнне ў паветры пры скачках ці падзенні\n" +"ў вузлах за секунду за секунду." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Гарызантальнае паскарэнне ў хуткі рэжыме\n" +"ў вузлах за секунду за секунду." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"Гарызантальнае і вертыкальнае паскарэнне на зямлі ці пры карасканні\n" +"ў вузлах за секунду за секунду." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3487,7 +3476,7 @@ msgstr "Прадмет 9 панэлі хуткага доступу" #: src/settings_translation_file.cpp msgid "How deep to make rivers." -msgstr "Якой глыбіні рабіць рэкі." +msgstr "Наколькі глыбокімі рабіць рэкі." #: src/settings_translation_file.cpp msgid "" @@ -3500,7 +3489,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "How wide to make rivers." -msgstr "Якой шырыні рабіць рэкі." +msgstr "Наколькі шырокімі рабіць рэкі." #: src/settings_translation_file.cpp msgid "Humidity blend noise" @@ -3634,6 +3623,10 @@ msgid "" "deleting an older debug.txt.1 if it exists.\n" "debug.txt is only moved if this setting is positive." msgstr "" +"Калі памер файла debug.txt пры адкрыцці перавысіць колькасць мегабайтаў,\n" +"пазначаных гэтай наладай, файл будзе перамешчаны ў debug.txt.1,\n" +"а стары debug.txt.1 будзе выдалены.\n" +"debug.txt перамяшчаецца, калі гэтая значэнне станоўчае." #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." @@ -3665,7 +3658,7 @@ msgstr "Клавіша павелічэння гучнасці" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "Пачатковая вертыкальная хуткасць пры скоках у вызлах за секунду." #: src/settings_translation_file.cpp msgid "" @@ -4694,9 +4687,8 @@ msgid "Liquid queue purge time" msgstr "Час ачышчэння чаргі вадкасцяў" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Хуткасць апускання ў вадкасць" +msgstr "Сцяканне вадкасці" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." @@ -4758,7 +4750,7 @@ msgstr "Каталог мапаў" #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen Carpathian." -msgstr "" +msgstr "Атрыбуты генерацыі для генератара Карпат." #: src/settings_translation_file.cpp msgid "" @@ -4770,11 +4762,11 @@ msgid "" "'altitude_dry': Reduces humidity with altitude." msgstr "" "Атрыбуты генерацыі мапы для генератара далін.\n" -"'altitude_chill': памяншае цеплыню з ростам вышыні.\n" -"'humid_rivers': павялічвае вільготнасць абапал рэк.\n" -"Variable_river_depth: калі ўключана, то нізкая вільготнасць і высокая " +"«altitude_chill»: памяншае цеплыню з ростам вышыні.\n" +"«humid_rivers»: павялічвае вільготнасць абапал рэк.\n" +"«vary_river_depth»: калі ўключана, то нізкая вільготнасць і высокая " "тэмпература ўплываюць на ўзровень вады ў рэках.\n" -"'altitude_dry': памяншае вільготнасць з ростам вышыні." +"«altitude_dry»: памяншае вільготнасць з ростам вышыні." #: src/settings_translation_file.cpp msgid "" @@ -4782,24 +4774,23 @@ msgid "" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" +"Атрыбуты генерацыі для плоскага генератара.\n" +"«terrain» уключае генерацыю не-фрактальнага рельефу:\n" +"акіяны, выспы і падзямеллі." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen flat.\n" "Occasional lakes and hills can be added to the flat world." msgstr "" "Атрыбуты генерацыі мапы для генератара плоскасці.\n" -"Выпадковыя азёры і пагоркі могуць дадавацца на плоскасць свету.\n" -"Нявызначаныя атрыбуты прадвызначана не змяняюцца.\n" -"Атрыбуты, што пачынаюцца з 'no' выкарыстоўваюцца для іх выключэння." +"Часам азёры і пагоркі могуць дадавацца ў плоскі свет." #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen v5." -msgstr "" +msgstr "Атрыбуты генерацыі для генератара 5." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen v6.\n" "The 'snowbiomes' flag enables the new 5 biome system.\n" @@ -4808,16 +4799,16 @@ msgid "" msgstr "" "Атрыбуты генерацыі мапы для генератара мапы 6.\n" "Параметр «snowbiomes» (снежныя біёмы) ўключае новую сістэму з 5 біёмамі.\n" -"Калі новая сістэма ўключаная, то аўтаматычна ўключаюцца \"джунглі\", а " -"параметр \"jungles\" ігнаруецца.\n" -"Нявызначаныя параметры прадвызначана не змяняюцца.\n" -"Параметры, што пачынаюцца з \"no\", выкарыстоўваюцца для выключэння." +"Калі «snowbiomes» ўключаны, то аўтаматычна ўключаюцца «джунглі»,\n" +"а параметр «jungles» ігнаруецца." #: src/settings_translation_file.cpp msgid "" "Map generation attributes specific to Mapgen v7.\n" "'ridges' enables the rivers." msgstr "" +"Атрыбуты генерацыі для генератара 7.\n" +"«ridges» уключае рэкі." #: src/settings_translation_file.cpp msgid "Map generation limit" @@ -4864,9 +4855,8 @@ msgid "Mapgen Fractal" msgstr "Генератар мапы: фракталы" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal specific flags" -msgstr "Адмысловыя параметры генератара плоскасці мапы" +msgstr "Адмысловыя параметры фрактальнага генератара мапы" #: src/settings_translation_file.cpp msgid "Mapgen V5" @@ -4953,6 +4943,8 @@ msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Максімальная ўстойлівасць вадкасці. Кантралюе запавольванне\n" +"пры паступленні вадкасці з высокай хуткасцю." #: src/settings_translation_file.cpp msgid "" @@ -5159,21 +5151,17 @@ msgid "Mute sound" msgstr "Выключыць гук" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this.\n" "Current mapgens in a highly unstable state:\n" "- The optional floatlands of v7 (disabled by default)." msgstr "" -"Назва генератара мапы, што будзе выкарыстоўвацца для стварэння новага " -"свету.\n" -"Пры стварэнні свету ў галоўным меню гэта можна змяніць.\n" -"Бягучыя стабільныя генератары:\n" -"V5, V6, V7 (за выключэннем лятучых астравоў (floatlands)), плоскасці (flat), " -"адзіночны блок (singlenode).\n" -"\"Стабільны\" азначае, што форма ландшафту існага свету не зменіцца ў " -"будучыні. Майце на ўвазе, што біёмы вызначаюцца гульцамі і могуць змяняцца." +"Назва генератара мапы, што будзе выкарыстоўвацца для стварэння новага свету." +"\n" +"Гэта можна змяніць пры стварэнні свету ў галоўным меню.\n" +"Цяперашнія вельмі нестабільныя генератары:\n" +"- Неабавясковыя плаваючыя выспы 7 (звычайна адключаны)." #: src/settings_translation_file.cpp msgid "" @@ -5192,9 +5180,8 @@ msgid "" msgstr "Назва сервера, што будзе паказвацца пры падлучэнні і ў спісе сервераў." #: src/settings_translation_file.cpp -#, fuzzy msgid "Near clipping plane" -msgstr "Адлегласць да плоскасці" +msgstr "Блізкая плоскасць адсячэння" #: src/settings_translation_file.cpp msgid "Network" @@ -5245,7 +5232,6 @@ msgid "Number of emerge threads" msgstr "Колькасць узнікаючых патокаў" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Number of emerge threads to use.\n" "WARNING: Currently there are multiple bugs that may cause crashes when\n" @@ -5262,17 +5248,21 @@ msgid "" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" "Колькасць узнікаючых патокаў.\n" -"Пуста альбо 0:\n" -"- аўтаматычны выбар. Колькасць узнікаючых патокаў будзе вызначацца як\n" -"\"колькасць працэсараў - 2\" з ніжнім лімітам 1.\n" +"УВАГА: Цяпер можа ўзнікаць мноства хібаў, калі «num_emerge_threads» больш за " +"1.\n" +"Строга рэкамендуецца ўстанавіць гэтае значэнне ў 1, пакуль гэта папярэджанне " +"не знікне.\n" +"Значэнне 0:\n" +"- аўтаматычны выбар. Колькасць узнікаючых патокаў будзе вызначацца\n" +"як «колькасць працэсараў - 2» з ніжняй мяжой у 1.\n" "Любое іншае значэнне:\n" -"- вызначае колькасць узнікаючых патокаў з ніжнім лімітам 1.\n" -"Майце на ўвазе, што павелічэнне колькасці патокаў павялічвае хуткасць " -"рухавіка генератара мапы, але можа ўплываць на прадукцыйнасць гульні, " +"- вызначае колькасць узнікаючых патокаў з ніжняй мяжой у 1.\n" +"УВАГА: Майце на ўвазе, што павелічэнне колькасці патокаў павялічвае\n" +"хуткасць рухавіка генератара мапы, але можа ўплываць на прадукцыйнасць " +"гульні,\n" "замінаючы іншым працэсам, асабліва адзіночнай гульні і (альбо) запуску коду " "Lua у\n" -"'On_generated.\n" -"Для мноства карыстальнікаў найлепшым значэннем можа быць \"1\"." +"'On_generated. Для большасці карыстальнікаў найлепшым значэннем можа быць 1." #: src/settings_translation_file.cpp msgid "" @@ -5453,7 +5443,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Raises terrain to make valleys around the rivers." -msgstr "Падымае мясцовасць, каб зрабіць даліны вакол рэк." +msgstr "Падымае мясцовасць, каб зрабіць поймы ўздоўж рэк." #: src/settings_translation_file.cpp msgid "Random input" @@ -5540,14 +5530,12 @@ msgid "Rightclick repetition interval" msgstr "Інтэрвал паўторнай пстрычкі правай кнопкі мышы" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel depth" -msgstr "Глыбіня рэк" +msgstr "Глыбіня рэчышча" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel width" -msgstr "Глыбіня рэк" +msgstr "Шырыня рэчышча" #: src/settings_translation_file.cpp msgid "River depth" @@ -5562,9 +5550,8 @@ msgid "River size" msgstr "Памер рэк" #: src/settings_translation_file.cpp -#, fuzzy msgid "River valley width" -msgstr "Глыбіня рэк" +msgstr "Шырыня поймы ракі" #: src/settings_translation_file.cpp msgid "Rollback recording" @@ -5906,7 +5893,7 @@ msgstr "Хуткасць хады ўпотай" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "Хуткасць крадкоў у вузлах за секунду." #: src/settings_translation_file.cpp msgid "Sound" @@ -6282,7 +6269,6 @@ msgid "Undersampling" msgstr "Субдыскрэтызацыя" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Undersampling is similar to using a lower screen resolution, but it applies\n" "to the game world only, keeping the GUI intact.\n" @@ -6293,7 +6279,9 @@ msgstr "" "Субдыскрэтызацыя падобная на выкарыстанне нізкай раздзяляльнай здольнасці " "экрана,\n" "але ўжываецца толькі да гульнявога свету, не кранаючы інтэрфейс.\n" -"Гэта значна павялічыць працаздольнасць за кошт вываду менш падрабязнай выявы." +"Гэта значна павялічвае працаздольнасць за кошт вываду менш падрабязнай выявы." +"\n" +"Высокія значэнні прыводзяць да менш дэталізаванай выявы." #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" @@ -6407,7 +6395,7 @@ msgstr "Кіруе крутасцю гор." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "Хуткасць вертыкальнага караскання ў вузлах за секунду." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6465,7 +6453,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "Хуткасць хады і палёту ў вузлах за секунду." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6473,7 +6461,7 @@ msgstr "Хуткасць хады" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." -msgstr "" +msgstr "Хуткасць хады, палёту і караскання ў хуткі рэжыме ў вузлах за секунду." #: src/settings_translation_file.cpp msgid "Water level" @@ -6500,17 +6488,14 @@ msgid "Waving water" msgstr "Хваляванне вады" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave height" msgstr "Вышыня водных хваляў" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave speed" msgstr "Хуткасць водных хваляў" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wavelength" msgstr "Даўжыня водных хваляў" @@ -6531,10 +6516,10 @@ msgid "" "to the old scaling method, for video drivers that don't\n" "properly support downloading textures back from hardware." msgstr "" -"Калі gui_scaling_filter_txr2img уключаны, скапіяваць гэтыя выявы з апаратуры " -"ў праграмнае асяроддзе для маштабавання. Калі не, то вярнуцца да старога " -"метаду маштабавання для відэадрайвераў, якія не падтрымліваюць перадачу " -"тэкстур з апаратуры назад." +"Калі gui_scaling_filter_txr2img уключаны, выявы капіююцца\n" +"з апаратуры ў праграмнае асяроддзе для маштабавання.\n" +"Калі не, то вярнуцца да старога метаду маштабавання для відэадрайвераў,\n" +"якія не падтрымліваюць перадачу тэкстур з апаратуры назад." #: src/settings_translation_file.cpp msgid "" From 01e763f8797ccd3e0fa23e25f15f69b057f656ed Mon Sep 17 00:00:00 2001 From: abidin toumi Date: Thu, 21 Nov 2019 09:10:00 +0000 Subject: [PATCH 067/279] Added translation using Weblate (Arabic) --- po/ar/minetest.po | 5892 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 5892 insertions(+) create mode 100644 po/ar/minetest.po diff --git a/po/ar/minetest.po b/po/ar/minetest.po new file mode 100644 index 000000000..b0f5737fc --- /dev/null +++ b/po/ar/minetest.po @@ -0,0 +1,5892 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the minetest package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: minetest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-10-09 22:02+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: builtin/client/death_formspec.lua src/client/game.cpp +msgid "You died" +msgstr "" + +#: builtin/client/death_formspec.lua src/client/game.cpp +msgid "Respawn" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "The server has requested a reconnect:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Reconnect" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Main menu" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "An error occurred in a Lua script:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "An error occurred:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Ok" +msgstr "" + +#: builtin/mainmenu/common.lua src/client/game.cpp +msgid "Loading..." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Try reenabling public serverlist and check your internet connection." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Server supports protocol versions between $1 and $2. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Server enforces protocol version $1. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "We support protocol versions between version $1 and $2." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "We only support protocol version $1." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Protocol version mismatch. " +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "World:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No modpack description provided." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No game description provided." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Mod:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No (optional) dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No hard dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua +msgid "Optional dependencies:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua +msgid "Dependencies:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No optional dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp +msgid "Save" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_create_world.lua +#: builtin/mainmenu/dlg_delete_content.lua +#: builtin/mainmenu/dlg_delete_world.lua +#: builtin/mainmenu/dlg_rename_modpack.lua +#: builtin/mainmenu/dlg_settings_advanced.lua src/client/keycode.cpp +#: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp +#: src/gui/guiPasswordChange.cpp +msgid "Cancel" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable modpack" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable modpack" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "enabled" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable all" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable all" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "" +"Failed to enable mod \"$1\" as it contains disallowed characters. Only " +"characters [a-z0-9_] are allowed." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "All packages" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Games" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Mods" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Texture packs" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Failed to download $1" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Downloading and installing $1, please wait..." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Back" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Update" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Uninstall" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua +msgid "Search" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Back to Main Menu" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No results" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No packages could be retrieved" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "World name" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Seed" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Mapgen" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Game" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Create" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "You have no games installed." +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download one from minetest.net" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Warning: The minimal development test is meant for developers." +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download a game, such as Minetest Game, from minetest.net" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "A world named \"$1\" already exists" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "No game selected" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "Are you sure you want to delete \"$1\"?" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +#: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua +#: src/client/keycode.cpp +msgid "Delete" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: failed to delete \"$1\"" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: invalid path \"$1\"" +msgstr "" + +#: builtin/mainmenu/dlg_delete_world.lua +msgid "Delete World \"$1\"?" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Accept" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "" +"This modpack has an explicit name given in its modpack.conf which will " +"override any renaming here." +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Rename Modpack:" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Disabled" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Enabled" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Browse" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Offset" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Scale" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "2D Noise" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Octaves" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Persistance" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Lacunarity" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "defaults" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "eased" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "absvalue" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "(No description of setting given)" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid integer." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must be at least $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must not be larger than $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid number." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select directory" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select file" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "< Back to Settings page" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Edit" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Restore Default" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Show technical names" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "$1 (Enabled)" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a $1 as a texture pack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Failed to install $1 to $2" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to find a valid mod or modpack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a modpack as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find suitable folder name for modpack $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a mod as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find real mod name for: $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a game as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: file: \"$1\"" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: Unsupported file type \"$1\" or broken archive" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "$1 mods" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Installed Packages:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Browse online content" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No package description available" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Rename" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No dependencies." +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Disable Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Use Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Information:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Uninstall Package" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Content" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Credits" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Previous Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Configure" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "New" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Select World:" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua +msgid "Creative Mode" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua +msgid "Enable Damage" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Announce Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Name/Password" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Bind Address" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Server Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Play Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "No world created or selected!" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Start Game" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Address / Port" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Name / Password" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Connect" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Del. Favorite" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Favorite" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Ping" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Creative mode" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Damage enabled" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "PvP enabled" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Join Game" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Simple Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Fancy Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Outlining" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Highlighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "None" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Bilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Trilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap + Aniso. Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "2x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "4x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "8x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Are you sure to reset your singleplayer world?" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Yes" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Smooth Lighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Particles" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "3D Clouds" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Water" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Connected Glass" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Texturing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Antialiasing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Screen:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Autosave Screen Size" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Shaders" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Shaders (unavailable)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Reset singleplayer world" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/client/game.cpp +msgid "Change Keys" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "All Settings" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Touchthreshold: (px)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Bump Mapping" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Tone Mapping" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Generate Normal Maps" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Parallax Occlusion" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Liquids" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Plants" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "To enable shaders the OpenGL driver needs to be used." +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Settings" +msgstr "" + +#: builtin/mainmenu/tab_simple_main.lua +msgid "Start Singleplayer" +msgstr "" + +#: builtin/mainmenu/tab_simple_main.lua +msgid "Config mods" +msgstr "" + +#: builtin/mainmenu/tab_simple_main.lua +msgid "Main" +msgstr "" + +#: src/client/client.cpp +msgid "Connection timed out." +msgstr "" + +#: src/client/client.cpp +msgid "Loading textures..." +msgstr "" + +#: src/client/client.cpp +msgid "Rebuilding shaders..." +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes..." +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes" +msgstr "" + +#: src/client/client.cpp +msgid "Done!" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Main Menu" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Player name too long." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Connection error (timed out?)" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided password file failed to open: " +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Please choose a name!" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "No world selected and no address provided. Nothing to do." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided world path doesn't exist: " +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Could not find or load game \"" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Invalid gamespec." +msgstr "" + +#: src/client/fontengine.cpp +msgid "needs_fallback_font" +msgstr "" + +#: src/client/game.cpp +msgid "Shutting down..." +msgstr "" + +#: src/client/game.cpp +msgid "Creating server..." +msgstr "" + +#: src/client/game.cpp +msgid "Creating client..." +msgstr "" + +#: src/client/game.cpp +msgid "Resolving address..." +msgstr "" + +#: src/client/game.cpp +msgid "Connecting to server..." +msgstr "" + +#: src/client/game.cpp +msgid "Item definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "Node definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "Media..." +msgstr "" + +#: src/client/game.cpp +msgid "KiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "MiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "Client side scripting is disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Sound muted" +msgstr "" + +#: src/client/game.cpp +msgid "Sound unmuted" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Volume changed to %d%%" +msgstr "" + +#: src/client/game.cpp src/gui/modalMenu.cpp +msgid "ok" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled (note: no 'fly' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled (note: no 'fast' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled (note: no 'noclip' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in surface mode, Zoom x1" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in surface mode, Zoom x2" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in surface mode, Zoom x4" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in radar mode, Zoom x1" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in radar mode, Zoom x2" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in radar mode, Zoom x4" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap hidden" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "Fog disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fog enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info shown" +msgstr "" + +#: src/client/game.cpp +msgid "Profiler graph shown" +msgstr "" + +#: src/client/game.cpp +msgid "Wireframe shown" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info, profiler graph, and wireframe hidden" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info and profiler graph hidden" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update enabled" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at maximum: %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range changed to %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at minimum: %d" +msgstr "" + +#: src/client/game.cpp +msgid "Enabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Disabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Zoom currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "" +"Default Controls:\n" +"No menu visible:\n" +"- single tap: button activate\n" +"- double tap: place/use\n" +"- slide finger: look around\n" +"Menu/Inventory visible:\n" +"- double tap (outside):\n" +" -->close\n" +"- touch stack, touch slot:\n" +" --> move stack\n" +"- touch&drag, tap 2nd finger\n" +" --> place single item to slot\n" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "" +"Controls:\n" +"- %s: move forwards\n" +"- %s: move backwards\n" +"- %s: move left\n" +"- %s: move right\n" +"- %s: jump/climb\n" +"- %s: sneak/go down\n" +"- %s: drop item\n" +"- %s: inventory\n" +"- Mouse: turn/look\n" +"- Mouse left: dig/punch\n" +"- Mouse right: place/use\n" +"- Mouse wheel: select item\n" +"- %s: chat\n" +msgstr "" + +#: src/client/game.cpp +msgid "Continue" +msgstr "" + +#: src/client/game.cpp +msgid "Change Password" +msgstr "" + +#: src/client/game.cpp +msgid "Game paused" +msgstr "" + +#: src/client/game.cpp +msgid "Sound Volume" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to Menu" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to OS" +msgstr "" + +#: src/client/game.cpp +msgid "Game info:" +msgstr "" + +#: src/client/game.cpp +msgid "- Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "Remote server" +msgstr "" + +#: src/client/game.cpp +msgid "- Address: " +msgstr "" + +#: src/client/game.cpp +msgid "Hosting server" +msgstr "" + +#: src/client/game.cpp +msgid "- Port: " +msgstr "" + +#: src/client/game.cpp +msgid "Singleplayer" +msgstr "" + +#: src/client/game.cpp +msgid "On" +msgstr "" + +#: src/client/game.cpp +msgid "Off" +msgstr "" + +#: src/client/game.cpp +msgid "- Damage: " +msgstr "" + +#: src/client/game.cpp +msgid "- Creative Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "- PvP: " +msgstr "" + +#: src/client/game.cpp +msgid "- Public: " +msgstr "" + +#: src/client/game.cpp +msgid "- Server Name: " +msgstr "" + +#: src/client/game.cpp +msgid "" +"\n" +"Check debug.txt for details." +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat hidden" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD hidden" +msgstr "" + +#: src/client/gameui.cpp +#, c-format +msgid "Profiler shown (page %d of %d)" +msgstr "" + +#: src/client/gameui.cpp +msgid "Profiler hidden" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Middle Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 2" +msgstr "" + +#: src/client/keycode.cpp +msgid "Backspace" +msgstr "" + +#: src/client/keycode.cpp +msgid "Tab" +msgstr "" + +#: src/client/keycode.cpp +msgid "Clear" +msgstr "" + +#: src/client/keycode.cpp +msgid "Return" +msgstr "" + +#: src/client/keycode.cpp +msgid "Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Pause" +msgstr "" + +#: src/client/keycode.cpp +msgid "Caps Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Space" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page up" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page down" +msgstr "" + +#: src/client/keycode.cpp +msgid "End" +msgstr "" + +#: src/client/keycode.cpp +msgid "Home" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Left" +msgstr "" + +#: src/client/keycode.cpp +msgid "Up" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Right" +msgstr "" + +#: src/client/keycode.cpp +msgid "Down" +msgstr "" + +#: src/client/keycode.cpp +msgid "Select" +msgstr "" + +#: src/client/keycode.cpp +msgid "Print" +msgstr "" + +#: src/client/keycode.cpp +msgid "Execute" +msgstr "" + +#: src/client/keycode.cpp +msgid "Snapshot" +msgstr "" + +#: src/client/keycode.cpp +msgid "Insert" +msgstr "" + +#: src/client/keycode.cpp +msgid "Help" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Windows" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Windows" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 0" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 2" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 3" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 4" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 5" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 6" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 7" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 8" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 9" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad *" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad +" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad ." +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad -" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad /" +msgstr "" + +#: src/client/keycode.cpp +msgid "Num Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Scroll Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Escape" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Convert" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Nonconvert" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Accept" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Mode Change" +msgstr "" + +#: src/client/keycode.cpp +msgid "Apps" +msgstr "" + +#: src/client/keycode.cpp +msgid "Sleep" +msgstr "" + +#: src/client/keycode.cpp +msgid "Erase EOF" +msgstr "" + +#: src/client/keycode.cpp +msgid "Play" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Zoom" +msgstr "" + +#: src/client/keycode.cpp +msgid "OEM Clear" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +#, c-format +msgid "" +"You are about to join this server with the name \"%s\" for the first time.\n" +"If you proceed, a new account using your credentials will be created on this " +"server.\n" +"Please retype your password and click 'Register and Join' to confirm account " +"creation, or click 'Cancel' to abort." +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +msgid "Register and Join" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp +msgid "Passwords do not match!" +msgstr "" + +#: src/gui/guiFormSpecMenu.cpp +msgid "Proceed" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "\"Special\" = climb down" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Double tap \"jump\" to toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Automatic jumping" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Key already in use" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "press key" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Forward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Backward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Special" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Jump" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Sneak" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Drop" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inventory" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Prev. item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Next item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Change camera" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle minimap" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle pitchmove" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fast" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle noclip" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Mute" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Autoforward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Chat" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Screenshot" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Range select" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Console" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Local command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle HUD" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle chat log" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fog" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Old Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "New Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Confirm Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Change" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Sound Volume: " +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Exit" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Muted" +msgstr "" + +#: src/gui/modalMenu.cpp +msgid "Enter " +msgstr "" + +#: src/network/clientpackethandler.cpp +msgid "LANG_CODE" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Build inside player" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, you can place blocks at the position (feet + eye level) where " +"you stand.\n" +"This is helpful when working with nodeboxes in small areas." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Flying" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Player is able to fly without being affected by gravity.\n" +"This requires the \"fly\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, makes move directions relative to the player's pitch when flying " +"or swimming." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast movement" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Fast movement (via the \"special\" key).\n" +"This requires the \"fast\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled together with fly mode, player is able to fly through solid " +"nodes.\n" +"This requires the \"noclip\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Smooths camera when looking around. Also called look or mouse smoothing.\n" +"Useful for recording videos." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera smoothing in cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera in cinematic mode. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert mouse" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert vertical mouse movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity multiplier." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Special key for climbing/descending" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " +"down and\n" +"descending." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double tap jump for fly" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double-tapping the jump key toggles fly mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Always fly and fast" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If disabled, \"special\" key is used to fly fast if both fly and fast mode " +"are\n" +"enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rightclick repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated right clicks when holding the " +"right\n" +"mouse button." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically jump up single-node obstacles." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Safe digging and placing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Prevent digging and placing from repeating when holding the mouse buttons.\n" +"Enable this when you dig or place too often by accident." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Random input" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable random user input (only used for testing)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Continuous forward" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Continuous forward movement, toggled by autoforward key.\n" +"Press the autoforward key again or the backwards movement to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Touch screen threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The length in pixels it takes for touch screen interaction to start." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed virtual joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Fixes the position of virtual joystick.\n" +"If disabled, virtual joystick will center to first-touch's position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Virtual joystick triggers aux button" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Use virtual joystick to trigger \"aux\" button.\n" +"If enabled, virtual joystick will also tap \"aux\" button when out of main " +"circle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable joysticks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick ID" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The identifier of the joystick to use" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The type of joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick button repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated events\n" +"when holding down a joystick button combination." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick frustum sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The sensitivity of the joystick axes for moving the\n" +"ingame view frustum around." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player forward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Backward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player backward.\n" +"Will also disable autoforward, when active.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Left key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player left.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Right key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player right.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jump key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for jumping.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneak key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for sneaking.\n" +"Also used for climbing down and descending in water if aux1_descends is " +"disabled.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the inventory.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Special key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving fast in fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Command key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type local commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Range select key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling unlimited view range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fly key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling flying.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling pitch move mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling noclip mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar next key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the next item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar previous key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the previous item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for muting the game.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inc. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dec. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatic forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling autoforward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling cinematic mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling display of minimap.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for taking screenshots.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Drop item key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for dropping the currently selected item.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View zoom key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key to use view zoom when possible.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the first hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 2 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the second hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 3 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the third hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 4 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fourth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 5 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fifth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 6 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the sixth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 7 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the seventh hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 8 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the eighth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 9 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the ninth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 10 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the tenth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 11 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 11th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 12 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 12th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 13 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 13th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 14 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 14th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 15 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 15th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 16 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 16th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 17 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 17th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 18 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 18th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 19 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 19th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 20 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 20th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 21 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 21st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 22 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 22nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 23 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 23rd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 24 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 24th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 25 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 25th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 26 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 26th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 27 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 27th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 28 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 28th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 29 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 29th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 30 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 30th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 31 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 31st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 32 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 32nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the HUD.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of chat.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large chat console key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the large chat console.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of fog.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera update toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the camera update. Only used for development\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug info toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of debug info.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the profiler. Used for development.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Toggle camera mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for switching between first- and third-person camera.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range increase key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range decrease key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Graphics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-Game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VBO" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable VBO" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to fog out the end of the visible area." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Leaves style" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Leaves style:\n" +"- Fancy: all faces visible\n" +"- Simple: only outer faces, if defined special_tiles are used\n" +"- Opaque: disable transparency" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect glass" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connects glass if supported by node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooth lighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable smooth lighting with simple ambient occlusion.\n" +"Disable for speed or for different looks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds are a client side effect." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use 3D cloud look instead of flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Node highlighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Method used to highlight selected object." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Digging particles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Adds particles when digging a node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mipmapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Use mip mapping to scale textures. May slightly increase performance,\n" +"especially when using a high resolution texture pack.\n" +"Gamma correct downscaling is not supported." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Anisotropic filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use anisotropic filtering when viewing at textures from an angle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use bilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use trilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clean transparent textures" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Filtered textures can blend RGB values with fully-transparent neighbors,\n" +"which PNG optimizers usually discard, sometimes resulting in a dark or\n" +"light edge to transparent textures. Apply this filter to clean that up\n" +"at texture load time." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimum texture size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" +"can be blurred, so automatically upscale them with nearest-neighbor\n" +"interpolation to preserve crisp pixels. This sets the minimum texture size\n" +"for the upscaled textures; higher values look sharper, but require more\n" +"memory. Powers of 2 are recommended. Setting this higher than 1 may not\n" +"have a visible effect unless bilinear/trilinear/anisotropic filtering is\n" +"enabled.\n" +"This is also used as the base node texture size for world-aligned\n" +"texture autoscaling." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FSAA" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Experimental option, might cause visible spaces between blocks\n" +"when set to higher number than 0." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Undersampling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Undersampling is similar to using a lower screen resolution, but it applies\n" +"to the game world only, keeping the GUI intact.\n" +"It should give a significant performance boost at the cost of less detailed " +"image.\n" +"Higher values result in a less detailed image." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Shaders allow advanced visual effects and may increase performance on some " +"video\n" +"cards.\n" +"This only works with the OpenGL video backend." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shader path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Path to shader directory. If no path is defined, default location will be " +"used." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filmic tone mapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables filmic tone mapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bumpmapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enables bumpmapping for textures. Normalmaps need to be supplied by the " +"texture pack\n" +"or need to be auto-generated.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Generate normalmaps" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enables on the fly normalmap generation (Emboss effect).\n" +"Requires bumpmapping to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Normalmaps strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strength of generated normalmaps." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Normalmaps sampling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Defines sampling step of texture.\n" +"A higher value results in smoother normal maps." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enables parallax occlusion mapping.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"0 = parallax occlusion with slope information (faster).\n" +"1 = relief mapping (slower, more accurate)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strength of parallax." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion iterations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Number of parallax occlusion iterations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion scale" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Overall scale of parallax occlusion effect." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion bias" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Overall bias of parallax occlusion effect, usually scale/2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving Nodes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving water" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true enables waving water.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving water wave height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving water wavelength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving water wave speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving leaves" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true enables waving leaves.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving plants" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true enables waving plants.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Advanced" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Arm inertia" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Arm inertia, gives a more realistic movement of\n" +"the arm when the camera moves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If FPS would go higher than this, limit it by sleeping\n" +"to not waste CPU power for no benefit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FPS in pause menu" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS when game is paused." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pause on lost window focus" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Open the pause menu when the window's focus is lost. Does not pause if a " +"formspec is\n" +"open." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Viewing range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View distance in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Near clipping plane" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" +"Most users will not need to change this.\n" +"Increasing can reduce artifacting on weaker GPUs.\n" +"0.1 = Default, 0.25 = Good value for weaker tablets." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Width component of the initial window size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height component of the initial window size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autosave screen size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save window size automatically when modified." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Full screen" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Full screen BPP" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bits per pixel (aka color depth) in fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VSync" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical screen synchronization." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view in degrees." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gamma" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Adjust the gamma encoding for the light tables. Higher numbers are " +"brighter.\n" +"This setting is for the client only and is ignored by the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Darkness sharpness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gradient of light curve at minimum light level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lightness sharpness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gradient of light curve at maximum light level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Light curve mid boost" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strength of light curve mid-boost." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Light curve mid boost center" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Center of light curve mid-boost." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Light curve mid boost spread" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Spread of light curve mid-boost.\n" +"Standard deviation of the mid-boost gaussian." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Texture path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Path to texture directory. All textures are first searched from here." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Video driver" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The rendering back-end for Irrlicht.\n" +"A restart is required after changing this.\n" +"Note: On Android, stick with OGLES1 if unsure! App may fail to start " +"otherwise.\n" +"On other platforms, OpenGL is recommended, and it’s the only driver with\n" +"shader support currently." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cloud radius" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Radius of cloud area stated in number of 64 node cloud squares.\n" +"Values larger than 26 will start to produce sharp cutoffs at cloud area " +"corners." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable view bobbing and amount of view bobbing.\n" +"For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fall bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Multiplier for fall bobbing.\n" +"For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D support.\n" +"Currently supported:\n" +"- none: no 3d output.\n" +"- anaglyph: cyan/magenta color 3d.\n" +"- interlaced: odd/even line based polarisation screen support.\n" +"- topbottom: split screen top/bottom.\n" +"- sidebyside: split screen side by side.\n" +"- crossview: Cross-eyed 3d\n" +"- pageflip: quadbuffer based 3d.\n" +"Note that the interlaced mode requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background alpha (opaqueness, between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box border color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Width of the selection box lines around nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair alpha (opaqueness, between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Recent Chat Messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of recent chat messages to show" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desynchronize block animation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether node texture animations should be desynchronized per mapblock." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum hotbar width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum proportion of current window to be used for hotbar.\n" +"Useful if there's something to be displayed right or left of hotbar." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD scale factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Modifies the size of the hudbar elements." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mesh cache" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables caching of facedir rotated meshes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generation delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Delay between mesh updates on the client in ms. Increasing this will slow\n" +"down the rate of mesh updates, thus reducing jitter on slower clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generator's MapBlock cache size in MB" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of the MapBlock cache of the mesh generator. Increasing this will\n" +"increase the cache hit %, reducing the data being copied from the main\n" +"thread, thus reducing jitter." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables minimap." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Round minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shape of the minimap. Enabled = round, disabled = square." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap scan height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"True = 256\n" +"False = 128\n" +"Useable to make minimap smoother on slower machines." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Colored fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Make fog and sky colors depend on daytime (dawn/sunset) and view direction." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ambient occlusion gamma" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The strength (darkness) of node ambient-occlusion shading.\n" +"Lower is darker, Higher is lighter. The valid range of values for this\n" +"setting is 0.25 to 4.0 inclusive. If the value is out of range it will be\n" +"set to the nearest valid value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory items animations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables animation of inventory items." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog start" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fraction of the visible distance at which fog starts to be rendered" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Opaque liquids" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Makes all liquids opaque" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World-aligned textures mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Textures on a node may be aligned either to the node or to the world.\n" +"The former mode suits better things like machines, furniture, etc., while\n" +"the latter makes stairs and microblocks fit surroundings better.\n" +"However, as this possibility is new, thus may not be used by older servers,\n" +"this option allows enforcing it for certain node types. Note though that\n" +"that is considered EXPERIMENTAL and may not work properly." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autoscaling mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World-aligned textures may be scaled to span several nodes. However,\n" +"the server may not send the scale you want, especially if you use\n" +"a specially-designed texture pack; with this option, the client tries\n" +"to determine the scale automatically basing on the texture size.\n" +"See also texture_min_size.\n" +"Warning: This option is EXPERIMENTAL!" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show entity selection boxes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Menus" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds in menu" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use a cloud animation for the main menu background." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Scale GUI by a user specified value.\n" +"Use a nearest-neighbor-anti-alias filter to scale the GUI.\n" +"This will smooth over some of the rough edges, and blend\n" +"pixels when scaling down, at the cost of blurring some\n" +"edge pixels when images are scaled by non-integer sizes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When gui_scaling_filter is true, all GUI images need to be\n" +"filtered in software, but some images are generated directly\n" +"to hardware (e.g. render-to-texture for nodes in inventory)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter txr2img" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When gui_scaling_filter_txr2img is true, copy those images\n" +"from hardware to software for scaling. When false, fall back\n" +"to the old scaling method, for video drivers that don't\n" +"properly support downloading textures back from hardware." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Tooltip delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay showing tooltips, stated in milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name to tooltip." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FreeType fonts" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether FreeType fonts are used, requires FreeType support to be compiled in." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Path to TrueTypeFont or bitmap." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font shadow" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font shadow offset, if 0 then shadow will not be drawn." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font shadow alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font shadow alpha (opaqueness, between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "This font will be used for certain languages." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font shadow" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font shadow alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot folder" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Path to save screenshots at." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Format of screenshots." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Screenshot quality. Only used for JPEG format.\n" +"1 means worst quality; 100 means best quality.\n" +"Use 0 for default quality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "DPI" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k " +"screens." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable console window" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Windows systems only: Start Minetest with the command line window in the " +"background.\n" +"Contains the same information as the file debug.txt (default name)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Volume" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Network" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Address to connect to.\n" +"Leave this blank to start a local server.\n" +"Note that the address field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Port to connect to (UDP).\n" +"Note that the port field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Saving map received from server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save the map received by the client on disk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect to external media server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable usage of remote media server (if provided by server).\n" +"Remote servers offer a significantly faster way to download media (e.g. " +"textures)\n" +"when connecting to the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client modding" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable Lua modding support on client.\n" +"This support is experimental and API can change." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "URL to the server list displayed in the Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist file" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"File in client/serverlist/ that contains your favorite servers displayed in " +"the\n" +"Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum size of the out chat queue" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum size of the out chat queue.\n" +"0 to disable queueing and -1 to make the queue size unlimited." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable register confirmation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable register confirmation when connecting to server.\n" +"If disabled, new account will be registered automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock unload timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Timeout for client to remove unused map data from memory." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of mapblocks for client to be kept in memory.\n" +"Set to -1 for unlimited amount." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show debug info" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to show the client debug info (has the same effect as hitting F5)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server / Singleplayer" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the server, to be displayed when players join and in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server description" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Description of server, to be displayed when players join and in the " +"serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Domain name of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Homepage of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically report to the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce to this serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strip color codes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Remove color codes from incoming chat messages\n" +"Use this to stop players from being able to use color in their messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Network port to listen (UDP).\n" +"This value will be overridden when starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bind address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The network interface that the server listens on." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strict protocol checking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable to disallow old clients from connecting.\n" +"Older clients are compatible in the sense that they will not crash when " +"connecting\n" +"to new servers, but they may not support all new features that you are " +"expecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote media" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Specifies URL from which client fetches media instead of using UDP.\n" +"$filename should be accessible from $remote_media$filename via cURL\n" +"(obviously, remote_media should end with a slash).\n" +"Files that are not present will be fetched the usual way." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6 server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable/disable running an IPv6 server.\n" +"Ignored if bind_address is set." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum simultaneous block sends per client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks that are simultaneously sent per client.\n" +"The maximum total count is calculated dynamically:\n" +"max_total = ceil((#clients + max_users) * per_client / 4)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay in sending blocks after building" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"To reduce lag, block transfers are slowed down when a player is building " +"something.\n" +"This determines how long they are slowed down after placing or removing a " +"node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. packets per iteration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of packets sent per send step, if you have a slow connection\n" +"try reducing it, but don't reduce it to a number below double of targeted\n" +"client number." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Default game when creating a new world.\n" +"This will be overridden when creating a world from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day displayed to players connecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum users" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of players that can be connected simultaneously." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map directory" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World directory (everything in the world is stored here).\n" +"Not needed if starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Item entity TTL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Time in seconds for item entity (dropped items) to live.\n" +"Setting it to -1 disables the feature." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Damage" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable players getting damage and dying." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Creative" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable creative mode for new created maps." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed map seed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"A chosen map seed for a new map, leave empty for random.\n" +"Will be overridden when creating a new world in the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default password" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "New users need to input this password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The privileges that new users automatically get.\n" +"See /privs in game for a full list on your server and mod configuration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Privileges that players with basic_privs can grant" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unlimited player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether players are shown to clients without any range limit.\n" +"Deprecated, use the setting player_transfer_distance instead." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player versus player" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to allow players to damage and kill each other." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mod channels" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod channels support." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Static spawnpoint" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If this is set, players will always (re)spawn at the given position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disallow empty passwords" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, new players cannot join with an empty password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disable anticheat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, disable cheat prevention in multiplayer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rollback recording" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, actions are recorded for rollback.\n" +"This option is only read when server starts." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Format of player chat messages. The following strings are valid " +"placeholders:\n" +"@name, @message, @timestamp (optional)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shutdown message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server shuts down." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crash message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server crashes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ask to reconnect after crash" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to ask clients to reconnect after a (Lua) crash.\n" +"Set this to true if your server is set up to restart automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active object send range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far clients know about objects, stated in mapblocks (16 nodes).\n" +"\n" +"Setting this larger than active_block_range will also cause the server\n" +"to maintain active objects up to this distance in the direction the\n" +"player is looking. (This can avoid mobs suddenly disappearing from view)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The radius of the volume of blocks around every player that is subject to " +"the\n" +"active block stuff, stated in mapblocks (16 nodes).\n" +"In active blocks objects are loaded and ABMs run.\n" +"This is also the minimum range in which active objects (mobs) are " +"maintained.\n" +"This should be configured together with active_object_range." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block send distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are sent to clients, stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum forceloaded blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of forceloaded mapblocks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time send interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of sending time of day to clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls length of day/night cycle.\n" +"Examples:\n" +"72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World start time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time of day when a new world is started, in millihours (0-23999)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map save interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of saving important changes in the world, stated in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message max length" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Set the maximum character length of a chat message sent by clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message count limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amount of messages a player may send per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message kick threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Kick players who sent more than X messages per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Physics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration on ground or when climbing,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration in air" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal acceleration in air when jumping or falling,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration in fast mode,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking and flying speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking, flying and climbing speed in fast mode, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Climbing speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical climbing speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jumping speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Initial vertical speed when jumping, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Decrease this to increase liquid resistence to movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum liquid resistence. Controls deceleration when entering liquid at\n" +"high speed." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid sinking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls sinking speed in liquid." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gravity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration of gravity, in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Deprecated Lua API handling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Handling for deprecated lua api calls:\n" +"- legacy: (try to) mimic old behaviour (default for release).\n" +"- log: mimic and log backtrace of deprecated call (default for debug).\n" +"- error: abort on usage of deprecated call (suggested for mod developers)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. clearobjects extra blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of extra blocks that can be loaded by /clearobjects at once.\n" +"This is a trade-off between sqlite transaction overhead and\n" +"memory consumption (4096=100MB, as a rule of thumb)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unload unused server data" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"How much the server will wait before unloading unused mapblocks.\n" +"Higher value is smoother, but will use more RAM." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum objects per block" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of statically stored objects in a block." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Synchronous SQLite" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dedicated server step" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Length of a server tick and the interval at which objects are generally " +"updated over\n" +"network." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block management interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Length of time between active block management cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ABM interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Length of time between Active Block Modifier (ABM) execution cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "NodeTimer interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Length of time between NodeTimer execution cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ignore world errors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, invalid world data won't cause the server to shut down.\n" +"Only enable this if you know what you are doing." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid loop max" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max liquids processed per step." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid queue purge time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time (in seconds) that the liquids queue may grow beyond processing\n" +"capacity until an attempt is made to decrease its size by dumping old queue\n" +"items. A value of 0 disables the functionality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update tick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update interval in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Block send optimize distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"At this distance the server will aggressively optimize which blocks are sent " +"to\n" +"clients.\n" +"Small values potentially improve performance a lot, at the expense of " +"visible\n" +"rendering glitches (some blocks will not be rendered under water and in " +"caves,\n" +"as well as sometimes on land).\n" +"Setting this to a value greater than max_block_send_distance disables this\n" +"optimization.\n" +"Stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server side occlusion culling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled the server will perform map block occlusion culling based on\n" +"on the eye position of the player. This can reduce the number of blocks\n" +"sent to the client 50-80%. The client will not longer receive most " +"invisible\n" +"so that the utility of noclip mode is reduced." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side modding restrictions" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Restricts the access of certain client-side functions on servers.\n" +"Combine the byteflags below to restrict client-side features, or set to 0\n" +"for no restrictions:\n" +"LOAD_CLIENT_MODS: 1 (disable loading client-provided mods)\n" +"CHAT_MESSAGES: 2 (disable send_chat_message call client-side)\n" +"READ_ITEMDEFS: 4 (disable get_item_def call client-side)\n" +"READ_NODEDEFS: 8 (disable get_node_def call client-side)\n" +"LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to\n" +"csm_restriction_noderange)\n" +"READ_PLAYERINFO: 32 (disable get_player_names call client-side)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side node lookup range restriction" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the CSM restriction for node range is enabled, get_node calls are " +"limited\n" +"to this distance from the player to the node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Prevent mods from doing insecure things like running shell commands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trusted mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of trusted mods that are allowed to access insecure\n" +"functions even when mod security is on (via request_insecure_environment())." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HTTP mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of mods that are allowed to access HTTP APIs, which\n" +"allow them to upload and download data to/from the internet." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Load the game profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Load the game profiler to collect game profiling data.\n" +"Provides a /profiler command to access the compiled profile.\n" +"Useful for mod developers and server operators." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default report format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The default format in which profiles are being saved,\n" +"when calling `/profiler save [format]` without format." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Report path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The file path relative to your worldpath in which profiles will be saved to." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrumentation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Entity methods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument the methods of entities on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Active Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Loading Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Loading Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chatcommands" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument chatcommands on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Global callbacks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument global callback functions on registration.\n" +"(anything you pass to a minetest.register_*() function)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Builtin" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument builtin.\n" +"This is usually only needed by core/builtin contributors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Have the profiler instrument itself:\n" +"* Instrument an empty function.\n" +"This estimates the overhead, that instrumentation is adding (+1 function " +"call).\n" +"* Instrument the sampler being used to update the statistics." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client and Server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the player.\n" +"When running a server, clients connecting with this name are admins.\n" +"When starting from the main menu, this is overridden." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Language" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the language. Leave empty to use the system language.\n" +"A restart is required after changing this." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Level of logging to be written to debug.txt:\n" +"- (no logging)\n" +"- none (messages with no level)\n" +"- error\n" +"- warning\n" +"- action\n" +"- info\n" +"- verbose" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log file size threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the file size of debug.txt exceeds the number of megabytes specified in\n" +"this setting when it is opened, the file is moved to debug.txt.1,\n" +"deleting an older debug.txt.1 if it exists.\n" +"debug.txt is only moved if this setting is positive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6 support." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Default timeout for cURL, stated in milliseconds.\n" +"Only has an effect if compiled with cURL." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL parallel limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Limits number of parallel HTTP requests. Affects:\n" +"- Media fetch if server uses remote_media setting.\n" +"- Serverlist download and server announcement.\n" +"- Downloads performed by main menu (e.g. mod manager).\n" +"Only has an effect if compiled with cURL." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL file download timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "High-precision FPU" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Main menu style" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Changes the main menu UI:\n" +"- Full: Multiple singleplayer worlds, game choice, texture pack chooser, " +"etc.\n" +"- Simple: One singleplayer world, no game or texture pack choosers. May " +"be\n" +"necessary for smaller screens." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Main menu script" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Replaces the default main menu with a custom one." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Engine profiling data print interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Print the engine's profiling data in regular intervals (in seconds).\n" +"0 = disable. Useful for developers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of map generator to be used when creating a new world.\n" +"Creating a world in the main menu will override this.\n" +"Current mapgens in a highly unstable state:\n" +"- The optional floatlands of v7 (disabled by default)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water surface level of the world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block generate distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are generated for clients, stated in mapblocks (16 " +"nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).\n" +"Only mapchunks completely within the mapgen limit are generated.\n" +"Value is stored per-world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Global map generation attributes.\n" +"In Mapgen v6 the 'decorations' flag controls all decorations except trees\n" +"and junglegrass, in all other mapgens this flag controls all decorations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome API temperature and humidity noise parameters" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Temperature variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Small-scale temperature variation for blending biomes on borders." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Small-scale humidity variation for blending biomes on borders." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation attributes specific to Mapgen v5." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls width of tunnels, a smaller value creates wider tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large cave depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of upper limit of large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lava depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Deprecated, define and locate cave liquids using biome definitions instead.\n" +"Y of upper limit of lava in large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of cavern upper limit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern taper" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-distance over which caverns expand to full size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines full size of caverns, smaller values create larger caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon minimum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lower Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon maximum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Upper Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noises" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of biome filler depth." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Factor noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Variation of terrain vertical scale.\n" +"When noise is < -0.55 terrain is near-flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of average terrain surface." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise that determines number of dungeons per mapchunk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v6.\n" +"The 'snowbiomes' flag enables the new 5 biome system.\n" +"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" +"the 'jungles' flag is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desert noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Deserts occur when np_biome exceeds this value.\n" +"When the 'snowbiomes' flag is enabled, this is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sandy beaches occur when np_beach exceeds this value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain base noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of lower terrain and seabed." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain higher noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of higher terrain that creates cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Steepness noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height select noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mud noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies depth of biome surface nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas with sandy beaches." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of number of caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines tree areas and tree density." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Apple trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas where trees have apples." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v7.\n" +"'ridges' enables the rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain zero level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Y of mountain density gradient zero level. Used to shift mountains " +"vertically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland mountain density" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls the density of mountain-type floatlands.\n" +"Is a noise offset added to the 'mgv7_np_mountain' noise value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland mountain height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Typical maximum height, above and below midpoint, of floatland mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland mountain exponent" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Alters how mountain-type floatlands taper above and below midpoint." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of floatland midpoint and lake surface." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level to which floatland shadows extend." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain alternative noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain persistence noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Varies roughness of terrain.\n" +"Defines the 'persistence' value for terrain_base and terrain_alt noises." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain and steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of maximum mountain height (in nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge underwater noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines large-scale river channel structure." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland base noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Defines areas of floatland smooth terrain.\n" +"Smooth floatlands occur when noise > 0." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland base height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of hill height and lake depth on floatland smooth terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D noise defining mountain structure and height.\n" +"Also defines structure of floatland mountain terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining structure of river canyon walls." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation attributes specific to Mapgen Carpathian." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the base ground level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the depth of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River valley width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river valley." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness3 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Third of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness4 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fourth of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hills spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of ridged mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of step mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hill size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridged mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of ridged mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of step mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that locates the river valleys and channels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain variation noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen flat.\n" +"Occasional lakes and hills can be added to the flat world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of flat ground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for lakes.\n" +"Controls proportion of world area covered by lakes.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/depth of lake depressions." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for hills.\n" +"Controls proportion of world area covered by hills.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/height of hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines location and terrain of optional hills and lakes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen flat.\n" +"'terrain' enables the generation of non-fractal terrain:\n" +"ocean, islands and underground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fractal type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Selects one of 18 fractal types.\n" +"1 = 4D \"Roundy\" mandelbrot set.\n" +"2 = 4D \"Roundy\" julia set.\n" +"3 = 4D \"Squarry\" mandelbrot set.\n" +"4 = 4D \"Squarry\" julia set.\n" +"5 = 4D \"Mandy Cousin\" mandelbrot set.\n" +"6 = 4D \"Mandy Cousin\" julia set.\n" +"7 = 4D \"Variation\" mandelbrot set.\n" +"8 = 4D \"Variation\" julia set.\n" +"9 = 3D \"Mandelbrot/Mandelbar\" mandelbrot set.\n" +"10 = 3D \"Mandelbrot/Mandelbar\" julia set.\n" +"11 = 3D \"Christmas Tree\" mandelbrot set.\n" +"12 = 3D \"Christmas Tree\" julia set.\n" +"13 = 3D \"Mandelbulb\" mandelbrot set.\n" +"14 = 3D \"Mandelbulb\" julia set.\n" +"15 = 3D \"Cosine Mandelbulb\" mandelbrot set.\n" +"16 = 3D \"Cosine Mandelbulb\" julia set.\n" +"17 = 4D \"Mandelbulb\" mandelbrot set.\n" +"18 = 4D \"Mandelbulb\" julia set." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Iterations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Iterations of the recursive function.\n" +"Increasing this increases the amount of fine detail, but also\n" +"increases processing load.\n" +"At iterations = 20 this mapgen has a similar load to mapgen V7." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) scale of fractal in nodes.\n" +"Actual fractal size will be 2 to 3 times larger.\n" +"These numbers can be made very large, the fractal does\n" +"not have to fit inside the world.\n" +"Increase these to 'zoom' into the detail of the fractal.\n" +"Default is for a vertically-squashed shape suitable for\n" +"an island, set all 3 numbers equal for the raw shape." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) offset of fractal from world center in units of 'scale'.\n" +"Can be used to move a desired point to (0, 0) to create a\n" +"suitable spawn point, or to allow 'zooming in' on a desired\n" +"point by increasing 'scale'.\n" +"The default is tuned for a suitable spawn point for mandelbrot\n" +"sets with default parameters, it may need altering in other\n" +"situations.\n" +"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slice w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"W coordinate of the generated 3D slice of a 4D fractal.\n" +"Determines which 3D slice of the 4D shape is generated.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia x" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"X component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Y component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia z" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Z component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"W component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Seabed noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of seabed." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen Valleys.\n" +"'altitude_chill': Reduces heat with altitude.\n" +"'humid_rivers': Increases humidity around rivers.\n" +"'vary_river_depth': If enabled, low humidity and high heat causes rivers\n" +"to become shallower and occasionally dry.\n" +"'altitude_dry': Reduces humidity with altitude." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Altitude chill" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The vertical distance over which heat drops by 20 if 'altitude_chill' is\n" +"enabled. Also the vertical distance over which humidity drops by 10 if\n" +"'altitude_dry' is enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern upper limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "How deep to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "How wide to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #1" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #2" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The depth of dirt or other biome filler node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base terrain height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Raises terrain to make valleys around the rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley fill" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slope and fill work together to modify the heights." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley profile" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amplifies the valleys." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley slope" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chunk size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).\n" +"WARNING!: There is no benefit, and there are several dangers, in\n" +"increasing this value above 5.\n" +"Reducing this value increases cave and dungeon density.\n" +"Altering this value is for special usage, leaving it unchanged is\n" +"recommended." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen debug" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dump the mapgen debug information." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Absolute limit of emerge queues" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of blocks that can be queued for loading." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Limit of emerge queues on disk" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be loaded from file.\n" +"Set to blank for an appropriate amount to be chosen automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Limit of emerge queues to generate" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be generated.\n" +"Set to blank for an appropriate amount to be chosen automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Number of emerge threads" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of emerge threads to use.\n" +"WARNING: Currently there are multiple bugs that may cause crashes when\n" +"'num_emerge_threads' is larger than 1. Until this warning is removed it is\n" +"strongly recommended this value is set to the default '1'.\n" +"Value 0:\n" +"- Automatic selection. The number of emerge threads will be\n" +"- 'number of processors - 2', with a lower limit of 1.\n" +"Any other value:\n" +"- Specifies the number of emerge threads, with a lower limit of 1.\n" +"WARNING: Increasing the number of emerge threads increases engine mapgen\n" +"speed, but this may harm game performance by interfering with other\n" +"processes, especially in singleplayer and/or when running Lua code in\n" +"'on_generated'. For many users the optimum setting may be '1'." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Online Content Repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The URL for the content repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB Flag Blacklist" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of flags to hide in the content repository.\n" +"\"nonfree\" can be used to hide packages which do not qualify as 'free " +"software',\n" +"as defined by the Free Software Foundation.\n" +"You can also specify content ratings.\n" +"These flags are independent from Minetest versions,\n" +"so see a full list at https://content.minetest.net/help/content_flags/" +msgstr "" From a07acc067b74c9c0234dfefc61b0691c4ea20e8e Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: Thu, 21 Nov 2019 18:15:19 +0000 Subject: [PATCH 068/279] Translated using Weblate (Russian) Currently translated at 81.7% (1041 of 1274 strings) --- po/ru/minetest.po | 79 ++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 46 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index c083dffe4..50ee6393d 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,17 +3,17 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-22 06:11+0000\n" +"Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.9-dev\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -138,9 +138,8 @@ msgid "No modpack description provided." msgstr "Описание пакета модов недоступно." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Необязательные зависимости:" +msgstr "Нет необязательных зависимостей" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -356,7 +355,7 @@ msgstr "Пожалуйста, введите число." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Restore Default" -msgstr "Восстановить стандартные" +msgstr "Сбросить значение" #: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp msgid "Scale" @@ -789,9 +788,8 @@ msgid "Waving Leaves" msgstr "Покачивание листвы" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Покачивание блоков" +msgstr "Покачивание жидкостей" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -976,15 +974,15 @@ msgid "" "- %s: chat\n" msgstr "" "Управление:\n" -"- %s: двигаться вперёд\n" -"- %s: двигаться назад\n" -"- %s: двигаться влево\n" -"- %s: двигаться вправо\n" +"- %s: вперёд\n" +"- %s: назад\n" +"- %s: влево\n" +"- %s: вправо\n" "- %s: прыжок/подъём\n" -"- %s: красться/спуститься\n" +"- %s: красться/спуск\n" "- %s: бросить предмет\n" "- %s: инвентарь\n" -"- Мышка: поворот\n" +"- Мышь: поворот/обзор\n" "- ЛКМ: копать/удар\n" "- ПКМ: поставить/использовать\n" "- Колесо мыши: выбор предмета\n" @@ -1053,7 +1051,7 @@ msgstr "Выход в меню" #: src/client/game.cpp msgid "Exit to OS" -msgstr "Выход в ОС" +msgstr "Выход в систему" #: src/client/game.cpp msgid "Fast mode disabled" @@ -1695,9 +1693,8 @@ msgid "Toggle noclip" msgstr "Сквозь стены" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "Чат" +msgstr "Включить/отключить движение вниз/вверх по направлению взгляда" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1916,7 +1913,6 @@ msgid "A message to be displayed to all clients when the server shuts down." msgstr "Сообщение, которое будет показано всем при отключении сервера." #: src/settings_translation_file.cpp -#, fuzzy msgid "ABM interval" msgstr "Интервал сохранения карты" @@ -1937,7 +1933,6 @@ msgid "Active Block Modifiers" msgstr "Модификаторы активных блоков" #: src/settings_translation_file.cpp -#, fuzzy msgid "Active block management interval" msgstr "Интервал управления активным блоком" @@ -2008,9 +2003,8 @@ msgstr "" "чат в течении 10 секунд." #: src/settings_translation_file.cpp -#, fuzzy msgid "Amplifies the valleys." -msgstr "Усиливает долины" +msgstr "Усиливает долины." #: src/settings_translation_file.cpp msgid "Anisotropic filtering" @@ -2021,17 +2015,16 @@ msgid "Announce server" msgstr "О сервере" #: src/settings_translation_file.cpp -#, fuzzy msgid "Announce to this serverlist." -msgstr "О сервере" +msgstr "Анонсировать на этот список серверов." #: src/settings_translation_file.cpp msgid "Append item name" -msgstr "lua-имена предметов" +msgstr "Добавлять названия предметов" #: src/settings_translation_file.cpp msgid "Append item name to tooltip." -msgstr "Добавлять lua-имена предметов во всплывающих подсказках." +msgstr "Добавлять названия предметов во всплывающих подсказках." #: src/settings_translation_file.cpp msgid "Apple trees noise" @@ -2415,9 +2408,8 @@ msgid "ContentDB Flag Blacklist" msgstr "Чёрный список флагов ContentDB" #: src/settings_translation_file.cpp -#, fuzzy msgid "ContentDB URL" -msgstr "Дополнения" +msgstr "Адрес ContentDB" #: src/settings_translation_file.cpp msgid "Continuous forward" @@ -2514,9 +2506,8 @@ msgid "Debug info toggle key" msgstr "Клавиша переключения показа отладочной информации" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Порог шума пустынь" +msgstr "Порог размера файла журнала отладки" #: src/settings_translation_file.cpp msgid "Debug log level" @@ -3178,7 +3169,7 @@ msgstr "Часть видимого расстояния, на которой н #: src/settings_translation_file.cpp msgid "FreeType fonts" -msgstr "FreeType шрифты" +msgstr "Шрифты FreeType" #: src/settings_translation_file.cpp msgid "" @@ -3279,9 +3270,8 @@ msgid "Ground noise" msgstr "Шум грязи" #: src/settings_translation_file.cpp -#, fuzzy msgid "HTTP mods" -msgstr "HTTP Моды" +msgstr "Моды HTTP" #: src/settings_translation_file.cpp msgid "HUD scale factor" @@ -3677,8 +3667,8 @@ msgid "" "If enabled, makes move directions relative to the player's pitch when flying " "or swimming." msgstr "" -"Если включено, определяет направления движения относительно наклона игрока " -"во время полёта или плавания." +"Если включено, определяет направления движения вверх/вниз в зависимости от " +"взгляда игрока во время полёта или плавания." #: src/settings_translation_file.cpp msgid "If enabled, new players cannot join with an empty password." @@ -4540,15 +4530,14 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling pitch move mode.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша переключения режима проверки столкновений.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша переключения режима движение вниз/вверх по направлению взгляда.\n" +"Смотрите http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -5480,14 +5469,12 @@ msgid "Physics" msgstr "Физика" #: src/settings_translation_file.cpp -#, fuzzy msgid "Pitch move key" -msgstr "Кнопка полёта" +msgstr "Кнопка движение вниз/вверх по направлению взгляда" #: src/settings_translation_file.cpp -#, fuzzy msgid "Pitch move mode" -msgstr "Режим движения вниз/вверх по направлению взгляда включён" +msgstr "Режим движения вниз/вверх по направлению взгляда" #: src/settings_translation_file.cpp msgid "" @@ -6664,8 +6651,8 @@ msgstr "" msgid "" "Whether FreeType fonts are used, requires FreeType support to be compiled in." msgstr "" -"Использовать FreeType шрифты (независимо от этого, поддержка FreeType должна " -"быть включена при сборке)." +"Использовать шрифты FreeType. Поддержка FreeType должна быть включена при " +"сборке." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." From e5b191e1f1a96ba8012dbf6d2533a111fe580215 Mon Sep 17 00:00:00 2001 From: abidin toumi Date: Thu, 21 Nov 2019 09:14:49 +0000 Subject: [PATCH 069/279] Translated using Weblate (Arabic) Currently translated at 4.2% (53 of 1274 strings) --- po/ar/minetest.po | 116 ++++++++++++++++++++++++---------------------- 1 file changed, 60 insertions(+), 56 deletions(-) diff --git a/po/ar/minetest.po b/po/ar/minetest.po index b0f5737fc..c01860ddc 100644 --- a/po/ar/minetest.po +++ b/po/ar/minetest.po @@ -8,13 +8,17 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2019-11-22 06:11+0000\n" +"Last-Translator: abidin toumi \n" +"Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" @@ -22,7 +26,7 @@ msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" -msgstr "" +msgstr "أعِد الإحياء" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" @@ -30,11 +34,11 @@ msgstr "" #: builtin/fstk/ui.lua msgid "Reconnect" -msgstr "" +msgstr "أعد الإتصال" #: builtin/fstk/ui.lua msgid "Main menu" -msgstr "" +msgstr "القائمة الرئيسية" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" @@ -42,43 +46,43 @@ msgstr "" #: builtin/fstk/ui.lua msgid "An error occurred:" -msgstr "" +msgstr "حدث خطأ:" #: builtin/fstk/ui.lua msgid "Ok" -msgstr "" +msgstr "موافق" #: builtin/mainmenu/common.lua src/client/game.cpp msgid "Loading..." -msgstr "" +msgstr "يحمل..." #: builtin/mainmenu/common.lua msgid "Try reenabling public serverlist and check your internet connection." -msgstr "" +msgstr "جرب إعادة تمكين قائمة الحوادم العامة وتحقق من إتصالك بالانترنت." #: builtin/mainmenu/common.lua msgid "Server supports protocol versions between $1 and $2. " -msgstr "" +msgstr "الخادم يدعم نسخ الميفاق ما بين $1 و $2. " #: builtin/mainmenu/common.lua msgid "Server enforces protocol version $1. " -msgstr "" +msgstr "يفرظ الخادم إ ستخدام الميفاق $1. " #: builtin/mainmenu/common.lua msgid "We support protocol versions between version $1 and $2." -msgstr "" +msgstr "نحن ندعم نسخ الميفاق ما بين $1 و $2." #: builtin/mainmenu/common.lua msgid "We only support protocol version $1." -msgstr "" +msgstr "نحن ندعم نسخة الميفاق $1فقط." #: builtin/mainmenu/common.lua msgid "Protocol version mismatch. " -msgstr "" +msgstr "لا تتطابق نسخ الميفاق. " #: builtin/mainmenu/dlg_config_world.lua msgid "World:" -msgstr "" +msgstr "العالم:" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." @@ -86,7 +90,7 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." -msgstr "" +msgstr "لا يتوفر وصف للعبة." #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" @@ -94,28 +98,28 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua msgid "No (optional) dependencies" -msgstr "" +msgstr "بدون إعتماديات إختيارية" #: builtin/mainmenu/dlg_config_world.lua msgid "No hard dependencies" -msgstr "" +msgstr "بدون إعتماديات لازمة" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" -msgstr "" +msgstr "الإعتماديات الإختيارية:" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Dependencies:" -msgstr "" +msgstr "الإعتماديات:" #: builtin/mainmenu/dlg_config_world.lua msgid "No optional dependencies" -msgstr "" +msgstr "بدون إعتماديات إختيارية" #: builtin/mainmenu/dlg_config_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp msgid "Save" -msgstr "" +msgstr "إحفظ" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_delete_content.lua @@ -125,7 +129,7 @@ msgstr "" #: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp #: src/gui/guiPasswordChange.cpp msgid "Cancel" -msgstr "" +msgstr "ألغِ" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable modpack" @@ -137,15 +141,15 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" -msgstr "" +msgstr "مُمَكن" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" -msgstr "" +msgstr "عطِل الكل" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" -msgstr "" +msgstr "مكِن الكل" #: builtin/mainmenu/dlg_config_world.lua msgid "" @@ -155,12 +159,12 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" -msgstr "" +msgstr "كل الحزم" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Games" -msgstr "" +msgstr "الألعاب" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -173,40 +177,40 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" -msgstr "" +msgstr "فشل تحميل $1" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading and installing $1, please wait..." -msgstr "" +msgstr "تنزيل وتثبيت $1, يرجى الإنتظار..." #: builtin/mainmenu/dlg_contentstore.lua msgid "Back" -msgstr "" +msgstr "عُد" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install" -msgstr "" +msgstr "ثبت" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update" -msgstr "" +msgstr "حدِث" #: builtin/mainmenu/dlg_contentstore.lua msgid "Uninstall" -msgstr "" +msgstr "أزل" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" -msgstr "" +msgstr "إبحث" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "" +msgstr "عُد للقائمة الرئيسة" #: builtin/mainmenu/dlg_contentstore.lua msgid "No results" -msgstr "" +msgstr "بدون نتائج" #: builtin/mainmenu/dlg_contentstore.lua msgid "No packages could be retrieved" @@ -214,7 +218,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "World name" -msgstr "" +msgstr "إسم العالم" #: builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -227,19 +231,19 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" -msgstr "" +msgstr "اللعبة" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" -msgstr "" +msgstr "أنشئ" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no games installed." -msgstr "" +msgstr "ليس لديك لعبة مثبتت." #: builtin/mainmenu/dlg_create_world.lua msgid "Download one from minetest.net" -msgstr "" +msgstr "نزِّل لعبة من minetest.net" #: builtin/mainmenu/dlg_create_world.lua msgid "Warning: The minimal development test is meant for developers." @@ -247,41 +251,41 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Download a game, such as Minetest Game, from minetest.net" -msgstr "" +msgstr "نزِّل لعبة,مثل لعبة Minetest, من minetest.net" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "" +msgstr "إسم العالم \"$1\" موجود مسبقاً" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" -msgstr "" +msgstr "لم تحدد لعبة" #: builtin/mainmenu/dlg_delete_content.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "" +msgstr "هل تريد حذف \"$1\" ؟" #: builtin/mainmenu/dlg_delete_content.lua #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua #: src/client/keycode.cpp msgid "Delete" -msgstr "" +msgstr "إحذف" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" -msgstr "" +msgstr "مدير الحزم: فشل حذف \"$1\"" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: invalid path \"$1\"" -msgstr "" +msgstr "مدير الحزم: المسار \"$1\" غير صالح" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" -msgstr "" +msgstr "حذف العالم \"$1\"؟" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" -msgstr "" +msgstr "أقبل" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "" @@ -295,15 +299,15 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Disabled" -msgstr "" +msgstr "عطِّل" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Enabled" -msgstr "" +msgstr "مكِّن" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" -msgstr "" +msgstr "استعرض" #: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp msgid "Offset" @@ -343,7 +347,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "defaults" -msgstr "" +msgstr "إفتراضي" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "eased" From 0a4580368aaffed85ba4ed73db75b480fd1cc26e Mon Sep 17 00:00:00 2001 From: abidin toumi Date: Fri, 22 Nov 2019 16:51:25 +0000 Subject: [PATCH 070/279] Translated using Weblate (Arabic) Currently translated at 5.6% (71 of 1274 strings) --- po/ar/minetest.po | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/po/ar/minetest.po b/po/ar/minetest.po index c01860ddc..be7552dd3 100644 --- a/po/ar/minetest.po +++ b/po/ar/minetest.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-22 06:11+0000\n" +"PO-Revision-Date: 2019-11-23 18:04+0000\n" "Last-Translator: abidin toumi \n" "Language-Team: Arabic \n" @@ -22,7 +22,7 @@ msgstr "" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" -msgstr "" +msgstr "مِت" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -30,7 +30,7 @@ msgstr "أعِد الإحياء" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "" +msgstr "يطلب الخادم إعادة الإتصال:" #: builtin/fstk/ui.lua msgid "Reconnect" @@ -141,7 +141,7 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" -msgstr "مُمَكن" +msgstr "مُفعل" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" @@ -149,7 +149,7 @@ msgstr "عطِل الكل" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" -msgstr "مكِن الكل" +msgstr "فعِل الكل" #: builtin/mainmenu/dlg_config_world.lua msgid "" @@ -173,7 +173,7 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" -msgstr "" +msgstr "حِزم الإكساء" #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" @@ -227,7 +227,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Mapgen" -msgstr "" +msgstr "مولِد الخريطة" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" @@ -303,7 +303,7 @@ msgstr "عطِّل" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Enabled" -msgstr "مكِّن" +msgstr "مُفعل" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" @@ -375,51 +375,51 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid integer." -msgstr "" +msgstr "يرجى إدخال رقم صحيح صالح." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "The value must be at least $1." -msgstr "" +msgstr "يحب أن لا تقل القيمة عن $1." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "The value must not be larger than $1." -msgstr "" +msgstr "يحب أن لا تزيد القيمة عن $1." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid number." -msgstr "" +msgstr "يرجى إدخال رقم صالح." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select directory" -msgstr "" +msgstr "إختر الدليل" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select file" -msgstr "" +msgstr "إختر ملف" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "< Back to Settings page" -msgstr "" +msgstr "< عد لصفحة الإعدادات" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Edit" -msgstr "" +msgstr "حرر" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Restore Default" -msgstr "" +msgstr "إستعِد الإفتراضي" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Show technical names" -msgstr "" +msgstr "إعرض الأسماء التقنية" #: builtin/mainmenu/pkgmgr.lua msgid "$1 (Enabled)" -msgstr "" +msgstr "$1 (مفعل)" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to install a $1 as a texture pack" -msgstr "" +msgstr "فشل تثبيت $1 كحزمة إكساء" #: builtin/mainmenu/pkgmgr.lua msgid "Failed to install $1 to $2" @@ -447,11 +447,11 @@ msgstr "" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to install a game as a $1" -msgstr "" +msgstr "فشل تثبيت اللعبة كـ $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install: file: \"$1\"" -msgstr "" +msgstr "ثبت: الملف: \"$1\"" #: builtin/mainmenu/pkgmgr.lua msgid "Install: Unsupported file type \"$1\" or broken archive" From b6a229775ec035e7c08d64f6451b00695c662458 Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: Sun, 24 Nov 2019 19:25:26 +0000 Subject: [PATCH 071/279] Translated using Weblate (Russian) Currently translated at 81.9% (1044 of 1274 strings) --- po/ru/minetest.po | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index 50ee6393d..b4e9e3d55 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-22 06:11+0000\n" +"PO-Revision-Date: 2019-11-25 09:46+0000\n" "Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" @@ -24,9 +24,8 @@ msgid "You died" msgstr "Вы умерли" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Ошибка в скрипте Lua (например, в моде):" +msgstr "Обнаружена ошибка в скрипте Lua:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -120,18 +119,16 @@ msgid "Mod:" msgstr "Мод:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Необязательные зависимости:" +msgstr "Нет необязательных зависимостей" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Описание игры недоступно." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Нет зависимостей." +msgstr "Нет жёстких зависимостей" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." From 429d7f33d49810a0478bc3653fbed7899f803252 Mon Sep 17 00:00:00 2001 From: Fixer Date: Tue, 26 Nov 2019 17:58:17 +0000 Subject: [PATCH 072/279] Translated using Weblate (Ukrainian) Currently translated at 42.1% (536 of 1274 strings) --- po/uk/minetest.po | 55 +++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/po/uk/minetest.po b/po/uk/minetest.po index af3a5d00d..156d94494 100644 --- a/po/uk/minetest.po +++ b/po/uk/minetest.po @@ -3,17 +3,17 @@ msgstr "" "Project-Id-Version: Ukrainian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-11-27 20:04+0000\n" +"Last-Translator: Fixer \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 3.9-dev\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=" +"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -24,9 +24,8 @@ msgid "You died" msgstr "Ви загинули" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Трапилася помилка у Lua скрипті модифікації:" +msgstr "Трапилася помилка у Lua скрипті:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -121,27 +120,24 @@ msgid "Mod:" msgstr "Мод:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Необов'язкові залежності:" +msgstr "Необов'язкові залежності відсутні" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Опис гри відсутній." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Без залежностей." +msgstr "Без обов'язкових залежностей" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Опис модифікації відсутній." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Необов'язкові залежності:" +msgstr "Відсутні необов'язкові залежності" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -750,7 +746,7 @@ msgstr "Шейдери" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" -msgstr "" +msgstr "Шейдери (недоступно)" #: builtin/mainmenu/tab_settings.lua msgid "Simple Leaves" @@ -785,9 +781,8 @@ msgid "Waving Leaves" msgstr "Коливати листя" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Блоки, що коливаються" +msgstr "Хвилясті Рідини" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -863,7 +858,7 @@ msgstr "Будь-ласка введіть ім'я!" #: src/client/clientlauncher.cpp msgid "Provided password file failed to open: " -msgstr "" +msgstr "Не вдалося відкрити файл паролю: " #: src/client/clientlauncher.cpp msgid "Provided world path doesn't exist: " @@ -914,12 +909,10 @@ msgid "- Server Name: " msgstr "- Назва сервера: " #: src/client/game.cpp -#, fuzzy msgid "Automatic forward disabled" msgstr "Автоматичний рух вперед вимкнено" #: src/client/game.cpp -#, fuzzy msgid "Automatic forward enabled" msgstr "Автоматичний рух вперед увімкнено" @@ -945,7 +938,7 @@ msgstr "Кінорежим увімкнено" #: src/client/game.cpp msgid "Client side scripting is disabled" -msgstr "" +msgstr "Клієнтосторонні скрипти на клієнті вимкнено" #: src/client/game.cpp msgid "Connecting to server..." @@ -1534,7 +1527,7 @@ msgid "Register and Join" msgstr "Зареєструватися і увійти" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1542,11 +1535,11 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Ви збираєтеся вперше підключитися до сервера %1$s з іменем %2$s. Якщо ви " -"продовжите, буде створено новий ігровий профіль на даному сервері з вашим " -"іменем/паролем.\n" -"Будь-ласка введіть повторно ваш пароль і натисніть \"Зареєструватися і увійти" -"\", або \"Скасувати\", якщо ви проти." +"Ви збираєтеся вперше підключитися до сервера з іменем \"%s\". \n" +"Якщо ви продовжите, буде створено новий ігровий профіль на даному сервері з " +"вашим іменем/паролем.\n" +"Будь-ласка введіть повторно ваш пароль і натисніть \"Зареєструватися і " +"увійти\", або \"Скасувати\", якщо ви проти." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1691,9 +1684,8 @@ msgid "Toggle noclip" msgstr "Прохід крізь стіни" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "Увімкнути чат (журнал)" +msgstr "Увімкнути висотний рух" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1740,6 +1732,9 @@ msgid "" "(Android) Fixes the position of virtual joystick.\n" "If disabled, virtual joystick will center to first-touch's position." msgstr "" +"(Android) Закріплює позицію віртуального джойстика.\n" +"Якщо вимкнено, віртуальний джойстик буде відцентровано до першого місця " +"дотику." #: src/settings_translation_file.cpp msgid "" @@ -1747,6 +1742,10 @@ msgid "" "If enabled, virtual joystick will also tap \"aux\" button when out of main " "circle." msgstr "" +"(Android) Використовувати віртуальний джойстик для активації кнопки \"aux\"." +"\n" +"Якщо увімкнено, віртуальний джойстик також натисне \"aux\", коли поза межами " +"головного кола." #: src/settings_translation_file.cpp msgid "" From ffcdf741fc84256cb3d700af082c056e47d0df3f Mon Sep 17 00:00:00 2001 From: abidin toumi Date: Tue, 26 Nov 2019 19:04:41 +0000 Subject: [PATCH 073/279] Translated using Weblate (Arabic) Currently translated at 5.7% (73 of 1274 strings) --- po/ar/minetest.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/ar/minetest.po b/po/ar/minetest.po index be7552dd3..44d3abba4 100644 --- a/po/ar/minetest.po +++ b/po/ar/minetest.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-23 18:04+0000\n" +"PO-Revision-Date: 2019-11-27 20:04+0000\n" "Last-Translator: abidin toumi \n" "Language-Team: Arabic \n" @@ -723,11 +723,11 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Screen:" -msgstr "" +msgstr "الشاشة:" #: builtin/mainmenu/tab_settings.lua msgid "Autosave Screen Size" -msgstr "" +msgstr "حفظ حجم الشاشة تلقائيا" #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Shaders" From fa2978b3b92eef0fbd8ac4bd093fa22ea4faf9b7 Mon Sep 17 00:00:00 2001 From: Matej Mlinar Date: Thu, 28 Nov 2019 21:33:49 +0000 Subject: [PATCH 074/279] Translated using Weblate (Slovenian) Currently translated at 43.9% (559 of 1274 strings) --- po/sl/minetest.po | 85 ++++++++++++++++++++++++----------------------- 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/po/sl/minetest.po b/po/sl/minetest.po index d48ee9167..1e1591061 100644 --- a/po/sl/minetest.po +++ b/po/sl/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Slovenian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2019-11-29 23:04+0000\n" +"Last-Translator: Matej Mlinar \n" "Language-Team: Slovenian \n" "Language: sl\n" @@ -24,9 +24,8 @@ msgid "You died" msgstr "Umrl si" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Prišlo je do napake v Lua kodi, kot prilagoditvi:" +msgstr "Prišlo je do napake v Lua skripti:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -786,9 +785,8 @@ msgid "Waving Leaves" msgstr "Pokaži premikanje listov" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Pokaži premikanje listov" +msgstr "Valovanje tekočin" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1107,7 +1105,7 @@ msgstr "KiB/s" #: src/client/game.cpp msgid "Media..." -msgstr "" +msgstr "Medij..." #: src/client/game.cpp msgid "MiB/s" @@ -1299,7 +1297,7 @@ msgstr "Konec" #: src/client/keycode.cpp msgid "Erase EOF" -msgstr "" +msgstr "Izbriši EOF" #: src/client/keycode.cpp msgid "Execute" @@ -1538,7 +1536,7 @@ msgid "Register and Join" msgstr "Registriraj in prijavi se" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1546,10 +1544,11 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Prvič se boste prijavili v strežnik v %1$s z imenom \"%2$s\". Če " -"nadaljujete, bo na tem strežniku ustvarjen nov račun z vašimi referencami.\n" -"Prosimo, znova vnesite svoje geslo in kliknite \"Registriraj in prijavi se" -"\", da potrdite ustvarjanje računa ali kliknite \"Prekliči\" za prekinitev." +"Prvič se boste prijavili v strežnik z imenom \"%s\".\n" +"Če nadaljujete, bo na tem strežniku ustvarjen nov račun z vašimi prijavnimi " +"podatki.\n" +"Prosimo, znova vnesite svoje geslo in kliknite \"Registriraj in prijavi se\"" +", da potrdite ustvarjanje računa ali kliknite \"Prekliči\" za prekinitev." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1780,7 +1779,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "2D noise that controls the shape/size of ridged mountains." -msgstr "" +msgstr "2D šum, ki nadzoruje obliko/velikost gorskih verig." #: src/settings_translation_file.cpp msgid "2D noise that controls the shape/size of rolling hills." @@ -1808,11 +1807,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D clouds" -msgstr "" +msgstr "3D oblaki" #: src/settings_translation_file.cpp msgid "3D mode" -msgstr "" +msgstr "3D način" #: src/settings_translation_file.cpp msgid "3D noise defining giant caverns." @@ -2405,7 +2404,7 @@ msgstr "Poškodbe" #: src/settings_translation_file.cpp msgid "Darkness sharpness" -msgstr "" +msgstr "Ostrina teme" #: src/settings_translation_file.cpp msgid "Debug info toggle key" @@ -2433,7 +2432,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Default acceleration" -msgstr "" +msgstr "Privzet pospešek" #: src/settings_translation_file.cpp msgid "Default game" @@ -2457,7 +2456,7 @@ msgstr "Privzeti privilegiji" #: src/settings_translation_file.cpp msgid "Default report format" -msgstr "" +msgstr "Privzeta oblika poročanja" #: src/settings_translation_file.cpp msgid "" @@ -2513,23 +2512,20 @@ msgid "Defines the base ground level." msgstr "Določa osnovno podlago." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "Določa osnovno podlago." +msgstr "Določa globino rečne struge." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." msgstr "Določa maksimalno razdaljo prenosa igralcev v blokih (0 = neomejeno)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "Določa obsežno strukturo rečnega kanala." +msgstr "Določa širino rečne struge." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "Določa območja, kjer imajo drevesa jabolka." +msgstr "Določa širino rečne doline." #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2595,7 +2591,7 @@ msgstr "Kopanje delcev" #: src/settings_translation_file.cpp msgid "Disable anticheat" -msgstr "" +msgstr "Onemogoči preprečevanje goljufanja" #: src/settings_translation_file.cpp msgid "Disallow empty passwords" @@ -2630,9 +2626,8 @@ msgid "Dungeon minimum Y" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Šum votline" +msgstr "Šum ječe" #: src/settings_translation_file.cpp msgid "" @@ -2667,7 +2662,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Enable players getting damage and dying." -msgstr "Omogoči da igralci dobijo poškodbo in umrejo." +msgstr "Omogoči, da igralci dobijo poškodbo in umrejo." #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." @@ -2774,7 +2769,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "FSAA" -msgstr "" +msgstr "FSAA" #: src/settings_translation_file.cpp msgid "Factor noise" @@ -2802,7 +2797,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Fast key" -msgstr "Tipka za hitro" +msgstr "Tipka za hitro premikanje" #: src/settings_translation_file.cpp msgid "Fast mode acceleration" @@ -2927,12 +2922,14 @@ msgid "Fog toggle key" msgstr "Tipka za preklop na meglo" #: src/settings_translation_file.cpp +#, fuzzy msgid "Font path" -msgstr "" +msgstr "Pot pisave" #: src/settings_translation_file.cpp +#, fuzzy msgid "Font shadow" -msgstr "" +msgstr "Senca pisave" #: src/settings_translation_file.cpp msgid "Font shadow alpha" @@ -2947,8 +2944,9 @@ msgid "Font shadow offset, if 0 then shadow will not be drawn." msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Font size" -msgstr "" +msgstr "Velikost pisave" #: src/settings_translation_file.cpp msgid "" @@ -2958,40 +2956,43 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Format of screenshots." -msgstr "" +msgstr "Oblika posnetkov zaslona." #: src/settings_translation_file.cpp +#, fuzzy msgid "Formspec Default Background Color" -msgstr "" +msgstr "Formspec privzeta barva ozadja" #: src/settings_translation_file.cpp msgid "Formspec Default Background Opacity" -msgstr "" +msgstr "Formspec privzeta neprosojnost ozadja" #: src/settings_translation_file.cpp msgid "Formspec Full-Screen Background Color" -msgstr "" +msgstr "Formspec barva ozadja v celozaslonskem načinu" #: src/settings_translation_file.cpp msgid "Formspec Full-Screen Background Opacity" -msgstr "" +msgstr "Formspec neprosojnost ozadja v celozaslonskem načinu" #: src/settings_translation_file.cpp msgid "Formspec default background color (R,G,B)." -msgstr "" +msgstr "Formspec privzeta barva ozadja (R,G,B)." #: src/settings_translation_file.cpp msgid "Formspec default background opacity (between 0 and 255)." -msgstr "" +msgstr "Formspec privzeta neprosojnost ozadja (med 0 in 255)." #: src/settings_translation_file.cpp msgid "Formspec full-screen background color (R,G,B)." -msgstr "" +msgstr "Formspec barva ozadja v celozaslonskem načinu (R,G,B)." #: src/settings_translation_file.cpp msgid "Formspec full-screen background opacity (between 0 and 255)." msgstr "" +"Formspec neprosojnost ozadja v celozaslonskem načinu (between 0 and 255)." #: src/settings_translation_file.cpp msgid "Forward key" From 699e1d4b77b04a11b78833a52dddc1f61ca43839 Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: Sun, 1 Dec 2019 02:54:47 +0000 Subject: [PATCH 075/279] Translated using Weblate (Russian) Currently translated at 100.0% (1274 of 1274 strings) --- po/ru/minetest.po | 1007 +++++++++++++++++++++------------------------ 1 file changed, 467 insertions(+), 540 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index b4e9e3d55..91200f904 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-25 09:46+0000\n" +"PO-Revision-Date: 2019-12-02 20:16+0000\n" "Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" @@ -308,11 +308,11 @@ msgstr "2D шум" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "< Back to Settings page" -msgstr "В главное меню" +msgstr "< Назад к странице настроек" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" -msgstr "Выбрать" +msgstr "Обзор" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Disabled" @@ -1529,10 +1529,10 @@ msgstr "Пароли не совпадают!" #: src/gui/guiConfirmRegistration.cpp msgid "Register and Join" -msgstr "Подключиться" +msgstr "Зарегистрироваться и подключиться" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1540,12 +1540,12 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Вы собираетесь впервые присоединиться к серверу на «%1$s» под именем «%2$s». " +"Вы собираетесь впервые присоединиться к серверу под именем «%s».\n" "Если вы продолжите, на этом сервере будет создан новый аккаунт с вашими " "учётными данными.\n" -"Пожалуйста, введите пароль ещё раз и нажмите «Подключиться», чтобы " -"подтвердить создание аккаунта, либо нажмите «Отмена», чтобы прервать " -"операцию." +"Пожалуйста, введите пароль ещё раз и нажмите «Зарегистрироваться и " +"подключиться», чтобы подтвердить создание аккаунта, либо нажмите «Отмена», " +"чтобы прервать операцию." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1795,8 +1795,8 @@ msgid "" "0 = parallax occlusion with slope information (faster).\n" "1 = relief mapping (slower, more accurate)." msgstr "" -"0 = Параллакс с информацией о наклоне (Быстрее).\n" -"1 = Рельефный маппинг (Медленнее, качественнее)." +"0 = Параллакс окклюзии с информацией о склоне (быстро).\n" +"1 = Рельефный маппинг (медленно, но качественно)." #: src/settings_translation_file.cpp msgid "2D noise that controls the shape/size of ridged mountains." @@ -1828,9 +1828,8 @@ msgstr "" "хребтов." #: src/settings_translation_file.cpp -#, fuzzy msgid "2D noise that locates the river valleys and channels." -msgstr "Двухмерный шум, контролирующий форму и размер холмов." +msgstr "2D-шум, определяющие расположение пойм рек и их русел." #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1867,7 +1866,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "3D-шум, определяющий количество подземелий в куске карты." #: src/settings_translation_file.cpp msgid "" @@ -1923,7 +1922,7 @@ msgstr "Ускорение в воздухе" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Ускорение свободного падения в узлах в секунду." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -1981,7 +1980,6 @@ msgid "Alters how mountain-type floatlands taper above and below midpoint." msgstr "Управляет сужением островов горного типа ниже средней точки." #: src/settings_translation_file.cpp -#, fuzzy msgid "Altitude chill" msgstr "Высота нивального пояса" @@ -2042,7 +2040,6 @@ msgid "Ask to reconnect after crash" msgstr "Запрашивать переподключение после аварийного завершения" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "At this distance the server will aggressively optimize which blocks are sent " "to\n" @@ -2056,30 +2053,27 @@ msgid "" "optimization.\n" "Stated in mapblocks (16 nodes)." msgstr "" -"На этом расстоянии сервер будет агрессивно оптимизировать то, какие " -"фрагменты будут\n" -"отправлены клиентам. Малые значения, возможно, увеличат производительность " -"за счет\n" -"видимых глюков отрисовки (некоторые фрагменты не будут отрисовываться под " -"водой\n" -"и в пещерах, а иногда и на суше). Установка этого значения больше, чем " -"max_block_send_distance\n" -"отключает оптимизацию. Указывается в фрагментах (16 блоков)" +"На этом расстоянии сервер будет агрессивно оптимизировать то, какие блоки " +"будут\n" +"отправлены клиентам.\n" +"Малые значения могут увеличить производительность за счёт заметных\n" +"проблем отрисовки (некоторые фрагменты не будут отрисовываться под водой\n" +"и в пещерах, а иногда и на суше).\n" +"Установка этого значения больше, чем max_block_send_distance\n" +"отключит эту оптимизацию.\n" +"Указывается в блоках карты (16 блоков)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Automatic forward key" -msgstr "Клавиша вперёд" +msgstr "Клавиша авто-вперёд" #: src/settings_translation_file.cpp -#, fuzzy msgid "Automatically jump up single-node obstacles." -msgstr "Автоматически запрыгивать на препятствия высотой в 1 метр." +msgstr "Автоматически запрыгивать на одноблочные препятствия." #: src/settings_translation_file.cpp -#, fuzzy msgid "Automatically report to the serverlist." -msgstr "Автоматически добавлять в список серверов." +msgstr "Автоматически анонсировать в список серверов." #: src/settings_translation_file.cpp msgid "Autosave screen size" @@ -2094,14 +2088,12 @@ msgid "Backward key" msgstr "Клавиша назад" #: src/settings_translation_file.cpp -#, fuzzy msgid "Base ground level" msgstr "Уровень земли" #: src/settings_translation_file.cpp -#, fuzzy msgid "Base terrain height." -msgstr "Высота основной местности" +msgstr "Высота основной местности." #: src/settings_translation_file.cpp msgid "Basic" @@ -2140,7 +2132,6 @@ msgid "Bits per pixel (aka color depth) in fullscreen mode." msgstr "Бит на пиксель (глубина цвета) в полноэкранном режиме." #: src/settings_translation_file.cpp -#, fuzzy msgid "Block send optimize distance" msgstr "Оптимизированное расстояние отправки блока" @@ -2157,17 +2148,17 @@ msgid "Bumpmapping" msgstr "Бампмаппинг" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" "Most users will not need to change this.\n" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Расстояние между камерой и плоскостью, от 0 до 0.5 размера узла. Большинству " -"пользователей не нужно будет изменить этот параметр. Его увеличение может " -"уменьшить количество артефактов на слабых графических процессорах.\n" -"По умолчанию = 0.1; 0.25 будет хорошим значением для слабых планшетов." +"Расстояние между камерой и плоскостью отсечения в узлах от 0 до 0.5.\n" +"Большинству пользователей не потребуется менять этот параметр.\n" +"Его увеличение может уменьшить количество артефактов на слабых графических " +"процессорах.\n" +"0.1 — по умолчанию; 0.25 — хорошее значение для слабых планшетов." #: src/settings_translation_file.cpp msgid "Camera smoothing" @@ -2222,16 +2213,14 @@ msgid "Cavern threshold" msgstr "Порог пещеры" #: src/settings_translation_file.cpp -#, fuzzy msgid "Cavern upper limit" -msgstr "Предел пещеры" +msgstr "Верхнее ограничение пещер" #: src/settings_translation_file.cpp msgid "Center of light curve mid-boost." msgstr "Центр среднего подъёма кривой света." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Changes the main menu UI:\n" "- Full: Multiple singleplayer worlds, game choice, texture pack chooser, " @@ -2241,11 +2230,10 @@ msgid "" "necessary for smaller screens." msgstr "" "Изменение интерфейса в главном меню:\n" -"- full: выбор миров для одиночной или сетевой игры, список чужих серверов " -"в отдельной вкладке.\n" -"- simple: один мир для одиночной игры в том же меню, где и список чужих " -"серверов; может быть полезно для небольших экранов.\n" -"По умолчанию: simple для Android, full для всех остальных." +"- Full: несколько однопользовательских миров, выбор игры, выбор пакета " +"текстур и т. д.\n" +"- Simple: один однопользовательский мир без выбора игр или текстур. Может " +"быть полезно для небольших экранов." #: src/settings_translation_file.cpp msgid "Chat key" @@ -2256,9 +2244,8 @@ msgid "Chat message count limit" msgstr "Максимальное количество сообщений в чате" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "Максимальная длина сообщения в чате" +msgstr "Формат сообщений в чате" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2278,7 +2265,7 @@ msgstr "Команды в чате" #: src/settings_translation_file.cpp msgid "Chunk size" -msgstr "Размер чанка" +msgstr "Размер куска" #: src/settings_translation_file.cpp msgid "Cinematic mode" @@ -2305,9 +2292,8 @@ msgid "Client modding" msgstr "Моддинг клиента" #: src/settings_translation_file.cpp -#, fuzzy msgid "Client side modding restrictions" -msgstr "Моддинг клиента" +msgstr "Ограничения моддинга на стороне клиента" #: src/settings_translation_file.cpp msgid "Client side node lookup range restriction" @@ -2417,27 +2403,26 @@ msgid "" "Continuous forward movement, toggled by autoforward key.\n" "Press the autoforward key again or the backwards movement to disable." msgstr "" -"Непрерывное движение вперёд, переключаемое клавишей «автоматический бег».\n" -"Нажмите автоматический бег ещё раз либо движение назад, чтобы выключить." +"Непрерывное движение вперёд, переключаемое клавишей «автобег».\n" +"Нажмите автобег ещё раз либо движение назад, чтобы выключить." #: src/settings_translation_file.cpp msgid "Controls" msgstr "Управление" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Controls length of day/night cycle.\n" "Examples:\n" "72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged." msgstr "" -"Задает длину цикла дня/ночи.\n" -"Примеры: 72 = 20 минут, 360 = 4 минуты, 1 = 24 часа, 0 = время суток не " -"меняется." +"Задает скорость смены времени суток.\n" +"Примеры:\n" +"72 = 20 минут, 360 = 4 минуты, 1 = 24 часа, 0 = статичное время суток." #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Контролирует скорость погружения в жидкости." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2448,13 +2433,12 @@ msgid "Controls steepness/height of hills." msgstr "Регулирует крутизну и высоту холмов." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Controls the density of mountain-type floatlands.\n" "Is a noise offset added to the 'mgv7_np_mountain' noise value." msgstr "" "Контролирует плотность горной местности парящих островов.\n" -"Является смещением, добавляемым к значению шума 'np_mountain'." +"Является смещением, добавляемым к значению шума 'mgv7_np_mountain'." #: src/settings_translation_file.cpp msgid "Controls width of tunnels, a smaller value creates wider tunnels." @@ -2494,9 +2478,8 @@ msgid "Damage" msgstr "Урон" #: src/settings_translation_file.cpp -#, fuzzy msgid "Darkness sharpness" -msgstr "Крутизна озёр" +msgstr "Резкость темноты" #: src/settings_translation_file.cpp msgid "Debug info toggle key" @@ -2516,7 +2499,7 @@ msgstr "Клавиша уменьшения громкости" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." -msgstr "" +msgstr "Уменьшите значение, чтобы увеличить сопротивление жидкости движению." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2575,14 +2558,14 @@ msgid "Defines areas with sandy beaches." msgstr "Определяет области с песчаными пляжами." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines distribution of higher terrain and steepness of cliffs." -msgstr "Определяет области возвышений поверхности и влияет на крутизну скал." +msgstr "" +"Определяет распределение поверхности на возвышенностях и влияет на крутизну " +"скал." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines distribution of higher terrain." -msgstr "Определяет области 'terrain_higher' (местность на вершинах утёсов)." +msgstr "Определяет распределение поверхности на возвышенностях." #: src/settings_translation_file.cpp msgid "Defines full size of caverns, smaller values create larger caverns." @@ -2606,14 +2589,12 @@ msgstr "" "Более высокое значение приводит к более гладким картам нормалей." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the base ground level." -msgstr "Определяет области и плотность деревьев." +msgstr "Определяет базовый уровень земли." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "Определяет области и плотность деревьев." +msgstr "Определяет глубину русла реки." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." @@ -2622,14 +2603,12 @@ msgstr "" "неограниченное)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "Определяет крупномасштабную структуру каналов рек." +msgstr "Определяет ширину русла реки." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "Определяет области, где у деревьев есть яблоки." +msgstr "Определяет ширину поймы реки." #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2662,11 +2641,13 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" +"Устарело, определяет и располагает жидкости в пещерах с использованием " +"определений биома.\n" +"Y верхней границы лавы в больших пещерах." #: src/settings_translation_file.cpp -#, fuzzy msgid "Depth below which you'll find giant caverns." -msgstr "Глубина, ниже которой встречаются крупные пещеры." +msgstr "Глубина, ниже которой встречаются гигантские пещеры." #: src/settings_translation_file.cpp msgid "Depth below which you'll find large caves." @@ -2685,13 +2666,12 @@ msgid "Desert noise threshold" msgstr "Порог шума пустынь" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Deserts occur when np_biome exceeds this value.\n" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" "Пустыни появляются, когда np_biome превышает это значение.\n" -"Это игнорируется, когда включена новая система биомов." +"Игнорируется, когда включён флаг 'snowbiomes'." #: src/settings_translation_file.cpp msgid "Desynchronize block animation" @@ -2726,9 +2706,8 @@ msgid "Drop item key" msgstr "Кнопка выброса блока" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dump the mapgen debug information." -msgstr "Дамп отладочной информации генератора мира." +msgstr "Дамп отладочных данных генератора карты." #: src/settings_translation_file.cpp msgid "Dungeon maximum Y" @@ -2739,9 +2718,8 @@ msgid "Dungeon minimum Y" msgstr "Минимальная Y подземелья" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Минимальная Y подземелья" +msgstr "Шум подземелья" #: src/settings_translation_file.cpp msgid "" @@ -2764,14 +2742,12 @@ msgid "Enable creative mode for new created maps." msgstr "Включить творческий режим для вновь созданных карт." #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable joysticks" msgstr "Включить джойстики" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable mod channels support." -msgstr "Включить защиту модов" +msgstr "Включить поддержку каналов модов." #: src/settings_translation_file.cpp msgid "Enable mod security" @@ -2841,13 +2817,11 @@ msgstr "" "Например: 0 отключает покачивание, 1.0 для обычного, 2.0 для двойного." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Enable/disable running an IPv6 server.\n" "Ignored if bind_address is set." msgstr "" -"Включить/отключить запуск IPv6-сервера. Сервер IPv6 может быть\n" -"ограничен IPv6-клиентами в зависимости от конфигурации системы.\n" +"Включить/отключить запуск IPv6-сервера.\n" "Игнорируется, если задан bind_address." #: src/settings_translation_file.cpp @@ -2951,7 +2925,7 @@ msgstr "Ускорение быстрого перемещения" #: src/settings_translation_file.cpp msgid "Fast mode speed" -msgstr "Скорость быстрой ходьбы" +msgstr "Скорость быстрого перемещения" #: src/settings_translation_file.cpp msgid "Fast movement" @@ -2974,17 +2948,15 @@ msgid "Field of view in degrees." msgstr "Поле зрения в градусах." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "File in client/serverlist/ that contains your favorite servers displayed in " "the\n" "Multiplayer Tab." msgstr "" -"Файл в директории client/serverlist/, содержащий ваши избранные серверы, " -"показываемые на вкладке Мультиплеер." +"Файл в директории client/serverlist/, содержащий ваши избранные серверы\n" +"из вкладки Мультиплеер." #: src/settings_translation_file.cpp -#, fuzzy msgid "Filler depth" msgstr "Глубина наполнителя" @@ -2997,7 +2969,6 @@ msgid "Filmic tone mapping" msgstr "Кинематографическое тональное отображение" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" "which PNG optimizers usually discard, sometimes resulting in a dark or\n" @@ -3014,12 +2985,10 @@ msgid "Filtering" msgstr "Фильтрация" #: src/settings_translation_file.cpp -#, fuzzy msgid "First of 4 2D noises that together define hill/mountain range height." -msgstr "Первый из двух 3D-шумов, которые вместе определяют туннели." +msgstr "Первый из четырёх 2D-шумов, определяющий диапазон высоты холмов и гор." #: src/settings_translation_file.cpp -#, fuzzy msgid "First of two 3D noises that together define tunnels." msgstr "Первый из двух 3D-шумов, которые вместе определяют туннели." @@ -3048,9 +3017,8 @@ msgid "Floatland mountain density" msgstr "Плотность гор на парящих островах" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland mountain exponent" -msgstr "Плотность гор на парящих островах" +msgstr "Экспонента гор на парящих островах" #: src/settings_translation_file.cpp msgid "Floatland mountain height" @@ -3106,6 +3074,9 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Формат сообщений игрока в чате. В качестве заполнителей доступны следующие " +"строки:\n" +"@name, @message, @timestamp (необязательно)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3113,48 +3084,44 @@ msgstr "Формат скриншотов." #: src/settings_translation_file.cpp msgid "Formspec Default Background Color" -msgstr "Стандартный цвет фона игровой консоли" +msgstr "Стандартный цвет фона формы" #: src/settings_translation_file.cpp msgid "Formspec Default Background Opacity" -msgstr "Стандартная непрозрачность фона игровой консоли" +msgstr "Стандартная непрозрачность фона формы" #: src/settings_translation_file.cpp msgid "Formspec Full-Screen Background Color" -msgstr "Цвет фона игровой консоли в полноэкранном режиме" +msgstr "Цвет фона формы в полноэкранном режиме" #: src/settings_translation_file.cpp msgid "Formspec Full-Screen Background Opacity" -msgstr "Непрозрачность фона игровой консоли в полноэкранном режиме" +msgstr "Непрозрачность фона формы в полноэкранном режиме" #: src/settings_translation_file.cpp -#, fuzzy msgid "Formspec default background color (R,G,B)." -msgstr "Цвет фона внутриигровой консоли (R, G, B)." +msgstr "Стандартный цвет фона формы (R,G,B)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Formspec default background opacity (between 0 and 255)." -msgstr "Прозрачность фона внутриигровой консоли (непрозрачность от 0 до 255)." +msgstr "Стандартная непрозрачность фона формы (от 0 до 255)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Formspec full-screen background color (R,G,B)." -msgstr "Цвет фона внутриигровой консоли (R, G, B)." +msgstr "Цвет фона формы в полноэкранном режиме (R,G,B)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Formspec full-screen background opacity (between 0 and 255)." -msgstr "Прозрачность фона внутриигровой консоли (непрозрачность от 0 до 255)." +msgstr "Непрозрачность фона формы в полноэкранном режиме (от 0 до 255)." #: src/settings_translation_file.cpp msgid "Forward key" msgstr "Клавиша вперёд" #: src/settings_translation_file.cpp -#, fuzzy msgid "Fourth of 4 2D noises that together define hill/mountain range height." -msgstr "Первый из двух 3D-шумов, которые вместе определяют туннели." +msgstr "" +"Четвертый из четырех 2D-шумов, определяющий диапазон высоты холмов и гор." #: src/settings_translation_file.cpp msgid "Fractal type" @@ -3191,6 +3158,11 @@ msgid "" "to maintain active objects up to this distance in the direction the\n" "player is looking. (This can avoid mobs suddenly disappearing from view)" msgstr "" +"Расстояние в блоках, на котором клиенты распознают объекты (16 узлов).\n" +"\n" +"Если указать значение более active_block_range, то сервер будет запоминать\n" +"движущиеся объекты на этом расстоянии в направлении взгляда игрока.\n" +"(Это поможет избежать внезапного исчезновения мобов из поля зрения)" #: src/settings_translation_file.cpp msgid "Full screen" @@ -3229,17 +3201,15 @@ msgid "Global callbacks" msgstr "Глобальные обратные вызовы" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Global map generation attributes.\n" "In Mapgen v6 the 'decorations' flag controls all decorations except trees\n" "and junglegrass, in all other mapgens this flag controls all decorations." msgstr "" "Глобальные атрибуты генерации карт.\n" -"В генераторе карты v6 флаг 'decorations' не влияет на деревья и траву в " -"джунглях, в остальных генераторах этот флаг контролирует все декорации.\n" -"Флаги, не указанные в строке флагов, остаются в значении по умолчанию.\n" -"Приставка 'no' отключает флаг." +"В генераторе карт v6 флаг 'decorations' не влияет на деревья и траву в " +"джунглях,\n" +"в остальных генераторах этот флаг контролирует все декорации." #: src/settings_translation_file.cpp msgid "Gradient of light curve at maximum light level." @@ -3262,9 +3232,8 @@ msgid "Ground level" msgstr "Уровень земли" #: src/settings_translation_file.cpp -#, fuzzy msgid "Ground noise" -msgstr "Шум грязи" +msgstr "Шум грунта" #: src/settings_translation_file.cpp msgid "HTTP mods" @@ -3339,24 +3308,20 @@ msgid "Hill threshold" msgstr "Порог холмов" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hilliness1 noise" -msgstr "Шум крутизны" +msgstr "Шум холмистости 1" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hilliness2 noise" -msgstr "Шум крутизны" +msgstr "Шум холмистости 2" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hilliness3 noise" -msgstr "Шум крутизны" +msgstr "Шум холмистости 3" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hilliness4 noise" -msgstr "Шум крутизны" +msgstr "Шум холмистости 4" #: src/settings_translation_file.cpp msgid "Homepage of server, to be displayed in the serverlist." @@ -3367,191 +3332,164 @@ msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Горизонтальное ускорение в воздухе при прыжке или падении\n" +"в узлах в секунду." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Горизонтальное и вертикальное ускорение в режиме \n" +"быстрого перемещения в узлах в секунду." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"Горизонтальное и вертикальное ускорение на земле или при лазании\n" +"в узлах за секунду." #: src/settings_translation_file.cpp msgid "Hotbar next key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Следующий предмет на горячей панели" #: src/settings_translation_file.cpp msgid "Hotbar previous key" -msgstr "Предыдущий предмет в быстрой панели" +msgstr "Предыдущий предмет на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 1 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 1 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 10 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 10 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 11 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 11 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 12 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 12 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 13 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 13 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 14 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 14 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 15 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 15 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 16 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 16 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 17 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 17 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 18 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 18 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 19 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 19 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 2 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 2 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 20 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 20 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 21 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 21 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 22 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 22 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 23 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 23 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 24 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 24 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 25 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 25 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 26 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 26 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 27 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 27 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 28 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 28 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 29 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 29 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 3 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 3 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 30 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 30 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 31 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 31 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 32 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 32 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 4 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 4 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 5 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 5 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 6 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 6 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 7 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 7 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 8 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 8 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "Hotbar slot 9 key" -msgstr "Следующий предмет в быстрой панели" +msgstr "Предмет 9 на горячей панели" #: src/settings_translation_file.cpp -#, fuzzy msgid "How deep to make rivers." -msgstr "Глубина рек" +msgstr "Как глубоко делать реки." #: src/settings_translation_file.cpp msgid "" @@ -3562,9 +3500,8 @@ msgstr "" "Высокие значения более плавные, но используют больше RAM." #: src/settings_translation_file.cpp -#, fuzzy msgid "How wide to make rivers." -msgstr "Насколько широкими делать реки" +msgstr "Насколько широкими делать реки." #: src/settings_translation_file.cpp msgid "Humidity blend noise" @@ -3604,8 +3541,8 @@ msgid "" "are\n" "enabled." msgstr "" -"Если выключено, кнопка «Использовать» используется для быстрого полёта, если " -"одновременно включены быстрый режим и режим полёта." +"Если отключено, кнопка «Использовать» активирует быстрый полёт, если " +"одновременно включены режим быстрого перемещения и режим полёта." #: src/settings_translation_file.cpp msgid "" @@ -3687,6 +3624,8 @@ msgid "" "limited\n" "to this distance from the player to the node." msgstr "" +"Если ограничение CSM для диапазона узлов включено, вызовы\n" +"get_node ограничиваются на это расстояние от игрока до узла." #: src/settings_translation_file.cpp msgid "" @@ -3695,6 +3634,10 @@ msgid "" "deleting an older debug.txt.1 if it exists.\n" "debug.txt is only moved if this setting is positive." msgstr "" +"Если размер файла debug.txt при открытии превысит количество мегабайтов,\n" +"указанных в этой настройке, файл будет перемещён в debug.txt.1,\n" +"а старый debug.txt.1 будет удалён.\n" +"debug.txt перемещается только тогда, когда это значение положительное." #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." @@ -3726,7 +3669,7 @@ msgstr "Клавиша увеличения громкости" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "Начальная вертикальная скорость при прыжках в узлах в секунду." #: src/settings_translation_file.cpp msgid "" @@ -3805,6 +3748,10 @@ msgid "" "increases processing load.\n" "At iterations = 20 this mapgen has a similar load to mapgen V7." msgstr "" +"Количество итераций рекурсивной функции.\n" +"Большее количество итераций улучшает детализацию фрактала,\n" +"но увеличивает вычислительную нагрузку.\n" +"При 20 итерациях нагрузка сравнима с картогенератором V7." #: src/settings_translation_file.cpp msgid "Joystick ID" @@ -3819,12 +3766,10 @@ msgid "Joystick frustum sensitivity" msgstr "Чувствительность джойстика" #: src/settings_translation_file.cpp -#, fuzzy msgid "Joystick type" msgstr "Тип джойстика" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Julia set only.\n" "W component of hypercomplex constant.\n" @@ -3832,45 +3777,46 @@ msgid "" "Has no effect on 3D fractals.\n" "Range roughly -2 to 2." msgstr "" -"Только множество Жюлиа: Компонент W гиперкомплексной константы, определяющий " -"форму фрактала Жюлиа.\n" +"Только для множества Жюлиа:\n" +"компонент W гиперкомплексной константы,\n" +"определяющий форму фрактала Жюлиа.\n" "Не влияет на 3D-фракталы.\n" "Диапазон примерно от -2 до 2." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Julia set only.\n" "X component of hypercomplex constant.\n" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" -"Только множество Жюлиа: Компонент X гиперкомплексной константы, определяющей " -"форму фрактала.\n" +"Только для множества Жюлиа:\n" +"компонент Х гиперкомплексной константы,\n" +"определяющий форму фрактала Жюлиа.\n" "Диапазон примерно от -2 до 2." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Julia set only.\n" "Y component of hypercomplex constant.\n" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" -"Только множество Жюлиа: Компонент Y гиперкомплексной константы, определяющей " -"форму фрактала.\n" +"Только для множества Жюлиа:\n" +"компонент Y гиперкомплексной константы,\n" +"определяющий форму фрактала Жюлиа.\n" "Диапазон примерно от -2 до 2." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Julia set only.\n" "Z component of hypercomplex constant.\n" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" -"Только множество Жюлиа: Компонент Z гиперкомплексной константы, определяющей " -"форму фрактала.\n" +"Только для множества Жюлиа:\n" +"компонент Z гиперкомплексной константы,\n" +"определяющий форму фрактала Жюлиа.\n" "Диапазон примерно от -2 до 2." #: src/settings_translation_file.cpp @@ -3968,7 +3914,6 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for moving the player backward.\n" "Will also disable autoforward, when active.\n" @@ -3976,8 +3921,9 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша движения назад.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"При активации также отключает автобег.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4060,290 +4006,264 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 11th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 11 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 12th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 12 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 13th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 13 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 14th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 14 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 15th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 15 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 16th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 16 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 17th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 17 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 18th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 18 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 19th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 19 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 20th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 20 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 21st hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 21 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 22nd hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 22 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 23rd hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 23 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 24th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 24 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 25th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 25 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 26th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 26 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 27th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 27 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 28th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 28 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 29th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 29 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 30th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 30 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 31st hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 31 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 32nd hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 32 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the eighth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 8 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the fifth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 5 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the first hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 1 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the fourth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора предыдущего предмета в быстрой панели.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 4 на горячей панели.\n" +"Смотрите http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4351,20 +4271,19 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора следующего предмета на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the ninth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 9 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4372,64 +4291,59 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора предыдущего предмета в быстрой панели.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предыдущего предмета на горячей панели.\n" +"Смотрите http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the second hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 2 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the seventh hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 7 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the sixth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 6 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the tenth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 10 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the third hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша выбора следующего предмета в быстрой панели.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша выбора предмета 3 на горячей панели.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4466,15 +4380,14 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling autoforward.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша переключения режима постоянной ходьбы.\n" -"См. http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша переключения автобега.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4503,8 +4416,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша переключения режима быстрого перемещения.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4547,15 +4460,14 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling the display of chat.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша переключения отображения чата.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4568,15 +4480,14 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling the display of fog.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша переключения отображения тумана.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4656,9 +4567,8 @@ msgid "Large chat console key" msgstr "Кнопка вызова консоли" #: src/settings_translation_file.cpp -#, fuzzy msgid "Lava depth" -msgstr "Глубина больших пещер" +msgstr "Глубина лавы" #: src/settings_translation_file.cpp msgid "Leaves style" @@ -4682,28 +4592,25 @@ msgid "Left key" msgstr "Кнопка выхода" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Length of a server tick and the interval at which objects are generally " "updated over\n" "network." msgstr "" -"Длина серверного тика и интервал, на котором объекты, как правило, " +"Длина серверного тика и интервал, на котором объекты обычно\n" "обновляются по сети." #: src/settings_translation_file.cpp -#, fuzzy msgid "Length of time between Active Block Modifier (ABM) execution cycles" -msgstr "Время между циклами выполнения модификаторов активных блоков" +msgstr "Время между циклами выполнения модификаторов активных блоков (ABM)" #: src/settings_translation_file.cpp msgid "Length of time between NodeTimer execution cycles" msgstr "Время между циклами выполнения таймеров блоков" #: src/settings_translation_file.cpp -#, fuzzy msgid "Length of time between active block management cycles" -msgstr "Время между циклами управления активными блоками" +msgstr "Время между циклами управления активными блоками (ABM)" #: src/settings_translation_file.cpp msgid "" @@ -4756,7 +4663,8 @@ msgid "" "Value is stored per-world." msgstr "" "Предел генерации карты, в блоках, во всех шести направлениях от (0, 0, 0).\n" -"Генерируются только чанки, которые умещаются в заданном пределе полностью.\n" +"Генерируются только куски карты, которые умещаются в заданном пределе " +"полностью.\n" "Значение сохраняется отдельно для каждого мира." #: src/settings_translation_file.cpp @@ -4790,9 +4698,8 @@ msgid "Liquid queue purge time" msgstr "Время очистки очереди жидкостей" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Скорость погружения в жидкость" +msgstr "Стекание жидкости" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." @@ -4864,46 +4771,46 @@ msgid "" "to become shallower and occasionally dry.\n" "'altitude_dry': Reduces humidity with altitude." msgstr "" +"Атрибуты генерации карты для генератора долин.\n" +"«altitude_chill»: уменьшает теплоту с ростом высоты.\n" +"«humid_rivers»: увеличивает влажность по обе стороны рек.\n" +"«vary_river_depth»: если включено, то низкая влажность и высокая\n" +"температура влияют на уровень воды в реках.\n" +"«altitude_dry»: уменьшает влажность с ростом высоты." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen flat.\n" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Атрибуты генерации карт для Mapgen v7.\n" -"«хребты» включают реки." +"Атрибуты генерации для генератора плоскости.\n" +"«terrain» включает генерацию не-фрактального рельефа:\n" +"океаны, острова и подземелья." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen flat.\n" "Occasional lakes and hills can be added to the flat world." msgstr "" -"Атрибуты генерации карты, относящиеся к генератору плоской карты.\n" -"Случайные озёра и холмы могут быть добавлены в плоский мир.\n" -"Флаги, не указанные в строке флагов, остаются в значении по умолчанию.\n" -"Флаги с приставкой 'no' явно отключают их." +"Атрибуты генерации карты для генератора плоскости.\n" +"Иногда озера и холмы могут добавляться в плоский мир." #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen v5." msgstr "Атрибуты генерации карт для Mapgen v5." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen v6.\n" "The 'snowbiomes' flag enables the new 5 biome system.\n" "When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" "the 'jungles' flag is ignored." msgstr "" -"Атрибуты генерации карты, относящиеся к генератору карты версии 6.\n" -"Флаг 'snowbiomes' включает новую систему биомов.\n" -"Когда включена новая система биомов, джунгли включаются автоматически\n" -"и флаг 'jungles' игнорируется.\n" -"Флаги, не указанные в строке флагов, остаются в значении по умолчанию.\n" -"Флаги с приставкой 'no' явно отключают их." +"Атрибуты генерации карты для генератора карты v6.\n" +"Параметр «snowbiomes» (снежные биомы) включает новую систему с 5 биомами.\n" +"Если «snowbiomes» включён, то автоматически задействуются джунгли,\n" +"а флаг «jungles» игнорируется." #: src/settings_translation_file.cpp msgid "" @@ -4930,82 +4837,68 @@ msgid "Mapblock mesh generation delay" msgstr "Задержка в генерации мешей блоков" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapblock mesh generator's MapBlock cache size in MB" -msgstr "Размер кэша блоков в генераторе мешей в МБ" +msgstr "Размер кэша блоков карты в генераторе мешей в МБ" #: src/settings_translation_file.cpp msgid "Mapblock unload timeout" msgstr "Таймаут выгрузки блоков" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Carpathian" -msgstr "Генератор фрактальной карты" +msgstr "Генератор карты Карпаты" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Carpathian specific flags" -msgstr "Флаги генератора плоской карты" +msgstr "Специальные флаги генератора Карпаты" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Flat" -msgstr "Генератор плоской карты" +msgstr "Картогенератор плоскости" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Flat specific flags" -msgstr "Флаги генератора плоской карты" +msgstr "Специальные флаги картогенератора плоскости" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal" -msgstr "Генератор фрактальной карты" +msgstr "Картогенератор Фрактал" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal specific flags" -msgstr "Флаги генератора плоской карты" +msgstr "Специальные флаги картогенератора Фрактал" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen V5" -msgstr "Генератор карты версии 5" +msgstr "Картогенератор V5" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen V5 specific flags" -msgstr "Флаги генератора карты версии 5" +msgstr "Специальные флаги картогенератора V5" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen V6" -msgstr "Генератор карты версии 6" +msgstr "Картогенератор V6" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen V6 specific flags" -msgstr "Флаги генератора карты версии 6" +msgstr "Специальные флаги картогенератора V6" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen V7" -msgstr "Генератор карты версии 7" +msgstr "Картогенератора V7" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen V7 specific flags" -msgstr "Флаги генератора карты версии 7" +msgstr "Специальные флаги картогенератора V7" #: src/settings_translation_file.cpp msgid "Mapgen Valleys" msgstr "Генератор карты Valleys" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Valleys specific flags" -msgstr "Флаги генератора плоской карты" +msgstr "Специальные флаги картогенератора долин" #: src/settings_translation_file.cpp msgid "Mapgen debug" @@ -5053,13 +4946,15 @@ msgstr "Максимальное количество принудительно #: src/settings_translation_file.cpp msgid "Maximum hotbar width" -msgstr "Максимальная ширина быстрой панели" +msgstr "Максимальная ширина горячей панели" #: src/settings_translation_file.cpp msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Максимальное сопротивление жидкости. Контролирует замедление\n" +"при поступлении жидкости с высокой скоростью." #: src/settings_translation_file.cpp msgid "" @@ -5067,6 +4962,9 @@ msgid "" "The maximum total count is calculated dynamically:\n" "max_total = ceil((#clients + max_users) * per_client / 4)" msgstr "" +"Максимальное количество одновременно отправляемых каждому клиенту блоков.\n" +"Общее максимальное количество вычисляется динамически:\n" +"max_total = ceil((#clients + max_users) * per_client / 4)" #: src/settings_translation_file.cpp msgid "Maximum number of blocks that can be queued for loading." @@ -5114,14 +5012,12 @@ msgstr "" "умноженного на два." #: src/settings_translation_file.cpp -#, fuzzy msgid "Maximum number of players that can be connected simultaneously." -msgstr "Максимальное количество одновременно подключающихся клиентов." +msgstr "Максимальное количество одновременно подключённых игроков." #: src/settings_translation_file.cpp -#, fuzzy msgid "Maximum number of recent chat messages to show" -msgstr "Максимальное количество принудительно загруженных блоков." +msgstr "Максимальное количество последних отображаемых сообщений чата" #: src/settings_translation_file.cpp msgid "Maximum number of statically stored objects in a block." @@ -5136,7 +5032,7 @@ msgid "" "Maximum proportion of current window to be used for hotbar.\n" "Useful if there's something to be displayed right or left of hotbar." msgstr "" -"Максимальная доля окна, используемая для быстрой панели.\n" +"Максимальная доля окна, используемая для горячей панели.\n" "Полезно, если что-то будет отображаться справа или слева от него." #: src/settings_translation_file.cpp @@ -5198,9 +5094,8 @@ msgid "Minimap scan height" msgstr "Высота сканирования миникарты" #: src/settings_translation_file.cpp -#, fuzzy msgid "Minimum texture size" -msgstr "Минимальный размер текстуры для фильтров" +msgstr "Минимальный размер текстуры" #: src/settings_translation_file.cpp msgid "Mipmapping" @@ -5231,14 +5126,12 @@ msgid "Mountain noise" msgstr "Шум гор" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mountain variation noise" -msgstr "Шум высоты гор" +msgstr "Шум вариации гор" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mountain zero level" -msgstr "Шум гор" +msgstr "Нулевой уровень гор" #: src/settings_translation_file.cpp msgid "Mouse sensitivity" @@ -5269,7 +5162,6 @@ msgid "Mute sound" msgstr "Заглушить звук" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this.\n" @@ -5279,11 +5171,8 @@ msgstr "" "Название генератора карты, который будет использоваться при создании нового " "мира.\n" "Это значение переопределяется при создании мира через главное меню .\n" -"Текущие стабильные картографы: v5, v6, v7 (кроме floatlans), flat, " -"singlenode.\n" -"«Стабильные» означает, что рельеф местности в существующем мире не изменится " -"в будущем.\n" -"Обратите внимание, что биомы определяются играми и всё ещё могут меняться." +"Текущие крайне нестабильные картогенераторы:\n" +"- Дополнительные парящие острова v7 (выключено по умолчанию)." #: src/settings_translation_file.cpp msgid "" @@ -5301,9 +5190,8 @@ msgid "" msgstr "Имя сервера, отображаемое при входе и в списке серверов." #: src/settings_translation_file.cpp -#, fuzzy msgid "Near clipping plane" -msgstr "Дистанция до плоскости" +msgstr "Близкая плоскость отсечения" #: src/settings_translation_file.cpp msgid "Network" @@ -5369,6 +5257,21 @@ msgid "" "processes, especially in singleplayer and/or when running Lua code in\n" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" +"Количество возникающих потоков для использования.\n" +"ВНИМАНИЕ: Пока могут появляться ошибки, вызывающие сбой, если\n" +"«num_emerge_threads» больше 1. Строго рекомендуется использовать\n" +"значение «1», до тех пор, пока предупреждение не будет убрано.\n" +"Значение 0:\n" +"- Автоматический выбор. Количество потоков будет\n" +"- «число процессоров - 2», минимально — 1.\n" +"Любое другое значение:\n" +"- Указывает количество потоков, минимально — 1.\n" +"ВНИМАНИЕ: Увеличение числа потоков улучшает быстродействие\n" +"движка картогенератора, но может ухудшать на производительность игры, \n" +"мешая другим процессам, особенно в одиночной игре и/или при запуске кода Lua " +"в\n" +"«on_generated». Для большинства пользователей наилучшим значением может быть " +"1." #: src/settings_translation_file.cpp msgid "" @@ -5400,8 +5303,8 @@ msgid "" "formspec is\n" "open." msgstr "" -"Открыть меню паузы при потере окном фокуса. Не срабатывает, если какое-либо " -"меню уже открыто." +"Открыть меню паузы при потере окном фокуса. Не срабатывает, если какая-либо\n" +"форма уже открыта." #: src/settings_translation_file.cpp msgid "Overall bias of parallax occlusion effect, usually scale/2." @@ -5428,9 +5331,8 @@ msgid "Parallax occlusion mode" msgstr "Режим параллакса" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion scale" -msgstr "Масштаб параллакса" +msgstr "Масштаб параллаксной окклюзии" #: src/settings_translation_file.cpp msgid "Parallax occlusion strength" @@ -5518,12 +5420,11 @@ msgstr "" "консольных команд." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Print the engine's profiling data in regular intervals (in seconds).\n" "0 = disable. Useful for developers." msgstr "" -"Печатать информацию о профилировании через заданные интервалы (в секундах). " +"Печатать информацию о профилировании через заданные интервалы (в секундах).\n" "0 = отключить. Полезно для разработчиков." #: src/settings_translation_file.cpp @@ -5552,9 +5453,8 @@ msgstr "" "Значения больше чем 26 вызывают резкое обрезание углов зоны облаков." #: src/settings_translation_file.cpp -#, fuzzy msgid "Raises terrain to make valleys around the rivers." -msgstr "Поднимает местность, чтобы образовать долины вдоль рек" +msgstr "Поднимает местность, чтобы образовывать поймы вдоль рек." #: src/settings_translation_file.cpp msgid "Random input" @@ -5581,6 +5481,8 @@ msgid "" "Remove color codes from incoming chat messages\n" "Use this to stop players from being able to use color in their messages" msgstr "" +"Удаляет коды цветов из входящих сообщений чата\n" +"Используйте, чтобы запретить игрокам применять цвета в своих сообщениях" #: src/settings_translation_file.cpp msgid "Replaces the default main menu with a custom one." @@ -5603,11 +5505,20 @@ msgid "" "csm_restriction_noderange)\n" "READ_PLAYERINFO: 32 (disable get_player_names call client-side)" msgstr "" +"Ограничивает доступ к определенным клиентским функциям на серверах.\n" +"Суммируйте отметки байтов ниже для ограничения функций, либо введите 0,\n" +"чтобы ничего не ограничивать:\n" +"LOAD_CLIENT_MODS: 1 (отключить загрузку пользовательских модификаций)\n" +"CHAT_MESSAGES: 2 (отключить вызов send_chat_message со стороны клиента)\n" +"READ_ITEMDEFS: 4 (отключить вызов get_item_def со стороны клиента)\n" +"READ_NODEDEFS: 8 (отключить вызов get_node_def со стороны клиента)\n" +"LOOKUP_NODES_LIMIT: 16 (ограничивает вызов get_node со стороны клиента\n" +"до csm_restriction_noderange)\n" +"READ_PLAYERINFO: 32 (отключить вызов get_player_names со стороны клиента)" #: src/settings_translation_file.cpp -#, fuzzy msgid "Ridge mountain spread noise" -msgstr "Шум подводных хребтов" +msgstr "Шум распространения горных хребтов" #: src/settings_translation_file.cpp msgid "Ridge noise" @@ -5618,9 +5529,8 @@ msgid "Ridge underwater noise" msgstr "Шум подводных хребтов" #: src/settings_translation_file.cpp -#, fuzzy msgid "Ridged mountain size noise" -msgstr "Шум подводных хребтов" +msgstr "Размер шума подводных хребтов" #: src/settings_translation_file.cpp msgid "Right key" @@ -5631,34 +5541,28 @@ msgid "Rightclick repetition interval" msgstr "Интервал повторного клика правой кнопкой" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel depth" -msgstr "Глубина рек" +msgstr "Глубина русла реки" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel width" -msgstr "Глубина рек" +msgstr "Ширина русла реки" #: src/settings_translation_file.cpp -#, fuzzy msgid "River depth" msgstr "Глубина рек" #: src/settings_translation_file.cpp -#, fuzzy msgid "River noise" msgstr "Шум рек" #: src/settings_translation_file.cpp -#, fuzzy msgid "River size" msgstr "Размер рек" #: src/settings_translation_file.cpp -#, fuzzy msgid "River valley width" -msgstr "Глубина рек" +msgstr "Ширина поймы реки" #: src/settings_translation_file.cpp msgid "Rollback recording" @@ -5697,7 +5601,6 @@ msgid "Saving map received from server" msgstr "Сохранение карты, полученной с сервера" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Scale GUI by a user specified value.\n" "Use a nearest-neighbor-anti-alias filter to scale the GUI.\n" @@ -5708,7 +5611,7 @@ msgstr "" "Масштабировать интерфейс, используя заданное пользователем значение.\n" "Использовать метод ближайшего соседа и антиалиасинг, чтобы масштабировать " "интерфейс.\n" -"Это сгладит некоторые острые углы и смешает пиксели при уменьшении масштаба, " +"Это сгладит некоторые острые углы и смешает пиксели при уменьшении масштаба " "за счёт\n" "размывания пикселей на гранях при масштабировании на нецелые размеры." @@ -5747,12 +5650,12 @@ msgid "Seabed noise" msgstr "Шум морского дна" #: src/settings_translation_file.cpp -#, fuzzy msgid "Second of 4 2D noises that together define hill/mountain range height." -msgstr "Второй из двух 3D-шумов, которые вместе определяют туннели." +msgstr "" +"Второй из четырех 2D-шумов, которые вместе определяют диапазон высот холмов " +"и гор." #: src/settings_translation_file.cpp -#, fuzzy msgid "Second of two 3D noises that together define tunnels." msgstr "Второй из двух 3D-шумов, которые вместе определяют туннели." @@ -5761,9 +5664,8 @@ msgid "Security" msgstr "Безопасность" #: src/settings_translation_file.cpp -#, fuzzy msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous" -msgstr "Смотрите http://www.sqlite.org/pragma.html#pragma_synchronous" +msgstr "См. http://www.sqlite.org/pragma.html#pragma_synchronous" #: src/settings_translation_file.cpp msgid "Selection box border color (R,G,B)." @@ -5778,7 +5680,6 @@ msgid "Selection box width" msgstr "Толщина рамки выделения" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Selects one of 18 fractal types.\n" "1 = 4D \"Roundy\" mandelbrot set.\n" @@ -5800,7 +5701,7 @@ msgid "" "17 = 4D \"Mandelbulb\" mandelbrot set.\n" "18 = 4D \"Mandelbulb\" julia set." msgstr "" -"Выбор из 18 фракталов из 9 формул.\n" +"Выбирает один из 18 типов фракталов.\n" "1 = 4D \"Круглое\" множество Мандельброта.\n" "2 = 4D \"Круглое\" множество Жюлиа.\n" "3 = 4D \"Квадратное\" множество Мандельброта.\n" @@ -5899,7 +5800,6 @@ msgid "Shader path" msgstr "Путь к шейдерам" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Shaders allow advanced visual effects and may increase performance on some " "video\n" @@ -5908,7 +5808,7 @@ msgid "" msgstr "" "Шейдеры позволяют использовать дополнительные визуальные эффекты и могут " "увеличить производительность на некоторых видеокартах.\n" -"Они работают только с бэкендом OpenGL." +"Работают только с видео-бэкендом OpenGL." #: src/settings_translation_file.cpp msgid "Shadow limit" @@ -5939,6 +5839,16 @@ msgid "" "Altering this value is for special usage, leaving it unchanged is\n" "recommended." msgstr "" +"Размер кусков карты, создаваемых картогенератором, указывает в блоках карты (" +"16 узлов).\n" +"ВНИМАНИЕ!: От изменения этого значения нет никакой пользы, и значение больше " +"5\n" +"может быть вредным.\n" +"С уменьшением этого значения увеличится плотность расположения пещер и " +"подземелий.\n" +"Изменять это значение нужно только в особых ситуациях, а в обычных " +"рекомендуется\n" +"оставить как есть." #: src/settings_translation_file.cpp msgid "" @@ -5955,9 +5865,8 @@ msgid "Slice w" msgstr "Разрез w" #: src/settings_translation_file.cpp -#, fuzzy msgid "Slope and fill work together to modify the heights." -msgstr "Скос и заполнение работают совместно для изменения высот" +msgstr "Склон и заполнение работают совместно для изменения высот." #: src/settings_translation_file.cpp msgid "Small-scale humidity variation for blending biomes on borders." @@ -5999,16 +5908,15 @@ msgstr "Скорость скрытной ходьбы" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "Скорость ходьбы украдкой в узлах в секунду." #: src/settings_translation_file.cpp msgid "Sound" msgstr "Звук" #: src/settings_translation_file.cpp -#, fuzzy msgid "Special key" -msgstr "Красться" +msgstr "Клавиша использовать" #: src/settings_translation_file.cpp msgid "Special key for climbing/descending" @@ -6044,14 +5952,12 @@ msgid "Steepness noise" msgstr "Шум крутизны" #: src/settings_translation_file.cpp -#, fuzzy msgid "Step mountain size noise" -msgstr "Шум гор" +msgstr "Шаг шума размера гор" #: src/settings_translation_file.cpp -#, fuzzy msgid "Step mountain spread noise" -msgstr "Шум гор" +msgstr "Шаг шума распространения гор" #: src/settings_translation_file.cpp msgid "Strength of generated normalmaps." @@ -6059,7 +5965,7 @@ msgstr "Сила сгенерированных карт нормалей." #: src/settings_translation_file.cpp msgid "Strength of light curve mid-boost." -msgstr "" +msgstr "Сила среднего подъёма кривой света." #: src/settings_translation_file.cpp msgid "Strength of parallax." @@ -6071,7 +5977,7 @@ msgstr "Строгая проверка протокола" #: src/settings_translation_file.cpp msgid "Strip color codes" -msgstr "" +msgstr "Прятать коды цветов" #: src/settings_translation_file.cpp msgid "Synchronous SQLite" @@ -6082,18 +5988,16 @@ msgid "Temperature variation for biomes." msgstr "Вариация температур в биомах." #: src/settings_translation_file.cpp -#, fuzzy msgid "Terrain alternative noise" -msgstr "Альтернативный шум ландшафта" +msgstr "Альтернативный шум рельефа" #: src/settings_translation_file.cpp msgid "Terrain base noise" msgstr "Базовый шум поверхности" #: src/settings_translation_file.cpp -#, fuzzy msgid "Terrain height" -msgstr "Высота местности" +msgstr "Высота рельефа" #: src/settings_translation_file.cpp msgid "Terrain higher noise" @@ -6140,6 +6044,14 @@ msgid "" "this option allows enforcing it for certain node types. Note though that\n" "that is considered EXPERIMENTAL and may not work properly." msgstr "" +"Текстуры блока можно выровнять либо относительно блока, либо мира.\n" +"Первый режим лучше подходит к таким вещам, как машины, мебель и т. д.,\n" +"а во втором лестницы и микроблоки становятся более соответствующими среде.\n" +"Однако это новая возможность, и её нельзя использовать на старых серверах,\n" +"данный параметр позволяет принудительно применять к определенным типам " +"блоков.\n" +"Замечение: этот режим ЭКСПЕРИМЕНТАЛЬНЫЙ и может работать ненадлежащим " +"образом." #: src/settings_translation_file.cpp msgid "The URL for the content repository" @@ -6154,9 +6066,8 @@ msgstr "" "когда вызывают '/profiler save [формат]' без формата." #: src/settings_translation_file.cpp -#, fuzzy msgid "The depth of dirt or other biome filler node." -msgstr "Глубина земли или другого наполнителя" +msgstr "Глубина грунта или иного узла-заполнителя." #: src/settings_translation_file.cpp msgid "" @@ -6197,6 +6108,12 @@ msgid "" "maintained.\n" "This should be configured together with active_object_range." msgstr "" +"Радиус объема блоков вокруг каждого игрока, в котором действуют\n" +"активные блоки, определенные в блоках карты (16 блоков).\n" +"В активных блоках загружаются объекты и работает ABM.\n" +"Также это минимальный диапазон, в котором обрабатываются активные объекты " +"(мобы).\n" +"Необходимо настраивать вместе с active_object_range." #: src/settings_translation_file.cpp msgid "" @@ -6207,6 +6124,11 @@ msgid "" "On other platforms, OpenGL is recommended, and it’s the only driver with\n" "shader support currently." msgstr "" +"Бэк-энд отрисовки для Irrlicht.\n" +"После изменения этого параметра потребуется перезапуск.\n" +"Примечание: На Андроиде, применяйте OGLES1, если не уверены, иначе\n" +"приложение может не запуститься. На других платформах рекомендуется\n" +"OpenGL, так как сейчас это единственный драйвер с поддержкой шейдеров." #: src/settings_translation_file.cpp msgid "" @@ -6264,11 +6186,15 @@ msgid "" "enabled. Also the vertical distance over which humidity drops by 10 if\n" "'altitude_dry' is enabled." msgstr "" +"Вертикальное расстояние, на котором температура падает на 20, когда\n" +"«altitude_chill» включён. Также вертикальная расстояние,\n" +"на котором влажность падает на 10, когда «altitude_dry» включён." #: src/settings_translation_file.cpp -#, fuzzy msgid "Third of 4 2D noises that together define hill/mountain range height." -msgstr "Первый из двух 3D-шумов, которые вместе определяют туннели." +msgstr "" +"Третий из четырех 2D-шумов, которые вместе определяют диапазон высот холмов " +"и гор." #: src/settings_translation_file.cpp msgid "This font will be used for certain languages." @@ -6348,10 +6274,10 @@ msgid "Trusted mods" msgstr "Доверенные моды" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Typical maximum height, above and below midpoint, of floatland mountains." -msgstr "Типичная максимальная высота горной местности парящих островов." +msgstr "" +"Типичная максимальная высота, выше и ниже средней точки гор парящих островов." #: src/settings_translation_file.cpp msgid "URL to the server list displayed in the Multiplayer Tab." @@ -6359,10 +6285,9 @@ msgstr "Адрес списка серверов, отображающийся #: src/settings_translation_file.cpp msgid "Undersampling" -msgstr "Undersampling" +msgstr "Субдискретизация" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Undersampling is similar to using a lower screen resolution, but it applies\n" "to the game world only, keeping the GUI intact.\n" @@ -6370,10 +6295,12 @@ msgid "" "image.\n" "Higher values result in a less detailed image." msgstr "" -"Undersampling похож на использование низкого разрешения экрана, но он\n" -"применяется только к игровому миру, оставляя интерфейс нетронутым.\n" -"Он должен дать существенное увеличение производительности за счёт менее " -"детального изображения." +"Субдискретизация аналогична использованию низкого разрешения экрана,\n" +"но она применяется только к игровому миру, графический интерфейс не " +"затрагивается.\n" +"Значительно увеличивает производительность за счёт вывода менее подробного " +"изображения.\n" +"Высокие значения приводят к менее детализированному изображению." #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" @@ -6385,7 +6312,7 @@ msgstr "Выгружать неиспользуемые сервером дан #: src/settings_translation_file.cpp msgid "Upper Y limit of dungeons." -msgstr "" +msgstr "Верхний лимит Y для подземелий." #: src/settings_translation_file.cpp msgid "Use 3D cloud look instead of flat." @@ -6410,6 +6337,10 @@ msgid "" "especially when using a high resolution texture pack.\n" "Gamma correct downscaling is not supported." msgstr "" +"Использовать MIP-текстурирование для масштабирования текстур.\n" +"Может немного увеличить производительность, особенно при\n" +"использовании пакета текстур высокого разрешения.\n" +"Гамма-коррекция при уменьшении масштаба не поддерживается." #: src/settings_translation_file.cpp msgid "Use trilinear filtering when scaling textures." @@ -6420,29 +6351,24 @@ msgid "VBO" msgstr "VBO" #: src/settings_translation_file.cpp -#, fuzzy msgid "VSync" msgstr "Вертикальная синхронизация" #: src/settings_translation_file.cpp -#, fuzzy msgid "Valley depth" msgstr "Глубина долин" #: src/settings_translation_file.cpp -#, fuzzy msgid "Valley fill" msgstr "Заполнение долин" #: src/settings_translation_file.cpp -#, fuzzy msgid "Valley profile" -msgstr "Профиль Долины" +msgstr "Профиль долины" #: src/settings_translation_file.cpp -#, fuzzy msgid "Valley slope" -msgstr "Уклон долин" +msgstr "Склон долин" #: src/settings_translation_file.cpp msgid "Variation of biome filler depth." @@ -6487,7 +6413,7 @@ msgstr "Регулирует крутизну утёсов." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "Скорость вертикального лазания в узлах в секунду." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6523,14 +6449,13 @@ msgstr "Дистанция отрисовки" #: src/settings_translation_file.cpp msgid "Virtual joystick triggers aux button" -msgstr "" +msgstr "Дополнительная кнопка триггеров виртуального джойстика" #: src/settings_translation_file.cpp msgid "Volume" msgstr "Громкость" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "W coordinate of the generated 3D slice of a 4D fractal.\n" "Determines which 3D slice of the 4D shape is generated.\n" @@ -6538,14 +6463,15 @@ msgid "" "Has no effect on 3D fractals.\n" "Range roughly -2 to 2." msgstr "" -"W координата генерируемого 3D среза 4D фрактала.\n" -"Определяет, какой из 3D срезов 4D формы будет сгенерирован.\n" -"Не оказывает влияния на 3D фракталы.\n" -"Диапазон от -2 до 2." +"Координата W генерируемого 3D-среза 4D-фрактала.\n" +"Определяет, какой из 3D-срезов 4D-формы будет сгенерирован.\n" +"Изменяет форму фрактала.\n" +"Не оказывает влияния на 3D-фракталы.\n" +"Диапазон примерно от -2 до 2." #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "Скорость ходьбы и полёта в узлах в секунду." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6554,6 +6480,8 @@ msgstr "Скорость ходьбы" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." msgstr "" +"Скорость ходьбы, полёта и лазания в режиме быстрого перемещения в узлах в " +"секунду." #: src/settings_translation_file.cpp msgid "Water level" @@ -6580,17 +6508,14 @@ msgid "Waving water" msgstr "Волны на воде" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave height" msgstr "Высота волн на воде" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave speed" msgstr "Скорость волн на воде" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wavelength" msgstr "Длина волн на воде" @@ -6619,7 +6544,6 @@ msgstr "" "правильно поддерживают загрузку текстур с аппаратного обеспечения." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" "can be blurred, so automatically upscale them with nearest-neighbor\n" @@ -6631,18 +6555,16 @@ msgid "" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" -"При использовании билинейных/трилинейных/анизотропных фильтров текстуры с " -"низким разрешением\n" -"могут быть размыты, поэтому автоматически увеличивайте их с помощью " -"интерполяции \"ближайшего соседа\"\n" -"для сохранения четких пикселей. Это устанавливает минимальный размер " -"текстуры\n" -"для масштабированных текстур; Более высокие значения выглядят более резкими, " -"но требуют больше\n" -"памяти. Рекомендуется значение 2. Установка этого значения выше 1 может не " -"иметь\n" -"видимого эффекта, если билинейная/трилинейная/анизотропная фильтрация\n" -"включена." +"При использовании билинейного, трилинейного или анизотропного фильтра\n" +"текстуры с низким разрешением могут быть размыты, поэтому происходит\n" +"автоматическое масштабирование их с интерполяцией по ближайшим соседям,\n" +"чтобы сохранить чёткие пиксели. Этот параметр определяет минимальный\n" +"размер для увеличенных текстур. При высоких значениях отображение более\n" +"чёткое, но требует больше памяти. Рекомендуется значение 2. Установка этого\n" +"значения выше 1 может не иметь видимого эффекта, если не включена \n" +"билинейная, трилинейная или анизотропная фильтрация.\n" +"Также используется как размер текстуры базового блока для мирового\n" +"автомасштабирования текстур." #: src/settings_translation_file.cpp msgid "" @@ -6691,7 +6613,6 @@ msgid "Width component of the initial window size." msgstr "Ширина компонента начального размера окна." #: src/settings_translation_file.cpp -#, fuzzy msgid "Width of the selection box lines around nodes." msgstr "Толщина обводки выделенных узлов." @@ -6726,10 +6647,17 @@ msgid "" "See also texture_min_size.\n" "Warning: This option is EXPERIMENTAL!" msgstr "" +"Выровненные по миру текстуры можно масштабировать так, чтобы они\n" +"охватывали несколько блоков. Но сервер может не отправить нужный\n" +"масштаб, особенно если вы используете специально разработанный\n" +"пакет текстур; с этим параметром клиент пытается определить масштаб\n" +"автоматически на основании размера текстуры.\n" +"Смотрите также texture_min_size.\n" +"Внимание: Этот параметр ЭКСПЕРИМЕНТАЛЬНЫЙ!" #: src/settings_translation_file.cpp msgid "World-aligned textures mode" -msgstr "" +msgstr "Режим текстур, выровненных глобально" #: src/settings_translation_file.cpp msgid "Y of flat ground." @@ -6740,11 +6668,12 @@ msgid "" "Y of mountain density gradient zero level. Used to shift mountains " "vertically." msgstr "" +"Y нулевого уровня градиента плотности гор. Используется для вертикального " +"сдвига гор." #: src/settings_translation_file.cpp -#, fuzzy msgid "Y of upper limit of large caves." -msgstr "Верхний предел по Y для больших псевдослучайных пещер." +msgstr "Y верхнего предела больших пещер." #: src/settings_translation_file.cpp msgid "Y-distance over which caverns expand to full size." @@ -6763,14 +6692,12 @@ msgid "Y-level of floatland midpoint and lake surface." msgstr "Y-уровень середины поплавка и поверхности озера." #: src/settings_translation_file.cpp -#, fuzzy msgid "Y-level of higher terrain that creates cliffs." -msgstr "Y-уровень нижнего рельефа и дна озёр." +msgstr "Y-уровень высокого рельефа, формирующего горы." #: src/settings_translation_file.cpp -#, fuzzy msgid "Y-level of lower terrain and seabed." -msgstr "Y-уровень нижнего рельефа и дна озёр." +msgstr "Y-уровень нижнего рельефа и морского дна." #: src/settings_translation_file.cpp msgid "Y-level of seabed." From 4f6c9e206c77d2465b119b764b8bae7643431a30 Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: Wed, 4 Dec 2019 00:30:17 +0000 Subject: [PATCH 076/279] Translated using Weblate (Russian) Currently translated at 100.0% (1274 of 1274 strings) --- po/ru/minetest.po | 47 ++++++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index 91200f904..0aeccef51 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-12-02 20:16+0000\n" +"PO-Revision-Date: 2019-12-04 01:07+0000\n" "Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" @@ -304,7 +304,7 @@ msgstr "(Нет описания)" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "2D Noise" -msgstr "2D шум" +msgstr "2D-шум" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "< Back to Settings page" @@ -1214,12 +1214,12 @@ msgstr "Установлена видимость %dм" #: src/client/game.cpp #, c-format msgid "Viewing range is at maximum: %d" -msgstr "Установлена максимальная видимость - %dм" +msgstr "Видимость установлена на максимум: %d" #: src/client/game.cpp #, c-format msgid "Viewing range is at minimum: %d" -msgstr "Установлена минимальная видимость - %dм" +msgstr "Видимость установлена на минимум: %d" #: src/client/game.cpp #, c-format @@ -1800,32 +1800,29 @@ msgstr "" #: src/settings_translation_file.cpp msgid "2D noise that controls the shape/size of ridged mountains." -msgstr "2D-шум, управляет формой / размером горных хребтов." +msgstr "2D-шум, управляющий формой и размером горных хребтов." #: src/settings_translation_file.cpp msgid "2D noise that controls the shape/size of rolling hills." -msgstr "Двухмерный шум, контролирующий форму и размер холмов." +msgstr "2D-шум, контролирующий форму и размер холмов." #: src/settings_translation_file.cpp msgid "2D noise that controls the shape/size of step mountains." -msgstr "Двухмерный шум, контролирующий форму и размер ступенчатых гор." +msgstr "2D-шум, контролирующий форму и размер ступенчатых гор." #: src/settings_translation_file.cpp msgid "2D noise that controls the size/occurrence of ridged mountain ranges." msgstr "" -"Двухмерный шум, контролирующий размер и распространение складчатых горных " -"хребтов." +"2D-шум, контролирующий размер и распространение складчатых горных хребтов." #: src/settings_translation_file.cpp msgid "2D noise that controls the size/occurrence of rolling hills." -msgstr "" -"Двухмерный шум, контролирующий размер и распространение холмистой местности." +msgstr "2D-шум, контролирующий размер и распространение холмистой местности." #: src/settings_translation_file.cpp msgid "2D noise that controls the size/occurrence of step mountain ranges." msgstr "" -"Двухмерный шум, контролирующий размер и распространение ступенчатых горных " -"хребтов." +"2D-шум, контролирующий размер и распространение ступенчатых горных хребтов." #: src/settings_translation_file.cpp msgid "2D noise that locates the river valleys and channels." @@ -1883,9 +1880,9 @@ msgid "" msgstr "" "Поддержка 3D.\n" "Сейчас поддерживаются:\n" -"- none: 3D отключён.\n" +"- none: 3D-режим отключён.\n" "- anaglyph: голубой/пурпурный цвет в 3D.\n" -"- interlaced: чётные/нёчетные линии отображают два разных кадра для " +"- interlaced: чётные/нечётные линии отображают два разных кадра для " "экранов, поддерживающих поляризацию.\n" "- topbottom: Разделение экрана верх/низ\n" "- sidebyside: Разделение экрана право/лево.\n" @@ -3121,7 +3118,7 @@ msgstr "Клавиша вперёд" #: src/settings_translation_file.cpp msgid "Fourth of 4 2D noises that together define hill/mountain range height." msgstr "" -"Четвертый из четырех 2D-шумов, определяющий диапазон высоты холмов и гор." +"Четвёртый из четырёх 2D-шумов, определяющий диапазон высоты холмов и гор." #: src/settings_translation_file.cpp msgid "Fractal type" @@ -5505,7 +5502,7 @@ msgid "" "csm_restriction_noderange)\n" "READ_PLAYERINFO: 32 (disable get_player_names call client-side)" msgstr "" -"Ограничивает доступ к определенным клиентским функциям на серверах.\n" +"Ограничивает доступ к определённым клиентским функциям на серверах.\n" "Суммируйте отметки байтов ниже для ограничения функций, либо введите 0,\n" "чтобы ничего не ограничивать:\n" "LOAD_CLIENT_MODS: 1 (отключить загрузку пользовательских модификаций)\n" @@ -5652,7 +5649,7 @@ msgstr "Шум морского дна" #: src/settings_translation_file.cpp msgid "Second of 4 2D noises that together define hill/mountain range height." msgstr "" -"Второй из четырех 2D-шумов, которые вместе определяют диапазон высот холмов " +"Второй из четырёх 2D-шумов, которые вместе определяют диапазон высот холмов " "и гор." #: src/settings_translation_file.cpp @@ -6048,9 +6045,9 @@ msgstr "" "Первый режим лучше подходит к таким вещам, как машины, мебель и т. д.,\n" "а во втором лестницы и микроблоки становятся более соответствующими среде.\n" "Однако это новая возможность, и её нельзя использовать на старых серверах,\n" -"данный параметр позволяет принудительно применять к определенным типам " +"данный параметр позволяет принудительно применять к определённым типам " "блоков.\n" -"Замечение: этот режим ЭКСПЕРИМЕНТАЛЬНЫЙ и может работать ненадлежащим " +"Замечание: этот режим ЭКСПЕРИМЕНТАЛЬНЫЙ и может работать ненадлежащим " "образом." #: src/settings_translation_file.cpp @@ -6108,8 +6105,8 @@ msgid "" "maintained.\n" "This should be configured together with active_object_range." msgstr "" -"Радиус объема блоков вокруг каждого игрока, в котором действуют\n" -"активные блоки, определенные в блоках карты (16 блоков).\n" +"Радиус объёма блоков вокруг каждого игрока, в котором действуют\n" +"активные блоки, определённые в блоках карты (16 блоков).\n" "В активных блоках загружаются объекты и работает ABM.\n" "Также это минимальный диапазон, в котором обрабатываются активные объекты " "(мобы).\n" @@ -6193,7 +6190,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Third of 4 2D noises that together define hill/mountain range height." msgstr "" -"Третий из четырех 2D-шумов, которые вместе определяют диапазон высот холмов " +"Третий из четырёх 2D-шумов, которые вместе определяют диапазон высот холмов " "и гор." #: src/settings_translation_file.cpp @@ -6316,7 +6313,7 @@ msgstr "Верхний лимит Y для подземелий." #: src/settings_translation_file.cpp msgid "Use 3D cloud look instead of flat." -msgstr "Объемные облака вместо плоских." +msgstr "Объёмные облака вместо плоских." #: src/settings_translation_file.cpp msgid "Use a cloud animation for the main menu background." @@ -6576,7 +6573,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." msgstr "" -"Определяет необходимость рассинхронизиции анимации текстур блоков между " +"Определяет необходимость рассинхронизации анимации текстур блоков между " "фрагментами." #: src/settings_translation_file.cpp From 4e57da42c1bb291c8e6c052ba2580bbb3a10c8d4 Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: Wed, 4 Dec 2019 01:12:09 +0000 Subject: [PATCH 077/279] Translated using Weblate (Russian) Currently translated at 100.0% (1274 of 1274 strings) --- po/ru/minetest.po | 245 +++++++++++++++++++++++----------------------- 1 file changed, 123 insertions(+), 122 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index 0aeccef51..1916f40ef 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-12-04 01:07+0000\n" +"PO-Revision-Date: 2019-12-04 03:30+0000\n" "Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" @@ -165,11 +165,13 @@ msgstr "Назад" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "В главное меню" +msgstr "Назад в главное меню" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading and installing $1, please wait..." -msgstr "Загружается и устанавливается $1, пожалуйста, подождите..." +msgstr "" +"Загружается и устанавливается $1.\n" +"Пожалуйста, подождите..." #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" @@ -236,7 +238,7 @@ msgstr "Игра" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Mapgen" -msgstr "Генератор карты" +msgstr "Картогенератор" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" @@ -320,7 +322,7 @@ msgstr "Отключено" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Edit" -msgstr "Править" +msgstr "Изменить" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Enabled" @@ -690,7 +692,7 @@ msgstr "Мипмаппинг" #: builtin/mainmenu/tab_settings.lua msgid "Mipmap + Aniso. Filter" -msgstr "Мипмаппинг с анизотр. фильтром" +msgstr "Мипмаппинг + аниз. фильтр" #: builtin/mainmenu/tab_settings.lua msgid "No" @@ -981,7 +983,7 @@ msgstr "" "- %s: инвентарь\n" "- Мышь: поворот/обзор\n" "- ЛКМ: копать/удар\n" -"- ПКМ: поставить/использовать\n" +"- ПКМ: положить/использовать\n" "- Колесо мыши: выбор предмета\n" "- %s: чат\n" @@ -1072,7 +1074,7 @@ msgstr "Режим полёта включён" #: src/client/game.cpp msgid "Fly mode enabled (note: no 'fly' privilege)" -msgstr "Режим полёта включён (но: нет привилегии 'fly')" +msgstr "Режим полёта включён (но: нет привилегии «fly»)" #: src/client/game.cpp msgid "Fog disabled" @@ -1152,7 +1154,7 @@ msgstr "Режим прохождения сквозь стены включён #: src/client/game.cpp msgid "Noclip mode enabled (note: no 'noclip' privilege)" -msgstr "Режим прохождения сквозь стены включён (но: нет привилегии 'noclip')" +msgstr "Режим прохождения сквозь стены включён (но: нет привилегии «noclip»)" #: src/client/game.cpp msgid "Node definitions..." @@ -1248,11 +1250,11 @@ msgstr "Отображение чата включено" #: src/client/gameui.cpp msgid "HUD hidden" -msgstr "HUD скрыт" +msgstr "Игровой интерфейс скрыт" #: src/client/gameui.cpp msgid "HUD shown" -msgstr "Отображение HUD'а включено" +msgstr "Игровой интерфейс отображается" #: src/client/gameui.cpp msgid "Profiler hidden" @@ -1553,7 +1555,7 @@ msgstr "Продолжить" #: src/gui/guiKeyChangeMenu.cpp msgid "\"Special\" = climb down" -msgstr "Использовать = Спуск" +msgstr "Использовать = спуск" #: src/gui/guiKeyChangeMenu.cpp msgid "Autoforward" @@ -1593,7 +1595,7 @@ msgstr "Громкость -" #: src/gui/guiKeyChangeMenu.cpp msgid "Double tap \"jump\" to toggle fly" -msgstr "Двойной прыжок = Полёт" +msgstr "Двойной прыжок = полёт" #: src/gui/guiKeyChangeMenu.cpp msgid "Drop" @@ -1663,7 +1665,7 @@ msgstr "Использовать" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" -msgstr "HUD" +msgstr "Игровой интерфейс" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle chat log" @@ -1830,11 +1832,11 @@ msgstr "2D-шум, определяющие расположение пойм р #: src/settings_translation_file.cpp msgid "3D clouds" -msgstr "3D облака" +msgstr "Объёмные облака" #: src/settings_translation_file.cpp msgid "3D mode" -msgstr "3D режим" +msgstr "3D-режим" #: src/settings_translation_file.cpp msgid "3D noise defining giant caverns." @@ -2138,7 +2140,7 @@ msgstr "Разрешить ставить блоки на месте игрок #: src/settings_translation_file.cpp msgid "Builtin" -msgstr "Встроен" +msgstr "Встроенный" #: src/settings_translation_file.cpp msgid "Bumpmapping" @@ -2692,7 +2694,7 @@ msgstr "Доменное имя сервера, отображаемое в сп #: src/settings_translation_file.cpp msgid "Double tap jump for fly" -msgstr "Полет по двойному прыжку" +msgstr "Полёт по двойному прыжку" #: src/settings_translation_file.cpp msgid "Double-tapping the jump key toggles fly mode." @@ -2704,7 +2706,7 @@ msgstr "Кнопка выброса блока" #: src/settings_translation_file.cpp msgid "Dump the mapgen debug information." -msgstr "Дамп отладочных данных генератора карты." +msgstr "Записывать отладочные данные картогенератора." #: src/settings_translation_file.cpp msgid "Dungeon maximum Y" @@ -2728,7 +2730,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Enable VBO" -msgstr "Включить VBO" +msgstr "Включить объекты буфера вершин (VBO)" #: src/settings_translation_file.cpp msgid "Enable console window" @@ -2819,7 +2821,7 @@ msgid "" "Ignored if bind_address is set." msgstr "" "Включить/отключить запуск IPv6-сервера.\n" -"Игнорируется, если задан bind_address." +"Игнорируется, если задан «bind_address»." #: src/settings_translation_file.cpp msgid "Enables animation of inventory items." @@ -2886,7 +2888,7 @@ msgstr "Кадровая частота во время паузы" #: src/settings_translation_file.cpp msgid "FSAA" -msgstr "FSAA" +msgstr "Полноэкранное сглаживание (FSAA)" #: src/settings_translation_file.cpp msgid "Factor noise" @@ -3023,7 +3025,7 @@ msgstr "Высота гор на парящих островах" #: src/settings_translation_file.cpp msgid "Fly key" -msgstr "Кнопка полёта" +msgstr "Клавиша полёта" #: src/settings_translation_file.cpp msgid "Flying" @@ -3183,7 +3185,7 @@ msgstr "Фильтр масштабирования интерфейса" #: src/settings_translation_file.cpp msgid "GUI scaling filter txr2img" -msgstr "txr2img фильтр масштабирования интерфейса" +msgstr "Фильтр txr2img для масштабирования интерфейса" #: src/settings_translation_file.cpp msgid "Gamma" @@ -3204,7 +3206,7 @@ msgid "" "and junglegrass, in all other mapgens this flag controls all decorations." msgstr "" "Глобальные атрибуты генерации карт.\n" -"В генераторе карт v6 флаг 'decorations' не влияет на деревья и траву в " +"В картогенераторе v6 флаг 'decorations' не влияет на деревья и траву в " "джунглях,\n" "в остальных генераторах этот флаг контролирует все декорации." @@ -3238,11 +3240,11 @@ msgstr "Моды HTTP" #: src/settings_translation_file.cpp msgid "HUD scale factor" -msgstr "Коэффициент масштабирования HUD" +msgstr "Масштаб игрового интерфейса" #: src/settings_translation_file.cpp msgid "HUD toggle key" -msgstr "Клавиша переключения HUD" +msgstr "Клавиша переключения игрового интерфейса" #: src/settings_translation_file.cpp msgid "" @@ -3518,11 +3520,11 @@ msgstr "IPv6" #: src/settings_translation_file.cpp msgid "IPv6 server" -msgstr "IPv6 сервер" +msgstr "IPv6-сервер" #: src/settings_translation_file.cpp msgid "IPv6 support." -msgstr "поддержка IPv6." +msgstr "Поддержка IPv6." #: src/settings_translation_file.cpp msgid "" @@ -3551,8 +3553,8 @@ msgid "" msgstr "" "Если включено, то сервер будет выполнять отсечение фрагментов, основываясь\n" "на положении глаз игрока. Это может уменьшить количество пересылаемых\n" -"фрагментов на 50-80%. Клиент не будет получать большую часть невидимых\n" -"фрагментов, поэтому режим noclip станет менее полезным." +"блоков на 50-80%. Клиент не будет получать большую часть невидимого,\n" +"поэтому режим прохождения сквозь стены станет менее полезным." #: src/settings_translation_file.cpp msgid "" @@ -3560,9 +3562,9 @@ msgid "" "nodes.\n" "This requires the \"noclip\" privilege on the server." msgstr "" -"Если включено одновременно с режимом полёта, игрок сможет летать через " +"Если включено одновременно с режимом полёта, игрок может пролетать сквозь " "твёрдые блоки.\n" -"Требует наличие привилегии 'noclip' на сервере." +"Требует наличие привилегии «noclip» на сервере." #: src/settings_translation_file.cpp msgid "" @@ -3570,7 +3572,7 @@ msgid "" "down and\n" "descending." msgstr "" -"Если включено, то для спуска (в воде или при полёте) будет использоваться " +"Если включено, то для спуска (в воде или при полёте) будет задействована " "клавиша «Использовать», а не «Красться»." #: src/settings_translation_file.cpp @@ -3847,8 +3849,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша уменьшения зоны видимости.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3866,9 +3868,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша бросить выбранный предмет.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша, чтобы выбросить выбранный предмет.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3877,8 +3879,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша увеличения зоны видимости.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3897,8 +3899,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша прыжка.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3929,8 +3931,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша движения вперёд.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3939,8 +3941,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша движения влево.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3949,8 +3951,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша движения вправо.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3969,8 +3971,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша открытия окна чата для ввода команды.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3989,8 +3991,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша открытия окна чата.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3999,8 +4001,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша открытия инвентаря.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4259,7 +4261,7 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша выбора предмета 4 на горячей панели.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/" +"См. http://irrlicht.sourceforge.net/docu/" "namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp @@ -4289,7 +4291,7 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша выбора предыдущего предмета на горячей панели.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/" +"См. http://irrlicht.sourceforge.net/docu/" "namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp @@ -4350,11 +4352,11 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша красться.\n" -"Также используется для спуска и погружения под воду, если aux1_descends " -"отключена.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша, чтобы красться.\n" +"Также используется для спуска и погружения под воду, если параметр " +"aux1_descends отключён.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4362,9 +4364,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша переключения вида от первого и от третьего лица.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша переключения вида от первого или от третьего лица.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4373,8 +4375,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша снятия скриншота.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4393,8 +4395,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша переключения кинематографического режима.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4403,8 +4405,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша переключения отображения миникарты.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4422,9 +4424,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша переключения режима полета.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша переключения режима полёта.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4432,9 +4434,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша переключения режима проверки столкновений.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша переключения режима прохождения сквозь стены.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4443,7 +4445,7 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша переключения режима движение вниз/вверх по направлению взгляда.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/" +"См. http://irrlicht.sourceforge.net/docu/" "namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp @@ -4472,9 +4474,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша переключения показа отладочной информации.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша переключения отображения отладочной информации.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4492,9 +4494,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша переключения отображения HUD.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Клавиша переключения отображения игрового интерфейса.\n" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4524,8 +4526,8 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Клавиша отключения ограничения зоны видимости.\n" -"Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"См. http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4781,8 +4783,8 @@ msgid "" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" -"Атрибуты генерации для генератора плоскости.\n" -"«terrain» включает генерацию не-фрактального рельефа:\n" +"Атрибуты генерации для картогенератора плоскости.\n" +"«terrain» включает генерацию нефрактального рельефа:\n" "океаны, острова и подземелья." #: src/settings_translation_file.cpp @@ -4790,7 +4792,7 @@ msgid "" "Map generation attributes specific to Mapgen flat.\n" "Occasional lakes and hills can be added to the flat world." msgstr "" -"Атрибуты генерации карты для генератора плоскости.\n" +"Атрибуты генерации для картогенератора плоскости.\n" "Иногда озера и холмы могут добавляться в плоский мир." #: src/settings_translation_file.cpp @@ -4804,10 +4806,10 @@ msgid "" "When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" "the 'jungles' flag is ignored." msgstr "" -"Атрибуты генерации карты для генератора карты v6.\n" -"Параметр «snowbiomes» (снежные биомы) включает новую систему с 5 биомами.\n" -"Если «snowbiomes» включён, то автоматически задействуются джунгли,\n" -"а флаг «jungles» игнорируется." +"Атрибуты генерации для капртогенератора v6.\n" +"Параметр «snowbiomes» (снежные биомы) включает новую систему с 5 \n" +"биомами. Если «snowbiomes» включён, то автоматически\n" +"активируются джунгли, а флаг «jungles» игнорируется." #: src/settings_translation_file.cpp msgid "" @@ -4843,7 +4845,7 @@ msgstr "Таймаут выгрузки блоков" #: src/settings_translation_file.cpp msgid "Mapgen Carpathian" -msgstr "Генератор карты Карпаты" +msgstr "Картогенератор Карпаты" #: src/settings_translation_file.cpp msgid "Mapgen Carpathian specific flags" @@ -4883,7 +4885,7 @@ msgstr "Специальные флаги картогенератора V6" #: src/settings_translation_file.cpp msgid "Mapgen V7" -msgstr "Картогенератора V7" +msgstr "Картогенератор V7" #: src/settings_translation_file.cpp msgid "Mapgen V7 specific flags" @@ -4891,7 +4893,7 @@ msgstr "Специальные флаги картогенератора V7" #: src/settings_translation_file.cpp msgid "Mapgen Valleys" -msgstr "Генератор карты Valleys" +msgstr "Картогенератор долин" #: src/settings_translation_file.cpp msgid "Mapgen Valleys specific flags" @@ -4899,15 +4901,15 @@ msgstr "Специальные флаги картогенератора дол #: src/settings_translation_file.cpp msgid "Mapgen debug" -msgstr "Дебаггинг генератора карты" +msgstr "Отладка картогенератора" #: src/settings_translation_file.cpp msgid "Mapgen flags" -msgstr "Флаги генератора карты" +msgstr "Флаги картогенератора" #: src/settings_translation_file.cpp msgid "Mapgen name" -msgstr "Название генератора карты" +msgstr "Название картогенератора" #: src/settings_translation_file.cpp msgid "Max block generate distance" @@ -5034,7 +5036,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Maximum simultaneous block sends per client" -msgstr "Максимальное количество одновременных отправлений блоков на клиент" +msgstr "Максимальное число одновременно отправляемых блоков на клиент" #: src/settings_translation_file.cpp msgid "Maximum size of the out chat queue" @@ -5096,7 +5098,7 @@ msgstr "Минимальный размер текстуры" #: src/settings_translation_file.cpp msgid "Mipmapping" -msgstr "Mip-текстурирование (Мип-маппинг)" +msgstr "Мипмаппинг (MIP-текстурирование)" #: src/settings_translation_file.cpp msgid "Mod channels" @@ -5167,9 +5169,9 @@ msgid "" msgstr "" "Название генератора карты, который будет использоваться при создании нового " "мира.\n" -"Это значение переопределяется при создании мира через главное меню .\n" +"Это значение переопределяется при создании мира через главное меню.\n" "Текущие крайне нестабильные картогенераторы:\n" -"- Дополнительные парящие острова v7 (выключено по умолчанию)." +"- Дополнительные парящие острова из v7 (выключено по умолчанию)." #: src/settings_translation_file.cpp msgid "" @@ -5208,11 +5210,11 @@ msgstr "Новым пользователям нужно вводить этот #: src/settings_translation_file.cpp msgid "Noclip" -msgstr "Отключить столкновения" +msgstr "Проходить сквозь стены" #: src/settings_translation_file.cpp msgid "Noclip key" -msgstr "Клавиша отключения столкновений" +msgstr "Клавиша прохождения сквозь стены" #: src/settings_translation_file.cpp msgid "Node highlighting" @@ -5263,12 +5265,11 @@ msgstr "" "- «число процессоров - 2», минимально — 1.\n" "Любое другое значение:\n" "- Указывает количество потоков, минимально — 1.\n" -"ВНИМАНИЕ: Увеличение числа потоков улучшает быстродействие\n" -"движка картогенератора, но может ухудшать на производительность игры, \n" -"мешая другим процессам, особенно в одиночной игре и/или при запуске кода Lua " -"в\n" -"«on_generated». Для большинства пользователей наилучшим значением может быть " -"1." +"ВНИМАНИЕ: Увеличение числа потоков улучшает быстродействие движка\n" +"картогенератора, но может снижать производительность игры, мешая другим\n" +"процессам, особенно в одиночной игре и при запуске кода Lua в «on_generated»." +"\n" +"Для большинства пользователей наилучшим значением может быть «1»." #: src/settings_translation_file.cpp msgid "" @@ -5821,7 +5822,7 @@ msgstr "Показывать отладочную информацию" #: src/settings_translation_file.cpp msgid "Show entity selection boxes" -msgstr "Показывать выделение энтити" +msgstr "Показывать область выделения объектов" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -5836,15 +5837,14 @@ msgid "" "Altering this value is for special usage, leaving it unchanged is\n" "recommended." msgstr "" -"Размер кусков карты, создаваемых картогенератором, указывает в блоках карты (" -"16 узлов).\n" -"ВНИМАНИЕ!: От изменения этого значения нет никакой пользы, и значение больше " +"Размер кусков карты, выдаваемых картогенератором, указывается в блоках карты " +"(16 узлов).\n" +"ВНИМАНИЕ!: От изменения этого значения нет никакой пользы, а значение больше " "5\n" "может быть вредным.\n" "С уменьшением этого значения увеличится плотность расположения пещер и " "подземелий.\n" -"Изменять это значение нужно только в особых ситуациях, а в обычных " -"рекомендуется\n" +"Изменять его нужно только в особых ситуациях, а в обычных рекомендуется\n" "оставить как есть." #: src/settings_translation_file.cpp @@ -5853,7 +5853,7 @@ msgid "" "increase the cache hit %, reducing the data being copied from the main\n" "thread, thus reducing jitter." msgstr "" -"Размер кэша блоков в генераторе мешей. Увеличение этого значения\n" +"Размер кэша блоков карты в генераторе мешей. Увеличение этого значения\n" "увеличит процент попаданий в кэш, предотвращая копирование информации\n" "из основного потока игры, тем самым уменьшая колебания кадровой частоты." @@ -6093,7 +6093,8 @@ msgid "" "See /privs in game for a full list on your server and mod configuration." msgstr "" "Привилегии, автоматически получаемые новым пользователем.\n" -"Смотрите /privs для получения полного списка привилегий." +"См. /privs для получения полного списка привилегий на своём сервере и при " +"настройке мода." #: src/settings_translation_file.cpp msgid "" @@ -6121,9 +6122,9 @@ msgid "" "On other platforms, OpenGL is recommended, and it’s the only driver with\n" "shader support currently." msgstr "" -"Бэк-энд отрисовки для Irrlicht.\n" +"Программный интерфейс визуализации для Irrlicht.\n" "После изменения этого параметра потребуется перезапуск.\n" -"Примечание: На Андроиде, применяйте OGLES1, если не уверены, иначе\n" +"Примечание: Если не уверены, используйте OGLES1 для Android, иначе\n" "приложение может не запуститься. На других платформах рекомендуется\n" "OpenGL, так как сейчас это единственный драйвер с поддержкой шейдеров." @@ -6345,7 +6346,7 @@ msgstr "Использовать трилинейную фильтрацию д #: src/settings_translation_file.cpp msgid "VBO" -msgstr "VBO" +msgstr "Объекты буфера вершин (VBO)" #: src/settings_translation_file.cpp msgid "VSync" From 4f49a2248f074e77eba10622b3b5a3d78799a8bf Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: Wed, 4 Dec 2019 03:32:16 +0000 Subject: [PATCH 078/279] Translated using Weblate (Russian) Currently translated at 100.0% (1274 of 1274 strings) --- po/ru/minetest.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index 1916f40ef..5d1c9f4a9 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-12-04 03:30+0000\n" +"PO-Revision-Date: 2019-12-04 03:40+0000\n" "Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" @@ -506,7 +506,7 @@ msgstr "Удалить дополнение" #: builtin/mainmenu/tab_content.lua msgid "Use Texture Pack" -msgstr "Включить пакет текстур" +msgstr "Использовать пакет текстур" #: builtin/mainmenu/tab_credits.lua msgid "Active Contributors" @@ -1693,7 +1693,7 @@ msgstr "Сквозь стены" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle pitchmove" -msgstr "Включить/отключить движение вниз/вверх по направлению взгляда" +msgstr "По направлению взгляда" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1988,7 +1988,7 @@ msgstr "Всегда включены полёт и ускорение" #: src/settings_translation_file.cpp msgid "Ambient occlusion gamma" -msgstr "Гамма Ambient occlusion" +msgstr "Гамма глобального затенения" #: src/settings_translation_file.cpp msgid "Amount of messages a player may send per 10 seconds." @@ -2758,7 +2758,7 @@ msgstr "Включить получение игроками урона и их #: src/settings_translation_file.cpp msgid "Enable random user input (only used for testing)." -msgstr "Включить случайный ввод (используется только для тестирования)." +msgstr "Включить случайный ввод пользователя (только для тестов)." #: src/settings_translation_file.cpp msgid "Enable register confirmation" @@ -2777,7 +2777,7 @@ msgid "" "Enable smooth lighting with simple ambient occlusion.\n" "Disable for speed or for different looks." msgstr "" -"Включить мягкое освещение с простым Ambient Occlusion.\n" +"Включить мягкое освещение с простым глобальным затенением.\n" "Отключите для более высокой скорости или другого внешнего вида." #: src/settings_translation_file.cpp @@ -6143,10 +6143,10 @@ msgid "" "setting is 0.25 to 4.0 inclusive. If the value is out of range it will be\n" "set to the nearest valid value." msgstr "" -"Сила затенения Ambient Occlusion. Чем меньше, тем темнее,\n" +"Сила глобального затенения узлов. Чем меньше, тем темнее,\n" "и наоборот. Возможные значения параметра - от 0.25 до 4.0\n" "включительно. Если значение находится вне этого диапазона,\n" -"то оно будет округлено до ближайшего корректного." +"то оно будет округлено до ближайшего подходящего." #: src/settings_translation_file.cpp msgid "" From c558a4f4f6f7883ef01b212271ef2526f6b57c50 Mon Sep 17 00:00:00 2001 From: Andrei Stepanov Date: Wed, 4 Dec 2019 03:44:02 +0000 Subject: [PATCH 079/279] Translated using Weblate (Russian) Currently translated at 100.0% (1274 of 1274 strings) --- po/ru/minetest.po | 173 +++++++++++++++++++++++----------------------- 1 file changed, 86 insertions(+), 87 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index 5d1c9f4a9..ef5bbfdbc 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-12-04 03:40+0000\n" +"PO-Revision-Date: 2019-12-05 07:05+0000\n" "Last-Translator: Andrei Stepanov \n" "Language-Team: Russian \n" @@ -92,7 +92,7 @@ msgstr "Зависимости:" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" -msgstr "Отключить всё" +msgstr "Отключить все" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable modpack" @@ -100,7 +100,7 @@ msgstr "Отключить пакет" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" -msgstr "Включить всё" +msgstr "Включить все" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable modpack" @@ -111,7 +111,7 @@ msgid "" "Failed to enable mod \"$1\" as it contains disallowed characters. Only " "characters [a-z0-9_] are allowed." msgstr "" -"Не удалось включить мод \"$1\", так как он содержит недопустимые символы. " +"Не удалось включить мод «$1», так как он содержит недопустимые символы. " "Разрешены только следующие символы: [a-z0-9_]." #: builtin/mainmenu/dlg_config_world.lua @@ -218,7 +218,7 @@ msgstr "Обновить" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "Мир «$1» уже существует" +msgstr "Мир с названием «$1» уже существует" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" @@ -274,11 +274,11 @@ msgstr "Удалить" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" -msgstr "pkgmgr: невозможно удалить \"$1\"" +msgstr "pkgmgr: невозможно удалить «$1»" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: invalid path \"$1\"" -msgstr "pkgmgr: недопустимый путь \"$1\"" +msgstr "pkgmgr: недопустимый путь «$1»" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" @@ -302,7 +302,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "(No description of setting given)" -msgstr "(Нет описания)" +msgstr "(Нет описания настройки)" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "2D Noise" @@ -346,11 +346,11 @@ msgstr "Персистенция" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid integer." -msgstr "Введите целое число." +msgstr "Пожалуйста, введите целое число." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid number." -msgstr "Пожалуйста, введите число." +msgstr "Пожалуйста, введите допустимое число." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Restore Default" @@ -370,7 +370,7 @@ msgstr "Выбрать файл" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Show technical names" -msgstr "Отобразить технические названия" +msgstr "Показывать технические названия" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "The value must be at least $1." @@ -426,16 +426,16 @@ msgstr "$1 модов" #: builtin/mainmenu/pkgmgr.lua msgid "Failed to install $1 to $2" -msgstr "pkgmgr: невозможно установить $1 в $2" +msgstr "Невозможно установить $1 в $2" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find real mod name for: $1" -msgstr "Установка мода: не удаётся определить название мода для $1" +msgstr "Установка мода: не удаётся определить название мода для «$1»" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find suitable folder name for modpack $1" msgstr "" -"Установка мода: не удаётся найти подходящей каталог для пакета модов $1" +"Установка мода: не удаётся найти подходящей каталог для пакета модов «$1»" #: builtin/mainmenu/pkgmgr.lua msgid "Install: Unsupported file type \"$1\" or broken archive" @@ -616,7 +616,7 @@ msgstr "В избранные" #: builtin/mainmenu/tab_online.lua msgid "Join Game" -msgstr "Присоединиться к игре" +msgstr "Подключиться к игре" #: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua msgid "Name / Password" @@ -692,7 +692,7 @@ msgstr "Мипмаппинг" #: builtin/mainmenu/tab_settings.lua msgid "Mipmap + Aniso. Filter" -msgstr "Мипмаппинг + аниз. фильтр" +msgstr "Мипмаппинг + анизотр. фильтр" #: builtin/mainmenu/tab_settings.lua msgid "No" @@ -708,11 +708,11 @@ msgstr "Без мипмаппинга" #: builtin/mainmenu/tab_settings.lua msgid "Node Highlighting" -msgstr "Подсветка блоков" +msgstr "Подсветка нод" #: builtin/mainmenu/tab_settings.lua msgid "Node Outlining" -msgstr "Обводка блоков" +msgstr "Обводка нод" #: builtin/mainmenu/tab_settings.lua msgid "None" @@ -820,11 +820,11 @@ msgstr "Готово!" #: src/client/client.cpp msgid "Initializing nodes" -msgstr "Инициализация блоков" +msgstr "Инициализация нод" #: src/client/client.cpp msgid "Initializing nodes..." -msgstr "Инициализация блоков..." +msgstr "Инициализация нод..." #: src/client/client.cpp msgid "Loading textures..." @@ -1158,7 +1158,7 @@ msgstr "Режим прохождения сквозь стены включён #: src/client/game.cpp msgid "Node definitions..." -msgstr "Описания блоков..." +msgstr "Описания нод..." #: src/client/game.cpp msgid "Off" @@ -1531,7 +1531,7 @@ msgstr "Пароли не совпадают!" #: src/gui/guiConfirmRegistration.cpp msgid "Register and Join" -msgstr "Зарегистрироваться и подключиться" +msgstr "Регистрация и подключение" #: src/gui/guiConfirmRegistration.cpp #, c-format @@ -1545,9 +1545,9 @@ msgstr "" "Вы собираетесь впервые присоединиться к серверу под именем «%s».\n" "Если вы продолжите, на этом сервере будет создан новый аккаунт с вашими " "учётными данными.\n" -"Пожалуйста, введите пароль ещё раз и нажмите «Зарегистрироваться и " -"подключиться», чтобы подтвердить создание аккаунта, либо нажмите «Отмена», " -"чтобы прервать операцию." +"Пожалуйста, введите пароль ещё раз и нажмите «Регистрация и подключение», " +"чтобы подтвердить создание аккаунта, либо нажмите «Отмена», чтобы прервать " +"операцию." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1628,8 +1628,8 @@ msgstr "Клавиша уже используется" #: src/gui/guiKeyChangeMenu.cpp msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" msgstr "" -"Сочетания клавиш (если это меню сломалось, удалите настройки из minetest." -"conf)" +"Привязки клавиш. (Если это меню сломается, удалите настройки из " +"minetest.conf)" #: src/gui/guiKeyChangeMenu.cpp msgid "Local command" @@ -1693,7 +1693,7 @@ msgstr "Сквозь стены" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle pitchmove" -msgstr "По направлению взгляда" +msgstr "По наклону взгляда" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1773,7 +1773,7 @@ msgstr "" "со стандартными параметрами, для других ситуаций его нужно\n" "отредактировать.\n" "Диапазон примерно от -2 до 2. Умножьте на «масштаб», чтобы получить смещение " -"в блоках." +"в нодах." #: src/settings_translation_file.cpp msgid "" @@ -1785,7 +1785,7 @@ msgid "" "Default is for a vertically-squashed shape suitable for\n" "an island, set all 3 numbers equal for the raw shape." msgstr "" -"(Х,Y,Z) шкала фрактала в блоках.\n" +"(Х,Y,Z) шкала фрактала в нодах.\n" "Фактический фрактальный размер будет в 2-3 раза больше.\n" "Эти числа могут быть очень большими, фракталу нет нужды заполнять мир.\n" "Увеличьте их, чтобы увеличить «масштаб» детали фрактала.\n" @@ -1921,7 +1921,7 @@ msgstr "Ускорение в воздухе" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "Ускорение свободного падения в узлах в секунду." +msgstr "Ускорение свободного падения в нодах в секунду." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -1951,7 +1951,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Adds particles when digging a node." -msgstr "Добавляет частицы при рытье блока." +msgstr "Добавляет частицы при раскопке ноды." #: src/settings_translation_file.cpp msgid "" @@ -2052,15 +2052,14 @@ msgid "" "optimization.\n" "Stated in mapblocks (16 nodes)." msgstr "" -"На этом расстоянии сервер будет агрессивно оптимизировать то, какие блоки " -"будут\n" -"отправлены клиентам.\n" +"На этом расстоянии сервер будет агрессивно оптимизировать то, какие\n" +"блоки будут отправлены клиентам.\n" "Малые значения могут увеличить производительность за счёт заметных\n" -"проблем отрисовки (некоторые фрагменты не будут отрисовываться под водой\n" -"и в пещерах, а иногда и на суше).\n" +"проблем визуализации (некоторые фрагменты не будут отрисовываться\n" +"под водой, в пещерах, а иногда и на суше).\n" "Установка этого значения больше, чем max_block_send_distance\n" "отключит эту оптимизацию.\n" -"Указывается в блоках карты (16 блоков)." +"Указывается в блоках карты (16 нод)." #: src/settings_translation_file.cpp msgid "Automatic forward key" @@ -2068,7 +2067,7 @@ msgstr "Клавиша авто-вперёд" #: src/settings_translation_file.cpp msgid "Automatically jump up single-node obstacles." -msgstr "Автоматически запрыгивать на одноблочные препятствия." +msgstr "Автоматически запрыгивать на препятствия высотой в одну ноду." #: src/settings_translation_file.cpp msgid "Automatically report to the serverlist." @@ -2153,7 +2152,7 @@ msgid "" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Расстояние между камерой и плоскостью отсечения в узлах от 0 до 0.5.\n" +"Расстояние между камерой и плоскостью отсечения в нодах от 0 до 0.5.\n" "Большинству пользователей не потребуется менять этот параметр.\n" "Его увеличение может уменьшить количество артефактов на слабых графических " "процессорах.\n" @@ -2296,7 +2295,7 @@ msgstr "Ограничения моддинга на стороне клиент #: src/settings_translation_file.cpp msgid "Client side node lookup range restriction" -msgstr "Ограничение диапазона поиска от клиента" +msgstr "Ограничение диапазона клиентского поиска нод" #: src/settings_translation_file.cpp msgid "Climbing speed" @@ -2371,7 +2370,7 @@ msgstr "Подключение к внешнему медиасерверу" #: src/settings_translation_file.cpp msgid "Connects glass if supported by node." -msgstr "Соединяет стекло, если поддерживается блоком." +msgstr "Соединяет стекло, если поддерживается нодой." #: src/settings_translation_file.cpp msgid "Console alpha" @@ -3139,15 +3138,14 @@ msgid "" "From how far blocks are generated for clients, stated in mapblocks (16 " "nodes)." msgstr "" -"Насколько далеко фрагменты генерируются для клиентов. Указывается в " -"фрагментах (16 блоков)." +"Насколько далеко блоки генерируются для клиентов. Указывается в блоках карты " +"(16 нод)." #: src/settings_translation_file.cpp msgid "" "From how far blocks are sent to clients, stated in mapblocks (16 nodes)." msgstr "" -"С какого расстояния фрагменты отправляются клиентам, в фрагментах (16 " -"блоков)." +"С какого расстояния блоки отправляются клиентам, в блоках карты (16 нод)." #: src/settings_translation_file.cpp msgid "" @@ -3157,7 +3155,7 @@ msgid "" "to maintain active objects up to this distance in the direction the\n" "player is looking. (This can avoid mobs suddenly disappearing from view)" msgstr "" -"Расстояние в блоках, на котором клиенты распознают объекты (16 узлов).\n" +"Расстояние в блоках карты, на котором клиенты распознают объекты (16 нод).\n" "\n" "Если указать значение более active_block_range, то сервер будет запоминать\n" "движущиеся объекты на этом расстоянии в направлении взгляда игрока.\n" @@ -3206,9 +3204,9 @@ msgid "" "and junglegrass, in all other mapgens this flag controls all decorations." msgstr "" "Глобальные атрибуты генерации карт.\n" -"В картогенераторе v6 флаг 'decorations' не влияет на деревья и траву в " -"джунглях,\n" -"в остальных генераторах этот флаг контролирует все декорации." +"В картогенераторе v6 флаг «decorations» не влияет на деревья\n" +"и траву в джунглях, в остальных генераторах этот флаг\n" +"контролирует все декорации." #: src/settings_translation_file.cpp msgid "Gradient of light curve at maximum light level." @@ -3332,7 +3330,7 @@ msgid "" "in nodes per second per second." msgstr "" "Горизонтальное ускорение в воздухе при прыжке или падении\n" -"в узлах в секунду." +"в нодах в секунду." #: src/settings_translation_file.cpp msgid "" @@ -3340,7 +3338,7 @@ msgid "" "in nodes per second per second." msgstr "" "Горизонтальное и вертикальное ускорение в режиме \n" -"быстрого перемещения в узлах в секунду." +"быстрого перемещения в нодах в секунду." #: src/settings_translation_file.cpp msgid "" @@ -3348,7 +3346,7 @@ msgid "" "in nodes per second per second." msgstr "" "Горизонтальное и вертикальное ускорение на земле или при лазании\n" -"в узлах за секунду." +"в нодах за секунду." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3563,7 +3561,7 @@ msgid "" "This requires the \"noclip\" privilege on the server." msgstr "" "Если включено одновременно с режимом полёта, игрок может пролетать сквозь " -"твёрдые блоки.\n" +"твёрдые ноды.\n" "Требует наличие привилегии «noclip» на сервере." #: src/settings_translation_file.cpp @@ -3623,8 +3621,8 @@ msgid "" "limited\n" "to this distance from the player to the node." msgstr "" -"Если ограничение CSM для диапазона узлов включено, вызовы\n" -"get_node ограничиваются на это расстояние от игрока до узла." +"Если ограничение CSM для диапазона нод включено, вызовы\n" +"get_node ограничиваются на это расстояние от игрока до ноды." #: src/settings_translation_file.cpp msgid "" @@ -3668,7 +3666,7 @@ msgstr "Клавиша увеличения громкости" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "Начальная вертикальная скорость при прыжках в узлах в секунду." +msgstr "Начальная вертикальная скорость при прыжках в нодах в секунду." #: src/settings_translation_file.cpp msgid "" @@ -4605,7 +4603,7 @@ msgstr "Время между циклами выполнения модифик #: src/settings_translation_file.cpp msgid "Length of time between NodeTimer execution cycles" -msgstr "Время между циклами выполнения таймеров блоков" +msgstr "Время между циклами выполнения таймеров нод" #: src/settings_translation_file.cpp msgid "Length of time between active block management cycles" @@ -4661,7 +4659,8 @@ msgid "" "Only mapchunks completely within the mapgen limit are generated.\n" "Value is stored per-world." msgstr "" -"Предел генерации карты, в блоках, во всех шести направлениях от (0, 0, 0).\n" +"Предел генерации карты, в нодах, во всех шести направлениях, начиная от (0, " +"0, 0).\n" "Генерируются только куски карты, которые умещаются в заданном пределе " "полностью.\n" "Значение сохраняется отдельно для каждого мира." @@ -5202,7 +5201,7 @@ msgid "" "This value will be overridden when starting from the main menu." msgstr "" "Сетевой порт для прослушивания (UDP).\n" -"Этот параметр будет переопределён, если запускать сервер с главного меню." +"Этот параметр будет переопределён, если запустить сервер из главного меню." #: src/settings_translation_file.cpp msgid "New users need to input this password." @@ -5218,11 +5217,11 @@ msgstr "Клавиша прохождения сквозь стены" #: src/settings_translation_file.cpp msgid "Node highlighting" -msgstr "Подсветка блоков" +msgstr "Подсветка нод" #: src/settings_translation_file.cpp msgid "NodeTimer interval" -msgstr "Интервал обновления узлов" +msgstr "Интервал таймера нод" #: src/settings_translation_file.cpp msgid "Noises" @@ -5838,7 +5837,7 @@ msgid "" "recommended." msgstr "" "Размер кусков карты, выдаваемых картогенератором, указывается в блоках карты " -"(16 узлов).\n" +"(16 нод).\n" "ВНИМАНИЕ!: От изменения этого значения нет никакой пользы, а значение больше " "5\n" "может быть вредным.\n" @@ -5905,7 +5904,7 @@ msgstr "Скорость скрытной ходьбы" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "Скорость ходьбы украдкой в узлах в секунду." +msgstr "Скорость ходьбы украдкой в нодах в секунду." #: src/settings_translation_file.cpp msgid "Sound" @@ -6041,12 +6040,12 @@ msgid "" "this option allows enforcing it for certain node types. Note though that\n" "that is considered EXPERIMENTAL and may not work properly." msgstr "" -"Текстуры блока можно выровнять либо относительно блока, либо мира.\n" +"Текстуры ноды можно выровнять либо относительно самой ноды, либо " +"относительно мира.\n" "Первый режим лучше подходит к таким вещам, как машины, мебель и т. д.,\n" "а во втором лестницы и микроблоки становятся более соответствующими среде.\n" "Однако это новая возможность, и её нельзя использовать на старых серверах,\n" -"данный параметр позволяет принудительно применять к определённым типам " -"блоков.\n" +"данный параметр позволяет принудительно применять к определённым типам нод.\n" "Замечание: этот режим ЭКСПЕРИМЕНТАЛЬНЫЙ и может работать ненадлежащим " "образом." @@ -6064,7 +6063,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "The depth of dirt or other biome filler node." -msgstr "Глубина грунта или иного узла-заполнителя." +msgstr "Глубина грунта или иной ноды-заполнителя." #: src/settings_translation_file.cpp msgid "" @@ -6107,7 +6106,7 @@ msgid "" "This should be configured together with active_object_range." msgstr "" "Радиус объёма блоков вокруг каждого игрока, в котором действуют\n" -"активные блоки, определённые в блоках карты (16 блоков).\n" +"активные блоки, определённые в блоках карты (16 нод).\n" "В активных блоках загружаются объекты и работает ABM.\n" "Также это минимальный диапазон, в котором обрабатываются активные объекты " "(мобы).\n" @@ -6143,7 +6142,7 @@ msgid "" "setting is 0.25 to 4.0 inclusive. If the value is out of range it will be\n" "set to the nearest valid value." msgstr "" -"Сила глобального затенения узлов. Чем меньше, тем темнее,\n" +"Сила глобального затенения нод. Чем меньше, тем темнее,\n" "и наоборот. Возможные значения параметра - от 0.25 до 4.0\n" "включительно. Если значение находится вне этого диапазона,\n" "то оно будет округлено до ближайшего подходящего." @@ -6232,10 +6231,10 @@ msgid "" "This determines how long they are slowed down after placing or removing a " "node." msgstr "" -"Чтобы уменьшить лаг, передача фрагментов карты замедляется, когда игрок что-" -"то строит.\n" -"Этот параметр определяет, насколько она замедляется после размещения или " -"удаления блока." +"Чтобы уменьшить задержку, передача блоков карты замедляется, когда игрок что-" +"то\n" +"строит. Этот параметр определяет замедление после размещения или удаления " +"ноды." #: src/settings_translation_file.cpp msgid "Toggle camera mode key" @@ -6379,7 +6378,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Variation of maximum mountain height (in nodes)." -msgstr "Вариация максимальной высоты гор (в блоках)." +msgstr "Вариация максимальной высоты гор (в нодах)." #: src/settings_translation_file.cpp msgid "Variation of number of caves." @@ -6395,7 +6394,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Varies depth of biome surface nodes." -msgstr "Меняет глубину поверхностных блоков биома." +msgstr "Меняет глубину поверхностных нод биома." #: src/settings_translation_file.cpp msgid "" @@ -6411,7 +6410,7 @@ msgstr "Регулирует крутизну утёсов." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "Скорость вертикального лазания в узлах в секунду." +msgstr "Скорость вертикального лазания в нодах в секунду." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." @@ -6427,7 +6426,7 @@ msgstr "Коэффициент покачивания" #: src/settings_translation_file.cpp msgid "View distance in nodes." -msgstr "Дальность отрисовки в блоках." +msgstr "Дальность отрисовки в нодах." #: src/settings_translation_file.cpp msgid "View range decrease key" @@ -6469,7 +6468,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "Скорость ходьбы и полёта в узлах в секунду." +msgstr "Скорость ходьбы и полёта в нодах в секунду." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6478,7 +6477,7 @@ msgstr "Скорость ходьбы" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." msgstr "" -"Скорость ходьбы, полёта и лазания в режиме быстрого перемещения в узлах в " +"Скорость ходьбы, полёта и лазания в режиме быстрого перемещения в нодах в " "секунду." #: src/settings_translation_file.cpp @@ -6491,7 +6490,7 @@ msgstr "Уровень поверхности воды мира." #: src/settings_translation_file.cpp msgid "Waving Nodes" -msgstr "Покачивание блоков" +msgstr "Покачивание нод" #: src/settings_translation_file.cpp msgid "Waving leaves" @@ -6526,7 +6525,7 @@ msgstr "" "Когда gui_scaling_filter установлен на true все изображения интерфейса " "должны быть\n" "отфильтрованы программно, но некоторые изображения генерируются напрямую\n" -"аппаратно (прим. render-to-texture для блоков в инвентаре)." +"аппаратно (прим. render-to-texture для нод в инвентаре)." #: src/settings_translation_file.cpp msgid "" @@ -6561,7 +6560,7 @@ msgstr "" "чёткое, но требует больше памяти. Рекомендуется значение 2. Установка этого\n" "значения выше 1 может не иметь видимого эффекта, если не включена \n" "билинейная, трилинейная или анизотропная фильтрация.\n" -"Также используется как размер текстуры базового блока для мирового\n" +"Также используется как размер базовой текстуры ноды для мирового\n" "автомасштабирования текстур." #: src/settings_translation_file.cpp @@ -6574,8 +6573,8 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." msgstr "" -"Определяет необходимость рассинхронизации анимации текстур блоков между " -"фрагментами." +"Определяет необходимость рассинхронизации анимации текстур нод между блоками " +"карты." #: src/settings_translation_file.cpp msgid "" @@ -6612,7 +6611,7 @@ msgstr "Ширина компонента начального размера о #: src/settings_translation_file.cpp msgid "Width of the selection box lines around nodes." -msgstr "Толщина обводки выделенных узлов." +msgstr "Толщина обводки выделенных нод." #: src/settings_translation_file.cpp msgid "" @@ -6646,7 +6645,7 @@ msgid "" "Warning: This option is EXPERIMENTAL!" msgstr "" "Выровненные по миру текстуры можно масштабировать так, чтобы они\n" -"охватывали несколько блоков. Но сервер может не отправить нужный\n" +"охватывали несколько нод. Но сервер может не отправить нужный\n" "масштаб, особенно если вы используете специально разработанный\n" "пакет текстур; с этим параметром клиент пытается определить масштаб\n" "автоматически на основании размера текстуры.\n" From 49dfbcfbc865bfff3dca39af62ea8a14a71e2130 Mon Sep 17 00:00:00 2001 From: Daniel Mancini Date: Fri, 6 Dec 2019 06:22:23 +0000 Subject: [PATCH 080/279] Translated using Weblate (Portuguese (Brazil)) Currently translated at 96.9% (1235 of 1274 strings) --- po/pt_BR/minetest.po | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/po/pt_BR/minetest.po b/po/pt_BR/minetest.po index 21bec314a..e7328d3de 100644 --- a/po/pt_BR/minetest.po +++ b/po/pt_BR/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Portuguese (Brazil) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2019-12-11 13:36+0000\n" +"Last-Translator: Daniel Mancini \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Você morreu" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Ocorreu um erro em um script Lua, como um mod:" +msgstr "Ocorreu um erro em um script Lua:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -121,9 +120,8 @@ msgid "Mod:" msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Dependências opcionais:" +msgstr "Nenhuma dependência (opcional)" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." From a87a86eb92aa21ba3c86c23cb0d1a3d4cc843d63 Mon Sep 17 00:00:00 2001 From: "ramon.venson" Date: Wed, 11 Dec 2019 01:02:12 +0000 Subject: [PATCH 081/279] Translated using Weblate (Portuguese (Brazil)) Currently translated at 96.9% (1235 of 1274 strings) --- po/pt_BR/minetest.po | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/po/pt_BR/minetest.po b/po/pt_BR/minetest.po index e7328d3de..28062c769 100644 --- a/po/pt_BR/minetest.po +++ b/po/pt_BR/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" "PO-Revision-Date: 2019-12-11 13:36+0000\n" -"Last-Translator: Daniel Mancini \n" +"Last-Translator: ramon.venson \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" @@ -137,9 +137,8 @@ msgid "No modpack description provided." msgstr "Nenhuma descrição de modpack disponível." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Dependências opcionais:" +msgstr "Sem dependências opcionais" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -1876,7 +1875,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "Ruído 3D que determina o número de cavernas por pedaço de mapa." #: src/settings_translation_file.cpp msgid "" @@ -1936,7 +1935,7 @@ msgstr "Aceleração no ar" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Aceleração da gravidade, em nós por segundo por segundo." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2443,7 +2442,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Controla a velocidade de afundamento em líquidos." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2506,9 +2505,8 @@ msgid "Debug info toggle key" msgstr "Tecla para alternar modo de Depuração" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Limite do ruído de deserto" +msgstr "Limite de tamanho do arquivo de log de depuração" #: src/settings_translation_file.cpp msgid "Debug log level" From 30fdfd9dede66408d943d7a800e18d4c0c6bd5bb Mon Sep 17 00:00:00 2001 From: Tirifto Date: Sun, 8 Dec 2019 01:17:50 +0000 Subject: [PATCH 082/279] Translated using Weblate (Esperanto) Currently translated at 94.9% (1209 of 1274 strings) --- po/eo/minetest.po | 832 ++++++++++++++++++++++++++++------------------ 1 file changed, 503 insertions(+), 329 deletions(-) diff --git a/po/eo/minetest.po b/po/eo/minetest.po index c53d4181f..4084d1426 100644 --- a/po/eo/minetest.po +++ b/po/eo/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Esperanto (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2019-12-11 13:36+0000\n" +"Last-Translator: Tirifto \n" "Language-Team: Esperanto \n" "Language: eo\n" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Vi mortis" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Eraro okazis en Lua-skripto, kiel ekzemple modifaĵo:" +msgstr "Eraris Lua-skripto:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -111,35 +110,32 @@ msgid "" "Failed to enable mod \"$1\" as it contains disallowed characters. Only " "characters [a-z0-9_] are allowed." msgstr "" -"Malsukcesis ŝalti modifaĵon « $1 », ĉar ĝi enhavas malpermesatajn signojn. " -"Nur signoj a–z kaj 0–9 estas permesataj." +"Malsukcesis ŝalti modifaĵon «$1», ĉar ĝi enhavas malpermesatajn signojn. Nur " +"signoj a–z kaj 0–9 estas permesataj." #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" msgstr "Modifaĵo:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Malnepraj dependaĵoj:" +msgstr "Neniuj (malnepraj) dependaĵoj" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Neniu priskribo de ludo estas donita." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Sen dependaĵoj." +msgstr "Sen dependaĵoj" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Neniu priskrib ode modifaĵaro estas donita." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Malnepraj dependaĵoj:" +msgstr "Neniuj malnepraj dependaĵoj" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -219,7 +215,7 @@ msgstr "Ĝisdatigi" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "Mondo kun nomo « $1 » jam ekzistas" +msgstr "Mondo kun nomo «$1» jam ekzistas" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" @@ -239,7 +235,7 @@ msgstr "Ludo" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Mapgen" -msgstr "Mondogenerilo" +msgstr "Mondestigilo" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" @@ -252,8 +248,7 @@ msgstr "Fontnombro" #: builtin/mainmenu/dlg_create_world.lua msgid "Warning: The minimal development test is meant for developers." -msgstr "" -"Averto: La minimuma programista testo estas intencita por programistoj." +msgstr "Averto: La plejeta programista testo estas intencita por programistoj." #: builtin/mainmenu/dlg_create_world.lua msgid "World name" @@ -265,7 +260,7 @@ msgstr "Vi havas neniujn instalitajn ludojn." #: builtin/mainmenu/dlg_delete_content.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "Ĉu vi certe volas forigi « $1 »?" +msgstr "Ĉu vi certe volas forigi «$1»?" #: builtin/mainmenu/dlg_delete_content.lua #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua @@ -275,15 +270,15 @@ msgstr "Forigi" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" -msgstr "pkgmgr: malskucesis forigi « $1 »" +msgstr "pkgmgr: malskucesis forigi «$1»" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: invalid path \"$1\"" -msgstr "pkgmgr: malvalida dosiervojo « $1 »" +msgstr "pkgmgr: malvalida dosiervojo «$1»" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" -msgstr "Ĉu forigi mondon « $1 »?" +msgstr "Ĉu forigi mondon «$1»?" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" @@ -355,7 +350,7 @@ msgstr "Bonvolu enigi validan nombron." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Restore Default" -msgstr "Restarigi normon" +msgstr "Restarigi pravaloron" #: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp msgid "Scale" @@ -436,15 +431,15 @@ msgstr "Instali modifaĵon: Ne povas trovi veran nomon de modifaĵo por: $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install Mod: Unable to find suitable folder name for modpack $1" msgstr "" -"Instali modifaĵon: Ne povas trovi ĝustan dosierujan nomon por modifaro $1" +"Instali modifaĵon: Ne povas trovi ĝustan dosierujan nomon por modifaĵaro $1" #: builtin/mainmenu/pkgmgr.lua msgid "Install: Unsupported file type \"$1\" or broken archive" -msgstr "Instalo: Nesubtenata dosierspeco « $1 » aŭ rompita arĥivo" +msgstr "Instalo: Nesubtenata dosierspeco «$1» aŭ rompita arĥivo" #: builtin/mainmenu/pkgmgr.lua msgid "Install: file: \"$1\"" -msgstr "Instali: dosiero: « $1 »" +msgstr "Instali: dosiero: «$1»" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to find a valid mod or modpack" @@ -540,7 +535,7 @@ msgstr "Agordi" #: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua msgid "Creative Mode" -msgstr "Kreiva reĝimo" +msgstr "Krea reĝimo" #: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua msgid "Enable Damage" @@ -596,7 +591,7 @@ msgstr "Konekti" #: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua msgid "Creative mode" -msgstr "Kreiva reĝimo" +msgstr "Krea reĝimo" #: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua msgid "Damage enabled" @@ -616,7 +611,7 @@ msgstr "Aliĝi al ludo" #: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua msgid "Name / Password" -msgstr "Nomo / Pasvorto" +msgstr "Nomo / Pasvorto" #: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua msgid "Ping" @@ -652,7 +647,7 @@ msgstr "Glatigo:" #: builtin/mainmenu/tab_settings.lua msgid "Are you sure to reset your singleplayer world?" -msgstr "Ĉu vi certas, ke vi volas rekomenci vian unuopan mondon?" +msgstr "Ĉu vi certas, ke vi volas rekomenci vian mondon por unu ludanto?" #: builtin/mainmenu/tab_settings.lua msgid "Autosave Screen Size" @@ -680,15 +675,15 @@ msgstr "Ŝikaj folioj" #: builtin/mainmenu/tab_settings.lua msgid "Generate Normal Maps" -msgstr "Generi Normalmapojn" +msgstr "Estigi Normalmapojn" #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" -msgstr "Mipmapo" +msgstr "Etmapo" #: builtin/mainmenu/tab_settings.lua msgid "Mipmap + Aniso. Filter" -msgstr "Mipmapo + Malizotropa filtrilo" +msgstr "Etmapo + Neizotropa filtrilo" #: builtin/mainmenu/tab_settings.lua msgid "No" @@ -700,11 +695,11 @@ msgstr "Neniu filtrilo" #: builtin/mainmenu/tab_settings.lua msgid "No Mipmap" -msgstr "Neniu Mipmapo" +msgstr "Neniu Etmapo" #: builtin/mainmenu/tab_settings.lua msgid "Node Highlighting" -msgstr "Nodaĵa emfazado" +msgstr "Emfazado de monderoj" #: builtin/mainmenu/tab_settings.lua msgid "Node Outlining" @@ -732,7 +727,7 @@ msgstr "Partikloj" #: builtin/mainmenu/tab_settings.lua msgid "Reset singleplayer world" -msgstr "Rekomenci unuopan mondon" +msgstr "Rekomenci mondon por unu ludanto" #: builtin/mainmenu/tab_settings.lua msgid "Screen:" @@ -783,9 +778,8 @@ msgid "Waving Leaves" msgstr "Ondantaj foliaĵoj" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Ondantaj monderoj" +msgstr "Ondantaj fluaĵoj" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -805,7 +799,7 @@ msgstr "Ĉefmenuo" #: builtin/mainmenu/tab_simple_main.lua msgid "Start Singleplayer" -msgstr "Komenci unuopan ludon" +msgstr "Komenci ludon por unu" #: src/client/client.cpp msgid "Connection timed out." @@ -853,7 +847,7 @@ msgstr "Neniu mondo estas elektita kaj neniu adreso donita. Nenio fareblas." #: src/client/clientlauncher.cpp msgid "Player name too long." -msgstr "Ludula nomo estas tro longa." +msgstr "Nomo de ludanto estas tro longa." #: src/client/clientlauncher.cpp msgid "Please choose a name!" @@ -913,11 +907,11 @@ msgstr "– Nomo de servilo: " #: src/client/game.cpp msgid "Automatic forward disabled" -msgstr "Memfara pluigo malŝaltita" +msgstr "Memaga pluigo malŝaltita" #: src/client/game.cpp msgid "Automatic forward enabled" -msgstr "Memfara pluigo ŝaltita" +msgstr "Memaga pluigo ŝaltita" #: src/client/game.cpp msgid "Camera update disabled" @@ -976,12 +970,12 @@ msgstr "" "– %s: moviĝi dekstren\n" "– %s: salti/supreniri\n" "– %s: kaŝiri/malsupreniri\n" -"– %s: demeti objekton\n" -"– %s: objektujo\n" +"– %s: demeti portaĵojn\n" +"– %s: portaĵujo\n" "– Muso: turniĝi/rigardi\n" "– Musklavo maldekstra: fosi/bati\n" "– Musklavo dekstra: meti/uzi\n" -"– Musrado: elekti objekton\n" +"– Musrado: elekti portaĵon\n" "– %s: babili\n" #: src/client/game.cpp @@ -994,15 +988,15 @@ msgstr "Kreante servilon…" #: src/client/game.cpp msgid "Debug info and profiler graph hidden" -msgstr "Sencimigaj informoj kaj profilila grafikaĵo kaŝitaj" +msgstr "Erarserĉaj informoj kaj profilila grafikaĵo kaŝitaj" #: src/client/game.cpp msgid "Debug info shown" -msgstr "Sencimigaj informoj montritaj" +msgstr "Erarserĉaj informoj montritaj" #: src/client/game.cpp msgid "Debug info, profiler graph, and wireframe hidden" -msgstr "Sencimigaj informoj, profilila grafikaĵo, kaj dratostaro kaŝitaj" +msgstr "Erarserĉaj informoj, profilila grafikaĵo, kaj dratostaro kaŝitaj" #: src/client/game.cpp msgid "" @@ -1024,13 +1018,13 @@ msgstr "" "- unuobla tuŝeto: aktivigi butonon\n" "- duobla tuŝeto: meti/uzi\n" "- ŝova fingro: rigardi\n" -"Videbla menuo/objektujo:\n" +"Videbla menuo/portaĵujo:\n" "- duobla tuŝeto (ekstere):\n" " -->fermi\n" -"- tuŝi objektaron, tuŝi objektingon:\n" -" --> movi objektaron\n" +"- tuŝi portaĵaron, tuŝi portaĵingon:\n" +" --> movi portaĵaron\n" "- tuŝi kaj tiri, tuŝeti per dua fingro\n" -" --> meti unu objekton en objektingon\n" +" --> meti unu portaĵon en portaĵingon\n" #: src/client/game.cpp msgid "Disabled unlimited viewing range" @@ -1058,7 +1052,7 @@ msgstr "Rapidega reĝimo ŝaltita" #: src/client/game.cpp msgid "Fast mode enabled (note: no 'fast' privilege)" -msgstr "Rapidega reĝimo ŝaltita (mankas rajto « rapidegi »)" +msgstr "Rapidega reĝimo ŝaltita (mankas rajto «rapidegi»)" #: src/client/game.cpp msgid "Fly mode disabled" @@ -1070,7 +1064,7 @@ msgstr "Fluga reĝimo ŝaltita" #: src/client/game.cpp msgid "Fly mode enabled (note: no 'fly' privilege)" -msgstr "Fluga reĝimo ŝaltita (mankas rajto « flugi »)" +msgstr "Fluga reĝimo ŝaltita (mankas rajto «flugi»)" #: src/client/game.cpp msgid "Fog disabled" @@ -1150,7 +1144,7 @@ msgstr "Trapasa reĝimo ŝaltita" #: src/client/game.cpp msgid "Noclip mode enabled (note: no 'noclip' privilege)" -msgstr "Trapasa reĝimo ŝaltita (mankas rajto « trapasi »)" +msgstr "Trapasa reĝimo ŝaltita (mankas rajto «trapasi»)" #: src/client/game.cpp msgid "Node definitions..." @@ -1190,7 +1184,7 @@ msgstr "Malŝaltiĝante…" #: src/client/game.cpp msgid "Singleplayer" -msgstr "Unuopa ludo" +msgstr "Ludo por unu" #: src/client/game.cpp msgid "Sound Volume" @@ -1212,7 +1206,7 @@ msgstr "Vidodistanco agordita al %d" #: src/client/game.cpp #, c-format msgid "Viewing range is at maximum: %d" -msgstr "Vidodistanco je la plejgrando: %d" +msgstr "Vidodistanco plejgrandas: %d" #: src/client/game.cpp #, c-format @@ -1530,7 +1524,7 @@ msgid "Register and Join" msgstr "Registriĝi kaj aliĝi" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1538,10 +1532,10 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Ni estas aliĝonta al la servilo je %1$s kun la nomo « %2$s » unuafoje. Se vi " -"daŭrigos, nova konto kreiĝos en la servilo per viaj salutiloj.\n" -"Bonvolu retajpi vian pasvorton kaj klaki al « Registriĝi kaj aliĝi » por " -"konfirmi la kreon de konto, aŭ klaku al « Nuligi » por ĉesigi." +"Vi estas aliĝonta al ĉi tiu servilo kun la nomo «%s» unuafoje.\n" +"Se vi pluigos, nova konto kun viaj salutiloj registriĝos ĉe la servilo.\n" +"Bonvolu retajpi vian pasvorton kaj klaki al «Registriĝi kaj aliĝi» por " +"konfirmi kreon de konto, aŭ al «Nuligi» por ĉesigi." #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" @@ -1549,7 +1543,7 @@ msgstr "Daŭrigi" #: src/gui/guiKeyChangeMenu.cpp msgid "\"Special\" = climb down" -msgstr "« Speciala » = malsupreniri" +msgstr "«Speciala» = malsupreniri" #: src/gui/guiKeyChangeMenu.cpp msgid "Autoforward" @@ -1557,7 +1551,7 @@ msgstr "Memirado" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Automatic jumping" -msgstr "Memfara saltado" +msgstr "Memaga saltado" #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" @@ -1634,11 +1628,11 @@ msgstr "Silentigi" #: src/gui/guiKeyChangeMenu.cpp msgid "Next item" -msgstr "Sekva objekto" +msgstr "Sekva portaĵo" #: src/gui/guiKeyChangeMenu.cpp msgid "Prev. item" -msgstr "Antaŭa objekto" +msgstr "Antaŭa portaĵo" #: src/gui/guiKeyChangeMenu.cpp msgid "Range select" @@ -1685,9 +1679,8 @@ msgid "Toggle noclip" msgstr "Baskuligi trapasan reĝimon" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" -msgstr "Baskuligi babilan protokolon" +msgstr "Baskuligi celilsekvadon" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -1743,8 +1736,8 @@ msgid "" "If enabled, virtual joystick will also tap \"aux\" button when out of main " "circle." msgstr "" -"(Android) Uzi virtualan stirstangon por agigi la butonon « aux ».\n" -"Se ŝaltita, virtuala stirstango tuŝetos la butonon « aux » ankaŭ ekster la " +"(Android) Uzi virtualan stirstangon por agigi la butonon «aux».\n" +"Se ŝaltita, virtuala stirstango tuŝetos la butonon «aux» ankaŭ ekster la " "ĉefa ringo." #: src/settings_translation_file.cpp @@ -1759,7 +1752,7 @@ msgid "" "Range roughly -2 to 2. Multiply by 'scale' for offset in nodes." msgstr "" "(X,Y,Z) deŝovo de fraktalo for de la centro de la mondo en unuoj\n" -"de « scale ».\n" +"de «scale».\n" "Utilas por movo de volata punkto proksimen al (0, 0) por krei taŭgan\n" "naskiĝejon, aŭ por permeso « zomi » al volata punkto per pligrandigo\n" "de la skalo.\n" @@ -1782,7 +1775,7 @@ msgstr "" "La vera grando de la fraktalo estos du aŭ trioble pli granda.\n" "Ĉi tiuj nombroj povas esti tre grandaj; la fraktalo ne devas\n" "nepre engrandi la mondon.\n" -"Pligrandigu ĉi tiujn por « zomi » al la detaloj de la fraktalo.\n" +"Pligrandigu ĉi tiujn por «zomi» al la detaloj de la fraktalo.\n" "La normo estas vertikale ŝrumpita formo taŭga por insulo;\n" "egaligu ĉiujn tri nombrojn por akiri la krudan formon." @@ -1859,7 +1852,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "3D-bruo, kiu determinas la nombron de forgeskeloj en mondoparto." #: src/settings_translation_file.cpp msgid "" @@ -1883,7 +1876,7 @@ msgstr "" "– sidebyside: dividi ekranon vertikale.\n" "– crossview: krucokula 3d-o.\n" "– pageflip: kvarbufra 3d-o.\n" -"Rimarku, ke la reĝimo « interlaced » postulas ŝaltitajn ombrigilojn." +"Rimarku, ke la reĝimo «interlaced» postulas ŝaltitajn ombrigilojn." #: src/settings_translation_file.cpp msgid "" @@ -1915,7 +1908,7 @@ msgstr "Akcelo en aero" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Akcelo de pezforto, en monderoj sekunde sekunde." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2053,21 +2046,21 @@ msgstr "" "Malgrandaj valoroj povas multe plibonigi efikecon, je la kosto de videblaj\n" "bildigaj eraroj (iuj monderoj ne bildiĝos sub akvo kaj en kavernoj, kaj iam\n" "eĉ ne surtere).\n" -"Valoro pli granda ol tiu de « max_block_send_distance » malŝaltas ĉi tiun\n" +"Valoro pli granda ol tiu de «max_block_send_distance» malŝaltas ĉi tiun\n" "plibonigon.\n" -"Donita en mapblokoj (16 monderoj)." +"Donita en mondopecoj (16 monderoj)." #: src/settings_translation_file.cpp msgid "Automatic forward key" -msgstr "Memfare antaŭen" +msgstr "Memage antaŭen" #: src/settings_translation_file.cpp msgid "Automatically jump up single-node obstacles." -msgstr "Memfare salti unumonderajn barojn." +msgstr "Memage salti unumonderajn barojn." #: src/settings_translation_file.cpp msgid "Automatically report to the serverlist." -msgstr "Memfare raporti al la listo de serviloj." +msgstr "Memage raporti al la listo de serviloj." #: src/settings_translation_file.cpp msgid "Autosave screen size" @@ -2075,7 +2068,7 @@ msgstr "Memori grandecon de ekrano" #: src/settings_translation_file.cpp msgid "Autoscaling mode" -msgstr "Reĝimo de memfara skalado" +msgstr "Reĝimo de memaga skalado" #: src/settings_translation_file.cpp msgid "Backward key" @@ -2148,6 +2141,10 @@ msgid "" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" +"Distanco de vidpunkto «proksime tonda ebeno» en monderoj, inter 0 kaj 0.5.\n" +"Plejparto de uzantoj ne bezonos ĉi tion ŝanĝi.\n" +"Plialtigo povas malpliigi misbildojn por malfortaj grafiktraktiloj.\n" +"0.1 = Norma, 0.25 = Bona valoro por malfortaj tabulkomputiloj." #: src/settings_translation_file.cpp msgid "Camera smoothing" @@ -2218,6 +2215,12 @@ msgid "" "be\n" "necessary for smaller screens." msgstr "" +"Ŝanĝoj al fasado de la ĉefmenuo:\n" +"- full (plena): Pluraj mondoj por unu ludanto, elektilo de ludo, " +"teksturaro, ktp.\n" +"- simple (simpla): Unu mondo por unu ludanto, neniuj elektiloj de ludo aŭ " +"teksturaro.\n" +"Povus esti bezona por malgrandaj ekranoj." #: src/settings_translation_file.cpp msgid "Chat key" @@ -2228,9 +2231,8 @@ msgid "Chat message count limit" msgstr "Supra limo de babilaj mesaĝoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message format" -msgstr "Plejlongo de babilaj mesaĝoj" +msgstr "Formato de babilaj mesaĝoj" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2319,9 +2321,9 @@ msgid "" "so see a full list at https://content.minetest.net/help/content_flags/" msgstr "" "Diskomita listo de etikedoj, kies havantojn kaŝi en la datena deponejo.\n" -"« nonfree » povas identigi kaj kaŝi pakaĵojn, kiuj ne estas liberaj laŭ la " +"«nonfree» povas identigi kaj kaŝi pakaĵojn, kiuj ne estas liberaj laŭ la " "difino\n" -"de « Free Software Foundation » (Fondaĵo por libera programaro).\n" +"de «Free Software Foundation» (Fondaĵo por libera programaro).\n" "Vi ankaŭ povas specifi aĝtaksojn de l’ enhavo.\n" "Ĉi tiuj etikedoj ne dependas de versioj de Minetest, do vi ĉiam povas " "rigardi\n" @@ -2343,7 +2345,7 @@ msgstr "" "Diskomita listo de fidataj modifaĵoj, kiuj rajtas aliri nesekurajn " "funkciojn\n" "eĉ kiam modifaĵa sekureco estas ŝaltita (per " -"« request_insecure_environment() »)." +"«request_insecure_environment()»)." #: src/settings_translation_file.cpp msgid "Command key" @@ -2375,7 +2377,7 @@ msgstr "Alteco de konzolo" #: src/settings_translation_file.cpp msgid "ContentDB Flag Blacklist" -msgstr "" +msgstr "Malpermesitaj flagoj de ContentDB" #: src/settings_translation_file.cpp msgid "ContentDB URL" @@ -2409,7 +2411,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Regas rapidon de profundiĝo en fluaĵoj." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2425,7 +2427,7 @@ msgid "" "Is a noise offset added to the 'mgv7_np_mountain' noise value." msgstr "" "Regas densecon de montecaj fluginsuloj.\n" -"Temas pri deŝovo de la brua valoro « np_mountain »." +"Temas pri deŝovo de la brua valoro «np_mountain»." #: src/settings_translation_file.cpp msgid "Controls width of tunnels, a smaller value creates wider tunnels." @@ -2470,16 +2472,15 @@ msgstr "Akreco de mallumo" #: src/settings_translation_file.cpp msgid "Debug info toggle key" -msgstr "Sencimiga baskula klavo" +msgstr "Baskula klavo de erarserĉaj informoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Debug log file size threshold" -msgstr "Sojlo de dezerta bruo" +msgstr "Sojlo de grandeco de protokola dosiero" #: src/settings_translation_file.cpp msgid "Debug log level" -msgstr "Sencimiga protokola nivelo" +msgstr "Erarserĉa protokola nivelo" #: src/settings_translation_file.cpp msgid "Dec. volume key" @@ -2487,7 +2488,7 @@ msgstr "Mallaŭtiga klavo" #: src/settings_translation_file.cpp msgid "Decrease this to increase liquid resistence to movement." -msgstr "" +msgstr "Malpliigu ĉi tion por pliigi reziston de fluaĵoj al movo." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2499,7 +2500,7 @@ msgstr "Implicita akcelo" #: src/settings_translation_file.cpp msgid "Default game" -msgstr "Implicita ludo" +msgstr "Norma ludo" #: src/settings_translation_file.cpp msgid "" @@ -2580,9 +2581,8 @@ msgid "Defines the base ground level." msgstr "Difinas la bazan ternivelon." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the depth of the river channel." -msgstr "Difinas la bazan ternivelon." +msgstr "Difinas la profundecon de la rivera akvovojo." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." @@ -2590,14 +2590,12 @@ msgstr "" "Difinas maksimuman distancon de ludanta moviĝo en monderoj (0 = senlima)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river channel." -msgstr "Difinas vastan sturkturon de akvovojo." +msgstr "Difinas larĝecon de la rivera akvovojo." #: src/settings_translation_file.cpp -#, fuzzy msgid "Defines the width of the river valley." -msgstr "Difinas zonojn kie arboj donas pomojn." +msgstr "Difinas larĝecon de la rivera valo." #: src/settings_translation_file.cpp msgid "Defines tree areas and tree density." @@ -2629,6 +2627,9 @@ msgid "" "Deprecated, define and locate cave liquids using biome definitions instead.\n" "Y of upper limit of lava in large caves." msgstr "" +"Evitinda, difini kaj trovi kavernajn fluaĵojn anstataŭe per klimataj " +"difinoj\n" +"Y de supra limo de lafo en grandaj kavernoj." #: src/settings_translation_file.cpp msgid "Depth below which you'll find giant caverns." @@ -2651,12 +2652,11 @@ msgid "Desert noise threshold" msgstr "Sojlo de dezerta bruo" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Deserts occur when np_biome exceeds this value.\n" "When the 'snowbiomes' flag is enabled, this is ignored." msgstr "" -"Dezertoj estiĝas kiam ‹np_biome› superas ĉi tiun valoron.\n" +"Dezertoj estiĝas kiam «np_biome» superas ĉi tiun valoron.\n" "Kiam la nova klimata sistemo aktivas, ĉi tio estas malatentata." #: src/settings_translation_file.cpp @@ -2693,7 +2693,7 @@ msgstr "Demeta klavo" #: src/settings_translation_file.cpp msgid "Dump the mapgen debug information." -msgstr "Ŝuti la sencimigajn informojn de « mapgen »." +msgstr "Ŝuti la erarserĉajn informojn de «mapgen»." #: src/settings_translation_file.cpp msgid "Dungeon maximum Y" @@ -2701,12 +2701,11 @@ msgstr "Maksimuma Y de forgeskelo" #: src/settings_translation_file.cpp msgid "Dungeon minimum Y" -msgstr "Minimuma Y de forgeskeloj" +msgstr "Plejeta Y de forgeskeloj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dungeon noise" -msgstr "Minimuma Y de forgeskeloj" +msgstr "Bruo de forgeskeloj" #: src/settings_translation_file.cpp msgid "" @@ -2726,7 +2725,7 @@ msgstr "Ŝalti konzolan fenestron" #: src/settings_translation_file.cpp msgid "Enable creative mode for new created maps." -msgstr "Ŝalti krea reĝimon por novaj mapoj." +msgstr "Ŝalti krean reĝimon por novaj mapoj." #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -2758,7 +2757,7 @@ msgid "" "If disabled, new account will be registered automatically." msgstr "" "Ŝalti konfirmon de registriĝo dum konekto al servilo.\n" -"Se ĝi estas malŝaltita, nova konto registriĝos memfare." +"Se ĝi estas malŝaltita, nova konto registriĝos memage." #: src/settings_translation_file.cpp msgid "" @@ -2806,11 +2805,11 @@ msgid "" "Ignored if bind_address is set." msgstr "" "Ŝalti/malŝalti ruladon de IPv6-a servilo.\n" -"Ignorita, se « bindi_adreson » estas agordita." +"Ignorita, se «bindi_adreson» estas agordita." #: src/settings_translation_file.cpp msgid "Enables animation of inventory items." -msgstr "Ŝaltas movbildojn en objektujo." +msgstr "Ŝaltas movbildojn en portaĵujo." #: src/settings_translation_file.cpp msgid "" @@ -2821,12 +2820,12 @@ msgid "" msgstr "" "Ŝaltas mapadon de elstaraĵoj por teksturoj. Normalmapoj devas veni kun la " "teksturaro,\n" -"aŭ estiĝi memfare.\n" +"aŭ estiĝi memage.\n" "Bezonas ŝaltitajn ombrigilojn." #: src/settings_translation_file.cpp msgid "Enables caching of facedir rotated meshes." -msgstr "Ŝaltas kaŝmemoradon de maŝoj turnitaj per « facedir »." +msgstr "Ŝaltas kaŝmemoradon de maŝoj turnitaj per «facedir»." #: src/settings_translation_file.cpp msgid "Enables filmic tone mapping" @@ -2854,11 +2853,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Engine profiling data print interval" -msgstr "" +msgstr "Intervalo inter presoj de profilaj datenoj de la motoro" #: src/settings_translation_file.cpp msgid "Entity methods" -msgstr "" +msgstr "Metodoj de estoj" #: src/settings_translation_file.cpp msgid "" @@ -2921,12 +2920,12 @@ msgid "" "Fast movement (via the \"special\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" -"Rapida moviĝo (per la klavo « speciala »).\n" -"Ĉi tio postulas la rajton « rapidi » en la servilo." +"Rapida moviĝo (per la klavo «speciala»).\n" +"Ĉi tio postulas la rajton «rapidegi» en la servilo." #: src/settings_translation_file.cpp msgid "Field of view" -msgstr "Vidokampo" +msgstr "Vidamplekso" #: src/settings_translation_file.cpp msgid "Field of view in degrees." @@ -2940,7 +2939,7 @@ msgid "" msgstr "" "Dosiero en client/serverlist/ kiu enhavas viajn ŝatatajn servilojn " "montritajn en la\n" -"langeto «Plurludanta»." +"langeto «Ludo por pluraj»." #: src/settings_translation_file.cpp msgid "Filler depth" @@ -2955,7 +2954,6 @@ msgid "Filmic tone mapping" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Filtered textures can blend RGB values with fully-transparent neighbors,\n" "which PNG optimizers usually discard, sometimes resulting in a dark or\n" @@ -2964,9 +2962,9 @@ msgid "" msgstr "" "Filtritaj teksturoj povas intermiksi RVB valorojn kun plene travideblaj\n" "apud-bilderoj, kiujn PNG bonigiloj kutime forigas, farante helan aŭ\n" -"malhelan limon al la travideblaj teksturoj. Ŝalti ĉi tiun filtrilon por " +"malhelan limon al la travideblaj teksturoj. Ŝaltu ĉi tiun filtrilon por " "ĝustigi\n" -"tion legante teksturojn." +"tion dum legado de teksturoj." #: src/settings_translation_file.cpp msgid "Filtering" @@ -3063,6 +3061,8 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"Formato de babilaj mesaĝoj de ludantoj. La jenaj tekstĉenoj estas validaj\n" +"lokokupiloj: @name, @message, @timestamp (malnepra)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3070,35 +3070,35 @@ msgstr "Dosierformo de ekrankopioj." #: src/settings_translation_file.cpp msgid "Formspec Default Background Color" -msgstr "" +msgstr "Implicata fonkoloro de fenestroj" #: src/settings_translation_file.cpp msgid "Formspec Default Background Opacity" -msgstr "" +msgstr "Implicata fona netravidebleco de fenestroj" #: src/settings_translation_file.cpp msgid "Formspec Full-Screen Background Color" -msgstr "" +msgstr "Fonkoloro de tutekranaj fenestroj" #: src/settings_translation_file.cpp msgid "Formspec Full-Screen Background Opacity" -msgstr "" +msgstr "Fona netravidebleco de tutekrana fenestro" #: src/settings_translation_file.cpp msgid "Formspec default background color (R,G,B)." -msgstr "" +msgstr "Implicata fonkoloro de fenestroj (R,V,B)." #: src/settings_translation_file.cpp msgid "Formspec default background opacity (between 0 and 255)." -msgstr "" +msgstr "Implicata netravidebleco de fenestroj (inter 0 kaj 255)." #: src/settings_translation_file.cpp msgid "Formspec full-screen background color (R,G,B)." -msgstr "" +msgstr "Fonkoloro de tutekranaj fenestroj (R,V,B)." #: src/settings_translation_file.cpp msgid "Formspec full-screen background opacity (between 0 and 255)." -msgstr "" +msgstr "Fona netravidebleco de tutekranaj fenestroj (inter 0 kaj 255)." #: src/settings_translation_file.cpp msgid "Forward key" @@ -3119,21 +3119,20 @@ msgstr "Ono de la videbla distanco, ekde kiu nebulo bildiĝas" #: src/settings_translation_file.cpp msgid "FreeType fonts" -msgstr "Tiparoj « FreeType »" +msgstr "Tiparoj «FreeType»" #: src/settings_translation_file.cpp msgid "" "From how far blocks are generated for clients, stated in mapblocks (16 " "nodes)." msgstr "" -"Maksimuma distanco, kie monderoj aperas por klientoj, mapbloke (po 16 " -"monderoj)." +"De kia distanco monderoj aperas por klientoj, mondopece (po 16 monderoj)." #: src/settings_translation_file.cpp msgid "" "From how far blocks are sent to clients, stated in mapblocks (16 nodes)." msgstr "" -"De kiu distanco monderoj sendiĝas al klinentoj, mapbloke (po 16 monderoj)." +"De kia distanco monderoj sendiĝas al klinentoj, mondopece (po 16 monderoj)." #: src/settings_translation_file.cpp msgid "" @@ -3143,8 +3142,7 @@ msgid "" "to maintain active objects up to this distance in the direction the\n" "player is looking. (This can avoid mobs suddenly disappearing from view)" msgstr "" -"Ekde kia malproksimo klientoj ekkonas objektojn, en mapblokoj (16 " -"monderoj).\n" +"De kia distanco klientoj ekkonas objektojn, en mondopecoj (16 monderoj).\n" "\n" "Agordo pli alta ol « active_block_range » ankaŭ kaŭzos, ke la servilo tenos\n" "aktivajn objektojn ĝis ĉi tiu distanco, en la direkto, kien la ludulo " @@ -3181,11 +3179,11 @@ msgstr "Helĝustigo" #: src/settings_translation_file.cpp msgid "Generate normalmaps" -msgstr "Generi normalmapojn" +msgstr "Estigi normalmapojn" #: src/settings_translation_file.cpp msgid "Global callbacks" -msgstr "" +msgstr "Mallokaj revokoj" #: src/settings_translation_file.cpp msgid "" @@ -3200,7 +3198,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Gradient of light curve at minimum light level." -msgstr "" +msgstr "Transiro de luma kurbo je plejeta lumnivelo." #: src/settings_translation_file.cpp msgid "Graphics" @@ -3224,11 +3222,11 @@ msgstr "HTTP-modifaĵoj" #: src/settings_translation_file.cpp msgid "HUD scale factor" -msgstr "Skala koeficiento por travida interfaco" +msgstr "Skala koeficiento por travida fasado" #: src/settings_translation_file.cpp msgid "HUD toggle key" -msgstr "Baskula klavo por travida interfaco" +msgstr "Baskula klavo por travida fasado" #: src/settings_translation_file.cpp msgid "" @@ -3237,6 +3235,11 @@ msgid "" "- log: mimic and log backtrace of deprecated call (default for debug).\n" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" +"Traktado de evitindaj Lua-API-vokoj:\n" +"- hereda: (provi) imiti la malnovan konduton (norma por eldono).\n" +"- protokola: imiti kaj protokoli respuron de evitindaj vokoj (norma por " +"erarserĉado).\n" +"- erara: ĉesigi je evitinda voko (proponata al evoluigistoj de modifaĵoj)." #: src/settings_translation_file.cpp msgid "" @@ -3246,6 +3249,10 @@ msgid "" "call).\n" "* Instrument the sampler being used to update the statistics." msgstr "" +"Ekzamenigi la profililon per ĝi mem:\n" +"* Ekzameni malplenan funkcion.\n" +"Tio prikalkulos la ekstron aldonatan de ekzamenado (+1 voko de funkcio).\n" +"* Ekzameni la specimenilon uzatan por ĝisdatigo de la statistiko." #: src/settings_translation_file.cpp msgid "Heat blend noise" @@ -3269,7 +3276,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "High-precision FPU" -msgstr "" +msgstr "Preciza glitkoma datentraktilo (FPU)" #: src/settings_translation_file.cpp msgid "Hill steepness" @@ -3297,33 +3304,39 @@ msgstr "Bruo de monteteco 4" #: src/settings_translation_file.cpp msgid "Homepage of server, to be displayed in the serverlist." -msgstr "" +msgstr "Hejmpaĝo de la servilo, montrota en la listo de serviloj." #: src/settings_translation_file.cpp msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Horizontala akcelo en aero dum saltado aŭ falado,\n" +"en monderoj sekunde sekunde." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Horizontala kaj vertikala akcelo en rapida reĝimo,\n" +"en monderoj sekunde sekunde." #: src/settings_translation_file.cpp msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." msgstr "" +"Horizontala kaj vertikala akcelo sur tero aŭ dum grimpado,\n" +"en monderoj sekunde sekunde." #: src/settings_translation_file.cpp msgid "Hotbar next key" -msgstr "Sekva objekto en fulmobreto" +msgstr "Sekva portaĵo en fulmobreto" #: src/settings_translation_file.cpp msgid "Hotbar previous key" -msgstr "Antaŭa objekto en fulmobreto" +msgstr "Antaŭa portaĵo en fulmobreto" #: src/settings_translation_file.cpp msgid "Hotbar slot 1 key" @@ -3462,7 +3475,7 @@ msgid "" "How much the server will wait before unloading unused mapblocks.\n" "Higher value is smoother, but will use more RAM." msgstr "" -"Kioman tempon la servilo atendos antaŭ delasi neuzatajn mapblokojn.\n" +"Kioman tempon la servilo atendos antaŭ delasi neuzatajn mondopecojn.\n" "Pli alta valoro estas pli glata, sed uzos pli da tujmemoro." #: src/settings_translation_file.cpp @@ -3471,7 +3484,7 @@ msgstr "Kiel larĝajn fari riverojn." #: src/settings_translation_file.cpp msgid "Humidity blend noise" -msgstr "" +msgstr "Bruo de intermiksado de malsekeco" #: src/settings_translation_file.cpp msgid "Humidity noise" @@ -3479,7 +3492,7 @@ msgstr "Bruo de malsekeco" #: src/settings_translation_file.cpp msgid "Humidity variation for biomes." -msgstr "" +msgstr "Variado de malsekeco por klimatoj." #: src/settings_translation_file.cpp msgid "IPv6" @@ -3498,6 +3511,8 @@ msgid "" "If FPS would go higher than this, limit it by sleeping\n" "to not waste CPU power for no benefit." msgstr "" +"Se filmeroj sekunde superas ĉi tion, limigu ilin per dormo,\n" +"por ne malŝpari vane potencon de datentraktilo." #: src/settings_translation_file.cpp msgid "" @@ -3505,6 +3520,8 @@ msgid "" "are\n" "enabled." msgstr "" +"Malŝaltite, postulas uzon de la «speciala» klavo se ambaŭ la fluga kaj\n" +"la rapida reĝimoj estas ŝaltitaj." #: src/settings_translation_file.cpp msgid "" @@ -3514,6 +3531,10 @@ msgid "" "invisible\n" "so that the utility of noclip mode is reduced." msgstr "" +"Je ŝalto, servilo elektos postkaŝitajn mondopecojn laŭ loko de okuloj\n" +"de la ludanto. Tio povas malpliigi la nombron de mondopecoj sendotaj\n" +"al la kliento je 50–80%. La kliento ne plu ricevos nevideblajn, tiel ke la\n" +"utileco de trapasa reĝimo malpliiĝos." #: src/settings_translation_file.cpp msgid "" @@ -3529,8 +3550,7 @@ msgid "" "If enabled, \"special\" key instead of \"sneak\" key is used for climbing " "down and\n" "descending." -msgstr "" -"Ŝaltite, klavo « uzi » uzatas anstataŭ klavo « kaŝiri » por malsupreniro." +msgstr "Ŝaltite, klavo «uzi» uzatas anstataŭ klavo «kaŝiri» por malsupreniro." #: src/settings_translation_file.cpp msgid "" @@ -3542,7 +3562,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "If enabled, disable cheat prevention in multiplayer." -msgstr "" +msgstr "Ŝaltite malŝaltas sentrompigon en ludo por pluraj." #: src/settings_translation_file.cpp msgid "" @@ -3557,6 +3577,8 @@ msgid "" "If enabled, makes move directions relative to the player's pitch when flying " "or swimming." msgstr "" +"Ŝaltite akordigas direkton de movoj de la ludanto al la direkto de ĝia " +"rigardo dum flugado aŭ naĝado." #: src/settings_translation_file.cpp msgid "If enabled, new players cannot join with an empty password." @@ -3585,6 +3607,10 @@ msgid "" "deleting an older debug.txt.1 if it exists.\n" "debug.txt is only moved if this setting is positive." msgstr "" +"Se la dosiergrando de «debug.txt» superas la nombron de milionbitokoj\n" +"agorditan ĉi tie, kiam ĝi malfermiĝas, la dosiero moviĝas al «debug.txt.1»,\n" +"kaj pli malnova «debug.txt.1» foriĝas, se ĝi ekzistas.\n" +"«debug.txt» moviĝas nur se ĉi tiu agordo estas ŝaltita." #: src/settings_translation_file.cpp msgid "If this is set, players will always (re)spawn at the given position." @@ -3617,28 +3643,33 @@ msgstr "Plilaŭtiga klavo" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "Unuaeca vertikala rapido dum salto, en monderoj sekunde." #: src/settings_translation_file.cpp msgid "" "Instrument builtin.\n" "This is usually only needed by core/builtin contributors" msgstr "" +"Ekzameni primitivojn.\n" +"Ĉi tion normale bezonas nur evoluigistoj de kerno/primitivoj" #: src/settings_translation_file.cpp msgid "Instrument chatcommands on registration." -msgstr "" +msgstr "Ekzameni babilajn komandojn je registriĝo." #: src/settings_translation_file.cpp msgid "" "Instrument global callback functions on registration.\n" "(anything you pass to a minetest.register_*() function)" msgstr "" +"Ekzameni mallokajn revokajn funkciojn je registriĝo.\n" +"(ĉio, kion vi donas al la funkcio minetest.register_*())" #: src/settings_translation_file.cpp msgid "" "Instrument the action function of Active Block Modifiers on registration." msgstr "" +"Ekzameni la agan funkcion de Aktivaj Modifiloj de Monderoj je registriĝo." #: src/settings_translation_file.cpp msgid "" @@ -3647,11 +3678,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Instrument the methods of entities on registration." -msgstr "" +msgstr "Ekzameni la metodojn de estoj je registriĝo." #: src/settings_translation_file.cpp msgid "Instrumentation" -msgstr "" +msgstr "Ekzamenado" #: src/settings_translation_file.cpp msgid "Interval of saving important changes in the world, stated in seconds." @@ -3663,7 +3694,7 @@ msgstr "Periodo inter sendoj de tagtempo al klientoj." #: src/settings_translation_file.cpp msgid "Inventory items animations" -msgstr "Bildmovo de objektoj en objektujo" +msgstr "Bildmovado de portaĵoj en portaĵujo" #: src/settings_translation_file.cpp msgid "Inventory key" @@ -3692,6 +3723,11 @@ msgid "" "increases processing load.\n" "At iterations = 20 this mapgen has a similar load to mapgen V7." msgstr "" +"Ripetoj de la sinvoka funkcio.\n" +"Ĉi tio pliiĝinte pliigas etajn detalojn, sed ankaŭ pliigas\n" +"la ŝarĝon al la datentraktilo.\n" +"Je 20 ripetoj, ĉi tiu mondestigilo havas ŝarĝon similan al\n" +"la mondestigilo V7." #: src/settings_translation_file.cpp msgid "Joystick ID" @@ -3703,7 +3739,7 @@ msgstr "Ripeta periodo de stirstangaj klavoj" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" -msgstr "" +msgstr "Sentemo de stirstanga vidamplekso" #: src/settings_translation_file.cpp msgid "Joystick type" @@ -3717,6 +3753,11 @@ msgid "" "Has no effect on 3D fractals.\n" "Range roughly -2 to 2." msgstr "" +"Nur por aro de Julia.\n" +"W-ero de supermalsimpla konstanto.\n" +"Ŝanĝas la formon de la fraktalo.\n" +"Neniel efikas sur 3D-fraktaloj.\n" +"Amplekso proksimume de -2 ĝis 2." #: src/settings_translation_file.cpp msgid "" @@ -3725,6 +3766,10 @@ msgid "" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" +"Nur por aro de Julia.\n" +"X-ero de supermalsimpla konstanto.\n" +"Ŝanĝas la formon de la fraktalo.\n" +"Amplekso proksimume de -2 ĝis 2." #: src/settings_translation_file.cpp msgid "" @@ -3733,6 +3778,10 @@ msgid "" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" +"Nur por aro de Julia.\n" +"Y-ero de supermalsimpla konstanto.\n" +"Ŝanĝas la formon de la fraktalo.\n" +"Amplekso proksimume de -2 ĝis 2." #: src/settings_translation_file.cpp msgid "" @@ -3741,6 +3790,10 @@ msgid "" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" +"Nur aro de Julia.\n" +"Z-a ero de supermalsimpla konstanto.\n" +"Ŝanĝas la formon de la fraktalo.\n" +"Amplekso proksimume de -2 ĝis 2." #: src/settings_translation_file.cpp msgid "Julia w" @@ -3792,9 +3845,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Klavo por demeti la elektitan objekton.\n" -"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Klavo por demeti la elektitan portaĵon.\n" +"Vidu http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -3924,9 +3977,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Klavo por malfermi la objektujon.\n" -"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Klavo por malfermi la portaĵujon.\n" +"Vidu http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4194,9 +4247,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Klavo por elekti sekvan objekton en la fulmobreto.\n" -"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Klavo por elekti sekvan portaĵon en la fulmobreto.\n" +"Vidu http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4214,9 +4267,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Klavo por elekti antaŭan objekton en la fulmobreto.\n" -"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Klavo por elekti antaŭan portaĵon en la fulmobreto.\n" +"Vidu http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4298,9 +4351,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Klavo por ekrankopii.\n" -"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Klavo por ekrankopiado.\n" +"Vidu http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4398,9 +4451,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Baskula klavo por montri sencimigajn informojn.\n" -"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr." -"html#a54da2a0e231901735e3da1b0edf72eb3" +"Baskula klavo por montri erarserĉajn informojn.\n" +"Vidu http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "" @@ -4519,11 +4572,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Length of time between Active Block Modifier (ABM) execution cycles" -msgstr "" +msgstr "Tempodaŭro inter rulaj cikloj de Aktiva Modifilo de Monderoj (AMM)" #: src/settings_translation_file.cpp msgid "Length of time between NodeTimer execution cycles" -msgstr "" +msgstr "Tempodaŭro inter rulaj cikloj de NodeTimer" #: src/settings_translation_file.cpp msgid "Length of time between active block management cycles" @@ -4540,6 +4593,14 @@ msgid "" "- info\n" "- verbose" msgstr "" +"Nivelo de protokolado skribota al debug.txt:\n" +"- (nenio protokoliĝas)\n" +"- none (neniu – mesaĝoj sen nivelo)\n" +"- error (eraro)\n" +"- warning (averto)\n" +"- action (ago)\n" +"- info (informo)\n" +"- verbose (babilema)" #: src/settings_translation_file.cpp msgid "Light curve mid boost" @@ -4555,7 +4616,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Lightness sharpness" -msgstr "" +msgstr "Akreco de heleco" #: src/settings_translation_file.cpp msgid "Limit of emerge queues on disk" @@ -4572,7 +4633,7 @@ msgid "" "Value is stored per-world." msgstr "" "Limo de mapa estigo, mondere, en ĉiuj ses direktoj de (0, 0, 0).\n" -"Nur partoj de mapo plene en la map-estigila limo estiĝos.\n" +"Nur mondopartoj plene en la mondestigila limo estiĝos.\n" "Valoro konserviĝas aparte por ĉiu mondo." #: src/settings_translation_file.cpp @@ -4591,7 +4652,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Liquid fluidity" -msgstr "Flueco de fluidoj" +msgstr "Flueco de fluaĵoj" #: src/settings_translation_file.cpp msgid "Liquid fluidity smoothing" @@ -4606,13 +4667,12 @@ msgid "Liquid queue purge time" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Rapideco de malsupreniro de likvo" +msgstr "Profundiĝo en fluaĵoj" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." -msgstr "" +msgstr "Intervalo inter ĝisdatigoj de fluaĵoj (en sekundoj)." #: src/settings_translation_file.cpp msgid "Liquid update tick" @@ -4620,7 +4680,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Load the game profiler" -msgstr "" +msgstr "Enlegi la ludan profililon" #: src/settings_translation_file.cpp msgid "" @@ -4628,6 +4688,9 @@ msgid "" "Provides a /profiler command to access the compiled profile.\n" "Useful for mod developers and server operators." msgstr "" +"Enlegas la ludan profililon por kolekti datenojn de luda profilado.\n" +"Disponigas la komandon «/profiler» por atingi la kodotradukitan profilon.\n" +"Utila por evoluigistoj de modifaĵoj kaj administrantoj de serviloj." #: src/settings_translation_file.cpp msgid "Loading Block Modifiers" @@ -4638,9 +4701,8 @@ msgid "Lower Y limit of dungeons." msgstr "Suba Y-limo de forgeskeloj." #: src/settings_translation_file.cpp -#, fuzzy msgid "Main menu script" -msgstr "Ĉefmenuo" +msgstr "Ĉefmenua skripto" #: src/settings_translation_file.cpp msgid "Main menu style" @@ -4650,16 +4712,17 @@ msgstr "Stilo de ĉefmenuo" msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" +"Dependigi kolorojn de nebulo kaj ĉielo de tagtempo (sunleviĝo/sunsubiro)\n" +"kaj direkto de rigardo." #: src/settings_translation_file.cpp msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." msgstr "" -"Funkciigas programaron « DirectX » kun « LuaJIT ». Malŝaltu okaze de " -"problemoj." +"Funkciigas programaron «DirectX» kun «LuaJIT». Malŝaltu okaze de problemoj." #: src/settings_translation_file.cpp msgid "Makes all liquids opaque" -msgstr "Igas fluidojn netravideblaj" +msgstr "Igas fluaĵojn netravideblaj" #: src/settings_translation_file.cpp msgid "Map directory" @@ -4667,7 +4730,7 @@ msgstr "Dosierujo kun mapoj" #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen Carpathian." -msgstr "" +msgstr "Mondestigaj ecoj speciale por la Karpata Mondestigilo." #: src/settings_translation_file.cpp msgid "" @@ -4678,12 +4741,12 @@ msgid "" "to become shallower and occasionally dry.\n" "'altitude_dry': Reduces humidity with altitude." msgstr "" -"Apartaj mapestigaj ecoj de la mapestigilo « Valleys ».\n" -"« altitude_chill »: Malpliigas varmon laŭ alto.\n" -"« humid_rivers »: Pliigas malsekecon ĉirkaŭ riveroj.\n" -"« vary_river_depth »: Ŝaltite foje sekigas riverojn pro malalta malsekeco\n" +"Apartaj mapestigaj ecoj de la mapestigilo «Valleys».\n" +"«altitude_chill»: Malpliigas varmon laŭ alto.\n" +"«humid_rivers»: Pliigas malsekecon ĉirkaŭ riveroj.\n" +"«vary_river_depth»: Ŝaltite foje sekigas riverojn pro malalta malsekeco\n" "kaj alta varmo.\n" -"« altitude_dry »: Malpliigas malsekecon laŭ alto." +"«altitude_dry»: Malpliigas malsekecon laŭ alto." #: src/settings_translation_file.cpp msgid "" @@ -4691,16 +4754,21 @@ msgid "" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" +"Mapestigaj ecoj speciale por la Plata Mapestigilo.\n" +"«terrain» ŝaltas estigon de nefraktala tereno:\n" +"oceano, insuloj, kaj subtero." #: src/settings_translation_file.cpp msgid "" "Map generation attributes specific to Mapgen flat.\n" "Occasional lakes and hills can be added to the flat world." msgstr "" +"Mapestigaj ecoj speciale por la Plata Mapestigilo.\n" +"Kelklokaj lagoj kaj montetoj povas aldoniĝi al la plata mondo." #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen v5." -msgstr "" +msgstr "Mapestigaj ecoj speciale por Mapestigilo v5." #: src/settings_translation_file.cpp msgid "" @@ -4709,24 +4777,30 @@ msgid "" "When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" "the 'jungles' flag is ignored." msgstr "" +"Mondestigaj ecoj apartaj al Mondestigilo v6.\n" +"La flago «snowbiomes» ŝaltas la novan 5-klimatan sistemon.\n" +"Kiam la flago «snowbiomes» estas ŝaltita, ĝangaloj estas memage ŝaltitaj\n" +"kaj la flago «jungles» estas malatentata." #: src/settings_translation_file.cpp msgid "" "Map generation attributes specific to Mapgen v7.\n" "'ridges' enables the rivers." msgstr "" +"Mapestigilaj ecoj speciale por Mapestigilo v7.\n" +"«ridges» ŝaltas la riverojn." #: src/settings_translation_file.cpp msgid "Map generation limit" -msgstr "" +msgstr "Limo de mondestigo" #: src/settings_translation_file.cpp msgid "Map save interval" -msgstr "" +msgstr "Intervaloj inter konservoj de mondo" #: src/settings_translation_file.cpp msgid "Mapblock limit" -msgstr "" +msgstr "Mondopeca limo" #: src/settings_translation_file.cpp msgid "Mapblock mesh generation delay" @@ -4738,7 +4812,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Mapblock unload timeout" -msgstr "" +msgstr "Tempolimo de mallego de mondopecoj" #: src/settings_translation_file.cpp msgid "Mapgen Carpathian" @@ -4746,7 +4820,7 @@ msgstr "Mondestigilo karpata" #: src/settings_translation_file.cpp msgid "Mapgen Carpathian specific flags" -msgstr "Parametroj specialaj por mondestigilo karpata" +msgstr "Parametroj specialaj por Karpata Mondestigilo" #: src/settings_translation_file.cpp msgid "Mapgen Flat" @@ -4754,16 +4828,15 @@ msgstr "Mondestigilo plata" #: src/settings_translation_file.cpp msgid "Mapgen Flat specific flags" -msgstr "Parametroj specialaj por mondestigilo plata" +msgstr "Parametroj specialaj por Plata Mondestigilo" #: src/settings_translation_file.cpp msgid "Mapgen Fractal" msgstr "Mondestigilo fraktala" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mapgen Fractal specific flags" -msgstr "Parametroj specialaj por mondestigilo plata" +msgstr "Parametroj speciale por Fraktala Mondestigilo" #: src/settings_translation_file.cpp msgid "Mapgen V5" @@ -4771,7 +4844,7 @@ msgstr "Mondestigilo v5" #: src/settings_translation_file.cpp msgid "Mapgen V5 specific flags" -msgstr "Parametroj specialaj por mondestigilo v5" +msgstr "Parametroj specialaj por Mondestigilo v5" #: src/settings_translation_file.cpp msgid "Mapgen V6" @@ -4779,7 +4852,7 @@ msgstr "Mondestigilo v6" #: src/settings_translation_file.cpp msgid "Mapgen V6 specific flags" -msgstr "Parametroj specialaj por mondestigilo v6" +msgstr "Parametroj specialaj por Mondestigilo v6" #: src/settings_translation_file.cpp msgid "Mapgen V7" @@ -4787,7 +4860,7 @@ msgstr "Mondestigilo v7" #: src/settings_translation_file.cpp msgid "Mapgen V7 specific flags" -msgstr "Parametroj specialaj por mondestigilo v7" +msgstr "Parametroj specialaj por Mondestigilo v7" #: src/settings_translation_file.cpp msgid "Mapgen Valleys" @@ -4795,7 +4868,7 @@ msgstr "Mondestigilo vala" #: src/settings_translation_file.cpp msgid "Mapgen Valleys specific flags" -msgstr "Parametroj specialaj por mondestigilo vala" +msgstr "Parametroj specialaj por Vala Mondestigilo" #: src/settings_translation_file.cpp msgid "Mapgen debug" @@ -4811,11 +4884,11 @@ msgstr "Nomo de mondestigilo" #: src/settings_translation_file.cpp msgid "Max block generate distance" -msgstr "" +msgstr "Estiga distanco de mondopecoj" #: src/settings_translation_file.cpp msgid "Max block send distance" -msgstr "" +msgstr "Senda distanco de mondopecoj" #: src/settings_translation_file.cpp msgid "Max liquids processed per step." @@ -4839,7 +4912,7 @@ msgstr "Maksimumaj KS paŭze." #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" -msgstr "" +msgstr "Plejgrando de perforte enlegitaj mondopecoj" #: src/settings_translation_file.cpp msgid "Maximum hotbar width" @@ -4850,6 +4923,8 @@ msgid "" "Maximum liquid resistence. Controls deceleration when entering liquid at\n" "high speed." msgstr "" +"Plejgranda rezisto de fluaĵoj. Regas malakcelon dum eniĝo en fluaĵon\n" +"je granda rapido." #: src/settings_translation_file.cpp msgid "" @@ -4857,6 +4932,9 @@ msgid "" "The maximum total count is calculated dynamically:\n" "max_total = ceil((#clients + max_users) * per_client / 4)" msgstr "" +"Plejgranda nombro de mondopecoj samtempe sendataj al unu kliento.\n" +"La plejgranda sumo estas kalkulata flue:\n" +"max_total = ceil((#clients + max_users) * per_client / 4)" #: src/settings_translation_file.cpp msgid "Maximum number of blocks that can be queued for loading." @@ -4868,15 +4946,15 @@ msgid "" "Set to blank for an appropriate amount to be chosen automatically." msgstr "" "Maksimumo nombro de mondopecoj atendantaj estigon.\n" -"Vakigu por aŭtomata elekto de ĝusta kvanto." +"Vakigu por memaga elekto de ĝusta kvanto." #: src/settings_translation_file.cpp msgid "" "Maximum number of blocks to be queued that are to be loaded from file.\n" "Set to blank for an appropriate amount to be chosen automatically." msgstr "" -"Maksimuma nombra da atendantaj mondopecoj legotaj de loka dosiero.\n" -"Agordi vake por aŭtomatan elekton de ĝusta nombro." +"Maksimuma nombro de atendantaj mondopecoj legotaj de loka dosiero.\n" +"Agordi vake por memaga elekto de ĝusta nombro." #: src/settings_translation_file.cpp msgid "Maximum number of forceloaded mapblocks." @@ -4902,9 +4980,8 @@ msgstr "" "kiun havas la celata kliento." #: src/settings_translation_file.cpp -#, fuzzy msgid "Maximum number of players that can be connected simultaneously." -msgstr "Maksimuma nombro da ludantoj, kiuj povas konektiĝi samtempe." +msgstr "Plejgranda nombro de ludantoj, kiuj povas konektiĝi samtempe." #: src/settings_translation_file.cpp msgid "Maximum number of recent chat messages to show" @@ -4912,11 +4989,11 @@ msgstr "Plejgranda nombro da freŝaj babilaj mesaĝoj montrotaj" #: src/settings_translation_file.cpp msgid "Maximum number of statically stored objects in a block." -msgstr "" +msgstr "Plejgranda nombro de statike memorataj objektoj en mondopeco." #: src/settings_translation_file.cpp msgid "Maximum objects per block" -msgstr "Maksimuma nombro da objektoj en mondopeco" +msgstr "Maksimuma nombro de objektoj en mondopeco" #: src/settings_translation_file.cpp msgid "" @@ -4939,6 +5016,8 @@ msgid "" "Maximum size of the out chat queue.\n" "0 to disable queueing and -1 to make the queue size unlimited." msgstr "" +"Maksimuma grando de la elira babila atendovico.\n" +"0 malŝaltas envicigon, kaj -1 senlimigas ĝin." #: src/settings_translation_file.cpp msgid "Maximum time in ms a file download (e.g. a mod download) may take." @@ -4978,17 +5057,15 @@ msgstr "Mapeta klavo" #: src/settings_translation_file.cpp msgid "Minimap scan height" -msgstr "" +msgstr "Alteco de mapeta skanado" #: src/settings_translation_file.cpp -#, fuzzy msgid "Minimum texture size" -msgstr "Minimuma grandeco de teksturoj por filtrado" +msgstr "Plejeta grandeco de teksturoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mipmapping" -msgstr "Protuberancmapado" +msgstr "Etmapigo" #: src/settings_translation_file.cpp msgid "Mod channels" @@ -4996,7 +5073,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Modifies the size of the hudbar elements." -msgstr "" +msgstr "Ŝanĝas la grandecon de eroj de la travida fasado." #: src/settings_translation_file.cpp msgid "Monospace font path" @@ -5015,9 +5092,8 @@ msgid "Mountain noise" msgstr "Bruo de montoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Mountain variation noise" -msgstr "Bruo de monta alteco" +msgstr "Bruo de monta variigo" #: src/settings_translation_file.cpp #, fuzzy @@ -5050,10 +5126,9 @@ msgstr "Silentiga klavo" #: src/settings_translation_file.cpp msgid "Mute sound" -msgstr "" +msgstr "Silentigi sonon" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Name of map generator to be used when creating a new world.\n" "Creating a world in the main menu will override this.\n" @@ -5062,10 +5137,8 @@ msgid "" msgstr "" "Nomo de mapestigilo uzota por krei novan mondon.\n" "Kreo de nova mondo en la ĉefmenuo transpasos ĉi tiun agordon.\n" -"Nunaj stabilaj mapestigiloj estas:\n" -"v5, v6, v7 (krom « floatlands »), singlenode.\n" -"« Stabilaj » signifas, ke formo de tereno en jamaj mondoj ne ŝanĝiĝos\n" -"ose. Klimatoj tamen povus ŝanĝiĝi, ĉar ilin difinas ludoj." +"Nunaj tre malstabilaj mapestigiloj estas:\n" +"- La malnepraj fluginsuloj de v7 (implicite malŝaltitaj)." #: src/settings_translation_file.cpp msgid "" @@ -5112,9 +5185,8 @@ msgid "Noclip key" msgstr "Trapasa klavo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Node highlighting" -msgstr "Marki nodaĵojn" +msgstr "Emfazado de monderoj" #: src/settings_translation_file.cpp msgid "NodeTimer interval" @@ -5134,7 +5206,7 @@ msgstr "Normalmapa potenco" #: src/settings_translation_file.cpp msgid "Number of emerge threads" -msgstr "Nombro da mondo-estigaj fadenoj" +msgstr "Nombro da mondestigaj fadenoj" #: src/settings_translation_file.cpp msgid "" @@ -5169,7 +5241,7 @@ msgstr "Nombro da iteracioj de paralaksa ombrigo." #: src/settings_translation_file.cpp msgid "Online Content Repository" -msgstr "" +msgstr "Enreta deponejo de enhavo" #: src/settings_translation_file.cpp msgid "Opaque liquids" @@ -5181,6 +5253,9 @@ msgid "" "formspec is\n" "open." msgstr "" +"Malfermas haltan menuon kiam fokuso je la fenestro perdiĝas. Ne haltigas se " +"enluda\n" +"fenestro estas malfermita." #: src/settings_translation_file.cpp msgid "Overall bias of parallax occlusion effect, usually scale/2." @@ -5208,9 +5283,8 @@ msgid "Parallax occlusion mode" msgstr "Reĝimo de paralaksa ombrigo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion scale" -msgstr "Vasteco de paralaksa ombrigo" +msgstr "Skalo de paralaksa ombrigo" #: src/settings_translation_file.cpp msgid "Parallax occlusion strength" @@ -5218,7 +5292,7 @@ msgstr "Potenco de paralaksa ombrigo" #: src/settings_translation_file.cpp msgid "Path to TrueTypeFont or bitmap." -msgstr "Dosierindiko al tiparo »TrueType« aŭ rastrumo." +msgstr "Dosierindiko al tiparo «TrueType» aŭ bitbildo." #: src/settings_translation_file.cpp msgid "Path to save screenshots at." @@ -5236,20 +5310,19 @@ msgstr "Dosierindiko al teksturoj. Ĉiuj teksturoj estas unue serĉataj tie." #: src/settings_translation_file.cpp msgid "Pause on lost window focus" -msgstr "" +msgstr "Paŭzigi je perdita fokuso de la fenestro" #: src/settings_translation_file.cpp msgid "Physics" msgstr "Fiziko" #: src/settings_translation_file.cpp -#, fuzzy msgid "Pitch move key" -msgstr "Fluga klavo" +msgstr "Celilsekva klavo" #: src/settings_translation_file.cpp msgid "Pitch move mode" -msgstr "" +msgstr "Celilsekva reĝimo" #: src/settings_translation_file.cpp msgid "" @@ -5276,26 +5349,32 @@ msgid "" "Port to connect to (UDP).\n" "Note that the port field in the main menu overrides this setting." msgstr "" +"Konektota pordo (UDP).\n" +"Rimarku, ke la porda kampo en la ĉefmenuo transpasas ĉi tiun agordon." #: src/settings_translation_file.cpp msgid "" "Prevent digging and placing from repeating when holding the mouse buttons.\n" "Enable this when you dig or place too often by accident." msgstr "" +"Malhelpu ripetadon de fosado kaj metado dum premo de la musklavoj.\n" +"Ŝaltu ĉi tion, se vi tro ofte nevole fosas aŭ metas monderojn." #: src/settings_translation_file.cpp msgid "Prevent mods from doing insecure things like running shell commands." -msgstr "" +msgstr "Malhelpi al reguligistoj agi nesekure (ekzemple ruli ŝelajn komandojn)." #: src/settings_translation_file.cpp msgid "" "Print the engine's profiling data in regular intervals (in seconds).\n" "0 = disable. Useful for developers." msgstr "" +"Presi la profilajn datenojn de la motoro laŭ regulaj intervaloj (sekunde).\n" +"0 = malŝalti. Utila por evoluigistoj." #: src/settings_translation_file.cpp msgid "Privileges that players with basic_privs can grant" -msgstr "" +msgstr "Rajtoj, kiujn ludantoj kun «basic_privs» povas doni" #: src/settings_translation_file.cpp msgid "Profiler" @@ -5315,10 +5394,12 @@ msgid "" "Values larger than 26 will start to produce sharp cutoffs at cloud area " "corners." msgstr "" +"Duondiametro de nuba areo donita en nombro da 64-monderaj nubaj ortanguloj.\n" +"Valoroj super 26 estigos akrajn randojn je anguloj de la areo." #: src/settings_translation_file.cpp msgid "Raises terrain to make valleys around the rivers." -msgstr "" +msgstr "Levas terenon por krei valojn ĉirkaŭ la riveroj." #: src/settings_translation_file.cpp msgid "Random input" @@ -5369,6 +5450,16 @@ msgid "" "csm_restriction_noderange)\n" "READ_PLAYERINFO: 32 (disable get_player_names call client-side)" msgstr "" +"Limigas atingon de kelkaj klient-flankaj funkcioj sur serviloj.\n" +"Kombinu la ĉi-subajn bitindikilojn por limigi klient-flakajn funkciojn,\n" +"aŭ agordu al 0 por nenion limigi:\n" +"LOAD_CLIENT_MODS: 1 (malŝaltas enlegadon de klient-flankaj modifaĵoj)\n" +"CHAT_MESSAGES: 2 (malŝaltas klient-flankan vokadon de «send_chat_message»)\n" +"READ_ITEMDEFS: 4 (malŝaltas klient-flankan vokadon de «get_item_def»)\n" +"READ_NODEDEFS: 8 (malŝaltas klient-flankan vokadon de «get_node_def»)\n" +"LOOKUP_NODES_LIMIT: 16 (limigas klient-flankan vokadon de «get_node_call»\n" +"al «csm_restriction_noderange»)\n" +"READ_PLAYERINFO: 32 (malŝaltas klient-flankan vokadon de «get_player_names»)" #: src/settings_translation_file.cpp #, fuzzy @@ -5397,14 +5488,12 @@ msgid "Rightclick repetition interval" msgstr "Periodo inter ripetoj de dekstra klako" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel depth" -msgstr "Rivera profundo" +msgstr "Profundeco de rivera akvovojo" #: src/settings_translation_file.cpp -#, fuzzy msgid "River channel width" -msgstr "Rivera profundo" +msgstr "Larĝeco de riveraj akvovojoj" #: src/settings_translation_file.cpp msgid "River depth" @@ -5415,26 +5504,24 @@ msgid "River noise" msgstr "Rivera bruo" #: src/settings_translation_file.cpp -#, fuzzy msgid "River size" -msgstr "Rivera grandeco" +msgstr "Grandeco de riveroj" #: src/settings_translation_file.cpp -#, fuzzy msgid "River valley width" -msgstr "Rivera profundo" +msgstr "Profundeco de riveraj valoj" #: src/settings_translation_file.cpp msgid "Rollback recording" -msgstr "" +msgstr "Malfarebligo" #: src/settings_translation_file.cpp msgid "Rolling hill size noise" -msgstr "" +msgstr "Bruo de grandeco de mildaj montetoj" #: src/settings_translation_file.cpp msgid "Rolling hills spread noise" -msgstr "" +msgstr "Bruo de disvastiĝo de mildaj montetoj" #: src/settings_translation_file.cpp msgid "Round minimap" @@ -5442,11 +5529,11 @@ msgstr "Ronda mapeto" #: src/settings_translation_file.cpp msgid "Safe digging and placing" -msgstr "" +msgstr "Sekuraj fosado kaj metado" #: src/settings_translation_file.cpp msgid "Sandy beaches occur when np_beach exceeds this value." -msgstr "Sablaj bordoj okazas kiam « np_beach » superas ĉi tiun valoron." +msgstr "Sablaj bordoj okazas kiam «np_beach» superas ĉi tiun valoron." #: src/settings_translation_file.cpp msgid "Save the map received by the client on disk." @@ -5461,7 +5548,6 @@ msgid "Saving map received from server" msgstr "Konservanta mapon ricevitan de la servilo" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Scale GUI by a user specified value.\n" "Use a nearest-neighbor-anti-alias filter to scale the GUI.\n" @@ -5472,8 +5558,8 @@ msgstr "" "Skali la fasadon per valoro difinita de la uzanto.\n" "Uzi glatigan filtrilon per la plej proksimaj bilderoj por skali la fasadon.\n" "Ĉi tio glatigos iom da malglataj limoj, kaj miksos bilderojn\n" -"malskalante, kontraŭ perdo de kelkaj limaj bilderoj, malskalante per\n" -"netutciferoj." +"malskalante, kontraŭ malklarigo de kelkaj limaj bilderoj, malskalante\n" +"per neentejraj kvantoj." #: src/settings_translation_file.cpp msgid "Screen height" @@ -5507,7 +5593,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Seabed noise" -msgstr "Bruo de marplanko" +msgstr "Bruo de marfundo" #: src/settings_translation_file.cpp msgid "Second of 4 2D noises that together define hill/mountain range height." @@ -5524,11 +5610,11 @@ msgstr "Sekureco" #: src/settings_translation_file.cpp msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous" -msgstr "" +msgstr "Vidu https://www.sqlite.org/pragma.html#pragma_synchronous" #: src/settings_translation_file.cpp msgid "Selection box border color (R,G,B)." -msgstr "Limkoloro de elektujo" +msgstr "Limkoloro de elektujo (R,V,B)." #: src/settings_translation_file.cpp msgid "Selection box color" @@ -5560,10 +5646,29 @@ msgid "" "17 = 4D \"Mandelbulb\" mandelbrot set.\n" "18 = 4D \"Mandelbulb\" julia set." msgstr "" +"Elektas unu de 18 tipoj de fraktaloj.\n" +"1 = 4D «Rondeca» aro de Mandelbrot.\n" +"2 = 4D «Rondeca» aro de Julia.\n" +"3 = 4D «Ortanguleca» aro de Mandelbrot.\n" +"4 = 4D «Ortanguleca» aro de Julia.\n" +"5 = 4D «Mandy Cousin» aro de Mandelbrot.\n" +"6 = 4D «Mandy Cousin» aro de Julia.\n" +"7 = 4D «Variaĵa» aro de Mandelbrot.\n" +"8 = 4D «Variaĵa» aro de Julia.\n" +"9 = 3D «Mandelbrot/Mandelbar» aro de Mandelbrot.\n" +"10 = 3D «Mandelbrot/Mandelbar» aro de Julia.\n" +"11 = 3D «Kristnaskarba» aro de Mandelbrot.\n" +"12 = 3D «Kristnaskarba» aro de Julia.\n" +"13 = 3D «Mandelbulb» aro de Mandelbrot.\n" +"14 = 3D «Mandelbulb» aro de Julia.\n" +"15 = 3D «Sinuse Mandelbulb» aro de Mandelbrot.\n" +"16 = 3D «Sinuse Mandelbulb» aro de Julia.\n" +"17 = 4D «Mandelbulb» aro de Mandelbrot.\n" +"18 = 4D «Mandelbulb» aro de Julia." #: src/settings_translation_file.cpp msgid "Server / Singleplayer" -msgstr "Servilo / Unuopa" +msgstr "Servilo / Ludo por unu" #: src/settings_translation_file.cpp msgid "Server URL" @@ -5587,7 +5692,7 @@ msgstr "Pordo de servilo" #: src/settings_translation_file.cpp msgid "Server side occlusion culling" -msgstr "" +msgstr "Servilflanka elektado de postkaŝitoj" #: src/settings_translation_file.cpp msgid "Serverlist URL" @@ -5615,14 +5720,16 @@ msgid "" "Set to true enables waving leaves.\n" "Requires shaders to be enabled." msgstr "" -"Verigo ŝaltas ondantajn foliojn.\n" -"Bezonas ŝaltitajn ombrigilojn." +"Ebligas ondojn je kreskaĵoj.\n" +"Bezonas ombrigilojn." #: src/settings_translation_file.cpp msgid "" "Set to true enables waving plants.\n" "Requires shaders to be enabled." msgstr "" +"Verigo ŝaltas ondantajn kreskaĵojn.\n" +"Bezonas ŝalton de ombriloj." #: src/settings_translation_file.cpp msgid "" @@ -5637,16 +5744,15 @@ msgid "Shader path" msgstr "Indiko al ombrigiloj" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Shaders allow advanced visual effects and may increase performance on some " "video\n" "cards.\n" "This only works with the OpenGL video backend." msgstr "" -"Ombrigiloj ebligas specialaj vidajn efektojn kaj povas plibonigi rendimenton " -"je kelkaj vidkartoj.\n" -"Ĉi tio only funkcias kun la videa internaĵo de «OpenGL»." +"Ombrigiloj ebligas specialaj vidajn efektojn kaj povas plibonigi efikecon je " +"kelkaj vidkartoj.\n" +"Ĉi tio funkcias nur kun la bildiga internaĵo de «OpenGL»." #: src/settings_translation_file.cpp msgid "Shadow limit" @@ -5658,11 +5764,11 @@ msgstr "Formo de la mapeto. Ŝaltita = ronda, malŝaltita = orta." #: src/settings_translation_file.cpp msgid "Show debug info" -msgstr "Montri sencimigajn informojn" +msgstr "Montri erarserĉajn informojn" #: src/settings_translation_file.cpp msgid "Show entity selection boxes" -msgstr "" +msgstr "Montri elektujojn de estoj" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -5677,6 +5783,12 @@ msgid "" "Altering this value is for special usage, leaving it unchanged is\n" "recommended." msgstr "" +"Grandeco de mondopartoj estigitaj de mondestigilo, esprimita en mondopecoj\n" +"(16 monderoj).\n" +"AVERTO: Estas neniu avantaĝo, nur kelkaj danĝeroj, en pliigo de la valoro " +"super 5.\n" +"Malpliigo de la valoro plialtigas densecon de kavernoj kaj forgeskeloj.\n" +"Ŝanĝeblo de la valoro celas specialajn uzojn; senŝanĝo estas rekomendata." #: src/settings_translation_file.cpp msgid "" @@ -5684,14 +5796,17 @@ msgid "" "increase the cache hit %, reducing the data being copied from the main\n" "thread, thus reducing jitter." msgstr "" +"Grandeco de la mondopeca kaŝmemoro de la meŝestigilo. Plialtigo ankaŭ\n" +"plialtigos la elcenton de kaŝmemoraj trafoj, kaj malpliigos la datenojn\n" +"kopiatajn de la ĉefa fadeno, malhelpante skuadon." #: src/settings_translation_file.cpp msgid "Slice w" -msgstr "" +msgstr "Tranĉo w" #: src/settings_translation_file.cpp msgid "Slope and fill work together to modify the heights." -msgstr "" +msgstr "Deklivo kaj plenigo kunlaboras por ŝanĝi la altecojn." #: src/settings_translation_file.cpp msgid "Small-scale humidity variation for blending biomes on borders." @@ -5699,7 +5814,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Small-scale temperature variation for blending biomes on borders." -msgstr "" +msgstr "Etarea variigo de varmeco por intermiksado de klimatoj je limoj." #: src/settings_translation_file.cpp msgid "Smooth lighting" @@ -5731,16 +5846,15 @@ msgstr "Rapido de kaŝiro" #: src/settings_translation_file.cpp msgid "Sneaking speed, in nodes per second." -msgstr "" +msgstr "Rapido de kaŝirado, en monderoj sekunde." #: src/settings_translation_file.cpp msgid "Sound" msgstr "Sono" #: src/settings_translation_file.cpp -#, fuzzy msgid "Special key" -msgstr "Singardira klavo" +msgstr "Speciala klavo" #: src/settings_translation_file.cpp msgid "Special key for climbing/descending" @@ -5755,8 +5869,8 @@ msgid "" msgstr "" "Specifas URL de kiu la kliento elŝutos aŭdvidaĵojn, anstataŭ uzi UDP.\n" "$filename atingeblu de $remote_media$filename per cURL\n" -"(kompreneble, »remote_media« finiĝu per dekliva streko).\n" -"Dosieroj mankantaj elŝutitos per la kutima maniero." +"(kompreneble, «remote_media» finiĝu per dekliva streko).\n" +"Dosieroj mankantaj elŝutiĝos per la kutima maniero." #: src/settings_translation_file.cpp msgid "" @@ -5773,14 +5887,12 @@ msgid "Steepness noise" msgstr "Bruo de kruteco" #: src/settings_translation_file.cpp -#, fuzzy msgid "Step mountain size noise" -msgstr "Bruo de montoj" +msgstr "Bruo de grandeco de terasaj montoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Step mountain spread noise" -msgstr "Bruo de montoj" +msgstr "Bruo de disvastiĝo de terasaj montoj" #: src/settings_translation_file.cpp msgid "Strength of generated normalmaps." @@ -5812,7 +5924,7 @@ msgstr "Varmeca diverseco por klimatoj." #: src/settings_translation_file.cpp msgid "Terrain alternative noise" -msgstr "" +msgstr "Alternativo bruo de tereno" #: src/settings_translation_file.cpp msgid "Terrain base noise" @@ -5828,7 +5940,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Terrain noise" -msgstr "" +msgstr "Bruo de tereno" #: src/settings_translation_file.cpp msgid "" @@ -5836,6 +5948,9 @@ msgid "" "Controls proportion of world area covered by hills.\n" "Adjust towards 0.0 for a larger proportion." msgstr "" +"Sojlo de terena bruo por montetoj.\n" +"Regas parton de la mondon kovratan per montetoj.\n" +"Proksimigu al 0.0 por pligrandigi la parton." #: src/settings_translation_file.cpp msgid "" @@ -5843,6 +5958,9 @@ msgid "" "Controls proportion of world area covered by lakes.\n" "Adjust towards 0.0 for a larger proportion." msgstr "" +"Sojlo de terena bruo por lagoj.\n" +"Regas la parton de mondo kovritan per lagoj.\n" +"Proksimigu al 0.0 por pli granda parto." #: src/settings_translation_file.cpp msgid "Terrain persistence noise" @@ -5870,17 +5988,19 @@ msgstr "" #: src/settings_translation_file.cpp msgid "The URL for the content repository" -msgstr "" +msgstr "URL al la deponejo de enhavo" #: src/settings_translation_file.cpp msgid "" "The default format in which profiles are being saved,\n" "when calling `/profiler save [format]` without format." msgstr "" +"La norma formo, en kiu konserviĝas profiloj, kiam\n" +"vokiĝas «/profiler save [formo]» sen formo." #: src/settings_translation_file.cpp msgid "The depth of dirt or other biome filler node." -msgstr "" +msgstr "La profundeco de tero aŭ alia surfaca klimata plenigilo." #: src/settings_translation_file.cpp msgid "" @@ -5889,11 +6009,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "The identifier of the joystick to use" -msgstr "" +msgstr "Identigilo de la uzota stirstango" #: src/settings_translation_file.cpp msgid "The length in pixels it takes for touch screen interaction to start." -msgstr "" +msgstr "Longeco (en bilderoj) necesa por komenco de interago kun tuŝekrano." #: src/settings_translation_file.cpp msgid "The network interface that the server listens on." @@ -5904,6 +6024,9 @@ msgid "" "The privileges that new users automatically get.\n" "See /privs in game for a full list on your server and mod configuration." msgstr "" +"La rajtoj, kiuj novaj uzantoj memage akiras.\n" +"Vidu «/privs» en la ludo por plena listo de via servilo kaj modifaĵa " +"agordaro." #: src/settings_translation_file.cpp msgid "" @@ -5925,12 +6048,21 @@ msgid "" "On other platforms, OpenGL is recommended, and it’s the only driver with\n" "shader support currently." msgstr "" +"La bildiga internaĵo por Irrlicht.\n" +"Rerulo necesas post ĉi tiu ŝanĝo.\n" +"Rimarko: Sur Androido, restu ĉe OGLES1, se vi ne certas! Aplikaĵo alie " +"povus\n" +"malsukcesi ruliĝon. Sur aliaj sistemoj, OpenGL estas rekomendata, kaj " +"nuntempe\n" +"estas la sola pelilo subtenanta ombrigilojn." #: src/settings_translation_file.cpp msgid "" "The sensitivity of the joystick axes for moving the\n" "ingame view frustum around." msgstr "" +"Sentemo de la stirstangaj aksoj por movadi la\n" +"enludan vidamplekson." #: src/settings_translation_file.cpp msgid "" @@ -5939,6 +6071,10 @@ msgid "" "setting is 0.25 to 4.0 inclusive. If the value is out of range it will be\n" "set to the nearest valid value." msgstr "" +"La potenco (mallumeco) de ĉirkaŭaĵa ombrigo de monderoj.\n" +"Malpli estas mallume, pli estas lume. La valida amplekso de valoroj\n" +"estas inter 0.25 kaj 4.0, inkluzive. Se la valoro estas ekster la amplekso,\n" +"ĝi prezentos la plej proksiman valoron validan." #: src/settings_translation_file.cpp msgid "" @@ -5952,6 +6088,8 @@ msgid "" "The time in seconds it takes between repeated events\n" "when holding down a joystick button combination." msgstr "" +"Tempo (en sekundoj) inter ripetataj okazoj dum premo\n" +"de stirstangaj klavoj." #: src/settings_translation_file.cpp msgid "" @@ -5963,7 +6101,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "The type of joystick" -msgstr "" +msgstr "La speco de stirstango" #: src/settings_translation_file.cpp msgid "" @@ -5971,6 +6109,9 @@ msgid "" "enabled. Also the vertical distance over which humidity drops by 10 if\n" "'altitude_dry' is enabled." msgstr "" +"Vertikala distanco post kiu varmeco malpliiĝas je 20, se «altitude_chill»\n" +"estas ŝaltita. Ankaŭ la vertikala distanco post kiu malsekeco malpliiĝas\n" +"je 10 se «altitude_dry» estas ŝaltita." #: src/settings_translation_file.cpp #, fuzzy @@ -5986,6 +6127,8 @@ msgid "" "Time in seconds for item entity (dropped items) to live.\n" "Setting it to -1 disables the feature." msgstr "" +"Vivodaŭro de metitaj portaĵoj en sekundoj.\n" +"Agordo al -1 malŝaltas la funkcion." #: src/settings_translation_file.cpp msgid "Time of day when a new world is started, in millihours (0-23999)." @@ -5997,7 +6140,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Time speed" -msgstr "" +msgstr "Rapido de tempo" #: src/settings_translation_file.cpp msgid "Timeout for client to remove unused map data from memory." @@ -6043,7 +6186,7 @@ msgid "" msgstr "" "Vera = 256\n" "Falsa = 128\n" -"Povas glatigi minimapon por malrapidaj komputiloj." +"Povas faciligi mapeton por malrapidaj komputiloj." #: src/settings_translation_file.cpp msgid "Trusted mods" @@ -6052,18 +6195,17 @@ msgstr "Fidataj modifaĵoj" #: src/settings_translation_file.cpp msgid "" "Typical maximum height, above and below midpoint, of floatland mountains." -msgstr "" +msgstr "Ordinara plejalto, super kaj sub la mezpunkto, de fluginsulaj montoj." #: src/settings_translation_file.cpp msgid "URL to the server list displayed in the Multiplayer Tab." -msgstr "URL al la listo de serviloj, montrota en la plurludanta langeto." +msgstr "URL al la listo de serviloj, montrota en la langeto «Ludo por pluraj»." #: src/settings_translation_file.cpp msgid "Undersampling" msgstr "Subspecimenado" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Undersampling is similar to using a lower screen resolution, but it applies\n" "to the game world only, keeping the GUI intact.\n" @@ -6071,9 +6213,9 @@ msgid "" "image.\n" "Higher values result in a less detailed image." msgstr "" -"Subspecimenado similas uzon de malgranda ekrandistingivo, sed ĝi nur\n" +"Subspecimenado similas uzon de malgranda ekrandistingumo, sed ĝi nur\n" "efektivas en la ludo, lasante la fasadon senŝanĝa.\n" -"Ĝi grave helpu la rendimenton kontraŭ malpli detala video." +"Ĝi grave helpu la efikecon kontraŭ malpli detala filmo." #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" @@ -6081,7 +6223,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Unload unused server data" -msgstr "" +msgstr "Mallegi neuzatajn servilajn datenojn" #: src/settings_translation_file.cpp msgid "Upper Y limit of dungeons." @@ -6109,6 +6251,9 @@ msgid "" "especially when using a high resolution texture pack.\n" "Gamma correct downscaling is not supported." msgstr "" +"Uzi etmapigon por skali teksturojn. Povas iomete plibonigi efikecon,\n" +"precipe dum uzo de teksturaro je alta distingumo.\n" +"Gamae ĝusta malgrandigado ne estas subtenata." #: src/settings_translation_file.cpp msgid "Use trilinear filtering when scaling textures." @@ -6116,7 +6261,7 @@ msgstr "Uzi trilinearan filtradon skalante teksturojn." #: src/settings_translation_file.cpp msgid "VBO" -msgstr "" +msgstr "Vertica bufrobjekto" #: src/settings_translation_file.cpp msgid "VSync" @@ -6127,19 +6272,16 @@ msgid "Valley depth" msgstr "Profundeco de valoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Valley fill" -msgstr "Profundeco de valoj" +msgstr "Plenigo de valoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Valley profile" -msgstr "Profundeco de valoj" +msgstr "Profilo de valoj" #: src/settings_translation_file.cpp -#, fuzzy msgid "Valley slope" -msgstr "Profundeco de valoj" +msgstr "Deklivo de valoj" #: src/settings_translation_file.cpp msgid "Variation of biome filler depth." @@ -6148,14 +6290,16 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Variation of hill height and lake depth on floatland smooth terrain." msgstr "" +"Variaĵo de alteco de montetoj kaj profundeco de lagoj sur glata tereno de " +"fluginsuloj." #: src/settings_translation_file.cpp msgid "Variation of maximum mountain height (in nodes)." -msgstr "" +msgstr "Variaĵo de plejgranda alteco de montoj (en monderoj)." #: src/settings_translation_file.cpp msgid "Variation of number of caves." -msgstr "" +msgstr "Variado de nombro de kavernoj." #: src/settings_translation_file.cpp msgid "" @@ -6172,18 +6316,21 @@ msgid "" "Varies roughness of terrain.\n" "Defines the 'persistence' value for terrain_base and terrain_alt noises." msgstr "" +"Variigas krudecon de tereno.\n" +"Difinas la valoron de «persistence» (persisto) por la bruoj «terrain_base»\n" +"kaj «terrain_alt»." #: src/settings_translation_file.cpp msgid "Varies steepness of cliffs." -msgstr "" +msgstr "Variigas la krutecon de krutaĵoj." #: src/settings_translation_file.cpp msgid "Vertical climbing speed, in nodes per second." -msgstr "" +msgstr "Vertikala rapido de grimpado, en monderoj sekunde." #: src/settings_translation_file.cpp msgid "Vertical screen synchronization." -msgstr "" +msgstr "Vertikala samtempigo de ekrano." #: src/settings_translation_file.cpp msgid "Video driver" @@ -6232,7 +6379,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." -msgstr "" +msgstr "Rapido de irado kaj flugado, en monderoj sekunde." #: src/settings_translation_file.cpp msgid "Walking speed" @@ -6241,6 +6388,7 @@ msgstr "Rapido de irado" #: src/settings_translation_file.cpp msgid "Walking, flying and climbing speed in fast mode, in nodes per second." msgstr "" +"Rapido de irado, flugado kaj grimpado en rapida reĝimo, en monderoj sekunde." #: src/settings_translation_file.cpp msgid "Water level" @@ -6267,19 +6415,16 @@ msgid "Waving water" msgstr "Ondanta akvo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave height" -msgstr "Alto de ondanta akvo" +msgstr "Alteco de ondoj de ondanta akvo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wave speed" -msgstr "Rapido de ondanta akvo" +msgstr "Rapido de ondoj sur ondanta akvo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Waving water wavelength" -msgstr "Longo de ondanta akvo" +msgstr "Longo de ondoj de ondanta akvo" #: src/settings_translation_file.cpp msgid "" @@ -6287,6 +6432,9 @@ msgid "" "filtered in software, but some images are generated directly\n" "to hardware (e.g. render-to-texture for nodes in inventory)." msgstr "" +"Kiam veras «gui_scaling_filter», ĉiuj bildoj de la grafika fasado\n" +"devas filtriĝi en la programaro, sed iuj bildoj estiĝas rekte en la\n" +"programaro (ekz. «render-to-texture» por monderoj en portaĵujo)." #: src/settings_translation_file.cpp msgid "" @@ -6295,6 +6443,10 @@ msgid "" "to the old scaling method, for video drivers that don't\n" "properly support downloading textures back from hardware." msgstr "" +"Kiam veras «gui_scaling_filter_txr2img», kopii la bildojn\n" +"de aparataro al programaro por skalado. Kiam malveras, repaŝu\n" +"al la malnova metodo de skalado, por vid-peliloj, kiuj ne subtenas\n" +"bone elŝutadon de teksturoj de la aparataro." #: src/settings_translation_file.cpp msgid "" @@ -6308,31 +6460,45 @@ msgid "" "This is also used as the base node texture size for world-aligned\n" "texture autoscaling." msgstr "" +"Dum uzo de duliniaj/triliniaj/neizotropaj filtriloj, tekstruoj je malaltaj\n" +"distingumoj povas malklariĝi; tial memage grandigu ĝin per interpolado\n" +"laŭ plej proksimaj bilderoj por teni klarajn bilderojn. Ĉi tio agordas la\n" +"malplejaltan grandecon de teksturo por la grandigitaj teksturoj; pli altaj\n" +"valoroj aspektas pli klare, sed bezonas pli da memoro. Potencoj de duo\n" +"estas rekomendataj. Valoroj pli grandaj ol 1 eble ne estos videblaj, se ne\n" +"estas ŝaltita dulinia, trilinia, aŭ neizotropa filtrado.\n" +"Ĉi tio ankaŭ uziĝas kiel la baza grando de monderaj teksturoj por memaga\n" +"grandigado de monde laŭigitaj teksturoj." #: src/settings_translation_file.cpp msgid "" "Whether FreeType fonts are used, requires FreeType support to be compiled in." msgstr "" +"Ĉu tiparoj de FreeType uziĝas; postulas entradukitan subtenon de FreeType." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." -msgstr "" +msgstr "Ĉu teksturaj movbildoj de monderoj malsamtempiĝu en ĉiu mondopeco." #: src/settings_translation_file.cpp msgid "" "Whether players are shown to clients without any range limit.\n" "Deprecated, use the setting player_transfer_distance instead." msgstr "" +"Ĉu ludantoj montriĝas al klientoj sen limo de vidodistanco.\n" +"Evitinda; uzu anstataŭe la agordon «player_transfer_distance»." #: src/settings_translation_file.cpp msgid "Whether to allow players to damage and kill each other." -msgstr "" +msgstr "Ĉu permesi al ludantoj vundi kaj mortigi unu la alian." #: src/settings_translation_file.cpp msgid "" "Whether to ask clients to reconnect after a (Lua) crash.\n" "Set this to true if your server is set up to restart automatically." msgstr "" +"Ĉu peti rekonekton de klientoj post kolapso (de Lua).\n" +"Ĉi tion agordu al vero se via servilo rekomencos memage." #: src/settings_translation_file.cpp msgid "Whether to fog out the end of the visible area." @@ -6342,6 +6508,7 @@ msgstr "Ĉu nebuli finon de la videbla areo." msgid "" "Whether to show the client debug info (has the same effect as hitting F5)." msgstr "" +"Ĉu montri erarserĉajn informojn de la kliento (efikas samkiel premo de F5)." #: src/settings_translation_file.cpp msgid "Width component of the initial window size." @@ -6357,6 +6524,8 @@ msgid "" "background.\n" "Contains the same information as the file debug.txt (default name)." msgstr "" +"Nur por Vindozo: Rulu Mineteston fone per la komanduja fenestro.\n" +"Ĝi enhavos la samajn informojn kiel la dosiero (norme nomita) debug.txt." #: src/settings_translation_file.cpp msgid "" @@ -6365,9 +6534,8 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "World start time" -msgstr "Nomo de mondo" +msgstr "Tempo je komenco de mondo" #: src/settings_translation_file.cpp msgid "" @@ -6378,14 +6546,20 @@ msgid "" "See also texture_min_size.\n" "Warning: This option is EXPERIMENTAL!" msgstr "" +"Monde laŭigitaj teksturoj povas skaliĝi trans kelkaj monderoj. Tamen,\n" +"la servilo eble ne sendos la volatan skalon, precipe se vi uzas speciale\n" +"fasonitan teksturaron; per ĉi tiu elekteblo, la kliento provas determini\n" +"la skalon memage, surbaze de la grandeco de la teksturo.\n" +"Vidu ankaŭ «texture_min_size».\n" +"Averto: Ĉi tiu elekteblo estas EKSPERIMENTA!" #: src/settings_translation_file.cpp msgid "World-aligned textures mode" -msgstr "" +msgstr "Reĝimo de monde laŭigitaj tekstruoj" #: src/settings_translation_file.cpp msgid "Y of flat ground." -msgstr "" +msgstr "Y de plata tero." #: src/settings_translation_file.cpp msgid "" @@ -6403,7 +6577,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Y-level of average terrain surface." -msgstr "" +msgstr "Y-nivelo de mezuma terena surfaco." #: src/settings_translation_file.cpp msgid "Y-level of cavern upper limit." @@ -6419,7 +6593,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Y-level of lower terrain and seabed." -msgstr "" +msgstr "Y-nivelo de malsupra tereno kaj marfundo." #: src/settings_translation_file.cpp msgid "Y-level of seabed." @@ -6427,7 +6601,7 @@ msgstr "Y-nivelo de marplanko." #: src/settings_translation_file.cpp msgid "Y-level to which floatland shadows extend." -msgstr "" +msgstr "Y-nivelo kien etendiĝas ombroj de fluginsuloj." #: src/settings_translation_file.cpp msgid "cURL file download timeout" @@ -6435,7 +6609,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "cURL parallel limit" -msgstr "" +msgstr "Samtempa limo de cURL" #: src/settings_translation_file.cpp msgid "cURL timeout" From a2054deb12900724b96af3aaab61735c38afe70f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Ne=C4=8Das?= Date: Sun, 8 Dec 2019 15:22:05 +0000 Subject: [PATCH 083/279] Translated using Weblate (Czech) Currently translated at 48.8% (622 of 1274 strings) --- po/cs/minetest.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/po/cs/minetest.po b/po/cs/minetest.po index 599f8015b..fa448aa1c 100644 --- a/po/cs/minetest.po +++ b/po/cs/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Czech (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-12-11 13:36+0000\n" +"Last-Translator: Luboš Nečas \n" "Language-Team: Czech \n" "Language: cs\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -395,7 +395,7 @@ msgstr "Hodnota nesmí být větší než $1." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X" -msgstr "" +msgstr "X" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X spread" @@ -403,7 +403,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y" -msgstr "" +msgstr "Y" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y spread" @@ -411,7 +411,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z" -msgstr "" +msgstr "Z" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z spread" From 47adcced60415de6a330ed307e0a6dfd95521bcc Mon Sep 17 00:00:00 2001 From: Petter Reinholdtsen Date: Mon, 9 Dec 2019 09:13:36 +0000 Subject: [PATCH 084/279] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 43.3% (552 of 1274 strings) --- po/nb/minetest.po | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/po/nb/minetest.po b/po/nb/minetest.po index 0e087fca1..78c4fc757 100644 --- a/po/nb/minetest.po +++ b/po/nb/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Norwegian Bokmål (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2019-12-11 13:36+0000\n" +"Last-Translator: Petter Reinholdtsen \n" "Language-Team: Norwegian Bokmål \n" "Language: nb\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -415,7 +415,7 @@ msgstr "Forvalg" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "eased" -msgstr "" +msgstr "lettet" #: builtin/mainmenu/pkgmgr.lua msgid "$1 (Enabled)" @@ -687,7 +687,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Mipmap + Aniso. Filter" -msgstr "" +msgstr "Mipkart + Aniso. filter" #: builtin/mainmenu/tab_settings.lua msgid "No" @@ -699,7 +699,7 @@ msgstr "Inget filter" #: builtin/mainmenu/tab_settings.lua msgid "No Mipmap" -msgstr "" +msgstr "Intet Mipkart" #: builtin/mainmenu/tab_settings.lua msgid "Node Highlighting" @@ -5362,6 +5362,8 @@ msgid "" "Set to true enables waving leaves.\n" "Requires shaders to be enabled." msgstr "" +"Aktiver for å slå på bølgende blader.\n" +"Krever at dybdeskapere er aktivert." #: src/settings_translation_file.cpp msgid "" From 140245c58de8656835bd05bf601d48a499f5f44b Mon Sep 17 00:00:00 2001 From: Tirifto Date: Sun, 15 Dec 2019 14:33:42 +0000 Subject: [PATCH 085/279] Translated using Weblate (Esperanto) Currently translated at 97.2% (1238 of 1274 strings) --- po/eo/minetest.po | 86 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 26 deletions(-) diff --git a/po/eo/minetest.po b/po/eo/minetest.po index 4084d1426..8d866686a 100644 --- a/po/eo/minetest.po +++ b/po/eo/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Esperanto (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-12-11 13:36+0000\n" +"PO-Revision-Date: 2019-12-16 22:21+0000\n" "Last-Translator: Tirifto \n" "Language-Team: Esperanto \n" @@ -2587,7 +2587,8 @@ msgstr "Difinas la profundecon de la rivera akvovojo." #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." msgstr "" -"Difinas maksimuman distancon de ludanta moviĝo en monderoj (0 = senlima)." +"Difinas plejgrandan distancon por transsendo de ludantoj, en monderoj (0 = " +"senlima)." #: src/settings_translation_file.cpp msgid "Defines the width of the river channel." @@ -2985,7 +2986,7 @@ msgstr "Fiksa mapa greno" #: src/settings_translation_file.cpp msgid "Fixed virtual joystick" -msgstr "" +msgstr "Fiksita virtuala stirstango" #: src/settings_translation_file.cpp msgid "Floatland base height noise" @@ -3264,7 +3265,7 @@ msgstr "Varmeca bruo" #: src/settings_translation_file.cpp msgid "Height component of the initial window size." -msgstr "Alteca parto de la komenca grando de la fenestro." +msgstr "Alteco de la fenestro je ĝia komenca grando." #: src/settings_translation_file.cpp msgid "Height noise" @@ -3599,6 +3600,9 @@ msgid "" "limited\n" "to this distance from the player to the node." msgstr "" +"Se la limigo de klient-flankaj modifaĵoj por mondera distanco ŝaltiĝas, " +"vokoj\n" +"al get_node limiĝas al ĉi tiu distanco inter la ludanto kaj la mondero." #: src/settings_translation_file.cpp msgid "" @@ -4569,6 +4573,9 @@ msgid "" "updated over\n" "network." msgstr "" +"Longeco de servila agociklo, kaj la intervalo dum kiu objektoj ĝenerale " +"ĝisdatiĝas\n" +"trans la reto." #: src/settings_translation_file.cpp msgid "Length of time between Active Block Modifier (ABM) execution cycles" @@ -4580,7 +4587,7 @@ msgstr "Tempodaŭro inter rulaj cikloj de NodeTimer" #: src/settings_translation_file.cpp msgid "Length of time between active block management cycles" -msgstr "" +msgstr "Daŭro inter cikloj de aktiva administrado de monderoj" #: src/settings_translation_file.cpp msgid "" @@ -4620,11 +4627,11 @@ msgstr "Akreco de heleco" #: src/settings_translation_file.cpp msgid "Limit of emerge queues on disk" -msgstr "" +msgstr "Limo de viceroj enlegotaj de disko" #: src/settings_translation_file.cpp msgid "Limit of emerge queues to generate" -msgstr "" +msgstr "Limo de viceroj estigotaj" #: src/settings_translation_file.cpp msgid "" @@ -4660,11 +4667,11 @@ msgstr "Glatigo de fluida flueco" #: src/settings_translation_file.cpp msgid "Liquid loop max" -msgstr "" +msgstr "Plejgrando de fluaĵa ciklo" #: src/settings_translation_file.cpp msgid "Liquid queue purge time" -msgstr "" +msgstr "Tempo antaŭ vakigo de fluaĵa atendovico" #: src/settings_translation_file.cpp msgid "Liquid sinking" @@ -4676,7 +4683,7 @@ msgstr "Intervalo inter ĝisdatigoj de fluaĵoj (en sekundoj)." #: src/settings_translation_file.cpp msgid "Liquid update tick" -msgstr "" +msgstr "Longeco de fluaĵa agociklo" #: src/settings_translation_file.cpp msgid "Load the game profiler" @@ -4892,11 +4899,11 @@ msgstr "Senda distanco de mondopecoj" #: src/settings_translation_file.cpp msgid "Max liquids processed per step." -msgstr "" +msgstr "Plejmulto da fluaĵoj traktataj en unu paŝo." #: src/settings_translation_file.cpp msgid "Max. clearobjects extra blocks" -msgstr "" +msgstr "Plejgrando da ekstraj mondopecoj por «clearobjects»" #: src/settings_translation_file.cpp msgid "Max. packets per iteration" @@ -4958,7 +4965,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Maximum number of forceloaded mapblocks." -msgstr "" +msgstr "Plejgranda nombro de perforte enlegitaj mondopecoj." #: src/settings_translation_file.cpp msgid "" @@ -5069,7 +5076,7 @@ msgstr "Etmapigo" #: src/settings_translation_file.cpp msgid "Mod channels" -msgstr "" +msgstr "Kanaloj por modifaĵoj" #: src/settings_translation_file.cpp msgid "Modifies the size of the hudbar elements." @@ -5190,7 +5197,7 @@ msgstr "Emfazado de monderoj" #: src/settings_translation_file.cpp msgid "NodeTimer interval" -msgstr "" +msgstr "Intervalo de NodeTimer" #: src/settings_translation_file.cpp msgid "Noises" @@ -5224,6 +5231,22 @@ msgid "" "processes, especially in singleplayer and/or when running Lua code in\n" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" +"Nombro de uzotaj fadenoj enlegontaj.\n" +"AVERTO: Nun ekzistas pluraj eraroj, kiuj povus estigi kolapson kiam\n" +"«num_emerge_threads» pli grandas ol 1. Ĝis ĉi tiu averto foriĝos, ni\n" +"forte rekomendas ke ĉi tiu valoro restu je la norma «1».\n" +"Valoro 0:\n" +"- Memaga elekto. La nombro de fadenoj enlegontaj estos\n" +"- 'nombro de datentraktiloj - 2', kun suba limo de 1.\n" +"Ĉiu alia valoro:\n" +"- Precizigas la nombron de fadenoj enlegontaj, kun suba limo de 1.\n" +"AVERTO: Pligrandigo de la nombro de fadenoj enlegontaj plirapidigas " +"mondestigon,\n" +"sed povas malrapidigi la ludon per ĝenado de aliaj programoj, precipe en " +"reĝimo\n" +"por unu ludanto, kaj/aŭ dum rulado de Lua-kodo en «on_generated». Por " +"multaj\n" +"uzantoj, la optimuma agordo eble estos «1»." #: src/settings_translation_file.cpp msgid "" @@ -5270,9 +5293,8 @@ msgid "Parallax occlusion" msgstr "Paralaksa ombrigo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Parallax occlusion bias" -msgstr "Paralaksa Okludo" +msgstr "Ekarto de paralaksa okludo" #: src/settings_translation_file.cpp msgid "Parallax occlusion iterations" @@ -5338,7 +5360,7 @@ msgstr "Nomo de ludanto" #: src/settings_translation_file.cpp msgid "Player transfer distance" -msgstr "" +msgstr "Distanco por transsendo de ludantoj" #: src/settings_translation_file.cpp msgid "Player versus player" @@ -5928,7 +5950,7 @@ msgstr "Alternativo bruo de tereno" #: src/settings_translation_file.cpp msgid "Terrain base noise" -msgstr "" +msgstr "Bruo de terena bazo" #: src/settings_translation_file.cpp msgid "Terrain height" @@ -6005,7 +6027,7 @@ msgstr "La profundeco de tero aŭ alia surfaca klimata plenigilo." #: src/settings_translation_file.cpp msgid "" "The file path relative to your worldpath in which profiles will be saved to." -msgstr "" +msgstr "La dosierindiko relativa al via mondoindiko, kien konserviĝos profiloj." #: src/settings_translation_file.cpp msgid "The identifier of the joystick to use" @@ -6017,7 +6039,7 @@ msgstr "Longeco (en bilderoj) necesa por komenco de interago kun tuŝekrano." #: src/settings_translation_file.cpp msgid "The network interface that the server listens on." -msgstr "" +msgstr "La reta interfaco kie la servilo aŭskultas." #: src/settings_translation_file.cpp msgid "" @@ -6082,6 +6104,9 @@ msgid "" "capacity until an attempt is made to decrease its size by dumping old queue\n" "items. A value of 0 disables the functionality." msgstr "" +"Tempo (en sekundoj) dum kiu atendovico de fluaĵoj povas superkreski\n" +"la datentraktan kapablon, ĝis oni provos ĝin malgrandigi per forĵeto de\n" +"malnovaj viceroj. Nula valoro malŝaltas la funkcion." #: src/settings_translation_file.cpp msgid "" @@ -6136,7 +6161,7 @@ msgstr "Tagtempo kiam nova mondo ekas, en hormilonoj (0–23999)." #: src/settings_translation_file.cpp msgid "Time send interval" -msgstr "" +msgstr "Intervalo de sendado de tempaj informoj" #: src/settings_translation_file.cpp msgid "Time speed" @@ -6219,7 +6244,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" -msgstr "" +msgstr "Senlima distanco por transsendo de ludantoj" #: src/settings_translation_file.cpp msgid "Unload unused server data" @@ -6362,7 +6387,7 @@ msgstr "Vidodistanco" #: src/settings_translation_file.cpp msgid "Virtual joystick triggers aux button" -msgstr "" +msgstr "Virtuala stirstango premas specialan klavon" #: src/settings_translation_file.cpp msgid "Volume" @@ -6376,6 +6401,11 @@ msgid "" "Has no effect on 3D fractals.\n" "Range roughly -2 to 2." msgstr "" +"W-koordinato de la estigita 3D-tranĉo de la 4D-fraktalo.\n" +"Determinas kiu 3D-tranĉo de la 4D-formo estiĝas.\n" +"ŝanĝas la formon de la fraktalo.\n" +"Neniel efikas sur 3D-fraktaloj.\n" +"Ampleksa proksimume de -2 ĝis 2." #: src/settings_translation_file.cpp msgid "Walking and flying speed, in nodes per second." @@ -6512,7 +6542,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Width component of the initial window size." -msgstr "" +msgstr "Larĝeco de la fenestro je ĝia komenca grando." #: src/settings_translation_file.cpp msgid "Width of the selection box lines around nodes." @@ -6532,6 +6562,8 @@ msgid "" "World directory (everything in the world is stored here).\n" "Not needed if starting from the main menu." msgstr "" +"Monda dosierujo (ĉio en la mondo konserviĝos ĉi tie).\n" +"Ne necesas dum komenco el la ĉefmenuo." #: src/settings_translation_file.cpp msgid "World start time" @@ -6566,6 +6598,8 @@ msgid "" "Y of mountain density gradient zero level. Used to shift mountains " "vertically." msgstr "" +"Y de nula nivelo de la transiro de monta denseco. Uzata por movi montojn " +"vertikale." #: src/settings_translation_file.cpp msgid "Y of upper limit of large caves." @@ -6589,7 +6623,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Y-level of higher terrain that creates cliffs." -msgstr "" +msgstr "Y-nivelo de pli alta tereno, kiu estigas krutaĵojn." #: src/settings_translation_file.cpp msgid "Y-level of lower terrain and seabed." From 1c49e2ffc016a2e883c13733c65e9a91381b813d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81cs=20Zolt=C3=A1n?= Date: Sun, 15 Dec 2019 16:02:25 +0000 Subject: [PATCH 086/279] Translated using Weblate (Hungarian) Currently translated at 61.9% (789 of 1274 strings) --- po/hu/minetest.po | 235 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 179 insertions(+), 56 deletions(-) diff --git a/po/hu/minetest.po b/po/hu/minetest.po index 93ad4bab3..5d481929f 100644 --- a/po/hu/minetest.po +++ b/po/hu/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Hungarian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2019-12-16 22:21+0000\n" +"Last-Translator: Ács Zoltán \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -96,8 +96,9 @@ msgid "Disable all" msgstr "Összes letiltása" #: builtin/mainmenu/dlg_config_world.lua +#, fuzzy msgid "Disable modpack" -msgstr "Modok letíltása" +msgstr "Modok letiltása" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" @@ -410,8 +411,9 @@ msgid "Z spread" msgstr "Z méret" #: builtin/mainmenu/dlg_settings_advanced.lua +#, fuzzy msgid "absvalue" -msgstr "" +msgstr "abszolút érték" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "defaults" @@ -1796,32 +1798,37 @@ msgstr "" "1 = relief mapping (lassabb, pontosabb)." #: src/settings_translation_file.cpp +#, fuzzy msgid "2D noise that controls the shape/size of ridged mountains." -msgstr "" +msgstr "2D zaj, amely szabályozza a méretét/alakját a hegységeknek" #: src/settings_translation_file.cpp +#, fuzzy msgid "2D noise that controls the shape/size of rolling hills." -msgstr "" +msgstr "2D zaj, amely szabályozza a méretét/alakját a domboknak" #: src/settings_translation_file.cpp msgid "2D noise that controls the shape/size of step mountains." msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "2D noise that controls the size/occurrence of ridged mountain ranges." -msgstr "" +msgstr "2D zaj, amely szabályozza az előfordulását/méretét a hegységeknek" #: src/settings_translation_file.cpp +#, fuzzy msgid "2D noise that controls the size/occurrence of rolling hills." -msgstr "" +msgstr "2D zaj, amely szabályozza az előfordulását/méretét a domboknak" #: src/settings_translation_file.cpp msgid "2D noise that controls the size/occurrence of step mountain ranges." msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "2D noise that locates the river valleys and channels." -msgstr "" +msgstr "2D zaj, amely szabályozza az elhelyezkedését a folyómedreknek" #: src/settings_translation_file.cpp msgid "3D clouds" @@ -1857,8 +1864,9 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations." msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "3D noise that determines number of dungeons per mapchunk." -msgstr "" +msgstr "3D-s zaj, amely meghatározza a tömlöcök számát egy mapchunkonként." #: src/settings_translation_file.cpp #, fuzzy @@ -1912,8 +1920,9 @@ msgid "Acceleration in air" msgstr "Gyorsulás levegőben" #: src/settings_translation_file.cpp +#, fuzzy msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Gravitációs gyorsulás, csomópontokban másodpercenként." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2005,26 +2014,32 @@ msgid "Announce to this serverlist." msgstr "Szerver kihirdetése ERRE a szerverlistára." #: src/settings_translation_file.cpp +#, fuzzy msgid "Append item name" -msgstr "" +msgstr "Elem nevének hozzáadása" #: src/settings_translation_file.cpp +#, fuzzy msgid "Append item name to tooltip." -msgstr "" +msgstr "Adja hozzá az elem nevét az eszköztipphez." #: src/settings_translation_file.cpp msgid "Apple trees noise" msgstr "Almafa zaj" #: src/settings_translation_file.cpp +#, fuzzy msgid "Arm inertia" -msgstr "" +msgstr "Kar tehetetlenség" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Arm inertia, gives a more realistic movement of\n" "the arm when the camera moves." msgstr "" +"A kar tehetetlensége reálisabb mozgást biztosít\n" +"a karnak, amikor a kamera mozog." #: src/settings_translation_file.cpp msgid "Ask to reconnect after crash" @@ -2060,8 +2075,9 @@ msgid "Automatic forward key" msgstr "automata Előre gomb" #: src/settings_translation_file.cpp +#, fuzzy msgid "Automatically jump up single-node obstacles." -msgstr "" +msgstr "Automatikusan felugrik egy blokk magas akadályokra." #: src/settings_translation_file.cpp msgid "Automatically report to the serverlist." @@ -2072,8 +2088,9 @@ msgid "Autosave screen size" msgstr "Képernyőméret automatikus mentése" #: src/settings_translation_file.cpp +#, fuzzy msgid "Autoscaling mode" -msgstr "" +msgstr "Automatikus méretezés mód" #: src/settings_translation_file.cpp msgid "Backward key" @@ -2209,6 +2226,7 @@ msgid "Center of light curve mid-boost." msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Changes the main menu UI:\n" "- Full: Multiple singleplayer worlds, game choice, texture pack chooser, " @@ -2217,6 +2235,11 @@ msgid "" "be\n" "necessary for smaller screens." msgstr "" +"Megváltoztatja a főmenü felhasználói felületét:\n" +"- Teljes: Több egyjátékos világ, játékválasztás, textúracsomag-választó stb." +"\n" +"- Egyszerű: Egy egyjátékos világ, nincs játék- vagy textúracsomag-választó.\n" +"Szükséges lehet a kisebb képernyőkhöz." #: src/settings_translation_file.cpp msgid "Chat key" @@ -2238,7 +2261,7 @@ msgstr "Sivatag zajának küszöbszintje" #: src/settings_translation_file.cpp msgid "Chat message max length" -msgstr "" +msgstr "Chat üzenet maximális hossza" #: src/settings_translation_file.cpp msgid "Chat toggle key" @@ -2400,8 +2423,9 @@ msgstr "" "változatlan marad." #: src/settings_translation_file.cpp +#, fuzzy msgid "Controls sinking speed in liquid." -msgstr "" +msgstr "Folyadékban a süllyedési sebességet szabályozza." #: src/settings_translation_file.cpp msgid "Controls steepness/depth of lake depressions." @@ -2480,8 +2504,9 @@ msgid "Dec. volume key" msgstr "Hangerő csökk. gomb" #: src/settings_translation_file.cpp +#, fuzzy msgid "Decrease this to increase liquid resistence to movement." -msgstr "" +msgstr "Csökkentse ezt a folyadék mozgásállóságának növelése érdekében." #: src/settings_translation_file.cpp msgid "Dedicated server step" @@ -2660,8 +2685,9 @@ msgstr "" "Ha az új biome rendszer engedélyezve van, akkor ez mellőzésre kerül." #: src/settings_translation_file.cpp +#, fuzzy msgid "Desynchronize block animation" -msgstr "" +msgstr "Blokk animáció deszinkronizálása" #: src/settings_translation_file.cpp msgid "Digging particles" @@ -2697,12 +2723,14 @@ msgid "Dump the mapgen debug information." msgstr "A térkép-előállítás hibakeresési információinak kiírása." #: src/settings_translation_file.cpp +#, fuzzy msgid "Dungeon maximum Y" -msgstr "" +msgstr "Tömlöc maximális Y magassága" #: src/settings_translation_file.cpp +#, fuzzy msgid "Dungeon minimum Y" -msgstr "" +msgstr "Tömlöc minimális Y magassága" #: src/settings_translation_file.cpp #, fuzzy @@ -2754,14 +2782,18 @@ msgstr "" "használható)." #: src/settings_translation_file.cpp +#, fuzzy msgid "Enable register confirmation" -msgstr "" +msgstr "Regisztermegerősítés engedélyezése" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Enable register confirmation when connecting to server.\n" "If disabled, new account will be registered automatically." msgstr "" +"Engedélyezze a regisztráció megerősítését, amikor csatlakozik a szerverhez.\n" +"Letiltás esetén az új fiók automatikusan regisztrálásra kerül." #: src/settings_translation_file.cpp msgid "" @@ -2828,8 +2860,9 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Enables caching of facedir rotated meshes." -msgstr "" +msgstr "Engedélyezi az elforgatott rácsvonalak gyorsítótárazását." #: src/settings_translation_file.cpp msgid "Enables filmic tone mapping" @@ -2858,8 +2891,9 @@ msgid "Engine profiling data print interval" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Entity methods" -msgstr "" +msgstr "Egység módszerek" #: src/settings_translation_file.cpp msgid "" @@ -2878,8 +2912,9 @@ msgid "FSAA" msgstr "FSAA" #: src/settings_translation_file.cpp +#, fuzzy msgid "Factor noise" -msgstr "" +msgstr "Tényezőzaj" #: src/settings_translation_file.cpp msgid "Fall bobbing factor" @@ -2982,32 +3017,37 @@ msgid "Fixed map seed" msgstr "lezárt pálya-generáló kód" #: src/settings_translation_file.cpp +#, fuzzy msgid "Fixed virtual joystick" -msgstr "" +msgstr "Rögzített virtuális joystick" #: src/settings_translation_file.cpp +#, fuzzy msgid "Floatland base height noise" -msgstr "" +msgstr "A lebegő hegyek alapmagassága" #: src/settings_translation_file.cpp +#, fuzzy msgid "Floatland base noise" -msgstr "" +msgstr "A lebegő hegyek alapzaja" #: src/settings_translation_file.cpp msgid "Floatland level" msgstr "Lebegő föld szintje" #: src/settings_translation_file.cpp +#, fuzzy msgid "Floatland mountain density" -msgstr "" +msgstr "Lebegő hegyek sűrűsége" #: src/settings_translation_file.cpp msgid "Floatland mountain exponent" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Floatland mountain height" -msgstr "" +msgstr "Lebegő hegyek magassága" #: src/settings_translation_file.cpp msgid "Fly key" @@ -3054,11 +3094,15 @@ msgid "Font size" msgstr "Betűtípus mérete" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Format of player chat messages. The following strings are valid " "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" +"A játékos csevegési üzeneteinek formátuma. A következő karakterláncok " +"érvényesek:\n" +"@ név, @ üzenet, @ időbélyeg (opcionális)" #: src/settings_translation_file.cpp msgid "Format of screenshots." @@ -3182,8 +3226,9 @@ msgid "Generate normalmaps" msgstr "Normálfelületek generálása" #: src/settings_translation_file.cpp +#, fuzzy msgid "Global callbacks" -msgstr "" +msgstr "Globális visszahívások" #: src/settings_translation_file.cpp #, fuzzy @@ -3240,12 +3285,19 @@ msgid "HUD toggle key" msgstr "HUD váltás gomb" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Handling for deprecated lua api calls:\n" "- legacy: (try to) mimic old behaviour (default for release).\n" "- log: mimic and log backtrace of deprecated call (default for debug).\n" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" +"Az elavult lua API hívások kezelése:\n" +"-örökölt: (próbálja meg) a régi viselkedést utánozni (alapértelmezett).\n" +"-log: elavult hívás visszakövetése és naplózása (hibakereséshez " +"alapértelmezett).\n" +"-error: Megszakítja az elavult hívás használatát (javasolt a mod " +"fejlesztőknek)." #: src/settings_translation_file.cpp msgid "" @@ -3257,12 +3309,14 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Heat blend noise" -msgstr "" +msgstr "Hőkevert zaj" #: src/settings_translation_file.cpp +#, fuzzy msgid "Heat noise" -msgstr "" +msgstr "Hőzaj" #: src/settings_translation_file.cpp msgid "Height component of the initial window size." @@ -3273,8 +3327,9 @@ msgid "Height noise" msgstr "Magasság zaj" #: src/settings_translation_file.cpp +#, fuzzy msgid "Height select noise" -msgstr "" +msgstr "A magasságot választó zaj" #: src/settings_translation_file.cpp msgid "High-precision FPU" @@ -3309,30 +3364,39 @@ msgid "Homepage of server, to be displayed in the serverlist." msgstr "A szerver honlapja, ami a szerverlistában megjelenik." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Horizontal acceleration in air when jumping or falling,\n" "in nodes per second per second." msgstr "" +"Vízszintes gyorsulás a levegőben ugráskor vagy leeséskor,\n" +"blokk/másodpercben" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Horizontal and vertical acceleration in fast mode,\n" "in nodes per second per second." msgstr "" +"Vízszintes és függőleges gyorsulás gyors módban,\n" +"blokk/másodpercben." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Horizontal and vertical acceleration on ground or when climbing,\n" "in nodes per second per second." -msgstr "" +msgstr "Vízszintes és függőleges gyorsulás a földön, blokk/másodpercben." #: src/settings_translation_file.cpp +#, fuzzy msgid "Hotbar next key" -msgstr "" +msgstr "Gyorsgomb következő gomb" #: src/settings_translation_file.cpp +#, fuzzy msgid "Hotbar previous key" -msgstr "" +msgstr "Gyorsgomb előző gomb" #: src/settings_translation_file.cpp msgid "Hotbar slot 1 key" @@ -3483,15 +3547,17 @@ msgstr "Milyen szélesek legyenek a folyók" #: src/settings_translation_file.cpp msgid "Humidity blend noise" -msgstr "" +msgstr "Páratartalom keverék zaj" #: src/settings_translation_file.cpp +#, fuzzy msgid "Humidity noise" -msgstr "" +msgstr "Páratartalomzaj" #: src/settings_translation_file.cpp +#, fuzzy msgid "Humidity variation for biomes." -msgstr "" +msgstr "Páratartalom-változás a biomokban." #: src/settings_translation_file.cpp msgid "IPv6" @@ -3554,10 +3620,13 @@ msgstr "" "\"lopakodás\" (sneak) helyett lefelé mászáskor, vagy ereszkedéskor." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "If enabled, actions are recorded for rollback.\n" "This option is only read when server starts." msgstr "" +"Ha engedélyezve van, akkor a műveleteket rögzíti a visszagörgetéshez.\n" +"Ez az opció csak akkor olvasható, amikor a szerver elindul." #: src/settings_translation_file.cpp msgid "If enabled, disable cheat prevention in multiplayer." @@ -3641,8 +3710,9 @@ msgid "Inc. volume key" msgstr "Hangerő növ. gomb" #: src/settings_translation_file.cpp +#, fuzzy msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "" +msgstr "Kezdeti függőleges sebesség ugráskor, blokk/másodpercben." #: src/settings_translation_file.cpp msgid "" @@ -3651,8 +3721,9 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Instrument chatcommands on registration." -msgstr "" +msgstr "Chat-parancsok a regisztrációkor." #: src/settings_translation_file.cpp msgid "" @@ -3704,20 +3775,28 @@ msgid "Invert vertical mouse movement." msgstr "Függőleges egérmozgás invertálása." #: src/settings_translation_file.cpp +#, fuzzy msgid "Item entity TTL" -msgstr "" +msgstr "Elem entitás TTL" #: src/settings_translation_file.cpp +#, fuzzy msgid "Iterations" -msgstr "" +msgstr "Ismétlések" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Iterations of the recursive function.\n" "Increasing this increases the amount of fine detail, but also\n" "increases processing load.\n" "At iterations = 20 this mapgen has a similar load to mapgen V7." msgstr "" +"A rekurzív funkció ismétlései.\n" +"Ennek növelése növeli a finom részletek mennyiségét és\n" +"növeli a feldolgozási terhet.\n" +" 20 ismétléseknél ez a térképgeneráló hasonló terheléssel rendelkezik, mint " +"a V7." #: src/settings_translation_file.cpp msgid "Joystick ID" @@ -3737,6 +3816,7 @@ msgid "Joystick type" msgstr "Botkormány tipus" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Julia set only.\n" "W component of hypercomplex constant.\n" @@ -3744,30 +3824,50 @@ msgid "" "Has no effect on 3D fractals.\n" "Range roughly -2 to 2." msgstr "" +"Julia-halmaz.\n" +"W komponens hiperkomplex állandó.\n" +"Megváltoztatja a fraktál alakját.\n" +"Nincs hatása a 3D Fraktálok.\n" +"Tartomány nagyjából -2 és 2 között." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Julia set only.\n" "X component of hypercomplex constant.\n" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" +"Julia-halmaz.\n" +"X komponens hiperkomplex állandó.\n" +"Megváltoztatja a fraktál alakját.\n" +"Tartomány nagyjából -2 és 2 között." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Julia set only.\n" "Y component of hypercomplex constant.\n" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" +"Julia-halmaz.\n" +"Y komponens hiperkomplex állandó.\n" +"Megváltoztatja a fraktál alakját.\n" +"Tartomány nagyjából -2 és 2 között." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Julia set only.\n" "Z component of hypercomplex constant.\n" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" +"Julia-halmaz.\n" +"Z komponens hiperkomplex konstans.\n" +"Megváltoztatja a fraktál alakját.\n" +"Tartomány nagyjából -2 és 2 között." #: src/settings_translation_file.cpp msgid "Julia w" @@ -4530,8 +4630,11 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp +#, fuzzy msgid "Kick players who sent more than X messages per 10 seconds." msgstr "" +"Rúgja ki azokat a játékosokat, akik 10 másodpercenként több mint X üzenetet " +"küldtek." #: src/settings_translation_file.cpp #, fuzzy @@ -4590,8 +4693,9 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Length of time between Active Block Modifier (ABM) execution cycles" -msgstr "" +msgstr "Az Aktív Blokk módosító (ABM) végrehajtási ciklusok közötti időtartam" #: src/settings_translation_file.cpp msgid "Length of time between NodeTimer execution cycles" @@ -4602,6 +4706,7 @@ msgid "Length of time between active block management cycles" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Level of logging to be written to debug.txt:\n" "- (no logging)\n" @@ -4612,6 +4717,14 @@ msgid "" "- info\n" "- verbose" msgstr "" +"A Debug. txt fájlba írandó naplózási szint:\n" +"-semmi (nincs naplózás)\n" +"-minimális (szint nélküli üzenetek)\n" +"-hiba\n" +"-figyelmeztetés\n" +"-cselekvés\n" +"-információ\n" +"-fecsegő" #: src/settings_translation_file.cpp msgid "Light curve mid boost" @@ -4626,8 +4739,9 @@ msgid "Light curve mid boost spread" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Lightness sharpness" -msgstr "" +msgstr "Fényélesség" #: src/settings_translation_file.cpp msgid "Limit of emerge queues on disk" @@ -4662,8 +4776,9 @@ msgid "Liquid fluidity smoothing" msgstr "Folyadék folyékonyságának simítása" #: src/settings_translation_file.cpp +#, fuzzy msgid "Liquid loop max" -msgstr "" +msgstr "Folyadékhullám Max" #: src/settings_translation_file.cpp msgid "Liquid queue purge time" @@ -4675,16 +4790,18 @@ msgid "Liquid sinking" msgstr "Folyadék süllyedés" #: src/settings_translation_file.cpp +#, fuzzy msgid "Liquid update interval in seconds." -msgstr "" +msgstr "A folyadékok frissítési időköze másodpercben." #: src/settings_translation_file.cpp msgid "Liquid update tick" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Load the game profiler" -msgstr "" +msgstr "Töltse be a játék profilját" #: src/settings_translation_file.cpp msgid "" @@ -4699,8 +4816,9 @@ msgid "Loading Block Modifiers" msgstr "Aktív blokk módosító időköze" #: src/settings_translation_file.cpp +#, fuzzy msgid "Lower Y limit of dungeons." -msgstr "" +msgstr "A tömlöcök alsó Y határa." #: src/settings_translation_file.cpp msgid "Main menu script" @@ -4724,8 +4842,9 @@ msgstr "" "problémákat okoz." #: src/settings_translation_file.cpp +#, fuzzy msgid "Makes all liquids opaque" -msgstr "" +msgstr "Az összes folyadékot átlátszatlanná teszi" #: src/settings_translation_file.cpp msgid "Map directory" @@ -4901,8 +5020,9 @@ msgid "Mapgen debug" msgstr "Térkép generátor hibakereső" #: src/settings_translation_file.cpp +#, fuzzy msgid "Mapgen flags" -msgstr "" +msgstr "Térképgeneráló zászlók" #: src/settings_translation_file.cpp msgid "Mapgen name" @@ -4913,8 +5033,9 @@ msgid "Max block generate distance" msgstr "Max blokk generálási távolság" #: src/settings_translation_file.cpp +#, fuzzy msgid "Max block send distance" -msgstr "" +msgstr "Maximális blokkküldési távolság" #: src/settings_translation_file.cpp msgid "Max liquids processed per step." @@ -4925,8 +5046,9 @@ msgid "Max. clearobjects extra blocks" msgstr "" #: src/settings_translation_file.cpp +#, fuzzy msgid "Max. packets per iteration" -msgstr "" +msgstr "Max csomag ismétlésenként" #: src/settings_translation_file.cpp msgid "Maximum FPS" @@ -4937,8 +5059,9 @@ msgid "Maximum FPS when game is paused." msgstr "Maximum FPS a játék szüneteltetésekor." #: src/settings_translation_file.cpp +#, fuzzy msgid "Maximum forceloaded blocks" -msgstr "" +msgstr "A maximálisan terhelt blokkok" #: src/settings_translation_file.cpp msgid "Maximum hotbar width" From 859ea160e63be3c0eee97e00f7e4ae0c89154f8e Mon Sep 17 00:00:00 2001 From: Yangjun Wang Date: Sat, 14 Dec 2019 16:02:37 +0000 Subject: [PATCH 087/279] Translated using Weblate (Chinese (Simplified)) Currently translated at 63.2% (805 of 1274 strings) --- po/zh_CN/minetest.po | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po index e723e35b2..7d282ac18 100644 --- a/po/zh_CN/minetest.po +++ b/po/zh_CN/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2019-12-16 22:21+0000\n" +"Last-Translator: Yangjun Wang \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -25,7 +25,7 @@ msgstr "您已死亡" #: builtin/fstk/ui.lua #, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Lua 脚本发生错误,如一个 mod:" +msgstr "Lua 脚本发生错误:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -118,7 +118,7 @@ msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua #, fuzzy msgid "No (optional) dependencies" -msgstr "可选依赖:" +msgstr "可选依赖项:" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." @@ -127,7 +127,7 @@ msgstr "未提供游戏描述。" #: builtin/mainmenu/dlg_config_world.lua #, fuzzy msgid "No hard dependencies" -msgstr "无依赖关系." +msgstr "无依赖项." #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." @@ -136,7 +136,7 @@ msgstr "未提供mod 包描述。" #: builtin/mainmenu/dlg_config_world.lua #, fuzzy msgid "No optional dependencies" -msgstr "可选依赖:" +msgstr "可选依赖项:" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -676,9 +676,8 @@ msgid "Fancy Leaves" msgstr "华丽的树叶" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Generate Normal Maps" -msgstr "生成一般地图" +msgstr "生成普通地图" #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" @@ -1744,6 +1743,8 @@ msgid "" "(Android) Fixes the position of virtual joystick.\n" "If disabled, virtual joystick will center to first-touch's position." msgstr "" +"(Android)修复虚拟操纵杆的位置。\n" +"如果禁用,虚拟操纵杆将居中至第一次触摸的位置。" #: src/settings_translation_file.cpp msgid "" From b44fada29e84a975ce5985a23f050c6499b6b204 Mon Sep 17 00:00:00 2001 From: zaoqi Date: Sat, 21 Dec 2019 07:23:15 +0000 Subject: [PATCH 088/279] Translated using Weblate (Chinese (Simplified)) Currently translated at 65.1% (830 of 1274 strings) --- po/zh_CN/minetest.po | 57 ++++++++++++++------------------------------ 1 file changed, 18 insertions(+), 39 deletions(-) diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po index 7d282ac18..28425c0ab 100644 --- a/po/zh_CN/minetest.po +++ b/po/zh_CN/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-12-16 22:21+0000\n" -"Last-Translator: Yangjun Wang \n" +"PO-Revision-Date: 2019-12-21 23:18+0000\n" +"Last-Translator: zaoqi \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,7 +23,6 @@ msgid "You died" msgstr "您已死亡" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" msgstr "Lua 脚本发生错误:" @@ -116,16 +115,14 @@ msgid "Mod:" msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "可选依赖项:" +msgstr "无(可选)依赖项:" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "未提供游戏描述。" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" msgstr "无依赖项." @@ -134,9 +131,8 @@ msgid "No modpack description provided." msgstr "未提供mod 包描述。" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "可选依赖项:" +msgstr "无可选依赖项:" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -325,7 +321,6 @@ msgid "Enabled" msgstr "已启用" #: builtin/mainmenu/dlg_settings_advanced.lua -#, fuzzy msgid "Lacunarity" msgstr "空白" @@ -439,7 +434,6 @@ msgid "Install: Unsupported file type \"$1\" or broken archive" msgstr "安装MOD:“$1“为不支持的文件类型或已损坏" #: builtin/mainmenu/pkgmgr.lua -#, fuzzy msgid "Install: file: \"$1\"" msgstr "安装MOD:文件:”$1“" @@ -768,9 +762,8 @@ msgid "Tone Mapping" msgstr "色调映射" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Touchthreshold: (px)" -msgstr "触控阈值(像素)" +msgstr "触控阈值(px)" #: builtin/mainmenu/tab_settings.lua msgid "Trilinear Filter" @@ -781,9 +774,8 @@ msgid "Waving Leaves" msgstr "飘动的树叶" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "摇动节点" +msgstr "摇动流体" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -910,12 +902,10 @@ msgid "- Server Name: " msgstr "- 服务器名称: " #: src/client/game.cpp -#, fuzzy msgid "Automatic forward disabled" msgstr "自动转发已禁用" #: src/client/game.cpp -#, fuzzy msgid "Automatic forward enabled" msgstr "自动转发已启用" @@ -997,7 +987,6 @@ msgid "Debug info and profiler graph hidden" msgstr "隐藏的调试信息和 Profiler 图" #: src/client/game.cpp -#, fuzzy msgid "Debug info shown" msgstr "调试信息切换键" @@ -1167,15 +1156,15 @@ msgstr "开" #: src/client/game.cpp msgid "Pitch move mode disabled" -msgstr "" +msgstr "Pitch移动模式已禁用" #: src/client/game.cpp msgid "Pitch move mode enabled" -msgstr "" +msgstr "Pitch移动模式已禁用" #: src/client/game.cpp msgid "Profiler graph shown" -msgstr "" +msgstr "显示Profiler图" #: src/client/game.cpp msgid "Remote server" @@ -1260,14 +1249,13 @@ msgstr "隐藏分析器" #: src/client/gameui.cpp #, c-format msgid "Profiler shown (page %d of %d)" -msgstr "" +msgstr "显示Profiler (第 %d 页 共 %d 页)" #: src/client/keycode.cpp msgid "Apps" msgstr "应用" #: src/client/keycode.cpp -#, fuzzy msgid "Backspace" msgstr "退格" @@ -1532,7 +1520,7 @@ msgid "Register and Join" msgstr "注册并加入" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1540,8 +1528,7 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"这是你第一次用“%2$s”加入服务器“%1$s”。 如果要继续,一个新的用户信息将在服务器" -"上创建。\n" +"这是你第一次用“%s”加入服务器。 如果要继续,一个新的用户将在服务器上创建。\n" "请重新输入你的密码然后点击“注册”或点击“取消”。" #: src/gui/guiFormSpecMenu.cpp @@ -1583,9 +1570,8 @@ msgid "Console" msgstr "控制台" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Dec. range" -msgstr "可视范围" +msgstr "减少可视范围" #: src/gui/guiKeyChangeMenu.cpp msgid "Dec. volume" @@ -1604,9 +1590,8 @@ msgid "Forward" msgstr "向前" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Inc. range" -msgstr "可视范围" +msgstr "增加可视范围" #: src/gui/guiKeyChangeMenu.cpp msgid "Inc. volume" @@ -1657,19 +1642,16 @@ msgid "Sneak" msgstr "潜行" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Special" msgstr "特别" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle HUD" -msgstr "切换飞行模式" +msgstr "切换HUD" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle chat log" -msgstr "切换快速移动模式" +msgstr "聊天记录开关" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle fast" @@ -1680,9 +1662,8 @@ msgid "Toggle fly" msgstr "切换飞行模式" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle fog" -msgstr "切换飞行模式" +msgstr "切换快速移动" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle minimap" @@ -1693,7 +1674,6 @@ msgid "Toggle noclip" msgstr "切换穿墙模式" #: src/gui/guiKeyChangeMenu.cpp -#, fuzzy msgid "Toggle pitchmove" msgstr "切换快速移动模式" @@ -1722,7 +1702,6 @@ msgid "Exit" msgstr "退出" #: src/gui/guiVolumeChange.cpp -#, fuzzy msgid "Muted" msgstr "静音" From 0d089eab2104ab1909b752096cc07b7035024f54 Mon Sep 17 00:00:00 2001 From: abidin toumi Date: Sun, 22 Dec 2019 07:33:02 +0000 Subject: [PATCH 089/279] Translated using Weblate (Arabic) Currently translated at 6.0% (77 of 1274 strings) --- po/ar/minetest.po | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/po/ar/minetest.po b/po/ar/minetest.po index 44d3abba4..d886b2cfa 100644 --- a/po/ar/minetest.po +++ b/po/ar/minetest.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-27 20:04+0000\n" +"PO-Revision-Date: 2019-12-23 08:21+0000\n" "Last-Translator: abidin toumi \n" "Language-Team: Arabic \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" @@ -747,7 +747,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "All Settings" -msgstr "" +msgstr "كل الإعدادات" #: builtin/mainmenu/tab_settings.lua msgid "Touchthreshold: (px)" @@ -763,7 +763,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Generate Normal Maps" -msgstr "" +msgstr "ولِد خرائط عادية" #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Parallax Occlusion" @@ -787,7 +787,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Settings" -msgstr "" +msgstr "إعدادات" #: builtin/mainmenu/tab_simple_main.lua msgid "Start Singleplayer" @@ -803,7 +803,7 @@ msgstr "" #: src/client/client.cpp msgid "Connection timed out." -msgstr "" +msgstr "انتهت مهلة الاتصال." #: src/client/client.cpp msgid "Loading textures..." From 1102b1fc4c33c3a5b266cae4826c6dd9dfa9a9e9 Mon Sep 17 00:00:00 2001 From: Stas Kies Date: Wed, 25 Dec 2019 11:59:34 +0000 Subject: [PATCH 090/279] Translated using Weblate (German) Currently translated at 100.0% (1274 of 1274 strings) --- po/de/minetest.po | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/po/de/minetest.po b/po/de/minetest.po index 07332f945..46d023b30 100644 --- a/po/de/minetest.po +++ b/po/de/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: German (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-10-29 11:53+0000\n" -"Last-Translator: Wuzzy \n" +"PO-Revision-Date: 2019-12-26 12:21+0000\n" +"Last-Translator: Stas Kies \n" "Language-Team: German \n" "Language: de\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.9.1\n" +"X-Generator: Weblate 3.10\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -20,7 +20,7 @@ msgstr "Wiederbeleben" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" -msgstr "Sie sind gestorben" +msgstr "Du bist gestorben!" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" @@ -132,7 +132,7 @@ msgstr "Keine harten Abhängigkeiten" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." -msgstr "Keine Modpackbeschreibung verfügbar." +msgstr "Keine Modpack-Beschreibung verfügbar." #: builtin/mainmenu/dlg_config_world.lua msgid "No optional dependencies" @@ -173,7 +173,7 @@ msgstr "$1 wird heruntergeladen und installiert, bitte warten …" #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" -msgstr "$1 konnte nicht heruntergeladen werden" +msgstr "Fehler beim Download von $1" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -275,7 +275,7 @@ msgstr "pkgmgr: Fehler beim Löschen von „$1“" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: invalid path \"$1\"" -msgstr "pkgmgr: Unzulässiger Pfad „$1“" +msgstr "pkgmgr: Ungültiger Pfad „$1“" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" @@ -351,7 +351,7 @@ msgstr "Bitte geben Sie eine gültige Zahl ein." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Restore Default" -msgstr "Standardwert" +msgstr "Zurücksetzen" #: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp msgid "Scale" @@ -359,7 +359,7 @@ msgstr "Skalierung" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select directory" -msgstr "Verzeichnis wählen" +msgstr "Verzeichnis auswählen" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select file" @@ -442,11 +442,11 @@ msgstr "" #: builtin/mainmenu/pkgmgr.lua msgid "Install: file: \"$1\"" -msgstr "Installieren: Datei: „$1“" +msgstr "Installation: Datei: „$1“" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to find a valid mod or modpack" -msgstr "Gültige Mod oder gültiges Modpack konnte nicht gefunden werden" +msgstr "Keine gültige Mod oder Modpack gefunden" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to install a $1 as a texture pack" @@ -654,7 +654,7 @@ msgstr "Sind Sie sicher, dass Sie die Einzelspielerwelt löschen wollen?" #: builtin/mainmenu/tab_settings.lua msgid "Autosave Screen Size" -msgstr "Monitorgröße merken" +msgstr "Monitorgröße automatisch merken" #: builtin/mainmenu/tab_settings.lua msgid "Bilinear Filter" @@ -858,7 +858,7 @@ msgstr "Bitte wählen Sie einen Namen!" #: src/client/clientlauncher.cpp msgid "Provided password file failed to open: " -msgstr "Angegebene Passwortdatei konnte nicht geöffnet werden: " +msgstr "Fehler beim öffnen der ausgewählten Passwort-Datei: " #: src/client/clientlauncher.cpp msgid "Provided world path doesn't exist: " From 443ca5c63b4b51d2ab0de1d0aef1513ab0c5a4f9 Mon Sep 17 00:00:00 2001 From: Hotower <271700283@qq.com> Date: Sun, 29 Dec 2019 01:19:57 +0000 Subject: [PATCH 091/279] Translated using Weblate (Chinese (Simplified)) Currently translated at 65.1% (830 of 1274 strings) --- po/zh_CN/minetest.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po index 28425c0ab..ce83a6180 100644 --- a/po/zh_CN/minetest.po +++ b/po/zh_CN/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-12-21 23:18+0000\n" -"Last-Translator: zaoqi \n" +"PO-Revision-Date: 2019-12-29 06:49+0000\n" +"Last-Translator: Hotower <271700283@qq.com>\n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -335,7 +335,7 @@ msgstr "补偿" #: builtin/mainmenu/dlg_settings_advanced.lua #, fuzzy msgid "Persistance" -msgstr "玩家转移距离" +msgstr "碰撞箱" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid integer." @@ -1726,11 +1726,12 @@ msgstr "" "如果禁用,虚拟操纵杆将居中至第一次触摸的位置。" #: src/settings_translation_file.cpp +#, fuzzy msgid "" "(Android) Use virtual joystick to trigger \"aux\" button.\n" "If enabled, virtual joystick will also tap \"aux\" button when out of main " "circle." -msgstr "" +msgstr "(安卓)使用虚拟操纵杆触发\"aux\"按钮。 如果启用,虚拟操纵杆在主圆圈外会点击\"aux\"按钮。" #: src/settings_translation_file.cpp #, fuzzy From 9c9bcff1073bb95303e681168d7f10ec8792c8e9 Mon Sep 17 00:00:00 2001 From: Osoitz Date: Sun, 29 Dec 2019 11:13:40 +0000 Subject: [PATCH 092/279] Added translation using Weblate (Basque) --- po/eu/minetest.po | 5892 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 5892 insertions(+) create mode 100644 po/eu/minetest.po diff --git a/po/eu/minetest.po b/po/eu/minetest.po new file mode 100644 index 000000000..b4e99e6df --- /dev/null +++ b/po/eu/minetest.po @@ -0,0 +1,5892 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the minetest package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: minetest\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-10-09 22:02+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: builtin/client/death_formspec.lua src/client/game.cpp +msgid "You died" +msgstr "" + +#: builtin/client/death_formspec.lua src/client/game.cpp +msgid "Respawn" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "The server has requested a reconnect:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Reconnect" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Main menu" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "An error occurred in a Lua script:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "An error occurred:" +msgstr "" + +#: builtin/fstk/ui.lua +msgid "Ok" +msgstr "" + +#: builtin/mainmenu/common.lua src/client/game.cpp +msgid "Loading..." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Try reenabling public serverlist and check your internet connection." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Server supports protocol versions between $1 and $2. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Server enforces protocol version $1. " +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "We support protocol versions between version $1 and $2." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "We only support protocol version $1." +msgstr "" + +#: builtin/mainmenu/common.lua +msgid "Protocol version mismatch. " +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "World:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No modpack description provided." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No game description provided." +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Mod:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No (optional) dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No hard dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua +msgid "Optional dependencies:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua +msgid "Dependencies:" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "No optional dependencies" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp +msgid "Save" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_create_world.lua +#: builtin/mainmenu/dlg_delete_content.lua +#: builtin/mainmenu/dlg_delete_world.lua +#: builtin/mainmenu/dlg_rename_modpack.lua +#: builtin/mainmenu/dlg_settings_advanced.lua src/client/keycode.cpp +#: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp +#: src/gui/guiPasswordChange.cpp +msgid "Cancel" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable modpack" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable modpack" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "enabled" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Disable all" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "Enable all" +msgstr "" + +#: builtin/mainmenu/dlg_config_world.lua +msgid "" +"Failed to enable mod \"$1\" as it contains disallowed characters. Only " +"characters [a-z0-9_] are allowed." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "All packages" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Games" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Mods" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Texture packs" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Failed to download $1" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Downloading and installing $1, please wait..." +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Back" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Install" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Update" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Uninstall" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua +msgid "Search" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "Back to Main Menu" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No results" +msgstr "" + +#: builtin/mainmenu/dlg_contentstore.lua +msgid "No packages could be retrieved" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "World name" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Seed" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Mapgen" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp +msgid "Game" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Create" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "You have no games installed." +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download one from minetest.net" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Warning: The minimal development test is meant for developers." +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "Download a game, such as Minetest Game, from minetest.net" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "A world named \"$1\" already exists" +msgstr "" + +#: builtin/mainmenu/dlg_create_world.lua +msgid "No game selected" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "Are you sure you want to delete \"$1\"?" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +#: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua +#: src/client/keycode.cpp +msgid "Delete" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: failed to delete \"$1\"" +msgstr "" + +#: builtin/mainmenu/dlg_delete_content.lua +msgid "pkgmgr: invalid path \"$1\"" +msgstr "" + +#: builtin/mainmenu/dlg_delete_world.lua +msgid "Delete World \"$1\"?" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Accept" +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "" +"This modpack has an explicit name given in its modpack.conf which will " +"override any renaming here." +msgstr "" + +#: builtin/mainmenu/dlg_rename_modpack.lua +msgid "Rename Modpack:" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Disabled" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Enabled" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Browse" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Offset" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp +msgid "Scale" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "2D Noise" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z spread" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Octaves" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Persistance" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Lacunarity" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "defaults" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "eased" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "absvalue" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "X" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Y" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Z" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "(No description of setting given)" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid integer." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must be at least $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "The value must not be larger than $1." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Please enter a valid number." +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select directory" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Select file" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "< Back to Settings page" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Edit" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Restore Default" +msgstr "" + +#: builtin/mainmenu/dlg_settings_advanced.lua +msgid "Show technical names" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "$1 (Enabled)" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a $1 as a texture pack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Failed to install $1 to $2" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to find a valid mod or modpack" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a modpack as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find suitable folder name for modpack $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a mod as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install Mod: Unable to find real mod name for: $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Unable to install a game as a $1" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: file: \"$1\"" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "Install: Unsupported file type \"$1\" or broken archive" +msgstr "" + +#: builtin/mainmenu/pkgmgr.lua +msgid "$1 mods" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Installed Packages:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Browse online content" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No package description available" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Rename" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "No dependencies." +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Disable Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Use Texture Pack" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Information:" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Uninstall Package" +msgstr "" + +#: builtin/mainmenu/tab_content.lua +msgid "Content" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Credits" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Active Contributors" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Previous Core Developers" +msgstr "" + +#: builtin/mainmenu/tab_credits.lua +msgid "Previous Contributors" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Configure" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "New" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Select World:" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua +msgid "Creative Mode" +msgstr "" + +#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua +msgid "Enable Damage" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Host Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Announce Server" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Name/Password" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Bind Address" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Server Port" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Play Game" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "No world created or selected!" +msgstr "" + +#: builtin/mainmenu/tab_local.lua +msgid "Start Game" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Address / Port" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Name / Password" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Connect" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Del. Favorite" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Favorite" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Ping" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Creative mode" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "Damage enabled" +msgstr "" + +#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua +msgid "PvP enabled" +msgstr "" + +#: builtin/mainmenu/tab_online.lua +msgid "Join Game" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Simple Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Fancy Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Outlining" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Node Highlighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "None" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Bilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Trilinear Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Mipmap + Aniso. Filter" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "2x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "4x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "8x" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Are you sure to reset your singleplayer world?" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Yes" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "No" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Smooth Lighting" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Particles" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "3D Clouds" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Opaque Water" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Connected Glass" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Texturing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Antialiasing:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Screen:" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Autosave Screen Size" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Shaders" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Shaders (unavailable)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Reset singleplayer world" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/client/game.cpp +msgid "Change Keys" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "All Settings" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Touchthreshold: (px)" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Bump Mapping" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Tone Mapping" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Generate Normal Maps" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp +msgid "Parallax Occlusion" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Liquids" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Leaves" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Waving Plants" +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "To enable shaders the OpenGL driver needs to be used." +msgstr "" + +#: builtin/mainmenu/tab_settings.lua +msgid "Settings" +msgstr "" + +#: builtin/mainmenu/tab_simple_main.lua +msgid "Start Singleplayer" +msgstr "" + +#: builtin/mainmenu/tab_simple_main.lua +msgid "Config mods" +msgstr "" + +#: builtin/mainmenu/tab_simple_main.lua +msgid "Main" +msgstr "" + +#: src/client/client.cpp +msgid "Connection timed out." +msgstr "" + +#: src/client/client.cpp +msgid "Loading textures..." +msgstr "" + +#: src/client/client.cpp +msgid "Rebuilding shaders..." +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes..." +msgstr "" + +#: src/client/client.cpp +msgid "Initializing nodes" +msgstr "" + +#: src/client/client.cpp +msgid "Done!" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Main Menu" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Player name too long." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Connection error (timed out?)" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided password file failed to open: " +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Please choose a name!" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "No world selected and no address provided. Nothing to do." +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Provided world path doesn't exist: " +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Could not find or load game \"" +msgstr "" + +#: src/client/clientlauncher.cpp +msgid "Invalid gamespec." +msgstr "" + +#: src/client/fontengine.cpp +msgid "needs_fallback_font" +msgstr "" + +#: src/client/game.cpp +msgid "Shutting down..." +msgstr "" + +#: src/client/game.cpp +msgid "Creating server..." +msgstr "" + +#: src/client/game.cpp +msgid "Creating client..." +msgstr "" + +#: src/client/game.cpp +msgid "Resolving address..." +msgstr "" + +#: src/client/game.cpp +msgid "Connecting to server..." +msgstr "" + +#: src/client/game.cpp +msgid "Item definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "Node definitions..." +msgstr "" + +#: src/client/game.cpp +msgid "Media..." +msgstr "" + +#: src/client/game.cpp +msgid "KiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "MiB/s" +msgstr "" + +#: src/client/game.cpp +msgid "Client side scripting is disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Sound muted" +msgstr "" + +#: src/client/game.cpp +msgid "Sound unmuted" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Volume changed to %d%%" +msgstr "" + +#: src/client/game.cpp src/gui/modalMenu.cpp +msgid "ok" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode enabled (note: no 'fly' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fly mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Pitch move mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode enabled (note: no 'fast' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Fast mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode enabled (note: no 'noclip' privilege)" +msgstr "" + +#: src/client/game.cpp +msgid "Noclip mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Cinematic mode disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Automatic forward disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in surface mode, Zoom x1" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in surface mode, Zoom x2" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in surface mode, Zoom x4" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in radar mode, Zoom x1" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in radar mode, Zoom x2" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap in radar mode, Zoom x4" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap hidden" +msgstr "" + +#: src/client/game.cpp +msgid "Minimap currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "Fog disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Fog enabled" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info shown" +msgstr "" + +#: src/client/game.cpp +msgid "Profiler graph shown" +msgstr "" + +#: src/client/game.cpp +msgid "Wireframe shown" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info, profiler graph, and wireframe hidden" +msgstr "" + +#: src/client/game.cpp +msgid "Debug info and profiler graph hidden" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update disabled" +msgstr "" + +#: src/client/game.cpp +msgid "Camera update enabled" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at maximum: %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range changed to %d" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "Viewing range is at minimum: %d" +msgstr "" + +#: src/client/game.cpp +msgid "Enabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Disabled unlimited viewing range" +msgstr "" + +#: src/client/game.cpp +msgid "Zoom currently disabled by game or mod" +msgstr "" + +#: src/client/game.cpp +msgid "" +"Default Controls:\n" +"No menu visible:\n" +"- single tap: button activate\n" +"- double tap: place/use\n" +"- slide finger: look around\n" +"Menu/Inventory visible:\n" +"- double tap (outside):\n" +" -->close\n" +"- touch stack, touch slot:\n" +" --> move stack\n" +"- touch&drag, tap 2nd finger\n" +" --> place single item to slot\n" +msgstr "" + +#: src/client/game.cpp +#, c-format +msgid "" +"Controls:\n" +"- %s: move forwards\n" +"- %s: move backwards\n" +"- %s: move left\n" +"- %s: move right\n" +"- %s: jump/climb\n" +"- %s: sneak/go down\n" +"- %s: drop item\n" +"- %s: inventory\n" +"- Mouse: turn/look\n" +"- Mouse left: dig/punch\n" +"- Mouse right: place/use\n" +"- Mouse wheel: select item\n" +"- %s: chat\n" +msgstr "" + +#: src/client/game.cpp +msgid "Continue" +msgstr "" + +#: src/client/game.cpp +msgid "Change Password" +msgstr "" + +#: src/client/game.cpp +msgid "Game paused" +msgstr "" + +#: src/client/game.cpp +msgid "Sound Volume" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to Menu" +msgstr "" + +#: src/client/game.cpp +msgid "Exit to OS" +msgstr "" + +#: src/client/game.cpp +msgid "Game info:" +msgstr "" + +#: src/client/game.cpp +msgid "- Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "Remote server" +msgstr "" + +#: src/client/game.cpp +msgid "- Address: " +msgstr "" + +#: src/client/game.cpp +msgid "Hosting server" +msgstr "" + +#: src/client/game.cpp +msgid "- Port: " +msgstr "" + +#: src/client/game.cpp +msgid "Singleplayer" +msgstr "" + +#: src/client/game.cpp +msgid "On" +msgstr "" + +#: src/client/game.cpp +msgid "Off" +msgstr "" + +#: src/client/game.cpp +msgid "- Damage: " +msgstr "" + +#: src/client/game.cpp +msgid "- Creative Mode: " +msgstr "" + +#: src/client/game.cpp +msgid "- PvP: " +msgstr "" + +#: src/client/game.cpp +msgid "- Public: " +msgstr "" + +#: src/client/game.cpp +msgid "- Server Name: " +msgstr "" + +#: src/client/game.cpp +msgid "" +"\n" +"Check debug.txt for details." +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "Chat hidden" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD shown" +msgstr "" + +#: src/client/gameui.cpp +msgid "HUD hidden" +msgstr "" + +#: src/client/gameui.cpp +#, c-format +msgid "Profiler shown (page %d of %d)" +msgstr "" + +#: src/client/gameui.cpp +msgid "Profiler hidden" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "Middle Button" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "X Button 2" +msgstr "" + +#: src/client/keycode.cpp +msgid "Backspace" +msgstr "" + +#: src/client/keycode.cpp +msgid "Tab" +msgstr "" + +#: src/client/keycode.cpp +msgid "Clear" +msgstr "" + +#: src/client/keycode.cpp +msgid "Return" +msgstr "" + +#: src/client/keycode.cpp +msgid "Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Pause" +msgstr "" + +#: src/client/keycode.cpp +msgid "Caps Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Space" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page up" +msgstr "" + +#: src/client/keycode.cpp +msgid "Page down" +msgstr "" + +#: src/client/keycode.cpp +msgid "End" +msgstr "" + +#: src/client/keycode.cpp +msgid "Home" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Left" +msgstr "" + +#: src/client/keycode.cpp +msgid "Up" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Right" +msgstr "" + +#: src/client/keycode.cpp +msgid "Down" +msgstr "" + +#: src/client/keycode.cpp +msgid "Select" +msgstr "" + +#: src/client/keycode.cpp +msgid "Print" +msgstr "" + +#: src/client/keycode.cpp +msgid "Execute" +msgstr "" + +#: src/client/keycode.cpp +msgid "Snapshot" +msgstr "" + +#: src/client/keycode.cpp +msgid "Insert" +msgstr "" + +#: src/client/keycode.cpp +msgid "Help" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Windows" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Windows" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 0" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 1" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 2" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 3" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 4" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 5" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 6" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 7" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 8" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad 9" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad *" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad +" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad ." +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad -" +msgstr "" + +#: src/client/keycode.cpp +msgid "Numpad /" +msgstr "" + +#: src/client/keycode.cpp +msgid "Num Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Scroll Lock" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Shift" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Control" +msgstr "" + +#: src/client/keycode.cpp +msgid "Left Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "Right Menu" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Escape" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Convert" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Nonconvert" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Accept" +msgstr "" + +#: src/client/keycode.cpp +msgid "IME Mode Change" +msgstr "" + +#: src/client/keycode.cpp +msgid "Apps" +msgstr "" + +#: src/client/keycode.cpp +msgid "Sleep" +msgstr "" + +#: src/client/keycode.cpp +msgid "Erase EOF" +msgstr "" + +#: src/client/keycode.cpp +msgid "Play" +msgstr "" + +#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp +msgid "Zoom" +msgstr "" + +#: src/client/keycode.cpp +msgid "OEM Clear" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +#, c-format +msgid "" +"You are about to join this server with the name \"%s\" for the first time.\n" +"If you proceed, a new account using your credentials will be created on this " +"server.\n" +"Please retype your password and click 'Register and Join' to confirm account " +"creation, or click 'Cancel' to abort." +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp +msgid "Register and Join" +msgstr "" + +#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp +msgid "Passwords do not match!" +msgstr "" + +#: src/gui/guiFormSpecMenu.cpp +msgid "Proceed" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "\"Special\" = climb down" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Double tap \"jump\" to toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Automatic jumping" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Key already in use" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "press key" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Forward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Backward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Special" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Jump" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Sneak" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Drop" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inventory" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Prev. item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Next item" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Change camera" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle minimap" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fly" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle pitchmove" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fast" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle noclip" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Mute" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. volume" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Autoforward" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Chat" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp +msgid "Screenshot" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Range select" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Dec. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Inc. range" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Console" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Local command" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle HUD" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle chat log" +msgstr "" + +#: src/gui/guiKeyChangeMenu.cpp +msgid "Toggle fog" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Old Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "New Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Confirm Password" +msgstr "" + +#: src/gui/guiPasswordChange.cpp +msgid "Change" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Sound Volume: " +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Exit" +msgstr "" + +#: src/gui/guiVolumeChange.cpp +msgid "Muted" +msgstr "" + +#: src/gui/modalMenu.cpp +msgid "Enter " +msgstr "" + +#: src/network/clientpackethandler.cpp +msgid "LANG_CODE" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Build inside player" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, you can place blocks at the position (feet + eye level) where " +"you stand.\n" +"This is helpful when working with nodeboxes in small areas." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Flying" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Player is able to fly without being affected by gravity.\n" +"This requires the \"fly\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, makes move directions relative to the player's pitch when flying " +"or swimming." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast movement" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Fast movement (via the \"special\" key).\n" +"This requires the \"fast\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled together with fly mode, player is able to fly through solid " +"nodes.\n" +"This requires the \"noclip\" privilege on the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Smooths camera when looking around. Also called look or mouse smoothing.\n" +"Useful for recording videos." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera smoothing in cinematic mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooths rotation of camera in cinematic mode. 0 to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert mouse" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Invert vertical mouse movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mouse sensitivity multiplier." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Special key for climbing/descending" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, \"special\" key instead of \"sneak\" key is used for climbing " +"down and\n" +"descending." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double tap jump for fly" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Double-tapping the jump key toggles fly mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Always fly and fast" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If disabled, \"special\" key is used to fly fast if both fly and fast mode " +"are\n" +"enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rightclick repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated right clicks when holding the " +"right\n" +"mouse button." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically jump up single-node obstacles." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Safe digging and placing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Prevent digging and placing from repeating when holding the mouse buttons.\n" +"Enable this when you dig or place too often by accident." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Random input" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable random user input (only used for testing)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Continuous forward" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Continuous forward movement, toggled by autoforward key.\n" +"Press the autoforward key again or the backwards movement to disable." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Touch screen threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The length in pixels it takes for touch screen interaction to start." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed virtual joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Fixes the position of virtual joystick.\n" +"If disabled, virtual joystick will center to first-touch's position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Virtual joystick triggers aux button" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(Android) Use virtual joystick to trigger \"aux\" button.\n" +"If enabled, virtual joystick will also tap \"aux\" button when out of main " +"circle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable joysticks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick ID" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The identifier of the joystick to use" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The type of joystick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick button repetition interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time in seconds it takes between repeated events\n" +"when holding down a joystick button combination." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Joystick frustum sensitivity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The sensitivity of the joystick axes for moving the\n" +"ingame view frustum around." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player forward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Backward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player backward.\n" +"Will also disable autoforward, when active.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Left key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player left.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Right key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving the player right.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jump key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for jumping.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneak key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for sneaking.\n" +"Also used for climbing down and descending in water if aux1_descends is " +"disabled.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the inventory.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Special key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for moving fast in fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Command key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for opening the chat window to type local commands.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Range select key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling unlimited view range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fly key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling flying.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pitch move key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling pitch move mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling fast mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noclip key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling noclip mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar next key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the next item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar previous key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the previous item in the hotbar.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for muting the game.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inc. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dec. volume key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the volume.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatic forward key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling autoforward.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cinematic mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling cinematic mode.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling display of minimap.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for taking screenshots.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Drop item key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for dropping the currently selected item.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View zoom key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key to use view zoom when possible.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 1 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the first hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 2 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the second hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 3 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the third hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 4 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fourth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 5 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the fifth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 6 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the sixth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 7 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the seventh hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 8 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the eighth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 9 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the ninth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 10 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the tenth hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 11 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 11th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 12 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 12th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 13 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 13th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 14 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 14th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 15 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 15th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 16 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 16th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 17 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 17th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 18 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 18th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 19 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 19th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 20 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 20th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 21 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 21st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 22 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 22nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 23 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 23rd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 24 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 24th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 25 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 25th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 26 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 26th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 27 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 27th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 28 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 28th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 29 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 29th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 30 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 30th hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 31 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 31st hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hotbar slot 32 key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for selecting the 32nd hotbar slot.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the HUD.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of chat.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large chat console key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the large chat console.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of fog.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Camera update toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the camera update. Only used for development\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug info toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of debug info.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler toggle key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for toggling the display of the profiler. Used for development.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Toggle camera mode key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for switching between first- and third-person camera.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range increase key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for increasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View range decrease key" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Key for decreasing the viewing range.\n" +"See http://irrlicht.sourceforge.net/docu/namespaceirr." +"html#a54da2a0e231901735e3da1b0edf72eb3" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Graphics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-Game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VBO" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable VBO" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to fog out the end of the visible area." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Leaves style" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Leaves style:\n" +"- Fancy: all faces visible\n" +"- Simple: only outer faces, if defined special_tiles are used\n" +"- Opaque: disable transparency" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect glass" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connects glass if supported by node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Smooth lighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable smooth lighting with simple ambient occlusion.\n" +"Disable for speed or for different looks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds are a client side effect." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D clouds" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use 3D cloud look instead of flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Node highlighting" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Method used to highlight selected object." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Digging particles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Adds particles when digging a node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mipmapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Use mip mapping to scale textures. May slightly increase performance,\n" +"especially when using a high resolution texture pack.\n" +"Gamma correct downscaling is not supported." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Anisotropic filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use anisotropic filtering when viewing at textures from an angle." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use bilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trilinear filtering" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use trilinear filtering when scaling textures." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clean transparent textures" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Filtered textures can blend RGB values with fully-transparent neighbors,\n" +"which PNG optimizers usually discard, sometimes resulting in a dark or\n" +"light edge to transparent textures. Apply this filter to clean that up\n" +"at texture load time." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimum texture size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When using bilinear/trilinear/anisotropic filters, low-resolution textures\n" +"can be blurred, so automatically upscale them with nearest-neighbor\n" +"interpolation to preserve crisp pixels. This sets the minimum texture size\n" +"for the upscaled textures; higher values look sharper, but require more\n" +"memory. Powers of 2 are recommended. Setting this higher than 1 may not\n" +"have a visible effect unless bilinear/trilinear/anisotropic filtering is\n" +"enabled.\n" +"This is also used as the base node texture size for world-aligned\n" +"texture autoscaling." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FSAA" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Experimental option, might cause visible spaces between blocks\n" +"when set to higher number than 0." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Undersampling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Undersampling is similar to using a lower screen resolution, but it applies\n" +"to the game world only, keeping the GUI intact.\n" +"It should give a significant performance boost at the cost of less detailed " +"image.\n" +"Higher values result in a less detailed image." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Shaders allow advanced visual effects and may increase performance on some " +"video\n" +"cards.\n" +"This only works with the OpenGL video backend." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shader path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Path to shader directory. If no path is defined, default location will be " +"used." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filmic tone mapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables filmic tone mapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bumpmapping" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enables bumpmapping for textures. Normalmaps need to be supplied by the " +"texture pack\n" +"or need to be auto-generated.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Generate normalmaps" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enables on the fly normalmap generation (Emboss effect).\n" +"Requires bumpmapping to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Normalmaps strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strength of generated normalmaps." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Normalmaps sampling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Defines sampling step of texture.\n" +"A higher value results in smoother normal maps." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enables parallax occlusion mapping.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"0 = parallax occlusion with slope information (faster).\n" +"1 = relief mapping (slower, more accurate)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion strength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strength of parallax." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion iterations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Number of parallax occlusion iterations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion scale" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Overall scale of parallax occlusion effect." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Parallax occlusion bias" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Overall bias of parallax occlusion effect, usually scale/2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving Nodes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving water" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true enables waving water.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving water wave height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving water wavelength" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving water wave speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving leaves" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true enables waving leaves.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Waving plants" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set to true enables waving plants.\n" +"Requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Advanced" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Arm inertia" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Arm inertia, gives a more realistic movement of\n" +"the arm when the camera moves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If FPS would go higher than this, limit it by sleeping\n" +"to not waste CPU power for no benefit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FPS in pause menu" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum FPS when game is paused." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Pause on lost window focus" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Open the pause menu when the window's focus is lost. Does not pause if a " +"formspec is\n" +"open." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Viewing range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View distance in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Near clipping plane" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\n" +"Most users will not need to change this.\n" +"Increasing can reduce artifacting on weaker GPUs.\n" +"0.1 = Default, 0.25 = Good value for weaker tablets." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Width component of the initial window size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screen height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height component of the initial window size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autosave screen size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save window size automatically when modified." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Full screen" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Full screen BPP" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bits per pixel (aka color depth) in fullscreen mode." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "VSync" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical screen synchronization." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Field of view in degrees." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gamma" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Adjust the gamma encoding for the light tables. Higher numbers are " +"brighter.\n" +"This setting is for the client only and is ignored by the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Darkness sharpness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gradient of light curve at minimum light level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lightness sharpness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gradient of light curve at maximum light level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Light curve mid boost" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strength of light curve mid-boost." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Light curve mid boost center" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Center of light curve mid-boost." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Light curve mid boost spread" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Spread of light curve mid-boost.\n" +"Standard deviation of the mid-boost gaussian." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Texture path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Path to texture directory. All textures are first searched from here." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Video driver" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The rendering back-end for Irrlicht.\n" +"A restart is required after changing this.\n" +"Note: On Android, stick with OGLES1 if unsure! App may fail to start " +"otherwise.\n" +"On other platforms, OpenGL is recommended, and it’s the only driver with\n" +"shader support currently." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cloud radius" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Radius of cloud area stated in number of 64 node cloud squares.\n" +"Values larger than 26 will start to produce sharp cutoffs at cloud area " +"corners." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "View bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable view bobbing and amount of view bobbing.\n" +"For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fall bobbing factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Multiplier for fall bobbing.\n" +"For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D support.\n" +"Currently supported:\n" +"- none: no 3d output.\n" +"- anaglyph: cyan/magenta color 3d.\n" +"- interlaced: odd/even line based polarisation screen support.\n" +"- topbottom: split screen top/bottom.\n" +"- sidebyside: split screen side by side.\n" +"- crossview: Cross-eyed 3d\n" +"- pageflip: quadbuffer based 3d.\n" +"Note that the interlaced mode requires shaders to be enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Console alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "In-game chat console background alpha (opaqueness, between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Full-Screen Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec full-screen background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Opacity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background opacity (between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec Default Background Color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Formspec default background color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box border color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Selection box width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Width of the selection box lines around nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair color" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair color (R,G,B)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crosshair alpha (opaqueness, between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Recent Chat Messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of recent chat messages to show" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desynchronize block animation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether node texture animations should be desynchronized per mapblock." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum hotbar width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum proportion of current window to be used for hotbar.\n" +"Useful if there's something to be displayed right or left of hotbar." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HUD scale factor" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Modifies the size of the hudbar elements." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mesh cache" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables caching of facedir rotated meshes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generation delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Delay between mesh updates on the client in ms. Increasing this will slow\n" +"down the rate of mesh updates, thus reducing jitter on slower clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock mesh generator's MapBlock cache size in MB" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of the MapBlock cache of the mesh generator. Increasing this will\n" +"increase the cache hit %, reducing the data being copied from the main\n" +"thread, thus reducing jitter." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables minimap." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Round minimap" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shape of the minimap. Enabled = round, disabled = square." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Minimap scan height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"True = 256\n" +"False = 128\n" +"Useable to make minimap smoother on slower machines." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Colored fog" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Make fog and sky colors depend on daytime (dawn/sunset) and view direction." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ambient occlusion gamma" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The strength (darkness) of node ambient-occlusion shading.\n" +"Lower is darker, Higher is lighter. The valid range of values for this\n" +"setting is 0.25 to 4.0 inclusive. If the value is out of range it will be\n" +"set to the nearest valid value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Inventory items animations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enables animation of inventory items." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fog start" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fraction of the visible distance at which fog starts to be rendered" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Opaque liquids" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Makes all liquids opaque" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World-aligned textures mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Textures on a node may be aligned either to the node or to the world.\n" +"The former mode suits better things like machines, furniture, etc., while\n" +"the latter makes stairs and microblocks fit surroundings better.\n" +"However, as this possibility is new, thus may not be used by older servers,\n" +"this option allows enforcing it for certain node types. Note though that\n" +"that is considered EXPERIMENTAL and may not work properly." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Autoscaling mode" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World-aligned textures may be scaled to span several nodes. However,\n" +"the server may not send the scale you want, especially if you use\n" +"a specially-designed texture pack; with this option, the client tries\n" +"to determine the scale automatically basing on the texture size.\n" +"See also texture_min_size.\n" +"Warning: This option is EXPERIMENTAL!" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show entity selection boxes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Menus" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Clouds in menu" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Use a cloud animation for the main menu background." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Scale GUI by a user specified value.\n" +"Use a nearest-neighbor-anti-alias filter to scale the GUI.\n" +"This will smooth over some of the rough edges, and blend\n" +"pixels when scaling down, at the cost of blurring some\n" +"edge pixels when images are scaled by non-integer sizes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When gui_scaling_filter is true, all GUI images need to be\n" +"filtered in software, but some images are generated directly\n" +"to hardware (e.g. render-to-texture for nodes in inventory)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "GUI scaling filter txr2img" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"When gui_scaling_filter_txr2img is true, copy those images\n" +"from hardware to software for scaling. When false, fall back\n" +"to the old scaling method, for video drivers that don't\n" +"properly support downloading textures back from hardware." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Tooltip delay" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay showing tooltips, stated in milliseconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Append item name to tooltip." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "FreeType fonts" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether FreeType fonts are used, requires FreeType support to be compiled in." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Path to TrueTypeFont or bitmap." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font shadow" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font shadow offset, if 0 then shadow will not be drawn." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font shadow alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Font shadow alpha (opaqueness, between 0 and 255)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Monospace font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "This font will be used for certain languages." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font shadow" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fallback font shadow alpha" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot folder" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Path to save screenshots at." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Format of screenshots." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Screenshot quality" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Screenshot quality. Only used for JPEG format.\n" +"1 means worst quality; 100 means best quality.\n" +"Use 0 for default quality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "DPI" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k " +"screens." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable console window" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Windows systems only: Start Minetest with the command line window in the " +"background.\n" +"Contains the same information as the file debug.txt (default name)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Volume" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mute sound" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Network" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Address to connect to.\n" +"Leave this blank to start a local server.\n" +"Note that the address field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Port to connect to (UDP).\n" +"Note that the port field in the main menu overrides this setting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Saving map received from server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Save the map received by the client on disk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Connect to external media server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable usage of remote media server (if provided by server).\n" +"Remote servers offer a significantly faster way to download media (e.g. " +"textures)\n" +"when connecting to the server." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client modding" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable Lua modding support on client.\n" +"This support is experimental and API can change." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "URL to the server list displayed in the Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Serverlist file" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"File in client/serverlist/ that contains your favorite servers displayed in " +"the\n" +"Multiplayer Tab." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum size of the out chat queue" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum size of the out chat queue.\n" +"0 to disable queueing and -1 to make the queue size unlimited." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable register confirmation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable register confirmation when connecting to server.\n" +"If disabled, new account will be registered automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock unload timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Timeout for client to remove unused map data from memory." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapblock limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of mapblocks for client to be kept in memory.\n" +"Set to -1 for unlimited amount." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Show debug info" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to show the client debug info (has the same effect as hitting F5)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server / Singleplayer" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the server, to be displayed when players join and in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server description" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Description of server, to be displayed when players join and in the " +"serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Domain name of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Homepage of server, to be displayed in the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Automatically report to the serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Announce to this serverlist." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strip color codes" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Remove color codes from incoming chat messages\n" +"Use this to stop players from being able to use color in their messages" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server port" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Network port to listen (UDP).\n" +"This value will be overridden when starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Bind address" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The network interface that the server listens on." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Strict protocol checking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable to disallow old clients from connecting.\n" +"Older clients are compatible in the sense that they will not crash when " +"connecting\n" +"to new servers, but they may not support all new features that you are " +"expecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Remote media" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Specifies URL from which client fetches media instead of using UDP.\n" +"$filename should be accessible from $remote_media$filename via cURL\n" +"(obviously, remote_media should end with a slash).\n" +"Files that are not present will be fetched the usual way." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6 server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Enable/disable running an IPv6 server.\n" +"Ignored if bind_address is set." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum simultaneous block sends per client" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks that are simultaneously sent per client.\n" +"The maximum total count is calculated dynamically:\n" +"max_total = ceil((#clients + max_users) * per_client / 4)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Delay in sending blocks after building" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"To reduce lag, block transfers are slowed down when a player is building " +"something.\n" +"This determines how long they are slowed down after placing or removing a " +"node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. packets per iteration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of packets sent per send step, if you have a slow connection\n" +"try reducing it, but don't reduce it to a number below double of targeted\n" +"client number." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default game" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Default game when creating a new world.\n" +"This will be overridden when creating a world from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Message of the day displayed to players connecting." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum users" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of players that can be connected simultaneously." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map directory" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"World directory (everything in the world is stored here).\n" +"Not needed if starting from the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Item entity TTL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Time in seconds for item entity (dropped items) to live.\n" +"Setting it to -1 disables the feature." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Damage" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable players getting damage and dying." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Creative" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable creative mode for new created maps." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fixed map seed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"A chosen map seed for a new map, leave empty for random.\n" +"Will be overridden when creating a new world in the main menu." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default password" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "New users need to input this password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The privileges that new users automatically get.\n" +"See /privs in game for a full list on your server and mod configuration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Basic privileges" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Privileges that players with basic_privs can grant" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unlimited player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether players are shown to clients without any range limit.\n" +"Deprecated, use the setting player_transfer_distance instead." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player transfer distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player versus player" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Whether to allow players to damage and kill each other." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mod channels" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod channels support." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Static spawnpoint" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If this is set, players will always (re)spawn at the given position." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disallow empty passwords" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, new players cannot join with an empty password." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Disable anticheat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "If enabled, disable cheat prevention in multiplayer." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rollback recording" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, actions are recorded for rollback.\n" +"This option is only read when server starts." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Format of player chat messages. The following strings are valid " +"placeholders:\n" +"@name, @message, @timestamp (optional)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shutdown message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server shuts down." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Crash message" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "A message to be displayed to all clients when the server crashes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ask to reconnect after crash" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Whether to ask clients to reconnect after a (Lua) crash.\n" +"Set this to true if your server is set up to restart automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active object send range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far clients know about objects, stated in mapblocks (16 nodes).\n" +"\n" +"Setting this larger than active_block_range will also cause the server\n" +"to maintain active objects up to this distance in the direction the\n" +"player is looking. (This can avoid mobs suddenly disappearing from view)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block range" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The radius of the volume of blocks around every player that is subject to " +"the\n" +"active block stuff, stated in mapblocks (16 nodes).\n" +"In active blocks objects are loaded and ABMs run.\n" +"This is also the minimum range in which active objects (mobs) are " +"maintained.\n" +"This should be configured together with active_object_range." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block send distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are sent to clients, stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum forceloaded blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of forceloaded mapblocks." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time send interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of sending time of day to clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls length of day/night cycle.\n" +"Examples:\n" +"72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "World start time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Time of day when a new world is started, in millihours (0-23999)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map save interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Interval of saving important changes in the world, stated in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message max length" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Set the maximum character length of a chat message sent by clients." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message count limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amount of messages a player may send per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chat message kick threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Kick players who sent more than X messages per 10 seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Physics" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration on ground or when climbing,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration in air" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal acceleration in air when jumping or falling,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode acceleration" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Horizontal and vertical acceleration in fast mode,\n" +"in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking and flying speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sneaking speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fast mode speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Walking, flying and climbing speed in fast mode, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Climbing speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Vertical climbing speed, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Jumping speed" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Initial vertical speed when jumping, in nodes per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Decrease this to increase liquid resistence to movement." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid fluidity smoothing" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum liquid resistence. Controls deceleration when entering liquid at\n" +"high speed." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid sinking" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls sinking speed in liquid." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Gravity" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Acceleration of gravity, in nodes per second per second." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Deprecated Lua API handling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Handling for deprecated lua api calls:\n" +"- legacy: (try to) mimic old behaviour (default for release).\n" +"- log: mimic and log backtrace of deprecated call (default for debug).\n" +"- error: abort on usage of deprecated call (suggested for mod developers)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max. clearobjects extra blocks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of extra blocks that can be loaded by /clearobjects at once.\n" +"This is a trade-off between sqlite transaction overhead and\n" +"memory consumption (4096=100MB, as a rule of thumb)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Unload unused server data" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"How much the server will wait before unloading unused mapblocks.\n" +"Higher value is smoother, but will use more RAM." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum objects per block" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of statically stored objects in a block." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Synchronous SQLite" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dedicated server step" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Length of a server tick and the interval at which objects are generally " +"updated over\n" +"network." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active block management interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Length of time between active block management cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ABM interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Length of time between Active Block Modifier (ABM) execution cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "NodeTimer interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Length of time between NodeTimer execution cycles" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ignore world errors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled, invalid world data won't cause the server to shut down.\n" +"Only enable this if you know what you are doing." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid loop max" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max liquids processed per step." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid queue purge time" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The time (in seconds) that the liquids queue may grow beyond processing\n" +"capacity until an attempt is made to decrease its size by dumping old queue\n" +"items. A value of 0 disables the functionality." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update tick" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Liquid update interval in seconds." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Block send optimize distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"At this distance the server will aggressively optimize which blocks are sent " +"to\n" +"clients.\n" +"Small values potentially improve performance a lot, at the expense of " +"visible\n" +"rendering glitches (some blocks will not be rendered under water and in " +"caves,\n" +"as well as sometimes on land).\n" +"Setting this to a value greater than max_block_send_distance disables this\n" +"optimization.\n" +"Stated in mapblocks (16 nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Server side occlusion culling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If enabled the server will perform map block occlusion culling based on\n" +"on the eye position of the player. This can reduce the number of blocks\n" +"sent to the client 50-80%. The client will not longer receive most " +"invisible\n" +"so that the utility of noclip mode is reduced." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side modding restrictions" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Restricts the access of certain client-side functions on servers.\n" +"Combine the byteflags below to restrict client-side features, or set to 0\n" +"for no restrictions:\n" +"LOAD_CLIENT_MODS: 1 (disable loading client-provided mods)\n" +"CHAT_MESSAGES: 2 (disable send_chat_message call client-side)\n" +"READ_ITEMDEFS: 4 (disable get_item_def call client-side)\n" +"READ_NODEDEFS: 8 (disable get_node_def call client-side)\n" +"LOOKUP_NODES_LIMIT: 16 (limits get_node call client-side to\n" +"csm_restriction_noderange)\n" +"READ_PLAYERINFO: 32 (disable get_player_names call client-side)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client side node lookup range restriction" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the CSM restriction for node range is enabled, get_node calls are " +"limited\n" +"to this distance from the player to the node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Enable mod security" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Prevent mods from doing insecure things like running shell commands." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trusted mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of trusted mods that are allowed to access insecure\n" +"functions even when mod security is on (via request_insecure_environment())." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "HTTP mods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of mods that are allowed to access HTTP APIs, which\n" +"allow them to upload and download data to/from the internet." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiling" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Load the game profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Load the game profiler to collect game profiling data.\n" +"Provides a /profiler command to access the compiled profile.\n" +"Useful for mod developers and server operators." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Default report format" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The default format in which profiles are being saved,\n" +"when calling `/profiler save [format]` without format." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Report path" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The file path relative to your worldpath in which profiles will be saved to." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrumentation" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Entity methods" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument the methods of entities on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Active Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Active Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Loading Block Modifiers" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument the action function of Loading Block Modifiers on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chatcommands" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Instrument chatcommands on registration." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Global callbacks" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument global callback functions on registration.\n" +"(anything you pass to a minetest.register_*() function)" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Builtin" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Instrument builtin.\n" +"This is usually only needed by core/builtin contributors" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Profiler" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Have the profiler instrument itself:\n" +"* Instrument an empty function.\n" +"This estimates the overhead, that instrumentation is adding (+1 function " +"call).\n" +"* Instrument the sampler being used to update the statistics." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Client and Server" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Player name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of the player.\n" +"When running a server, clients connecting with this name are admins.\n" +"When starting from the main menu, this is overridden." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Language" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Set the language. Leave empty to use the system language.\n" +"A restart is required after changing this." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Level of logging to be written to debug.txt:\n" +"- (no logging)\n" +"- none (messages with no level)\n" +"- error\n" +"- warning\n" +"- action\n" +"- info\n" +"- verbose" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Debug log file size threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"If the file size of debug.txt exceeds the number of megabytes specified in\n" +"this setting when it is opened, the file is moved to debug.txt.1,\n" +"deleting an older debug.txt.1 if it exists.\n" +"debug.txt is only moved if this setting is positive." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "IPv6 support." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Default timeout for cURL, stated in milliseconds.\n" +"Only has an effect if compiled with cURL." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL parallel limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Limits number of parallel HTTP requests. Affects:\n" +"- Media fetch if server uses remote_media setting.\n" +"- Serverlist download and server announcement.\n" +"- Downloads performed by main menu (e.g. mod manager).\n" +"Only has an effect if compiled with cURL." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "cURL file download timeout" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum time in ms a file download (e.g. a mod download) may take." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "High-precision FPU" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Main menu style" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Changes the main menu UI:\n" +"- Full: Multiple singleplayer worlds, game choice, texture pack chooser, " +"etc.\n" +"- Simple: One singleplayer world, no game or texture pack choosers. May " +"be\n" +"necessary for smaller screens." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Main menu script" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Replaces the default main menu with a custom one." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Engine profiling data print interval" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Print the engine's profiling data in regular intervals (in seconds).\n" +"0 = disable. Useful for developers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen name" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Name of map generator to be used when creating a new world.\n" +"Creating a world in the main menu will override this.\n" +"Current mapgens in a highly unstable state:\n" +"- The optional floatlands of v7 (disabled by default)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Water surface level of the world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Max block generate distance" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"From how far blocks are generated for clients, stated in mapblocks (16 " +"nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).\n" +"Only mapchunks completely within the mapgen limit are generated.\n" +"Value is stored per-world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Global map generation attributes.\n" +"In Mapgen v6 the 'decorations' flag controls all decorations except trees\n" +"and junglegrass, in all other mapgens this flag controls all decorations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome API temperature and humidity noise parameters" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Temperature variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Heat blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Small-scale temperature variation for blending biomes on borders." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity variation for biomes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Humidity blend noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Small-scale humidity variation for blending biomes on borders." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V5 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation attributes specific to Mapgen v5." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls width of tunnels, a smaller value creates wider tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Large cave depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of upper limit of large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lava depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Deprecated, define and locate cave liquids using biome definitions instead.\n" +"Y of upper limit of lava in large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of cavern upper limit." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern taper" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-distance over which caverns expand to full size." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines full size of caverns, smaller values create larger caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon minimum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lower Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon maximum Y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Upper Y limit of dungeons." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Noises" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of biome filler depth." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Factor noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Variation of terrain vertical scale.\n" +"When noise is < -0.55 terrain is near-flat." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of average terrain surface." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of two 3D noises that together define tunnels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dungeon noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise that determines number of dungeons per mapchunk." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V6 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v6.\n" +"The 'snowbiomes' flag enables the new 5 biome system.\n" +"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n" +"the 'jungles' flag is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Desert noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Deserts occur when np_biome exceeds this value.\n" +"When the 'snowbiomes' flag is enabled, this is ignored." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Sandy beaches occur when np_beach exceeds this value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain base noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of lower terrain and seabed." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain higher noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of higher terrain that creates cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Steepness noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Height select noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mud noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Varies depth of biome surface nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Beach noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas with sandy beaches." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Biome noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of number of caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines tree areas and tree density." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Apple trees noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines areas where trees have apples." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen V7 specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen v7.\n" +"'ridges' enables the rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain zero level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Y of mountain density gradient zero level. Used to shift mountains " +"vertically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland mountain density" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Controls the density of mountain-type floatlands.\n" +"Is a noise offset added to the 'mgv7_np_mountain' noise value." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland mountain height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Typical maximum height, above and below midpoint, of floatland mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland mountain exponent" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Alters how mountain-type floatlands taper above and below midpoint." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of floatland midpoint and lake surface." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Shadow limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level to which floatland shadows extend." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain alternative noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain persistence noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Varies roughness of terrain.\n" +"Defines the 'persistence' value for terrain_base and terrain_alt noises." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines distribution of higher terrain and steepness of cliffs." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of maximum mountain height (in nodes)." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge underwater noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines large-scale river channel structure." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland base noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Defines areas of floatland smooth terrain.\n" +"Smooth floatlands occur when noise > 0." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Floatland base height noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Variation of hill height and lake depth on floatland smooth terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"3D noise defining mountain structure and height.\n" +"Also defines structure of floatland mountain terrain." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise defining structure of river canyon walls." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Carpathian specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Map generation attributes specific to Mapgen Carpathian." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the base ground level." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River channel depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the depth of the river channel." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River valley width" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines the width of the river valley." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness1 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "First of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness2 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Second of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness3 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Third of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hilliness4 noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fourth of 4 2D noises that together define hill/mountain range height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hills spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridge mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of ridged mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain spread noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the size/occurrence of step mountain ranges." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Rolling hill size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of rolling hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ridged mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of ridged mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Step mountain size noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that controls the shape/size of step mountains." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "2D noise that locates the river valleys and channels." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mountain variation noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Flat specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen flat.\n" +"Occasional lakes and hills can be added to the flat world." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Ground level" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y of flat ground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for lakes.\n" +"Controls proportion of world area covered by lakes.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Lake steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/depth of lake depressions." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill threshold" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Terrain noise threshold for hills.\n" +"Controls proportion of world area covered by hills.\n" +"Adjust towards 0.0 for a larger proportion." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Hill steepness" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Controls steepness/height of hills." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Defines location and terrain of optional hills and lakes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Fractal specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen flat.\n" +"'terrain' enables the generation of non-fractal terrain:\n" +"ocean, islands and underground." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Fractal type" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Selects one of 18 fractal types.\n" +"1 = 4D \"Roundy\" mandelbrot set.\n" +"2 = 4D \"Roundy\" julia set.\n" +"3 = 4D \"Squarry\" mandelbrot set.\n" +"4 = 4D \"Squarry\" julia set.\n" +"5 = 4D \"Mandy Cousin\" mandelbrot set.\n" +"6 = 4D \"Mandy Cousin\" julia set.\n" +"7 = 4D \"Variation\" mandelbrot set.\n" +"8 = 4D \"Variation\" julia set.\n" +"9 = 3D \"Mandelbrot/Mandelbar\" mandelbrot set.\n" +"10 = 3D \"Mandelbrot/Mandelbar\" julia set.\n" +"11 = 3D \"Christmas Tree\" mandelbrot set.\n" +"12 = 3D \"Christmas Tree\" julia set.\n" +"13 = 3D \"Mandelbulb\" mandelbrot set.\n" +"14 = 3D \"Mandelbulb\" julia set.\n" +"15 = 3D \"Cosine Mandelbulb\" mandelbrot set.\n" +"16 = 3D \"Cosine Mandelbulb\" julia set.\n" +"17 = 4D \"Mandelbulb\" mandelbrot set.\n" +"18 = 4D \"Mandelbulb\" julia set." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Iterations" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Iterations of the recursive function.\n" +"Increasing this increases the amount of fine detail, but also\n" +"increases processing load.\n" +"At iterations = 20 this mapgen has a similar load to mapgen V7." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) scale of fractal in nodes.\n" +"Actual fractal size will be 2 to 3 times larger.\n" +"These numbers can be made very large, the fractal does\n" +"not have to fit inside the world.\n" +"Increase these to 'zoom' into the detail of the fractal.\n" +"Default is for a vertically-squashed shape suitable for\n" +"an island, set all 3 numbers equal for the raw shape." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"(X,Y,Z) offset of fractal from world center in units of 'scale'.\n" +"Can be used to move a desired point to (0, 0) to create a\n" +"suitable spawn point, or to allow 'zooming in' on a desired\n" +"point by increasing 'scale'.\n" +"The default is tuned for a suitable spawn point for mandelbrot\n" +"sets with default parameters, it may need altering in other\n" +"situations.\n" +"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slice w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"W coordinate of the generated 3D slice of a 4D fractal.\n" +"Determines which 3D slice of the 4D shape is generated.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia x" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"X component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia y" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Y component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia z" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"Z component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Julia w" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Julia set only.\n" +"W component of hypercomplex constant.\n" +"Alters the shape of the fractal.\n" +"Has no effect on 3D fractals.\n" +"Range roughly -2 to 2." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Seabed noise" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Y-level of seabed." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen Valleys specific flags" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Map generation attributes specific to Mapgen Valleys.\n" +"'altitude_chill': Reduces heat with altitude.\n" +"'humid_rivers': Increases humidity around rivers.\n" +"'vary_river_depth': If enabled, low humidity and high heat causes rivers\n" +"to become shallower and occasionally dry.\n" +"'altitude_dry': Reduces humidity with altitude." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Altitude chill" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"The vertical distance over which heat drops by 20 if 'altitude_chill' is\n" +"enabled. Also the vertical distance over which humidity drops by 10 if\n" +"'altitude_dry' is enabled." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find large caves." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cavern upper limit" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Depth below which you'll find giant caverns." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "How deep to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "River size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "How wide to make rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #1" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Cave noise #2" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Filler depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The depth of dirt or other biome filler node." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Terrain height" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Base terrain height." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley depth" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Raises terrain to make valleys around the rivers." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley fill" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Slope and fill work together to modify the heights." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley profile" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Amplifies the valleys." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Valley slope" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Chunk size" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).\n" +"WARNING!: There is no benefit, and there are several dangers, in\n" +"increasing this value above 5.\n" +"Reducing this value increases cave and dungeon density.\n" +"Altering this value is for special usage, leaving it unchanged is\n" +"recommended." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Mapgen debug" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Dump the mapgen debug information." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Absolute limit of emerge queues" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Maximum number of blocks that can be queued for loading." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Limit of emerge queues on disk" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be loaded from file.\n" +"Set to blank for an appropriate amount to be chosen automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Limit of emerge queues to generate" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Maximum number of blocks to be queued that are to be generated.\n" +"Set to blank for an appropriate amount to be chosen automatically." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Number of emerge threads" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Number of emerge threads to use.\n" +"WARNING: Currently there are multiple bugs that may cause crashes when\n" +"'num_emerge_threads' is larger than 1. Until this warning is removed it is\n" +"strongly recommended this value is set to the default '1'.\n" +"Value 0:\n" +"- Automatic selection. The number of emerge threads will be\n" +"- 'number of processors - 2', with a lower limit of 1.\n" +"Any other value:\n" +"- Specifies the number of emerge threads, with a lower limit of 1.\n" +"WARNING: Increasing the number of emerge threads increases engine mapgen\n" +"speed, but this may harm game performance by interfering with other\n" +"processes, especially in singleplayer and/or when running Lua code in\n" +"'on_generated'. For many users the optimum setting may be '1'." +msgstr "" + +#: src/settings_translation_file.cpp +msgid "Online Content Repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB URL" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "The URL for the content repository" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "ContentDB Flag Blacklist" +msgstr "" + +#: src/settings_translation_file.cpp +msgid "" +"Comma-separated list of flags to hide in the content repository.\n" +"\"nonfree\" can be used to hide packages which do not qualify as 'free " +"software',\n" +"as defined by the Free Software Foundation.\n" +"You can also specify content ratings.\n" +"These flags are independent from Minetest versions,\n" +"so see a full list at https://content.minetest.net/help/content_flags/" +msgstr "" From 12906ff631595205b52bcb58bae16cdbc8ae5b2c Mon Sep 17 00:00:00 2001 From: Osoitz Date: Sun, 29 Dec 2019 11:14:10 +0000 Subject: [PATCH 093/279] Translated using Weblate (Basque) Currently translated at 9.7% (123 of 1274 strings) --- po/eu/minetest.po | 269 +++++++++++++++++++++++++++------------------- 1 file changed, 159 insertions(+), 110 deletions(-) diff --git a/po/eu/minetest.po b/po/eu/minetest.po index b4e99e6df..7c56f4cb1 100644 --- a/po/eu/minetest.po +++ b/po/eu/minetest.po @@ -8,77 +8,82 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Automatically generated\n" -"Language-Team: none\n" +"PO-Revision-Date: 2019-12-30 20:21+0000\n" +"Last-Translator: Osoitz \n" +"Language-Team: Basque \n" "Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" -msgstr "" +msgstr "Hil zara" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" -msgstr "" +msgstr "Birsortu" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "" +msgstr "Zerbitzariak birkonexioa eskatu du:" #: builtin/fstk/ui.lua msgid "Reconnect" -msgstr "" +msgstr "Birkonektatu" #: builtin/fstk/ui.lua msgid "Main menu" -msgstr "" +msgstr "Menu nagusia" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" -msgstr "" +msgstr "Errore bat gertatu da Lua script batean:" #: builtin/fstk/ui.lua msgid "An error occurred:" -msgstr "" +msgstr "Errore bat gertatu da:" #: builtin/fstk/ui.lua msgid "Ok" -msgstr "" +msgstr "Ados" #: builtin/mainmenu/common.lua src/client/game.cpp msgid "Loading..." -msgstr "" +msgstr "Kargatzen..." #: builtin/mainmenu/common.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "" +"Saia zaitez zerbitzari publikoen zerrenda birgaitzen eta egiazta ezazu zure " +"internet konexioa." #: builtin/mainmenu/common.lua msgid "Server supports protocol versions between $1 and $2. " -msgstr "" +msgstr "Zerbitzariak $1 eta $2 arteko protokolo bertsioak onartzen ditu. " #: builtin/mainmenu/common.lua msgid "Server enforces protocol version $1. " -msgstr "" +msgstr "Zerbitzariak $1 protokolo bertsioa darabil. " #: builtin/mainmenu/common.lua msgid "We support protocol versions between version $1 and $2." -msgstr "" +msgstr "$1 eta $2 arteko protokolo bertsioak onartzen ditugu." #: builtin/mainmenu/common.lua msgid "We only support protocol version $1." -msgstr "" +msgstr "$1 bertsioa soilik onartzen dugu." #: builtin/mainmenu/common.lua msgid "Protocol version mismatch. " -msgstr "" +msgstr "Protokoloaren bertsioen desadostasuna. " #: builtin/mainmenu/dlg_config_world.lua msgid "World:" -msgstr "" +msgstr "Mundua:" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." @@ -86,36 +91,36 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." -msgstr "" +msgstr "Ez da jolasaren deskripziorik eman." #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" -msgstr "" +msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua msgid "No (optional) dependencies" -msgstr "" +msgstr "(Aukerako) mendekotasunik ez" #: builtin/mainmenu/dlg_config_world.lua msgid "No hard dependencies" -msgstr "" +msgstr "Mendekotasun zorrotzik ez" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" -msgstr "" +msgstr "Aukerako mendekotasunak:" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Dependencies:" -msgstr "" +msgstr "Mendekotasunak:" #: builtin/mainmenu/dlg_config_world.lua msgid "No optional dependencies" -msgstr "" +msgstr "Aukerako mendekotasunik ez" #: builtin/mainmenu/dlg_config_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp msgid "Save" -msgstr "" +msgstr "Gorde" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_delete_content.lua @@ -125,7 +130,7 @@ msgstr "" #: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp #: src/gui/guiPasswordChange.cpp msgid "Cancel" -msgstr "" +msgstr "Utzi" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable modpack" @@ -137,15 +142,15 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" -msgstr "" +msgstr "gaituta" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" -msgstr "" +msgstr "Desgaitu denak" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" -msgstr "" +msgstr "Gaitu denak" #: builtin/mainmenu/dlg_config_world.lua msgid "" @@ -155,17 +160,17 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" -msgstr "" +msgstr "Pakete guztiak" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Games" -msgstr "" +msgstr "Jolasak" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Mods" -msgstr "" +msgstr "Mod-ak" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -173,99 +178,100 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" -msgstr "" +msgstr "Huts egin du $1 deskargatzean" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading and installing $1, please wait..." -msgstr "" +msgstr "$1 deskargatu eta instalatzen, itxaron mesedez..." #: builtin/mainmenu/dlg_contentstore.lua msgid "Back" -msgstr "" +msgstr "Atzera" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install" -msgstr "" +msgstr "Instalatu" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update" -msgstr "" +msgstr "Eguneratu" #: builtin/mainmenu/dlg_contentstore.lua msgid "Uninstall" -msgstr "" +msgstr "Desinstalatu" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua msgid "Search" -msgstr "" +msgstr "Bilatu" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "" +msgstr "Itzuli menu nagusira" #: builtin/mainmenu/dlg_contentstore.lua msgid "No results" -msgstr "" +msgstr "Emaitzarik ez" #: builtin/mainmenu/dlg_contentstore.lua msgid "No packages could be retrieved" -msgstr "" +msgstr "Ezin izan da paketerik eskuratu" #: builtin/mainmenu/dlg_create_world.lua msgid "World name" -msgstr "" +msgstr "Munduaren izena" #: builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Seed" -msgstr "" +msgstr "Hazia" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Mapgen" -msgstr "" +msgstr "Mapa sortzailea" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" -msgstr "" +msgstr "Jolasa" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" -msgstr "" +msgstr "Sortu" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no games installed." -msgstr "" +msgstr "Ez duzu jolasik instalatuta." #: builtin/mainmenu/dlg_create_world.lua msgid "Download one from minetest.net" -msgstr "" +msgstr "Deskargatu minetest.net zerbitzaritik" #: builtin/mainmenu/dlg_create_world.lua msgid "Warning: The minimal development test is meant for developers." -msgstr "" +msgstr "Abisua: \"Minimal development test\" garatzaileentzako da." #: builtin/mainmenu/dlg_create_world.lua msgid "Download a game, such as Minetest Game, from minetest.net" msgstr "" +"Deskargatu jolasen bat, esaterako Minetest Game, minetest.net zerbitzaritik" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "" +msgstr "Badago \"$1\" izeneko mundu bat" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" -msgstr "" +msgstr "Ez da jolasik aukeratu" #: builtin/mainmenu/dlg_delete_content.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "" +msgstr "Ziur \"$1\" ezabatu nahi duzula?" #: builtin/mainmenu/dlg_delete_content.lua #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua #: src/client/keycode.cpp msgid "Delete" -msgstr "" +msgstr "Ezabatu" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" @@ -277,11 +283,11 @@ msgstr "" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" -msgstr "" +msgstr "Ezabatu \"$1\" mundua?" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" -msgstr "" +msgstr "Onartu" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "" @@ -295,15 +301,15 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Disabled" -msgstr "" +msgstr "Desgaituta" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Enabled" -msgstr "" +msgstr "Gaituta" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" -msgstr "" +msgstr "Arakatu" #: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp msgid "Offset" @@ -311,7 +317,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp msgid "Scale" -msgstr "" +msgstr "Eskala" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X spread" @@ -323,7 +329,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "2D Noise" -msgstr "" +msgstr "2D Zarata" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z spread" @@ -335,7 +341,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Persistance" -msgstr "" +msgstr "Iraunkortasuna" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Lacunarity" @@ -343,7 +349,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "defaults" -msgstr "" +msgstr "lehenespenak" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "eased" @@ -355,63 +361,63 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X" -msgstr "" +msgstr "X" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y" -msgstr "" +msgstr "Y" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z" -msgstr "" +msgstr "Z" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "(No description of setting given)" -msgstr "" +msgstr "(Ez da ezarpenaren deskripziorik eman)" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid integer." -msgstr "" +msgstr "Sartu baliozko zenbaki oso bat." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "The value must be at least $1." -msgstr "" +msgstr "Balioa gutxienez $1 izan behar da." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "The value must not be larger than $1." -msgstr "" +msgstr "Balioa ezin da $1 baino handiagoa izan." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid number." -msgstr "" +msgstr "Sartu baliozko zenbaki bat." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select directory" -msgstr "" +msgstr "Hautatu direktorioa" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select file" -msgstr "" +msgstr "Hautatu fitxategia" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "< Back to Settings page" -msgstr "" +msgstr "< Itzuli ezarpenen orrira" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Edit" -msgstr "" +msgstr "Editatu" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Restore Default" -msgstr "" +msgstr "Berrezarri lehenespena" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Show technical names" -msgstr "" +msgstr "Erakutsi izen teknikoak" #: builtin/mainmenu/pkgmgr.lua msgid "$1 (Enabled)" -msgstr "" +msgstr "$1 (Gaituta)" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to install a $1 as a texture pack" @@ -419,7 +425,7 @@ msgstr "" #: builtin/mainmenu/pkgmgr.lua msgid "Failed to install $1 to $2" -msgstr "" +msgstr "Huts egin du $1 %2-n instalatzean" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to find a valid mod or modpack" @@ -891,7 +897,7 @@ msgstr "" #: src/client/game.cpp msgid "Media..." -msgstr "" +msgstr "Multimedia..." #: src/client/game.cpp msgid "KiB/s" @@ -1028,7 +1034,7 @@ msgstr "" #: src/client/game.cpp msgid "Profiler graph shown" -msgstr "" +msgstr "Profilariaren grafikoa ikusigai" #: src/client/game.cpp msgid "Wireframe shown" @@ -1036,11 +1042,11 @@ msgstr "" #: src/client/game.cpp msgid "Debug info, profiler graph, and wireframe hidden" -msgstr "" +msgstr "Arazte informazioa, profilariaren grafikoa, eta hari-sareta ezkutatuta" #: src/client/game.cpp msgid "Debug info and profiler graph hidden" -msgstr "" +msgstr "Arazte informazioa eta profilariaren grafikoa ezkutatuta" #: src/client/game.cpp msgid "Camera update disabled" @@ -1053,25 +1059,25 @@ msgstr "" #: src/client/game.cpp #, c-format msgid "Viewing range is at maximum: %d" -msgstr "" +msgstr "Ikusmen barrutia maximoan dago: %d" #: src/client/game.cpp #, c-format msgid "Viewing range changed to %d" -msgstr "" +msgstr "Ikusmen barrutia aldatu da: %d" #: src/client/game.cpp #, c-format msgid "Viewing range is at minimum: %d" -msgstr "" +msgstr "Ikusmen barrutia minimoan dago: %d" #: src/client/game.cpp msgid "Enabled unlimited viewing range" -msgstr "" +msgstr "Gaitu mugagabeko ikusmen barrutia" #: src/client/game.cpp msgid "Disabled unlimited viewing range" -msgstr "" +msgstr "Desgaitu mugagabeko ikusmen barrutia" #: src/client/game.cpp msgid "Zoom currently disabled by game or mod" @@ -1217,11 +1223,11 @@ msgstr "" #: src/client/gameui.cpp #, c-format msgid "Profiler shown (page %d of %d)" -msgstr "" +msgstr "Profilaria ikusgai (%d/%d orria)" #: src/client/gameui.cpp msgid "Profiler hidden" -msgstr "" +msgstr "Profilaria ezkutatuta" #: src/client/keycode.cpp msgid "Left Button" @@ -1611,15 +1617,15 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Screenshot" -msgstr "" +msgstr "Pantaila-argazkia" #: src/gui/guiKeyChangeMenu.cpp msgid "Range select" -msgstr "" +msgstr "Barruti hautaketa" #: src/gui/guiKeyChangeMenu.cpp msgid "Dec. range" -msgstr "" +msgstr "Barrutia" #: src/gui/guiKeyChangeMenu.cpp msgid "Inc. range" @@ -1635,7 +1641,7 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Local command" -msgstr "" +msgstr "Komando lokala" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" @@ -2044,10 +2050,13 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Komando lokalak idazteko txat leihoa irekitzeko tekla.\n" +"Ikusi http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "Range select key" -msgstr "" +msgstr "Ikusmen barrutia hautatzeko tekla" #: src/settings_translation_file.cpp msgid "" @@ -2055,6 +2064,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Ikusmen barruti mugagabea txandakatzeko tekla.\n" +"Ikusi http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "Fly key" @@ -2615,7 +2627,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Camera update toggle key" -msgstr "" +msgstr "Kameraren eguneraketa txandakatzeko tekla" #: src/settings_translation_file.cpp msgid "" @@ -2623,10 +2635,13 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Kameraren eguneraketa txandakatzeko tekla. Garapenerako soilik erabilia\n" +"Ikusi http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "Debug info toggle key" -msgstr "" +msgstr "Arazte informazioa txandakatzeko tekla" #: src/settings_translation_file.cpp msgid "" @@ -2634,10 +2649,13 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Arazte informazioa txandakatzeko tekla\n" +"Ikusi http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "Profiler toggle key" -msgstr "" +msgstr "Profilaria txandakatzeko tekla" #: src/settings_translation_file.cpp msgid "" @@ -2645,6 +2663,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Profilaria txandakatzeko tekla. Garapenerako soilik erabilia.\n" +"Ikusi http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "Toggle camera mode key" @@ -2659,7 +2680,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "View range increase key" -msgstr "" +msgstr "Ikusmen barrutia handitzeko tekla" #: src/settings_translation_file.cpp msgid "" @@ -2667,10 +2688,13 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Ikusmen barrutia handitzeko tekla.\n" +"Ikusi http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "View range decrease key" -msgstr "" +msgstr "Ikusmen barrutia txikitzeko tekla" #: src/settings_translation_file.cpp msgid "" @@ -2678,6 +2702,9 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" +"Ikusmen barrutia txikitzeko tekla.\n" +"Ikusi http://irrlicht.sourceforge.net/docu/" +"namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp msgid "Graphics" @@ -3069,7 +3096,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Viewing range" -msgstr "" +msgstr "Ikusmen barrutia" #: src/settings_translation_file.cpp msgid "View distance in nodes." @@ -3750,7 +3777,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Connect to external media server" -msgstr "" +msgstr "Konektatu kanpo multimedia zerbitzari batera" #: src/settings_translation_file.cpp msgid "" @@ -3759,6 +3786,10 @@ msgid "" "textures)\n" "when connecting to the server." msgstr "" +"Gaitu urruneko multimedia zerbitzariaren erabilera (zerbitzariak ematen " +"badu),\n" +"Urruneko zerbitzariek deskarga azkarragoa eskaini dezakete multimedia " +"deskargatzeko (adib. testurak)." #: src/settings_translation_file.cpp msgid "Client modding" @@ -3926,7 +3957,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Remote media" -msgstr "" +msgstr "Urruneko multimedia" #: src/settings_translation_file.cpp msgid "" @@ -3968,6 +3999,9 @@ msgid "" "This determines how long they are slowed down after placing or removing a " "node." msgstr "" +"Atzerapena murrizteko, blokeen transferentziak moteldu egiten dira jokalari " +"bat zerbait eraikitzen ari denean.\n" +"Honek nodo bat jarri edo kendu ondoren zenbat motelduko diren zehazten du." #: src/settings_translation_file.cpp msgid "Max. packets per iteration" @@ -4080,21 +4114,25 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Unlimited player transfer distance" -msgstr "" +msgstr "Jokalari transferentzia distantzia mugagabea" #: src/settings_translation_file.cpp msgid "" "Whether players are shown to clients without any range limit.\n" "Deprecated, use the setting player_transfer_distance instead." msgstr "" +"Jokalariak bezeroei barruti mugarik gabe erakutsiko al zaizkien.\n" +"Zaharkitua, erabili player_transfer_distance ezarpena honen ordez." #: src/settings_translation_file.cpp msgid "Player transfer distance" -msgstr "" +msgstr "Jokalariaren transferentzia distantzia" #: src/settings_translation_file.cpp msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)." msgstr "" +"Jokalari transferentziaren distantzia maximoa blokeetan definitzen du (0 = " +"mugagabea)." #: src/settings_translation_file.cpp msgid "Player versus player" @@ -4185,7 +4223,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Active object send range" -msgstr "" +msgstr "Objektu aktiboak bidaltzeko barrutia" #: src/settings_translation_file.cpp msgid "" @@ -4195,10 +4233,16 @@ msgid "" "to maintain active objects up to this distance in the direction the\n" "player is looking. (This can avoid mobs suddenly disappearing from view)" msgstr "" +"Zein distantziatik dakite bezeroek objektuei buruz, mapa blokeetan (16 nodo) " +"adierazita.\n" +"\n" +"Hau active_block_range baino handiagoa ezarriz gero zerbitzariak jokalariak\n" +"begiratzen duen norabidean objektu aktiboak distantzia honetara arte\n" +"mantentzea eragingo du. (Honek gauzak bat batean desagertzea saihestu dezake)" #: src/settings_translation_file.cpp msgid "Active block range" -msgstr "" +msgstr "Bloke aktiboaren barrutia" #: src/settings_translation_file.cpp msgid "" @@ -4615,7 +4659,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Load the game profiler" -msgstr "" +msgstr "Kargatu jolasaren profilaria" #: src/settings_translation_file.cpp msgid "" @@ -4623,6 +4667,9 @@ msgid "" "Provides a /profiler command to access the compiled profile.\n" "Useful for mod developers and server operators." msgstr "" +"Kargatu jolasaren profilaria jolasaren profil datuak jasotzeko.\n" +"/profiler komandoa eskaintzen du jasotako profila atzitzeko.\n" +"Mod garatzaileentzat eta zerbitzari jabeentzat erabilgarria." #: src/settings_translation_file.cpp msgid "Default report format" @@ -4633,6 +4680,8 @@ msgid "" "The default format in which profiles are being saved,\n" "when calling `/profiler save [format]` without format." msgstr "" +"Profilak gordetzeko lehenetsitako formatua,\n" +"`/profiler save [format]` formaturik gabe deitzean erabilia." #: src/settings_translation_file.cpp msgid "Report path" @@ -4703,7 +4752,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Profiler" -msgstr "" +msgstr "Profilaria" #: src/settings_translation_file.cpp msgid "" From 895e9f8d5c0d022e016b764494c9c7ca73cd2a33 Mon Sep 17 00:00:00 2001 From: universales Date: Sun, 29 Dec 2019 19:33:44 +0000 Subject: [PATCH 094/279] Translated using Weblate (Spanish) Currently translated at 61.9% (789 of 1274 strings) --- po/es/minetest.po | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index bf097e64a..1a847df6c 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Spanish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-02 23:03+0000\n" -"Last-Translator: Vicente Carrasco Alvarez \n" +"PO-Revision-Date: 2019-12-30 20:21+0000\n" +"Last-Translator: universales \n" "Language-Team: Spanish \n" "Language: es\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Has muerto" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Un error ha ocurrido en un script de Lua, tal como en un mod:" +msgstr "Ha ocurrido un error en un script de Lua:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -120,27 +119,24 @@ msgid "Mod:" msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Dependencias opcionales:" +msgstr "Sin dependencias opcionales" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." -msgstr "La descripción del juego no está disponible" +msgstr "La descripción del juego no está disponible." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Sin depenencias." +msgstr "Sin dependencias importantes" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "La descripción del mod no está disponible." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Dependencias opcionales:" +msgstr "Sin dependencias opcionales" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -1940,7 +1936,7 @@ msgstr "Aceleración en el aire" #: src/settings_translation_file.cpp msgid "Acceleration of gravity, in nodes per second per second." -msgstr "" +msgstr "Aceleración de gravedad, en nodos por segundo por segundo." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" @@ -2419,7 +2415,7 @@ msgstr "Altura de consola" #: src/settings_translation_file.cpp msgid "ContentDB Flag Blacklist" -msgstr "" +msgstr "Lista negra de banderas de ContentDB" #: src/settings_translation_file.cpp #, fuzzy From 4dc833b642ff465446b3eb022482b0670f6a8d15 Mon Sep 17 00:00:00 2001 From: THANOS SIOURDAKIS Date: Sat, 4 Jan 2020 20:43:04 +0000 Subject: [PATCH 095/279] Translated using Weblate (Greek) Currently translated at 1.3% (17 of 1274 strings) --- po/el/minetest.po | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/po/el/minetest.po b/po/el/minetest.po index afc61a060..77c4dd723 100644 --- a/po/el/minetest.po +++ b/po/el/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Greek (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2020-01-06 03:21+0000\n" +"Last-Translator: THANOS SIOURDAKIS \n" "Language-Team: Greek \n" "Language: el\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Πέθανες" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Ένα σφάλμα προέκυψε σε ένα σενάριο Lua, όπως ένα mod:" +msgstr "Ένα σφάλμα προέκυψε σε ένα σενάριο Lua:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -85,11 +84,11 @@ msgstr "Υποστηρίζουμε τις εκδόσεις πρωτοκόλλω #: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp #: src/gui/guiPasswordChange.cpp msgid "Cancel" -msgstr "" +msgstr "Ματαίωση" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Dependencies:" -msgstr "" +msgstr "Εξαρτήσεις:" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" From 91bc190d2164a1d59db0c589b880606a58a55f6f Mon Sep 17 00:00:00 2001 From: Dhimas Wnz Date: Sun, 5 Jan 2020 02:58:03 +0000 Subject: [PATCH 096/279] Translated using Weblate (Indonesian) Currently translated at 96.9% (1234 of 1274 strings) --- po/id/minetest.po | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/po/id/minetest.po b/po/id/minetest.po index 83ccf065e..ac21a69cf 100644 --- a/po/id/minetest.po +++ b/po/id/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Indonesian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-01-06 03:21+0000\n" +"Last-Translator: Dhimas Wnz \n" "Language-Team: Indonesian \n" "Language: id\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -23,9 +23,8 @@ msgid "You died" msgstr "Anda mati" #: builtin/fstk/ui.lua -#, fuzzy msgid "An error occurred in a Lua script:" -msgstr "Sebuah galat terjadi pada suatu skrip Lua, misalnya satu mod:" +msgstr "Kesalahan terjadi pada suatu skrip Lua:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -119,27 +118,24 @@ msgid "Mod:" msgstr "Mod:" #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No (optional) dependencies" -msgstr "Tidak harus bergantung pada:" +msgstr "Tidak ada dependensi (opsional)" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." msgstr "Tidak ada penjelasan permainan yang tersedia." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No hard dependencies" -msgstr "Tidak bergantung pada mod lain." +msgstr "Tidak ada dependensi yang sulit (keterkaitan dengan mod lain)" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." msgstr "Tidak ada penjelasan paket mod yang tersedia." #: builtin/mainmenu/dlg_config_world.lua -#, fuzzy msgid "No optional dependencies" -msgstr "Tidak harus bergantung pada:" +msgstr "Tidak ada dependensi opsional" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -783,9 +779,8 @@ msgid "Waving Leaves" msgstr "Daun Melambai" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Waving Liquids" -msgstr "Nodus melambai" +msgstr "Laimbaian Cairan" #: builtin/mainmenu/tab_settings.lua msgid "Waving Plants" @@ -1530,7 +1525,7 @@ msgid "Register and Join" msgstr "Daftar dan gabung" #: src/gui/guiConfirmRegistration.cpp -#, fuzzy, c-format +#, c-format msgid "" "You are about to join this server with the name \"%s\" for the first time.\n" "If you proceed, a new account using your credentials will be created on this " @@ -1538,9 +1533,9 @@ msgid "" "Please retype your password and click 'Register and Join' to confirm account " "creation, or click 'Cancel' to abort." msgstr "" -"Anda akan bergabung dengan peladen %1$s dengan nama \"%2$s\" untuk pertama " +"Anda akan bergabung dengan server %1$s dengan nama \"%2$s\" untuk pertama " "kalinya. Jika Anda melanjutkan, akun baru yang telah Anda isikan akan dibuat " -"pada peladen ini.\n" +"pada server ini.\n" "Silakan ketik ulang kata sandi Anda dan klik Daftar dan gabung untuk " "mengonfirmasi pembuatan akun atau klik Batal untuk membatalkan." From 1ee8be9d43b22b6576a0dbb066d2fe292595cc3d Mon Sep 17 00:00:00 2001 From: Osoitz Date: Mon, 6 Jan 2020 06:28:54 +0000 Subject: [PATCH 097/279] Translated using Weblate (Basque) Currently translated at 15.1% (192 of 1274 strings) --- po/eu/minetest.po | 144 +++++++++++++++++++++++----------------------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/po/eu/minetest.po b/po/eu/minetest.po index 7c56f4cb1..ebc0c9bef 100644 --- a/po/eu/minetest.po +++ b/po/eu/minetest.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-12-30 20:21+0000\n" +"PO-Revision-Date: 2020-01-07 07:21+0000\n" "Last-Translator: Osoitz \n" "Language-Team: Basque \n" @@ -1231,23 +1231,23 @@ msgstr "Profilaria ezkutatuta" #: src/client/keycode.cpp msgid "Left Button" -msgstr "" +msgstr "Ezkerreko botoia" #: src/client/keycode.cpp msgid "Right Button" -msgstr "" +msgstr "Eskuineko botoia" #: src/client/keycode.cpp msgid "Middle Button" -msgstr "" +msgstr "Erdiko botoia" #: src/client/keycode.cpp msgid "X Button 1" -msgstr "" +msgstr "1. X botoia" #: src/client/keycode.cpp msgid "X Button 2" -msgstr "" +msgstr "2. X botoia" #: src/client/keycode.cpp msgid "Backspace" @@ -1255,7 +1255,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Tab" -msgstr "" +msgstr "Tabuladorea" #: src/client/keycode.cpp msgid "Clear" @@ -1267,11 +1267,11 @@ msgstr "" #: src/client/keycode.cpp msgid "Shift" -msgstr "" +msgstr "Maius." #: src/client/keycode.cpp msgid "Control" -msgstr "" +msgstr "Ctrl" #: src/client/keycode.cpp msgid "Menu" @@ -1291,11 +1291,11 @@ msgstr "" #: src/client/keycode.cpp msgid "Page up" -msgstr "" +msgstr "Orrialdea gora" #: src/client/keycode.cpp msgid "Page down" -msgstr "" +msgstr "Orrialdea behera" #: src/client/keycode.cpp msgid "End" @@ -1307,51 +1307,51 @@ msgstr "" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Left" -msgstr "" +msgstr "Ezkerra" #: src/client/keycode.cpp msgid "Up" -msgstr "" +msgstr "Gora" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Right" -msgstr "" +msgstr "Eskuina" #: src/client/keycode.cpp msgid "Down" -msgstr "" +msgstr "Behera" #: src/client/keycode.cpp msgid "Select" -msgstr "" +msgstr "Hautatu" #: src/client/keycode.cpp msgid "Print" -msgstr "" +msgstr "Inprimatu" #: src/client/keycode.cpp msgid "Execute" -msgstr "" +msgstr "Exekutatu" #: src/client/keycode.cpp msgid "Snapshot" -msgstr "" +msgstr "Pantaila-argazkia" #: src/client/keycode.cpp msgid "Insert" -msgstr "" +msgstr "Txertatu" #: src/client/keycode.cpp msgid "Help" -msgstr "" +msgstr "Laguntza" #: src/client/keycode.cpp msgid "Left Windows" -msgstr "" +msgstr "Ezkerreko leihoa" #: src/client/keycode.cpp msgid "Right Windows" -msgstr "" +msgstr "Eskuineko leihoa" #: src/client/keycode.cpp msgid "Numpad 0" @@ -1423,27 +1423,27 @@ msgstr "" #: src/client/keycode.cpp msgid "Left Shift" -msgstr "" +msgstr "Ezkerreko maius." #: src/client/keycode.cpp msgid "Right Shift" -msgstr "" +msgstr "Eskuineko maius." #: src/client/keycode.cpp msgid "Left Control" -msgstr "" +msgstr "Ezkerreko ctrl" #: src/client/keycode.cpp msgid "Right Control" -msgstr "" +msgstr "Eskuineko ctrl" #: src/client/keycode.cpp msgid "Left Menu" -msgstr "" +msgstr "Ezkerreko menua" #: src/client/keycode.cpp msgid "Right Menu" -msgstr "" +msgstr "Eskuineko menua" #: src/client/keycode.cpp msgid "IME Escape" @@ -1467,11 +1467,11 @@ msgstr "" #: src/client/keycode.cpp msgid "Apps" -msgstr "" +msgstr "Aplikazioak" #: src/client/keycode.cpp msgid "Sleep" -msgstr "" +msgstr "Lokartu" #: src/client/keycode.cpp msgid "Erase EOF" @@ -1501,15 +1501,15 @@ msgstr "" #: src/gui/guiConfirmRegistration.cpp msgid "Register and Join" -msgstr "" +msgstr "Eman izena eta hasi saioa" #: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp msgid "Passwords do not match!" -msgstr "" +msgstr "Pasahitzak ez datoz bat!" #: src/gui/guiFormSpecMenu.cpp msgid "Proceed" -msgstr "" +msgstr "Jarraitu" #: src/gui/guiKeyChangeMenu.cpp msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" @@ -1533,55 +1533,55 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" -msgstr "" +msgstr "sakatu tekla" #: src/gui/guiKeyChangeMenu.cpp msgid "Forward" -msgstr "" +msgstr "Aurrera" #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" -msgstr "" +msgstr "Atzera" #: src/gui/guiKeyChangeMenu.cpp msgid "Special" -msgstr "" +msgstr "Berezia" #: src/gui/guiKeyChangeMenu.cpp msgid "Jump" -msgstr "" +msgstr "Jauzi" #: src/gui/guiKeyChangeMenu.cpp msgid "Sneak" -msgstr "" +msgstr "isilean mugitu" #: src/gui/guiKeyChangeMenu.cpp msgid "Drop" -msgstr "" +msgstr "Laga" #: src/gui/guiKeyChangeMenu.cpp msgid "Inventory" -msgstr "" +msgstr "Inbentarioa" #: src/gui/guiKeyChangeMenu.cpp msgid "Prev. item" -msgstr "" +msgstr "Aurreko elementua" #: src/gui/guiKeyChangeMenu.cpp msgid "Next item" -msgstr "" +msgstr "Hurrengoa elementua" #: src/gui/guiKeyChangeMenu.cpp msgid "Change camera" -msgstr "" +msgstr "Aldatu kamera" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle minimap" -msgstr "" +msgstr "Txandakatu minimapa" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle fly" -msgstr "" +msgstr "Txandakatu hegaz egitea" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle pitchmove" @@ -1589,7 +1589,7 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle fast" -msgstr "" +msgstr "Txandakatu azkar" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle noclip" @@ -1597,23 +1597,23 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Mute" -msgstr "" +msgstr "Isilarazi" #: src/gui/guiKeyChangeMenu.cpp msgid "Dec. volume" -msgstr "" +msgstr "Jaitsi bolumena" #: src/gui/guiKeyChangeMenu.cpp msgid "Inc. volume" -msgstr "" +msgstr "Igo bolumena" #: src/gui/guiKeyChangeMenu.cpp msgid "Autoforward" -msgstr "" +msgstr "Aurrera automatikoki" #: src/gui/guiKeyChangeMenu.cpp msgid "Chat" -msgstr "" +msgstr "Txata" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Screenshot" @@ -1625,23 +1625,23 @@ msgstr "Barruti hautaketa" #: src/gui/guiKeyChangeMenu.cpp msgid "Dec. range" -msgstr "Barrutia" +msgstr "Txikitu barrutia" #: src/gui/guiKeyChangeMenu.cpp msgid "Inc. range" -msgstr "" +msgstr "Handitu barrutia" #: src/gui/guiKeyChangeMenu.cpp msgid "Console" -msgstr "" +msgstr "Kontsola" #: src/gui/guiKeyChangeMenu.cpp msgid "Command" -msgstr "" +msgstr "Agindua" #: src/gui/guiKeyChangeMenu.cpp msgid "Local command" -msgstr "Komando lokala" +msgstr "Agindu lokala" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" @@ -1905,11 +1905,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Joystick type" -msgstr "" +msgstr "Joystick mota" #: src/settings_translation_file.cpp msgid "The type of joystick" -msgstr "" +msgstr "Joystick mota" #: src/settings_translation_file.cpp msgid "Joystick button repetition interval" @@ -1933,7 +1933,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Forward key" -msgstr "" +msgstr "Aurrera tekla" #: src/settings_translation_file.cpp msgid "" @@ -1944,7 +1944,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Backward key" -msgstr "" +msgstr "Atzera tekla" #: src/settings_translation_file.cpp msgid "" @@ -1956,7 +1956,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Left key" -msgstr "" +msgstr "Ezkerrera tekla" #: src/settings_translation_file.cpp msgid "" @@ -1967,7 +1967,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Right key" -msgstr "" +msgstr "Eskuinera tekla" #: src/settings_translation_file.cpp msgid "" @@ -1978,7 +1978,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Jump key" -msgstr "" +msgstr "Jauzi tekla" #: src/settings_translation_file.cpp msgid "" @@ -1989,7 +1989,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Sneak key" -msgstr "" +msgstr "Isilean mugitu tekla" #: src/settings_translation_file.cpp msgid "" @@ -2002,7 +2002,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Inventory key" -msgstr "" +msgstr "Inbentarioa tekla" #: src/settings_translation_file.cpp msgid "" @@ -2013,7 +2013,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Special key" -msgstr "" +msgstr "Berezia tekla" #: src/settings_translation_file.cpp msgid "" @@ -2024,7 +2024,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Chat key" -msgstr "" +msgstr "Txat tekla" #: src/settings_translation_file.cpp msgid "" @@ -2035,7 +2035,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Command key" -msgstr "" +msgstr "Agindua tekla" #: src/settings_translation_file.cpp msgid "" @@ -2070,7 +2070,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Fly key" -msgstr "" +msgstr "Hegaz egin tekla" #: src/settings_translation_file.cpp msgid "" @@ -2092,7 +2092,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Fast key" -msgstr "" +msgstr "Azkar tekla" #: src/settings_translation_file.cpp msgid "" From 8b6cafa0e049fc078e185ca88dea0b8bd25335cd Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:19:36 +0000 Subject: [PATCH 098/279] Translated using Weblate (Lao) Currently translated at 0.2% (2 of 1274 strings) --- po/lo/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/lo/minetest.po b/po/lo/minetest.po index d52565df1..cfa819a94 100644 --- a/po/lo/minetest.po +++ b/po/lo/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Lao (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Lao \n" "Language: lo\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1681,7 +1681,7 @@ msgstr "" #: src/network/clientpackethandler.cpp msgid "LANG_CODE" -msgstr "" +msgstr "lo" #: src/settings_translation_file.cpp msgid "" From 09ec204e4b6875d630dae53046b61a658d480a8b Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:19:28 +0000 Subject: [PATCH 099/279] Translated using Weblate (Thai) Currently translated at 66.9% (852 of 1274 strings) --- po/th/minetest.po | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/po/th/minetest.po b/po/th/minetest.po index 70d78ca4e..098198b63 100644 --- a/po/th/minetest.po +++ b/po/th/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Thai (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Thai \n" "Language: th\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1758,9 +1758,8 @@ msgid "Enter " msgstr "ป้อน " #: src/network/clientpackethandler.cpp -#, fuzzy msgid "LANG_CODE" -msgstr "LANG_CODE" +msgstr "th" #: src/settings_translation_file.cpp msgid "" From ddc703c3eca9e3b8980f29620edc79931869a1a3 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:21:38 +0000 Subject: [PATCH 100/279] Translated using Weblate (Filipino) Currently translated at 0.2% (2 of 1274 strings) --- po/fil/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/fil/minetest.po b/po/fil/minetest.po index 5323fa6ed..89ec9ac3b 100644 --- a/po/fil/minetest.po +++ b/po/fil/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Filipino (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Filipino \n" "Language: fil\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1 && n != 2 && n != 3 && (n % 10 == 4 " "|| n % 10 == 6 || n % 10 == 9);\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1682,7 +1682,7 @@ msgstr "" #: src/network/clientpackethandler.cpp msgid "LANG_CODE" -msgstr "" +msgstr "fil" #: src/settings_translation_file.cpp msgid "" From 977319110353b582dc0bfd7ae8373d55f52f02dd Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:21:43 +0000 Subject: [PATCH 101/279] Translated using Weblate (Greek) Currently translated at 1.4% (18 of 1274 strings) --- po/el/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/el/minetest.po b/po/el/minetest.po index 77c4dd723..e04c1a137 100644 --- a/po/el/minetest.po +++ b/po/el/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Greek (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2020-01-06 03:21+0000\n" -"Last-Translator: THANOS SIOURDAKIS \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Greek \n" "Language: el\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1683,7 +1683,7 @@ msgstr "" #: src/network/clientpackethandler.cpp msgid "LANG_CODE" -msgstr "" +msgstr "el" #: src/settings_translation_file.cpp msgid "" From 24be3cbb5fe8fed10f084156818cd46afbbf12bd Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:22:07 +0000 Subject: [PATCH 102/279] Translated using Weblate (Basque) Currently translated at 15.1% (193 of 1274 strings) --- po/eu/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/eu/minetest.po b/po/eu/minetest.po index ebc0c9bef..fda4dc7e5 100644 --- a/po/eu/minetest.po +++ b/po/eu/minetest.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2020-01-07 07:21+0000\n" -"Last-Translator: Osoitz \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Basque \n" "Language: eu\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" @@ -1689,7 +1689,7 @@ msgstr "" #: src/network/clientpackethandler.cpp msgid "LANG_CODE" -msgstr "" +msgstr "eu" #: src/settings_translation_file.cpp msgid "Controls" From bb8acb095d34e58c6aa99d17ed84d513ada0ed87 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:23:47 +0000 Subject: [PATCH 103/279] Translated using Weblate (Portuguese) Currently translated at 100.0% (1274 of 1274 strings) --- po/pt/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/pt/minetest.po b/po/pt/minetest.po index bca432768..3a1c358f1 100644 --- a/po/pt/minetest.po +++ b/po/pt/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Portuguese (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-10-29 11:53+0000\n" -"Last-Translator: ssantos \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Portuguese \n" "Language: pt\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.9.1\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -867,7 +867,7 @@ msgstr "O caminho fornecido do mundo não existe: " #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "precisa_fonte_reserva" +msgstr "no" #: src/client/game.cpp msgid "" From 3086f5567a262f1ab31286f33c355f2c7a467180 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:19:32 +0000 Subject: [PATCH 104/279] Translated using Weblate (Vietnamese) Currently translated at 2.5% (32 of 1274 strings) --- po/vi/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/vi/minetest.po b/po/vi/minetest.po index 3cf65723f..dc7666458 100644 --- a/po/vi/minetest.po +++ b/po/vi/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Vietnamese (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Vietnamese \n" "Language: vi\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.9-dev\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1689,7 +1689,7 @@ msgstr "" #: src/network/clientpackethandler.cpp msgid "LANG_CODE" -msgstr "" +msgstr "vi" #: src/settings_translation_file.cpp msgid "" From 67257f44a5a64349a78aeebf3240434152658931 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:21:59 +0000 Subject: [PATCH 105/279] Translated using Weblate (Arabic) Currently translated at 6.1% (78 of 1274 strings) --- po/ar/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/ar/minetest.po b/po/ar/minetest.po index d886b2cfa..349f02b4d 100644 --- a/po/ar/minetest.po +++ b/po/ar/minetest.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-12-23 08:21+0000\n" -"Last-Translator: abidin toumi \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Arabic \n" "Language: ar\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 3.10\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" @@ -1687,7 +1687,7 @@ msgstr "" #: src/network/clientpackethandler.cpp msgid "LANG_CODE" -msgstr "" +msgstr "ar" #: src/settings_translation_file.cpp msgid "Controls" From 86ffbc3ec5a76c4308813a18763f80a4b71c5189 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:19:24 +0000 Subject: [PATCH 106/279] Translated using Weblate (Kazakh) Currently translated at 0.2% (2 of 1274 strings) --- po/kk/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/kk/minetest.po b/po/kk/minetest.po index cd847a9b7..d86d6df91 100644 --- a/po/kk/minetest.po +++ b/po/kk/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Kazakh (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Kazakh \n" "Language: kk\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1681,7 +1681,7 @@ msgstr "" #: src/network/clientpackethandler.cpp msgid "LANG_CODE" -msgstr "" +msgstr "kk" #: src/settings_translation_file.cpp msgid "" From 4b7816dbf4a682f4c336f2d9e4d1c2f13cbab359 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:19:41 +0000 Subject: [PATCH 107/279] Translated using Weblate (Burmese) Currently translated at 0.2% (2 of 1274 strings) --- po/my/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/my/minetest.po b/po/my/minetest.po index 272eb01c9..f3d5db609 100644 --- a/po/my/minetest.po +++ b/po/my/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Burmese (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Burmese \n" "Language: my\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1681,7 +1681,7 @@ msgstr "" #: src/network/clientpackethandler.cpp msgid "LANG_CODE" -msgstr "" +msgstr "my" #: src/settings_translation_file.cpp msgid "" From f6490859fdb7654e77ecdfdd8ff80423c3572e4b Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 11 Jan 2020 18:21:34 +0000 Subject: [PATCH 108/279] Translated using Weblate (Japanese (Kansai)) Currently translated at 0.2% (2 of 1274 strings) --- po/ja_KS/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/ja_KS/minetest.po b/po/ja_KS/minetest.po index 504aadb3b..2eb3e2e93 100644 --- a/po/ja_KS/minetest.po +++ b/po/ja_KS/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Japanese (Kansai) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-10-09 22:02+0200\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" -"Last-Translator: Krock \n" +"PO-Revision-Date: 2020-01-11 18:26+0000\n" +"Last-Translator: rubenwardy \n" "Language-Team: Japanese (Kansai) \n" "Language: ja_KS\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.10-dev\n" +"X-Generator: Weblate 3.10.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -1681,7 +1681,7 @@ msgstr "" #: src/network/clientpackethandler.cpp msgid "LANG_CODE" -msgstr "" +msgstr "ja_KS" #: src/settings_translation_file.cpp msgid "" From c02f13d33f87e030e89a63767f5f96e03fedc6fe Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Fri, 10 Jan 2020 18:59:43 +0000 Subject: [PATCH 109/279] Release 5.1.1 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4fcb9506a..ecab1cc51 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ set(VERSION_PATCH 1) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases -set(DEVELOPMENT_BUILD TRUE) +set(DEVELOPMENT_BUILD FALSE) set(VERSION_STRING "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") if(VERSION_EXTRA) From cd840b7c9d1f228bab94c5f58b5df235d6c0a180 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sun, 28 Feb 2021 17:10:40 +0000 Subject: [PATCH 110/279] pkgmgr: Fix crash when .conf release field is invalid Fixes #10942 --- builtin/mainmenu/pkgmgr.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index 19127d8d3..4aa05d838 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -90,7 +90,7 @@ local function load_texture_packs(txtpath, retval) retval[#retval + 1] = { name = item, author = conf:get("author"), - release = tonumber(conf:get("release") or "0"), + release = tonumber(conf:get("release")) or 0, list_name = name, type = "txp", path = path, @@ -135,7 +135,7 @@ function get_mods(path,retval,modpack) -- Read from config toadd.name = name toadd.author = mod_conf.author - toadd.release = tonumber(mod_conf.release or "0") + toadd.release = tonumber(mod_conf.release) or 0 toadd.path = prefix toadd.type = "mod" From 67be50b706b0d1364b42ff1fd3d461d0794cd268 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein <54945686+EliasFleckenstein03@users.noreply.github.com> Date: Mon, 1 Mar 2021 12:13:47 +0100 Subject: [PATCH 111/279] Make pkgmgr handle modpacks containing modpacks properly fixes #10550 --- builtin/mainmenu/pkgmgr.lua | 39 ++++++++++++++++--------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index 4aa05d838..787936e31 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -413,18 +413,7 @@ function pkgmgr.is_modpack_entirely_enabled(data, name) end ---------- toggles or en/disables a mod or modpack and its dependencies -------- -function pkgmgr.enable_mod(this, toset) - local list = this.data.list:get_list() - local mod = list[this.data.selected_mod] - - -- Game mods can't be enabled or disabled - if mod.is_game_content then - return - end - - local toggled_mods = {} - - local enabled_mods = {} +local function toggle_mod_or_modpack(list, toggled_mods, enabled_mods, toset, mod) if not mod.is_modpack then -- Toggle or en/disable the mod if toset == nil then @@ -443,19 +432,25 @@ function pkgmgr.enable_mod(this, toset) -- interleaved unsupported for i = 1, #list do if list[i].modpack == mod.name then - if toset == nil then - toset = not list[i].enabled - end - if list[i].enabled ~= toset then - list[i].enabled = toset - toggled_mods[#toggled_mods+1] = list[i].name - end - if toset then - enabled_mods[list[i].name] = true - end + toggle_mod_or_modpack(list, toggled_mods, enabled_mods, toset, list[i]) end end end +end + +function pkgmgr.enable_mod(this, toset) + local list = this.data.list:get_list() + local mod = list[this.data.selected_mod] + + -- Game mods can't be enabled or disabled + if mod.is_game_content then + return + end + + local toggled_mods = {} + local enabled_mods = {} + toggle_mod_or_modpack(list, toggled_mods, enabled_mods, toset, mod) + if not toset then -- Mod(s) were disabled, so no dependencies need to be enabled table.sort(toggled_mods) From 41beb74ef7eab2a2c634cd2c23671807443788aa Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sun, 7 Mar 2021 10:04:07 +0100 Subject: [PATCH 112/279] Protect per-player detached inventory actions --- src/network/serverpackethandler.cpp | 6 +++++- src/server/serverinventorymgr.cpp | 12 ++++++++++++ src/server/serverinventorymgr.h | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index ddc6f4e47..f1ed42302 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -626,7 +626,7 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt) const bool player_has_interact = checkPriv(player->getName(), "interact"); - auto check_inv_access = [player, player_has_interact] ( + auto check_inv_access = [player, player_has_interact, this] ( const InventoryLocation &loc) -> bool { if (loc.type == InventoryLocation::CURRENT_PLAYER) return false; // Only used internally on the client, never sent @@ -634,6 +634,10 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt) // Allow access to own inventory in all cases return loc.name == player->getName(); } + if (loc.type == InventoryLocation::DETACHED) { + if (!getInventoryMgr()->checkDetachedInventoryAccess(loc, player->getName())) + return false; + } if (!player_has_interact) { infostream << "Cannot modify foreign inventory: " diff --git a/src/server/serverinventorymgr.cpp b/src/server/serverinventorymgr.cpp index 555e01ec6..2a80c9bbe 100644 --- a/src/server/serverinventorymgr.cpp +++ b/src/server/serverinventorymgr.cpp @@ -168,6 +168,18 @@ bool ServerInventoryManager::removeDetachedInventory(const std::string &name) return true; } +bool ServerInventoryManager::checkDetachedInventoryAccess( + const InventoryLocation &loc, const std::string &player) const +{ + SANITY_CHECK(loc.type == InventoryLocation::DETACHED); + + const auto &inv_it = m_detached_inventories.find(loc.name); + if (inv_it == m_detached_inventories.end()) + return false; + + return inv_it->second.owner.empty() || inv_it->second.owner == player; +} + void ServerInventoryManager::sendDetachedInventories(const std::string &peer_name, bool incremental, std::function apply_cb) diff --git a/src/server/serverinventorymgr.h b/src/server/serverinventorymgr.h index ccf6d3b2e..0e4b72415 100644 --- a/src/server/serverinventorymgr.h +++ b/src/server/serverinventorymgr.h @@ -43,6 +43,7 @@ public: Inventory *createDetachedInventory(const std::string &name, IItemDefManager *idef, const std::string &player = ""); bool removeDetachedInventory(const std::string &name); + bool checkDetachedInventoryAccess(const InventoryLocation &loc, const std::string &player) const; void sendDetachedInventories(const std::string &peer_name, bool incremental, std::function apply_cb); From 77e936445f4e520e5301de03f11698083d9184a9 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sun, 7 Mar 2021 11:35:53 +0100 Subject: [PATCH 113/279] Protect dropping from far node inventories Also changes if/if to switch/case --- src/network/serverpackethandler.cpp | 47 ++++++++++++++--------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index f1ed42302..b863e1828 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -628,23 +628,34 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt) auto check_inv_access = [player, player_has_interact, this] ( const InventoryLocation &loc) -> bool { - if (loc.type == InventoryLocation::CURRENT_PLAYER) - return false; // Only used internally on the client, never sent - if (loc.type == InventoryLocation::PLAYER) { - // Allow access to own inventory in all cases - return loc.name == player->getName(); - } - if (loc.type == InventoryLocation::DETACHED) { - if (!getInventoryMgr()->checkDetachedInventoryAccess(loc, player->getName())) - return false; - } - if (!player_has_interact) { + // Players without interact may modify their own inventory + if (!player_has_interact && loc.type != InventoryLocation::PLAYER) { infostream << "Cannot modify foreign inventory: " << "No interact privilege" << std::endl; return false; } - return true; + + switch (loc.type) { + case InventoryLocation::CURRENT_PLAYER: + // Only used internally on the client, never sent + return false; + case InventoryLocation::PLAYER: + // Allow access to own inventory in all cases + return loc.name == player->getName(); + case InventoryLocation::NODEMETA: + { + // Check for out-of-range interaction + v3f node_pos = intToFloat(loc.p, BS); + v3f player_pos = player->getPlayerSAO()->getEyePosition(); + f32 d = player_pos.getDistanceFrom(node_pos); + return checkInteractDistance(player, d, "inventory"); + } + case InventoryLocation::DETACHED: + return getInventoryMgr()->checkDetachedInventoryAccess(loc, player->getName()); + default: + return false; + } }; /* @@ -664,18 +675,6 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt) !check_inv_access(ma->to_inv)) return; - InventoryLocation *remote = ma->from_inv.type == InventoryLocation::PLAYER ? - &ma->to_inv : &ma->from_inv; - - // Check for out-of-range interaction - if (remote->type == InventoryLocation::NODEMETA) { - v3f node_pos = intToFloat(remote->p, BS); - v3f player_pos = player->getPlayerSAO()->getEyePosition(); - f32 d = player_pos.getDistanceFrom(node_pos); - if (!checkInteractDistance(player, d, "inventory")) - return; - } - /* Disable moving items out of craftpreview */ From 847860fc5cf8867deb45646670ce1f11c3f977b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Tue, 30 Mar 2021 21:49:50 +0200 Subject: [PATCH 114/279] Block & report player self-interaction (#11137) --- doc/lua_api.txt | 1 + src/network/serverpackethandler.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/doc/lua_api.txt b/doc/lua_api.txt index d3165b9fd..790ab32f4 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -4654,6 +4654,7 @@ Call these functions only at load time! * `cheat`: `{type=}`, where `` is one of: * `moved_too_fast` * `interacted_too_far` + * `interacted_with_self` * `interacted_while_dead` * `finished_unknown_dig` * `dug_unbreakable` diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index b863e1828..fd5aed9d1 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -1041,6 +1041,12 @@ void Server::handleCommand_Interact(NetworkPacket *pkt) if (pointed.type == POINTEDTHING_NODE) { target_pos = intToFloat(pointed.node_undersurface, BS); } else if (pointed.type == POINTEDTHING_OBJECT) { + if (playersao->getId() == pointed_object->getId()) { + actionstream << "Server: " << player->getName() + << " attempted to interact with themselves" << std::endl; + m_script->on_cheat(playersao, "interacted_with_self"); + return; + } target_pos = pointed_object->getBasePosition(); } float d = playersao->getEyePosition().getDistanceFrom(target_pos); From e5f802ab5cb32b242b0261000f8836a7da72a4bc Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 2 Apr 2021 16:31:44 +0200 Subject: [PATCH 115/279] Fix server favorites not saving when client/serverlist/ doesn't exist already (#11152) --- builtin/mainmenu/serverlistmgr.lua | 10 ++++++---- src/script/lua_api/l_mainmenu.cpp | 19 +++++++++++-------- src/script/lua_api/l_mainmenu.h | 2 +- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/builtin/mainmenu/serverlistmgr.lua b/builtin/mainmenu/serverlistmgr.lua index 9876d8ac5..964d0c584 100644 --- a/builtin/mainmenu/serverlistmgr.lua +++ b/builtin/mainmenu/serverlistmgr.lua @@ -90,8 +90,11 @@ function serverlistmgr.sync() end -------------------------------------------------------------------------------- -local function get_favorites_path() +local function get_favorites_path(folder) local base = core.get_user_path() .. DIR_DELIM .. "client" .. DIR_DELIM .. "serverlist" .. DIR_DELIM + if folder then + return base + end return base .. core.settings:get("serverlist_file") end @@ -103,9 +106,8 @@ local function save_favorites(favorites) core.settings:set("serverlist_file", filename:sub(1, #filename - 4) .. ".json") end - local path = get_favorites_path() - core.create_dir(path) - core.safe_file_write(path, core.write_json(favorites)) + assert(core.create_dir(get_favorites_path(true))) + core.safe_file_write(get_favorites_path(), core.write_json(favorites)) end -------------------------------------------------------------------------------- diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp index ba7f708a4..3e9709bde 100644 --- a/src/script/lua_api/l_mainmenu.cpp +++ b/src/script/lua_api/l_mainmenu.cpp @@ -716,21 +716,24 @@ int ModApiMainMenu::l_get_mainmenu_path(lua_State *L) } /******************************************************************************/ -bool ModApiMainMenu::mayModifyPath(const std::string &path) +bool ModApiMainMenu::mayModifyPath(std::string path) { + path = fs::RemoveRelativePathComponents(path); + if (fs::PathStartsWith(path, fs::TempPath())) return true; - if (fs::PathStartsWith(path, fs::RemoveRelativePathComponents(porting::path_user + DIR_DELIM "games"))) - return true; + std::string path_user = fs::RemoveRelativePathComponents(porting::path_user); - if (fs::PathStartsWith(path, fs::RemoveRelativePathComponents(porting::path_user + DIR_DELIM "mods"))) + if (fs::PathStartsWith(path, path_user + DIR_DELIM "client")) return true; - - if (fs::PathStartsWith(path, fs::RemoveRelativePathComponents(porting::path_user + DIR_DELIM "textures"))) + if (fs::PathStartsWith(path, path_user + DIR_DELIM "games")) return true; - - if (fs::PathStartsWith(path, fs::RemoveRelativePathComponents(porting::path_user + DIR_DELIM "worlds"))) + if (fs::PathStartsWith(path, path_user + DIR_DELIM "mods")) + return true; + if (fs::PathStartsWith(path, path_user + DIR_DELIM "textures")) + return true; + if (fs::PathStartsWith(path, path_user + DIR_DELIM "worlds")) return true; if (fs::PathStartsWith(path, fs::RemoveRelativePathComponents(porting::path_cache))) diff --git a/src/script/lua_api/l_mainmenu.h b/src/script/lua_api/l_mainmenu.h index 49ce7c251..33ac9e721 100644 --- a/src/script/lua_api/l_mainmenu.h +++ b/src/script/lua_api/l_mainmenu.h @@ -58,7 +58,7 @@ private: * @param path path to check * @return true if the path may be modified */ - static bool mayModifyPath(const std::string &path); + static bool mayModifyPath(std::string path); //api calls From 43e262f13e8046dbe756cbfa45bf78e022e010cc Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 5 Apr 2021 15:21:43 +0200 Subject: [PATCH 116/279] Don't apply connection timeout limit to locally hosted servers fixes #11085 --- src/client/game.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/game.cpp b/src/client/game.cpp index 3c58fb46f..e3c40130f 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -1532,7 +1532,7 @@ bool Game::connectToServer(const GameStartData &start_data, } else { wait_time += dtime; // Only time out if we aren't waiting for the server we started - if (!start_data.isSinglePlayer() && wait_time > 10) { + if (!start_data.address.empty() && wait_time > 10) { *error_message = "Connection timed out."; errorstream << *error_message << std::endl; break; From 1c89a07226d069817ffd8ad4034e00b8fc1b96d5 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Mon, 22 Mar 2021 01:22:22 +0300 Subject: [PATCH 117/279] Restore minimal normal texture support (for minimap shading) --- src/client/game.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/client/game.cpp b/src/client/game.cpp index e3c40130f..fbdbc4f5f 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -425,6 +425,7 @@ class GameGlobalShaderConstantSetter : public IShaderConstantSetter CachedPixelShaderSetting m_camera_offset_pixel; CachedPixelShaderSetting m_camera_offset_vertex; CachedPixelShaderSetting m_base_texture; + CachedPixelShaderSetting m_normal_texture; Client *m_client; public: @@ -458,6 +459,7 @@ public: m_camera_offset_pixel("cameraOffset"), m_camera_offset_vertex("cameraOffset"), m_base_texture("baseTexture"), + m_normal_texture("normalTexture"), m_client(client) { g_settings->registerChangedCallback("enable_fog", settingsCallback, this); @@ -545,8 +547,9 @@ public: m_camera_offset_pixel.set(camera_offset_array, services); m_camera_offset_vertex.set(camera_offset_array, services); - SamplerLayer_t base_tex = 0; + SamplerLayer_t base_tex = 0, normal_tex = 1; m_base_texture.set(&base_tex, services); + m_normal_texture.set(&normal_tex, services); } }; From ae1d82c3256e25de97bf93b4fd87033bc9012159 Mon Sep 17 00:00:00 2001 From: savilli <78875209+savilli@users.noreply.github.com> Date: Fri, 26 Feb 2021 23:21:20 +0300 Subject: [PATCH 118/279] Fix hud_change and hud_remove after hud_add (#10997) --- src/client/client.h | 8 ------- src/client/game.cpp | 30 ++++++++++++++++------- src/network/clientpackethandler.cpp | 37 +++++++++++------------------ 3 files changed, 35 insertions(+), 40 deletions(-) diff --git a/src/client/client.h b/src/client/client.h index 25a1b97ba..2dba1506e 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -415,11 +415,6 @@ public: return m_csm_restriction_flags & flag; } - inline std::unordered_map &getHUDTranslationMap() - { - return m_hud_server_to_client; - } - bool joinModChannel(const std::string &channel) override; bool leaveModChannel(const std::string &channel) override; bool sendModChannelMessage(const std::string &channel, @@ -556,9 +551,6 @@ private: // Relation of client id to object id std::unordered_map m_sounds_to_objects; - // Map server hud ids to client hud ids - std::unordered_map m_hud_server_to_client; - // Privileges std::unordered_set m_privileges; diff --git a/src/client/game.cpp b/src/client/game.cpp index fbdbc4f5f..a88972d53 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -859,6 +859,9 @@ private: Hud *hud = nullptr; Minimap *mapper = nullptr; + // Map server hud ids to client hud ids + std::unordered_map m_hud_server_to_client; + GameRunData runData; Flags m_flags; @@ -2605,12 +2608,11 @@ void Game::handleClientEvent_HandleParticleEvent(ClientEvent *event, void Game::handleClientEvent_HudAdd(ClientEvent *event, CameraOrientation *cam) { LocalPlayer *player = client->getEnv().getLocalPlayer(); - auto &hud_server_to_client = client->getHUDTranslationMap(); u32 server_id = event->hudadd.server_id; // ignore if we already have a HUD with that ID - auto i = hud_server_to_client.find(server_id); - if (i != hud_server_to_client.end()) { + auto i = m_hud_server_to_client.find(server_id); + if (i != m_hud_server_to_client.end()) { delete event->hudadd.pos; delete event->hudadd.name; delete event->hudadd.scale; @@ -2638,7 +2640,7 @@ void Game::handleClientEvent_HudAdd(ClientEvent *event, CameraOrientation *cam) e->size = *event->hudadd.size; e->z_index = event->hudadd.z_index; e->text2 = *event->hudadd.text2; - hud_server_to_client[server_id] = player->addHud(e); + m_hud_server_to_client[server_id] = player->addHud(e); delete event->hudadd.pos; delete event->hudadd.name; @@ -2654,18 +2656,28 @@ void Game::handleClientEvent_HudAdd(ClientEvent *event, CameraOrientation *cam) void Game::handleClientEvent_HudRemove(ClientEvent *event, CameraOrientation *cam) { LocalPlayer *player = client->getEnv().getLocalPlayer(); - HudElement *e = player->removeHud(event->hudrm.id); - delete e; + + auto i = m_hud_server_to_client.find(event->hudrm.id); + if (i != m_hud_server_to_client.end()) { + HudElement *e = player->removeHud(i->second); + delete e; + m_hud_server_to_client.erase(i); + } + } void Game::handleClientEvent_HudChange(ClientEvent *event, CameraOrientation *cam) { LocalPlayer *player = client->getEnv().getLocalPlayer(); - u32 id = event->hudchange.id; - HudElement *e = player->getHud(id); + HudElement *e = nullptr; - if (e == NULL) { + auto i = m_hud_server_to_client.find(event->hudchange.id); + if (i != m_hud_server_to_client.end()) { + e = player->getHud(i->second); + } + + if (e == nullptr) { delete event->hudchange.v3fdata; delete event->hudchange.v2fdata; delete event->hudchange.sdata; diff --git a/src/network/clientpackethandler.cpp b/src/network/clientpackethandler.cpp index 65db02300..44bd81dac 100644 --- a/src/network/clientpackethandler.cpp +++ b/src/network/clientpackethandler.cpp @@ -1095,16 +1095,10 @@ void Client::handleCommand_HudRemove(NetworkPacket* pkt) *pkt >> server_id; - auto i = m_hud_server_to_client.find(server_id); - if (i != m_hud_server_to_client.end()) { - int client_id = i->second; - m_hud_server_to_client.erase(i); - - ClientEvent *event = new ClientEvent(); - event->type = CE_HUDRM; - event->hudrm.id = client_id; - m_client_event_queue.push(event); - } + ClientEvent *event = new ClientEvent(); + event->type = CE_HUDRM; + event->hudrm.id = server_id; + m_client_event_queue.push(event); } void Client::handleCommand_HudChange(NetworkPacket* pkt) @@ -1131,19 +1125,16 @@ void Client::handleCommand_HudChange(NetworkPacket* pkt) else *pkt >> intdata; - std::unordered_map::const_iterator i = m_hud_server_to_client.find(server_id); - if (i != m_hud_server_to_client.end()) { - ClientEvent *event = new ClientEvent(); - event->type = CE_HUDCHANGE; - event->hudchange.id = i->second; - event->hudchange.stat = (HudElementStat)stat; - event->hudchange.v2fdata = new v2f(v2fdata); - event->hudchange.v3fdata = new v3f(v3fdata); - event->hudchange.sdata = new std::string(sdata); - event->hudchange.data = intdata; - event->hudchange.v2s32data = new v2s32(v2s32data); - m_client_event_queue.push(event); - } + ClientEvent *event = new ClientEvent(); + event->type = CE_HUDCHANGE; + event->hudchange.id = server_id; + event->hudchange.stat = (HudElementStat)stat; + event->hudchange.v2fdata = new v2f(v2fdata); + event->hudchange.v3fdata = new v3f(v3fdata); + event->hudchange.sdata = new std::string(sdata); + event->hudchange.data = intdata; + event->hudchange.v2s32data = new v2s32(v2s32data); + m_client_event_queue.push(event); } void Client::handleCommand_HudSetFlags(NetworkPacket* pkt) From aeafcce314fc863716d45dd5e1e38cb42aea15e7 Mon Sep 17 00:00:00 2001 From: Giov4 Date: Wed, 24 Feb 2021 19:31:05 +0000 Subject: [PATCH 119/279] Translated using Weblate (Italian) Currently translated at 99.7% (1352 of 1356 strings) --- po/it/minetest.po | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/po/it/minetest.po b/po/it/minetest.po index 897859222..b9bfa1b6c 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Italian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" -"Last-Translator: Jacques Lagrange \n" +"PO-Revision-Date: 2021-02-25 23:50+0000\n" +"Last-Translator: Giov4 \n" "Language-Team: Italian \n" "Language: it\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -747,7 +747,7 @@ msgstr "Rinomina" #: builtin/mainmenu/tab_content.lua msgid "Uninstall Package" -msgstr "Disinstalla la raccolta" +msgstr "Disinstalla pacchetto" #: builtin/mainmenu/tab_content.lua msgid "Use Texture Pack" @@ -1888,7 +1888,7 @@ msgstr "Selezione raggio" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Screenshot" -msgstr "Schermata" +msgstr "Screenshot" #: src/gui/guiKeyChangeMenu.cpp msgid "Sneak" @@ -3409,7 +3409,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Format of screenshots." -msgstr "Formato delle schermate." +msgstr "Formato degli screenshot." #: src/settings_translation_file.cpp msgid "Formspec Default Background Color" @@ -4764,7 +4764,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tasto per scattare schermate.\n" +"Tasto per scattare gli screenshot.\n" "Si veda http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -5784,7 +5784,7 @@ msgid "" "Path to save screenshots at. Can be an absolute or relative path.\n" "The folder will be created if it doesn't already exist." msgstr "" -"Percorso dove salvare le schermate. Può essere un percorso assoluto o " +"Percorso dove salvare gli screenshot. Può essere un percorso assoluto o " "relativo.\n" "La cartella sarà create se non esiste già." @@ -6141,15 +6141,15 @@ msgstr "Larghezza dello schermo" #: src/settings_translation_file.cpp msgid "Screenshot folder" -msgstr "Cartella delle schermate" +msgstr "Cartella degli screenshot" #: src/settings_translation_file.cpp msgid "Screenshot format" -msgstr "Formato delle schermate" +msgstr "Formato degli screenshot" #: src/settings_translation_file.cpp msgid "Screenshot quality" -msgstr "Qualità delle schermate" +msgstr "Qualità degli screenshot" #: src/settings_translation_file.cpp msgid "" @@ -6157,8 +6157,8 @@ msgid "" "1 means worst quality; 100 means best quality.\n" "Use 0 for default quality." msgstr "" -"Qualità delle schermate. Usata solo per il formato JPEG.\n" -"1 significa qualità peggiore, 100 significa qualità migliore.\n" +"Qualità degli screenshot. Usata solo per il formato JPEG.\n" +"1 significa la qualità peggiore, 100 quella migliore.\n" "Usa 0 per la qualità predefinita." #: src/settings_translation_file.cpp From 34883d356ed637de13191b2750581b133a27f0b5 Mon Sep 17 00:00:00 2001 From: Mateusz Mendel Date: Wed, 24 Feb 2021 14:58:08 +0000 Subject: [PATCH 120/279] Translated using Weblate (Polish) Currently translated at 71.2% (966 of 1356 strings) --- po/pl/minetest.po | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/po/pl/minetest.po b/po/pl/minetest.po index 4c5d166e8..8b4d1d407 100644 --- a/po/pl/minetest.po +++ b/po/pl/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Polish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-12-27 00:29+0000\n" -"Last-Translator: Atrate \n" +"PO-Revision-Date: 2021-02-25 23:50+0000\n" +"Last-Translator: Mateusz Mendel \n" "Language-Team: Polish \n" "Language: pl\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.4.1-dev\n" +"X-Generator: Weblate 4.5\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -108,8 +108,9 @@ msgstr "" "znaki. Tylko znaki od [a-z, 0-9 i _] są dozwolone." #: builtin/mainmenu/dlg_config_world.lua +#, fuzzy msgid "Find More Mods" -msgstr "" +msgstr "Znajdź więcej modów" #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" @@ -153,22 +154,28 @@ msgid "enabled" msgstr "włączone" #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" już istnieje. Czy chciałbyś to nadpisać?" #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "Zależności $1 i $2 będą zainstalowane." #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "$1 by $2" -msgstr "" +msgstr "$1 przez $2" #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"$1 pobierany,\n" +"$2 w kolejce" #: builtin/mainmenu/dlg_contentstore.lua #, fuzzy @@ -176,12 +183,14 @@ msgid "$1 downloading..." msgstr "Ładowanie..." #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "$1 required dependencies could not be found." -msgstr "" +msgstr "$1 wymaga zależności, których nie można znaleźć." #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "" +msgstr "$1 będzie zainstalowany, a zależności $2 zostaną pominięte." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" @@ -258,15 +267,15 @@ msgstr "Wycisz dźwięk" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "Nadpisz" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "Proszę sprawdzić, czy gra podstawowa jest poprawnie zainstalowana." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" -msgstr "" +msgstr "W kolejce" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -282,11 +291,11 @@ msgstr "Aktualizacja" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Zaktualizuj wszystko [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" -msgstr "" +msgstr "Pokaż więcej informacji w przeglądarce" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" @@ -303,7 +312,7 @@ msgstr "Wysokość mrozu" #: builtin/mainmenu/dlg_create_world.lua msgid "Altitude dry" -msgstr "" +msgstr "Wysokość suchości" #: builtin/mainmenu/dlg_create_world.lua #, fuzzy @@ -364,7 +373,7 @@ msgstr "Gra" #: builtin/mainmenu/dlg_create_world.lua msgid "Generate non-fractal terrain: Oceans and underground" -msgstr "" +msgstr "Generuj niefraktalny teren: oceany i podziemia" #: builtin/mainmenu/dlg_create_world.lua msgid "Hills" @@ -443,13 +452,15 @@ msgstr "Ziarno losowości" #: builtin/mainmenu/dlg_create_world.lua msgid "Smooth transition between biomes" -msgstr "" +msgstr "Płynne przejście między biomami" #: builtin/mainmenu/dlg_create_world.lua msgid "" "Structures appearing on the terrain (no effect on trees and jungle grass " "created by v6)" msgstr "" +"Struktury pojawiające się na terenie (brak wpływu na drzewa i trawę w " +"dżungli stworzone przez v6)" #: builtin/mainmenu/dlg_create_world.lua msgid "Structures appearing on the terrain, typically trees and plants" From 740d0da5ee8fcd2d2960579e2849695b0e6fa74a Mon Sep 17 00:00:00 2001 From: narrnika Date: Wed, 24 Feb 2021 15:36:56 +0000 Subject: [PATCH 121/279] Translated using Weblate (Russian) Currently translated at 99.3% (1347 of 1356 strings) --- po/ru/minetest.po | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index 9f78a12da..7ea2b0235 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" -"Last-Translator: Ertu (Er2, Err) \n" +"PO-Revision-Date: 2021-02-25 23:50+0000\n" +"Last-Translator: narrnika \n" "Language-Team: Russian \n" "Language: ru\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -3015,9 +3015,8 @@ msgid "Enable console window" msgstr "Включить окно консоли" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Включить творческий режим для вновь созданных карт." +msgstr "Включить творческий режим для всех игроков." #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -4341,13 +4340,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for placing.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Клавиша прыжка.\n" +"Клавиша размещения.\n" "См. http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -6282,12 +6280,11 @@ msgid "Show entity selection boxes" msgstr "Показывать область выделения объектов" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Show entity selection boxes\n" "A restart is required after changing this." msgstr "" -"Установка языка. Оставьте пустым для использования системного языка.\n" +"Показывать область выделения объектов\n" "Требует перезапуска после изменения." #: src/settings_translation_file.cpp From 6b4210a2ea71f3f06bf6dc50637b0329d9835728 Mon Sep 17 00:00:00 2001 From: Marian Date: Wed, 24 Feb 2021 23:34:12 +0000 Subject: [PATCH 122/279] Translated using Weblate (Slovak) Currently translated at 100.0% (1356 of 1356 strings) --- po/sk/minetest.po | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/po/sk/minetest.po b/po/sk/minetest.po index c8249c0f0..f3c6f4445 100644 --- a/po/sk/minetest.po +++ b/po/sk/minetest.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" +"PO-Revision-Date: 2021-03-14 11:02+0000\n" "Last-Translator: Marian \n" "Language-Team: Slovak \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -190,7 +190,7 @@ msgstr "$1 bude nainštalovaný, a $2 závislosti budú preskočené." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" -msgstr "Všetky balíčky" +msgstr "Všetko" #: builtin/mainmenu/dlg_contentstore.lua msgid "Already installed" @@ -198,7 +198,7 @@ msgstr "Už je nainštalované" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "Naspäť do hlavného menu" +msgstr "Hlavné menu" #: builtin/mainmenu/dlg_contentstore.lua msgid "Base Game:" @@ -268,7 +268,7 @@ msgstr "Čaká v rade" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" -msgstr "Balíčky textúr" +msgstr "Textúry" #: builtin/mainmenu/dlg_contentstore.lua msgid "Uninstall" @@ -577,7 +577,7 @@ msgstr "Prosím vlož platné číslo." #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Restore Default" -msgstr "Obnov štandardné hodnoty" +msgstr "Obnov štand. hodnoty" #: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp msgid "Scale" @@ -710,9 +710,8 @@ msgid "Loading..." msgstr "Nahrávam..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Skriptovanie na strane klienta je zakázané" +msgstr "Zoznam verejných serverov je zakázaný" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -1023,7 +1022,7 @@ msgstr "Aby mohli byť aktivované shadery, musí sa použiť OpenGL." #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Tone Mapping" -msgstr "Tone Mapping (Optim. farieb)" +msgstr "Optim. farieb" #: builtin/mainmenu/tab_settings.lua msgid "Touchthreshold: (px)" @@ -3005,9 +3004,8 @@ msgid "Enable console window" msgstr "Aktivuj okno konzoly" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Aktivuj kreatívny režim pre novo vytvorené mapy." +msgstr "Aktivuj kreatívny režim pre všetkých hráčov" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -4987,13 +4985,13 @@ msgid "" "- verbose" msgstr "" "Úroveň ladiacich informácií, ktoré budú zapísané do debug.txt:\n" -"- (bez logovania)\n" -"- žiadna (správy bez úrovne)\n" -"- chyby\n" -"- varovania\n" -"- akcie\n" -"- informácie\n" -"- všetko" +"- (bez logovania)\n" +"- none - žiadna (správy bez úrovne)\n" +"- error - chyby\n" +"- warning - varovania\n" +"- akcie\n" +"- info - informácie\n" +"- verbose - všetko" #: src/settings_translation_file.cpp msgid "Light curve boost" @@ -6276,9 +6274,8 @@ msgstr "" "Po zmene je požadovaný reštart." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Štandardne tučné písmo" +msgstr "Pri mene zobraz štandardne pozadie" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -7107,6 +7104,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Či sa má pri mene zobraziť pozadie.\n" +"Rozšírenia stále môžu pozadie nastaviť." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." From 52b2eacd379fbffd9fc9192d906d574c2f82f047 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sun, 28 Feb 2021 11:03:12 +0000 Subject: [PATCH 123/279] Translated using Weblate (German) Currently translated at 100.0% (1356 of 1356 strings) --- po/de/minetest.po | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/po/de/minetest.po b/po/de/minetest.po index 484c4707f..f3894fe6f 100644 --- a/po/de/minetest.po +++ b/po/de/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: German (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" +"PO-Revision-Date: 2021-03-02 15:50+0000\n" "Last-Translator: Wuzzy \n" "Language-Team: German \n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -707,9 +707,8 @@ msgid "Loading..." msgstr "Lädt …" #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Clientseitige Skripte sind deaktiviert" +msgstr "Öffentliche Serverliste ist deaktiviert" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -1286,7 +1285,7 @@ msgstr "Unbegrenzte Sichtweite aktiviert" #: src/client/game.cpp msgid "Exit to Menu" -msgstr "Zum Hauptmenü" +msgstr "Hauptmenü" #: src/client/game.cpp msgid "Exit to OS" @@ -3038,9 +3037,8 @@ msgid "Enable console window" msgstr "Konsolenfenster aktivieren" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Kreativmodus für neu erstellte Karten aktivieren." +msgstr "Kreativmodus für alle Spieler aktivieren" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -6390,9 +6388,8 @@ msgstr "" "Nach Änderung ist ein Neustart erforderlich." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Schrift standardmäßig fett" +msgstr "Namensschildhintergründe standardmäßig anzeigen" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -7260,6 +7257,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Ob Namensschildhintergründe standardmäßig angezeigt werden sollen.\n" +"Mods können immer noch einen Hintergrund setzen." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." From be74ed9ab689c53aee395fa7f91168a1aaa18f8c Mon Sep 17 00:00:00 2001 From: Ayes Date: Sun, 28 Feb 2021 23:22:29 +0000 Subject: [PATCH 124/279] Translated using Weblate (Estonian) Currently translated at 39.5% (536 of 1356 strings) --- po/et/minetest.po | 98 +++++++++++++++++++++++------------------------ 1 file changed, 48 insertions(+), 50 deletions(-) diff --git a/po/et/minetest.po b/po/et/minetest.po index 5feb9be60..1b9440046 100644 --- a/po/et/minetest.po +++ b/po/et/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Estonian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-12-05 15:29+0000\n" -"Last-Translator: Janar Leas \n" +"PO-Revision-Date: 2021-03-02 15:50+0000\n" +"Last-Translator: Ayes \n" "Language-Team: Estonian \n" "Language: et\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.4-dev\n" +"X-Generator: Weblate 4.5\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -153,7 +153,7 @@ msgstr "Sisse lülitatud" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" on juba olemas. Kas sa tahad seda üle kirjutada?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." @@ -170,9 +170,8 @@ msgid "" msgstr "" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Allalaadimine..." +msgstr "$1 allalaadimine..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." @@ -180,29 +179,27 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "" +msgstr "Installitakse $1 ja $2 sõltuvus jäetakse vahele." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" msgstr "Kõik pakid" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "Nupp juba kasutuses" +msgstr "Juba installeeritud" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" msgstr "Tagasi peamenüüsse" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Võõrusta" +msgstr "Põhi Mäng:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" -msgstr "" +msgstr "ContentDB ei ole olemas kui Minetest on kompileeritud ilma cURL'ita" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading..." @@ -222,14 +219,13 @@ msgid "Install" msgstr "Paigalda" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "Paigalda" +msgstr "Paigalda $1" #: builtin/mainmenu/dlg_contentstore.lua #, fuzzy msgid "Install missing dependencies" -msgstr "Valikulised sõltuvused:" +msgstr "Paigalda valikulised sõltuvused" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -245,21 +241,21 @@ msgid "No results" msgstr "Tulemused puuduvad" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "Uuenda" +msgstr "Värskendusi pole" #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "Not found" -msgstr "" +msgstr "Ei leitud" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "Ümber kirjuta" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "Palun tee kindlaks et põhi mäng on õige." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" @@ -279,11 +275,11 @@ msgstr "Uuenda" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Uuenda kõiki [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" -msgstr "" +msgstr "Vaata rohkem infot veebibrauseris" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" @@ -705,9 +701,8 @@ msgid "Loading..." msgstr "Laadimine..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Kliendipoolne skriptimine on keelatud" +msgstr "Avalike serverite loend on keelatud" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -768,9 +763,8 @@ msgid "Credits" msgstr "Tegijad" #: builtin/mainmenu/tab_credits.lua -#, fuzzy msgid "Open User Data Directory" -msgstr "Vali kataloog" +msgstr "Avalik Kasutaja Andmete Kaust" #: builtin/mainmenu/tab_credits.lua msgid "" @@ -816,7 +810,7 @@ msgstr "Lisa mänge sisuvaramust" #: builtin/mainmenu/tab_local.lua msgid "Name" -msgstr "" +msgstr "Nimi" #: builtin/mainmenu/tab_local.lua msgid "New" @@ -840,9 +834,8 @@ msgid "Port" msgstr "Port" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Vali maailm:" +msgstr "Vali mod" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -996,7 +989,7 @@ msgstr "Varjutajad" #: builtin/mainmenu/tab_settings.lua #, fuzzy msgid "Shaders (experimental)" -msgstr "Lendsaared (katseline)" +msgstr "Shaderid (eksperimentaalsed)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1196,7 +1189,7 @@ msgid "Continue" msgstr "Jätka" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1219,12 +1212,12 @@ msgstr "" "- %s: liigu vasakule\n" "- %s: liigu paremale\n" "- %s: hüppa/roni\n" +"- %s: kaeva/viruta\n" +"- %s: paigalda/kasuta\n" "- %s: hiili/mine alla\n" "- %s: viska ese\n" "- %s: seljakott\n" "- Hiir: keera/vaata\n" -"- Hiire vasakklõps: kaeva/viruta\n" -"- Hiire paremklõps: paigalda/kasuta\n" "- Hiireratas: vali ese\n" "- %s: vestlus\n" @@ -1341,16 +1334,18 @@ msgid "Item definitions..." msgstr "Esemete määratlused..." #: src/client/game.cpp +#, fuzzy msgid "KiB/s" -msgstr "" +msgstr "KiB/s" #: src/client/game.cpp msgid "Media..." msgstr "Meedia..." #: src/client/game.cpp +#, fuzzy msgid "MiB/s" -msgstr "" +msgstr "MiB/s" #: src/client/game.cpp msgid "Minimap currently disabled by game or mod" @@ -1444,9 +1439,9 @@ msgid "Viewing range is at minimum: %d" msgstr "Vaate kaugus on vähim võimalik: %d" #: src/client/game.cpp -#, c-format +#, c-format, fuzzy msgid "Volume changed to %d%%" -msgstr "" +msgstr "helitugevus muutetud %d%%-ks" #: src/client/game.cpp msgid "Wireframe shown" @@ -1454,11 +1449,11 @@ msgstr "" #: src/client/game.cpp msgid "Zoom currently disabled by game or mod" -msgstr "" +msgstr "Suumimine on praegu mängu või modi tõttu keelatud" #: src/client/game.cpp msgid "ok" -msgstr "" +msgstr "sobib" #: src/client/gameui.cpp msgid "Chat hidden" @@ -1495,7 +1490,7 @@ msgstr "Tagasinihe" #: src/client/keycode.cpp msgid "Caps Lock" -msgstr "" +msgstr "Suurtähelukk" #: src/client/keycode.cpp msgid "Clear" @@ -1753,14 +1748,14 @@ msgid "Minimap hidden" msgstr "Pisikaart peidetud" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Radarkaart, Suurendus ×1" +msgstr "Radarkaart, Suurendus ×%d" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Pinnakaart, Suurendus ×1" +msgstr "Pinnakaart, Suurendus ×%d" #: src/client/minimap.cpp #, fuzzy @@ -1773,7 +1768,7 @@ msgstr "Paroolid ei ole samad!" #: src/gui/guiConfirmRegistration.cpp msgid "Register and Join" -msgstr "" +msgstr "Registreeru ja liitu" #: src/gui/guiConfirmRegistration.cpp #, c-format @@ -1799,7 +1794,7 @@ msgstr "Iseastuja" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Automatic jumping" -msgstr "" +msgstr "Automaatne hüppamine" #: src/gui/guiKeyChangeMenu.cpp msgid "Backward" @@ -1872,16 +1867,18 @@ msgid "Local command" msgstr "Kohalik käsk" #: src/gui/guiKeyChangeMenu.cpp +#, fuzzy msgid "Mute" -msgstr "" +msgstr "Summuta" #: src/gui/guiKeyChangeMenu.cpp msgid "Next item" msgstr "Järgmine üksus" #: src/gui/guiKeyChangeMenu.cpp +#, fuzzy msgid "Prev. item" -msgstr "" +msgstr "Eelmine asi" #: src/gui/guiKeyChangeMenu.cpp msgid "Range select" @@ -1966,8 +1963,9 @@ msgstr "Hääle Volüüm: " #. ~ Imperative, as in "Enter/type in text". #. Don't forget the space. #: src/gui/modalMenu.cpp +#, fuzzy msgid "Enter " -msgstr "" +msgstr "Sisesta " #. ~ DO NOT TRANSLATE THIS LITERALLY! #. This is a special string which needs to contain the translation's @@ -2046,7 +2044,7 @@ msgstr "3D pilved" #: src/settings_translation_file.cpp msgid "3D mode" -msgstr "" +msgstr "3D-režiim" #: src/settings_translation_file.cpp msgid "3D mode parallax strength" From e7ab875b477ddbeaf71fba2b0ebd958b586eb84c Mon Sep 17 00:00:00 2001 From: winniepee Date: Mon, 1 Mar 2021 15:35:51 +0000 Subject: [PATCH 125/279] Translated using Weblate (Chinese (Simplified)) Currently translated at 92.4% (1254 of 1356 strings) --- po/zh_CN/minetest.po | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po index aa816e11d..57853e413 100644 --- a/po/zh_CN/minetest.po +++ b/po/zh_CN/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-01-20 15:10+0000\n" -"Last-Translator: ZhiZe-ZG \n" +"PO-Revision-Date: 2021-03-02 15:50+0000\n" +"Last-Translator: winniepee \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -20,7 +20,7 @@ msgstr "重生" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "You died" -msgstr "您已死亡" +msgstr "您已经死亡" #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" @@ -36,7 +36,7 @@ msgstr "发生了错误:" #: builtin/fstk/ui.lua msgid "Main menu" -msgstr "主菜单" +msgstr "主单" #: builtin/fstk/ui.lua msgid "Reconnect" @@ -151,7 +151,7 @@ msgstr "启用" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\"已经存在,你想覆写吗?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." @@ -213,16 +213,15 @@ msgstr "下载 $1 失败" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Games" -msgstr "子游戏" +msgstr "游戏" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install" msgstr "安装" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "安装" +msgstr "安装$1" #: builtin/mainmenu/dlg_contentstore.lua #, fuzzy @@ -243,22 +242,20 @@ msgid "No results" msgstr "无结果" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "更新" +msgstr "没有更新" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Not found" -msgstr "静音" +msgstr "未找到" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "覆写" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "请查看游戏是否正确。" #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" From 4e620beb75d1b65b507b043b4b01b1293c9bc7e0 Mon Sep 17 00:00:00 2001 From: "Yaya - Nurul Azeera Hidayah @ Muhammad Nur Hidayat Yasuyoshi" Date: Sat, 27 Feb 2021 15:28:00 +0000 Subject: [PATCH 126/279] Translated using Weblate (Malay) Currently translated at 100.0% (1356 of 1356 strings) --- po/ms/minetest.po | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/po/ms/minetest.po b/po/ms/minetest.po index d35e063cc..d74807eb1 100644 --- a/po/ms/minetest.po +++ b/po/ms/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Malay (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-01 05:52+0000\n" +"PO-Revision-Date: 2021-03-10 17:02+0000\n" "Last-Translator: Yaya - Nurul Azeera Hidayah @ Muhammad Nur Hidayat " "Yasuyoshi \n" "Language-Team: Malay Date: Sun, 28 Feb 2021 15:11:57 +0000 Subject: [PATCH 127/279] Translated using Weblate (Greek) Currently translated at 8.8% (120 of 1356 strings) --- po/el/minetest.po | 204 +++++++++++++++++++++++----------------------- 1 file changed, 102 insertions(+), 102 deletions(-) diff --git a/po/el/minetest.po b/po/el/minetest.po index b9b6182bf..62db47b75 100644 --- a/po/el/minetest.po +++ b/po/el/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Greek (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" -"Last-Translator: Michalis \n" +"PO-Revision-Date: 2021-03-02 15:50+0000\n" +"Last-Translator: THANOS SIOURDAKIS \n" "Language-Team: Greek \n" "Language: el\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -24,7 +24,7 @@ msgstr "Πέθανες" #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" -msgstr "" +msgstr "Εντάξει" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" @@ -139,15 +139,15 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp msgid "Save" -msgstr "" +msgstr "Αποθήκευση" #: builtin/mainmenu/dlg_config_world.lua msgid "World:" -msgstr "" +msgstr "Κόσμος:" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" -msgstr "" +msgstr "ενεργοποιήθηκε" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" @@ -182,15 +182,15 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" -msgstr "" +msgstr "Όλα τα Πακέτα" #: builtin/mainmenu/dlg_contentstore.lua msgid "Already installed" -msgstr "" +msgstr "Ήδη εγκαταστημένο" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "" +msgstr "Πίσω στο Κύριο Μενού" #: builtin/mainmenu/dlg_contentstore.lua msgid "Base Game:" @@ -211,11 +211,11 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Games" -msgstr "" +msgstr "Παιχνίδια" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install" -msgstr "" +msgstr "Εγκατάσταση" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install $1" @@ -236,7 +236,7 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "No results" -msgstr "" +msgstr "Χωρίς αποτελέσματα" #: builtin/mainmenu/dlg_contentstore.lua msgid "No updates" @@ -244,7 +244,7 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Not found" -msgstr "" +msgstr "Δε βρέθηκε" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" @@ -264,15 +264,15 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Uninstall" -msgstr "" +msgstr "Απεγκατάσταση" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update" -msgstr "" +msgstr "Ενημέρωση" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Ενημέρωση Όλων [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" @@ -312,7 +312,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" -msgstr "" +msgstr "Δημιουργία" #: builtin/mainmenu/dlg_create_world.lua msgid "Decorations" @@ -344,7 +344,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" -msgstr "" +msgstr "Παιχνίδι" #: builtin/mainmenu/dlg_create_world.lua msgid "Generate non-fractal terrain: Oceans and underground" @@ -352,7 +352,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Hills" -msgstr "" +msgstr "Λόφοι" #: builtin/mainmenu/dlg_create_world.lua msgid "Humid rivers" @@ -364,7 +364,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Lakes" -msgstr "" +msgstr "Λίμνες" #: builtin/mainmenu/dlg_create_world.lua msgid "Low humidity and high heat causes shallow or dry rivers" @@ -384,7 +384,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Mountains" -msgstr "" +msgstr "Βουνά" #: builtin/mainmenu/dlg_create_world.lua msgid "Mud flow" @@ -396,7 +396,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" -msgstr "" +msgstr "Κανένα παιχνίδι επιλεγμένο" #: builtin/mainmenu/dlg_create_world.lua msgid "Reduces heat with altitude" @@ -408,7 +408,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Rivers" -msgstr "" +msgstr "Ποτάμια" #: builtin/mainmenu/dlg_create_world.lua msgid "Sea level rivers" @@ -417,7 +417,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Seed" -msgstr "" +msgstr "Σπόρος" #: builtin/mainmenu/dlg_create_world.lua msgid "Smooth transition between biomes" @@ -467,7 +467,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "World name" -msgstr "" +msgstr "Όνομα κόσμου" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no games installed." @@ -481,7 +481,7 @@ msgstr "" #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua #: src/client/keycode.cpp msgid "Delete" -msgstr "" +msgstr "Διαγραφή" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" @@ -497,7 +497,7 @@ msgstr "" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" -msgstr "" +msgstr "Αποδοχή" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Rename Modpack:" @@ -523,7 +523,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" -msgstr "" +msgstr "Περιήγηση" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Disabled" @@ -531,7 +531,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Edit" -msgstr "" +msgstr "Επεξεργασία" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Enabled" @@ -571,15 +571,15 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Search" -msgstr "" +msgstr "Αναζήτηση" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select directory" -msgstr "" +msgstr "Επιλογή φακέλου" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select file" -msgstr "" +msgstr "Επιλογή αρχείου" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Show technical names" @@ -666,7 +666,7 @@ msgstr "" #: builtin/mainmenu/pkgmgr.lua msgid "Install: file: \"$1\"" -msgstr "" +msgstr "Εγκατάσταση: αρχείο: \"$1\"" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to find a valid mod or modpack" @@ -704,11 +704,11 @@ msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Browse online content" -msgstr "" +msgstr "Περιήγηση διαδικτυακού περιεχομένου" #: builtin/mainmenu/tab_content.lua msgid "Content" -msgstr "" +msgstr "Περιεχόμενο" #: builtin/mainmenu/tab_content.lua msgid "Disable Texture Pack" @@ -716,11 +716,11 @@ msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Information:" -msgstr "" +msgstr "Πληροφορίες:" #: builtin/mainmenu/tab_content.lua msgid "Installed Packages:" -msgstr "" +msgstr "Εγκαταστημένα Πακέτα:" #: builtin/mainmenu/tab_content.lua msgid "No dependencies." @@ -732,7 +732,7 @@ msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Rename" -msgstr "" +msgstr "Μετονομασία" #: builtin/mainmenu/tab_content.lua msgid "Uninstall Package" @@ -752,7 +752,7 @@ msgstr "" #: builtin/mainmenu/tab_credits.lua msgid "Credits" -msgstr "" +msgstr "Μνείες" #: builtin/mainmenu/tab_credits.lua msgid "Open User Data Directory" @@ -802,11 +802,11 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Name" -msgstr "" +msgstr "Όνομα" #: builtin/mainmenu/tab_local.lua msgid "New" -msgstr "" +msgstr "Νέο" #: builtin/mainmenu/tab_local.lua msgid "No world created or selected!" @@ -814,7 +814,7 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Password" -msgstr "" +msgstr "Κωδικός" #: builtin/mainmenu/tab_local.lua msgid "Play Game" @@ -822,7 +822,7 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Port" -msgstr "" +msgstr "Θήρα" #: builtin/mainmenu/tab_local.lua msgid "Select Mods" @@ -830,23 +830,23 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Select World:" -msgstr "" +msgstr "Επιλογή Κόσμου:" #: builtin/mainmenu/tab_local.lua msgid "Server Port" -msgstr "" +msgstr "Θήρα Διακομιστή" #: builtin/mainmenu/tab_local.lua msgid "Start Game" -msgstr "" +msgstr "Εκκίνηση Παιχνιδιού" #: builtin/mainmenu/tab_online.lua msgid "Address / Port" -msgstr "" +msgstr "Διεύθυνση Αποθετηρίου" #: builtin/mainmenu/tab_online.lua msgid "Connect" -msgstr "" +msgstr "Σύνδεση" #: builtin/mainmenu/tab_online.lua msgid "Creative mode" @@ -870,7 +870,7 @@ msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Name / Password" -msgstr "" +msgstr "Όνομα / Κωδικός" #: builtin/mainmenu/tab_online.lua msgid "Ping" @@ -899,7 +899,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "All Settings" -msgstr "" +msgstr "Όλες οι ρυθμίσεις" #: builtin/mainmenu/tab_settings.lua msgid "Antialiasing:" @@ -915,7 +915,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua src/client/game.cpp msgid "Change Keys" -msgstr "" +msgstr "Αλλαγή πλήκτρων" #: builtin/mainmenu/tab_settings.lua msgid "Connected Glass" @@ -951,7 +951,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "None" -msgstr "" +msgstr "Κανένα" #: builtin/mainmenu/tab_settings.lua msgid "Opaque Leaves" @@ -971,7 +971,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Settings" -msgstr "" +msgstr "Ρυθμίσεις" #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Shaders" @@ -1031,7 +1031,7 @@ msgstr "" #: src/client/client.cpp msgid "Done!" -msgstr "" +msgstr "Έτοιμο!" #: src/client/client.cpp msgid "Initializing nodes" @@ -1063,7 +1063,7 @@ msgstr "" #: src/client/clientlauncher.cpp msgid "Main Menu" -msgstr "" +msgstr "Κύριο μενού" #: src/client/clientlauncher.cpp msgid "No world selected and no address provided. Nothing to do." @@ -1075,7 +1075,7 @@ msgstr "" #: src/client/clientlauncher.cpp msgid "Please choose a name!" -msgstr "" +msgstr "Παρακαλώ επιλέξτε ένα όνομα!" #: src/client/clientlauncher.cpp msgid "Provided password file failed to open: " @@ -1095,7 +1095,7 @@ msgstr "" #. When in doubt, test your translation. #: src/client/fontengine.cpp msgid "needs_fallback_font" -msgstr "no" +msgstr "needs_fallback_font" #: src/client/game.cpp msgid "" @@ -1105,7 +1105,7 @@ msgstr "" #: src/client/game.cpp msgid "- Address: " -msgstr "" +msgstr "- Διεύθυνση: " #: src/client/game.cpp msgid "- Creative Mode: " @@ -1121,7 +1121,7 @@ msgstr "" #: src/client/game.cpp msgid "- Port: " -msgstr "" +msgstr "- Θήρα: " #: src/client/game.cpp msgid "- Public: " @@ -1134,7 +1134,7 @@ msgstr "" #: src/client/game.cpp msgid "- Server Name: " -msgstr "" +msgstr "- Όνομα Διακομιστή: " #: src/client/game.cpp msgid "Automatic forward disabled" @@ -1174,7 +1174,7 @@ msgstr "" #: src/client/game.cpp msgid "Continue" -msgstr "" +msgstr "Συνέχεια" #: src/client/game.cpp #, c-format @@ -1241,11 +1241,11 @@ msgstr "" #: src/client/game.cpp msgid "Exit to Menu" -msgstr "" +msgstr "Έξοδος στο Μενού" #: src/client/game.cpp msgid "Exit to OS" -msgstr "" +msgstr "Έξοδος στο ΛΣ" #: src/client/game.cpp msgid "Fast mode disabled" @@ -1281,7 +1281,7 @@ msgstr "" #: src/client/game.cpp msgid "Game info:" -msgstr "" +msgstr "Πληροφορίες Παιχνιδιού:" #: src/client/game.cpp msgid "Game paused" @@ -1365,11 +1365,11 @@ msgstr "" #: src/client/game.cpp msgid "Sound Volume" -msgstr "" +msgstr "Ένταση Ήχου" #: src/client/game.cpp msgid "Sound muted" -msgstr "" +msgstr "Σίγαση Ήχου" #: src/client/game.cpp msgid "Sound system is disabled" @@ -1454,7 +1454,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Clear" -msgstr "" +msgstr "Εκκαθάριση" #: src/client/keycode.cpp msgid "Control" @@ -1462,7 +1462,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Down" -msgstr "" +msgstr "Κάτω" #: src/client/keycode.cpp msgid "End" @@ -1478,7 +1478,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Help" -msgstr "" +msgstr "Βοήθεια" #: src/client/keycode.cpp msgid "Home" @@ -1510,7 +1510,7 @@ msgstr "" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Left" -msgstr "" +msgstr "Αριστερά" #: src/client/keycode.cpp msgid "Left Button" @@ -1535,7 +1535,7 @@ msgstr "" #. ~ Key name, common on Windows keyboards #: src/client/keycode.cpp msgid "Menu" -msgstr "" +msgstr "Μενού" #: src/client/keycode.cpp msgid "Middle Button" @@ -1619,16 +1619,16 @@ msgstr "" #: src/client/keycode.cpp msgid "Pause" -msgstr "" +msgstr "Παύση" #: src/client/keycode.cpp msgid "Play" -msgstr "" +msgstr "Αναπαραγωγή" #. ~ "Print screen" key #: src/client/keycode.cpp msgid "Print" -msgstr "" +msgstr "Εκτύπωση" #: src/client/keycode.cpp msgid "Return" @@ -1636,7 +1636,7 @@ msgstr "" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Right" -msgstr "" +msgstr "Δεξιά" #: src/client/keycode.cpp msgid "Right Button" @@ -1673,7 +1673,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Sleep" -msgstr "" +msgstr "Ύπνος" #: src/client/keycode.cpp msgid "Snapshot" @@ -1689,7 +1689,7 @@ msgstr "" #: src/client/keycode.cpp msgid "Up" -msgstr "" +msgstr "Πάνω" #: src/client/keycode.cpp msgid "X Button 1" @@ -1701,7 +1701,7 @@ msgstr "" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Zoom" -msgstr "" +msgstr "Μεγέθυνση" #: src/client/minimap.cpp msgid "Minimap hidden" @@ -1769,7 +1769,7 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Command" -msgstr "" +msgstr "Εντολή" #: src/gui/guiKeyChangeMenu.cpp msgid "Console" @@ -1813,7 +1813,7 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Key already in use" -msgstr "" +msgstr "Το πλήκτρο ήδη χρησιμοποιείται" #: src/gui/guiKeyChangeMenu.cpp msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" @@ -1825,11 +1825,11 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp msgid "Mute" -msgstr "" +msgstr "Σίγαση" #: src/gui/guiKeyChangeMenu.cpp msgid "Next item" -msgstr "" +msgstr "Επόμενο αντικείμενο" #: src/gui/guiKeyChangeMenu.cpp msgid "Prev. item" @@ -1841,7 +1841,7 @@ msgstr "" #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Screenshot" -msgstr "" +msgstr "Στιγμιότυπο οθόνης" #: src/gui/guiKeyChangeMenu.cpp msgid "Sneak" @@ -1889,27 +1889,27 @@ msgstr "" #: src/gui/guiPasswordChange.cpp msgid "Change" -msgstr "" +msgstr "Αλλαγή" #: src/gui/guiPasswordChange.cpp msgid "Confirm Password" -msgstr "" +msgstr "Επιβεβαίωση Κωδικού" #: src/gui/guiPasswordChange.cpp msgid "New Password" -msgstr "" +msgstr "Νέος Κωδικός" #: src/gui/guiPasswordChange.cpp msgid "Old Password" -msgstr "" +msgstr "Παλιός Κωδικός" #: src/gui/guiVolumeChange.cpp msgid "Exit" -msgstr "" +msgstr "Έξοδος" #: src/gui/guiVolumeChange.cpp msgid "Muted" -msgstr "" +msgstr "Σε σίγαση" #: src/gui/guiVolumeChange.cpp msgid "Sound Volume: " @@ -2131,7 +2131,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Advanced" -msgstr "" +msgstr "Περισσότερα" #: src/settings_translation_file.cpp msgid "" @@ -2245,7 +2245,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Basic" -msgstr "" +msgstr "Βασικό" #: src/settings_translation_file.cpp msgid "Basic privileges" @@ -2459,7 +2459,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Clouds" -msgstr "" +msgstr "Σύννεφα" #: src/settings_translation_file.cpp msgid "Clouds are a client side effect." @@ -3103,7 +3103,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Fog" -msgstr "" +msgstr "Ομίχλη" #: src/settings_translation_file.cpp msgid "Fog start" @@ -3131,7 +3131,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Font size" -msgstr "" +msgstr "Μέγεθος γραμματοσειράς" #: src/settings_translation_file.cpp msgid "Font size of the default font in point (pt)." @@ -3236,7 +3236,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Full screen" -msgstr "" +msgstr "Πλήρης οθόνη" #: src/settings_translation_file.cpp msgid "Full screen BPP" @@ -3287,7 +3287,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Gravity" -msgstr "" +msgstr "Βαρύτητα" #: src/settings_translation_file.cpp msgid "Ground level" @@ -4362,7 +4362,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Language" -msgstr "" +msgstr "Γλώσσα" #: src/settings_translation_file.cpp msgid "Large cave depth" @@ -4941,7 +4941,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Mute sound" -msgstr "" +msgstr "Σίγαση ήχου" #: src/settings_translation_file.cpp msgid "" @@ -4969,7 +4969,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Network" -msgstr "" +msgstr "Δίκτυο" #: src/settings_translation_file.cpp msgid "" @@ -5132,7 +5132,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Player name" -msgstr "" +msgstr "Όνομα παίκτη" #: src/settings_translation_file.cpp msgid "Player transfer distance" @@ -5389,7 +5389,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Security" -msgstr "" +msgstr "Ασφάλεια" #: src/settings_translation_file.cpp msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous" From 88517030a485f918fd4ebf1347a45e42840a4c32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?O=C4=9Fuz=20Ersen?= Date: Sat, 6 Mar 2021 06:01:12 +0000 Subject: [PATCH 128/279] Translated using Weblate (Turkish) Currently translated at 100.0% (1356 of 1356 strings) --- po/tr/minetest.po | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/po/tr/minetest.po b/po/tr/minetest.po index a2311124b..207b18a01 100644 --- a/po/tr/minetest.po +++ b/po/tr/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Turkish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" +"PO-Revision-Date: 2021-03-07 07:10+0000\n" "Last-Translator: Oğuz Ersen \n" "Language-Team: Turkish \n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -700,9 +700,8 @@ msgid "Loading..." msgstr "Yükleniyor..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "İstemci tarafı betik devre dışı" +msgstr "Açık sunucu listesi devre dışı" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -2999,9 +2998,8 @@ msgid "Enable console window" msgstr "Konsol penceresini etkinleştir" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Yeni yaratılan haritalar için yaratıcı kipi etkinleştir." +msgstr "Tüm oyuncular için yaratıcı kipi etkinleştir" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -6264,9 +6262,8 @@ msgstr "" "Bunu değiştirdikten sonra yeniden başlatma gerekir." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Öntanımlı kalın yazı tipi" +msgstr "Ad etiketi arka planlarını öntanımlı olarak göster" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -7105,6 +7102,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Ad etiketi arka planlarının öntanımlı olarak gösterilip gösterilmeyileceği.\n" +"Modlar yine de bir arka plan ayarlayabilir." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." From c77c78cef502b0faf82583e98a0cababeef3e5af Mon Sep 17 00:00:00 2001 From: Tirifto Date: Sat, 6 Mar 2021 21:57:38 +0000 Subject: [PATCH 129/279] Translated using Weblate (Esperanto) Currently translated at 94.6% (1283 of 1356 strings) --- po/eo/minetest.po | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/po/eo/minetest.po b/po/eo/minetest.po index 64db5dd71..60e276136 100644 --- a/po/eo/minetest.po +++ b/po/eo/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Esperanto (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-07-17 08:41+0000\n" +"PO-Revision-Date: 2021-03-07 07:10+0000\n" "Last-Translator: Tirifto \n" "Language-Team: Esperanto \n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.2-dev\n" +"X-Generator: Weblate 4.5.1\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -299,9 +299,8 @@ msgid "Altitude chill" msgstr "Alteca malvarmiĝo" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Altitude dry" -msgstr "Alteca malvarmiĝo" +msgstr "Alteca sekeco" #: builtin/mainmenu/dlg_create_world.lua msgid "Biome blending" @@ -458,9 +457,8 @@ msgid "Temperate, Desert, Jungle, Tundra, Taiga" msgstr "Milda, Dezerto, Ĝangalo, Tundro, Tajgo" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Terrain surface erosion" -msgstr "Bruo de terena bazo" +msgstr "Terensurfaca forfrotiĝo" #: builtin/mainmenu/dlg_create_world.lua msgid "Trees and jungle grass" From 683ef07312492c27fc5da4745922c1260d71126e Mon Sep 17 00:00:00 2001 From: abidin toumi Date: Tue, 16 Mar 2021 09:32:53 +0000 Subject: [PATCH 130/279] Translated using Weblate (Arabic) Currently translated at 25.7% (349 of 1356 strings) --- po/ar/minetest.po | 91 ++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 49 deletions(-) diff --git a/po/ar/minetest.po b/po/ar/minetest.po index 1ab09c2bd..9b037bf47 100644 --- a/po/ar/minetest.po +++ b/po/ar/minetest.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-10-29 16:26+0000\n" +"PO-Revision-Date: 2021-03-19 20:18+0000\n" "Last-Translator: abidin toumi \n" "Language-Team: Arabic \n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 4.3.2-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -159,11 +159,11 @@ msgstr "مُفعل" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" موجود مسبقًا. هل تريد الكتابة عليه؟" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "الاعتماديتان \"$1\" و $2 ستثبتان." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 by $2" @@ -174,15 +174,16 @@ msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"يُنزل $1،\n" +"$2 في الطابور" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "يحمل..." +msgstr "ينزل $1..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." -msgstr "" +msgstr "يحتاج $1 لكن لم يُعثر عليها." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 will be installed, and $2 dependencies will be skipped." @@ -193,18 +194,16 @@ msgid "All packages" msgstr "كل الحزم" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "المفتاح مستخدم مسبقا" +msgstr "مثبت مسبقا" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" msgstr "عُد للقائمة الرئيسة" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "استضف لعبة" +msgstr "اللعبة القاعدية" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -228,14 +227,12 @@ msgid "Install" msgstr "ثبت" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "ثبت" +msgstr "ثبت $1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "الإعتماديات الإختيارية:" +msgstr "ثبت الإعتماديات المفقودة" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -251,25 +248,24 @@ msgid "No results" msgstr "بدون نتائج" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "حدِث" +msgstr "لا توجد تحديثات" #: builtin/mainmenu/dlg_contentstore.lua msgid "Not found" -msgstr "" +msgstr "لم يُعثر عليه" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "اكتب عليه" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "تحقق من صحة اللعبة القاعدية." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" -msgstr "" +msgstr "في الطابور" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -285,7 +281,7 @@ msgstr "حدِث" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "حدِّث الكل [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" @@ -444,7 +440,7 @@ msgstr "المنشآت السطحية (لا تأثر على الأشجار وا #: builtin/mainmenu/dlg_create_world.lua msgid "Structures appearing on the terrain, typically trees and plants" -msgstr "" +msgstr "الهياكل التي تظهر على التضاريس ، عادة الأشجار والنباتات" #: builtin/mainmenu/dlg_create_world.lua msgid "Temperate, Desert" @@ -564,8 +560,9 @@ msgid "Offset" msgstr "المُعادل" #: builtin/mainmenu/dlg_settings_advanced.lua +#, fuzzy msgid "Persistance" -msgstr "" +msgstr "استمرار" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Please enter a valid integer." @@ -613,23 +610,24 @@ msgstr "X" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X spread" -msgstr "" +msgstr "التوزع على محور X" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y" -msgstr "" +msgstr "Y" #: builtin/mainmenu/dlg_settings_advanced.lua +#, fuzzy msgid "Y spread" -msgstr "" +msgstr "التوزع على محور Y" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z" -msgstr "" +msgstr "Z" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z spread" -msgstr "" +msgstr "التوزع على محور Z" #. ~ "absvalue" is a noise parameter flag. #. It is short for "absolute value". @@ -707,9 +705,8 @@ msgid "Loading..." msgstr "يحمل..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "البرمجة النصية للعميل معطلة" +msgstr "قائمة الخوادم العمومية معطلة" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -768,15 +765,16 @@ msgid "Credits" msgstr "إشادات" #: builtin/mainmenu/tab_credits.lua -#, fuzzy msgid "Open User Data Directory" -msgstr "إختر الدليل" +msgstr "افتح دليل بيانات المستخدم" #: builtin/mainmenu/tab_credits.lua msgid "" "Opens the directory that contains user-provided worlds, games, mods,\n" "and texture packs in a file manager / explorer." msgstr "" +"يفتح الدليل الذي يحوي العوالم والألعاب والتعديلات \n" +"وحزم الإكساء في مدير الملفات." #: builtin/mainmenu/tab_credits.lua msgid "Previous Contributors" @@ -817,7 +815,7 @@ msgstr "ثبت العابا من ContentDB" #: builtin/mainmenu/tab_local.lua msgid "Name" -msgstr "" +msgstr "الاسم" #: builtin/mainmenu/tab_local.lua msgid "New" @@ -828,9 +826,8 @@ msgid "No world created or selected!" msgstr "لم تنشئ او تحدد عالما!" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Password" -msgstr "كلمة مرور جديدة" +msgstr "كلمة المرور" #: builtin/mainmenu/tab_local.lua msgid "Play Game" @@ -841,9 +838,8 @@ msgid "Port" msgstr "المنفذ" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "حدد العالم:" +msgstr "اختر التعديلات" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -963,9 +959,8 @@ msgid "Node Highlighting" msgstr "إبراز العقد" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Node Outlining" -msgstr "عدم إبراز العقد" +msgstr "اقتضاب العقد" #: builtin/mainmenu/tab_settings.lua msgid "None" @@ -996,9 +991,8 @@ msgid "Shaders" msgstr "مُظللات" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "أراضيٌ عائمة (تجريبية)" +msgstr "المظللات (تجريبية)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1186,9 +1180,8 @@ msgid "Cinematic mode enabled" msgstr "الوضع السينمائي مفعل" #: src/client/game.cpp -#, fuzzy msgid "Client side scripting is disabled" -msgstr "البرمجة النصية للعميل معطلة" +msgstr "البرمجة النصية معطلة من جانب العميل" #: src/client/game.cpp msgid "Connecting to server..." @@ -1199,7 +1192,7 @@ msgid "Continue" msgstr "تابع" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1222,12 +1215,12 @@ msgstr "" "- %s: سر يسارا\n" "- %s: سر يمينا\n" "- %s: اقفز/تسلق\n" +"- %s: احفر/الكم\n" +"- %s: ضع/استخدم\n" "- %s: ازحف/انزل\n" "- %s: ارمي عنصر\n" "- %s: افتح المخزن\n" "- تحريك الفأرة: دوران\n" -"- زر الفأرة الأيمن: احفر/الكم\n" -"- زر الفأرة الأيسر: ضع/استخدم\n" "- عجلة الفأرة: غيير العنصر\n" "- -%s: دردشة\n" @@ -1361,11 +1354,11 @@ msgstr "الخريطة المصغرة معطلة من قبل لعبة أو تع #: src/client/game.cpp msgid "Noclip mode disabled" -msgstr "" +msgstr "وضع العقبات مفعل" #: src/client/game.cpp msgid "Noclip mode enabled" -msgstr "" +msgstr "وضع القبات معطل" #: src/client/game.cpp msgid "Noclip mode enabled (note: no 'noclip' privilege)" From cc58d56c6dab00cb31fdadee5b624d700cb785d3 Mon Sep 17 00:00:00 2001 From: Agustin Calderon Date: Thu, 18 Mar 2021 19:54:26 +0000 Subject: [PATCH 131/279] Translated using Weblate (Spanish) Currently translated at 78.0% (1059 of 1356 strings) --- po/es/minetest.po | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index 4d26f2b5c..70710a19c 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Spanish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-05 09:40+0000\n" -"Last-Translator: j45 minetest \n" +"PO-Revision-Date: 2021-03-18 19:54+0000\n" +"Last-Translator: Agustin Calderon \n" "Language-Team: Spanish \n" "Language: es\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -5011,9 +5011,8 @@ msgid "Large cave proportion flooded" msgstr "Proporción de cuevas grandes inundadas" #: src/settings_translation_file.cpp -#, fuzzy msgid "Large chat console key" -msgstr "Tecla de la consola" +msgstr "Tecla de consola de chat grande" #: src/settings_translation_file.cpp msgid "Leaves style" From 4d1a5f12c031406ae1ab13b18a93b3b489a1fde9 Mon Sep 17 00:00:00 2001 From: David Leal Date: Thu, 18 Mar 2021 19:54:11 +0000 Subject: [PATCH 132/279] Translated using Weblate (Spanish) Currently translated at 78.0% (1059 of 1356 strings) --- po/es/minetest.po | 165 ++++++++++++++++------------------------------ 1 file changed, 57 insertions(+), 108 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index 70710a19c..91d04b2d3 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" "PO-Revision-Date: 2021-03-18 19:54+0000\n" -"Last-Translator: Agustin Calderon \n" +"Last-Translator: David Leal \n" "Language-Team: Spanish \n" "Language: es\n" @@ -706,9 +706,8 @@ msgid "Loading..." msgstr "Cargando..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "El Scripting en el lado del cliente está desactivado" +msgstr "La lista de servidores públicos está desactivada" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -3032,9 +3031,8 @@ msgid "Enable console window" msgstr "Habilitar la ventana de la consola" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Habilitar el modo creativo para los nuevos mapas creados." +msgstr "Activar el modo creativo para todos los jugadores" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3183,9 +3181,8 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "FPS when unfocused or paused" -msgstr "FPS máximos cuando el juego está pausado." +msgstr "FPS cuando el juego está en segundo plano o pausado" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3304,39 +3301,32 @@ msgid "Fixed virtual joystick" msgstr "Joystick virtual fijo" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland density" -msgstr "Densidad de las montañas en tierras flotantes" +msgstr "Densidad de las tierras flotantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland maximum Y" -msgstr "Mazmorras, máx. Y" +msgstr "Máximo valor de Y de las tierras flotantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland minimum Y" -msgstr "Mazmorras, mín. Y" +msgstr "Mínimo valor de Y de las tierras flotantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland noise" -msgstr "Ruido base para tierra flotante" +msgstr "Ruido de la tierra flotante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland taper exponent" -msgstr "Exponente de las montañas en tierras flotantes" +msgstr "Exponente de la cónica de las tierras flotantes" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland tapering distance" -msgstr "Ruido base para tierra flotante" +msgstr "Distancia de cónico de la tierra flotante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland water level" -msgstr "Nivel de tierra flotante" +msgstr "Nivel de agua de la tierra flotante" #: src/settings_translation_file.cpp msgid "Fly key" @@ -3582,7 +3572,6 @@ msgid "HUD toggle key" msgstr "Tecla de cambio del HUD" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Handling for deprecated Lua API calls:\n" "- none: Do not log deprecated calls\n" @@ -3590,10 +3579,9 @@ msgid "" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" "Manejo de llamadas a la API de Lua en desuso:\n" -"- legacy: (intentar) imitar el comportamiento antiguo (por defecto para la " -"liberación).\n" -"- log: imitar y registrar la pista de seguimiento de la llamada en desuso " -"(predeterminado para la depuración).\n" +"- none: no registrar llamadas en desuso.\n" +"- log: imitar y registrar la pista de seguimiento de la llamada en desuso (" +"predeterminado para la depuración).\n" "- error: abortar el uso de la llamada en desuso (sugerido para " "desarrolladores de mods)." @@ -4021,9 +4009,8 @@ msgstr "" "Altura de la consola de chat en el juego, entre 0.1 (10%) y 1.0 (100%)." #: src/settings_translation_file.cpp -#, fuzzy msgid "Inc. volume key" -msgstr "Tecla de la consola" +msgstr "Tecla para subir volumen" #: src/settings_translation_file.cpp msgid "Initial vertical speed when jumping, in nodes per second." @@ -4097,9 +4084,8 @@ msgid "Invert vertical mouse movement." msgstr "Invertir movimiento vertical del ratón." #: src/settings_translation_file.cpp -#, fuzzy msgid "Italic font path" -msgstr "Ruta de fuentes" +msgstr "Ruta de fuente cursiva" #: src/settings_translation_file.cpp msgid "Italic monospace font path" @@ -4134,9 +4120,8 @@ msgid "Joystick button repetition interval" msgstr "Intervalo de repetición del botón del Joystick" #: src/settings_translation_file.cpp -#, fuzzy msgid "Joystick deadzone" -msgstr "Tipo de Joystick" +msgstr "Zona muerta del joystick" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" @@ -4241,13 +4226,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for digging.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para saltar.\n" +"Tecla para cavar.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4395,299 +4379,274 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for placing.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para saltar.\n" +"Tecla para colocar.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 11th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 11 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 12th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 12 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 13th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 13 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 14th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el decimocuarto elemento en la barra de acceso " +"directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 15th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el decimoquinto elemento en la barra de acceso " +"directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 16th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 16 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 17th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 17 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 18th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 18 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 19th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 19 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 20th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 20 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 21st hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 21 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 22nd hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 22 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 23rd hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 23 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 24th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 24 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 25th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 25 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 26th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 26 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 27th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 27 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 28th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 28 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 29th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 29 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 30th hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 30 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 31st hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 31 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the 32nd hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el elemento 32 en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the eighth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el octavo elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the fifth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el quinto elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the first hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el primer elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the fourth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el cuarto elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4702,13 +4661,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the ninth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el noveno elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4723,57 +4681,52 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the second hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el segundo elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the seventh hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el septimo elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the sixth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el sexto elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the tenth hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el decimo elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for selecting the third hotbar slot.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para seleccionar el siguiente elemento en la barra de acceso directo.\n" +"Tecla para seleccionar el tercer elemento en la barra de acceso directo.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4812,13 +4765,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling autoforward.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para mover el jugador hacia delante.\n" +"Tecla activar/desactivar el avance automatico.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4873,13 +4825,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling pitch move mode.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para silenciar el juego.\n" +"Tecla activar/desactivar el modo de inclinacion.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4895,13 +4846,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling the display of chat.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para desplazar el jugador hacia la izquierda.\n" +"Tecla para activar/desactivar el chat.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4917,13 +4867,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for toggling the display of fog.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Tecla para desplazar el jugador hacia la izquierda.\n" +"Tecla para activar/desactivar visualización de niebla.\n" "Véase http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" From 41825ccfbb37033834f13a4f8071c1c18a82cbe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20Villalba?= Date: Thu, 18 Mar 2021 02:24:24 +0000 Subject: [PATCH 133/279] Translated using Weblate (Spanish) Currently translated at 78.0% (1059 of 1356 strings) --- po/es/minetest.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index 91d04b2d3..16a3b2258 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" "PO-Revision-Date: 2021-03-18 19:54+0000\n" -"Last-Translator: David Leal \n" +"Last-Translator: Joaquín Villalba \n" "Language-Team: Spanish \n" "Language: es\n" @@ -7063,7 +7063,7 @@ msgstr "Tiempo de espera de descarga por cURL" #: src/settings_translation_file.cpp msgid "cURL parallel limit" -msgstr "" +msgstr "Límite de cURL en paralelo" #: src/settings_translation_file.cpp msgid "cURL timeout" From f4dd46ad601a3dc133bc4e7a821daea062464627 Mon Sep 17 00:00:00 2001 From: David Leal Date: Thu, 18 Mar 2021 20:02:51 +0000 Subject: [PATCH 134/279] Translated using Weblate (Spanish) Currently translated at 79.0% (1072 of 1356 strings) --- po/es/minetest.po | 47 ++++++++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index 16a3b2258..8c31bddee 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Spanish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-03-18 19:54+0000\n" -"Last-Translator: Joaquín Villalba \n" +"PO-Revision-Date: 2021-03-19 20:18+0000\n" +"Last-Translator: David Leal \n" "Language-Team: Spanish \n" "Language: es\n" @@ -4961,7 +4961,7 @@ msgstr "Proporción de cuevas grandes inundadas" #: src/settings_translation_file.cpp msgid "Large chat console key" -msgstr "Tecla de consola de chat grande" +msgstr "Tecla de la consola del chat grande" #: src/settings_translation_file.cpp msgid "Leaves style" @@ -5040,34 +5040,34 @@ msgstr "Aumento medio del centro de la curva de luz" #: src/settings_translation_file.cpp msgid "Light curve boost center" -msgstr "" +msgstr "Centro de impulso de curva de luz" #: src/settings_translation_file.cpp msgid "Light curve boost spread" -msgstr "" +msgstr "Dispersión de impulso de curva de luz" #: src/settings_translation_file.cpp msgid "Light curve gamma" -msgstr "" +msgstr "Gamma de la curva de luz" #: src/settings_translation_file.cpp msgid "Light curve high gradient" -msgstr "" +msgstr "Curva de luz de alto gradiente" #: src/settings_translation_file.cpp msgid "Light curve low gradient" -msgstr "" +msgstr "Curva de luz de bajo gradiente" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).\n" "Only mapchunks completely within the mapgen limit are generated.\n" "Value is stored per-world." msgstr "" -"Límite de la generación de mapa, en nodos, en todas las 6 direcciones desde " -"(0, 0, 0).\n" -"Solo las porciones de terreno dentro de los límites son generadas.\n" +"Límite de la generación de mapa, en nodos, en todas las 6 direcciones desde (" +"0, 0, 0).\n" +"Solo se generan fragmentos de mapa completamente dentro del límite de " +"generación de mapas.\n" "Los valores se guardan por mundo." #: src/settings_translation_file.cpp @@ -5078,6 +5078,11 @@ msgid "" "- Downloads performed by main menu (e.g. mod manager).\n" "Only has an effect if compiled with cURL." msgstr "" +"Limita el número de solicitudes HTTP paralelas. Afecta:\n" +"- Recuperación de medios si el servidor utiliza remote_media setting.\n" +"- Descarga de la lista de servidores y anuncio del servidor.\n" +"- Descargas realizadas por el menú principal (por ejemplo, gestor de mods).\n" +"Sólo tiene un efecto si se compila con cURL." #: src/settings_translation_file.cpp msgid "Liquid fluidity" @@ -5089,28 +5094,28 @@ msgstr "Suavizado de la fluidez líquida" #: src/settings_translation_file.cpp msgid "Liquid loop max" -msgstr "" +msgstr "Bucle de máximo líquido" #: src/settings_translation_file.cpp msgid "Liquid queue purge time" -msgstr "" +msgstr "Tiempo de purga de colas de líquidos" #: src/settings_translation_file.cpp -#, fuzzy msgid "Liquid sinking" -msgstr "Velocidad de descenso" +msgstr "Hundimiento del líquido" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." -msgstr "" +msgstr "Intervalo de actualización del líquido en segundos." #: src/settings_translation_file.cpp msgid "Liquid update tick" -msgstr "" +msgstr "Tick de actualización de los líquidos" #: src/settings_translation_file.cpp +#, fuzzy msgid "Load the game profiler" -msgstr "" +msgstr "Cargar el perfilador de juego" #: src/settings_translation_file.cpp msgid "" @@ -5118,6 +5123,10 @@ msgid "" "Provides a /profiler command to access the compiled profile.\n" "Useful for mod developers and server operators." msgstr "" +"Cargue el generador de perfiles de juego para recopilar datos de generación " +"de perfiles de juegos.\n" +"Proporciona un comando /profiler para tener acceso al perfil compilado.\n" +"Útil para desarrolladores de mods y operadores de servidores." #: src/settings_translation_file.cpp #, fuzzy From fa98a00916ba2191ba759f3042aac1199f74ac27 Mon Sep 17 00:00:00 2001 From: Yangjun Wang Date: Sun, 21 Mar 2021 13:21:57 +0000 Subject: [PATCH 135/279] Translated using Weblate (Chinese (Simplified)) Currently translated at 92.5% (1255 of 1356 strings) --- po/zh_CN/minetest.po | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po index 57853e413..446204bec 100644 --- a/po/zh_CN/minetest.po +++ b/po/zh_CN/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-03-02 15:50+0000\n" -"Last-Translator: winniepee \n" +"PO-Revision-Date: 2021-03-21 13:22+0000\n" +"Last-Translator: Yangjun Wang \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -168,9 +168,8 @@ msgid "" msgstr "" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "下载中..." +msgstr "正在下载$1 ..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." From 1a433e3185440dffeb9682cfa775fcee1926ce89 Mon Sep 17 00:00:00 2001 From: Liu Tao Date: Sun, 21 Mar 2021 13:41:20 +0000 Subject: [PATCH 136/279] Translated using Weblate (Chinese (Simplified)) Currently translated at 94.7% (1285 of 1356 strings) --- po/zh_CN/minetest.po | 78 ++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 47 deletions(-) diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po index 446204bec..a89083675 100644 --- a/po/zh_CN/minetest.po +++ b/po/zh_CN/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-03-21 13:22+0000\n" -"Last-Translator: Yangjun Wang \n" +"PO-Revision-Date: 2021-03-22 18:29+0000\n" +"Last-Translator: Liu Tao \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -169,7 +169,7 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 downloading..." -msgstr "正在下载$1 ..." +msgstr "正在下载 $1 ……" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." @@ -193,9 +193,8 @@ msgid "Back to Main Menu" msgstr "返回主菜单" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "主持游戏" +msgstr "基础游戏:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -223,9 +222,8 @@ msgid "Install $1" msgstr "安装$1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "可选依赖项:" +msgstr "安装缺失的依赖项" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -257,8 +255,9 @@ msgid "Please check that the base game is correct." msgstr "请查看游戏是否正确。" #: builtin/mainmenu/dlg_contentstore.lua +#, fuzzy msgid "Queued" -msgstr "" +msgstr "已加入队列" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" @@ -274,11 +273,11 @@ msgstr "更新" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "更新所有 [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" -msgstr "" +msgstr "在网络浏览器中查看更多信息" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" @@ -696,9 +695,8 @@ msgid "Loading..." msgstr "载入中..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "客户端脚本已禁用" +msgstr "已禁用公共服务器列表" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -757,9 +755,8 @@ msgid "Credits" msgstr "贡献者" #: builtin/mainmenu/tab_credits.lua -#, fuzzy msgid "Open User Data Directory" -msgstr "选择目录" +msgstr "打开用户数据目录" #: builtin/mainmenu/tab_credits.lua msgid "" @@ -805,7 +802,7 @@ msgstr "从 ContentDB 安装游戏" #: builtin/mainmenu/tab_local.lua msgid "Name" -msgstr "" +msgstr "名称" #: builtin/mainmenu/tab_local.lua msgid "New" @@ -816,9 +813,8 @@ msgid "No world created or selected!" msgstr "未创建或选择世界!" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Password" -msgstr "新密码" +msgstr "密码" #: builtin/mainmenu/tab_local.lua msgid "Play Game" @@ -829,9 +825,8 @@ msgid "Port" msgstr "端口" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "选择世界:" +msgstr "选择模组" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -983,9 +978,8 @@ msgid "Shaders" msgstr "着色器" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "悬空岛(实验性)" +msgstr "着色器(实验性)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1752,9 +1746,8 @@ msgid "Minimap in surface mode, Zoom x%d" msgstr "地表模式小地图, 放大至一倍" #: src/client/minimap.cpp -#, fuzzy msgid "Minimap in texture mode" -msgstr "最小材质大小" +msgstr "材质模式小地图" #: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp msgid "Passwords do not match!" @@ -2147,7 +2140,7 @@ msgstr "ABM间隔" #: src/settings_translation_file.cpp msgid "ABM time budget" -msgstr "" +msgstr "ABM 时间预算" #: src/settings_translation_file.cpp msgid "Absolute limit of queued blocks to emerge" @@ -2644,7 +2637,7 @@ msgstr "ContentDB标签黑名单" #: src/settings_translation_file.cpp msgid "ContentDB Max Concurrent Downloads" -msgstr "" +msgstr "ContentDB 最大并发下载量" #: src/settings_translation_file.cpp msgid "ContentDB URL" @@ -3124,9 +3117,8 @@ msgstr "" "适用于固体悬空岛层。" #: src/settings_translation_file.cpp -#, fuzzy msgid "FPS when unfocused or paused" -msgstr "游戏暂停时最高 FPS。" +msgstr "游戏暂停时最高 FPS" #: src/settings_translation_file.cpp msgid "FSAA" @@ -4024,9 +4016,8 @@ msgid "Joystick button repetition interval" msgstr "摇杆按钮重复间隔" #: src/settings_translation_file.cpp -#, fuzzy msgid "Joystick deadzone" -msgstr "摇杆类型" +msgstr "摇杆无效区" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" @@ -5053,11 +5044,11 @@ msgstr "使所有液体不透明" #: src/settings_translation_file.cpp msgid "Map Compression Level for Disk Storage" -msgstr "" +msgstr "磁盘存储的映射压缩级别" #: src/settings_translation_file.cpp msgid "Map Compression Level for Network Transfer" -msgstr "" +msgstr "网络传输的地图压缩级别" #: src/settings_translation_file.cpp msgid "Map directory" @@ -5242,9 +5233,8 @@ msgid "Maximum FPS" msgstr "最大 FPS" #: src/settings_translation_file.cpp -#, fuzzy msgid "Maximum FPS when the window is not focused, or when the game is paused." -msgstr "游戏暂停时最高 FPS。" +msgstr "窗口未聚焦或游戏暂停时的最大 FPS。" #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" @@ -5706,9 +5696,8 @@ msgid "Place key" msgstr "飞行键" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place repetition interval" -msgstr "右击重复间隔" +msgstr "放置重复间隔" #: src/settings_translation_file.cpp msgid "" @@ -6190,9 +6179,8 @@ msgstr "" "变更后须重新启动。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "默认粗体" +msgstr "默认显示名称标签背景" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6452,13 +6440,12 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "The URL for the content repository" msgstr "内容存储库的 URL" #: src/settings_translation_file.cpp msgid "The deadzone of the joystick" -msgstr "" +msgstr "摇杆的无效区" #: src/settings_translation_file.cpp msgid "" @@ -6481,7 +6468,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "The length in pixels it takes for touch screen interaction to start." -msgstr "" +msgstr "开始触摸屏交互所需的长度(以像素为单位)。" #: src/settings_translation_file.cpp msgid "" @@ -6566,7 +6553,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "The type of joystick" -msgstr "" +msgstr "摇杆类型" #: src/settings_translation_file.cpp msgid "" @@ -6654,7 +6641,6 @@ msgid "URL to the server list displayed in the Multiplayer Tab." msgstr "显示在“多人游戏”选项卡中的服务器列表的URL。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Undersampling" msgstr "欠采样" @@ -6688,7 +6674,6 @@ msgid "Use 3D cloud look instead of flat." msgstr "使用 3D 云彩,而不是看起来是平面的。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Use a cloud animation for the main menu background." msgstr "主菜单背景使用云动画。" @@ -6698,7 +6683,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Use bilinear filtering when scaling textures." -msgstr "" +msgstr "缩放材质时使用双线过滤。" #: src/settings_translation_file.cpp msgid "" @@ -6720,7 +6705,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Use trilinear filtering when scaling textures." -msgstr "" +msgstr "缩放材质时使用三线过滤。" #: src/settings_translation_file.cpp msgid "VBO" @@ -6793,9 +6778,8 @@ msgid "Video driver" msgstr "视频驱动程序" #: src/settings_translation_file.cpp -#, fuzzy msgid "View bobbing factor" -msgstr "范围摇动" +msgstr "视野晃动系数" #: src/settings_translation_file.cpp msgid "View distance in nodes." From 4c2efd7da33e1ec68827c926b586257f42a341af Mon Sep 17 00:00:00 2001 From: Yangjun Wang Date: Sun, 21 Mar 2021 13:28:46 +0000 Subject: [PATCH 137/279] Translated using Weblate (Chinese (Simplified)) Currently translated at 94.7% (1285 of 1356 strings) --- po/zh_CN/minetest.po | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po index a89083675..cfc51323e 100644 --- a/po/zh_CN/minetest.po +++ b/po/zh_CN/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" "PO-Revision-Date: 2021-03-22 18:29+0000\n" -"Last-Translator: Liu Tao \n" +"Last-Translator: Yangjun Wang \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -184,9 +184,8 @@ msgid "All packages" msgstr "所有包" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "按键已被占用" +msgstr "已安装" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" @@ -2964,9 +2963,8 @@ msgid "Enable console window" msgstr "启用控制台窗口" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "为新建地图启用创造模式。" +msgstr "为所有玩家启用创造模式" #: src/settings_translation_file.cpp msgid "Enable joysticks" From 116fe7815b709395a4d59a63b588953714471b4c Mon Sep 17 00:00:00 2001 From: Michalis Date: Sun, 21 Mar 2021 18:18:10 +0000 Subject: [PATCH 138/279] Translated using Weblate (Greek) Currently translated at 8.8% (120 of 1356 strings) --- po/el/minetest.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/po/el/minetest.po b/po/el/minetest.po index 62db47b75..3ae9d7017 100644 --- a/po/el/minetest.po +++ b/po/el/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Greek (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-03-02 15:50+0000\n" -"Last-Translator: THANOS SIOURDAKIS \n" +"PO-Revision-Date: 2021-03-22 18:29+0000\n" +"Last-Translator: Michalis \n" "Language-Team: Greek \n" "Language: el\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -2131,7 +2131,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Advanced" -msgstr "Περισσότερα" +msgstr "Για προχωρημένους" #: src/settings_translation_file.cpp msgid "" From 8285a53152bd6118530757535f84e32c86b654d2 Mon Sep 17 00:00:00 2001 From: AnthonyDe Date: Wed, 24 Mar 2021 17:26:29 +0000 Subject: [PATCH 139/279] Translated using Weblate (Spanish) Currently translated at 79.5% (1079 of 1356 strings) --- po/es/minetest.po | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index 8c31bddee..49b1c7278 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Spanish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-03-19 20:18+0000\n" -"Last-Translator: David Leal \n" +"PO-Revision-Date: 2021-03-25 17:29+0000\n" +"Last-Translator: AnthonyDe \n" "Language-Team: Spanish \n" "Language: es\n" @@ -1450,7 +1450,7 @@ msgstr "Volumen cambiado a %d%%" #: src/client/game.cpp msgid "Wireframe shown" -msgstr "Líneas 3D mostradas" +msgstr "Lineas 3D mostradas" #: src/client/game.cpp msgid "Zoom currently disabled by game or mod" @@ -2686,7 +2686,7 @@ msgstr "Altura de consola" #: src/settings_translation_file.cpp msgid "ContentDB Flag Blacklist" -msgstr "Lista negra de banderas de ContentDB" +msgstr "Lista negra de Contenido de la Base de Datos" #: src/settings_translation_file.cpp msgid "ContentDB Max Concurrent Downloads" @@ -2765,7 +2765,7 @@ msgid "" "Also controls the object crosshair color" msgstr "" "Alfa del punto de mira (opacidad, entre 0 y 255).\n" -"También controla el color del objeto punto de mira." +"También controla el color del objeto punto de mira" #: src/settings_translation_file.cpp msgid "Crosshair color" @@ -5113,9 +5113,8 @@ msgid "Liquid update tick" msgstr "Tick de actualización de los líquidos" #: src/settings_translation_file.cpp -#, fuzzy msgid "Load the game profiler" -msgstr "Cargar el perfilador de juego" +msgstr "Cargar el generador de perfiles del juego" #: src/settings_translation_file.cpp msgid "" @@ -5129,9 +5128,8 @@ msgstr "" "Útil para desarrolladores de mods y operadores de servidores." #: src/settings_translation_file.cpp -#, fuzzy msgid "Loading Block Modifiers" -msgstr "Intervalo de modificador de bloques activos" +msgstr "Carga de modificadores de bloque" #: src/settings_translation_file.cpp msgid "Lower Y limit of dungeons." @@ -5163,11 +5161,11 @@ msgstr "Vuelve opacos a todos los líquidos" #: src/settings_translation_file.cpp msgid "Map Compression Level for Disk Storage" -msgstr "" +msgstr "Nivel de comprensión del mapa para almacenamiento de disco" #: src/settings_translation_file.cpp msgid "Map Compression Level for Network Transfer" -msgstr "" +msgstr "Nivel de comprensión del mapa para transferencias por la red" #: src/settings_translation_file.cpp msgid "Map directory" @@ -5175,7 +5173,7 @@ msgstr "Directorio de mapas" #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen Carpathian." -msgstr "" +msgstr "Atributos de generación de mapas específicos de Mapgen Carpathian." #: src/settings_translation_file.cpp msgid "" @@ -5191,6 +5189,9 @@ msgid "" "'terrain' enables the generation of non-fractal terrain:\n" "ocean, islands and underground." msgstr "" +"Atributos de generación de mapas específicos de Mapgen Fractal.\n" +"'terreno' permite la generación de terrenos no fractales:\n" +"océanos, islas y subterráneo." #: src/settings_translation_file.cpp msgid "" From 35718eec9c777bf15bf14e55a0c3fe1a1b5ee6cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20Villalba?= Date: Wed, 24 Mar 2021 17:09:49 +0000 Subject: [PATCH 140/279] Translated using Weblate (Spanish) Currently translated at 79.5% (1079 of 1356 strings) --- po/es/minetest.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index 49b1c7278..af93c8f9b 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" "PO-Revision-Date: 2021-03-25 17:29+0000\n" -"Last-Translator: AnthonyDe \n" +"Last-Translator: Joaquín Villalba \n" "Language-Team: Spanish \n" "Language: es\n" @@ -1539,7 +1539,7 @@ msgstr "Convertir IME" #: src/client/keycode.cpp msgid "IME Escape" -msgstr "Escapada de IME" +msgstr "Escape IME" #: src/client/keycode.cpp msgid "IME Mode Change" From e90738575ff42d89b36dc504d8327ff1ecb8cb73 Mon Sep 17 00:00:00 2001 From: matiasC Date: Tue, 23 Mar 2021 11:30:15 +0000 Subject: [PATCH 141/279] Translated using Weblate (Spanish) Currently translated at 79.5% (1079 of 1356 strings) --- po/es/minetest.po | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index af93c8f9b..efb6a4c55 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" "PO-Revision-Date: 2021-03-25 17:29+0000\n" -"Last-Translator: Joaquín Villalba \n" +"Last-Translator: matiasC \n" "Language-Team: Spanish \n" "Language: es\n" @@ -3179,10 +3179,19 @@ msgid "" "Values < 1.0 (for example 0.25) create a more defined surface level with\n" "flatter lowlands, suitable for a solid floatland layer." msgstr "" +"Exponente de la estrechez de tierra flotante. Altera el comportamiento de la " +"estrechez.\n" +"Valor = 1.0 crea una estrechez uniforme y lineal.\n" +"Valores > 1.0 crea una estrechez suave apropiada para las tierras flotantes " +"separadas\n" +"por defecto.\n" +"Valores < 1.0 (0.25, por ejemplo) crea un nivel de superficie más definida " +"con \n" +"tierras bajas más planas, apropiada para una capa de tierra flotante sólida." #: src/settings_translation_file.cpp msgid "FPS when unfocused or paused" -msgstr "FPS cuando el juego está en segundo plano o pausado" +msgstr "FPS cuando está en segundo plano o pausado" #: src/settings_translation_file.cpp msgid "FSAA" From b72c1f736787960b6b70681c25317a37d31886a7 Mon Sep 17 00:00:00 2001 From: ItsWidee Date: Tue, 23 Mar 2021 08:50:13 +0000 Subject: [PATCH 142/279] Translated using Weblate (French) Currently translated at 96.5% (1309 of 1356 strings) --- po/fr/minetest.po | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/po/fr/minetest.po b/po/fr/minetest.po index 98478e035..9e086f32b 100644 --- a/po/fr/minetest.po +++ b/po/fr/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: French (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-01 05:52+0000\n" -"Last-Translator: cafou \n" +"PO-Revision-Date: 2021-03-25 17:29+0000\n" +"Last-Translator: ItsWidee \n" "Language-Team: French \n" "Language: fr\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.5.2-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -171,9 +171,8 @@ msgid "" msgstr "" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Chargement..." +msgstr "Téléchargement de $1..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." From 053fb9669460fc8384842e74e01576b1574f4ca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hatl=C3=A1b=C3=BA=20Farkas?= Date: Wed, 24 Mar 2021 07:19:06 +0000 Subject: [PATCH 143/279] Translated using Weblate (Hungarian) Currently translated at 75.8% (1028 of 1356 strings) --- po/hu/minetest.po | 76 +++++++++++++++++------------------------------ 1 file changed, 28 insertions(+), 48 deletions(-) diff --git a/po/hu/minetest.po b/po/hu/minetest.po index 090d92454..02f3b51c5 100644 --- a/po/hu/minetest.po +++ b/po/hu/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Hungarian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" -"Last-Translator: Ács Zoltán \n" +"PO-Revision-Date: 2021-03-28 20:29+0000\n" +"Last-Translator: Hatlábú Farkas \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.6-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -24,7 +24,7 @@ msgstr "Meghaltál" #: builtin/fstk/dialog.lua builtin/fstk/ui.lua src/gui/modalMenu.cpp msgid "OK" -msgstr "OK" +msgstr "OKÉ" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" @@ -153,7 +153,7 @@ msgstr "engedélyezve" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" már létezik. Szeretné felülírni?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." @@ -172,9 +172,8 @@ msgstr "" "$2 sorba állítva" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Letöltés…" +msgstr "$1 Letöltése…" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." @@ -189,18 +188,16 @@ msgid "All packages" msgstr "Minden csomag" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "A gomb már használatban van" +msgstr "Már telepítve" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" msgstr "Vissza a főmenübe" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Játék létrehozása" +msgstr "Alapjáték:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -224,14 +221,12 @@ msgid "Install" msgstr "Telepítés" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "Telepítés" +msgstr "$1 telepítése" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "Választható függőségek:" +msgstr "hiányzó függőségek telepitése" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -247,22 +242,20 @@ msgid "No results" msgstr "Nincs találat" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "Frissítés" +msgstr "nincs Frissiteni való" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Not found" -msgstr "Hang némítása" +msgstr "nem található" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "Felülírás" +msgstr "Felülír" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "az alapjáték ellenörzése szükséges ." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" @@ -357,7 +350,6 @@ msgid "Game" msgstr "Játék" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Generate non-fractal terrain: Oceans and underground" msgstr "Nem-fraktál terep generálása: Óceánok és földalatti rész" @@ -437,7 +429,6 @@ msgid "Smooth transition between biomes" msgstr "Sima átmenet a biomok között" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "" "Structures appearing on the terrain (no effect on trees and jungle grass " "created by v6)" @@ -462,7 +453,6 @@ msgid "Temperate, Desert, Jungle, Tundra, Taiga" msgstr "Mérsékelt, Sivatag, Dzsungel, Tundra, Tajga" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Terrain surface erosion" msgstr "Terepfelület erózió" @@ -713,9 +703,8 @@ msgid "Loading..." msgstr "Betöltés…" #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Kliens oldali szkriptek letiltva" +msgstr "A nyilvános kiszolgálólista le van tiltva" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -776,9 +765,8 @@ msgid "Credits" msgstr "Köszönetnyilvánítás" #: builtin/mainmenu/tab_credits.lua -#, fuzzy msgid "Open User Data Directory" -msgstr "Útvonal kiválasztása" +msgstr "Felhasználói adatkönyvtár megnyitása" #: builtin/mainmenu/tab_credits.lua msgid "" @@ -838,9 +826,8 @@ msgid "No world created or selected!" msgstr "Nincs létrehozott vagy kiválasztott világ!" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Password" -msgstr "Új jelszó" +msgstr "Jelszó" #: builtin/mainmenu/tab_local.lua msgid "Play Game" @@ -851,9 +838,8 @@ msgid "Port" msgstr "Port" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Világ kiválasztása:" +msgstr "Modok kiválasztása" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -1005,9 +991,8 @@ msgid "Shaders" msgstr "Árnyalók" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "Lebegő földek" +msgstr "Shaderek (kísérleti)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1764,19 +1749,18 @@ msgid "Minimap hidden" msgstr "Kistérkép letiltva" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Kistérkép radar módban x1" +msgstr "Minimap radar módban, Nagyítás x%d" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Kistérkép terület módban x1" +msgstr "kistérkép terület módban x%d" #: src/client/minimap.cpp -#, fuzzy msgid "Minimap in texture mode" -msgstr "Minimum textúra méret" +msgstr "Minimap textúra módban" #: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp msgid "Passwords do not match!" @@ -2263,9 +2247,8 @@ msgid "Announce to this serverlist." msgstr "Szerver kihirdetése erre a szerverlistára." #: src/settings_translation_file.cpp -#, fuzzy msgid "Append item name" -msgstr "Elem nevének hozzáadása" +msgstr "Elemnév hozzáadása" #: src/settings_translation_file.cpp msgid "Append item name to tooltip." @@ -2482,23 +2465,20 @@ msgid "" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat font size" -msgstr "Betűtípus mérete" +msgstr "Chat betűméret" #: src/settings_translation_file.cpp msgid "Chat key" msgstr "Csevegés gomb" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat log level" -msgstr "Hibakereső naplózás szintje" +msgstr "Chat napló szintje" #: src/settings_translation_file.cpp -#, fuzzy msgid "Chat message count limit" -msgstr "Chat üzenetek maximális száma" +msgstr "Csevegőüzenetek számának korlátozása" #: src/settings_translation_file.cpp #, fuzzy From 47a439a9053331035eb69c67a8493caf3e7b3331 Mon Sep 17 00:00:00 2001 From: Alessandro Mandelli Date: Wed, 24 Mar 2021 12:14:53 +0000 Subject: [PATCH 144/279] Translated using Weblate (Italian) Currently translated at 100.0% (1356 of 1356 strings) --- po/it/minetest.po | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/po/it/minetest.po b/po/it/minetest.po index b9bfa1b6c..6a2ef726a 100644 --- a/po/it/minetest.po +++ b/po/it/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Italian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-25 23:50+0000\n" -"Last-Translator: Giov4 \n" +"PO-Revision-Date: 2021-03-25 17:29+0000\n" +"Last-Translator: Alessandro Mandelli \n" "Language-Team: Italian \n" "Language: it\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -703,9 +703,8 @@ msgid "Loading..." msgstr "Caricamento..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Scripting su lato client disabilitato" +msgstr "La lista dei server pubblici è disabilitata" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -3022,9 +3021,8 @@ msgid "Enable console window" msgstr "Attivare la finestra della console" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Abilitare la modalità creativa per le nuove mappe create." +msgstr "Abilitare la modalità creativa per tutti i giocatori" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -6365,9 +6363,8 @@ msgstr "" "È necessario riavviare dopo aver cambiato questo." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Carattere grassetto per impostazione predefinita" +msgstr "Mostra lo sfondo del nome per impostazione predefinita" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -7234,6 +7231,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Se lo sfondo del nome deve essere mostrato per impostazione predefinita.\n" +"I moderatori possono comunque impostare uno sfondo." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." From 13d7cb957ca779d6276c57ae0ddc7fbca622aa27 Mon Sep 17 00:00:00 2001 From: gnu-ewm Date: Tue, 23 Mar 2021 00:21:57 +0000 Subject: [PATCH 145/279] Translated using Weblate (Polish) Currently translated at 71.6% (972 of 1356 strings) --- po/pl/minetest.po | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/po/pl/minetest.po b/po/pl/minetest.po index 8b4d1d407..063de8455 100644 --- a/po/pl/minetest.po +++ b/po/pl/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Polish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-25 23:50+0000\n" -"Last-Translator: Mateusz Mendel \n" +"PO-Revision-Date: 2021-03-25 17:29+0000\n" +"Last-Translator: gnu-ewm \n" "Language-Team: Polish \n" "Language: pl\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.5.2-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -206,9 +206,8 @@ msgid "Back to Main Menu" msgstr "Powrót do menu głównego" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Utwórz grę" +msgstr "Gra podstawowa:" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -238,9 +237,8 @@ msgid "Install $1" msgstr "Instaluj" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "Dodatkowe zależności:" +msgstr "Zainstaluj brakujące zależności" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -868,9 +866,8 @@ msgid "Port" msgstr "Port" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Wybierz świat:" +msgstr "Wybierz Mody" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -2030,7 +2027,6 @@ msgstr "" "znajduje się poza głównym okręgiem." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "(X,Y,Z) offset of fractal from world center in units of 'scale'.\n" "Can be used to move a desired point to (0, 0) to create a\n" @@ -2042,7 +2038,7 @@ msgid "" "Range roughly -2 to 2. Multiply by 'scale' for offset in nodes." msgstr "" "(X, Y, Z) margines fraktalu od centrum świata w jednostkach \"skali\".\n" -"Używany by przesunąć odpowiednie miejsce do punktu spawnu podłoża blisko " +"Używany by przesunąć odpowiednie miejsce do punktu spawnu podłoża blisko " "punktu (0, 0).\n" "Domyślny jest odpowiedni dla zbiorów Mandelbrota, lecz wymaga edycji dla " "zbiorów Julii.\n" @@ -3246,7 +3242,7 @@ msgid "" "This requires the \"fast\" privilege on the server." msgstr "" "Szybki ruch (za pomocą przycisku „specjalnego”).\n" -"Wymaga to uprawnienia „fast” na serwerze." +"Wymaga to uprawnienia „fast” na serwerze." #: src/settings_translation_file.cpp msgid "Field of view" @@ -3262,8 +3258,8 @@ msgid "" "the\n" "Multiplayer Tab." msgstr "" -"Plik w kliencie (lista serwerów) który zawiera ulubione ulubione serwery " -"wyświetlane w zakładce Multiplayer." +"Plik w kliencie (lista serwerów) który zawiera ulubione serwery wyświetlane " +"w zakładce Multiplayer." #: src/settings_translation_file.cpp msgid "Filler depth" @@ -5120,9 +5116,8 @@ msgid "Light curve boost" msgstr "Przyśpieszenie środkowe krzywej światła" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve boost center" -msgstr "Centrum środkowego przyśpieszenia krzywej światła" +msgstr "Centrum środkowego przyśpieszenia krzywej światła" #: src/settings_translation_file.cpp #, fuzzy @@ -5140,9 +5135,8 @@ msgid "Light curve high gradient" msgstr "Przyśpieszenie środkowe krzywej światła" #: src/settings_translation_file.cpp -#, fuzzy msgid "Light curve low gradient" -msgstr "Centrum środkowego przyśpieszenia krzywej światła" +msgstr "Centrum środkowego przyśpieszenia krzywej światła" #: src/settings_translation_file.cpp msgid "" From 461cc30842e3c568cc09ac08c2bfecb8fd6f6f32 Mon Sep 17 00:00:00 2001 From: Mateusz Mendel Date: Sat, 27 Mar 2021 20:01:59 +0000 Subject: [PATCH 146/279] Translated using Weblate (Polish) Currently translated at 72.4% (982 of 1356 strings) --- po/pl/minetest.po | 147 +++++++++++++++++++++++----------------------- 1 file changed, 75 insertions(+), 72 deletions(-) diff --git a/po/pl/minetest.po b/po/pl/minetest.po index 063de8455..e4c8691ee 100644 --- a/po/pl/minetest.po +++ b/po/pl/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Polish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-03-25 17:29+0000\n" -"Last-Translator: gnu-ewm \n" +"PO-Revision-Date: 2021-03-28 20:29+0000\n" +"Last-Translator: Mateusz Mendel \n" "Language-Team: Polish \n" "Language: pl\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.5.2-dev\n" +"X-Generator: Weblate 4.6-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -134,7 +134,7 @@ msgstr "Brak dostępnych informacji o modzie." #: builtin/mainmenu/dlg_config_world.lua msgid "No optional dependencies" -msgstr "Brak dodatkowych zależności." +msgstr "Brak dodatkowych zależności" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" @@ -154,9 +154,8 @@ msgid "enabled" msgstr "włączone" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "\"$1\" już istnieje. Czy chciałbyś to nadpisać?" +msgstr "\"$1\" aktualnie istnieje. Czy chcesz go nadpisać?" #: builtin/mainmenu/dlg_contentstore.lua #, fuzzy @@ -188,9 +187,8 @@ msgid "$1 required dependencies could not be found." msgstr "$1 wymaga zależności, których nie można znaleźć." #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 will be installed, and $2 dependencies will be skipped." -msgstr "$1 będzie zainstalowany, a zależności $2 zostaną pominięte." +msgstr "$1 zostanie zainstalowany, a zależności $2 zostaną pominięte." #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" @@ -419,16 +417,15 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Network of tunnels and caves" -msgstr "Sieć jaskiń i korytarzy." +msgstr "Sieć jaskiń i korytarzy" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" msgstr "Nie wybrano gry" #: builtin/mainmenu/dlg_create_world.lua -#, fuzzy msgid "Reduces heat with altitude" -msgstr "Spadek temperatury wraz z wysokością" +msgstr "Redukuje ciepło wraz z wysokością" #: builtin/mainmenu/dlg_create_world.lua msgid "Reduces humidity with altitude" @@ -1780,12 +1777,12 @@ msgstr "Minimapa ukryta" #: src/client/minimap.cpp #, fuzzy, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Minimapa w trybie radaru, Zoom x1" +msgstr "Minimapa w trybie radaru, Zoom x%d" #: src/client/minimap.cpp #, fuzzy, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Minimapa w trybie powierzchniowym, powiększenie x1" +msgstr "Minimapa w trybie powierzchniowym, powiększenie x%d" #: src/client/minimap.cpp #, fuzzy @@ -2362,11 +2359,8 @@ msgid "Automatic forward key" msgstr "Klawisz automatycznego poruszania się do przodu" #: src/settings_translation_file.cpp -#, fuzzy msgid "Automatically jump up single-node obstacles." -msgstr "" -"Automatycznie przeskakuj jedno-blokowe przeszkody.\n" -"type: bool" +msgstr "Automatycznie przeskakuj jedno-blokowe przeszkody." #: src/settings_translation_file.cpp msgid "Automatically report to the serverlist." @@ -2443,9 +2437,8 @@ msgid "Bold and italic monospace font path" msgstr "Ścieżka czcionki typu Monospace" #: src/settings_translation_file.cpp -#, fuzzy msgid "Bold font path" -msgstr "Ścieżka fontu pogrubionego." +msgstr "Ścieżka fontu pogrubionego" #: src/settings_translation_file.cpp #, fuzzy @@ -2695,7 +2688,6 @@ msgid "Console height" msgstr "Wysokość konsoli" #: src/settings_translation_file.cpp -#, fuzzy msgid "ContentDB Flag Blacklist" msgstr "Flaga czarnej listy ContentDB" @@ -2738,7 +2730,6 @@ msgstr "" "zostaje niezmienione." #: src/settings_translation_file.cpp -#, fuzzy msgid "Controls sinking speed in liquid." msgstr "Wpływa na prędkość zanurzania w płynie." @@ -2774,7 +2765,9 @@ msgstr "Kanał alfa celownika" msgid "" "Crosshair alpha (opaqueness, between 0 and 255).\n" "Also controls the object crosshair color" -msgstr "Kanał alfa celownika (pomiędzy 0 a 255)." +msgstr "" +"Kanał alfa celownika (pomiędzy 0 a 255).\n" +"Wpływa również na kolor celownika obiektów" #: src/settings_translation_file.cpp msgid "Crosshair color" @@ -3024,11 +3017,12 @@ msgid "Dungeon noise" msgstr "" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Enable IPv6 support (for both client and server).\n" "Required for IPv6 connections to work at all." -msgstr "Włącz protokół sieciowy IPv6 (dla gry oraz dla jej serwera)." +msgstr "" +"Włącz protokół sieciowy IPv6 (dla gry oraz dla jej serwera).\n" +"Wymagane dla połączeń z protokołem sieciowym IPv6." #: src/settings_translation_file.cpp msgid "" @@ -3045,7 +3039,7 @@ msgstr "Odblokuj okno konsoli" #: src/settings_translation_file.cpp #, fuzzy msgid "Enable creative mode for all players" -msgstr "Zezwól na tryb kreatywny dla nowo powstałych map." +msgstr "Zezwól na tryb kreatywny dla wszystkich graczy" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3118,8 +3112,8 @@ msgid "" "Enable vertex buffer objects.\n" "This should greatly improve graphics performance." msgstr "" -"Uaktywnij \"vertex buffer objects\" aby zmniejszyć wymagania wobec karty " -"grafiki." +"Uaktywnij \"vertex buffer objects\". \n" +"Powinno to znacznie polepszyć wydajność karty graficznej." #: src/settings_translation_file.cpp msgid "" @@ -3189,7 +3183,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "FPS when unfocused or paused" -msgstr "Maksymalny FPS gdy gra spauzowana." +msgstr "Maksymalny FPS gdy gra spauzowana" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3253,13 +3247,15 @@ msgid "Field of view in degrees." msgstr "Pole widzenia w stopniach." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "File in client/serverlist/ that contains your favorite servers displayed in " "the\n" "Multiplayer Tab." msgstr "" -"Plik w kliencie (lista serwerów) który zawiera ulubione serwery wyświetlane " -"w zakładce Multiplayer." +"Plik w kliencie (lista serwerów), który zawiera ulubione serwery wyświetlane " +"\n" +"w zakładce Trybu wieloosobowego." #: src/settings_translation_file.cpp msgid "Filler depth" @@ -3286,6 +3282,7 @@ msgstr "" "które optymalizatory PNG najczęściej odrzucają, co czasem powoduje " "ciemniejsze lub jaśniejsze\n" "krawędzie w przeźroczystych teksturach. Zastosuj ten filtr aby wyczyścić to " +"\n" "w czasie ładowania tekstur." #: src/settings_translation_file.cpp @@ -3529,33 +3526,34 @@ msgid "Global callbacks" msgstr "Globalne wywołania zwrotne" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Global map generation attributes.\n" "In Mapgen v6 the 'decorations' flag controls all decorations except trees\n" "and junglegrass, in all other mapgens this flag controls all decorations." msgstr "" "Globalne właściwości generowania map.\n" -"W generatorze map v6 flaga \"decorations\" kontroluje wszystkie dekoracje\n" -"z wyjątkiem drzew i trawy dżungli. we wszystkich innych generatorach flaga\n" -"ta kontroluje wszystkie dekoracje.\n" -"Flagi, które nie są wymienione w ciągu flagi nie są modyfikowane z " -"domyślnych.\n" -"Flagi rozpoczynające się od \"no\" są stosowane aby jawnie ją wyłączyć." +"W generatorze map v6 flaga \"decorations\" kontroluje wszystkie dekoracje z " +"wyjątkiem drzew \n" +"i trawy dżungli. we wszystkich innych generatorach flaga ta kontroluje " +"wszystkie dekoracje." #: src/settings_translation_file.cpp #, fuzzy msgid "" "Gradient of light curve at maximum light level.\n" "Controls the contrast of the highest light levels." -msgstr "Gradient krzywej światła w maksymalnej pozycji." +msgstr "" +"Gradient krzywej światła w maksymalnej pozycji.\n" +"Wpływa na kontrast najwyższych poziomów jasności." #: src/settings_translation_file.cpp #, fuzzy msgid "" "Gradient of light curve at minimum light level.\n" "Controls the contrast of the lowest light levels." -msgstr "Gradient krzywej światła w minimalnej pozycji." +msgstr "" +"Gradient krzywej światła w minimalnej pozycji.\n" +"Wpływa na kontrast najniższych poziomów jasności." #: src/settings_translation_file.cpp msgid "Graphics" @@ -3678,7 +3676,7 @@ msgid "" "in nodes per second per second." msgstr "" "Przyśpieszenie poziome podczas skoku lub upadku,\n" -"w blokach na sekundę." +"w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp #, fuzzy @@ -3687,7 +3685,7 @@ msgid "" "in nodes per second per second." msgstr "" "Poziome i pionowe przyśpieszenie w trybie szybkim,\n" -"w blokach na sekundę." +"w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp #, fuzzy @@ -3696,7 +3694,7 @@ msgid "" "in nodes per second per second." msgstr "" "Poziome i pionowe przyśpieszenie na ziemi lub podczas wchodzenia,\n" -"w blokach na sekunde." +"w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp msgid "Hotbar next key" @@ -3869,7 +3867,7 @@ msgstr "Następny klawisz paska działań" #: src/settings_translation_file.cpp #, fuzzy msgid "How deep to make rivers." -msgstr "Jak głębokie robić rzeki" +msgstr "Jak głębokie tworzyć rzeki." #: src/settings_translation_file.cpp msgid "" @@ -3889,7 +3887,7 @@ msgstr "" #: src/settings_translation_file.cpp #, fuzzy msgid "How wide to make rivers." -msgstr "Jak szerokie są rzeki" +msgstr "Jak szerokie są rzeki." #: src/settings_translation_file.cpp msgid "Humidity blend noise" @@ -3927,9 +3925,10 @@ msgid "" "enabled." msgstr "" "Jeśli wyłączone to klawisz \"używania\" jest wykorzystany aby latać szybko " -"oraz przy włączonym trybie szybkiego poruszania." +"jeśli tryb szybkiego poruszania oraz latania jest włączony." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "If enabled the server will perform map block occlusion culling based on\n" "on the eye position of the player. This can reduce the number of blocks\n" @@ -3938,10 +3937,11 @@ msgid "" "so that the utility of noclip mode is reduced." msgstr "" "Jeśli opcja jest włączona to serwer spowoduje zamknięcie usuwania bloków " -"mapy na podstawie pozycji gracza.\n" -"Zredukuje to o 50-80% liczbę bloków wysyłanych na serwer.\n" -"Klient już nie będzie widział większości ukrytych bloków, tak więc zostanie " -"ograniczona przydatność trybu noclip." +"mapy na podstawie \n" +"pozycji gracza. Zredukuje to o 50-80% liczbę bloków \n" +"wysyłanych na serwer. Klient już nie będzie widział większości ukrytych " +"bloków, \n" +"tak więc zostanie ograniczona przydatność trybu noclip." #: src/settings_translation_file.cpp msgid "" @@ -3960,8 +3960,9 @@ msgid "" "down and\n" "descending." msgstr "" -"Jeżeli włączone, klawisz \"użycia\" zamiast klawiszu \"skradania\" będzie " -"użyty do schodzenia w dół i opadania." +"Jeżeli włączone, klawisz \"użycia\" zamiast klawisza \"skradania\" będzie " +"użyty do schodzenia w dół i \n" +"opadania." #: src/settings_translation_file.cpp msgid "" @@ -4052,7 +4053,8 @@ msgstr "Klawisz zwiększania głośności" #: src/settings_translation_file.cpp #, fuzzy msgid "Initial vertical speed when jumping, in nodes per second." -msgstr "Początkowa prędkość pionowa podczas skoku, w blokach na sekundę." +msgstr "" +"Początkowa prędkość pionowa podczas skoku, w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp #, fuzzy @@ -4068,12 +4070,13 @@ msgid "Instrument chatcommands on registration." msgstr "Instrument poleceń czatu przy rejestracji." #: src/settings_translation_file.cpp +#, fuzzy msgid "" "Instrument global callback functions on registration.\n" "(anything you pass to a minetest.register_*() function)" msgstr "" -"Poinstruuj globalne funkcje zwrotne przy rejestracji (wszystko co prześlesz " -"do funkcji minetest.register_*() )" +"Poinstruuj globalne funkcje zwrotne przy rejestracji \n" +"(wszystko co prześlesz do funkcji minetest.register_*() )" #: src/settings_translation_file.cpp msgid "" @@ -4177,8 +4180,9 @@ msgid "" "Has no effect on 3D fractals.\n" "Range roughly -2 to 2." msgstr "" -"Wyłącznie dla Zbioru Julii: komponent W stałej hiperzespolonej, która " -"determinuje kształt Julii.\n" +"Wyłącznie dla Zbioru Julii: \n" +"komponent W stałej hiperzespolonej, \n" +"która determinuje fraktali.\n" "Nie ma wpływu na fraktale trójwymiarowe.\n" "Zakres to w przybliżeniu -2 do 2." @@ -4190,8 +4194,9 @@ msgid "" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" -"Wyłącznie dla Zbioru Julii: komponent X stałej hiperzespolonej, która " -"determinuje kształt Julii.\n" +"Wyłącznie dla Zbioru Julii: \n" +"komponent X stałej hiperzespolonej, \n" +"która determinuje kształt fraktali.\n" "Zakres to w przybliżeniu -2 do 2." #: src/settings_translation_file.cpp @@ -4202,8 +4207,8 @@ msgid "" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" -"Wyłącznie dla Zbioru Julii: komponent Y stałej hiperzespolonej, która " -"determinuje kształt Julii.\n" +"Wyłącznie dla Zbioru Julii: komponent Y stałej hiperzespolonej, \n" +"która determinuje kształt fraktali.\n" "Zakres to w przybliżeniu -2 do 2." #: src/settings_translation_file.cpp @@ -4214,8 +4219,9 @@ msgid "" "Alters the shape of the fractal.\n" "Range roughly -2 to 2." msgstr "" -"Wyłącznie dla Zbioru Julii: komponent Z stałej hiperzespolonej, która " -"determinuje kształt Julii.\n" +"Wyłącznie dla Zbioru Julii: \n" +"komponent Z stałej hiperzespolonej, \n" +"która determinuje kształt fraktali.\n" "Zakres to w przybliżeniu -2 do 2." #: src/settings_translation_file.cpp @@ -4332,6 +4338,7 @@ msgid "" "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" "Klawisz poruszania się wstecz.\n" +"Gdy jest aktywny to wyłącza również automatyczne chodzenie do przodu.\n" "Zobacz http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -5057,14 +5064,14 @@ msgid "Left key" msgstr "W lewo" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Length of a server tick and the interval at which objects are generally " "updated over\n" "network." msgstr "" "Długość interwału czasowego serwera w trakcie którego obiekty są ogólnie " -"aktualizowane przez sieć." +"aktualizowane \n" +"przez sieć." #: src/settings_translation_file.cpp #, fuzzy @@ -5085,9 +5092,8 @@ msgid "Length of time between NodeTimer execution cycles" msgstr "Długość czasu pomiędzy wykonywanymi cyklami NodeTimer" #: src/settings_translation_file.cpp -#, fuzzy msgid "Length of time between active block management cycles" -msgstr "Czas pomiędzy cyklami zarządzania aktywnymi blokami." +msgstr "Czas pomiędzy cyklami zarządzania aktywnymi blokami" #: src/settings_translation_file.cpp #, fuzzy @@ -5256,16 +5262,12 @@ msgid "Map generation attributes specific to Mapgen Carpathian." msgstr "Właściwości generowania mapy określające Mapgen Carpathian." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Map generation attributes specific to Mapgen Flat.\n" "Occasional lakes and hills can be added to the flat world." msgstr "" "Specyficzne cechy dla Mapgen płaskiego terenu.\n" -"Do płaskiego świata mogą być dodane przypadkowe jeziora i wzgórza.\n" -"Oznakowania nie będące określonymi w ciągu oznakowań nie są zmieniane z " -"domyślnych.\n" -"Oznakowania zaczynające się od 'no' używane są do ich blokowania." +"Do płaskiego świata mogą być dodane przypadkowe jeziora i wzgórza." #: src/settings_translation_file.cpp #, fuzzy @@ -5275,7 +5277,8 @@ msgid "" "ocean, islands and underground." msgstr "" "Właściwości generowania mapy określające Mapgen v7.\n" -"\"grzbiety\" aktywują rzeki." +"\"grzbiety\" aktywują tworzenie niefraktalnego terenu:\n" +"oceanu, wysp oraz podziemi." #: src/settings_translation_file.cpp msgid "" From e669f8db9b6a570b42325723ae61f9a00e645db5 Mon Sep 17 00:00:00 2001 From: ResuUman Date: Sat, 27 Mar 2021 19:32:16 +0000 Subject: [PATCH 147/279] Translated using Weblate (Polish) Currently translated at 72.4% (982 of 1356 strings) --- po/pl/minetest.po | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/po/pl/minetest.po b/po/pl/minetest.po index e4c8691ee..8469a1bc2 100644 --- a/po/pl/minetest.po +++ b/po/pl/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" "PO-Revision-Date: 2021-03-28 20:29+0000\n" -"Last-Translator: Mateusz Mendel \n" +"Last-Translator: ResuUman \n" "Language-Team: Polish \n" "Language: pl\n" @@ -2202,9 +2202,8 @@ msgid "Acceleration in air" msgstr "Przyspieszenie w powietrzu" #: src/settings_translation_file.cpp -#, fuzzy msgid "Acceleration of gravity, in nodes per second per second." -msgstr "Przyśpieszenie grawitacyjne, w blokach na sekundę." +msgstr "Przyśpieszenie grawitacyjne, w blokach na sekundę do kwadratu." #: src/settings_translation_file.cpp msgid "Active Block Modifiers" From cff847273af1fc1fad542ba04fa9a4ef131df532 Mon Sep 17 00:00:00 2001 From: Konstantin Yeliseyev Date: Tue, 30 Mar 2021 05:34:47 +0000 Subject: [PATCH 148/279] Translated using Weblate (Russian) Currently translated at 100.0% (1356 of 1356 strings) --- po/ru/minetest.po | 53 ++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index 7ea2b0235..ee4128667 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-25 23:50+0000\n" -"Last-Translator: narrnika \n" +"PO-Revision-Date: 2021-03-30 05:36+0000\n" +"Last-Translator: Konstantin Yeliseyev \n" "Language-Team: Russian \n" "Language: ru\n" @@ -13,7 +13,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.6-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -705,9 +705,8 @@ msgid "Loading..." msgstr "Загрузка..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Клиентские моды отключены" +msgstr "Публичный список серверов отключён" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -1216,12 +1215,12 @@ msgstr "" "- %s: влево\n" "- %s: вправо\n" "- %s: прыжок/подъём\n" +"- %s: копать/удар\n" +"- %s: разместить/использовать\n" "- %s: красться/спуск\n" "- %s: бросить предмет\n" "- %s: инвентарь\n" "- Мышь: поворот/обзор\n" -"- ЛКМ: копать/удар\n" -"- ПКМ: положить/использовать\n" "- Колесо мыши: выбор предмета\n" "- %s: чат\n" @@ -2168,7 +2167,7 @@ msgstr "ABM интервал" #: src/settings_translation_file.cpp msgid "ABM time budget" -msgstr "" +msgstr "Бюджет времени ABM" #: src/settings_translation_file.cpp msgid "Absolute limit of queued blocks to emerge" @@ -2249,13 +2248,11 @@ msgid "" "This only has significant effect on daylight and artificial\n" "light, it has very little effect on natural night light." msgstr "" -"Изменяет кривую блеска, применяя к ней «гамма-\n" -"коррекцию». Более высокие значения делают средний \n" -"и нижний уровни света ярче. Значение «1.0» оставляет\n" -"кривую блеска без изменений. Это оказывает \n" -"существенное влияние только на дневной и \n" -"искусственный свет, он очень мало влияет на \n" -"естественный ночной свет." +"Изменяет кривую света, применяя к ней \"гамма-коррекцию\".\n" +"Более высокие значения делают средний и слабый свет ярче.\n" +"Значение \"1.0\" оставляет кривую света без изменений.\n" +"Значительный эффект виден только на дневном и искусственном\n" +"освещении, почти не влияет на естественный ночной свет." #: src/settings_translation_file.cpp msgid "Always fly and fast" @@ -2307,7 +2304,9 @@ msgstr "Инерция руки" msgid "" "Arm inertia, gives a more realistic movement of\n" "the arm when the camera moves." -msgstr "Делает более реалистичным движение руки персонажа при движении камеры." +msgstr "" +"Делает более реалистичным движение руки\n" +"персонажа при движении камеры." #: src/settings_translation_file.cpp msgid "Ask to reconnect after crash" @@ -5787,14 +5786,12 @@ msgid "Pitch move mode" msgstr "Режим движения вниз/вверх по направлению взгляда" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place key" -msgstr "Клавиша полёта" +msgstr "Клавиша «Разместить»" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place repetition interval" -msgstr "Интервал повторного клика правой кнопкой" +msgstr "Интервал повторного размещения" #: src/settings_translation_file.cpp msgid "" @@ -6288,9 +6285,8 @@ msgstr "" "Требует перезапуска после изменения." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "Стандартный жирный шрифт" +msgstr "Отображать фон у табличек с именами" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6652,7 +6648,6 @@ msgstr "" "Это должно быть настроено вместе с active_object_send_range_blocks." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "The rendering back-end for Irrlicht.\n" "A restart is required after changing this.\n" @@ -6665,7 +6660,8 @@ msgstr "" "После изменения этого параметра потребуется перезапуск.\n" "Примечание: Если не уверены, используйте OGLES1 для Android, иначе\n" "приложение может не запуститься. На других платформах рекомендуется\n" -"OpenGL, так как сейчас это единственный драйвер с поддержкой шейдеров." +"OpenGL. Шейдеры поддерживаются OpenGL (только на десктопах) и OGLES2 " +"(экспериментально)" #: src/settings_translation_file.cpp msgid "" @@ -6703,6 +6699,8 @@ msgid "" "The time budget allowed for ABMs to execute on each step\n" "(as a fraction of the ABM Interval)" msgstr "" +"Бюджет времени для выполнения ABM на каждом шаге\n" +"(как часть ABM-интервала)" #: src/settings_translation_file.cpp msgid "" @@ -6713,11 +6711,12 @@ msgstr "" "когда зажата комбинация кнопок на джойстике." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "The time in seconds it takes between repeated node placements when holding\n" "the place button." -msgstr "Задержка в секундах между кликами при зажатой правой кнопке мыши." +msgstr "" +"Задержка перед повторным размещением блока в секундах\n" +"при удержании клавиши размещения" #: src/settings_translation_file.cpp msgid "The type of joystick" @@ -7141,6 +7140,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Должен ли отображаться фон бирки по умолчанию.\n" +"Моды в любом случае могут задать фон." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." From 6ea73c49829ced436deb37e9641580bed882c97d Mon Sep 17 00:00:00 2001 From: Dainis Date: Thu, 1 Apr 2021 10:11:36 +0000 Subject: [PATCH 149/279] Translated using Weblate (Latvian) Currently translated at 28.6% (388 of 1356 strings) --- po/lv/minetest.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/po/lv/minetest.po b/po/lv/minetest.po index e1b4de861..36ea08ae0 100644 --- a/po/lv/minetest.po +++ b/po/lv/minetest.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2020-07-12 17:41+0000\n" -"Last-Translator: Uko Koknevics \n" +"PO-Revision-Date: 2021-04-02 10:26+0000\n" +"Last-Translator: Dainis \n" "Language-Team: Latvian \n" "Language: lv\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= " "19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n" -"X-Generator: Weblate 4.2-dev\n" +"X-Generator: Weblate 4.6-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -34,7 +34,7 @@ msgstr "" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" -msgstr "Radās kļūme Lua skriptā:" +msgstr "Lua skriptā radās kļūme:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -249,7 +249,7 @@ msgstr "Nevarēja iegūt papildinājumus" #: builtin/mainmenu/dlg_contentstore.lua msgid "No results" -msgstr "Nav resultātu" +msgstr "Nav rezultātu" #: builtin/mainmenu/dlg_contentstore.lua #, fuzzy @@ -282,7 +282,7 @@ msgstr "Atinstalēt" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update" -msgstr "Atjaunot" +msgstr "Atjaunināt" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" @@ -294,7 +294,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "Pasaule ar nosaukumu “$1” jau eksistē" +msgstr "Pasaule ar nosaukumu “$1” jau pastāv" #: builtin/mainmenu/dlg_create_world.lua msgid "Additional terrain" From 1060b5aabf613bd5a69cef72bff5cf1ac2ed710a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Delpierre?= Date: Sun, 4 Apr 2021 21:42:07 +0000 Subject: [PATCH 150/279] Translated using Weblate (French) Currently translated at 96.6% (1311 of 1356 strings) --- po/fr/minetest.po | 70 ++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 40 deletions(-) diff --git a/po/fr/minetest.po b/po/fr/minetest.po index 9e086f32b..53ed600cc 100644 --- a/po/fr/minetest.po +++ b/po/fr/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: French (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-03-25 17:29+0000\n" -"Last-Translator: ItsWidee \n" +"PO-Revision-Date: 2021-04-05 21:22+0000\n" +"Last-Translator: François Delpierre \n" "Language-Team: French \n" "Language: fr\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.5.2-dev\n" +"X-Generator: Weblate 4.6-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -154,21 +154,23 @@ msgstr "activé" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "" +msgstr "\"$1\" existe déjà. Voulez-vous l'écraser ?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." -msgstr "" +msgstr "Les dépendances $1 et $2 vont être installées." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 by $2" -msgstr "" +msgstr "$1 par $2" #: builtin/mainmenu/dlg_contentstore.lua msgid "" "$1 downloading,\n" "$2 queued" msgstr "" +"$1 en téléchargement,\n" +"$2 en attente" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 downloading..." @@ -187,9 +189,8 @@ msgid "All packages" msgstr "Tous les paquets" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Already installed" -msgstr "Touche déjà utilisée" +msgstr "Déjà installé" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" @@ -222,14 +223,12 @@ msgid "Install" msgstr "Installer" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install $1" -msgstr "Installer" +msgstr "Installer $1" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Install missing dependencies" -msgstr "Dépendances optionnelles :" +msgstr "Installer les dépendances manquantes" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua @@ -245,14 +244,12 @@ msgid "No results" msgstr "Aucun résultat" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "No updates" -msgstr "Mise à jour" +msgstr "Aucune mise à jour" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Not found" -msgstr "Couper le son" +msgstr "Non trouvé" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" @@ -260,7 +257,7 @@ msgstr "Écraser" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." -msgstr "" +msgstr "Veuillez vérifier que le jeu de base est correct." #: builtin/mainmenu/dlg_contentstore.lua msgid "Queued" @@ -280,7 +277,7 @@ msgstr "Mise à jour" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Tout mettre à jour [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" @@ -712,9 +709,8 @@ msgid "Loading..." msgstr "Chargement..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "Les scripts côté client sont désactivés" +msgstr "La liste des serveurs publics est désactivée" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -775,9 +771,8 @@ msgid "Credits" msgstr "Crédits" #: builtin/mainmenu/tab_credits.lua -#, fuzzy msgid "Open User Data Directory" -msgstr "Choisissez un répertoire" +msgstr "Ouvrir le répertoire de données utilisateur" #: builtin/mainmenu/tab_credits.lua msgid "" @@ -837,9 +832,8 @@ msgid "No world created or selected!" msgstr "Aucun monde créé ou sélectionné !" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Password" -msgstr "Nouveau mot de passe" +msgstr "Mot de passe" #: builtin/mainmenu/tab_local.lua msgid "Play Game" @@ -850,9 +844,8 @@ msgid "Port" msgstr "Port" #: builtin/mainmenu/tab_local.lua -#, fuzzy msgid "Select Mods" -msgstr "Sélectionner un monde :" +msgstr "Sélectionner les mods" #: builtin/mainmenu/tab_local.lua msgid "Select World:" @@ -1004,9 +997,8 @@ msgid "Shaders" msgstr "Shaders" #: builtin/mainmenu/tab_settings.lua -#, fuzzy msgid "Shaders (experimental)" -msgstr "Îles volantes (expérimental)" +msgstr "Shaders (expérimental)" #: builtin/mainmenu/tab_settings.lua msgid "Shaders (unavailable)" @@ -1761,19 +1753,18 @@ msgid "Minimap hidden" msgstr "Mini-carte cachée" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in radar mode, Zoom x%d" -msgstr "Mini-carte en mode radar, zoom x1" +msgstr "Mini-carte en mode radar, zoom ×%d" #: src/client/minimap.cpp -#, fuzzy, c-format +#, c-format msgid "Minimap in surface mode, Zoom x%d" -msgstr "Mini-carte en mode surface, zoom x1" +msgstr "Mini-carte en mode surface, zoom ×%d" #: src/client/minimap.cpp -#, fuzzy msgid "Minimap in texture mode" -msgstr "Taille minimum des textures" +msgstr "Mini-carte en mode texture" #: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp msgid "Passwords do not match!" @@ -2182,7 +2173,7 @@ msgstr "Intervalle des ABM" #: src/settings_translation_file.cpp msgid "ABM time budget" -msgstr "" +msgstr "budget de temps ABM" #: src/settings_translation_file.cpp msgid "Absolute limit of queued blocks to emerge" @@ -3588,7 +3579,6 @@ msgid "HUD toggle key" msgstr "HUD" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Handling for deprecated Lua API calls:\n" "- none: Do not log deprecated calls\n" @@ -3596,11 +3586,11 @@ msgid "" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" "Traitement des appels d'API Lua obsolètes :\n" -"- legacy : imite l'ancien comportement (par défaut en mode release).\n" -"- log : imite et enregistre la trace des appels obsolètes (par défaut en " +"- aucun: N'enregistre pas les appels obsolètes\n" +"- log : imite et enregistre la trace des appels obsolètes (par défaut en " "mode debug).\n" -"- error : (=erreur) interruption à l'usage d'un appel obsolète " -"(recommandé pour les développeurs de mods)." +"- erreur : s'interrompt lors d'un appel obsolète (recommandé pour les " +"développeurs de mods)." #: src/settings_translation_file.cpp msgid "" From 541dcc0e5afa384dfe9e4e5806da94802161306c Mon Sep 17 00:00:00 2001 From: ItsWidee Date: Sun, 4 Apr 2021 21:42:39 +0000 Subject: [PATCH 151/279] Translated using Weblate (French) Currently translated at 98.0% (1330 of 1356 strings) --- po/fr/minetest.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/fr/minetest.po b/po/fr/minetest.po index 53ed600cc..b42521c96 100644 --- a/po/fr/minetest.po +++ b/po/fr/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" "PO-Revision-Date: 2021-04-05 21:22+0000\n" -"Last-Translator: François Delpierre \n" +"Last-Translator: ItsWidee \n" "Language-Team: French \n" "Language: fr\n" @@ -170,7 +170,7 @@ msgid "" "$2 queued" msgstr "" "$1 en téléchargement,\n" -"$2 en attente" +"$2 mis en attente" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 downloading..." From 7038837aca6ac035d45c3502d459398e5d5f9dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?GnuPG=E3=82=92=E4=BD=BF=E3=81=86=E3=81=B9=E3=81=8D?= =?UTF-8?q?=E3=81=A0?= Date: Tue, 6 Apr 2021 12:11:01 +0000 Subject: [PATCH 152/279] Translated using Weblate (Japanese) Currently translated at 99.7% (1353 of 1356 strings) --- po/ja/minetest.po | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/po/ja/minetest.po b/po/ja/minetest.po index c3a5e3522..14b6cc6b3 100644 --- a/po/ja/minetest.po +++ b/po/ja/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Japanese (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-13 08:50+0000\n" -"Last-Translator: BreadW \n" +"PO-Revision-Date: 2021-04-06 12:12+0000\n" +"Last-Translator: GnuPGを使うべきだ \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.6-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -699,9 +699,8 @@ msgid "Loading..." msgstr "読み込み中..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "クライアント側のスクリプトは無効" +msgstr "公開サーバー一覧は無効" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -2982,9 +2981,8 @@ msgid "Enable console window" msgstr "コンソールウィンドウを有効化" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "新しく作成されたマップでクリエイティブモードを有効にします。" +msgstr "全プレイヤーにクリエイティブモードを有効化" #: src/settings_translation_file.cpp msgid "Enable joysticks" From 7200d8f90e1ea5552a855e909d63fbb4144f2ba7 Mon Sep 17 00:00:00 2001 From: BreadW Date: Tue, 6 Apr 2021 12:11:16 +0000 Subject: [PATCH 153/279] Translated using Weblate (Japanese) Currently translated at 99.8% (1354 of 1356 strings) --- po/ja/minetest.po | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/po/ja/minetest.po b/po/ja/minetest.po index 14b6cc6b3..92df33b1f 100644 --- a/po/ja/minetest.po +++ b/po/ja/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Japanese (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-04-06 12:12+0000\n" -"Last-Translator: GnuPGを使うべきだ \n" +"PO-Revision-Date: 2021-04-08 18:26+0000\n" +"Last-Translator: BreadW \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -700,7 +700,7 @@ msgstr "読み込み中..." #: builtin/mainmenu/serverlistmgr.lua msgid "Public server list is disabled" -msgstr "公開サーバー一覧は無効" +msgstr "公開サーバ一覧は無効" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -2982,7 +2982,7 @@ msgstr "コンソールウィンドウを有効化" #: src/settings_translation_file.cpp msgid "Enable creative mode for all players" -msgstr "全プレイヤーにクリエイティブモードを有効化" +msgstr "すべてのプレイヤーにクリエイティブモードを有効化" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -6232,9 +6232,8 @@ msgstr "" "変更後は再起動が必要です。" #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "既定で太字のフォント" +msgstr "既定でネームタグの背景を表示" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -7053,6 +7052,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"既定でネームタグの背景を表示するかどうかです。\n" +"Modで背景を設定することもできます。" #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." From 99e96a6581e5c96ed44182eed1bc5ad1f5c5f75c Mon Sep 17 00:00:00 2001 From: waxtatect Date: Wed, 7 Apr 2021 17:30:06 +0000 Subject: [PATCH 154/279] Translated using Weblate (French) Currently translated at 100.0% (1356 of 1356 strings) --- po/fr/minetest.po | 199 ++++++++++++++++++++++++++-------------------- 1 file changed, 112 insertions(+), 87 deletions(-) diff --git a/po/fr/minetest.po b/po/fr/minetest.po index b42521c96..5f4d7ff72 100644 --- a/po/fr/minetest.po +++ b/po/fr/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: French (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-04-05 21:22+0000\n" -"Last-Translator: ItsWidee \n" +"PO-Revision-Date: 2021-04-07 17:30+0000\n" +"Last-Translator: waxtatect \n" "Language-Team: French \n" "Language: fr\n" @@ -146,7 +146,7 @@ msgstr "Enregistrer" #: builtin/mainmenu/dlg_config_world.lua msgid "World:" -msgstr "Sélectionner un monde :" +msgstr "Monde :" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" @@ -197,9 +197,8 @@ msgid "Back to Main Menu" msgstr "Retour au menu principal" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "Base Game:" -msgstr "Héberger une partie" +msgstr "Jeu de base :" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" @@ -207,7 +206,7 @@ msgstr "ContentDB n'est pas disponible quand Minetest est compilé sans cURL" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading..." -msgstr "Chargement..." +msgstr "Téléchargement..." #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" @@ -926,7 +925,7 @@ msgstr "Anti-crénelage :" #: builtin/mainmenu/tab_settings.lua msgid "Autosave Screen Size" -msgstr "Sauvegarder automatiquement la taille d'écran" +msgstr "Sauv. autom. de la taille d'écran" #: builtin/mainmenu/tab_settings.lua msgid "Bilinear Filter" @@ -1023,7 +1022,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Tone Mapping" -msgstr "mappage tonal" +msgstr "Mappage tonal" #: builtin/mainmenu/tab_settings.lua msgid "Touchthreshold: (px)" @@ -1176,7 +1175,7 @@ msgstr "Mise à jour de la caméra activée" #: src/client/game.cpp msgid "Change Password" -msgstr "Changer votre mot de passe" +msgstr "Changer de mot de passe" #: src/client/game.cpp msgid "Cinematic mode disabled" @@ -1199,7 +1198,7 @@ msgid "Continue" msgstr "Continuer" #: src/client/game.cpp -#, fuzzy, c-format +#, c-format msgid "" "Controls:\n" "- %s: move forwards\n" @@ -1222,14 +1221,14 @@ msgstr "" "- %s : à gauche\n" "- %s : à droite\n" "- %s : sauter/grimper\n" +"- %s : creuser/actionner\n" +"- %s : placer/utiliser\n" "- %s : marcher lentement/descendre\n" -"- %s : lâcher l'objet en main\n" +"- %s : lâcher un objet\n" "- %s : inventaire\n" "- Souris : tourner/regarder\n" -"- Souris gauche : creuser/attaquer\n" -"- Souris droite : placer/utiliser\n" -"- Molette souris : sélectionner objet\n" -"- %s : discuter\n" +"- Molette souris : sélectionner un objet\n" +"- %s : tchat\n" #: src/client/game.cpp msgid "Creating client..." @@ -1746,7 +1745,7 @@ msgstr "Bouton X 2" #: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp msgid "Zoom" -msgstr "Zoomer" +msgstr "Zoom" #: src/client/minimap.cpp msgid "Minimap hidden" @@ -1801,7 +1800,7 @@ msgstr "\"Spécial\" = descendre" #: src/gui/guiKeyChangeMenu.cpp msgid "Autoforward" -msgstr "Avancer automatiquement" +msgstr "Avancer autom." #: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp msgid "Automatic jumping" @@ -1829,11 +1828,11 @@ msgstr "Console" #: src/gui/guiKeyChangeMenu.cpp msgid "Dec. range" -msgstr "Reduire champ vision" +msgstr "Réd. la distance" #: src/gui/guiKeyChangeMenu.cpp msgid "Dec. volume" -msgstr "Réduire le volume" +msgstr "Réd. le volume" #: src/gui/guiKeyChangeMenu.cpp msgid "Double tap \"jump\" to toggle fly" @@ -1849,11 +1848,11 @@ msgstr "Avancer" #: src/gui/guiKeyChangeMenu.cpp msgid "Inc. range" -msgstr "Augmenter la distance" +msgstr "Augm. la distance" #: src/gui/guiKeyChangeMenu.cpp msgid "Inc. volume" -msgstr "Augmenter le volume" +msgstr "Augm. le volume" #: src/gui/guiKeyChangeMenu.cpp msgid "Inventory" @@ -1869,7 +1868,7 @@ msgstr "Touche déjà utilisée" #: src/gui/guiKeyChangeMenu.cpp msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)" -msgstr "Raccourcis" +msgstr "Raccourcis clavier" #: src/gui/guiKeyChangeMenu.cpp msgid "Local command" @@ -1905,11 +1904,11 @@ msgstr "Spécial" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle HUD" -msgstr "Afficher/retirer l'interface" +msgstr "Interface" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle chat log" -msgstr "Afficher/retirer le canal de discussion" +msgstr "Afficher le tchat" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle fast" @@ -1921,11 +1920,11 @@ msgstr "Voler" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle fog" -msgstr "Afficher/retirer le brouillard" +msgstr "Brouillard" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle minimap" -msgstr "Afficher/retirer la mini-carte" +msgstr "Mini-carte" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle noclip" @@ -1933,7 +1932,7 @@ msgstr "Mode sans collision" #: src/gui/guiKeyChangeMenu.cpp msgid "Toggle pitchmove" -msgstr "Activer/désactiver vol vertical" +msgstr "Mouvement vertical" #: src/gui/guiKeyChangeMenu.cpp msgid "press key" @@ -2521,7 +2520,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Chat font size" -msgstr "Taille de police du chat" +msgstr "Taille de police du tchat" #: src/settings_translation_file.cpp msgid "Chat key" @@ -2537,7 +2536,7 @@ msgstr "Limite du nombre de message de discussion" #: src/settings_translation_file.cpp msgid "Chat message format" -msgstr "Format du message de chat" +msgstr "Format du message de tchat" #: src/settings_translation_file.cpp msgid "Chat message kick threshold" @@ -2545,11 +2544,11 @@ msgstr "Seuil de messages de discussion avant déconnexion forcée" #: src/settings_translation_file.cpp msgid "Chat message max length" -msgstr "Longueur maximum d'un message de chat" +msgstr "Longueur maximum d'un message de tchat" #: src/settings_translation_file.cpp msgid "Chat toggle key" -msgstr "Afficher le chat" +msgstr "Afficher le tchat" #: src/settings_translation_file.cpp msgid "Chatcommands" @@ -2757,11 +2756,12 @@ msgid "Crosshair alpha" msgstr "Opacité du réticule" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Crosshair alpha (opaqueness, between 0 and 255).\n" "Also controls the object crosshair color" -msgstr "Opacité du réticule (entre 0 et 255)." +msgstr "" +"Opacité du réticule (entre 0 et 255).\n" +"Contrôle également la couleur du réticule de l'objet" #: src/settings_translation_file.cpp msgid "Crosshair color" @@ -2772,6 +2772,8 @@ msgid "" "Crosshair color (R,G,B).\n" "Also controls the object crosshair color" msgstr "" +"Couleur du réticule (R,G,B).\n" +"Contrôle également la couleur du réticule de l'objet" #: src/settings_translation_file.cpp msgid "DPI" @@ -3186,9 +3188,8 @@ msgstr "" "définie en bas, plus pour une couche solide de massif volant." #: src/settings_translation_file.cpp -#, fuzzy msgid "FPS when unfocused or paused" -msgstr "FPS maximum quand le jeu est en pause." +msgstr "FPS lorsqu’il n’est pas sélectionné ou mis en pause" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3401,7 +3402,7 @@ msgid "" "placeholders:\n" "@name, @message, @timestamp (optional)" msgstr "" -"Format des messages de chat des joueurs. Substituts valides :\n" +"Format des messages de tchat des joueurs. Substituts valides :\n" "@name, @message, @timestamp (facultatif)" #: src/settings_translation_file.cpp @@ -3586,7 +3587,7 @@ msgid "" "- error: abort on usage of deprecated call (suggested for mod developers)." msgstr "" "Traitement des appels d'API Lua obsolètes :\n" -"- aucun: N'enregistre pas les appels obsolètes\n" +"- aucun : N'enregistre pas les appels obsolètes\n" "- log : imite et enregistre la trace des appels obsolètes (par défaut en " "mode debug).\n" "- erreur : s'interrompt lors d'un appel obsolète (recommandé pour les " @@ -3882,8 +3883,8 @@ msgid "" "are\n" "enabled." msgstr "" -"Si désactivé, la touche \"special\" est utilisée si le vole et le mode " -"rapide sont tous les deux activés." +"Si désactivé, la touche \"spécial\" est utilisée pour voler vite si les " +"modes vol et rapide sont activés." #: src/settings_translation_file.cpp msgid "" @@ -3906,7 +3907,8 @@ msgid "" "This requires the \"noclip\" privilege on the server." msgstr "" "Si activé avec le mode vol, le joueur sera capable de traverser les blocs " -"solides en volant." +"solides en volant.\n" +"Nécessite le privilège \"noclip\" sur le serveur." #: src/settings_translation_file.cpp msgid "" @@ -4028,7 +4030,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Instrument chatcommands on registration." -msgstr "Instrument d'enregistrement des commandes de chat." +msgstr "Instrument d'enregistrement des commandes de tchat." #: src/settings_translation_file.cpp msgid "" @@ -4121,12 +4123,11 @@ msgstr "ID de manette" #: src/settings_translation_file.cpp msgid "Joystick button repetition interval" -msgstr "Intervalle de répétition du bouton du Joystick" +msgstr "Intervalle de répétition des boutons du Joystick" #: src/settings_translation_file.cpp -#, fuzzy msgid "Joystick deadzone" -msgstr "Type de manette" +msgstr "Zone morte du joystick" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" @@ -4231,13 +4232,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for digging.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour sauter.\n" +"Touche pour creuser.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4349,7 +4349,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour ouvrir la fenêtre du chat pour entrer des commandes.\n" +"Touche pour ouvrir la fenêtre du tchat pour entrer des commandes.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4369,7 +4369,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour ouvrir la fenêtre de chat.\n" +"Touche pour ouvrir la fenêtre de tchat.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4384,13 +4384,12 @@ msgstr "" "html#a54da2a0e231901735e3da1b0edf72eb3" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Key for placing.\n" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour sauter.\n" +"Touche pour placer.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4855,7 +4854,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour afficher/cacher la zone de chat.\n" +"Touche pour afficher/cacher la zone de tchat.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -5163,11 +5162,11 @@ msgstr "Rendre toutes les liquides opaques" #: src/settings_translation_file.cpp msgid "Map Compression Level for Disk Storage" -msgstr "" +msgstr "Niveau de compression des cartes pour le stockage sur disque" #: src/settings_translation_file.cpp msgid "Map Compression Level for Network Transfer" -msgstr "" +msgstr "Niveau de compression des cartes pour le transfert de réseau" #: src/settings_translation_file.cpp msgid "Map directory" @@ -5354,9 +5353,10 @@ msgid "Maximum FPS" msgstr "FPS maximum" #: src/settings_translation_file.cpp -#, fuzzy msgid "Maximum FPS when the window is not focused, or when the game is paused." -msgstr "FPS maximum quand le jeu est en pause." +msgstr "" +"FPS maximum lorsque la fenêtre n'est pas sélectionnée, ou lorsque le jeu est " +"en pause." #: src/settings_translation_file.cpp msgid "Maximum forceloaded blocks" @@ -5421,6 +5421,9 @@ msgid "" "be queued.\n" "This should be lower than curl_parallel_limit." msgstr "" +"Nombre maximum de téléchargements simultanés. Les téléchargements dépassant " +"cette limite seront mis en file d'attente.\n" +"Ce nombre doit être inférieur à la limite de curl_parallel_limit." #: src/settings_translation_file.cpp msgid "Maximum number of forceloaded mapblocks." @@ -5476,7 +5479,7 @@ msgstr "Nombre maximal de blocs simultanés envoyés par client" #: src/settings_translation_file.cpp msgid "Maximum size of the out chat queue" -msgstr "Taille maximum de la file de sortie de message du chat" +msgstr "Taille maximum de la file de sortie de message du tchat" #: src/settings_translation_file.cpp msgid "" @@ -5518,7 +5521,7 @@ msgstr "Méthodes utilisées pour l'éclairage des objets." #: src/settings_translation_file.cpp msgid "Minimal level of logging to be written to chat." -msgstr "Verbosité minimale du log dans le chat." +msgstr "Verbosité minimale de journalisation à écrire dans le tchat." #: src/settings_translation_file.cpp msgid "Minimap" @@ -5629,7 +5632,8 @@ msgid "" msgstr "" "Nom du joueur.\n" "Lors qu'un serveur est lancé, les clients se connectant avec ce nom sont " -"administrateurs." +"administrateurs.\n" +"Lorsque vous démarrez à partir du menu principal, celui-ci est remplacé." #: src/settings_translation_file.cpp msgid "" @@ -5745,8 +5749,9 @@ msgid "" "formspec is\n" "open." msgstr "" -"Ouvrir le mesure pause lorsque le focus sur la fenêtre est perdu. Ne met pas " -"en pause si un formspec est ouvert." +"Ouvre le menu pause lorsque la sélection de la fenêtre est perdue. Ne met " +"pas en pause\n" +"si un formspec est ouvert." #: src/settings_translation_file.cpp msgid "" @@ -5837,14 +5842,12 @@ msgid "Pitch move mode" msgstr "Mode de mouvement libre" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place key" -msgstr "Voler" +msgstr "Touche pour placer" #: src/settings_translation_file.cpp -#, fuzzy msgid "Place repetition interval" -msgstr "Intervalle de répétition du clic droit" +msgstr "Intervalle de répétition du placement" #: src/settings_translation_file.cpp msgid "" @@ -5852,7 +5855,7 @@ msgid "" "This requires the \"fly\" privilege on the server." msgstr "" "Le joueur est capable de voler sans être affecté par la gravité.\n" -"Nécessite le privilège \"fly\" sur un serveur." +"Nécessite le privilège \"fly\" sur le serveur." #: src/settings_translation_file.cpp msgid "Player name" @@ -6260,7 +6263,7 @@ msgid "" "A restart is required after changing this." msgstr "" "Détermine la langue. Laisser vide pour utiliser celui de votre système.\n" -"Un redémarrage du jeu est nécessaire pour prendre effet." +"Un redémarrage est nécessaire après cette modification." #: src/settings_translation_file.cpp msgid "Set the maximum character length of a chat message sent by clients." @@ -6273,9 +6276,8 @@ msgid "" "Set to true to enable waving leaves.\n" "Requires shaders to be enabled." msgstr "" -"Mettre sur « true » active le mouvement des\n" -"feuilles d'arbres mouvantes. Nécessite les\n" -"shaders pour être activé." +"Mettre sur « true » active le mouvement des feuilles d'arbres mouvantes. " +"Nécessite les shaders pour être activé." #: src/settings_translation_file.cpp msgid "" @@ -6338,18 +6340,16 @@ msgid "Show entity selection boxes" msgstr "Afficher les boîtes de sélection de l'entité" #: src/settings_translation_file.cpp -#, fuzzy msgid "" "Show entity selection boxes\n" "A restart is required after changing this." msgstr "" -"Détermine la langue. Laisser vide pour utiliser celui de votre système.\n" -"Un redémarrage du jeu est nécessaire pour prendre effet." +"Afficher les boîtes de sélection de l'entité\n" +"Un redémarrage est nécessaire après cette modification." #: src/settings_translation_file.cpp -#, fuzzy msgid "Show nametag backgrounds by default" -msgstr "La police est en gras par défaut" +msgstr "Afficher l'arrière-plan des badges par défaut" #: src/settings_translation_file.cpp msgid "Shutdown message" @@ -6634,9 +6634,8 @@ msgid "The URL for the content repository" msgstr "L'URL du dépôt de contenu en ligne" #: src/settings_translation_file.cpp -#, fuzzy msgid "The deadzone of the joystick" -msgstr "L'identifiant de la manette à utiliser" +msgstr "La zone morte du joystick" #: src/settings_translation_file.cpp msgid "" @@ -6713,7 +6712,6 @@ msgstr "" "Ceci devrait être configuré avec 'active_object_send_range_blocks'." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "The rendering back-end for Irrlicht.\n" "A restart is required after changing this.\n" @@ -6723,11 +6721,12 @@ msgid "" "Shaders are supported by OpenGL (desktop only) and OGLES2 (experimental)" msgstr "" "Le moteur de rendu utilisé par Irrlicht.\n" -"Un redémarrage est nécessaire après avoir changé cette option.\n" -"Il est recommandé de laisser OGLES1 sur Android. Dans le cas contraire, le " -"jeu risque de planter.\n" -"Sur les autres plateformes, OpenGL est recommandé, il s'agit du seul moteur\n" -"à prendre en charge les shaders." +"Un redémarrage est nécessaire après cette modification.\n" +"Remarque : Sur Android, restez avec OGLES1 en cas de doute ! Autrement, " +"l'application peut ne pas démarrer.\n" +"Sur les autres plateformes, OpenGL est recommandé.\n" +"Les shaders sont pris en charge par OpenGL (ordinateur de bureau uniquement) " +"et OGLES2 (expérimental)" #: src/settings_translation_file.cpp msgid "" @@ -6768,23 +6767,24 @@ msgid "" "The time budget allowed for ABMs to execute on each step\n" "(as a fraction of the ABM Interval)" msgstr "" +"Budget de temps alloué aux ABMs pour exécuter à chaque étape (en fraction de " +"l'intervalle ABM)" #: src/settings_translation_file.cpp msgid "" "The time in seconds it takes between repeated events\n" "when holding down a joystick button combination." msgstr "" -"L'intervalle en secondes entre des clics droits répétés lors de l'appui sur " -"le bouton droit de la souris." +"Le temps en secondes qu'il faut entre des événements répétés lors de l'appui " +"d'une combinaison de boutons du joystick." #: src/settings_translation_file.cpp -#, fuzzy msgid "" "The time in seconds it takes between repeated node placements when holding\n" "the place button." msgstr "" -"L'intervalle en secondes entre des clics droits répétés lors de l'appui sur " -"le bouton droit de la souris." +"Le temps en secondes qu'il faut entre des placements de blocs répétés lors " +"de l'appui sur le bouton de placement." #: src/settings_translation_file.cpp msgid "The type of joystick" @@ -6962,6 +6962,15 @@ msgid "" "If set to 0, MSAA is disabled.\n" "A restart is required after changing this option." msgstr "" +"Utilise l'anticrénelage multi-échantillons (MSAA) pour lisser les bords des " +"blocs.\n" +"Cet algorithme lisse la vue 3D tout en conservant l'image nette,\n" +"mais cela ne concerne pas la partie interne des textures\n" +"(ce qui est particulièrement visible avec des textures transparentes).\n" +"Des espaces visibles apparaissent entre les blocs lorsque les shaders sont " +"désactivés.\n" +"Si définie à 0, MSAA est désactivé.\n" +"Un redémarrage est nécessaire après la modification de cette option." #: src/settings_translation_file.cpp msgid "Use trilinear filtering when scaling textures." @@ -7209,6 +7218,8 @@ msgid "" "Whether nametag backgrounds should be shown by default.\n" "Mods may still set a background." msgstr "" +"Si l'arrière-plan des badges doit être affiché par défaut.\n" +"Les mods peuvent toujours définir un arrière-plan." #: src/settings_translation_file.cpp msgid "Whether node texture animations should be desynchronized per mapblock." @@ -7375,6 +7386,13 @@ msgid "" "9 - best compression, slowest\n" "(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" msgstr "" +"Niveau de compression Zlib à utiliser lors de la sauvegarde des mapblocks " +"sur le disque.\n" +"-1 - niveau de compression de Zlib par défaut\n" +"0 - aucune compression, le plus rapide\n" +"9 - meilleure compression, le plus lent\n" +"(les niveaux 1-3 utilisent la méthode \"rapide\", 4-9 utilisent la méthode " +"normale)" #: src/settings_translation_file.cpp msgid "" @@ -7384,6 +7402,13 @@ msgid "" "9 - best compression, slowest\n" "(levels 1-3 use Zlib's \"fast\" method, 4-9 use the normal method)" msgstr "" +"Niveau de compression Zlib à utiliser lors de l'envoi des mapblocks au " +"client.\n" +"-1 - niveau de compression de Zlib par défaut\n" +"0 - aucune compression, le plus rapide\n" +"9 - meilleure compression, le plus lent\n" +"(les niveaux 1-3 utilisent la méthode \"rapide\", 4-9 utilisent la méthode " +"normale)" #: src/settings_translation_file.cpp msgid "cURL file download timeout" From 7ca335446bfb0ec75ab3a8aac49da6a7042d2b3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Delpierre?= Date: Mon, 5 Apr 2021 22:00:19 +0000 Subject: [PATCH 155/279] Translated using Weblate (French) Currently translated at 100.0% (1356 of 1356 strings) --- po/fr/minetest.po | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/po/fr/minetest.po b/po/fr/minetest.po index 5f4d7ff72..f18e4c1fb 100644 --- a/po/fr/minetest.po +++ b/po/fr/minetest.po @@ -4,7 +4,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" "PO-Revision-Date: 2021-04-07 17:30+0000\n" -"Last-Translator: waxtatect \n" +"Last-Translator: François Delpierre \n" "Language-Team: French \n" "Language: fr\n" @@ -2958,9 +2958,8 @@ msgid "Desynchronize block animation" msgstr "Désynchroniser les textures animées par mapblock" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dig key" -msgstr "Droite" +msgstr "Touche pour creuser" #: src/settings_translation_file.cpp msgid "Digging particles" @@ -3027,9 +3026,8 @@ msgid "Enable console window" msgstr "Activer la console" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Activer le mode créatif pour les cartes nouvellement créées." +msgstr "Activer le mode créatif pour tous les joueurs" #: src/settings_translation_file.cpp msgid "Enable joysticks" From 05f531c53825383f96e5f864cc90bd2596d24dd6 Mon Sep 17 00:00:00 2001 From: David Leal Date: Mon, 5 Apr 2021 03:38:33 +0000 Subject: [PATCH 156/279] Translated using Weblate (Spanish) Currently translated at 79.7% (1081 of 1356 strings) --- po/es/minetest.po | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/po/es/minetest.po b/po/es/minetest.po index efb6a4c55..1c75633cc 100644 --- a/po/es/minetest.po +++ b/po/es/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Spanish (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-03-25 17:29+0000\n" -"Last-Translator: matiasC \n" +"PO-Revision-Date: 2021-04-08 18:26+0000\n" +"Last-Translator: David Leal \n" "Language-Team: Spanish \n" "Language: es\n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5.2-dev\n" +"X-Generator: Weblate 4.6-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -5211,10 +5211,17 @@ msgid "" "to become shallower and occasionally dry.\n" "'altitude_dry': Reduces humidity with altitude." msgstr "" +"Atributos de generación de mapas específicos del generador de mapas Valleys." +"\n" +"'altitude_chill': Reduce el calor con la altitud.\n" +"'humid_rivers': Aumenta la humedad alrededor de ríos.\n" +"'vary_river_depth': Si está activo, la baja humedad y alto calor causan que " +"los ríos sean poco profundos y ocasionalmente secos.\n" +"'altitude_dry': Reduce la humedad con la altitud." #: src/settings_translation_file.cpp msgid "Map generation attributes specific to Mapgen v5." -msgstr "" +msgstr "Atributos de generación de mapas específicos al generador de mapas v5." #: src/settings_translation_file.cpp #, fuzzy From a64646cb7b88c37aab4d87f373efef56e6a2333a Mon Sep 17 00:00:00 2001 From: waxtatect Date: Wed, 7 Apr 2021 18:17:11 +0000 Subject: [PATCH 157/279] Translated using Weblate (French) Currently translated at 100.0% (1356 of 1356 strings) --- po/fr/minetest.po | 74 +++++++++++++++++++++++++---------------------- 1 file changed, 39 insertions(+), 35 deletions(-) diff --git a/po/fr/minetest.po b/po/fr/minetest.po index f18e4c1fb..18767dacc 100644 --- a/po/fr/minetest.po +++ b/po/fr/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: French (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-04-07 17:30+0000\n" -"Last-Translator: François Delpierre \n" +"PO-Revision-Date: 2021-04-08 18:26+0000\n" +"Last-Translator: waxtatect \n" "Language-Team: French \n" "Language: fr\n" @@ -2234,12 +2234,13 @@ msgid "" "Value = 2.0 (can be higher depending on 'mgv7_np_floatland', always test\n" "to be sure) creates a solid floatland layer." msgstr "" -"Règle la densité de la couche de massifs volants.\n" -"La densité augmente avec cette valeur. Peut être positive ou négative.\n" -"Valeur égale à 0,0 implique 50 % du volume est du massif volant.\n" -"Valeur égale à 2,0 implique une couche de massifs volants solide\n" -"(peut dépendre de « mgv7_np_floatland », toujours vérifier pour\n" -"être sûr)." +"Règle la densité de la couche des îles volantes.\n" +"Augmenter la valeur pour augmenter la densité. Peut être positive ou " +"négative.\n" +"Valeur = 0,0 : 50% du volume est île volante.\n" +"Valeur = 2,0 (peut être plus élevée selon « mgv7_np_floatland », toujours " +"vérifier\n" +"pour être sûr) crée une couche d'île volante solide." #: src/settings_translation_file.cpp msgid "Advanced" @@ -5697,17 +5698,19 @@ msgid "" "processes, especially in singleplayer and/or when running Lua code in\n" "'on_generated'. For many users the optimum setting may be '1'." msgstr "" -"Nombre de threads « emerge » à utiliser.\n" -"Valeur nulle :\n" -"— Sélection automatique. Le nombre de threads sera le\n" -"« nombre de processeurs moins 2 », avec un minimum de 1.\n" +"Nombre de processus « emerge » à utiliser.\n" +"Valeur 0 :\n" +"- Sélection automatique. Le nombre de processus sera le\n" +"- « nombre de processeurs - 2 », avec un minimum de 1.\n" "Toute autre valeur :\n" -"— Spécifie le nombre de threads, avec un minimum de 1.\n" -"ATTENTION : augmenter le nombre de threads accélère bien la création\n" -"de terrain, mais cela peut nuire à la performance du jeu en interférant\n" -"avec d’autres processus, en particulier en mode solo ou lors de \n" -"l’exécution du code Lua en mode « on_generated ».\n" -"Pour beaucoup, le réglage optimal peut être « 1 »." +"- Spécifie le nombre de processus, avec un minimum de 1.\n" +"ATTENTION : Augmenter le nombre de processus « emerge » accélère bien la\n" +"création de terrain, mais cela peut nuire à la performance du jeu en " +"interférant\n" +"avec d’autres processus, en particulier en mode solo et/ou lors de l’" +"exécution de\n" +"code Lua en mode « on_generated ». Pour beaucoup, le réglage optimal peut " +"être « 1 »." #: src/settings_translation_file.cpp msgid "" @@ -6006,14 +6009,16 @@ msgid "" "READ_PLAYERINFO: 32 (disable get_player_names call client-side)" msgstr "" "Limite l'accès de certaines fonctions côté client sur les serveurs\n" -"Combiner les byteflags si dessous pour restraindre ou mettre 0\n" -"pour laisser sans restriction.\n" -"LOAD_CLIENT_MODS : 1 (désactive le chargement des mods du client)\n" -"CHAT_MESSAGES : 2 (désactivez l'appel send_chat_message côté client)\n" -"READ_ITEMDEFS : 4 (désactivez l'appel get_item_def côté client)\n" -"READ_NODEDEFS : 8 (désactiver l'appel côté client de get_node_def)\n" -"LOOKUP_NODES_LIMIT : 16 (limite les appels get_node côté client à\n" -"csm_restriction_noderange)" +"Combiner les byteflags ci dessous pour restreindre les fonctionnalités " +"client,\n" +"ou mettre 0 pour laisser sans restriction :\n" +"LOAD_CLIENT_MODS : 1 (désactive le chargement des mods client)\n" +"CHAT_MESSAGES : 2 (désactive l'appel send_chat_message côté client)\n" +"READ_ITEMDEFS : 4 (désactive l'appel get_item_def côté client)\n" +"READ_NODEDEFS : 8 (désactive l'appel get_node_def côté client)\n" +"LOOKUP_NODES_LIMIT : 16 (limite l'appel get_node côté client à\n" +"csm_restriction_noderange)\n" +"READ_PLAYERINFO : 32 (désactive l'appel get_player_names côté client)" #: src/settings_translation_file.cpp msgid "Ridge mountain spread noise" @@ -6274,7 +6279,7 @@ msgid "" "Set to true to enable waving leaves.\n" "Requires shaders to be enabled." msgstr "" -"Mettre sur « true » active le mouvement des feuilles d'arbres mouvantes. " +"Mettre sur « true » active le mouvement des feuilles d'arbres mouvantes.\n" "Nécessite les shaders pour être activé." #: src/settings_translation_file.cpp @@ -6290,8 +6295,7 @@ msgid "" "Set to true to enable waving plants.\n" "Requires shaders to be enabled." msgstr "" -"Mettre sur « true » active le mouvement\n" -"des végétaux.\n" +"Mettre sur « true » active le mouvement des végétaux.\n" "Nécessite les shaders pour être activé." #: src/settings_translation_file.cpp @@ -6765,8 +6769,8 @@ msgid "" "The time budget allowed for ABMs to execute on each step\n" "(as a fraction of the ABM Interval)" msgstr "" -"Budget de temps alloué aux ABMs pour exécuter à chaque étape (en fraction de " -"l'intervalle ABM)" +"Budget de temps alloué aux ABMs pour exécuter à chaque étape\n" +"(en fraction de l'intervalle ABM)" #: src/settings_translation_file.cpp msgid "" @@ -7187,16 +7191,16 @@ msgid "" msgstr "" "En utilisant le filtrage bilinéaire/trilinéaire/anisotrope, les textures de " "basse résolution\n" -"peuvent être brouillées. Elles seront donc automatiquement agrandies avec " -"l'interpolation\n" +"peuvent être brouillées. Elles seront donc automatiquement agrandies avec l'" +"interpolation\n" "du plus proche voisin pour garder des pixels moins floues. Ceci détermine la " "taille de la texture minimale\n" "pour les textures agrandies ; les valeurs plus hautes rendent plus " "détaillées, mais nécessitent\n" "plus de mémoire. Les puissances de 2 sont recommandées. Définir une valeur " "supérieure à 1 peut ne pas\n" -"avoir d'effet visible sauf si le filtrage bilinéaire / trilinéaire / " -"anisotrope est activé.\n" +"avoir d'effet visible sauf si le filtrage bilinéaire/trilinéaire/anisotrope " +"est activé.\n" "Ceci est également utilisée comme taille de texture de nœud par défaut pour\n" "l'agrandissement des textures basé sur le monde." From 7f2f8cdad1818a1af6884d6d2183e5d1eb2f7c1e Mon Sep 17 00:00:00 2001 From: ssantos Date: Tue, 6 Apr 2021 20:55:07 +0000 Subject: [PATCH 158/279] Translated using Weblate (Portuguese) Currently translated at 93.2% (1264 of 1356 strings) --- po/pt/minetest.po | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/po/pt/minetest.po b/po/pt/minetest.po index 78c46b6d8..983e3a86e 100644 --- a/po/pt/minetest.po +++ b/po/pt/minetest.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: Portuguese (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-23 15:50+0000\n" +"PO-Revision-Date: 2021-04-08 18:26+0000\n" "Last-Translator: ssantos \n" "Language-Team: Portuguese \n" @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.5\n" +"X-Generator: Weblate 4.6-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -704,9 +704,8 @@ msgid "Loading..." msgstr "A carregar..." #: builtin/mainmenu/serverlistmgr.lua -#, fuzzy msgid "Public server list is disabled" -msgstr "O scripting de cliente está desativado" +msgstr "A lista de servidores públicos está desativada" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." @@ -2941,9 +2940,8 @@ msgid "Desynchronize block animation" msgstr "Dessincroniza animação de blocos" #: src/settings_translation_file.cpp -#, fuzzy msgid "Dig key" -msgstr "Tecla para a direita" +msgstr "Tecla para escavar" #: src/settings_translation_file.cpp msgid "Digging particles" @@ -3010,9 +3008,8 @@ msgid "Enable console window" msgstr "Ativar janela de console" #: src/settings_translation_file.cpp -#, fuzzy msgid "Enable creative mode for all players" -msgstr "Ativar modo criativo para mundos novos." +msgstr "Ativar modo criativo para todos os jogadores" #: src/settings_translation_file.cpp msgid "Enable joysticks" @@ -3172,9 +3169,8 @@ msgstr "" "terrenos flutuantes." #: src/settings_translation_file.cpp -#, fuzzy msgid "FPS when unfocused or paused" -msgstr "Máximo FPS quando o jogo é pausado." +msgstr "FPS quando desfocado ou pausado" #: src/settings_translation_file.cpp msgid "FSAA" @@ -3307,9 +3303,8 @@ msgid "Floatland noise" msgstr "Ruído no terreno flutuante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland taper exponent" -msgstr "Expoente de terras flutuantes montanhosas" +msgstr "Expoente de conicidade de terrenos flutuantes" #: src/settings_translation_file.cpp #, fuzzy @@ -3317,9 +3312,8 @@ msgid "Floatland tapering distance" msgstr "Ruído base de terra flutuante" #: src/settings_translation_file.cpp -#, fuzzy msgid "Floatland water level" -msgstr "Nível de água" +msgstr "Nível da água em terreno flutuante" #: src/settings_translation_file.cpp msgid "Fly key" From 15ecc0fa6556d56d53ab8cf423c8eb3da7283de1 Mon Sep 17 00:00:00 2001 From: Edward Date: Mon, 5 Apr 2021 14:44:06 +0000 Subject: [PATCH 159/279] Translated using Weblate (Russian) Currently translated at 100.0% (1356 of 1356 strings) --- po/ru/minetest.po | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/po/ru/minetest.po b/po/ru/minetest.po index ee4128667..bb5c90b4c 100644 --- a/po/ru/minetest.po +++ b/po/ru/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: Russian (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-03-30 05:36+0000\n" -"Last-Translator: Konstantin Yeliseyev \n" +"PO-Revision-Date: 2021-04-08 18:26+0000\n" +"Last-Translator: Edward \n" "Language-Team: Russian \n" "Language: ru\n" @@ -2617,7 +2617,8 @@ msgid "" msgstr "" "Разделённый запятыми список меток, которые можно скрывать в репозитории.\n" "\"nonfree\" можно использовать, чтобы скрыть пакеты, которые не являются " -"свободным программным обеспечением по определению Free Software Foundation.\n" +"'свободным программным обеспечением'\n" +" по определению Free Software Foundation.\n" "Также вы можете назначить рейтинг.\n" "Метки не зависят от версии Minetest,\n" "узнать полный список можно на https://content.minetest.net/help/" @@ -2628,15 +2629,15 @@ msgid "" "Comma-separated list of mods that are allowed to access HTTP APIs, which\n" "allow them to upload and download data to/from the internet." msgstr "" -"Разделенный запятыми список модов, которые позволяют получить доступ к API " -"для HTTP, что позволить им загружать и скачивать данные из интернета." +"Разделенный запятыми список модов, которые позволяют получить доступ к HTTP " +"APIs, что позволит им загружать и скачивать данные в/из интернета." #: src/settings_translation_file.cpp msgid "" "Comma-separated list of trusted mods that are allowed to access insecure\n" "functions even when mod security is on (via request_insecure_environment())." msgstr "" -"Список доверенных модов через запятую, которым разрешён доступ к " +"Список доверенных модов разделённых через запятую, которым разрешён доступ к " "небезопасным функциям даже когда включена защита модов (через " "request_insecure_environment())." @@ -3015,7 +3016,7 @@ msgstr "Включить окно консоли" #: src/settings_translation_file.cpp msgid "Enable creative mode for all players" -msgstr "Включить творческий режим для всех игроков." +msgstr "Включить творческий режим для всех игроков" #: src/settings_translation_file.cpp msgid "Enable joysticks" From 6cbc03a4187bbd432206bc2cc884c2a2efe3d7d4 Mon Sep 17 00:00:00 2001 From: Tviljan Date: Sat, 10 Apr 2021 04:25:12 +0000 Subject: [PATCH 160/279] Translated using Weblate (Finnish) Currently translated at 3.2% (44 of 1356 strings) --- po/fi/minetest.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/fi/minetest.po b/po/fi/minetest.po index 57682ebba..eaf9e5854 100644 --- a/po/fi/minetest.po +++ b/po/fi/minetest.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-02-01 05:52+0000\n" +"PO-Revision-Date: 2021-04-10 04:25+0000\n" "Last-Translator: Tviljan \n" "Language-Team: Finnish \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.5-dev\n" +"X-Generator: Weblate 4.6-dev\n" #: builtin/client/death_formspec.lua src/client/game.cpp msgid "Respawn" @@ -33,7 +33,7 @@ msgstr "OK" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" -msgstr "" +msgstr "Komentosarjassa tapahtui virhe:" #: builtin/fstk/ui.lua msgid "An error occurred:" From 3c16d2d9b4f0659f39871ef57c0601b3a6ba0d66 Mon Sep 17 00:00:00 2001 From: Markus Mikkonen Date: Sat, 10 Apr 2021 04:20:50 +0000 Subject: [PATCH 161/279] Translated using Weblate (Finnish) Currently translated at 3.2% (44 of 1356 strings) --- po/fi/minetest.po | 207 +++++++++++++++++++++++----------------------- 1 file changed, 105 insertions(+), 102 deletions(-) diff --git a/po/fi/minetest.po b/po/fi/minetest.po index eaf9e5854..f6832efe3 100644 --- a/po/fi/minetest.po +++ b/po/fi/minetest.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: minetest\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-04-10 04:25+0000\n" -"Last-Translator: Tviljan \n" +"PO-Revision-Date: 2021-04-10 15:49+0000\n" +"Last-Translator: Markus Mikkonen \n" "Language-Team: Finnish \n" "Language: fi\n" @@ -33,7 +33,7 @@ msgstr "OK" #: builtin/fstk/ui.lua msgid "An error occurred in a Lua script:" -msgstr "Komentosarjassa tapahtui virhe:" +msgstr "Lua-skriptissä tapahtui virhe:" #: builtin/fstk/ui.lua msgid "An error occurred:" @@ -41,7 +41,7 @@ msgstr "Tapahtui virhe:" #: builtin/fstk/ui.lua msgid "Main menu" -msgstr "" +msgstr "Päävalikko" #: builtin/fstk/ui.lua msgid "Reconnect" @@ -49,27 +49,27 @@ msgstr "Yhdistä uudelleen" #: builtin/fstk/ui.lua msgid "The server has requested a reconnect:" -msgstr "" +msgstr "Palvelin pyysi yhteyden muodostamista uudelleen:" #: builtin/mainmenu/common.lua msgid "Protocol version mismatch. " -msgstr "" +msgstr "Protokollaversiot epäyhteensopivat. " #: builtin/mainmenu/common.lua msgid "Server enforces protocol version $1. " -msgstr "" +msgstr "Palvelin vaatii protokollaversion $1. " #: builtin/mainmenu/common.lua msgid "Server supports protocol versions between $1 and $2. " -msgstr "" +msgstr "Palvelin tukee protokollaversioita välillä $1 ja $2. " #: builtin/mainmenu/common.lua msgid "We only support protocol version $1." -msgstr "" +msgstr "Tuemme vain protokollaversiota $1." #: builtin/mainmenu/common.lua msgid "We support protocol versions between version $1 and $2." -msgstr "" +msgstr "Tuemme protokollaversioita välillä $1 ja $2." #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_create_world.lua @@ -80,50 +80,52 @@ msgstr "" #: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp #: src/gui/guiPasswordChange.cpp msgid "Cancel" -msgstr "" +msgstr "Peruuta" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/tab_content.lua msgid "Dependencies:" -msgstr "" +msgstr "Riippuvuudet:" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable all" -msgstr "" +msgstr "Poista kaikki käytöstä" #: builtin/mainmenu/dlg_config_world.lua msgid "Disable modpack" -msgstr "" +msgstr "Poista modipaketti käytöstä" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable all" -msgstr "" +msgstr "Ota kaikki käyttöön" #: builtin/mainmenu/dlg_config_world.lua msgid "Enable modpack" -msgstr "" +msgstr "Ota modipaketti käyttöön" #: builtin/mainmenu/dlg_config_world.lua msgid "" "Failed to enable mod \"$1\" as it contains disallowed characters. Only " "characters [a-z0-9_] are allowed." msgstr "" +"Modin \"$1\" käyttöönotto epäonnistui, koska se sisälsi sallimattomia " +"merkkejä. Vain merkit [a-z0-9_] ovat sallittuja." #: builtin/mainmenu/dlg_config_world.lua msgid "Find More Mods" -msgstr "" +msgstr "Löydä lisää modeja" #: builtin/mainmenu/dlg_config_world.lua msgid "Mod:" -msgstr "" +msgstr "Modi:" #: builtin/mainmenu/dlg_config_world.lua msgid "No (optional) dependencies" -msgstr "" +msgstr "Ei (valinnaisia) riippuvuuksia" #: builtin/mainmenu/dlg_config_world.lua msgid "No game description provided." -msgstr "" +msgstr "Pelin kuvausta ei ole annettu." #: builtin/mainmenu/dlg_config_world.lua msgid "No hard dependencies" @@ -131,15 +133,15 @@ msgstr "" #: builtin/mainmenu/dlg_config_world.lua msgid "No modpack description provided." -msgstr "" +msgstr "Modipaketin kuvausta ei annettu." #: builtin/mainmenu/dlg_config_world.lua msgid "No optional dependencies" -msgstr "" +msgstr "Ei valinnaisia riippuvuuksia" #: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua msgid "Optional dependencies:" -msgstr "" +msgstr "Valinnaiset riippuvuudet:" #: builtin/mainmenu/dlg_config_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp @@ -152,7 +154,7 @@ msgstr "Maailma:" #: builtin/mainmenu/dlg_config_world.lua msgid "enabled" -msgstr "" +msgstr "käytössä" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" @@ -173,9 +175,8 @@ msgid "" msgstr "" #: builtin/mainmenu/dlg_contentstore.lua -#, fuzzy msgid "$1 downloading..." -msgstr "Ladataan..." +msgstr "$1 latautuu..." #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 required dependencies could not be found." @@ -187,15 +188,15 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "All packages" -msgstr "" +msgstr "Kaikki paketit" #: builtin/mainmenu/dlg_contentstore.lua msgid "Already installed" -msgstr "" +msgstr "Asennettu jo" #: builtin/mainmenu/dlg_contentstore.lua msgid "Back to Main Menu" -msgstr "" +msgstr "Takaisin päävalikkoon" #: builtin/mainmenu/dlg_contentstore.lua msgid "Base Game:" @@ -203,37 +204,37 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "ContentDB is not available when Minetest was compiled without cURL" -msgstr "" +msgstr "ContentDB ei ole saatavilla, jos Minetest on koottu ilman cURLia" #: builtin/mainmenu/dlg_contentstore.lua msgid "Downloading..." -msgstr "" +msgstr "Ladataan..." #: builtin/mainmenu/dlg_contentstore.lua msgid "Failed to download $1" -msgstr "" +msgstr "Epäonnistui ladata $1" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Games" -msgstr "" +msgstr "Pelit" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install" -msgstr "" +msgstr "Asenna" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install $1" -msgstr "" +msgstr "Asenna $1" #: builtin/mainmenu/dlg_contentstore.lua msgid "Install missing dependencies" -msgstr "" +msgstr "Asenna puuttuvat riippuvuudet" #: builtin/mainmenu/dlg_contentstore.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Mods" -msgstr "" +msgstr "Modit" #: builtin/mainmenu/dlg_contentstore.lua msgid "No packages could be retrieved" @@ -241,11 +242,11 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "No results" -msgstr "" +msgstr "Ei tuloksia" #: builtin/mainmenu/dlg_contentstore.lua msgid "No updates" -msgstr "" +msgstr "Ei päivityksiä" #: builtin/mainmenu/dlg_contentstore.lua msgid "Not found" @@ -253,7 +254,7 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Overwrite" -msgstr "" +msgstr "Ylikirjoita" #: builtin/mainmenu/dlg_contentstore.lua msgid "Please check that the base game is correct." @@ -265,19 +266,19 @@ msgstr "" #: builtin/mainmenu/dlg_contentstore.lua msgid "Texture packs" -msgstr "" +msgstr "Tekstuuripaketit" #: builtin/mainmenu/dlg_contentstore.lua msgid "Uninstall" -msgstr "" +msgstr "Poista" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update" -msgstr "" +msgstr "Päivitä" #: builtin/mainmenu/dlg_contentstore.lua msgid "Update All [$1]" -msgstr "" +msgstr "Päivitä kaikki [$1]" #: builtin/mainmenu/dlg_contentstore.lua msgid "View more information in a web browser" @@ -285,7 +286,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "" +msgstr "Maailma nimellä \"$1\" on jo olemassa" #: builtin/mainmenu/dlg_create_world.lua msgid "Additional terrain" @@ -305,7 +306,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Biomes" -msgstr "" +msgstr "Biomit" #: builtin/mainmenu/dlg_create_world.lua msgid "Caverns" @@ -313,11 +314,11 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Caves" -msgstr "" +msgstr "Luolat" #: builtin/mainmenu/dlg_create_world.lua msgid "Create" -msgstr "" +msgstr "Luo" #: builtin/mainmenu/dlg_create_world.lua msgid "Decorations" @@ -325,11 +326,11 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Download a game, such as Minetest Game, from minetest.net" -msgstr "" +msgstr "Lataa peli, kuten Minetest Game, minetest.netistä" #: builtin/mainmenu/dlg_create_world.lua msgid "Download one from minetest.net" -msgstr "" +msgstr "Lataa yksi minetest.netistä" #: builtin/mainmenu/dlg_create_world.lua msgid "Dungeons" @@ -337,7 +338,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Flat terrain" -msgstr "" +msgstr "Tasainen maasto" #: builtin/mainmenu/dlg_create_world.lua msgid "Floating landmasses in the sky" @@ -349,7 +350,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp msgid "Game" -msgstr "" +msgstr "Peli" #: builtin/mainmenu/dlg_create_world.lua msgid "Generate non-fractal terrain: Oceans and underground" @@ -357,7 +358,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Hills" -msgstr "" +msgstr "Mäet" #: builtin/mainmenu/dlg_create_world.lua msgid "Humid rivers" @@ -389,7 +390,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "Mountains" -msgstr "" +msgstr "Vuoret" #: builtin/mainmenu/dlg_create_world.lua msgid "Mud flow" @@ -401,7 +402,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "No game selected" -msgstr "" +msgstr "Ei peliä valittu" #: builtin/mainmenu/dlg_create_world.lua msgid "Reduces heat with altitude" @@ -422,7 +423,7 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Seed" -msgstr "" +msgstr "Siemen" #: builtin/mainmenu/dlg_create_world.lua msgid "Smooth transition between biomes" @@ -472,21 +473,21 @@ msgstr "" #: builtin/mainmenu/dlg_create_world.lua msgid "World name" -msgstr "" +msgstr "Maailman nimi" #: builtin/mainmenu/dlg_create_world.lua msgid "You have no games installed." -msgstr "" +msgstr "Sinulla ei ole pelejä asennettuna." #: builtin/mainmenu/dlg_delete_content.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "" +msgstr "Oletko varma että haluat poistaa \"$1\":n?" #: builtin/mainmenu/dlg_delete_content.lua #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua #: src/client/keycode.cpp msgid "Delete" -msgstr "" +msgstr "Poista" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" @@ -498,11 +499,11 @@ msgstr "" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" -msgstr "" +msgstr "Poista maailma \"$1\"?" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" -msgstr "" +msgstr "Hyväksy" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Rename Modpack:" @@ -524,23 +525,23 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "< Back to Settings page" -msgstr "" +msgstr "< Takaisin asetussivulle" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Browse" -msgstr "" +msgstr "Selaa" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Disabled" -msgstr "" +msgstr "Poistettu käytöstä" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Edit" -msgstr "" +msgstr "Muokkaa" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Enabled" -msgstr "" +msgstr "Otettu käyttöön" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Lacunarity" @@ -576,19 +577,19 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Search" -msgstr "" +msgstr "Etsi" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select directory" -msgstr "" +msgstr "Valitse hakemisto" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Select file" -msgstr "" +msgstr "Valitse tiedosto" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Show technical names" -msgstr "" +msgstr "Näytä tekniset nimet" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "The value must be at least $1." @@ -600,7 +601,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X" -msgstr "" +msgstr "X" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "X spread" @@ -608,7 +609,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y" -msgstr "" +msgstr "Y" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Y spread" @@ -616,7 +617,7 @@ msgstr "" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z" -msgstr "" +msgstr "Z" #: builtin/mainmenu/dlg_settings_advanced.lua msgid "Z spread" @@ -647,7 +648,7 @@ msgstr "" #: builtin/mainmenu/pkgmgr.lua msgid "$1 (Enabled)" -msgstr "" +msgstr "$1 (Käytössä)" #: builtin/mainmenu/pkgmgr.lua msgid "$1 mods" @@ -704,6 +705,8 @@ msgstr "" #: builtin/mainmenu/serverlistmgr.lua msgid "Try reenabling public serverlist and check your internet connection." msgstr "" +"Kokeile ottaa julkinen palvelinlista uudelleen käyttöön ja tarkista " +"internetyhteytesi." #: builtin/mainmenu/tab_content.lua msgid "Browse online content" @@ -715,7 +718,7 @@ msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Disable Texture Pack" -msgstr "" +msgstr "Poista tekstuuripaketti käytöstä" #: builtin/mainmenu/tab_content.lua msgid "Information:" @@ -723,27 +726,27 @@ msgstr "" #: builtin/mainmenu/tab_content.lua msgid "Installed Packages:" -msgstr "" +msgstr "Asennetut paketit:" #: builtin/mainmenu/tab_content.lua msgid "No dependencies." -msgstr "" +msgstr "Ei riippuvuuksia." #: builtin/mainmenu/tab_content.lua msgid "No package description available" -msgstr "" +msgstr "Ei paketin kuvausta saatavilla" #: builtin/mainmenu/tab_content.lua msgid "Rename" -msgstr "" +msgstr "Nimeä uudelleen" #: builtin/mainmenu/tab_content.lua msgid "Uninstall Package" -msgstr "" +msgstr "Poista paketti" #: builtin/mainmenu/tab_content.lua msgid "Use Texture Pack" -msgstr "" +msgstr "Käytä tekstuuripakettia" #: builtin/mainmenu/tab_credits.lua msgid "Active Contributors" @@ -785,7 +788,7 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Creative Mode" -msgstr "" +msgstr "Luova tila" #: builtin/mainmenu/tab_local.lua msgid "Enable Damage" @@ -809,7 +812,7 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "New" -msgstr "" +msgstr "Uusi" #: builtin/mainmenu/tab_local.lua msgid "No world created or selected!" @@ -821,11 +824,11 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Play Game" -msgstr "" +msgstr "Pelaa peliä" #: builtin/mainmenu/tab_local.lua msgid "Port" -msgstr "" +msgstr "Portti" #: builtin/mainmenu/tab_local.lua msgid "Select Mods" @@ -833,7 +836,7 @@ msgstr "" #: builtin/mainmenu/tab_local.lua msgid "Select World:" -msgstr "" +msgstr "Valitse maailma:" #: builtin/mainmenu/tab_local.lua msgid "Server Port" @@ -845,15 +848,15 @@ msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Address / Port" -msgstr "" +msgstr "Osoite / Portti" #: builtin/mainmenu/tab_online.lua msgid "Connect" -msgstr "" +msgstr "Yhdistä" #: builtin/mainmenu/tab_online.lua msgid "Creative mode" -msgstr "" +msgstr "Luova tila" #: builtin/mainmenu/tab_online.lua msgid "Damage enabled" @@ -865,19 +868,19 @@ msgstr "" #: builtin/mainmenu/tab_online.lua msgid "Favorite" -msgstr "" +msgstr "Suosikki" #: builtin/mainmenu/tab_online.lua msgid "Join Game" -msgstr "" +msgstr "Liity peliin" #: builtin/mainmenu/tab_online.lua msgid "Name / Password" -msgstr "" +msgstr "Nimi / Salasana" #: builtin/mainmenu/tab_online.lua msgid "Ping" -msgstr "" +msgstr "Viive" #. ~ PvP = Player versus Player #: builtin/mainmenu/tab_online.lua @@ -886,7 +889,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "2x" -msgstr "" +msgstr "2x" #: builtin/mainmenu/tab_settings.lua msgid "3D Clouds" @@ -894,15 +897,15 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "4x" -msgstr "" +msgstr "4x" #: builtin/mainmenu/tab_settings.lua msgid "8x" -msgstr "" +msgstr "8x" #: builtin/mainmenu/tab_settings.lua msgid "All Settings" -msgstr "" +msgstr "Kaikki asetukset" #: builtin/mainmenu/tab_settings.lua msgid "Antialiasing:" @@ -926,7 +929,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Fancy Leaves" -msgstr "" +msgstr "Hienot lehdet" #: builtin/mainmenu/tab_settings.lua msgid "Mipmap" @@ -966,7 +969,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Particles" -msgstr "" +msgstr "Partikkelit" #: builtin/mainmenu/tab_settings.lua msgid "Screen:" @@ -974,7 +977,7 @@ msgstr "" #: builtin/mainmenu/tab_settings.lua msgid "Settings" -msgstr "" +msgstr "Asetukset" #: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp msgid "Shaders" @@ -1046,7 +1049,7 @@ msgstr "" #: src/client/client.cpp msgid "Loading textures..." -msgstr "" +msgstr "Ladataan tekstuureja..." #: src/client/client.cpp msgid "Rebuilding shaders..." From b7c502c8d1eb7a85af972c2c900f3385d3f6e30d Mon Sep 17 00:00:00 2001 From: Brian Gaucher Date: Sat, 10 Apr 2021 12:00:16 +0000 Subject: [PATCH 162/279] Translated using Weblate (French) Currently translated at 100.0% (1356 of 1356 strings) --- po/fr/minetest.po | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/po/fr/minetest.po b/po/fr/minetest.po index 18767dacc..e67b34322 100644 --- a/po/fr/minetest.po +++ b/po/fr/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: French (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-04-08 18:26+0000\n" -"Last-Translator: waxtatect \n" +"PO-Revision-Date: 2021-04-10 12:07+0000\n" +"Last-Translator: Brian Gaucher \n" "Language-Team: French \n" "Language: fr\n" @@ -2446,13 +2446,12 @@ msgid "" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Distance en nœuds du plan de coupure rapproché de la caméra, entre 0 et " -"0,25.\n" -"Ne fonctionne uniquement que sur les plateformes GLES.\n" -"La plupart des utilisateurs n’auront pas besoin de changer cela.\n" -"L’augmentation peut réduire les anomalies sur des cartes graphique plus " -"faibles.\n" -"0,1 par défaut, 0,25 est une bonne valeur pour des composants faibles." +"Distance de la caméra 'près de la plane de coupure' dans les nœuds, valeur " +"entre 0 et 0,5.\n" +"Ne fonctionne que sur les plateformes GLES. La plupart des utilisateurs n’" +"auront pas besoin de changer cela.\n" +"L’augmentation peut réduire les artefacts sur des GPU plus faibles.\n" +"0,1 - Par défaut, 0,25 - Bonne valeur pour les comprimés plus faibles." #: src/settings_translation_file.cpp msgid "Camera smoothing" From 9379440fcb63a39f37f9bcd34fcfdf16ff6849e6 Mon Sep 17 00:00:00 2001 From: waxtatect Date: Sat, 10 Apr 2021 11:40:48 +0000 Subject: [PATCH 163/279] Translated using Weblate (French) Currently translated at 100.0% (1356 of 1356 strings) --- po/fr/minetest.po | 264 ++++++++++++++++++++++------------------------ 1 file changed, 127 insertions(+), 137 deletions(-) diff --git a/po/fr/minetest.po b/po/fr/minetest.po index e67b34322..2eed94406 100644 --- a/po/fr/minetest.po +++ b/po/fr/minetest.po @@ -3,8 +3,8 @@ msgstr "" "Project-Id-Version: French (Minetest)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-02-23 19:03+0100\n" -"PO-Revision-Date: 2021-04-10 12:07+0000\n" -"Last-Translator: Brian Gaucher \n" +"PO-Revision-Date: 2021-04-10 15:49+0000\n" +"Last-Translator: waxtatect \n" "Language-Team: French \n" "Language: fr\n" @@ -154,7 +154,7 @@ msgstr "activé" #: builtin/mainmenu/dlg_contentstore.lua msgid "\"$1\" already exists. Would you like to overwrite it?" -msgstr "\"$1\" existe déjà. Voulez-vous l'écraser ?" +msgstr "« $1 » existe déjà. Voulez-vous l'écraser ?" #: builtin/mainmenu/dlg_contentstore.lua msgid "$1 and $2 dependencies will be installed." @@ -284,7 +284,7 @@ msgstr "Voir plus d'informations dans un navigateur web" #: builtin/mainmenu/dlg_create_world.lua msgid "A world named \"$1\" already exists" -msgstr "Le monde \"$1\" existe déjà" +msgstr "Le monde « $1 » existe déjà" #: builtin/mainmenu/dlg_create_world.lua msgid "Additional terrain" @@ -483,7 +483,7 @@ msgstr "Vous n'avez pas de jeu installé." #: builtin/mainmenu/dlg_delete_content.lua msgid "Are you sure you want to delete \"$1\"?" -msgstr "Êtes-vous sûr de vouloir supprimer \"$1\" ?" +msgstr "Êtes-vous sûr de vouloir supprimer « $1 » ?" #: builtin/mainmenu/dlg_delete_content.lua #: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua @@ -493,15 +493,15 @@ msgstr "Supprimer" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: failed to delete \"$1\"" -msgstr "Le gestionnaire de mods n'a pas pu supprimer \"$1\"" +msgstr "Le gestionnaire de mods n'a pas pu supprimer « $1 »" #: builtin/mainmenu/dlg_delete_content.lua msgid "pkgmgr: invalid path \"$1\"" -msgstr "Gestionnaire de mods : chemin de mod invalide \"$1\"" +msgstr "Gestionnaire de mods : chemin de mod invalide « $1 »" #: builtin/mainmenu/dlg_delete_world.lua msgid "Delete World \"$1\"?" -msgstr "Supprimer le monde \"$1\" ?" +msgstr "Supprimer le monde « $1 » ?" #: builtin/mainmenu/dlg_rename_modpack.lua msgid "Accept" @@ -676,12 +676,12 @@ msgstr "" #: builtin/mainmenu/pkgmgr.lua msgid "Install: Unsupported file type \"$1\" or broken archive" msgstr "" -"Installation d'un mod : type de fichier non supporté \"$1\" ou archive " +"Installation d'un mod : type de fichier non supporté « $1 » ou archive " "endommagée" #: builtin/mainmenu/pkgmgr.lua msgid "Install: file: \"$1\"" -msgstr "Installation : fichier : \"$1\"" +msgstr "Installation : fichier : « $1 »" #: builtin/mainmenu/pkgmgr.lua msgid "Unable to find a valid mod or modpack" @@ -1353,7 +1353,7 @@ msgstr "Mio/s" #: src/client/game.cpp msgid "Minimap currently disabled by game or mod" -msgstr "La minimap est actuellement désactivée par un jeu ou un mod" +msgstr "Mini-carte actuellement désactivée par un jeu ou un mod" #: src/client/game.cpp msgid "Noclip mode disabled" @@ -1445,7 +1445,7 @@ msgstr "Distance de vue minimale : %d" #: src/client/game.cpp #, c-format msgid "Volume changed to %d%%" -msgstr "Volume réglé sur %d%%" +msgstr "Volume réglé sur %d %%" #: src/client/game.cpp msgid "Wireframe shown" @@ -1796,7 +1796,7 @@ msgstr "Procéder" #: src/gui/guiKeyChangeMenu.cpp msgid "\"Special\" = climb down" -msgstr "\"Spécial\" = descendre" +msgstr "« Spécial » = descendre" #: src/gui/guiKeyChangeMenu.cpp msgid "Autoforward" @@ -1984,8 +1984,8 @@ msgid "" "(Android) Fixes the position of virtual joystick.\n" "If disabled, virtual joystick will center to first-touch's position." msgstr "" -"(Android) Fixe la position du joystick virtuel.\n" -"Si désactivé, le joystick virtuel sera centré sur la position du doigt " +"(Android) Fixe la position de la manette virtuel.\n" +"Si désactivé, la manette virtuelle sera centrée sur la position du doigt " "principal." #: src/settings_translation_file.cpp @@ -1994,8 +1994,8 @@ msgid "" "If enabled, virtual joystick will also tap \"aux\" button when out of main " "circle." msgstr "" -"(Android) Utiliser le joystick vrituel pour déclencher le bouton « aux ».\n" -"Si activé, le joystick virtuel va également appuyer sur le bouton « aux » " +"(Android) Utiliser la manette virtuelle pour déclencher le bouton « aux ».\n" +"Si activé, la manette virtuelle va également appuyer sur le bouton « aux » " "lorsqu'en dehors du cercle principal." #: src/settings_translation_file.cpp @@ -2237,7 +2237,7 @@ msgstr "" "Règle la densité de la couche des îles volantes.\n" "Augmenter la valeur pour augmenter la densité. Peut être positive ou " "négative.\n" -"Valeur = 0,0 : 50% du volume est île volante.\n" +"Valeur = 0,0 : 50 % du volume est île volante.\n" "Valeur = 2,0 (peut être plus élevée selon « mgv7_np_floatland », toujours " "vérifier\n" "pour être sûr) crée une couche d'île volante solide." @@ -2254,10 +2254,10 @@ msgid "" "This only has significant effect on daylight and artificial\n" "light, it has very little effect on natural night light." msgstr "" -"Il modifie la courbe de lumière en lui appliquant une \"correction gamma\".\n" +"Il modifie la courbe de lumière en lui appliquant une « correction gamma ».\n" "Des valeurs plus élevées rendent les niveaux de lumière moyens et inférieurs " "plus lumineux.\n" -"La valeur \"1.0\" laisse la courbe de lumière intacte.\n" +"La valeur '1,0' laisse la courbe de lumière intacte.\n" "Cela n'a d'effet significatif que sur la lumière du jour et les\n" "la lumière, et elle a très peu d'effet sur la lumière naturelle de la nuit." @@ -2357,7 +2357,7 @@ msgstr "Déclarer automatiquement le serveur à la liste des serveurs publics." #: src/settings_translation_file.cpp msgid "Autosave screen size" -msgstr "Sauver auto. la taile d'écran" +msgstr "Sauvegarde automatique de la taille d'écran" #: src/settings_translation_file.cpp msgid "Autoscaling mode" @@ -2381,7 +2381,7 @@ msgstr "Principal" #: src/settings_translation_file.cpp msgid "Basic privileges" -msgstr "Privilèges par défaut" +msgstr "Privilèges de base" #: src/settings_translation_file.cpp msgid "Beach noise" @@ -2446,12 +2446,12 @@ msgid "" "Increasing can reduce artifacting on weaker GPUs.\n" "0.1 = Default, 0.25 = Good value for weaker tablets." msgstr "" -"Distance de la caméra 'près de la plane de coupure' dans les nœuds, valeur " -"entre 0 et 0,5.\n" +"Distance de la caméra 'près du plan de coupure' dans les nœuds, entre 0 et 0," +"25\n" "Ne fonctionne que sur les plateformes GLES. La plupart des utilisateurs n’" "auront pas besoin de changer cela.\n" -"L’augmentation peut réduire les artefacts sur des GPU plus faibles.\n" -"0,1 - Par défaut, 0,25 - Bonne valeur pour les comprimés plus faibles." +"L’augmentation peut réduire les artefacts sur des GPUs plus faibles.\n" +"0,1 = Défaut, 0,25 = Bonne valeur pour les tablettes plus faibles." #: src/settings_translation_file.cpp msgid "Camera smoothing" @@ -2514,9 +2514,9 @@ msgid "" "Center of light curve boost range.\n" "Where 0.0 is minimum light level, 1.0 is maximum light level." msgstr "" -"Gamme de poussée de courbe de centre de lumière.\n" -"Lorsque 0,0 est le niveau de lumière minimum, et 1,0 est le niveau de " -"lumière maximum." +"Centre de la plage d'amplification de la courbe de lumière.\n" +"Où 0,0 est le niveau de lumière minimum, et 1,0 est le niveau de lumière " +"maximum." #: src/settings_translation_file.cpp msgid "Chat font size" @@ -2612,7 +2612,7 @@ msgstr "Nuages dans le menu" #: src/settings_translation_file.cpp msgid "Colored fog" -msgstr "Brume colorée" +msgstr "Brouillard colorée" #: src/settings_translation_file.cpp msgid "" @@ -2625,7 +2625,7 @@ msgid "" "so see a full list at https://content.minetest.net/help/content_flags/" msgstr "" "Liste des drapeaux à cacher du dépôt des contenus.\n" -"\"nonfree\" peut être utilisé pour cacher les paquets non libres,\n" +"« nonfree » peut être utilisé pour cacher les paquets non libres,\n" "comme défini par la Free Software Foundation.\n" "Vous pouvez aussi spécifier des classifications de contenu.\n" "Ces drapeaux sont indépendants des versions de Minetest,\n" @@ -3031,7 +3031,7 @@ msgstr "Activer le mode créatif pour tous les joueurs" #: src/settings_translation_file.cpp msgid "Enable joysticks" -msgstr "Activer les joysticks" +msgstr "Activer les manettes" #: src/settings_translation_file.cpp msgid "Enable mod channels support." @@ -3130,11 +3130,11 @@ msgid "" "appearance of high dynamic range images. Mid-range contrast is slightly\n" "enhanced, highlights and shadows are gradually compressed." msgstr "" -"Permet à Hable 'Uncharted 2' de cartographier les tonalités du film.\n" -"Simule la courbe des tons du film photographique, ce qui se rapproche de la\n" +"Active le mappage de ton filmique 'Uncharted 2' de Hable.\n" +"Simule la courbe des tons du film photographique, ce qui se rapproche de la " "l'apparition d'images à plage dynamique élevée. Le contraste de milieu de " -"gamme est légèrement\n" -"améliorées, les reflets et les ombres sont progressivement compressés." +"gamme est légèrement améliorées, les reflets et les ombres sont " +"progressivement compressés." #: src/settings_translation_file.cpp msgid "Enables animation of inventory items." @@ -3238,8 +3238,8 @@ msgid "" "Fast movement (via the \"special\" key).\n" "This requires the \"fast\" privilege on the server." msgstr "" -"Mouvement rapide (via la touche « utiliser »).\n" -"Nécessite le privilège « rapide» sur le serveur." +"Mouvement rapide (via la touche « spécial »).\n" +"Nécessite le privilège « fast » sur le serveur." #: src/settings_translation_file.cpp msgid "Field of view" @@ -3278,10 +3278,9 @@ msgid "" "light edge to transparent textures. Apply this filter to clean that up\n" "at texture load time." msgstr "" -"Les textures filtrées peuvent mélanger des valeurs RGB avec des zones 100 % " -"transparentes.\n" -"aboutissant parfois à des bords foncés ou clairs sur les textures " -"transparentes.\n" +"Les textures filtrées peuvent mélanger des valeurs RGB avec des zones 100 % " +"transparentes, aboutissant parfois à des bords foncés ou clairs sur les " +"textures transparentes.\n" "Appliquer ce filtre pour nettoyer cela au chargement de la texture." #: src/settings_translation_file.cpp @@ -3304,7 +3303,7 @@ msgstr "Graine de génération de terrain déterminée" #: src/settings_translation_file.cpp msgid "Fixed virtual joystick" -msgstr "Fixer le joystick virtuel" +msgstr "Fixer la manette virtuelle" #: src/settings_translation_file.cpp msgid "Floatland density" @@ -3344,7 +3343,7 @@ msgstr "Voler" #: src/settings_translation_file.cpp msgid "Fog" -msgstr "Brume" +msgstr "Brouillard" #: src/settings_translation_file.cpp msgid "Fog start" @@ -3352,7 +3351,7 @@ msgstr "Début du brouillard" #: src/settings_translation_file.cpp msgid "Fog toggle key" -msgstr "Brume" +msgstr "Brouillard" #: src/settings_translation_file.cpp msgid "Font bold by default" @@ -3360,7 +3359,7 @@ msgstr "La police est en gras par défaut" #: src/settings_translation_file.cpp msgid "Font italic by default" -msgstr "La police est en gras par défaut" +msgstr "La police est en italique par défaut" #: src/settings_translation_file.cpp msgid "Font shadow" @@ -3392,7 +3391,7 @@ msgid "" "Value 0 will use the default font size." msgstr "" "Taille de police (en pt) des messages récents et du curseur.\n" -"Une valeur nulle correspond à la taille par défaut." +"La valeur 0 correspond à la taille par défaut." #: src/settings_translation_file.cpp msgid "" @@ -3616,7 +3615,7 @@ msgstr "Bruit de chaleur" #: src/settings_translation_file.cpp msgid "Height component of the initial window size." -msgstr "Résolution verticale de la fenêtre de jeu." +msgstr "Composant de hauteur de la taille initiale de la fenêtre." #: src/settings_translation_file.cpp msgid "Height noise" @@ -3881,7 +3880,7 @@ msgid "" "are\n" "enabled." msgstr "" -"Si désactivé, la touche \"spécial\" est utilisée pour voler vite si les " +"Si désactivé, la touche « spécial » est utilisée pour voler vite si les " "modes vol et rapide sont activés." #: src/settings_translation_file.cpp @@ -3893,10 +3892,10 @@ msgid "" "so that the utility of noclip mode is reduced." msgstr "" "Si activé, le serveur n'enverra pas les blocs qui ne sont pas visibles par\n" -"le client en fonction de sa position. Cela peut réduire de 50% à 80%\n" +"le client en fonction de sa position. Cela peut réduire de 50 % à 80 %\n" "le nombre de blocs envoyés. Le client ne pourra plus voir ces blocs à moins\n" -"de se déplacer, ce qui réduit l'efficacité des tricheries du style \"noclip" -"\"." +"de se déplacer, ce qui réduit l'efficacité des tricheries du style « noclip " +"»." #: src/settings_translation_file.cpp msgid "" @@ -3906,7 +3905,7 @@ msgid "" msgstr "" "Si activé avec le mode vol, le joueur sera capable de traverser les blocs " "solides en volant.\n" -"Nécessite le privilège \"noclip\" sur le serveur." +"Nécessite le privilège « noclip » sur le serveur." #: src/settings_translation_file.cpp msgid "" @@ -3914,8 +3913,8 @@ msgid "" "down and\n" "descending." msgstr "" -"Si activé, la touche \"special\" est utilisée à la place de la touche " -"\"s’accroupir\" pour monter ou descendre." +"Si activé, la touche « spécial » est utilisée à la place de la touche « s’" +"accroupir » pour monter ou descendre." #: src/settings_translation_file.cpp msgid "" @@ -3968,9 +3967,8 @@ msgid "" "limited\n" "to this distance from the player to the node." msgstr "" -"Si les restrictions CSM pour la distance des nodes sont activée, les appels " -"à get_node sont limités\n" -"à la distance entre le joueur et le node." +"Si la restriction CSM pour la distance des blocs est activé, les appels " +"get_node sont limités à la distance entre le joueur et le bloc." #: src/settings_translation_file.cpp msgid "" @@ -4007,7 +4005,7 @@ msgstr "Couleur de fond de la console du jeu (R,G,B)." #: src/settings_translation_file.cpp msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)." -msgstr "Hauteur de la console de tchat du jeu, entre 0.1 (10%) et 1.0 (100%)." +msgstr "Hauteur de la console de tchat du jeu, entre 0.1 (10 %) et 1.0 (100 %)." #: src/settings_translation_file.cpp msgid "Inc. volume key" @@ -4121,15 +4119,15 @@ msgstr "ID de manette" #: src/settings_translation_file.cpp msgid "Joystick button repetition interval" -msgstr "Intervalle de répétition des boutons du Joystick" +msgstr "Intervalle de répétition des boutons de la manette" #: src/settings_translation_file.cpp msgid "Joystick deadzone" -msgstr "Zone morte du joystick" +msgstr "Zone morte de la manette" #: src/settings_translation_file.cpp msgid "Joystick frustum sensitivity" -msgstr "Sensibilité tronconique du joystick" +msgstr "Sensibilité tronconique de la manette" #: src/settings_translation_file.cpp msgid "Joystick type" @@ -4821,7 +4819,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour passer en mode \"sans-collision\".\n" +"Touche pour passer en mode sans-collision.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4872,7 +4870,7 @@ msgid "" "See http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" msgstr "" -"Touche pour afficher/cacher la brume.\n" +"Touche pour afficher/cacher le brouillard.\n" "Voir http://irrlicht.sourceforge.net/docu/namespaceirr." "html#a54da2a0e231901735e3da1b0edf72eb3" @@ -4990,9 +4988,7 @@ msgid "" "Length of a server tick and the interval at which objects are generally " "updated over\n" "network." -msgstr "" -"Temps d'intervalle entre la mise à jour des objets sur le\n" -"réseau." +msgstr "Temps d'intervalle entre la mise à jour des objets sur le réseau." #: src/settings_translation_file.cpp msgid "" @@ -5036,11 +5032,11 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Light curve boost" -msgstr "Boost de courbe de lumière" +msgstr "Amplification de la courbe de lumière" #: src/settings_translation_file.cpp msgid "Light curve boost center" -msgstr "Centre de boost de courbe de lumière" +msgstr "Centre d'amplification de la courbe de lumière" #: src/settings_translation_file.cpp msgid "Light curve boost spread" @@ -5105,11 +5101,11 @@ msgstr "Écoulement du liquide" #: src/settings_translation_file.cpp msgid "Liquid update interval in seconds." -msgstr "Intervalle de mise-à-jour des liquides en secondes." +msgstr "Intervalle de mise à jour des liquides en secondes." #: src/settings_translation_file.cpp msgid "Liquid update tick" -msgstr "Intervalle de mise-à-jour des liquides" +msgstr "Intervalle de mise à jour des liquides" #: src/settings_translation_file.cpp msgid "Load the game profiler" @@ -5145,8 +5141,8 @@ msgstr "Script du menu principal" msgid "" "Make fog and sky colors depend on daytime (dawn/sunset) and view direction." msgstr "" -"Rendre la couleur de la brume et du ciel différents selon l'heure du jour " -"(aube/crépuscule) et la direction du regard." +"Rendre la couleur du brouillard et du ciel différents selon l'heure du jour (" +"aube/crépuscule) et la direction du regard." #: src/settings_translation_file.cpp msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles." @@ -5379,8 +5375,7 @@ msgid "" "high speed." msgstr "" "Résistance maximale aux liquides. Contrôle la décélération lorsqu'un joueur " -"entre dans un liquide à\n" -"haute vitesse." +"entre dans un liquide à haute vitesse." #: src/settings_translation_file.cpp msgid "" @@ -5531,7 +5526,7 @@ msgstr "Mini-carte" #: src/settings_translation_file.cpp msgid "Minimap scan height" -msgstr "Hauteur de scannage de la mini-carte" +msgstr "Hauteur de balayage de la mini-carte" #: src/settings_translation_file.cpp msgid "Minimum limit of random number of large caves per mapchunk." @@ -5762,8 +5757,8 @@ msgid "" "unavailable." msgstr "" "Chemin de la police de repli.\n" -"Si le paramètre \"freetype\" est activé : doit être une police TrueType.\n" -"Si le paramètre \"freetype\" est désactivé : doit être une police de " +"Si le paramètre « freetype » est activé : doit être une police TrueType.\n" +"Si le paramètre « freetype » est désactivé : doit être une police de " "vecteurs bitmap ou XML.\n" "Cette police sera utilisée pour certaines langues ou si la police par défaut " "n’est pas disponible." @@ -5798,8 +5793,8 @@ msgid "" "The fallback font will be used if the font cannot be loaded." msgstr "" "Chemin vers la police par défaut.\n" -"Si le paramètre \"freetype\" est activé : doit être une police TrueType.\n" -"Si le paramètre \"freetype\" est désactivé : doit être une police de " +"Si le paramètre « freetype » est activé : doit être une police TrueType.\n" +"Si le paramètre « freetype » est désactivé : doit être une police de " "vecteurs bitmap ou XML.\n" "La police de rentrée sera utilisée si la police ne peut pas être chargée." @@ -5811,15 +5806,15 @@ msgid "" "This font is used for e.g. the console and profiler screen." msgstr "" "Chemin vers la police monospace.\n" -"Si \"freetype\" est activé : doit être une police TrueType.\n" -"Si \"freetype\" est désactivé : doit être une police de vecteurs bitmap ou " +"Si « freetype » est activé : doit être une police TrueType.\n" +"Si « freetype » est désactivé : doit être une police de vecteurs bitmap ou " "XML.\n" "Cette police est utilisée par exemple pour la console et l’écran du " "profileur." #: src/settings_translation_file.cpp msgid "Pause on lost window focus" -msgstr "Mettre en pause sur perte du focus de la fenêtre" +msgstr "Mettre en pause sur perte de sélection de la fenêtre" #: src/settings_translation_file.cpp msgid "Per-player limit of queued blocks load from disk" @@ -5855,7 +5850,7 @@ msgid "" "This requires the \"fly\" privilege on the server." msgstr "" "Le joueur est capable de voler sans être affecté par la gravité.\n" -"Nécessite le privilège \"fly\" sur le serveur." +"Nécessite le privilège « fly  » sur le serveur." #: src/settings_translation_file.cpp msgid "Player name" @@ -5946,7 +5941,7 @@ msgid "" "corners." msgstr "" "Rayon de l'aire des nuages où se trouve 64 blocs carrés de nuages.\n" -"Les valeurs plus grandes que 26 entraînent une \"coupure\" nette des nuages " +"Les valeurs plus grandes que 26 entraînent une « coupure » nette des nuages " "aux coins de l'aire." #: src/settings_translation_file.cpp @@ -6090,7 +6085,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Save the map received by the client on disk." -msgstr "Sauvegarde le monde du serveur sur le disque-dur du client." +msgstr "Sauvegarde le monde du serveur sur le disque dur du client." #: src/settings_translation_file.cpp msgid "Save window size automatically when modified." @@ -6204,24 +6199,24 @@ msgid "" "18 = 4D \"Mandelbulb\" Julia set." msgstr "" "Choisit parmi 18 types de fractales.\n" -"1 = réglage Mandelbrot \"Roundy\" 4D.\n" -"2 = réglage Julia \"Roundy\" 4D.\n" -"3 = réglage Mandelbrot \"Squarry\" 4D.\n" -"4 = réglage Julia \"Squarry\" 4D.\n" -"5 = réglage Mandelbrot \"Cousin Mandy\" 4D.\n" -"6 = réglage Julia \"Cousin Mandy\" 4D.\n" -"7 = réglage Mandelbrot \"Variation\" 4D.\n" -"8 = réglage Julia \"Variation\" 4D.\n" -"9 = réglage Mandelbrot \"Mandelbrot/Mandelbar\" 3D.\n" -"10 = réglage Julia \"Mandelbrot/Mandelbar\" 3D.\n" -"11 = réglage Mandelbrot \"Christmas Tree\" 3D.\n" -"12 = réglage Julia \"Christmas Tree\" 3D.\n" -"13 = réglage Mandelbrot \"Mandelbulb\" 3D.\n" -"14 = réglage Julia \"Mandelbulb\" 3D.\n" -"15 = réglage Mandelbrot \"Cosine Mandelbulb\" 3D.\n" -"16 = réglage Julia \"Cosine Mandelbulb\" 3D.\n" -"17 = réglage Mandelbrot \"Mandelbulb\" 4D.\n" -"18 = réglage Julia \"Mandelbulb\" 4D." +"1 = réglage Mandelbrot « Roundy » 4D.\n" +"2 = réglage Julia « Roundy » 4D.\n" +"3 = réglage Mandelbrot « Squarry » 4D.\n" +"4 = réglage Julia « Squarry » 4D.\n" +"5 = réglage Mandelbrot « Cousin Mandy » 4D.\n" +"6 = réglage Julia « Cousin Mandy » 4D.\n" +"7 = réglage Mandelbrot « Variation » 4D.\n" +"8 = réglage Julia « Variation » 4D.\n" +"9 = réglage Mandelbrot « Mandelbrot/Mandelbar » 3D.\n" +"10 = réglage Julia « Mandelbrot/Mandelbar » 3D.\n" +"11 = réglage Mandelbrot « Christmas Tree » 3D.\n" +"12 = réglage Julia « Christmas Tree » 3D.\n" +"13 = réglage Mandelbrot « Mandelbulb » 3D.\n" +"14 = réglage Julia « Mandelbulb » 3D.\n" +"15 = réglage Mandelbrot « Cosine Mandelbulb » 3D.\n" +"16 = réglage Julia « Cosine Mandelbulb » 3D.\n" +"17 = réglage Mandelbrot « Mandelbulb » 4D.\n" +"18 = réglage Julia « Mandelbulb » 4D." #: src/settings_translation_file.cpp msgid "Server / Singleplayer" @@ -6494,7 +6489,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Static spawnpoint" -msgstr "Emplacement du spawn statique" +msgstr "Point d'apparition statique" #: src/settings_translation_file.cpp msgid "Steepness noise" @@ -6636,7 +6631,7 @@ msgstr "L'URL du dépôt de contenu en ligne" #: src/settings_translation_file.cpp msgid "The deadzone of the joystick" -msgstr "La zone morte du joystick" +msgstr "La zone morte de la manette" #: src/settings_translation_file.cpp msgid "" @@ -6734,8 +6729,8 @@ msgid "" "The sensitivity of the joystick axes for moving the\n" "ingame view frustum around." msgstr "" -"Sensibilité de la souris pour déplacer la \n" -"vue en jeu autour du tronc." +"Sensibilité des axes de la manette pour déplacer la vue en jeu autour du " +"tronc." #: src/settings_translation_file.cpp msgid "" @@ -6747,9 +6742,9 @@ msgstr "" "Force (obscurité) de l'ombrage des blocs avec l'occlusion ambiante.\n" "Les valeurs plus basses sont plus sombres, les valeurs plus hautes sont plus " "claires.\n" -"Une gamme valide de valeurs pour ceci se situe entre 0.25 et 4.0. Si la " -"valeur est en dehors\n" -"de cette gamme alors elle sera définie à la plus proche des valeurs valides." +"Une gamme valide de valeurs pour ceci se situe entre 0,25 et 4,0. Si la " +"valeur est en dehors de cette gamme alors elle sera définie à la plus proche " +"des valeurs valides." #: src/settings_translation_file.cpp msgid "" @@ -6757,11 +6752,10 @@ msgid "" "capacity until an attempt is made to decrease its size by dumping old queue\n" "items. A value of 0 disables the functionality." msgstr "" -"Le temps (en secondes) où la file des liquides peut s'agrandir au-delà de " -"sa\n" +"Le temps (en secondes) où la file des liquides peut s'agrandir au-delà de sa " "capacité de traitement jusqu'à ce qu'une tentative soit faite pour réduire " -"sa taille en vidant\n" -"l'ancienne file d'articles. Une valeur de 0 désactive cette fonctionnalité." +"sa taille en vidant l'ancienne file d'articles.\n" +"Une valeur de 0 désactive cette fonctionnalité." #: src/settings_translation_file.cpp msgid "" @@ -6777,7 +6771,7 @@ msgid "" "when holding down a joystick button combination." msgstr "" "Le temps en secondes qu'il faut entre des événements répétés lors de l'appui " -"d'une combinaison de boutons du joystick." +"d'une combinaison de boutons de la manette." #: src/settings_translation_file.cpp msgid "" @@ -6875,8 +6869,8 @@ msgid "" "False = 128\n" "Usable to make minimap smoother on slower machines." msgstr "" -"True = 256\n" -"False = 128\n" +"Activé = 256\n" +"Désactive = 128\n" "Utile pour rendre la mini-carte plus fluide sur des ordinateurs peu " "performants." @@ -6949,8 +6943,8 @@ msgid "" "Gamma correct downscaling is not supported." msgstr "" "Utilisez le mappage MIP pour mettre à l'échelle les textures. Peut augmenter " -"légèrement les performances,\n" -"surtout si vous utilisez un pack de textures haute résolution.\n" +"légèrement les performances, surtout si vous utilisez un pack de textures " +"haute résolution.\n" "La réduction d'échelle gamma correcte n'est pas prise en charge." #: src/settings_translation_file.cpp @@ -7076,7 +7070,7 @@ msgstr "Plage de visualisation" #: src/settings_translation_file.cpp msgid "Virtual joystick triggers aux button" -msgstr "Joystick virtuel déclenche le bouton aux" +msgstr "Manette virtuelle déclenche le bouton aux" #: src/settings_translation_file.cpp msgid "Volume" @@ -7189,18 +7183,14 @@ msgid "" "texture autoscaling." msgstr "" "En utilisant le filtrage bilinéaire/trilinéaire/anisotrope, les textures de " -"basse résolution\n" -"peuvent être brouillées. Elles seront donc automatiquement agrandies avec l'" -"interpolation\n" -"du plus proche voisin pour garder des pixels moins floues. Ceci détermine la " -"taille de la texture minimale\n" -"pour les textures agrandies ; les valeurs plus hautes rendent plus " -"détaillées, mais nécessitent\n" -"plus de mémoire. Les puissances de 2 sont recommandées. Définir une valeur " -"supérieure à 1 peut ne pas\n" -"avoir d'effet visible sauf si le filtrage bilinéaire/trilinéaire/anisotrope " -"est activé.\n" -"Ceci est également utilisée comme taille de texture de nœud par défaut pour\n" +"basse résolution peuvent être brouillées. Elles seront donc automatiquement " +"agrandies avec l'interpolation du plus proche voisin pour garder des pixels " +"moins floues. Ceci détermine la taille de la texture minimale pour les " +"textures agrandies ; les valeurs plus hautes rendent plus détaillées, mais " +"nécessitent plus de mémoire. Les puissances de 2 sont recommandées. Définir " +"une valeur supérieure à 1 peut ne pas avoir d'effet visible sauf si le " +"filtrage bilinéaire/trilinéaire/anisotrope est activé.\n" +"Ceci est également utilisée comme taille de texture de nœud par défaut pour " "l'agrandissement des textures basé sur le monde." #: src/settings_translation_file.cpp @@ -7248,7 +7238,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Whether to fog out the end of the visible area." -msgstr "Détermine la visibilité de la brume au bout de l'aire visible." +msgstr "Détermine la visibilité du brouillard au bout de l'aire visible." #: src/settings_translation_file.cpp msgid "" @@ -7273,7 +7263,7 @@ msgstr "" #: src/settings_translation_file.cpp msgid "Width component of the initial window size." -msgstr "Résolution verticale de la fenêtre de jeu." +msgstr "Composant de largeur de la taille initiale de la fenêtre." #: src/settings_translation_file.cpp msgid "Width of the selection box lines around nodes." @@ -7392,7 +7382,7 @@ msgstr "" "-1 - niveau de compression de Zlib par défaut\n" "0 - aucune compression, le plus rapide\n" "9 - meilleure compression, le plus lent\n" -"(les niveaux 1-3 utilisent la méthode \"rapide\", 4-9 utilisent la méthode " +"(les niveaux 1-3 utilisent la méthode « rapide », 4-9 utilisent la méthode " "normale)" #: src/settings_translation_file.cpp @@ -7408,7 +7398,7 @@ msgstr "" "-1 - niveau de compression de Zlib par défaut\n" "0 - aucune compression, le plus rapide\n" "9 - meilleure compression, le plus lent\n" -"(les niveaux 1-3 utilisent la méthode \"rapide\", 4-9 utilisent la méthode " +"(les niveaux 1-3 utilisent la méthode « rapide », 4-9 utilisent la méthode " "normale)" #: src/settings_translation_file.cpp From b2596eda32a41a8008b6979d7a29e0c225421a3a Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 10 Apr 2021 18:41:12 +0200 Subject: [PATCH 164/279] Bump version to 5.4.1 --- CMakeLists.txt | 2 +- build/android/build.gradle | 2 +- misc/net.minetest.minetest.appdata.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f6a0d22fe..aef40e8c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ set(CLANG_MINIMUM_VERSION "3.4") # Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing set(VERSION_MAJOR 5) set(VERSION_MINOR 4) -set(VERSION_PATCH 0) +set(VERSION_PATCH 1) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases diff --git a/build/android/build.gradle b/build/android/build.gradle index be9eaada4..68dbe082d 100644 --- a/build/android/build.gradle +++ b/build/android/build.gradle @@ -4,7 +4,7 @@ project.ext.set("versionMajor", 5) // Version Major project.ext.set("versionMinor", 4) // Version Minor project.ext.set("versionPatch", 0) // Version Patch project.ext.set("versionExtra", "") // Version Extra -project.ext.set("versionCode", 32) // Android Version Code +project.ext.set("versionCode", 34) // Android Version Code // NOTE: +2 after each release! // +1 for ARM and +1 for ARM64 APK's, because // each APK must have a larger `versionCode` than the previous diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml index 0e5397b37..ade4c2421 100644 --- a/misc/net.minetest.minetest.appdata.xml +++ b/misc/net.minetest.minetest.appdata.xml @@ -62,6 +62,6 @@ minetest sfan5@live.de - + From 27f4195471fbbac33b5cdc19025ec5aa6c118a75 Mon Sep 17 00:00:00 2001 From: NeroBurner Date: Mon, 21 Jun 2021 21:51:42 +0200 Subject: [PATCH 165/279] Move build/android directory to root of project (#11283) --- .github/workflows/android.yml | 10 +- .gitignore | 1 + {build/android => android}/.gitignore | 0 {build/android => android}/app/build.gradle | 2 +- .../app/src/main/AndroidManifest.xml | 0 .../net/minetest/minetest/CopyZipTask.java | 0 .../net/minetest/minetest/CustomEditText.java | 0 .../net/minetest/minetest/GameActivity.java | 0 .../net/minetest/minetest/MainActivity.java | 0 .../net/minetest/minetest/UnzipService.java | 0 .../app/src/main/res/drawable/background.png | Bin .../app/src/main/res/drawable/bg.xml | 0 .../app/src/main/res/layout/activity_main.xml | 0 .../app/src/main/res/mipmap/ic_launcher.png | Bin .../app/src/main/res/values/strings.xml | 0 .../app/src/main/res/values/styles.xml | 0 {build/android => android}/build.gradle | 0 {build/android => android}/gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 {build/android => android}/gradlew | 0 {build/android => android}/gradlew.bat | 0 android/icons/aux1_btn.svg | 143 ++++++++++++ {build/android => android}/icons/aux_btn.svg | 0 .../android => android}/icons/camera_btn.svg | 0 {build/android => android}/icons/chat_btn.svg | 0 .../icons/chat_hide_btn.svg | 0 .../icons/chat_show_btn.svg | 0 .../icons/checkbox_tick.svg | 0 .../android => android}/icons/debug_btn.svg | 0 {build/android => android}/icons/down.svg | 0 {build/android => android}/icons/drop_btn.svg | 0 {build/android => android}/icons/fast_btn.svg | 0 {build/android => android}/icons/fly_btn.svg | 0 .../android => android}/icons/gear_icon.svg | 0 .../icons/inventory_btn.svg | 0 .../android => android}/icons/joystick_bg.svg | 0 .../icons/joystick_center.svg | 0 .../icons/joystick_off.svg | 0 {build/android => android}/icons/jump_btn.svg | 0 .../android => android}/icons/minimap_btn.svg | 0 .../android => android}/icons/noclip_btn.svg | 0 .../icons/rangeview_btn.svg | 0 .../icons/rare_controls.svg | 0 {build/android => android}/icons/zoom.svg | 0 .../android => android}/keystore-minetest.jks | Bin .../android => android}/native/build.gradle | 0 android/native/jni/Android.mk | 206 ++++++++++++++++ .../native/jni/Application.mk | 0 .../native/src/main/AndroidManifest.xml | 0 {build/android => android}/settings.gradle | 0 build/android/native/jni/Android.mk | 219 ------------------ doc/README.android | 2 +- util/bump_version.sh | 20 +- 54 files changed, 367 insertions(+), 236 deletions(-) rename {build/android => android}/.gitignore (100%) rename {build/android => android}/app/build.gradle (98%) rename {build/android => android}/app/src/main/AndroidManifest.xml (100%) rename {build/android => android}/app/src/main/java/net/minetest/minetest/CopyZipTask.java (100%) rename {build/android => android}/app/src/main/java/net/minetest/minetest/CustomEditText.java (100%) rename {build/android => android}/app/src/main/java/net/minetest/minetest/GameActivity.java (100%) rename {build/android => android}/app/src/main/java/net/minetest/minetest/MainActivity.java (100%) rename {build/android => android}/app/src/main/java/net/minetest/minetest/UnzipService.java (100%) rename {build/android => android}/app/src/main/res/drawable/background.png (100%) rename {build/android => android}/app/src/main/res/drawable/bg.xml (100%) rename {build/android => android}/app/src/main/res/layout/activity_main.xml (100%) rename {build/android => android}/app/src/main/res/mipmap/ic_launcher.png (100%) rename {build/android => android}/app/src/main/res/values/strings.xml (100%) rename {build/android => android}/app/src/main/res/values/styles.xml (100%) rename {build/android => android}/build.gradle (100%) rename {build/android => android}/gradle.properties (100%) rename {build/android => android}/gradle/wrapper/gradle-wrapper.jar (100%) rename {build/android => android}/gradle/wrapper/gradle-wrapper.properties (100%) rename {build/android => android}/gradlew (100%) rename {build/android => android}/gradlew.bat (100%) create mode 100644 android/icons/aux1_btn.svg rename {build/android => android}/icons/aux_btn.svg (100%) rename {build/android => android}/icons/camera_btn.svg (100%) rename {build/android => android}/icons/chat_btn.svg (100%) rename {build/android => android}/icons/chat_hide_btn.svg (100%) rename {build/android => android}/icons/chat_show_btn.svg (100%) rename {build/android => android}/icons/checkbox_tick.svg (100%) rename {build/android => android}/icons/debug_btn.svg (100%) rename {build/android => android}/icons/down.svg (100%) rename {build/android => android}/icons/drop_btn.svg (100%) rename {build/android => android}/icons/fast_btn.svg (100%) rename {build/android => android}/icons/fly_btn.svg (100%) rename {build/android => android}/icons/gear_icon.svg (100%) rename {build/android => android}/icons/inventory_btn.svg (100%) rename {build/android => android}/icons/joystick_bg.svg (100%) rename {build/android => android}/icons/joystick_center.svg (100%) rename {build/android => android}/icons/joystick_off.svg (100%) rename {build/android => android}/icons/jump_btn.svg (100%) rename {build/android => android}/icons/minimap_btn.svg (100%) rename {build/android => android}/icons/noclip_btn.svg (100%) rename {build/android => android}/icons/rangeview_btn.svg (100%) rename {build/android => android}/icons/rare_controls.svg (100%) rename {build/android => android}/icons/zoom.svg (100%) rename {build/android => android}/keystore-minetest.jks (100%) rename {build/android => android}/native/build.gradle (100%) create mode 100644 android/native/jni/Android.mk rename {build/android => android}/native/jni/Application.mk (100%) rename {build/android => android}/native/src/main/AndroidManifest.xml (100%) rename {build/android => android}/settings.gradle (100%) delete mode 100644 build/android/native/jni/Android.mk diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 0fcfe2390..47ab64d11 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -8,7 +8,7 @@ on: - 'lib/**.cpp' - 'src/**.[ch]' - 'src/**.cpp' - - 'build/android/**' + - 'android/**' - '.github/workflows/android.yml' pull_request: paths: @@ -16,7 +16,7 @@ on: - 'lib/**.cpp' - 'src/**.[ch]' - 'src/**.cpp' - - 'build/android/**' + - 'android/**' - '.github/workflows/android.yml' jobs: @@ -29,14 +29,14 @@ jobs: with: java-version: 1.8 - name: Build with Gradle - run: cd build/android; ./gradlew assemblerelease + run: cd android; ./gradlew assemblerelease - name: Save armeabi artifact uses: actions/upload-artifact@v2 with: name: Minetest-armeabi-v7a.apk - path: build/android/app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned.apk + path: android/app/build/outputs/apk/release/app-armeabi-v7a-release-unsigned.apk - name: Save arm64 artifact uses: actions/upload-artifact@v2 with: name: Minetest-arm64-v8a.apk - path: build/android/app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk + path: android/app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk diff --git a/.gitignore b/.gitignore index 52f8bc4f4..31e938ce4 100644 --- a/.gitignore +++ b/.gitignore @@ -76,6 +76,7 @@ doc/mkdocs/docs/*.md doc/mkdocs/mkdocs.yml ## Build files +build/ CMakeFiles Makefile cmake_install.cmake diff --git a/build/android/.gitignore b/android/.gitignore similarity index 100% rename from build/android/.gitignore rename to android/.gitignore diff --git a/build/android/app/build.gradle b/android/app/build.gradle similarity index 98% rename from build/android/app/build.gradle rename to android/app/build.gradle index 7f4eba8c4..b7d93ef0f 100644 --- a/build/android/app/build.gradle +++ b/android/app/build.gradle @@ -52,7 +52,7 @@ android { task prepareAssets() { def assetsFolder = "build/assets" - def projRoot = "../../.." + def projRoot = "../.." def gameToCopy = "minetest_game" copy { diff --git a/build/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml similarity index 100% rename from build/android/app/src/main/AndroidManifest.xml rename to android/app/src/main/AndroidManifest.xml diff --git a/build/android/app/src/main/java/net/minetest/minetest/CopyZipTask.java b/android/app/src/main/java/net/minetest/minetest/CopyZipTask.java similarity index 100% rename from build/android/app/src/main/java/net/minetest/minetest/CopyZipTask.java rename to android/app/src/main/java/net/minetest/minetest/CopyZipTask.java diff --git a/build/android/app/src/main/java/net/minetest/minetest/CustomEditText.java b/android/app/src/main/java/net/minetest/minetest/CustomEditText.java similarity index 100% rename from build/android/app/src/main/java/net/minetest/minetest/CustomEditText.java rename to android/app/src/main/java/net/minetest/minetest/CustomEditText.java diff --git a/build/android/app/src/main/java/net/minetest/minetest/GameActivity.java b/android/app/src/main/java/net/minetest/minetest/GameActivity.java similarity index 100% rename from build/android/app/src/main/java/net/minetest/minetest/GameActivity.java rename to android/app/src/main/java/net/minetest/minetest/GameActivity.java diff --git a/build/android/app/src/main/java/net/minetest/minetest/MainActivity.java b/android/app/src/main/java/net/minetest/minetest/MainActivity.java similarity index 100% rename from build/android/app/src/main/java/net/minetest/minetest/MainActivity.java rename to android/app/src/main/java/net/minetest/minetest/MainActivity.java diff --git a/build/android/app/src/main/java/net/minetest/minetest/UnzipService.java b/android/app/src/main/java/net/minetest/minetest/UnzipService.java similarity index 100% rename from build/android/app/src/main/java/net/minetest/minetest/UnzipService.java rename to android/app/src/main/java/net/minetest/minetest/UnzipService.java diff --git a/build/android/app/src/main/res/drawable/background.png b/android/app/src/main/res/drawable/background.png similarity index 100% rename from build/android/app/src/main/res/drawable/background.png rename to android/app/src/main/res/drawable/background.png diff --git a/build/android/app/src/main/res/drawable/bg.xml b/android/app/src/main/res/drawable/bg.xml similarity index 100% rename from build/android/app/src/main/res/drawable/bg.xml rename to android/app/src/main/res/drawable/bg.xml diff --git a/build/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml similarity index 100% rename from build/android/app/src/main/res/layout/activity_main.xml rename to android/app/src/main/res/layout/activity_main.xml diff --git a/build/android/app/src/main/res/mipmap/ic_launcher.png b/android/app/src/main/res/mipmap/ic_launcher.png similarity index 100% rename from build/android/app/src/main/res/mipmap/ic_launcher.png rename to android/app/src/main/res/mipmap/ic_launcher.png diff --git a/build/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml similarity index 100% rename from build/android/app/src/main/res/values/strings.xml rename to android/app/src/main/res/values/strings.xml diff --git a/build/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml similarity index 100% rename from build/android/app/src/main/res/values/styles.xml rename to android/app/src/main/res/values/styles.xml diff --git a/build/android/build.gradle b/android/build.gradle similarity index 100% rename from build/android/build.gradle rename to android/build.gradle diff --git a/build/android/gradle.properties b/android/gradle.properties similarity index 100% rename from build/android/gradle.properties rename to android/gradle.properties diff --git a/build/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from build/android/gradle/wrapper/gradle-wrapper.jar rename to android/gradle/wrapper/gradle-wrapper.jar diff --git a/build/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from build/android/gradle/wrapper/gradle-wrapper.properties rename to android/gradle/wrapper/gradle-wrapper.properties diff --git a/build/android/gradlew b/android/gradlew similarity index 100% rename from build/android/gradlew rename to android/gradlew diff --git a/build/android/gradlew.bat b/android/gradlew.bat similarity index 100% rename from build/android/gradlew.bat rename to android/gradlew.bat diff --git a/android/icons/aux1_btn.svg b/android/icons/aux1_btn.svg new file mode 100644 index 000000000..e0ee97c0c --- /dev/null +++ b/android/icons/aux1_btn.svg @@ -0,0 +1,143 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + Aux1 + + + diff --git a/build/android/icons/aux_btn.svg b/android/icons/aux_btn.svg similarity index 100% rename from build/android/icons/aux_btn.svg rename to android/icons/aux_btn.svg diff --git a/build/android/icons/camera_btn.svg b/android/icons/camera_btn.svg similarity index 100% rename from build/android/icons/camera_btn.svg rename to android/icons/camera_btn.svg diff --git a/build/android/icons/chat_btn.svg b/android/icons/chat_btn.svg similarity index 100% rename from build/android/icons/chat_btn.svg rename to android/icons/chat_btn.svg diff --git a/build/android/icons/chat_hide_btn.svg b/android/icons/chat_hide_btn.svg similarity index 100% rename from build/android/icons/chat_hide_btn.svg rename to android/icons/chat_hide_btn.svg diff --git a/build/android/icons/chat_show_btn.svg b/android/icons/chat_show_btn.svg similarity index 100% rename from build/android/icons/chat_show_btn.svg rename to android/icons/chat_show_btn.svg diff --git a/build/android/icons/checkbox_tick.svg b/android/icons/checkbox_tick.svg similarity index 100% rename from build/android/icons/checkbox_tick.svg rename to android/icons/checkbox_tick.svg diff --git a/build/android/icons/debug_btn.svg b/android/icons/debug_btn.svg similarity index 100% rename from build/android/icons/debug_btn.svg rename to android/icons/debug_btn.svg diff --git a/build/android/icons/down.svg b/android/icons/down.svg similarity index 100% rename from build/android/icons/down.svg rename to android/icons/down.svg diff --git a/build/android/icons/drop_btn.svg b/android/icons/drop_btn.svg similarity index 100% rename from build/android/icons/drop_btn.svg rename to android/icons/drop_btn.svg diff --git a/build/android/icons/fast_btn.svg b/android/icons/fast_btn.svg similarity index 100% rename from build/android/icons/fast_btn.svg rename to android/icons/fast_btn.svg diff --git a/build/android/icons/fly_btn.svg b/android/icons/fly_btn.svg similarity index 100% rename from build/android/icons/fly_btn.svg rename to android/icons/fly_btn.svg diff --git a/build/android/icons/gear_icon.svg b/android/icons/gear_icon.svg similarity index 100% rename from build/android/icons/gear_icon.svg rename to android/icons/gear_icon.svg diff --git a/build/android/icons/inventory_btn.svg b/android/icons/inventory_btn.svg similarity index 100% rename from build/android/icons/inventory_btn.svg rename to android/icons/inventory_btn.svg diff --git a/build/android/icons/joystick_bg.svg b/android/icons/joystick_bg.svg similarity index 100% rename from build/android/icons/joystick_bg.svg rename to android/icons/joystick_bg.svg diff --git a/build/android/icons/joystick_center.svg b/android/icons/joystick_center.svg similarity index 100% rename from build/android/icons/joystick_center.svg rename to android/icons/joystick_center.svg diff --git a/build/android/icons/joystick_off.svg b/android/icons/joystick_off.svg similarity index 100% rename from build/android/icons/joystick_off.svg rename to android/icons/joystick_off.svg diff --git a/build/android/icons/jump_btn.svg b/android/icons/jump_btn.svg similarity index 100% rename from build/android/icons/jump_btn.svg rename to android/icons/jump_btn.svg diff --git a/build/android/icons/minimap_btn.svg b/android/icons/minimap_btn.svg similarity index 100% rename from build/android/icons/minimap_btn.svg rename to android/icons/minimap_btn.svg diff --git a/build/android/icons/noclip_btn.svg b/android/icons/noclip_btn.svg similarity index 100% rename from build/android/icons/noclip_btn.svg rename to android/icons/noclip_btn.svg diff --git a/build/android/icons/rangeview_btn.svg b/android/icons/rangeview_btn.svg similarity index 100% rename from build/android/icons/rangeview_btn.svg rename to android/icons/rangeview_btn.svg diff --git a/build/android/icons/rare_controls.svg b/android/icons/rare_controls.svg similarity index 100% rename from build/android/icons/rare_controls.svg rename to android/icons/rare_controls.svg diff --git a/build/android/icons/zoom.svg b/android/icons/zoom.svg similarity index 100% rename from build/android/icons/zoom.svg rename to android/icons/zoom.svg diff --git a/build/android/keystore-minetest.jks b/android/keystore-minetest.jks similarity index 100% rename from build/android/keystore-minetest.jks rename to android/keystore-minetest.jks diff --git a/build/android/native/build.gradle b/android/native/build.gradle similarity index 100% rename from build/android/native/build.gradle rename to android/native/build.gradle diff --git a/android/native/jni/Android.mk b/android/native/jni/Android.mk new file mode 100644 index 000000000..5039f325e --- /dev/null +++ b/android/native/jni/Android.mk @@ -0,0 +1,206 @@ +LOCAL_PATH := $(call my-dir)/.. + +#LOCAL_ADDRESS_SANITIZER:=true + +include $(CLEAR_VARS) +LOCAL_MODULE := Curl +LOCAL_SRC_FILES := deps/Android/Curl/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libcurl.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Freetype +LOCAL_SRC_FILES := deps/Android/Freetype/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libfreetype.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Irrlicht +LOCAL_SRC_FILES := deps/Android/Irrlicht/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libIrrlichtMt.a +include $(PREBUILT_STATIC_LIBRARY) + +#include $(CLEAR_VARS) +#LOCAL_MODULE := LevelDB +#LOCAL_SRC_FILES := deps/Android/LevelDB/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libleveldb.a +#include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := LuaJIT +LOCAL_SRC_FILES := deps/Android/LuaJIT/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libluajit.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := mbedTLS +LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedtls.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := mbedx509 +LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedx509.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := mbedcrypto +LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedcrypto.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := OpenAL +LOCAL_SRC_FILES := deps/Android/OpenAL-Soft/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libopenal.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Vorbis +LOCAL_SRC_FILES := deps/Android/Vorbis/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libvorbis.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Minetest + +LOCAL_CFLAGS += \ + -DJSONCPP_NO_LOCALE_SUPPORT \ + -DHAVE_TOUCHSCREENGUI \ + -DENABLE_GLES=1 \ + -DUSE_CURL=1 \ + -DUSE_SOUND=1 \ + -DUSE_FREETYPE=1 \ + -DUSE_LEVELDB=0 \ + -DUSE_LUAJIT=1 \ + -DVERSION_MAJOR=${versionMajor} \ + -DVERSION_MINOR=${versionMinor} \ + -DVERSION_PATCH=${versionPatch} \ + -DVERSION_EXTRA=${versionExtra} \ + $(GPROF_DEF) + +ifdef NDEBUG + LOCAL_CFLAGS += -DNDEBUG=1 +endif + +ifdef GPROF + GPROF_DEF := -DGPROF + PROFILER_LIBS := android-ndk-profiler + LOCAL_CFLAGS += -pg +endif + +LOCAL_C_INCLUDES := \ + ../../src \ + ../../src/script \ + ../../lib/gmp \ + ../../lib/jsoncpp \ + deps/Android/Curl/include \ + deps/Android/Freetype/include \ + deps/Android/Irrlicht/include \ + deps/Android/LevelDB/include \ + deps/Android/libiconv/include \ + deps/Android/libiconv/libcharset/include \ + deps/Android/LuaJIT/src \ + deps/Android/OpenAL-Soft/include \ + deps/Android/sqlite \ + deps/Android/Vorbis/include + +LOCAL_SRC_FILES := \ + $(wildcard ../../src/client/*.cpp) \ + $(wildcard ../../src/client/*/*.cpp) \ + $(wildcard ../../src/content/*.cpp) \ + ../../src/database/database.cpp \ + ../../src/database/database-dummy.cpp \ + ../../src/database/database-files.cpp \ + ../../src/database/database-sqlite3.cpp \ + $(wildcard ../../src/gui/*.cpp) \ + $(wildcard ../../src/irrlicht_changes/*.cpp) \ + $(wildcard ../../src/mapgen/*.cpp) \ + $(wildcard ../../src/network/*.cpp) \ + $(wildcard ../../src/script/*.cpp) \ + $(wildcard ../../src/script/*/*.cpp) \ + $(wildcard ../../src/server/*.cpp) \ + $(wildcard ../../src/threading/*.cpp) \ + $(wildcard ../../src/util/*.c) \ + $(wildcard ../../src/util/*.cpp) \ + ../../src/ban.cpp \ + ../../src/chat.cpp \ + ../../src/clientiface.cpp \ + ../../src/collision.cpp \ + ../../src/content_mapnode.cpp \ + ../../src/content_nodemeta.cpp \ + ../../src/convert_json.cpp \ + ../../src/craftdef.cpp \ + ../../src/debug.cpp \ + ../../src/defaultsettings.cpp \ + ../../src/emerge.cpp \ + ../../src/environment.cpp \ + ../../src/face_position_cache.cpp \ + ../../src/filesys.cpp \ + ../../src/gettext.cpp \ + ../../src/httpfetch.cpp \ + ../../src/hud.cpp \ + ../../src/inventory.cpp \ + ../../src/inventorymanager.cpp \ + ../../src/itemdef.cpp \ + ../../src/itemstackmetadata.cpp \ + ../../src/light.cpp \ + ../../src/log.cpp \ + ../../src/main.cpp \ + ../../src/map.cpp \ + ../../src/map_settings_manager.cpp \ + ../../src/mapblock.cpp \ + ../../src/mapnode.cpp \ + ../../src/mapsector.cpp \ + ../../src/metadata.cpp \ + ../../src/modchannels.cpp \ + ../../src/nameidmapping.cpp \ + ../../src/nodedef.cpp \ + ../../src/nodemetadata.cpp \ + ../../src/nodetimer.cpp \ + ../../src/noise.cpp \ + ../../src/objdef.cpp \ + ../../src/object_properties.cpp \ + ../../src/particles.cpp \ + ../../src/pathfinder.cpp \ + ../../src/player.cpp \ + ../../src/porting.cpp \ + ../../src/porting_android.cpp \ + ../../src/profiler.cpp \ + ../../src/raycast.cpp \ + ../../src/reflowscan.cpp \ + ../../src/remoteplayer.cpp \ + ../../src/rollback.cpp \ + ../../src/rollback_interface.cpp \ + ../../src/serialization.cpp \ + ../../src/server.cpp \ + ../../src/serverenvironment.cpp \ + ../../src/serverlist.cpp \ + ../../src/settings.cpp \ + ../../src/staticobject.cpp \ + ../../src/texture_override.cpp \ + ../../src/tileanimation.cpp \ + ../../src/tool.cpp \ + ../../src/translation.cpp \ + ../../src/version.cpp \ + ../../src/voxel.cpp \ + ../../src/voxelalgorithms.cpp + +# LevelDB backend is disabled +# ../../src/database/database-leveldb.cpp + +# GMP +LOCAL_SRC_FILES += ../../lib/gmp/mini-gmp.c + +# JSONCPP +LOCAL_SRC_FILES += ../../lib/jsoncpp/jsoncpp.cpp + +# iconv +LOCAL_SRC_FILES += \ + deps/Android/libiconv/lib/iconv.c \ + deps/Android/libiconv/libcharset/lib/localcharset.c + +# SQLite3 +LOCAL_SRC_FILES += deps/Android/sqlite/sqlite3.c + +LOCAL_STATIC_LIBRARIES += Curl Freetype Irrlicht OpenAL mbedTLS mbedx509 mbedcrypto Vorbis LuaJIT android_native_app_glue $(PROFILER_LIBS) #LevelDB + +LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES + +include $(BUILD_SHARED_LIBRARY) + +ifdef GPROF +$(call import-module,android-ndk-profiler) +endif +$(call import-module,android/native_app_glue) diff --git a/build/android/native/jni/Application.mk b/android/native/jni/Application.mk similarity index 100% rename from build/android/native/jni/Application.mk rename to android/native/jni/Application.mk diff --git a/build/android/native/src/main/AndroidManifest.xml b/android/native/src/main/AndroidManifest.xml similarity index 100% rename from build/android/native/src/main/AndroidManifest.xml rename to android/native/src/main/AndroidManifest.xml diff --git a/build/android/settings.gradle b/android/settings.gradle similarity index 100% rename from build/android/settings.gradle rename to android/settings.gradle diff --git a/build/android/native/jni/Android.mk b/build/android/native/jni/Android.mk deleted file mode 100644 index 140947e6a..000000000 --- a/build/android/native/jni/Android.mk +++ /dev/null @@ -1,219 +0,0 @@ -LOCAL_PATH := $(call my-dir)/.. - -#LOCAL_ADDRESS_SANITIZER:=true - -include $(CLEAR_VARS) -LOCAL_MODULE := Curl -LOCAL_SRC_FILES := deps/Android/Curl/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libcurl.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := Freetype -LOCAL_SRC_FILES := deps/Android/Freetype/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libfreetype.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := Irrlicht -LOCAL_SRC_FILES := deps/Android/Irrlicht/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libIrrlicht.a -include $(PREBUILT_STATIC_LIBRARY) - -#include $(CLEAR_VARS) -#LOCAL_MODULE := LevelDB -#LOCAL_SRC_FILES := deps/Android/LevelDB/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libleveldb.a -#include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := LuaJIT -LOCAL_SRC_FILES := deps/Android/LuaJIT/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libluajit.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := mbedTLS -LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedtls.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := mbedx509 -LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedx509.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := mbedcrypto -LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedcrypto.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := OpenAL -LOCAL_SRC_FILES := deps/Android/OpenAL-Soft/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libopenal.a -include $(PREBUILT_STATIC_LIBRARY) - -# You can use `OpenSSL and Crypto` instead `mbedTLS mbedx509 mbedcrypto`, -#but it increase APK size on ~0.7MB -#include $(CLEAR_VARS) -#LOCAL_MODULE := OpenSSL -#LOCAL_SRC_FILES := deps/Android/OpenSSL/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libssl.a -#include $(PREBUILT_STATIC_LIBRARY) - -#include $(CLEAR_VARS) -#LOCAL_MODULE := Crypto -#LOCAL_SRC_FILES := deps/Android/OpenSSL/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libcrypto.a -#include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := Vorbis -LOCAL_SRC_FILES := deps/Android/Vorbis/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libvorbis.a -include $(PREBUILT_STATIC_LIBRARY) - -include $(CLEAR_VARS) -LOCAL_MODULE := Minetest - -LOCAL_CFLAGS += \ - -DJSONCPP_NO_LOCALE_SUPPORT \ - -DHAVE_TOUCHSCREENGUI \ - -DENABLE_GLES=1 \ - -DUSE_CURL=1 \ - -DUSE_SOUND=1 \ - -DUSE_FREETYPE=1 \ - -DUSE_LEVELDB=0 \ - -DUSE_LUAJIT=1 \ - -DVERSION_MAJOR=${versionMajor} \ - -DVERSION_MINOR=${versionMinor} \ - -DVERSION_PATCH=${versionPatch} \ - -DVERSION_EXTRA=${versionExtra} \ - $(GPROF_DEF) - -ifdef NDEBUG - LOCAL_CFLAGS += -DNDEBUG=1 -endif - -ifdef GPROF - GPROF_DEF := -DGPROF - PROFILER_LIBS := android-ndk-profiler - LOCAL_CFLAGS += -pg -endif - -LOCAL_C_INCLUDES := \ - ../../../src \ - ../../../src/script \ - ../../../lib/gmp \ - ../../../lib/jsoncpp \ - deps/Android/Curl/include \ - deps/Android/Freetype/include \ - deps/Android/Irrlicht/include \ - deps/Android/LevelDB/include \ - deps/Android/libiconv/include \ - deps/Android/libiconv/libcharset/include \ - deps/Android/LuaJIT/src \ - deps/Android/OpenAL-Soft/include \ - deps/Android/sqlite \ - deps/Android/Vorbis/include - -LOCAL_SRC_FILES := \ - $(wildcard ../../../src/client/*.cpp) \ - $(wildcard ../../../src/client/*/*.cpp) \ - $(wildcard ../../../src/content/*.cpp) \ - ../../../src/database/database.cpp \ - ../../../src/database/database-dummy.cpp \ - ../../../src/database/database-files.cpp \ - ../../../src/database/database-sqlite3.cpp \ - $(wildcard ../../../src/gui/*.cpp) \ - $(wildcard ../../../src/irrlicht_changes/*.cpp) \ - $(wildcard ../../../src/mapgen/*.cpp) \ - $(wildcard ../../../src/network/*.cpp) \ - $(wildcard ../../../src/script/*.cpp) \ - $(wildcard ../../../src/script/*/*.cpp) \ - $(wildcard ../../../src/server/*.cpp) \ - $(wildcard ../../../src/threading/*.cpp) \ - $(wildcard ../../../src/util/*.c) \ - $(wildcard ../../../src/util/*.cpp) \ - ../../../src/ban.cpp \ - ../../../src/chat.cpp \ - ../../../src/clientiface.cpp \ - ../../../src/collision.cpp \ - ../../../src/content_mapnode.cpp \ - ../../../src/content_nodemeta.cpp \ - ../../../src/convert_json.cpp \ - ../../../src/craftdef.cpp \ - ../../../src/debug.cpp \ - ../../../src/defaultsettings.cpp \ - ../../../src/emerge.cpp \ - ../../../src/environment.cpp \ - ../../../src/face_position_cache.cpp \ - ../../../src/filesys.cpp \ - ../../../src/gettext.cpp \ - ../../../src/httpfetch.cpp \ - ../../../src/hud.cpp \ - ../../../src/inventory.cpp \ - ../../../src/inventorymanager.cpp \ - ../../../src/itemdef.cpp \ - ../../../src/itemstackmetadata.cpp \ - ../../../src/light.cpp \ - ../../../src/log.cpp \ - ../../../src/main.cpp \ - ../../../src/map.cpp \ - ../../../src/map_settings_manager.cpp \ - ../../../src/mapblock.cpp \ - ../../../src/mapnode.cpp \ - ../../../src/mapsector.cpp \ - ../../../src/metadata.cpp \ - ../../../src/modchannels.cpp \ - ../../../src/nameidmapping.cpp \ - ../../../src/nodedef.cpp \ - ../../../src/nodemetadata.cpp \ - ../../../src/nodetimer.cpp \ - ../../../src/noise.cpp \ - ../../../src/objdef.cpp \ - ../../../src/object_properties.cpp \ - ../../../src/particles.cpp \ - ../../../src/pathfinder.cpp \ - ../../../src/player.cpp \ - ../../../src/porting.cpp \ - ../../../src/porting_android.cpp \ - ../../../src/profiler.cpp \ - ../../../src/raycast.cpp \ - ../../../src/reflowscan.cpp \ - ../../../src/remoteplayer.cpp \ - ../../../src/rollback.cpp \ - ../../../src/rollback_interface.cpp \ - ../../../src/serialization.cpp \ - ../../../src/server.cpp \ - ../../../src/serverenvironment.cpp \ - ../../../src/serverlist.cpp \ - ../../../src/settings.cpp \ - ../../../src/staticobject.cpp \ - ../../../src/texture_override.cpp \ - ../../../src/tileanimation.cpp \ - ../../../src/tool.cpp \ - ../../../src/translation.cpp \ - ../../../src/version.cpp \ - ../../../src/voxel.cpp \ - ../../../src/voxelalgorithms.cpp - -# LevelDB backend is disabled -# ../../../src/database/database-leveldb.cpp - -# GMP -LOCAL_SRC_FILES += ../../../lib/gmp/mini-gmp.c - -# JSONCPP -LOCAL_SRC_FILES += ../../../lib/jsoncpp/jsoncpp.cpp - -# iconv -LOCAL_SRC_FILES += \ - deps/Android/libiconv/lib/iconv.c \ - deps/Android/libiconv/libcharset/lib/localcharset.c - -# SQLite3 -LOCAL_SRC_FILES += deps/Android/sqlite/sqlite3.c - -LOCAL_STATIC_LIBRARIES += Curl Freetype Irrlicht OpenAL mbedTLS mbedx509 mbedcrypto Vorbis LuaJIT android_native_app_glue $(PROFILER_LIBS) #LevelDB -#OpenSSL Crypto - -LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES - -include $(BUILD_SHARED_LIBRARY) - -ifdef GPROF -$(call import-module,android-ndk-profiler) -endif -$(call import-module,android/native_app_glue) diff --git a/doc/README.android b/doc/README.android index f6b67978f..3833688b1 100644 --- a/doc/README.android +++ b/doc/README.android @@ -74,7 +74,7 @@ automatically. Or you can create a `local.properties` file and specify are different tutorials on the web explaining how to do it - choose one yourself. -* Once your keystore is setup, enter build/android subdirectory and create a new +* Once your keystore is setup, enter the android subdirectory and create a new file "ant.properties" there. Add following lines to that file: > key.store= diff --git a/util/bump_version.sh b/util/bump_version.sh index 4b12935bd..3e64bfd86 100755 --- a/util/bump_version.sh +++ b/util/bump_version.sh @@ -25,13 +25,13 @@ perform_release() { sed -i -re "s/^set\(DEVELOPMENT_BUILD TRUE\)$/set(DEVELOPMENT_BUILD FALSE)/" CMakeLists.txt - sed -i 's/project.ext.set("versionExtra", "-dev")/project.ext.set("versionExtra", "")/' build/android/build.gradle - sed -i -re "s/\"versionCode\", [0-9]+/\"versionCode\", $NEW_ANDROID_VERSION_CODE/" build/android/build.gradle + sed -i 's/project.ext.set("versionExtra", "-dev")/project.ext.set("versionExtra", "")/' android/build.gradle + sed -i -re "s/\"versionCode\", [0-9]+/\"versionCode\", $NEW_ANDROID_VERSION_CODE/" android/build.gradle sed -i '/\ Date: Fri, 15 Oct 2021 17:14:48 +0100 Subject: [PATCH 166/279] Use scoped app storage on Android (#11466) From November 2021, the Play Store will no longer be accepting apps which use the deprecated getExternalStorageDirectory() API. Therefore, this commit replaces uses of deprecated API with the new scoped API (`getExternalFilesDir()` and `getExternalCacheDir()`). It also provides a temporary migration to move user data from the shared external directory to new storage. Fixes #2097, #11417 and #11118 --- .clang-format | 9 +- .../net/minetest/minetest/CopyZipTask.java | 82 -------- .../net/minetest/minetest/GameActivity.java | 8 + .../net/minetest/minetest/MainActivity.java | 65 +++++-- .../net/minetest/minetest/UnzipService.java | 181 ++++++++++++++---- .../java/net/minetest/minetest/Utils.java | 39 ++++ .../app/src/main/res/layout/activity_main.xml | 7 +- android/app/src/main/res/values/strings.xml | 3 + android/native/build.gradle | 4 + src/porting_android.cpp | 64 +++---- 10 files changed, 277 insertions(+), 185 deletions(-) delete mode 100644 android/app/src/main/java/net/minetest/minetest/CopyZipTask.java create mode 100644 android/app/src/main/java/net/minetest/minetest/Utils.java diff --git a/.clang-format b/.clang-format index 0db8ab167..63f12b6c4 100644 --- a/.clang-format +++ b/.clang-format @@ -1,6 +1,7 @@ BasedOnStyle: LLVM -IndentWidth: 8 +IndentWidth: 4 UseTab: Always +TabWidth: 4 BreakBeforeBraces: Custom Standard: Cpp11 BraceWrapping: @@ -16,7 +17,7 @@ BraceWrapping: FixNamespaceComments: false AllowShortIfStatementsOnASingleLine: false IndentCaseLabels: false -AccessModifierOffset: -8 +AccessModifierOffset: -4 ColumnLimit: 90 AllowShortFunctionsOnASingleLine: InlineOnly SortIncludes: false @@ -26,7 +27,7 @@ IncludeCategories: - Regex: '^<.*' Priority: 1 AlignAfterOpenBracket: DontAlign -ContinuationIndentWidth: 16 -ConstructorInitializerIndentWidth: 16 +ContinuationIndentWidth: 8 +ConstructorInitializerIndentWidth: 8 BreakConstructorInitializers: AfterColon AlwaysBreakTemplateDeclarations: Yes diff --git a/android/app/src/main/java/net/minetest/minetest/CopyZipTask.java b/android/app/src/main/java/net/minetest/minetest/CopyZipTask.java deleted file mode 100644 index 6d4b6ab0f..000000000 --- a/android/app/src/main/java/net/minetest/minetest/CopyZipTask.java +++ /dev/null @@ -1,82 +0,0 @@ -/* -Minetest -Copyright (C) 2014-2020 MoNTE48, Maksim Gamarnik -Copyright (C) 2014-2020 ubulem, Bektur Mambetov - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -package net.minetest.minetest; - -import android.content.Intent; -import android.os.AsyncTask; -import android.widget.Toast; - -import androidx.appcompat.app.AppCompatActivity; - -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.lang.ref.WeakReference; - -public class CopyZipTask extends AsyncTask { - - private final WeakReference activityRef; - - CopyZipTask(AppCompatActivity activity) { - activityRef = new WeakReference<>(activity); - } - - protected String doInBackground(String... params) { - copyAsset(params[0]); - return params[0]; - } - - @Override - protected void onPostExecute(String result) { - startUnzipService(result); - } - - private void copyAsset(String zipName) { - String filename = zipName.substring(zipName.lastIndexOf("/") + 1); - try (InputStream in = activityRef.get().getAssets().open(filename); - OutputStream out = new FileOutputStream(zipName)) { - copyFile(in, out); - } catch (IOException e) { - AppCompatActivity activity = activityRef.get(); - if (activity != null) { - activity.runOnUiThread(() -> Toast.makeText(activityRef.get(), e.getLocalizedMessage(), Toast.LENGTH_LONG).show()); - } - cancel(true); - } - } - - private void copyFile(InputStream in, OutputStream out) throws IOException { - byte[] buffer = new byte[1024]; - int read; - while ((read = in.read(buffer)) != -1) - out.write(buffer, 0, read); - } - - private void startUnzipService(String file) { - Intent intent = new Intent(activityRef.get(), UnzipService.class); - intent.putExtra(UnzipService.EXTRA_KEY_IN_FILE, file); - AppCompatActivity activity = activityRef.get(); - if (activity != null) { - activity.startService(intent); - } - } -} diff --git a/android/app/src/main/java/net/minetest/minetest/GameActivity.java b/android/app/src/main/java/net/minetest/minetest/GameActivity.java index 38a388230..dc2e564be 100644 --- a/android/app/src/main/java/net/minetest/minetest/GameActivity.java +++ b/android/app/src/main/java/net/minetest/minetest/GameActivity.java @@ -146,4 +146,12 @@ public class GameActivity extends NativeActivity { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); startActivity(browserIntent); } + + public String getUserDataPath() { + return Utils.getUserDataDirectory(this).getAbsolutePath(); + } + + public String getCachePath() { + return Utils.getCacheDirectory(this).getAbsolutePath(); + } } diff --git a/android/app/src/main/java/net/minetest/minetest/MainActivity.java b/android/app/src/main/java/net/minetest/minetest/MainActivity.java index 2aa50d9ad..56615fca7 100644 --- a/android/app/src/main/java/net/minetest/minetest/MainActivity.java +++ b/android/app/src/main/java/net/minetest/minetest/MainActivity.java @@ -29,12 +29,14 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; +import android.os.Environment; import android.view.View; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.annotation.StringRes; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; @@ -43,11 +45,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import static net.minetest.minetest.UnzipService.ACTION_FAILURE; -import static net.minetest.minetest.UnzipService.ACTION_PROGRESS; -import static net.minetest.minetest.UnzipService.ACTION_UPDATE; -import static net.minetest.minetest.UnzipService.FAILURE; -import static net.minetest.minetest.UnzipService.SUCCESS; +import static net.minetest.minetest.UnzipService.*; public class MainActivity extends AppCompatActivity { private final static int versionCode = BuildConfig.VERSION_CODE; @@ -56,26 +54,40 @@ public class MainActivity extends AppCompatActivity { new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}; private static final String SETTINGS = "MinetestSettings"; private static final String TAG_VERSION_CODE = "versionCode"; + private ProgressBar mProgressBar; private TextView mTextView; private SharedPreferences sharedPreferences; + private final BroadcastReceiver myReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { int progress = 0; - if (intent != null) + @StringRes int message = 0; + if (intent != null) { progress = intent.getIntExtra(ACTION_PROGRESS, 0); - if (progress >= 0) { - if (mProgressBar != null) { - mProgressBar.setVisibility(View.VISIBLE); - mProgressBar.setProgress(progress); - } - mTextView.setVisibility(View.VISIBLE); - } else if (progress == FAILURE) { + message = intent.getIntExtra(ACTION_PROGRESS_MESSAGE, 0); + } + + if (progress == FAILURE) { Toast.makeText(MainActivity.this, intent.getStringExtra(ACTION_FAILURE), Toast.LENGTH_LONG).show(); finish(); - } else if (progress == SUCCESS) + } else if (progress == SUCCESS) { startNative(); + } else { + if (mProgressBar != null) { + mProgressBar.setVisibility(View.VISIBLE); + if (progress == INDETERMINATE) { + mProgressBar.setIndeterminate(true); + } else { + mProgressBar.setIndeterminate(false); + mProgressBar.setProgress(progress); + } + } + mTextView.setVisibility(View.VISIBLE); + if (message != 0) + mTextView.setText(message); + } } }; @@ -88,6 +100,7 @@ public class MainActivity extends AppCompatActivity { mProgressBar = findViewById(R.id.progressBar); mTextView = findViewById(R.id.textView); sharedPreferences = getSharedPreferences(SETTINGS, Context.MODE_PRIVATE); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) checkPermission(); else @@ -120,6 +133,7 @@ public class MainActivity extends AppCompatActivity { if (grantResult != PackageManager.PERMISSION_GRANTED) { Toast.makeText(this, R.string.not_granted, Toast.LENGTH_LONG).show(); finish(); + return; } } checkAppVersion(); @@ -127,10 +141,27 @@ public class MainActivity extends AppCompatActivity { } private void checkAppVersion() { - if (sharedPreferences.getInt(TAG_VERSION_CODE, 0) == versionCode) + if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { + Toast.makeText(this, R.string.no_external_storage, Toast.LENGTH_LONG).show(); + finish(); + return; + } + + if (UnzipService.getIsRunning()) { + mProgressBar.setVisibility(View.VISIBLE); + mProgressBar.setIndeterminate(true); + mTextView.setVisibility(View.VISIBLE); + } else if (sharedPreferences.getInt(TAG_VERSION_CODE, 0) == versionCode && + Utils.isInstallValid(this)) { startNative(); - else - new CopyZipTask(this).execute(getCacheDir() + "/Minetest.zip"); + } else { + mProgressBar.setVisibility(View.VISIBLE); + mProgressBar.setIndeterminate(true); + mTextView.setVisibility(View.VISIBLE); + + Intent intent = new Intent(this, UnzipService.class); + startService(intent); + } } private void startNative() { diff --git a/android/app/src/main/java/net/minetest/minetest/UnzipService.java b/android/app/src/main/java/net/minetest/minetest/UnzipService.java index b69f7f36e..b513a7fe0 100644 --- a/android/app/src/main/java/net/minetest/minetest/UnzipService.java +++ b/android/app/src/main/java/net/minetest/minetest/UnzipService.java @@ -24,16 +24,21 @@ import android.app.IntentService; import android.app.Notification; import android.app.NotificationChannel; import android.app.NotificationManager; +import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Build; import android.os.Environment; -import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -42,32 +47,61 @@ import java.util.zip.ZipInputStream; public class UnzipService extends IntentService { public static final String ACTION_UPDATE = "net.minetest.minetest.UPDATE"; public static final String ACTION_PROGRESS = "net.minetest.minetest.PROGRESS"; + public static final String ACTION_PROGRESS_MESSAGE = "net.minetest.minetest.PROGRESS_MESSAGE"; public static final String ACTION_FAILURE = "net.minetest.minetest.FAILURE"; - public static final String EXTRA_KEY_IN_FILE = "file"; public static final int SUCCESS = -1; public static final int FAILURE = -2; + public static final int INDETERMINATE = -3; private final int id = 1; private NotificationManager mNotifyManager; private boolean isSuccess = true; private String failureMessage; + private static boolean isRunning = false; + public static synchronized boolean getIsRunning() { + return isRunning; + } + private static synchronized void setIsRunning(boolean v) { + isRunning = v; + } + public UnzipService() { super("net.minetest.minetest.UnzipService"); } - private void isDir(String dir, String location) { - File f = new File(location, dir); - if (!f.isDirectory()) - f.mkdirs(); - } - @Override protected void onHandleIntent(Intent intent) { - createNotification(); - unzip(intent); + Notification.Builder notificationBuilder = createNotification(); + final File zipFile = new File(getCacheDir(), "Minetest.zip"); + try { + setIsRunning(true); + File userDataDirectory = Utils.getUserDataDirectory(this); + if (userDataDirectory == null) { + throw new IOException("Unable to find user data directory"); + } + + try (InputStream in = this.getAssets().open(zipFile.getName())) { + try (OutputStream out = new FileOutputStream(zipFile)) { + int readLen; + byte[] readBuffer = new byte[16384]; + while ((readLen = in.read(readBuffer)) != -1) { + out.write(readBuffer, 0, readLen); + } + } + } + + migrate(notificationBuilder, userDataDirectory); + unzip(notificationBuilder, zipFile, userDataDirectory); + } catch (IOException e) { + isSuccess = false; + failureMessage = e.getLocalizedMessage(); + } finally { + setIsRunning(false); + zipFile.delete(); + } } - private void createNotification() { + private Notification.Builder createNotification() { String name = "net.minetest.minetest"; String channelId = "Minetest channel"; String description = "notifications from Minetest"; @@ -92,66 +126,129 @@ public class UnzipService extends IntentService { } else { builder = new Notification.Builder(this); } + + Intent notificationIntent = new Intent(this, MainActivity.class); + notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP + | Intent.FLAG_ACTIVITY_SINGLE_TOP); + PendingIntent intent = PendingIntent.getActivity(this, 0, + notificationIntent, 0); + builder.setContentTitle(getString(R.string.notification_title)) .setSmallIcon(R.mipmap.ic_launcher) - .setContentText(getString(R.string.notification_description)); + .setContentText(getString(R.string.notification_description)) + .setContentIntent(intent) + .setOngoing(true) + .setProgress(0, 0, true); + mNotifyManager.notify(id, builder.build()); + return builder; } - private void unzip(Intent intent) { - String zip = intent.getStringExtra(EXTRA_KEY_IN_FILE); - isDir("Minetest", Environment.getExternalStorageDirectory().toString()); - String location = Environment.getExternalStorageDirectory() + File.separator + "Minetest" + File.separator; + private void unzip(Notification.Builder notificationBuilder, File zipFile, File userDataDirectory) throws IOException { int per = 0; - int size = getSummarySize(zip); - File zipFile = new File(zip); + + int size; + try (ZipFile zipSize = new ZipFile(zipFile)) { + size = zipSize.size(); + } + int readLen; - byte[] readBuffer = new byte[8192]; + byte[] readBuffer = new byte[16384]; try (FileInputStream fileInputStream = new FileInputStream(zipFile); ZipInputStream zipInputStream = new ZipInputStream(fileInputStream)) { ZipEntry ze; while ((ze = zipInputStream.getNextEntry()) != null) { if (ze.isDirectory()) { ++per; - isDir(ze.getName(), location); - } else { - publishProgress(100 * ++per / size); - try (OutputStream outputStream = new FileOutputStream(location + ze.getName())) { - while ((readLen = zipInputStream.read(readBuffer)) != -1) { - outputStream.write(readBuffer, 0, readLen); - } + Utils.createDirs(userDataDirectory, ze.getName()); + continue; + } + publishProgress(notificationBuilder, R.string.loading, 100 * ++per / size); + try (OutputStream outputStream = new FileOutputStream( + new File(userDataDirectory, ze.getName()))) { + while ((readLen = zipInputStream.read(readBuffer)) != -1) { + outputStream.write(readBuffer, 0, readLen); } } - zipFile.delete(); } - } catch (IOException e) { - isSuccess = false; - failureMessage = e.getLocalizedMessage(); } } - private void publishProgress(int progress) { + void moveFileOrDir(@NonNull File src, @NonNull File dst) throws IOException { + try { + Process p = new ProcessBuilder("/system/bin/mv", + src.getAbsolutePath(), dst.getAbsolutePath()).start(); + int exitcode = p.waitFor(); + if (exitcode != 0) + throw new IOException("Move failed with exit code " + exitcode); + } catch (InterruptedException e) { + throw new IOException("Move operation interrupted"); + } + } + + boolean recursivelyDeleteDirectory(@NonNull File loc) { + try { + Process p = new ProcessBuilder("/system/bin/rm", "-rf", + loc.getAbsolutePath()).start(); + return p.waitFor() == 0; + } catch (IOException | InterruptedException e) { + return false; + } + } + + /** + * Migrates user data from deprecated external storage to app scoped storage + */ + private void migrate(Notification.Builder notificationBuilder, File newLocation) throws IOException { + File oldLocation = new File(Environment.getExternalStorageDirectory(), "Minetest"); + if (!oldLocation.isDirectory()) + return; + + publishProgress(notificationBuilder, R.string.migrating, 0); + newLocation.mkdir(); + + String[] dirs = new String[] { "worlds", "games", "mods", "textures", "client" }; + for (int i = 0; i < dirs.length; i++) { + publishProgress(notificationBuilder, R.string.migrating, 100 * i / dirs.length); + File dir = new File(oldLocation, dirs[i]), dir2 = new File(newLocation, dirs[i]); + if (dir.isDirectory() && !dir2.isDirectory()) { + moveFileOrDir(dir, dir2); + } + } + + for (String filename : new String[] { "minetest.conf" }) { + File file = new File(oldLocation, filename), file2 = new File(newLocation, filename); + if (file.isFile() && !file2.isFile()) { + moveFileOrDir(file, file2); + } + } + + recursivelyDeleteDirectory(oldLocation); + } + + private void publishProgress(@Nullable Notification.Builder notificationBuilder, @StringRes int message, int progress) { Intent intentUpdate = new Intent(ACTION_UPDATE); intentUpdate.putExtra(ACTION_PROGRESS, progress); - if (!isSuccess) intentUpdate.putExtra(ACTION_FAILURE, failureMessage); + intentUpdate.putExtra(ACTION_PROGRESS_MESSAGE, message); + if (!isSuccess) + intentUpdate.putExtra(ACTION_FAILURE, failureMessage); sendBroadcast(intentUpdate); - } - private int getSummarySize(String zip) { - int size = 0; - try { - ZipFile zipSize = new ZipFile(zip); - size += zipSize.size(); - } catch (IOException e) { - Toast.makeText(this, e.getLocalizedMessage(), Toast.LENGTH_LONG).show(); + if (notificationBuilder != null) { + notificationBuilder.setContentText(getString(message)); + if (progress == INDETERMINATE) { + notificationBuilder.setProgress(100, 50, true); + } else { + notificationBuilder.setProgress(100, progress, false); + } + mNotifyManager.notify(id, notificationBuilder.build()); } - return size; } @Override public void onDestroy() { super.onDestroy(); mNotifyManager.cancel(id); - publishProgress(isSuccess ? SUCCESS : FAILURE); + publishProgress(null, R.string.loading, isSuccess ? SUCCESS : FAILURE); } } diff --git a/android/app/src/main/java/net/minetest/minetest/Utils.java b/android/app/src/main/java/net/minetest/minetest/Utils.java new file mode 100644 index 000000000..b2553c844 --- /dev/null +++ b/android/app/src/main/java/net/minetest/minetest/Utils.java @@ -0,0 +1,39 @@ +package net.minetest.minetest; + +import android.content.Context; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import java.io.File; + +public class Utils { + public static @NonNull File createDirs(File root, String dir) { + File f = new File(root, dir); + if (!f.isDirectory()) + f.mkdirs(); + + return f; + } + + public static @Nullable File getUserDataDirectory(Context context) { + File extDir = context.getExternalFilesDir(null); + if (extDir == null) { + return null; + } + + return createDirs(extDir, "Minetest"); + } + + public static @Nullable File getCacheDirectory(Context context) { + return context.getCacheDir(); + } + + public static boolean isInstallValid(Context context) { + File userDataDirectory = getUserDataDirectory(context); + return userDataDirectory != null && userDataDirectory.isDirectory() && + new File(userDataDirectory, "games").isDirectory() && + new File(userDataDirectory, "builtin").isDirectory() && + new File(userDataDirectory, "client").isDirectory() && + new File(userDataDirectory, "textures").isDirectory(); + } +} diff --git a/android/app/src/main/res/layout/activity_main.xml b/android/app/src/main/res/layout/activity_main.xml index e6f461f14..93508c3cb 100644 --- a/android/app/src/main/res/layout/activity_main.xml +++ b/android/app/src/main/res/layout/activity_main.xml @@ -1,4 +1,5 @@ + android:visibility="gone" + tools:visibility="visible" /> + android:visibility="gone" + tools:visibility="visible" /> diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index a6fba70d5..99f948c99 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -3,8 +3,11 @@ Minetest Loading… + Migrating save data from old install… (this may take a while) Required permission wasn\'t granted, Minetest can\'t run without it Loading Minetest Less than 1 minute… + Done + External storage isn\'t available. If you use an SDCard, please reinsert it. Otherwise, try restarting your phone or contacting the Minetest developers diff --git a/android/native/build.gradle b/android/native/build.gradle index 8ea6347b3..a7f095641 100644 --- a/android/native/build.gradle +++ b/android/native/build.gradle @@ -41,6 +41,10 @@ android { arguments 'NDEBUG=1' } } + + ndk { + debugSymbolLevel 'SYMBOL_TABLE' + } } } } diff --git a/src/porting_android.cpp b/src/porting_android.cpp index f5870c174..c71fe5ad8 100644 --- a/src/porting_android.cpp +++ b/src/porting_android.cpp @@ -152,47 +152,35 @@ static std::string javaStringToUTF8(jstring js) return str; } -// Calls static method if obj is NULL -static std::string getAndroidPath( - jclass cls, jobject obj, jmethodID mt_getAbsPath, const char *getter) -{ - // Get getter method - jmethodID mt_getter; - if (obj) - mt_getter = jnienv->GetMethodID(cls, getter, "()Ljava/io/File;"); - else - mt_getter = jnienv->GetStaticMethodID(cls, getter, "()Ljava/io/File;"); - - // Call getter - jobject ob_file; - if (obj) - ob_file = jnienv->CallObjectMethod(obj, mt_getter); - else - ob_file = jnienv->CallStaticObjectMethod(cls, mt_getter); - - // Call getAbsolutePath - auto js_path = (jstring) jnienv->CallObjectMethod(ob_file, mt_getAbsPath); - - return javaStringToUTF8(js_path); -} - void initializePathsAndroid() { - // Get Environment class - jclass cls_Env = jnienv->FindClass("android/os/Environment"); - // Get File class - jclass cls_File = jnienv->FindClass("java/io/File"); - // Get getAbsolutePath method - jmethodID mt_getAbsPath = jnienv->GetMethodID(cls_File, - "getAbsolutePath", "()Ljava/lang/String;"); - std::string path_storage = getAndroidPath(cls_Env, nullptr, - mt_getAbsPath, "getExternalStorageDirectory"); + // Set user and share paths + { + jmethodID getUserDataPath = jnienv->GetMethodID(nativeActivity, + "getUserDataPath", "()Ljava/lang/String;"); + FATAL_ERROR_IF(getUserDataPath==nullptr, + "porting::initializePathsAndroid unable to find Java getUserDataPath method"); + jobject result = jnienv->CallObjectMethod(app_global->activity->clazz, getUserDataPath); + const char *javachars = jnienv->GetStringUTFChars((jstring) result, nullptr); + path_user = javachars; + path_share = javachars; + path_locale = path_share + DIR_DELIM + "locale"; + jnienv->ReleaseStringUTFChars((jstring) result, javachars); + } - path_user = path_storage + DIR_DELIM + PROJECT_NAME_C; - path_share = path_storage + DIR_DELIM + PROJECT_NAME_C; - path_cache = getAndroidPath(nativeActivity, - app_global->activity->clazz, mt_getAbsPath, "getCacheDir"); - migrateCachePath(); + // Set cache path + { + jmethodID getCachePath = jnienv->GetMethodID(nativeActivity, + "getCachePath", "()Ljava/lang/String;"); + FATAL_ERROR_IF(getCachePath==nullptr, + "porting::initializePathsAndroid unable to find Java getCachePath method"); + jobject result = jnienv->CallObjectMethod(app_global->activity->clazz, getCachePath); + const char *javachars = jnienv->GetStringUTFChars((jstring) result, nullptr); + path_cache = javachars; + jnienv->ReleaseStringUTFChars((jstring) result, javachars); + + migrateCachePath(); + } } void showInputDialog(const std::string &acceptButton, const std::string &hint, From e5cfdd369ed96a7906a6ed6de7eb3878a10fc57c Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Mon, 18 Oct 2021 18:33:25 +0100 Subject: [PATCH 167/279] Update deps ref --- android/native/build.gradle | 5 +- android/native/jni/Android.mk | 15 +- build/android/native/jni/Android.mk | 219 ++++++++++++++++++++++++++++ 3 files changed, 236 insertions(+), 3 deletions(-) create mode 100644 build/android/native/jni/Android.mk diff --git a/android/native/build.gradle b/android/native/build.gradle index a7f095641..d58a2dcc5 100644 --- a/android/native/build.gradle +++ b/android/native/build.gradle @@ -51,16 +51,17 @@ android { // get precompiled deps def folder = 'minetest_android_deps_binaries' +def deps_ref = "342eb18b7512462585a33bc9eef0b68298087151" task downloadDeps(type: Download) { - src 'https://github.com/minetest/' + folder + '/archive/master.zip' + src 'https://github.com/minetest/' + folder + '/archive/' + deps_ref + '.zip' dest new File(buildDir, 'deps.zip') overwrite false } task getDeps(dependsOn: downloadDeps, type: Copy) { def deps = file('deps') - def f = file("$buildDir/" + folder + "-master") + def f = file("$buildDir/" + folder + "-" + deps_ref) if (!deps.exists() && !f.exists()) { from zipTree(downloadDeps.dest) diff --git a/android/native/jni/Android.mk b/android/native/jni/Android.mk index 5039f325e..73df04945 100644 --- a/android/native/jni/Android.mk +++ b/android/native/jni/Android.mk @@ -14,7 +14,7 @@ include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := Irrlicht -LOCAL_SRC_FILES := deps/Android/Irrlicht/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libIrrlichtMt.a +LOCAL_SRC_FILES := deps/Android/Irrlicht/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libIrrlicht.a include $(PREBUILT_STATIC_LIBRARY) #include $(CLEAR_VARS) @@ -47,6 +47,18 @@ LOCAL_MODULE := OpenAL LOCAL_SRC_FILES := deps/Android/OpenAL-Soft/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libopenal.a include $(PREBUILT_STATIC_LIBRARY) +# You can use `OpenSSL and Crypto` instead `mbedTLS mbedx509 mbedcrypto`, +#but it increase APK size on ~0.7MB +#include $(CLEAR_VARS) +#LOCAL_MODULE := OpenSSL +#LOCAL_SRC_FILES := deps/Android/OpenSSL/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libssl.a +#include $(PREBUILT_STATIC_LIBRARY) + +#include $(CLEAR_VARS) +#LOCAL_MODULE := Crypto +#LOCAL_SRC_FILES := deps/Android/OpenSSL/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libcrypto.a +#include $(PREBUILT_STATIC_LIBRARY) + include $(CLEAR_VARS) LOCAL_MODULE := Vorbis LOCAL_SRC_FILES := deps/Android/Vorbis/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libvorbis.a @@ -195,6 +207,7 @@ LOCAL_SRC_FILES += \ LOCAL_SRC_FILES += deps/Android/sqlite/sqlite3.c LOCAL_STATIC_LIBRARIES += Curl Freetype Irrlicht OpenAL mbedTLS mbedx509 mbedcrypto Vorbis LuaJIT android_native_app_glue $(PROFILER_LIBS) #LevelDB +#OpenSSL Crypto LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES diff --git a/build/android/native/jni/Android.mk b/build/android/native/jni/Android.mk new file mode 100644 index 000000000..140947e6a --- /dev/null +++ b/build/android/native/jni/Android.mk @@ -0,0 +1,219 @@ +LOCAL_PATH := $(call my-dir)/.. + +#LOCAL_ADDRESS_SANITIZER:=true + +include $(CLEAR_VARS) +LOCAL_MODULE := Curl +LOCAL_SRC_FILES := deps/Android/Curl/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libcurl.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Freetype +LOCAL_SRC_FILES := deps/Android/Freetype/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libfreetype.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Irrlicht +LOCAL_SRC_FILES := deps/Android/Irrlicht/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libIrrlicht.a +include $(PREBUILT_STATIC_LIBRARY) + +#include $(CLEAR_VARS) +#LOCAL_MODULE := LevelDB +#LOCAL_SRC_FILES := deps/Android/LevelDB/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libleveldb.a +#include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := LuaJIT +LOCAL_SRC_FILES := deps/Android/LuaJIT/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libluajit.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := mbedTLS +LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedtls.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := mbedx509 +LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedx509.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := mbedcrypto +LOCAL_SRC_FILES := deps/Android/mbedTLS/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libmbedcrypto.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := OpenAL +LOCAL_SRC_FILES := deps/Android/OpenAL-Soft/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libopenal.a +include $(PREBUILT_STATIC_LIBRARY) + +# You can use `OpenSSL and Crypto` instead `mbedTLS mbedx509 mbedcrypto`, +#but it increase APK size on ~0.7MB +#include $(CLEAR_VARS) +#LOCAL_MODULE := OpenSSL +#LOCAL_SRC_FILES := deps/Android/OpenSSL/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libssl.a +#include $(PREBUILT_STATIC_LIBRARY) + +#include $(CLEAR_VARS) +#LOCAL_MODULE := Crypto +#LOCAL_SRC_FILES := deps/Android/OpenSSL/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libcrypto.a +#include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Vorbis +LOCAL_SRC_FILES := deps/Android/Vorbis/${NDK_TOOLCHAIN_VERSION}/$(APP_ABI)/libvorbis.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Minetest + +LOCAL_CFLAGS += \ + -DJSONCPP_NO_LOCALE_SUPPORT \ + -DHAVE_TOUCHSCREENGUI \ + -DENABLE_GLES=1 \ + -DUSE_CURL=1 \ + -DUSE_SOUND=1 \ + -DUSE_FREETYPE=1 \ + -DUSE_LEVELDB=0 \ + -DUSE_LUAJIT=1 \ + -DVERSION_MAJOR=${versionMajor} \ + -DVERSION_MINOR=${versionMinor} \ + -DVERSION_PATCH=${versionPatch} \ + -DVERSION_EXTRA=${versionExtra} \ + $(GPROF_DEF) + +ifdef NDEBUG + LOCAL_CFLAGS += -DNDEBUG=1 +endif + +ifdef GPROF + GPROF_DEF := -DGPROF + PROFILER_LIBS := android-ndk-profiler + LOCAL_CFLAGS += -pg +endif + +LOCAL_C_INCLUDES := \ + ../../../src \ + ../../../src/script \ + ../../../lib/gmp \ + ../../../lib/jsoncpp \ + deps/Android/Curl/include \ + deps/Android/Freetype/include \ + deps/Android/Irrlicht/include \ + deps/Android/LevelDB/include \ + deps/Android/libiconv/include \ + deps/Android/libiconv/libcharset/include \ + deps/Android/LuaJIT/src \ + deps/Android/OpenAL-Soft/include \ + deps/Android/sqlite \ + deps/Android/Vorbis/include + +LOCAL_SRC_FILES := \ + $(wildcard ../../../src/client/*.cpp) \ + $(wildcard ../../../src/client/*/*.cpp) \ + $(wildcard ../../../src/content/*.cpp) \ + ../../../src/database/database.cpp \ + ../../../src/database/database-dummy.cpp \ + ../../../src/database/database-files.cpp \ + ../../../src/database/database-sqlite3.cpp \ + $(wildcard ../../../src/gui/*.cpp) \ + $(wildcard ../../../src/irrlicht_changes/*.cpp) \ + $(wildcard ../../../src/mapgen/*.cpp) \ + $(wildcard ../../../src/network/*.cpp) \ + $(wildcard ../../../src/script/*.cpp) \ + $(wildcard ../../../src/script/*/*.cpp) \ + $(wildcard ../../../src/server/*.cpp) \ + $(wildcard ../../../src/threading/*.cpp) \ + $(wildcard ../../../src/util/*.c) \ + $(wildcard ../../../src/util/*.cpp) \ + ../../../src/ban.cpp \ + ../../../src/chat.cpp \ + ../../../src/clientiface.cpp \ + ../../../src/collision.cpp \ + ../../../src/content_mapnode.cpp \ + ../../../src/content_nodemeta.cpp \ + ../../../src/convert_json.cpp \ + ../../../src/craftdef.cpp \ + ../../../src/debug.cpp \ + ../../../src/defaultsettings.cpp \ + ../../../src/emerge.cpp \ + ../../../src/environment.cpp \ + ../../../src/face_position_cache.cpp \ + ../../../src/filesys.cpp \ + ../../../src/gettext.cpp \ + ../../../src/httpfetch.cpp \ + ../../../src/hud.cpp \ + ../../../src/inventory.cpp \ + ../../../src/inventorymanager.cpp \ + ../../../src/itemdef.cpp \ + ../../../src/itemstackmetadata.cpp \ + ../../../src/light.cpp \ + ../../../src/log.cpp \ + ../../../src/main.cpp \ + ../../../src/map.cpp \ + ../../../src/map_settings_manager.cpp \ + ../../../src/mapblock.cpp \ + ../../../src/mapnode.cpp \ + ../../../src/mapsector.cpp \ + ../../../src/metadata.cpp \ + ../../../src/modchannels.cpp \ + ../../../src/nameidmapping.cpp \ + ../../../src/nodedef.cpp \ + ../../../src/nodemetadata.cpp \ + ../../../src/nodetimer.cpp \ + ../../../src/noise.cpp \ + ../../../src/objdef.cpp \ + ../../../src/object_properties.cpp \ + ../../../src/particles.cpp \ + ../../../src/pathfinder.cpp \ + ../../../src/player.cpp \ + ../../../src/porting.cpp \ + ../../../src/porting_android.cpp \ + ../../../src/profiler.cpp \ + ../../../src/raycast.cpp \ + ../../../src/reflowscan.cpp \ + ../../../src/remoteplayer.cpp \ + ../../../src/rollback.cpp \ + ../../../src/rollback_interface.cpp \ + ../../../src/serialization.cpp \ + ../../../src/server.cpp \ + ../../../src/serverenvironment.cpp \ + ../../../src/serverlist.cpp \ + ../../../src/settings.cpp \ + ../../../src/staticobject.cpp \ + ../../../src/texture_override.cpp \ + ../../../src/tileanimation.cpp \ + ../../../src/tool.cpp \ + ../../../src/translation.cpp \ + ../../../src/version.cpp \ + ../../../src/voxel.cpp \ + ../../../src/voxelalgorithms.cpp + +# LevelDB backend is disabled +# ../../../src/database/database-leveldb.cpp + +# GMP +LOCAL_SRC_FILES += ../../../lib/gmp/mini-gmp.c + +# JSONCPP +LOCAL_SRC_FILES += ../../../lib/jsoncpp/jsoncpp.cpp + +# iconv +LOCAL_SRC_FILES += \ + deps/Android/libiconv/lib/iconv.c \ + deps/Android/libiconv/libcharset/lib/localcharset.c + +# SQLite3 +LOCAL_SRC_FILES += deps/Android/sqlite/sqlite3.c + +LOCAL_STATIC_LIBRARIES += Curl Freetype Irrlicht OpenAL mbedTLS mbedx509 mbedcrypto Vorbis LuaJIT android_native_app_glue $(PROFILER_LIBS) #LevelDB +#OpenSSL Crypto + +LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES + +include $(BUILD_SHARED_LIBRARY) + +ifdef GPROF +$(call import-module,android-ndk-profiler) +endif +$(call import-module,android/native_app_glue) From 05b54a8d18051a3452c405f58bee5852f3d3a27b Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 17 Sep 2021 18:14:25 +0200 Subject: [PATCH 168/279] Shave off buffer copies in networking code (#11607) --- src/network/connection.cpp | 72 ++++++++++++++++--------------- src/network/connection.h | 40 +++++++---------- src/network/connectionthreads.cpp | 41 +++++++++--------- src/network/networkpacket.cpp | 9 ++-- src/network/networkpacket.h | 3 +- src/unittest/test_connection.cpp | 12 +++--- src/util/container.h | 7 +++ src/util/pointer.h | 34 +++++++++++++++ 8 files changed, 126 insertions(+), 92 deletions(-) diff --git a/src/network/connection.cpp b/src/network/connection.cpp index 0ba8c36b2..a4970954f 100644 --- a/src/network/connection.cpp +++ b/src/network/connection.cpp @@ -200,17 +200,12 @@ RPBSearchResult ReliablePacketBuffer::findPacket(u16 seqnum) return i; } -RPBSearchResult ReliablePacketBuffer::notFound() -{ - return m_list.end(); -} - bool ReliablePacketBuffer::getFirstSeqnum(u16& result) { MutexAutoLock listlock(m_list_mutex); if (m_list.empty()) return false; - const BufferedPacket &p = *m_list.begin(); + const BufferedPacket &p = m_list.front(); result = readU16(&p.data[BASE_HEADER_SIZE + 1]); return true; } @@ -220,14 +215,14 @@ BufferedPacket ReliablePacketBuffer::popFirst() MutexAutoLock listlock(m_list_mutex); if (m_list.empty()) throw NotFoundException("Buffer is empty"); - BufferedPacket p = *m_list.begin(); - m_list.erase(m_list.begin()); + BufferedPacket p = std::move(m_list.front()); + m_list.pop_front(); if (m_list.empty()) { m_oldest_non_answered_ack = 0; } else { m_oldest_non_answered_ack = - readU16(&m_list.begin()->data[BASE_HEADER_SIZE + 1]); + readU16(&m_list.front().data[BASE_HEADER_SIZE + 1]); } return p; } @@ -241,15 +236,7 @@ BufferedPacket ReliablePacketBuffer::popSeqnum(u16 seqnum) << " not found in reliable buffer"<data[BASE_HEADER_SIZE+1])); - m_oldest_non_answered_ack = s; - } + BufferedPacket p = std::move(*r); m_list.erase(r); @@ -257,12 +244,12 @@ BufferedPacket ReliablePacketBuffer::popSeqnum(u16 seqnum) m_oldest_non_answered_ack = 0; } else { m_oldest_non_answered_ack = - readU16(&m_list.begin()->data[BASE_HEADER_SIZE + 1]); + readU16(&m_list.front().data[BASE_HEADER_SIZE + 1]); } return p; } -void ReliablePacketBuffer::insert(BufferedPacket &p, u16 next_expected) +void ReliablePacketBuffer::insert(const BufferedPacket &p, u16 next_expected) { MutexAutoLock listlock(m_list_mutex); if (p.data.getSize() < BASE_HEADER_SIZE + 3) { @@ -355,7 +342,7 @@ void ReliablePacketBuffer::insert(BufferedPacket &p, u16 next_expected) } /* update last packet number */ - m_oldest_non_answered_ack = readU16(&(*m_list.begin()).data[BASE_HEADER_SIZE+1]); + m_oldest_non_answered_ack = readU16(&m_list.front().data[BASE_HEADER_SIZE+1]); } void ReliablePacketBuffer::incrementTimeouts(float dtime) @@ -367,17 +354,19 @@ void ReliablePacketBuffer::incrementTimeouts(float dtime) } } -std::list ReliablePacketBuffer::getTimedOuts(float timeout, - unsigned int max_packets) +std::list + ReliablePacketBuffer::getTimedOuts(float timeout, u32 max_packets) { MutexAutoLock listlock(m_list_mutex); std::list timed_outs; for (BufferedPacket &bufferedPacket : m_list) { if (bufferedPacket.time >= timeout) { + // caller will resend packet so reset time and increase counter + bufferedPacket.time = 0.0f; + bufferedPacket.resend_count++; + timed_outs.push_back(bufferedPacket); - //this packet will be sent right afterwards reset timeout here - bufferedPacket.time = 0.0f; if (timed_outs.size() >= max_packets) break; } @@ -1051,20 +1040,20 @@ bool UDPPeer::processReliableSendCommand( m_connection->GetProtocolID(), m_connection->GetPeerID(), c.channelnum); - toadd.push(p); + toadd.push(std::move(p)); } if (have_sequence_number) { volatile u16 pcount = 0; while (!toadd.empty()) { - BufferedPacket p = toadd.front(); + BufferedPacket p = std::move(toadd.front()); toadd.pop(); // LOG(dout_con<getDesc() // << " queuing reliable packet for peer_id: " << c.peer_id // << " channel: " << (c.channelnum&0xFF) // << " seqnum: " << readU16(&p.data[BASE_HEADER_SIZE+1]) // << std::endl) - chan.queued_reliables.push(p); + chan.queued_reliables.push(std::move(p)); pcount++; } sanity_check(chan.queued_reliables.size() < 0xFFFF); @@ -1208,12 +1197,19 @@ Connection::~Connection() } /* Internal stuff */ -void Connection::putEvent(ConnectionEvent &e) + +void Connection::putEvent(const ConnectionEvent &e) { assert(e.type != CONNEVENT_NONE); // Pre-condition m_event_queue.push_back(e); } +void Connection::putEvent(ConnectionEvent &&e) +{ + assert(e.type != CONNEVENT_NONE); // Pre-condition + m_event_queue.push_back(std::move(e)); +} + void Connection::TriggerSend() { m_sendThread->Trigger(); @@ -1299,7 +1295,7 @@ ConnectionEvent Connection::waitEvent(u32 timeout_ms) } } -void Connection::putCommand(ConnectionCommand &c) +void Connection::putCommand(const ConnectionCommand &c) { if (!m_shutting_down) { m_command_queue.push_back(c); @@ -1307,6 +1303,14 @@ void Connection::putCommand(ConnectionCommand &c) } } +void Connection::putCommand(ConnectionCommand &&c) +{ + if (!m_shutting_down) { + m_command_queue.push_back(std::move(c)); + m_sendThread->Trigger(); + } +} + void Connection::Serve(Address bind_addr) { ConnectionCommand c; @@ -1408,7 +1412,7 @@ void Connection::Send(session_t peer_id, u8 channelnum, ConnectionCommand c; c.send(peer_id, channelnum, pkt, reliable); - putCommand(c); + putCommand(std::move(c)); } Address Connection::GetPeerAddress(session_t peer_id) @@ -1508,12 +1512,12 @@ u16 Connection::createPeer(Address& sender, MTProtocols protocol, int fd) << "createPeer(): giving peer_id=" << peer_id_new << std::endl); ConnectionCommand cmd; - SharedBuffer reply(4); + Buffer reply(4); writeU8(&reply[0], PACKET_TYPE_CONTROL); writeU8(&reply[1], CONTROLTYPE_SET_PEER_ID); writeU16(&reply[2], peer_id_new); cmd.createPeer(peer_id_new,reply); - putCommand(cmd); + putCommand(std::move(cmd)); // Create peer addition event ConnectionEvent e; @@ -1560,7 +1564,7 @@ void Connection::sendAck(session_t peer_id, u8 channelnum, u16 seqnum) writeU16(&ack[2], seqnum); c.ack(peer_id, channelnum, ack); - putCommand(c); + putCommand(std::move(c)); m_sendThread->Trigger(); } diff --git a/src/network/connection.h b/src/network/connection.h index 24cd4fe4a..49bb65c3e 100644 --- a/src/network/connection.h +++ b/src/network/connection.h @@ -19,7 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #pragma once -#include "irrlichttypes_bloated.h" +#include "irrlichttypes.h" #include "peerhandler.h" #include "socket.h" #include "constants.h" @@ -29,7 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/numeric.h" #include "networkprotocol.h" #include -#include #include #include @@ -242,20 +241,19 @@ public: BufferedPacket popFirst(); BufferedPacket popSeqnum(u16 seqnum); - void insert(BufferedPacket &p, u16 next_expected); + void insert(const BufferedPacket &p, u16 next_expected); void incrementTimeouts(float dtime); - std::list getTimedOuts(float timeout, - unsigned int max_packets); + std::list getTimedOuts(float timeout, u32 max_packets); void print(); bool empty(); - RPBSearchResult notFound(); u32 size(); private: RPBSearchResult findPacket(u16 seqnum); // does not perform locking + inline RPBSearchResult notFound() { return m_list.end(); } std::list m_list; @@ -329,18 +327,6 @@ struct ConnectionCommand bool raw = false; ConnectionCommand() = default; - ConnectionCommand &operator=(const ConnectionCommand &other) - { - type = other.type; - address = other.address; - peer_id = other.peer_id; - channelnum = other.channelnum; - // We must copy the buffer here to prevent race condition - data = SharedBuffer(*other.data, other.data.getSize()); - reliable = other.reliable; - raw = other.raw; - return *this; - } void serve(Address address_) { @@ -364,7 +350,7 @@ struct ConnectionCommand void send(session_t peer_id_, u8 channelnum_, NetworkPacket *pkt, bool reliable_); - void ack(session_t peer_id_, u8 channelnum_, const SharedBuffer &data_) + void ack(session_t peer_id_, u8 channelnum_, const Buffer &data_) { type = CONCMD_ACK; peer_id = peer_id_; @@ -373,7 +359,7 @@ struct ConnectionCommand reliable = false; } - void createPeer(session_t peer_id_, const SharedBuffer &data_) + void createPeer(session_t peer_id_, const Buffer &data_) { type = CONCMD_CREATE_PEER; peer_id = peer_id_; @@ -707,7 +693,7 @@ struct ConnectionEvent ConnectionEvent() = default; - std::string describe() + const char *describe() const { switch(type) { case CONNEVENT_NONE: @@ -724,7 +710,7 @@ struct ConnectionEvent return "Invalid ConnectionEvent"; } - void dataReceived(session_t peer_id_, const SharedBuffer &data_) + void dataReceived(session_t peer_id_, const Buffer &data_) { type = CONNEVENT_DATA_RECEIVED; peer_id = peer_id_; @@ -763,7 +749,9 @@ public: /* Interface */ ConnectionEvent waitEvent(u32 timeout_ms); - void putCommand(ConnectionCommand &c); + // Warning: creates an unnecessary copy, prefer putCommand(T&&) if possible + void putCommand(const ConnectionCommand &c); + void putCommand(ConnectionCommand &&c); void SetTimeoutMs(u32 timeout) { m_bc_receive_timeout = timeout; } void Serve(Address bind_addr); @@ -802,11 +790,14 @@ protected: } UDPSocket m_udpSocket; + // Command queue: user -> SendThread MutexedQueue m_command_queue; bool Receive(NetworkPacket *pkt, u32 timeout); - void putEvent(ConnectionEvent &e); + // Warning: creates an unnecessary copy, prefer putEvent(T&&) if possible + void putEvent(const ConnectionEvent &e); + void putEvent(ConnectionEvent &&e); void TriggerSend(); @@ -815,6 +806,7 @@ protected: return getPeerNoEx(PEER_ID_SERVER) != nullptr; } private: + // Event queue: ReceiveThread -> user MutexedQueue m_event_queue; session_t m_peer_id = 0; diff --git a/src/network/connectionthreads.cpp b/src/network/connectionthreads.cpp index 7b62bc792..47678dac5 100644 --- a/src/network/connectionthreads.cpp +++ b/src/network/connectionthreads.cpp @@ -174,6 +174,11 @@ void ConnectionSendThread::runTimeouts(float dtime) std::vector timeouted_peers; std::vector peerIds = m_connection->getPeerIDs(); + const u32 numpeers = m_connection->m_peers.size(); + + if (numpeers == 0) + return; + for (session_t &peerId : peerIds) { PeerHelper peer = m_connection->getPeerNoEx(peerId); @@ -209,7 +214,6 @@ void ConnectionSendThread::runTimeouts(float dtime) float resend_timeout = udpPeer->getResendTimeout(); bool retry_count_exceeded = false; for (Channel &channel : udpPeer->channels) { - std::list timed_outs; // Remove timed out incomplete unreliable split packets channel.incoming_splits.removeUnreliableTimedOuts(dtime, m_timeout); @@ -217,13 +221,8 @@ void ConnectionSendThread::runTimeouts(float dtime) // Increment reliable packet times channel.outgoing_reliables_sent.incrementTimeouts(dtime); - unsigned int numpeers = m_connection->m_peers.size(); - - if (numpeers == 0) - return; - // Re-send timed out outgoing reliables - timed_outs = channel.outgoing_reliables_sent.getTimedOuts(resend_timeout, + auto timed_outs = channel.outgoing_reliables_sent.getTimedOuts(resend_timeout, (m_max_data_packets_per_iteration / numpeers)); channel.UpdatePacketLossCounter(timed_outs.size()); @@ -231,16 +230,14 @@ void ConnectionSendThread::runTimeouts(float dtime) m_iteration_packets_avaialble -= timed_outs.size(); - for (std::list::iterator k = timed_outs.begin(); - k != timed_outs.end(); ++k) { - session_t peer_id = readPeerId(*(k->data)); - u8 channelnum = readChannel(*(k->data)); - u16 seqnum = readU16(&(k->data[BASE_HEADER_SIZE + 1])); + for (const auto &k : timed_outs) { + session_t peer_id = readPeerId(*k.data); + u8 channelnum = readChannel(*k.data); + u16 seqnum = readU16(&(k.data[BASE_HEADER_SIZE + 1])); - channel.UpdateBytesLost(k->data.getSize()); - k->resend_count++; + channel.UpdateBytesLost(k.data.getSize()); - if (k->resend_count > MAX_RELIABLE_RETRY) { + if (k.resend_count > MAX_RELIABLE_RETRY) { retry_count_exceeded = true; timeouted_peers.push_back(peer->id); /* no need to check additional packets if a single one did timeout*/ @@ -249,14 +246,14 @@ void ConnectionSendThread::runTimeouts(float dtime) LOG(derr_con << m_connection->getDesc() << "RE-SENDING timed-out RELIABLE to " - << k->address.serializeString() + << k.address.serializeString() << "(t/o=" << resend_timeout << "): " << "from_peer_id=" << peer_id << ", channel=" << ((int) channelnum & 0xff) << ", seqnum=" << seqnum << std::endl); - rawSend(*k); + rawSend(k); // do not handle rtt here as we can't decide if this packet was // lost or really takes more time to transmit @@ -375,7 +372,7 @@ bool ConnectionSendThread::rawSendAsPacket(session_t peer_id, u8 channelnum, << " INFO: queueing reliable packet for peer_id: " << peer_id << " channel: " << (u32)channelnum << " seqnum: " << seqnum << std::endl); - channel->queued_reliables.push(p); + channel->queued_reliables.push(std::move(p)); return false; } @@ -717,13 +714,15 @@ void ConnectionSendThread::sendPackets(float dtime) channel.outgoing_reliables_sent.size() < channel.getWindowSize() && peer->m_increment_packets_remaining > 0) { - BufferedPacket p = channel.queued_reliables.front(); + BufferedPacket p = std::move(channel.queued_reliables.front()); channel.queued_reliables.pop(); + LOG(dout_con << m_connection->getDesc() << " INFO: sending a queued reliable packet " << " channel: " << i << ", seqnum: " << readU16(&p.data[BASE_HEADER_SIZE + 1]) << std::endl); + sendAsPacketReliable(p, &channel); peer->m_increment_packets_remaining--; } @@ -911,7 +910,7 @@ void ConnectionReceiveThread::receive(SharedBuffer &packetdata, if (data_left) { ConnectionEvent e; e.dataReceived(peer_id, resultdata); - m_connection->putEvent(e); + m_connection->putEvent(std::move(e)); } } catch (ProcessedSilentlyException &e) { @@ -1022,7 +1021,7 @@ void ConnectionReceiveThread::receive(SharedBuffer &packetdata, ConnectionEvent e; e.dataReceived(peer_id, resultdata); - m_connection->putEvent(e); + m_connection->putEvent(std::move(e)); } catch (ProcessedSilentlyException &e) { } diff --git a/src/network/networkpacket.cpp b/src/network/networkpacket.cpp index a71e26572..6b8b0f703 100644 --- a/src/network/networkpacket.cpp +++ b/src/network/networkpacket.cpp @@ -549,14 +549,11 @@ NetworkPacket& NetworkPacket::operator<<(video::SColor src) return *this; } -SharedBuffer NetworkPacket::oldForgePacket() +Buffer NetworkPacket::oldForgePacket() { - SharedBuffer sb(m_datasize + 2); + Buffer sb(m_datasize + 2); writeU16(&sb[0], m_command); + memcpy(&sb[2], m_data.data(), m_datasize); - u8* datas = getU8Ptr(0); - - if (datas != NULL) - memcpy(&sb[2], datas, m_datasize); return sb; } diff --git a/src/network/networkpacket.h b/src/network/networkpacket.h index c7ff03b8e..b1c44f055 100644 --- a/src/network/networkpacket.h +++ b/src/network/networkpacket.h @@ -115,7 +115,8 @@ public: NetworkPacket &operator<<(video::SColor src); // Temp, we remove SharedBuffer when migration finished - SharedBuffer oldForgePacket(); + // ^ this comment has been here for 4 years + Buffer oldForgePacket(); private: void checkReadOffset(u32 from_offset, u32 field_size); diff --git a/src/unittest/test_connection.cpp b/src/unittest/test_connection.cpp index c3aacc536..23b7e9105 100644 --- a/src/unittest/test_connection.cpp +++ b/src/unittest/test_connection.cpp @@ -88,7 +88,7 @@ void TestConnection::testNetworkPacketSerialize() }; if (sizeof(wchar_t) == 2) - warningstream << __func__ << " may fail on this platform." << std::endl; + warningstream << __FUNCTION__ << " may fail on this platform." << std::endl; { NetworkPacket pkt(123, 0); @@ -96,7 +96,7 @@ void TestConnection::testNetworkPacketSerialize() // serializing wide strings should do surrogate encoding, we test that here pkt << std::wstring(L"\U00020b9a"); - SharedBuffer buf = pkt.oldForgePacket(); + auto buf = pkt.oldForgePacket(); UASSERTEQ(int, buf.getSize(), sizeof(expected)); UASSERT(!memcmp(expected, &buf[0], buf.getSize())); } @@ -280,7 +280,7 @@ void TestConnection::testConnectSendReceive() NetworkPacket pkt; pkt.putRawPacket((u8*) "Hello World !", 14, 0); - SharedBuffer sentdata = pkt.oldForgePacket(); + auto sentdata = pkt.oldForgePacket(); infostream<<"** running client.Send()"< sentdata = pkt.oldForgePacket(); + auto sentdata = pkt.oldForgePacket(); server.Send(peer_id_client, 0, &pkt, true); //sleep_ms(3000); - SharedBuffer recvdata; + Buffer recvdata; infostream << "** running client.Receive()" << std::endl; session_t peer_id = 132; u16 size = 0; diff --git a/src/util/container.h b/src/util/container.h index 2ad2bbfc7..ea8c27bf8 100644 --- a/src/util/container.h +++ b/src/util/container.h @@ -143,6 +143,13 @@ public: m_signal.post(); } + void push_back(T &&t) + { + MutexAutoLock lock(m_mutex); + m_queue.push_back(std::move(t)); + m_signal.post(); + } + /* this version of pop_front returns a empty element of T on timeout. * Make sure default constructor of T creates a recognizable "empty" element */ diff --git a/src/util/pointer.h b/src/util/pointer.h index d29ec8739..7fc5de551 100644 --- a/src/util/pointer.h +++ b/src/util/pointer.h @@ -51,6 +51,19 @@ public: else data = NULL; } + Buffer(Buffer &&buffer) + { + m_size = buffer.m_size; + if(m_size != 0) + { + data = buffer.data; + buffer.data = nullptr; + buffer.m_size = 0; + } + else + data = nullptr; + } + // Copies whole buffer Buffer(const T *t, unsigned int size) { m_size = size; @@ -62,10 +75,12 @@ public: else data = NULL; } + ~Buffer() { drop(); } + Buffer& operator=(const Buffer &buffer) { if(this == &buffer) @@ -81,6 +96,23 @@ public: data = NULL; return *this; } + Buffer& operator=(Buffer &&buffer) + { + if(this == &buffer) + return *this; + drop(); + m_size = buffer.m_size; + if(m_size != 0) + { + data = buffer.data; + buffer.data = nullptr; + buffer.m_size = 0; + } + else + data = nullptr; + return *this; + } + T & operator[](unsigned int i) const { return data[i]; @@ -89,10 +121,12 @@ public: { return data; } + unsigned int getSize() const { return m_size; } + private: void drop() { From c3f7905d82e5b1201d81378dedde746caf0e2451 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sun, 10 Oct 2021 21:10:52 +0200 Subject: [PATCH 169/279] Remove broken timeout behaviour Code that relies on `resend_count` was added in 7ea4a03 and 247a1eb, but never worked. This was fixed in #11607 which caused the problem to surface. Hence undo the first commit entirely and change the logic of the second. --- src/network/connectionthreads.cpp | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/src/network/connectionthreads.cpp b/src/network/connectionthreads.cpp index 47678dac5..a306ced9b 100644 --- a/src/network/connectionthreads.cpp +++ b/src/network/connectionthreads.cpp @@ -48,9 +48,6 @@ std::mutex log_conthread_mutex; #undef DEBUG_CONNECTION_KBPS #endif -/* maximum number of retries for reliable packets */ -#define MAX_RELIABLE_RETRY 5 - #define WINDOW_SIZE 5 static session_t readPeerId(u8 *packetdata) @@ -212,7 +209,6 @@ void ConnectionSendThread::runTimeouts(float dtime) } float resend_timeout = udpPeer->getResendTimeout(); - bool retry_count_exceeded = false; for (Channel &channel : udpPeer->channels) { // Remove timed out incomplete unreliable split packets @@ -231,24 +227,16 @@ void ConnectionSendThread::runTimeouts(float dtime) m_iteration_packets_avaialble -= timed_outs.size(); for (const auto &k : timed_outs) { - session_t peer_id = readPeerId(*k.data); u8 channelnum = readChannel(*k.data); u16 seqnum = readU16(&(k.data[BASE_HEADER_SIZE + 1])); channel.UpdateBytesLost(k.data.getSize()); - if (k.resend_count > MAX_RELIABLE_RETRY) { - retry_count_exceeded = true; - timeouted_peers.push_back(peer->id); - /* no need to check additional packets if a single one did timeout*/ - break; - } - LOG(derr_con << m_connection->getDesc() << "RE-SENDING timed-out RELIABLE to " << k.address.serializeString() << "(t/o=" << resend_timeout << "): " - << "from_peer_id=" << peer_id + << "count=" << k.resend_count << ", channel=" << ((int) channelnum & 0xff) << ", seqnum=" << seqnum << std::endl); @@ -259,17 +247,9 @@ void ConnectionSendThread::runTimeouts(float dtime) // lost or really takes more time to transmit } - if (retry_count_exceeded) { - break; /* no need to check other channels if we already did timeout */ - } - channel.UpdateTimers(dtime); } - /* skip to next peer if we did timeout */ - if (retry_count_exceeded) - continue; - /* send ping if necessary */ if (udpPeer->Ping(dtime, data)) { LOG(dout_con << m_connection->getDesc() @@ -1153,8 +1133,8 @@ SharedBuffer ConnectionReceiveThread::handlePacketType_Control(Channel *chan try { BufferedPacket p = channel->outgoing_reliables_sent.popSeqnum(seqnum); - // only calculate rtt from straight sent packets - if (p.resend_count == 0) { + // the rtt calculation will be a bit off for re-sent packets but that's okay + { // Get round trip time u64 current_time = porting::getTimeMs(); @@ -1174,6 +1154,7 @@ SharedBuffer ConnectionReceiveThread::handlePacketType_Control(Channel *chan dynamic_cast(peer)->reportRTT(rtt); } } + // put bytes for max bandwidth calculation channel->UpdateBytesSent(p.data.getSize(), 1); if (channel->outgoing_reliables_sent.size() == 0) From 83e26f839d28c5d9aa75aeab7d924fcaad445007 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 5 Apr 2021 13:38:31 +0200 Subject: [PATCH 170/279] Reserve vectors before pushing and other code quality changes (#11161) --- src/client/clientmap.cpp | 9 +++++---- src/client/clouds.cpp | 2 +- src/client/hud.cpp | 16 ++++++++-------- src/client/sky.cpp | 26 +++++++++++++------------- src/client/sky.h | 22 +++++++++++----------- src/clientiface.cpp | 1 - src/gui/guiButtonItemImage.cpp | 4 ++-- src/gui/guiButtonItemImage.h | 6 +++--- src/inventory.cpp | 7 ++++--- src/nodedef.cpp | 4 ++-- src/nodedef.h | 2 +- src/nodemetadata.cpp | 16 +++++++--------- src/pathfinder.cpp | 2 +- src/settings.cpp | 5 +++-- src/util/areastore.cpp | 9 ++++----- src/util/container.h | 23 ++++++++++------------- src/util/enriched_string.cpp | 10 +++------- src/util/enriched_string.h | 34 +++++++++++++++++++++------------- src/voxelalgorithms.cpp | 14 ++++++-------- src/voxelalgorithms.h | 2 +- 20 files changed, 106 insertions(+), 108 deletions(-) diff --git a/src/client/clientmap.cpp b/src/client/clientmap.cpp index b9e0cc2ce..8e02fea63 100644 --- a/src/client/clientmap.cpp +++ b/src/client/clientmap.cpp @@ -496,12 +496,12 @@ int ClientMap::getBackgroundBrightness(float max_d, u32 daylight_factor, static v3f z_directions[50] = { v3f(-100, 0, 0) }; - static f32 z_offsets[sizeof(z_directions)/sizeof(*z_directions)] = { + static f32 z_offsets[50] = { -1000, }; - if(z_directions[0].X < -99){ - for(u32 i=0; i 35*BS) sunlight_min_d = 35*BS; std::vector values; - for(u32 i=0; i a; a.buildRotateFromTo(v3f(0,1,0), z_dir); diff --git a/src/client/clouds.cpp b/src/client/clouds.cpp index 253dee8b9..5a075aaf0 100644 --- a/src/client/clouds.cpp +++ b/src/client/clouds.cpp @@ -170,7 +170,7 @@ void Clouds::render() // Read noise - std::vector grid(m_cloud_radius_i * 2 * m_cloud_radius_i * 2); // vector is broken + std::vector grid(m_cloud_radius_i * 2 * m_cloud_radius_i * 2); std::vector vertices; vertices.reserve(16 * m_cloud_radius_i * m_cloud_radius_i); diff --git a/src/client/hud.cpp b/src/client/hud.cpp index 46736b325..3de116c06 100644 --- a/src/client/hud.cpp +++ b/src/client/hud.cpp @@ -336,22 +336,22 @@ void Hud::drawLuaElements(const v3s16 &camera_offset) irr::gui::IGUIFont* font = g_fontengine->getFont(); // Reorder elements by z_index - std::vector ids; + std::vector elems; + elems.reserve(player->maxHudId()); for (size_t i = 0; i != player->maxHudId(); i++) { HudElement *e = player->getHud(i); if (!e) continue; - auto it = ids.begin(); - while (it != ids.end() && player->getHud(*it)->z_index <= e->z_index) + auto it = elems.begin(); + while (it != elems.end() && (*it)->z_index <= e->z_index) ++it; - ids.insert(it, i); + elems.insert(it, e); } - for (size_t i : ids) { - HudElement *e = player->getHud(i); + for (HudElement *e : elems) { v2s32 pos(floor(e->pos.X * (float) m_screensize.X + 0.5), floor(e->pos.Y * (float) m_screensize.Y + 0.5)); @@ -522,8 +522,8 @@ void Hud::drawLuaElements(const v3s16 &camera_offset) client->getMinimap()->drawMinimap(rect); break; } default: - infostream << "Hud::drawLuaElements: ignoring drawform " << e->type << - " of hud element ID " << i << " due to unrecognized type" << std::endl; + infostream << "Hud::drawLuaElements: ignoring drawform " << e->type + << " due to unrecognized type" << std::endl; } } } diff --git a/src/client/sky.cpp b/src/client/sky.cpp index 3a40321dd..2512a0e23 100644 --- a/src/client/sky.cpp +++ b/src/client/sky.cpp @@ -81,13 +81,13 @@ Sky::Sky(s32 id, ITextureSource *tsrc, IShaderSource *ssrc) : // Ensures that sun and moon textures and tonemaps are correct. setSkyDefaults(); m_sun_texture = tsrc->isKnownSourceImage(m_sun_params.texture) ? - tsrc->getTextureForMesh(m_sun_params.texture) : NULL; + tsrc->getTextureForMesh(m_sun_params.texture) : nullptr; m_moon_texture = tsrc->isKnownSourceImage(m_moon_params.texture) ? - tsrc->getTextureForMesh(m_moon_params.texture) : NULL; + tsrc->getTextureForMesh(m_moon_params.texture) : nullptr; m_sun_tonemap = tsrc->isKnownSourceImage(m_sun_params.tonemap) ? - tsrc->getTexture(m_sun_params.tonemap) : NULL; + tsrc->getTexture(m_sun_params.tonemap) : nullptr; m_moon_tonemap = tsrc->isKnownSourceImage(m_moon_params.tonemap) ? - tsrc->getTexture(m_moon_params.tonemap) : NULL; + tsrc->getTexture(m_moon_params.tonemap) : nullptr; if (m_sun_texture) { m_materials[3] = baseMaterial(); @@ -743,14 +743,14 @@ void Sky::place_sky_body( } } -void Sky::setSunTexture(std::string sun_texture, - std::string sun_tonemap, ITextureSource *tsrc) +void Sky::setSunTexture(const std::string &sun_texture, + const std::string &sun_tonemap, ITextureSource *tsrc) { // Ignore matching textures (with modifiers) entirely, // but lets at least update the tonemap before hand. m_sun_params.tonemap = sun_tonemap; m_sun_tonemap = tsrc->isKnownSourceImage(m_sun_params.tonemap) ? - tsrc->getTexture(m_sun_params.tonemap) : NULL; + tsrc->getTexture(m_sun_params.tonemap) : nullptr; m_materials[3].Lighting = !!m_sun_tonemap; if (m_sun_params.texture == sun_texture) @@ -779,7 +779,7 @@ void Sky::setSunTexture(std::string sun_texture, } } -void Sky::setSunriseTexture(std::string sunglow_texture, +void Sky::setSunriseTexture(const std::string &sunglow_texture, ITextureSource* tsrc) { // Ignore matching textures (with modifiers) entirely. @@ -791,14 +791,14 @@ void Sky::setSunriseTexture(std::string sunglow_texture, ); } -void Sky::setMoonTexture(std::string moon_texture, - std::string moon_tonemap, ITextureSource *tsrc) +void Sky::setMoonTexture(const std::string &moon_texture, + const std::string &moon_tonemap, ITextureSource *tsrc) { // Ignore matching textures (with modifiers) entirely, // but lets at least update the tonemap before hand. m_moon_params.tonemap = moon_tonemap; m_moon_tonemap = tsrc->isKnownSourceImage(m_moon_params.tonemap) ? - tsrc->getTexture(m_moon_params.tonemap) : NULL; + tsrc->getTexture(m_moon_params.tonemap) : nullptr; m_materials[4].Lighting = !!m_moon_tonemap; if (m_moon_params.texture == moon_texture) @@ -892,7 +892,7 @@ void Sky::setSkyColors(const SkyColor &sky_color) } void Sky::setHorizonTint(video::SColor sun_tint, video::SColor moon_tint, - std::string use_sun_tint) + const std::string &use_sun_tint) { // Change sun and moon tinting: m_sky_params.fog_sun_tint = sun_tint; @@ -906,7 +906,7 @@ void Sky::setHorizonTint(video::SColor sun_tint, video::SColor moon_tint, m_default_tint = true; } -void Sky::addTextureToSkybox(std::string texture, int material_id, +void Sky::addTextureToSkybox(const std::string &texture, int material_id, ITextureSource *tsrc) { // Sanity check for more than six textures. diff --git a/src/client/sky.h b/src/client/sky.h index 342a97596..dc7da5021 100644 --- a/src/client/sky.h +++ b/src/client/sky.h @@ -65,15 +65,15 @@ public: } void setSunVisible(bool sun_visible) { m_sun_params.visible = sun_visible; } - void setSunTexture(std::string sun_texture, - std::string sun_tonemap, ITextureSource *tsrc); + void setSunTexture(const std::string &sun_texture, + const std::string &sun_tonemap, ITextureSource *tsrc); void setSunScale(f32 sun_scale) { m_sun_params.scale = sun_scale; } void setSunriseVisible(bool glow_visible) { m_sun_params.sunrise_visible = glow_visible; } - void setSunriseTexture(std::string sunglow_texture, ITextureSource* tsrc); + void setSunriseTexture(const std::string &sunglow_texture, ITextureSource* tsrc); void setMoonVisible(bool moon_visible) { m_moon_params.visible = moon_visible; } - void setMoonTexture(std::string moon_texture, - std::string moon_tonemap, ITextureSource *tsrc); + void setMoonTexture(const std::string &moon_texture, + const std::string &moon_tonemap, ITextureSource *tsrc); void setMoonScale(f32 moon_scale) { m_moon_params.scale = moon_scale; } void setStarsVisible(bool stars_visible) { m_star_params.visible = stars_visible; } @@ -87,21 +87,21 @@ public: void setVisible(bool visible) { m_visible = visible; } // Set only from set_sky API void setCloudsEnabled(bool clouds_enabled) { m_clouds_enabled = clouds_enabled; } - void setFallbackBgColor(const video::SColor &fallback_bg_color) + void setFallbackBgColor(video::SColor fallback_bg_color) { m_fallback_bg_color = fallback_bg_color; } - void overrideColors(const video::SColor &bgcolor, const video::SColor &skycolor) + void overrideColors(video::SColor bgcolor, video::SColor skycolor) { m_bgcolor = bgcolor; m_skycolor = skycolor; } void setSkyColors(const SkyColor &sky_color); void setHorizonTint(video::SColor sun_tint, video::SColor moon_tint, - std::string use_sun_tint); + const std::string &use_sun_tint); void setInClouds(bool clouds) { m_in_clouds = clouds; } void clearSkyboxTextures() { m_sky_params.textures.clear(); } - void addTextureToSkybox(std::string texture, int material_id, + void addTextureToSkybox(const std::string &texture, int material_id, ITextureSource *tsrc); const video::SColorf &getCurrentStarColor() const { return m_star_color; } @@ -126,7 +126,7 @@ private: } // Mix two colors by a given amount - video::SColor m_mix_scolor(video::SColor col1, video::SColor col2, f32 factor) + static video::SColor m_mix_scolor(video::SColor col1, video::SColor col2, f32 factor) { video::SColor result = video::SColor( col1.getAlpha() * (1 - factor) + col2.getAlpha() * factor, @@ -135,7 +135,7 @@ private: col1.getBlue() * (1 - factor) + col2.getBlue() * factor); return result; } - video::SColorf m_mix_scolorf(video::SColorf col1, video::SColorf col2, f32 factor) + static video::SColorf m_mix_scolorf(video::SColorf col1, video::SColorf col2, f32 factor) { video::SColorf result = video::SColorf(col1.r * (1 - factor) + col2.r * factor, diff --git a/src/clientiface.cpp b/src/clientiface.cpp index 797afd3c1..f35dcd0eb 100644 --- a/src/clientiface.cpp +++ b/src/clientiface.cpp @@ -671,7 +671,6 @@ void ClientInterface::UpdatePlayerList() std::vector clients = getClientIDs(); m_clients_names.clear(); - if (!clients.empty()) infostream<<"Players:"< rectangle, - ISimpleTextureSource *tsrc, std::string item, Client *client, + ISimpleTextureSource *tsrc, const std::string &item, Client *client, bool noclip) : GUIButton (environment, parent, id, rectangle, tsrc, noclip) { @@ -44,7 +44,7 @@ GUIButtonItemImage::GUIButtonItemImage(gui::IGUIEnvironment *environment, GUIButtonItemImage *GUIButtonItemImage::addButton(IGUIEnvironment *environment, const core::rect &rectangle, ISimpleTextureSource *tsrc, - IGUIElement *parent, s32 id, const wchar_t *text, std::string item, + IGUIElement *parent, s32 id, const wchar_t *text, const std::string &item, Client *client) { GUIButtonItemImage *button = new GUIButtonItemImage(environment, diff --git a/src/gui/guiButtonItemImage.h b/src/gui/guiButtonItemImage.h index b90ac757e..205e957a7 100644 --- a/src/gui/guiButtonItemImage.h +++ b/src/gui/guiButtonItemImage.h @@ -33,13 +33,13 @@ public: //! constructor GUIButtonItemImage(gui::IGUIEnvironment *environment, gui::IGUIElement *parent, s32 id, core::rect rectangle, ISimpleTextureSource *tsrc, - std::string item, Client *client, bool noclip = false); + const std::string &item, Client *client, bool noclip = false); //! Do not drop returned handle static GUIButtonItemImage *addButton(gui::IGUIEnvironment *environment, const core::rect &rectangle, ISimpleTextureSource *tsrc, - IGUIElement *parent, s32 id, const wchar_t *text, std::string item, - Client *client); + IGUIElement *parent, s32 id, const wchar_t *text, + const std::string &item, Client *client); private: Client *m_client; diff --git a/src/inventory.cpp b/src/inventory.cpp index 1ef9b13cd..fc1aaf371 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -965,13 +965,14 @@ InventoryList * Inventory::getList(const std::string &name) { s32 i = getListIndex(name); if(i == -1) - return NULL; + return nullptr; return m_lists[i]; } std::vector Inventory::getLists() { std::vector lists; + lists.reserve(m_lists.size()); for (auto list : m_lists) { lists.push_back(list); } @@ -990,11 +991,11 @@ bool Inventory::deleteList(const std::string &name) return true; } -const InventoryList * Inventory::getList(const std::string &name) const +const InventoryList *Inventory::getList(const std::string &name) const { s32 i = getListIndex(name); if(i == -1) - return NULL; + return nullptr; return m_lists[i]; } diff --git a/src/nodedef.cpp b/src/nodedef.cpp index 57d4c008f..a3b6b18c1 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -1543,10 +1543,10 @@ void NodeDefManager::deSerialize(std::istream &is) } -void NodeDefManager::addNameIdMapping(content_t i, std::string name) +void NodeDefManager::addNameIdMapping(content_t i, const std::string &name) { m_name_id_mapping.set(i, name); - m_name_id_mapping_with_aliases.insert(std::make_pair(name, i)); + m_name_id_mapping_with_aliases.emplace(name, i); } diff --git a/src/nodedef.h b/src/nodedef.h index 6fc20518d..7da0e0d07 100644 --- a/src/nodedef.h +++ b/src/nodedef.h @@ -720,7 +720,7 @@ private: * @param i a content ID * @param name a node name */ - void addNameIdMapping(content_t i, std::string name); + void addNameIdMapping(content_t i, const std::string &name); /*! * Removes a content ID from all groups. diff --git a/src/nodemetadata.cpp b/src/nodemetadata.cpp index 6447c8785..f98732385 100644 --- a/src/nodemetadata.cpp +++ b/src/nodemetadata.cpp @@ -206,10 +206,9 @@ NodeMetadataList::~NodeMetadataList() std::vector NodeMetadataList::getAllKeys() { std::vector keys; - - NodeMetadataMap::const_iterator it; - for (it = m_data.begin(); it != m_data.end(); ++it) - keys.push_back(it->first); + keys.reserve(m_data.size()); + for (const auto &it : m_data) + keys.push_back(it.first); return keys; } @@ -218,7 +217,7 @@ NodeMetadata *NodeMetadataList::get(v3s16 p) { NodeMetadataMap::const_iterator n = m_data.find(p); if (n == m_data.end()) - return NULL; + return nullptr; return n->second; } @@ -235,7 +234,7 @@ void NodeMetadataList::remove(v3s16 p) void NodeMetadataList::set(v3s16 p, NodeMetadata *d) { remove(p); - m_data.insert(std::make_pair(p, d)); + m_data.emplace(p, d); } void NodeMetadataList::clear() @@ -251,9 +250,8 @@ void NodeMetadataList::clear() int NodeMetadataList::countNonEmpty() const { int n = 0; - NodeMetadataMap::const_iterator it; - for (it = m_data.begin(); it != m_data.end(); ++it) { - if (!it->second->empty()) + for (const auto &it : m_data) { + if (!it.second->empty()) n++; } return n; diff --git a/src/pathfinder.cpp b/src/pathfinder.cpp index 1cb84997a..c45ce9158 100644 --- a/src/pathfinder.cpp +++ b/src/pathfinder.cpp @@ -1428,7 +1428,7 @@ std::string Pathfinder::dirToName(PathDirections dir) } /******************************************************************************/ -void Pathfinder::printPath(std::vector path) +void Pathfinder::printPath(const std::vector &path) { unsigned int current = 0; for (std::vector::iterator i = path.begin(); diff --git a/src/settings.cpp b/src/settings.cpp index 3415ff818..cff393e5f 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -43,11 +43,11 @@ std::unordered_map Settings::s_flags; Settings *Settings::createLayer(SettingsLayer sl, const std::string &end_tag) { if ((int)sl < 0 || sl >= SL_TOTAL_COUNT) - throw new BaseException("Invalid settings layer"); + throw BaseException("Invalid settings layer"); Settings *&pos = s_layers[(size_t)sl]; if (pos) - throw new BaseException("Setting layer " + std::to_string(sl) + " already exists"); + throw BaseException("Setting layer " + std::to_string(sl) + " already exists"); pos = new Settings(end_tag); pos->m_settingslayer = sl; @@ -638,6 +638,7 @@ std::vector Settings::getNames() const MutexAutoLock lock(m_mutex); std::vector names; + names.reserve(m_settings.size()); for (const auto &settings_it : m_settings) { names.push_back(settings_it.first); } diff --git a/src/util/areastore.cpp b/src/util/areastore.cpp index cea526336..67bfef0c0 100644 --- a/src/util/areastore.cpp +++ b/src/util/areastore.cpp @@ -96,16 +96,15 @@ void AreaStore::deserialize(std::istream &is) u16 num_areas = readU16(is); std::vector areas; + areas.reserve(num_areas); for (u32 i = 0; i < num_areas; ++i) { Area a(U32_MAX); a.minedge = readV3S16(is); a.maxedge = readV3S16(is); u16 data_len = readU16(is); - char *data = new char[data_len]; - is.read(data, data_len); - a.data = std::string(data, data_len); - areas.emplace_back(a); - delete [] data; + a.data = std::string(data_len, '\0'); + is.read(&a.data[0], data_len); + areas.emplace_back(std::move(a)); } bool read_ids = is.good(); // EOF for old formats diff --git a/src/util/container.h b/src/util/container.h index ea8c27bf8..001066563 100644 --- a/src/util/container.h +++ b/src/util/container.h @@ -90,8 +90,7 @@ public: bool get(const Key &name, Value *result) const { MutexAutoLock lock(m_mutex); - typename std::map::const_iterator n = - m_values.find(name); + auto n = m_values.find(name); if (n == m_values.end()) return false; if (result) @@ -103,11 +102,9 @@ public: { MutexAutoLock lock(m_mutex); std::vector result; - for (typename std::map::const_iterator - it = m_values.begin(); - it != m_values.end(); ++it){ + result.reserve(m_values.size()); + for (auto it = m_values.begin(); it != m_values.end(); ++it) result.push_back(it->second); - } return result; } @@ -136,7 +133,7 @@ public: return m_queue.empty(); } - void push_back(T t) + void push_back(const T &t) { MutexAutoLock lock(m_mutex); m_queue.push_back(t); @@ -158,7 +155,7 @@ public: if (m_signal.wait(wait_time_max_ms)) { MutexAutoLock lock(m_mutex); - T t = m_queue.front(); + T t = std::move(m_queue.front()); m_queue.pop_front(); return t; } @@ -171,7 +168,7 @@ public: if (m_signal.wait(wait_time_max_ms)) { MutexAutoLock lock(m_mutex); - T t = m_queue.front(); + T t = std::move(m_queue.front()); m_queue.pop_front(); return t; } @@ -185,7 +182,7 @@ public: MutexAutoLock lock(m_mutex); - T t = m_queue.front(); + T t = std::move(m_queue.front()); m_queue.pop_front(); return t; } @@ -195,7 +192,7 @@ public: if (m_signal.wait(wait_time_max_ms)) { MutexAutoLock lock(m_mutex); - T t = m_queue.back(); + T t = std::move(m_queue.back()); m_queue.pop_back(); return t; } @@ -211,7 +208,7 @@ public: if (m_signal.wait(wait_time_max_ms)) { MutexAutoLock lock(m_mutex); - T t = m_queue.back(); + T t = std::move(m_queue.back()); m_queue.pop_back(); return t; } @@ -225,7 +222,7 @@ public: MutexAutoLock lock(m_mutex); - T t = m_queue.back(); + T t = std::move(m_queue.back()); m_queue.pop_back(); return t; } diff --git a/src/util/enriched_string.cpp b/src/util/enriched_string.cpp index 762d094eb..b1f95215e 100644 --- a/src/util/enriched_string.cpp +++ b/src/util/enriched_string.cpp @@ -65,12 +65,14 @@ void EnrichedString::operator=(const wchar_t *str) addAtEnd(translate_string(std::wstring(str)), m_default_color); } -void EnrichedString::addAtEnd(const std::wstring &s, const SColor &initial_color) +void EnrichedString::addAtEnd(const std::wstring &s, SColor initial_color) { SColor color(initial_color); bool use_default = (m_default_length == m_string.size() && color == m_default_color); + m_colors.reserve(m_colors.size() + s.size()); + size_t i = 0; while (i < s.length()) { if (s[i] != L'\x1b') { @@ -200,12 +202,6 @@ const std::wstring &EnrichedString::getString() const return m_string; } -void EnrichedString::setDefaultColor(const irr::video::SColor &color) -{ - m_default_color = color; - updateDefaultColor(); -} - void EnrichedString::updateDefaultColor() { sanity_check(m_default_length <= m_colors.size()); diff --git a/src/util/enriched_string.h b/src/util/enriched_string.h index c8a095887..16a0eef74 100644 --- a/src/util/enriched_string.h +++ b/src/util/enriched_string.h @@ -23,18 +23,22 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include +using namespace irr; + class EnrichedString { public: EnrichedString(); EnrichedString(const std::wstring &s, - const irr::video::SColor &color = irr::video::SColor(255, 255, 255, 255)); + const video::SColor &color = video::SColor(255, 255, 255, 255)); EnrichedString(const wchar_t *str, - const irr::video::SColor &color = irr::video::SColor(255, 255, 255, 255)); + const video::SColor &color = video::SColor(255, 255, 255, 255)); EnrichedString(const std::wstring &string, - const std::vector &colors); - void clear(); + const std::vector &colors); void operator=(const wchar_t *str); - void addAtEnd(const std::wstring &s, const irr::video::SColor &color); + + void clear(); + + void addAtEnd(const std::wstring &s, video::SColor color); // Adds the character source[i] at the end. // An EnrichedString should always be able to be copied @@ -49,12 +53,16 @@ public: EnrichedString operator+(const EnrichedString &other) const; void operator+=(const EnrichedString &other); const wchar_t *c_str() const; - const std::vector &getColors() const; + const std::vector &getColors() const; const std::wstring &getString() const; - void setDefaultColor(const irr::video::SColor &color); + inline void setDefaultColor(video::SColor color) + { + m_default_color = color; + updateDefaultColor(); + } void updateDefaultColor(); - inline const irr::video::SColor &getDefaultColor() const + inline const video::SColor &getDefaultColor() const { return m_default_color; } @@ -80,11 +88,11 @@ public: { return m_has_background; } - inline irr::video::SColor getBackground() const + inline video::SColor getBackground() const { return m_background; } - inline void setBackground(const irr::video::SColor &color) + inline void setBackground(video::SColor color) { m_background = color; m_has_background = true; @@ -92,10 +100,10 @@ public: private: std::wstring m_string; - std::vector m_colors; + std::vector m_colors; bool m_has_background; - irr::video::SColor m_default_color; - irr::video::SColor m_background; + video::SColor m_default_color; + video::SColor m_background; // This variable defines the length of the default-colored text. // Change this to a std::vector if an "end coloring" tag is wanted. size_t m_default_length = 0; diff --git a/src/voxelalgorithms.cpp b/src/voxelalgorithms.cpp index 62fd68890..ffb70aa71 100644 --- a/src/voxelalgorithms.cpp +++ b/src/voxelalgorithms.cpp @@ -65,7 +65,7 @@ struct ChangingLight { ChangingLight() = default; - ChangingLight(const relative_v3 &rel_pos, const mapblock_v3 &block_pos, + ChangingLight(relative_v3 rel_pos, mapblock_v3 block_pos, MapBlock *b, direction source_dir) : rel_position(rel_pos), block_position(block_pos), @@ -125,8 +125,8 @@ struct LightQueue { * The parameters are the same as in ChangingLight's constructor. * \param light light level of the ChangingLight */ - inline void push(u8 light, const relative_v3 &rel_pos, - const mapblock_v3 &block_pos, MapBlock *block, + inline void push(u8 light, relative_v3 rel_pos, + mapblock_v3 block_pos, MapBlock *block, direction source_dir) { assert(light <= LIGHT_SUN); @@ -467,7 +467,7 @@ bool is_sunlight_above(Map *map, v3s16 pos, const NodeDefManager *ndef) static const LightBank banks[] = { LIGHTBANK_DAY, LIGHTBANK_NIGHT }; void update_lighting_nodes(Map *map, - std::vector > &oldnodes, + const std::vector> &oldnodes, std::map &modified_blocks) { const NodeDefManager *ndef = map->getNodeDefManager(); @@ -482,8 +482,7 @@ void update_lighting_nodes(Map *map, // won't change, since they didn't get their light from a // modified node. u8 min_safe_light = 0; - for (std::vector >::iterator it = - oldnodes.begin(); it < oldnodes.end(); ++it) { + for (auto it = oldnodes.cbegin(); it < oldnodes.cend(); ++it) { u8 old_light = it->second.getLight(bank, ndef); if (old_light > min_safe_light) { min_safe_light = old_light; @@ -495,8 +494,7 @@ void update_lighting_nodes(Map *map, min_safe_light++; } // For each changed node process sunlight and initialize - for (std::vector >::iterator it = - oldnodes.begin(); it < oldnodes.end(); ++it) { + for (auto it = oldnodes.cbegin(); it < oldnodes.cend(); ++it) { // Get position and block of the changed node v3s16 p = it->first; relative_v3 rel_pos; diff --git a/src/voxelalgorithms.h b/src/voxelalgorithms.h index 1452f30f4..bcbd3b586 100644 --- a/src/voxelalgorithms.h +++ b/src/voxelalgorithms.h @@ -45,7 +45,7 @@ namespace voxalgo */ void update_lighting_nodes( Map *map, - std::vector > &oldnodes, + const std::vector> &oldnodes, std::map &modified_blocks); /*! From 8271c6481f84718fef6cdb1a91de415bfee6d96d Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Tue, 19 Oct 2021 19:43:41 +0100 Subject: [PATCH 171/279] Fix manifest and various things --- android/app/src/main/AndroidManifest.xml | 2 + android/build.gradle | 2 +- build/android/native/jni/Android.mk | 219 ----------------------- 3 files changed, 3 insertions(+), 220 deletions(-) delete mode 100644 build/android/native/jni/Android.mk diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index fa93e7069..314a38b5c 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -19,6 +19,8 @@ android:label="@string/label" android:requestLegacyExternalStorage="true" android:resizeableActivity="false" + android:hasFragileUserData="true" + android:isGame="true" tools:ignore="UnusedAttribute"> Date: Fri, 22 Oct 2021 23:06:51 +0100 Subject: [PATCH 172/279] Bump version to 5.4.2 --- CMakeLists.txt | 2 +- android/build.gradle | 4 ++-- misc/net.minetest.minetest.appdata.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index aef40e8c7..5629cbe70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ set(CLANG_MINIMUM_VERSION "3.4") # Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing set(VERSION_MAJOR 5) set(VERSION_MINOR 4) -set(VERSION_PATCH 1) +set(VERSION_PATCH 2) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases diff --git a/android/build.gradle b/android/build.gradle index 4d5cbbf99..b3118af21 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,9 +2,9 @@ project.ext.set("versionMajor", 5) // Version Major project.ext.set("versionMinor", 4) // Version Minor -project.ext.set("versionPatch", 1) // Version Patch +project.ext.set("versionPatch", 2) // Version Patch project.ext.set("versionExtra", "") // Version Extra -project.ext.set("versionCode", 34) // Android Version Code +project.ext.set("versionCode", 36) // Android Version Code // NOTE: +2 after each release! // +1 for ARM and +1 for ARM64 APK's, because // each APK must have a larger `versionCode` than the previous diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml index ade4c2421..02e1139c2 100644 --- a/misc/net.minetest.minetest.appdata.xml +++ b/misc/net.minetest.minetest.appdata.xml @@ -62,6 +62,6 @@ minetest sfan5@live.de - + From 3afffcd36b2e23a2301e3dbcfdee30bd27fbf5e7 Mon Sep 17 00:00:00 2001 From: Lars Mueller Date: Fri, 28 Jan 2022 17:50:51 +0100 Subject: [PATCH 173/279] Fix builtin statbar backgrounds see #12000 --- builtin/game/statbars.lua | 68 +++++++++++++++++++-------------------- src/client/hud.cpp | 7 ++-- 2 files changed, 37 insertions(+), 38 deletions(-) diff --git a/builtin/game/statbars.lua b/builtin/game/statbars.lua index db5087a16..cb7ff7b76 100644 --- a/builtin/game/statbars.lua +++ b/builtin/game/statbars.lua @@ -1,39 +1,39 @@ -- cache setting local enable_damage = core.settings:get_bool("enable_damage") -local health_bar_definition = { - hud_elem_type = "statbar", - position = {x = 0.5, y = 1}, - text = "heart.png", - text2 = "heart_gone.png", - number = core.PLAYER_MAX_HP_DEFAULT, - item = core.PLAYER_MAX_HP_DEFAULT, - direction = 0, - size = {x = 24, y = 24}, - offset = {x = (-10 * 24) - 25, y = -(48 + 24 + 16)}, -} - -local breath_bar_definition = { - hud_elem_type = "statbar", - position = {x = 0.5, y = 1}, - text = "bubble.png", - text2 = "bubble_gone.png", - number = core.PLAYER_MAX_BREATH_DEFAULT, - item = core.PLAYER_MAX_BREATH_DEFAULT * 2, - direction = 0, - size = {x = 24, y = 24}, - offset = {x = 25, y= -(48 + 24 + 16)}, +local bar_definitions = { + hp = { + hud_elem_type = "statbar", + position = {x = 0.5, y = 1}, + text = "heart.png", + text2 = "heart_gone.png", + number = core.PLAYER_MAX_HP_DEFAULT, + item = core.PLAYER_MAX_HP_DEFAULT, + direction = 0, + size = {x = 24, y = 24}, + offset = {x = (-10 * 24) - 25, y = -(48 + 24 + 16)}, + }, + breath = { + hud_elem_type = "statbar", + position = {x = 0.5, y = 1}, + text = "bubble.png", + text2 = "bubble_gone.png", + number = core.PLAYER_MAX_BREATH_DEFAULT * 2, + item = core.PLAYER_MAX_BREATH_DEFAULT * 2, + direction = 0, + size = {x = 24, y = 24}, + offset = {x = 25, y= -(48 + 24 + 16)}, + }, } local hud_ids = {} -local function scaleToDefault(player, field) - -- Scale "hp" or "breath" to the default dimensions +local function scaleToHudMax(player, field) + -- Scale "hp" or "breath" to the hud maximum dimensions local current = player["get_" .. field](player) - local nominal = core["PLAYER_MAX_" .. field:upper() .. "_DEFAULT"] - local max_display = math.max(nominal, - math.max(player:get_properties()[field .. "_max"], current)) - return current / max_display * nominal + local nominal = bar_definitions[field].item + local max_display = math.max(player:get_properties()[field .. "_max"], current) + return math.ceil(current / max_display * nominal) end local function update_builtin_statbars(player) @@ -55,9 +55,9 @@ local function update_builtin_statbars(player) local immortal = player:get_armor_groups().immortal == 1 if flags.healthbar and enable_damage and not immortal then - local number = scaleToDefault(player, "hp") + local number = scaleToHudMax(player, "hp") if hud.id_healthbar == nil then - local hud_def = table.copy(health_bar_definition) + local hud_def = table.copy(bar_definitions.hp) hud_def.number = number hud.id_healthbar = player:hud_add(hud_def) else @@ -73,9 +73,9 @@ local function update_builtin_statbars(player) local breath = player:get_breath() local breath_max = player:get_properties().breath_max if show_breathbar and breath <= breath_max then - local number = 2 * scaleToDefault(player, "breath") + local number = scaleToHudMax(player, "breath") if not hud.id_breathbar and breath < breath_max then - local hud_def = table.copy(breath_bar_definition) + local hud_def = table.copy(bar_definitions.breath) hud_def.number = number hud.id_breathbar = player:hud_add(hud_def) elseif hud.id_breathbar then @@ -145,7 +145,7 @@ function core.hud_replace_builtin(hud_name, definition) end if hud_name == "health" then - health_bar_definition = definition + bar_definitions.hp = definition for name, ids in pairs(hud_ids) do local player = core.get_player_by_name(name) @@ -159,7 +159,7 @@ function core.hud_replace_builtin(hud_name, definition) end if hud_name == "breath" then - breath_bar_definition = definition + bar_definitions.breath = definition for name, ids in pairs(hud_ids) do local player = core.get_player_by_name(name) diff --git a/src/client/hud.cpp b/src/client/hud.cpp index 6011a8cff..259a18ab9 100644 --- a/src/client/hud.cpp +++ b/src/client/hud.cpp @@ -676,7 +676,7 @@ void Hud::drawStatbar(v2s32 pos, u16 corner, u16 drawdir, // Rectangles for 1/2 the "off state" texture core::rect srchalfrect2, dsthalfrect2; - if (count % 2 == 1) { + if (count % 2 == 1 || maxcount % 2 == 1) { // Need to draw halves: Calculate rectangles srchalfrect = calculate_clipping_rect(srcd, steppos); dsthalfrect = calculate_clipping_rect(dstd, steppos); @@ -711,7 +711,7 @@ void Hud::drawStatbar(v2s32 pos, u16 corner, u16 drawdir, } } - if (stat_texture_bg && maxcount > count / 2) { + if (stat_texture_bg && maxcount > count) { // Draw "off state" textures s32 start_offset; if (count % 2 == 1) @@ -731,8 +731,7 @@ void Hud::drawStatbar(v2s32 pos, u16 corner, u16 drawdir, if (maxcount % 2 == 1) { draw2DImageFilterScaled(driver, stat_texture_bg, - dsthalfrect + p, srchalfrect, - NULL, colors, true); + dsthalfrect + p, srchalfrect, NULL, colors, true); } } } From 26d0c0fd8d06fcb3d2cdf4efadfcf993772a8e87 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 4 Feb 2022 20:29:28 +0100 Subject: [PATCH 174/279] Fix broken server startup if curl is disabled (#12046) --- src/script/lua_api/l_http.cpp | 35 +++++++++++++++++++++-------------- src/script/lua_api/l_http.h | 7 ++++--- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/script/lua_api/l_http.cpp b/src/script/lua_api/l_http.cpp index bd359b3cc..5566a8523 100644 --- a/src/script/lua_api/l_http.cpp +++ b/src/script/lua_api/l_http.cpp @@ -162,20 +162,6 @@ int ModApiHttp::l_http_fetch_async_get(lua_State *L) return 1; } -int ModApiHttp::l_set_http_api_lua(lua_State *L) -{ - NO_MAP_LOCK_REQUIRED; - - // This is called by builtin to give us a function that will later - // populate the http_api table with additional method(s). - // We need this because access to the HTTP api is security-relevant and - // any mod could just mess with a global variable. - luaL_checktype(L, 1, LUA_TFUNCTION); - lua_rawseti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_HTTP_API_LUA); - - return 0; -} - int ModApiHttp::l_request_http_api(lua_State *L) { NO_MAP_LOCK_REQUIRED; @@ -215,6 +201,22 @@ int ModApiHttp::l_get_http_api(lua_State *L) #endif +int ModApiHttp::l_set_http_api_lua(lua_State *L) +{ + NO_MAP_LOCK_REQUIRED; + +#if USE_CURL + // This is called by builtin to give us a function that will later + // populate the http_api table with additional method(s). + // We need this because access to the HTTP api is security-relevant and + // any mod could just mess with a global variable. + luaL_checktype(L, 1, LUA_TFUNCTION); + lua_rawseti(L, LUA_REGISTRYINDEX, CUSTOM_RIDX_HTTP_API_LUA); +#endif + + return 0; +} + void ModApiHttp::Initialize(lua_State *L, int top) { #if USE_CURL @@ -231,6 +233,11 @@ void ModApiHttp::Initialize(lua_State *L, int top) API_FCT(set_http_api_lua); } +#else + + // Define this function anyway so builtin can call it without checking + API_FCT(set_http_api_lua); + #endif } diff --git a/src/script/lua_api/l_http.h b/src/script/lua_api/l_http.h index 17fa283ba..8d084ecd9 100644 --- a/src/script/lua_api/l_http.h +++ b/src/script/lua_api/l_http.h @@ -41,9 +41,6 @@ private: // http_fetch_async_get(handle) static int l_http_fetch_async_get(lua_State *L); - // set_http_api_lua() [internal] - static int l_set_http_api_lua(lua_State *L); - // request_http_api() static int l_request_http_api(lua_State *L); @@ -51,6 +48,10 @@ private: static int l_get_http_api(lua_State *L); #endif + // set_http_api_lua() [internal] + static int l_set_http_api_lua(lua_State *L); + + public: static void Initialize(lua_State *L, int top); static void InitializeAsync(lua_State *L, int top); From 25373ad294398b752ad0ef4a52a5585a0b957f0b Mon Sep 17 00:00:00 2001 From: sfan5 Date: Thu, 3 Feb 2022 21:35:08 +0100 Subject: [PATCH 175/279] Remove awful Mingw32 workarounds Instead a warning is triggered if an affected compiler is detected. closes #12022 --- src/main.cpp | 8 ++++++++ src/script/common/c_converter.cpp | 8 -------- src/serialization.cpp | 28 ++-------------------------- 3 files changed, 10 insertions(+), 34 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ca95ef874..5ea212d8a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -65,6 +65,14 @@ extern "C" { #error Minetest cannot be built without exceptions or RTTI #endif +#if defined(__MINGW32__) && !defined(__MINGW64__) && !defined(__clang__) && \ + (__GNUC__ < 11 || (__GNUC__ == 11 && __GNUC_MINOR__ < 1)) +// see e.g. https://github.com/minetest/minetest/issues/10137 +#warning ================================== +#warning 32-bit MinGW gcc before 11.1 has known issues with crashes on thread exit, you should upgrade. +#warning ================================== +#endif + #define DEBUGFILE "debug.txt" #define DEFAULT_SERVER_PORT 30000 diff --git a/src/script/common/c_converter.cpp b/src/script/common/c_converter.cpp index 19734b913..7898b197d 100644 --- a/src/script/common/c_converter.cpp +++ b/src/script/common/c_converter.cpp @@ -479,17 +479,9 @@ size_t read_stringlist(lua_State *L, int index, std::vector *result Table field getters */ -#if defined(__MINGW32__) && !defined(__MINGW64__) -/* MinGW 32-bit somehow crashes in the std::set destructor when this - * variable is thread-local, so just don't do that. */ -static std::set warned_msgs; -#endif - bool check_field_or_nil(lua_State *L, int index, int type, const char *fieldname) { -#if !defined(__MINGW32__) || defined(__MINGW64__) thread_local std::set warned_msgs; -#endif int t = lua_type(L, index); if (t == LUA_TNIL) diff --git a/src/serialization.cpp b/src/serialization.cpp index d4d7b5f6e..d3009bc83 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -208,30 +208,11 @@ struct ZSTD_Deleter { } }; -#if defined(__MINGW32__) && !defined(__MINGW64__) -/* - * This is exactly as dumb as it looks. - * Yes, this is a memory leak. No, we don't have better solution right now. - */ -template class leaky_ptr -{ - T *value; -public: - leaky_ptr(T *value) : value(value) {}; - T *get() { return value; } -}; -#endif - void compressZstd(const u8 *data, size_t data_size, std::ostream &os, int level) { -#if defined(__MINGW32__) && !defined(__MINGW64__) - // leaks one context per thread but doesn't crash :shrug: - thread_local leaky_ptr stream(ZSTD_createCStream()); -#else // reusing the context is recommended for performance - // it will destroyed when the thread ends + // it will be destroyed when the thread ends thread_local std::unique_ptr stream(ZSTD_createCStream()); -#endif ZSTD_initCStream(stream.get(), level); @@ -276,14 +257,9 @@ void compressZstd(const std::string &data, std::ostream &os, int level) void decompressZstd(std::istream &is, std::ostream &os) { -#if defined(__MINGW32__) && !defined(__MINGW64__) - // leaks one context per thread but doesn't crash :shrug: - thread_local leaky_ptr stream(ZSTD_createDStream()); -#else // reusing the context is recommended for performance - // it will destroyed when the thread ends + // it will be destroyed when the thread ends thread_local std::unique_ptr stream(ZSTD_createDStream()); -#endif ZSTD_initDStream(stream.get()); From 62ad2c3bc1dd3a1a70d9eefbe2fac8fcbe426a1b Mon Sep 17 00:00:00 2001 From: pecksin <78765996+pecksin@users.noreply.github.com> Date: Wed, 16 Feb 2022 17:06:00 -0500 Subject: [PATCH 176/279] Use absolute value for bouncy in collision (#11969) [backport: removed devtest change and protocol_version comparison] --- src/collision.cpp | 3 ++- src/nodedef.cpp | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/collision.cpp b/src/collision.cpp index d85a56884..ccc3a058d 100644 --- a/src/collision.cpp +++ b/src/collision.cpp @@ -303,7 +303,8 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef, if (!f.walkable) continue; - int n_bouncy_value = itemgroup_get(f.groups, "bouncy"); + // Negative bouncy may have a meaning, but we need +value here. + int n_bouncy_value = abs(itemgroup_get(f.groups, "bouncy")); int neighbors = 0; if (f.drawtype == NDT_NODEBOX && diff --git a/src/nodedef.cpp b/src/nodedef.cpp index 8a5542837..1dd130ece 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -452,7 +452,12 @@ void ContentFeatures::serialize(std::ostream &os, u16 protocol_version) const writeU16(os, groups.size()); for (const auto &group : groups) { os << serializeString16(group.first); - writeS16(os, group.second); + if (group.first.compare("bouncy") == 0) { + // Clients may choke on negative bouncy value + writeS16(os, abs(group.second)); + } else { + writeS16(os, group.second); + } } writeU8(os, param_type); writeU8(os, param_type_2); From 23d49fda294b84b263f4ebb5c3b900ee17468f9e Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 14 Feb 2022 21:01:42 +0100 Subject: [PATCH 177/279] Clean up ClientReady packet handling fixes #12073 --- src/network/serverpackethandler.cpp | 62 +++++++++++++---------------- src/remoteplayer.h | 4 +- src/server.cpp | 19 ++++----- 3 files changed, 38 insertions(+), 47 deletions(-) diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index 12dc24460..d8b49da09 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -380,55 +380,47 @@ void Server::handleCommand_ClientReady(NetworkPacket* pkt) { session_t peer_id = pkt->getPeerId(); - PlayerSAO* playersao = StageTwoClientInit(peer_id); + // decode all information first + u8 major_ver, minor_ver, patch_ver, reserved; + u16 formspec_ver = 1; // v1 for clients older than 5.1.0-dev + std::string full_ver; - if (playersao == NULL) { - errorstream << "TOSERVER_CLIENT_READY stage 2 client init failed " + *pkt >> major_ver >> minor_ver >> patch_ver >> reserved >> full_ver; + if (pkt->getRemainingBytes() >= 2) + *pkt >> formspec_ver; + + m_clients.setClientVersion(peer_id, major_ver, minor_ver, patch_ver, + full_ver); + + // Emerge player + PlayerSAO* playersao = StageTwoClientInit(peer_id); + if (!playersao) { + errorstream << "Server: stage 2 client init failed " "peer_id=" << peer_id << std::endl; DisconnectPeer(peer_id); return; } - - if (pkt->getSize() < 8) { - errorstream << "TOSERVER_CLIENT_READY client sent inconsistent data, " - "disconnecting peer_id: " << peer_id << std::endl; - DisconnectPeer(peer_id); - return; - } - - u8 major_ver, minor_ver, patch_ver, reserved; - std::string full_ver; - *pkt >> major_ver >> minor_ver >> patch_ver >> reserved >> full_ver; - - m_clients.setClientVersion(peer_id, major_ver, minor_ver, patch_ver, - full_ver); - - if (pkt->getRemainingBytes() >= 2) - *pkt >> playersao->getPlayer()->formspec_version; - - const std::vector &players = m_clients.getPlayerNames(); - NetworkPacket list_pkt(TOCLIENT_UPDATE_PLAYER_LIST, 0, peer_id); - list_pkt << (u8) PLAYER_LIST_INIT << (u16) players.size(); - for (const std::string &player: players) { - list_pkt << player; - } - m_clients.send(peer_id, 0, &list_pkt, true); - - NetworkPacket notice_pkt(TOCLIENT_UPDATE_PLAYER_LIST, 0, PEER_ID_INEXISTENT); - // (u16) 1 + std::string represents a pseudo vector serialization representation - notice_pkt << (u8) PLAYER_LIST_ADD << (u16) 1 << std::string(playersao->getPlayer()->getName()); - m_clients.sendToAll(¬ice_pkt); + playersao->getPlayer()->formspec_version = formspec_ver; m_clients.event(peer_id, CSE_SetClientReady); + // Send player list to this client + { + const std::vector &players = m_clients.getPlayerNames(); + NetworkPacket list_pkt(TOCLIENT_UPDATE_PLAYER_LIST, 0, peer_id); + list_pkt << (u8) PLAYER_LIST_INIT << (u16) players.size(); + for (const auto &player : players) + list_pkt << player; + Send(peer_id, &list_pkt); + } + s64 last_login; m_script->getAuth(playersao->getPlayer()->getName(), nullptr, nullptr, &last_login); m_script->on_joinplayer(playersao, last_login); // Send shutdown timer if shutdown has been scheduled - if (m_shutdown_state.isTimerRunning()) { + if (m_shutdown_state.isTimerRunning()) SendChatMessage(peer_id, m_shutdown_state.getShutdownTimerMessage()); - } } void Server::handleCommand_GotBlocks(NetworkPacket* pkt) diff --git a/src/remoteplayer.h b/src/remoteplayer.h index c8991480b..e33630841 100644 --- a/src/remoteplayer.h +++ b/src/remoteplayer.h @@ -128,9 +128,7 @@ public: void setDirty(bool dirty) { m_dirty = true; } u16 protocol_version = 0; - - // v1 for clients older than 5.1.0-dev - u16 formspec_version = 1; + u16 formspec_version = 0; session_t getPeerId() const { return m_peer_id; } diff --git a/src/server.cpp b/src/server.cpp index 23a7dc5a0..b3fb037b5 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -1106,20 +1106,21 @@ PlayerSAO* Server::StageTwoClientInit(session_t peer_id) SendPlayerBreath(playersao); /* - Print out action + Update player list and print action */ { - Address addr = getPeerAddress(player->getPeerId()); - std::string ip_str = addr.serializeString(); - const std::vector &names = m_clients.getPlayerNames(); + NetworkPacket notice_pkt(TOCLIENT_UPDATE_PLAYER_LIST, 0, PEER_ID_INEXISTENT); + notice_pkt << (u8) PLAYER_LIST_ADD << (u16) 1 << std::string(player->getName()); + m_clients.sendToAll(¬ice_pkt); + } + { + std::string ip_str = getPeerAddress(player->getPeerId()).serializeString(); + const auto &names = m_clients.getPlayerNames(); actionstream << player->getName() << " [" << ip_str << "] joins game. List of players: "; - - for (const std::string &name : names) { + for (const std::string &name : names) actionstream << name << " "; - } - - actionstream << player->getName() <getName() << std::endl; } return playersao; } From d569dc45a8f572059937d236ef54130ba6ff635b Mon Sep 17 00:00:00 2001 From: sfan5 Date: Wed, 2 Mar 2022 17:46:27 +0100 Subject: [PATCH 178/279] Fix segfault with autoscale_mode (again) closes #12100 This time add some asserts so there is no misunderstanding about the NULL-ness of layer->texture. --- src/nodedef.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/nodedef.cpp b/src/nodedef.cpp index 1dd130ece..4bbc90845 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -675,7 +675,7 @@ static void fillTileAttribs(ITextureSource *tsrc, TileLayer *layer, bool has_scale = tiledef.scale > 0; bool use_autoscale = tsettings.autoscale_mode == AUTOSCALE_FORCE || (tsettings.autoscale_mode == AUTOSCALE_ENABLE && !has_scale); - if (use_autoscale) { + if (use_autoscale && layer->texture) { auto texture_size = layer->texture->getOriginalSize(); float base_size = tsettings.node_texture_size; float size = std::fmin(texture_size.Width, texture_size.Height); @@ -711,6 +711,7 @@ static void fillTileAttribs(ITextureSource *tsrc, TileLayer *layer, // Animation parameters int frame_count = 1; if (layer->material_flags & MATERIAL_FLAG_ANIMATION) { + assert(layer->texture); int frame_length_ms; tiledef.animation.determineParams(layer->texture->getOriginalSize(), &frame_count, &frame_length_ms, NULL); @@ -721,14 +722,13 @@ static void fillTileAttribs(ITextureSource *tsrc, TileLayer *layer, if (frame_count == 1) { layer->material_flags &= ~MATERIAL_FLAG_ANIMATION; } else { - std::ostringstream os(std::ios::binary); - if (!layer->frames) { + assert(layer->texture); + if (!layer->frames) layer->frames = new std::vector(); - } layer->frames->resize(frame_count); + std::ostringstream os(std::ios::binary); for (int i = 0; i < frame_count; i++) { - FrameSpec frame; os.str(""); From 4b81ae1b3590ba9159113605254e073c1efddf12 Mon Sep 17 00:00:00 2001 From: Daroc Alden Date: Wed, 9 Mar 2022 13:28:12 -0500 Subject: [PATCH 179/279] Fix memory leak from SpatialAreaStore (#12120) --- src/util/areastore.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/util/areastore.cpp b/src/util/areastore.cpp index 67bfef0c0..bf751476f 100644 --- a/src/util/areastore.cpp +++ b/src/util/areastore.cpp @@ -308,6 +308,7 @@ void SpatialAreaStore::getAreasInArea(std::vector *result, SpatialAreaStore::~SpatialAreaStore() { delete m_tree; + delete m_storagemanager; } SpatialAreaStore::SpatialAreaStore() From 6e6cdc834fc2bf6192092d7a29aea72b760fa930 Mon Sep 17 00:00:00 2001 From: Daroc Alden Date: Fri, 11 Mar 2022 15:22:49 -0500 Subject: [PATCH 180/279] Fix undefined behavior in TileLayer (#12125) Initialize the values properly --- src/client/tile.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/client/tile.h b/src/client/tile.h index fcdc46460..fe96cef58 100644 --- a/src/client/tile.h +++ b/src/client/tile.h @@ -195,6 +195,7 @@ struct TileLayer texture_id == other.texture_id && material_type == other.material_type && material_flags == other.material_flags && + has_color == other.has_color && color == other.color && scale == other.scale; } @@ -288,9 +289,9 @@ struct TileLayer * The color of the tile, or if the tile does not own * a color then the color of the node owning this tile. */ - video::SColor color; + video::SColor color = video::SColor(0, 0, 0, 0); - u8 scale; + u8 scale = 1; }; /*! From b4f0e834bf7f0b40eae3924d2e1ac8bfed023659 Mon Sep 17 00:00:00 2001 From: Gregor Parzefall <82708541+grorp@users.noreply.github.com> Date: Mon, 14 Mar 2022 21:01:18 +0100 Subject: [PATCH 181/279] Fix footsteps for players whose collision box min y != 0 (#12110) --- src/client/localplayer.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/client/localplayer.cpp b/src/client/localplayer.cpp index 4f1ea7bda..279efafe9 100644 --- a/src/client/localplayer.cpp +++ b/src/client/localplayer.cpp @@ -672,19 +672,21 @@ v3s16 LocalPlayer::getStandingNodePos() v3s16 LocalPlayer::getFootstepNodePos() { + v3f feet_pos = getPosition() + v3f(0.0f, m_collisionbox.MinEdge.Y, 0.0f); + // Emit swimming sound if the player is in liquid if (in_liquid_stable) - return floatToInt(getPosition(), BS); + return floatToInt(feet_pos, BS); // BS * 0.05 below the player's feet ensures a 1/16th height // nodebox is detected instead of the node below it. if (touching_ground) - return floatToInt(getPosition() - v3f(0.0f, BS * 0.05f, 0.0f), BS); + return floatToInt(feet_pos - v3f(0.0f, BS * 0.05f, 0.0f), BS); // A larger distance below is necessary for a footstep sound // when landing after a jump or fall. BS * 0.5 ensures water // sounds when swimming in 1 node deep water. - return floatToInt(getPosition() - v3f(0.0f, BS * 0.5f, 0.0f), BS); + return floatToInt(feet_pos - v3f(0.0f, BS * 0.5f, 0.0f), BS); } v3s16 LocalPlayer::getLightPosition() const From ac139ec03deb67613e37ee53cc6fdf33a00b583b Mon Sep 17 00:00:00 2001 From: Daroc Alden Date: Mon, 14 Mar 2022 16:01:36 -0400 Subject: [PATCH 182/279] Fix memory leak in EmergeManager EmergeManager keeps a copy of the BiomeGen that it creates, but never deletes it. --- src/emerge.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/emerge.cpp b/src/emerge.cpp index 55ae99caf..3760b24e6 100644 --- a/src/emerge.cpp +++ b/src/emerge.cpp @@ -202,6 +202,7 @@ EmergeManager::~EmergeManager() delete m_mapgens[i]; } + delete biomegen; delete biomemgr; delete oremgr; delete decomgr; From cc9147730836c7b3d8047fad00662ca13b0b93ea Mon Sep 17 00:00:00 2001 From: Dmitry Kostenko Date: Fri, 1 Apr 2022 01:01:44 +0200 Subject: [PATCH 183/279] Avoid negation of comparison operator (luacheck warning) --- builtin/game/chat.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/game/chat.lua b/builtin/game/chat.lua index b73e32876..493bb92c0 100644 --- a/builtin/game/chat.lua +++ b/builtin/game/chat.lua @@ -1282,7 +1282,7 @@ local function handle_kill_command(killer, victim) return false, S("@1 is already dead.", victim) end end - if not killer == victim then + if killer ~= victim then core.log("action", string.format("%s killed %s", killer, victim)) end -- Kill victim From d945d0129c812084bc6db878c6ead76b1483fa3b Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Sat, 29 Jan 2022 22:50:43 -0500 Subject: [PATCH 184/279] Fix OOB read in trim("") --- src/util/string.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/string.h b/src/util/string.h index 8a9e83f22..d73540ceb 100644 --- a/src/util/string.h +++ b/src/util/string.h @@ -295,11 +295,11 @@ inline std::string lowercase(const std::string &str) inline std::string trim(const std::string &str) { size_t front = 0; + size_t back = str.size(); - while (std::isspace(str[front])) + while (front < back && std::isspace(str[front])) ++front; - size_t back = str.size(); while (back > front && std::isspace(str[back - 1])) --back; From 439701ed7a55fe5ddfe996c8f397e88d54af2b36 Mon Sep 17 00:00:00 2001 From: paradust7 <102263465+paradust7@users.noreply.github.com> Date: Sat, 16 Apr 2022 09:50:59 -0700 Subject: [PATCH 185/279] Fix '[combine' when EVDF_TEXTURE_NPOT is disabled. (#12187) Stop scaling images to POT immediately when loaded. The 'combine' modifier hardcodes X and Y coordinates, and so behaves incorrectly if applied to a scaled image. Images emitted by generateImage() are already scaled to POT before being used as a texture, so nothing should break. --- src/client/tile.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/client/tile.cpp b/src/client/tile.cpp index da03ff5c8..aa78c50f0 100644 --- a/src/client/tile.cpp +++ b/src/client/tile.cpp @@ -1109,9 +1109,6 @@ bool TextureSource::generateImagePart(std::string part_of_name, // Stuff starting with [ are special commands if (part_of_name.empty() || part_of_name[0] != '[') { video::IImage *image = m_sourcecache.getOrLoad(part_of_name); -#if ENABLE_GLES - image = Align2Npot2(image, driver); -#endif if (image == NULL) { if (!part_of_name.empty()) { From 0d0f1a2fb25fbfef8e0a1d42028257736fd80146 Mon Sep 17 00:00:00 2001 From: Giuseppe Bilotta Date: Sat, 23 Apr 2022 18:04:38 +0200 Subject: [PATCH 186/279] Fix some textures not being sent correctly to older clients Since b2eb44afc50976dc0954c868977b5829f3ff8a19, a texture defined as `[combine:16x512:0,0=some_file.png;etc` will not be sent correctly from a 5.5 server to a 5.4 client due to the overeager detection of unsupported base modifier `[` introducing a spurious `blank.png^` before the modifier. Fix this by whitelisting which base modifiers can be passed through unchanged to the client, and prefix `blank.png` for the others (which at the moment is just [png:, but the list may grow larger as new base modifiers are added.) --- src/nodedef.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/nodedef.cpp b/src/nodedef.cpp index 4bbc90845..c3fa5a35c 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -33,6 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "nameidmapping.h" #include "util/numeric.h" #include "util/serialize.h" +#include "util/string.h" #include "exceptions.h" #include "debug.h" #include "gamedef.h" @@ -213,10 +214,21 @@ void TileDef::serialize(std::ostream &os, u16 protocol_version) const // Before f018737, TextureSource::getTextureAverageColor did not handle // missing textures. "[png" can be used as base texture, but is not known // on older clients. Hence use "blank.png" to avoid this problem. - if (!name.empty() && name[0] == '[') - os << serializeString16("blank.png^" + name); - else + // To be forward-compatible with future base textures/modifiers, + // we apply the same prefix to any texture beginning with [, + // except for the ones that are supported on older clients. + bool pass_through = true; + + if (!name.empty() && name[0] == '[') { + pass_through = str_starts_with(name, "[combine:") || + str_starts_with(name, "[inventorycube{") || + str_starts_with(name, "[lowpart:"); + } + + if (pass_through) os << serializeString16(name); + else + os << serializeString16("blank.png^" + name); } animation.serialize(os, version); bool has_scale = scale > 0; From beea8deeb510dbdf51331915c1305898fd3eba4a Mon Sep 17 00:00:00 2001 From: Alex <24834740+GreenXenith@users.noreply.github.com> Date: Sun, 24 Apr 2022 14:49:07 -0700 Subject: [PATCH 187/279] Fix invalid queued package element and path (#12218) --- builtin/mainmenu/dlg_contentstore.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/builtin/mainmenu/dlg_contentstore.lua b/builtin/mainmenu/dlg_contentstore.lua index 9db67cf57..0127d600c 100644 --- a/builtin/mainmenu/dlg_contentstore.lua +++ b/builtin/mainmenu/dlg_contentstore.lua @@ -862,8 +862,7 @@ function store.get_formspec(dlgdata) formspec[#formspec + 1] = "cdb_downloading.png;3;400;]" elseif package.queued then formspec[#formspec + 1] = left_base - formspec[#formspec + 1] = core.formspec_escape(defaulttexturedir) - formspec[#formspec + 1] = "cdb_queued.png;queued]" + formspec[#formspec + 1] = "cdb_queued.png;queued;]" elseif not package.path then local elem_name = "install_" .. i .. ";" formspec[#formspec + 1] = "style[" .. elem_name .. "bgcolor=#71aa34]" From 677dc2c1558420a1d105a5f33b5c14a1d43503bb Mon Sep 17 00:00:00 2001 From: paradust7 <102263465+paradust7@users.noreply.github.com> Date: Thu, 28 Apr 2022 09:52:19 -0700 Subject: [PATCH 188/279] Remove HW_buffer_counter after IrrlichtMt fix to remove HWBufferMap (#12232) Keep code and use version check instead, for backwards compatibility --- src/client/game.cpp | 5 +++++ src/client/mapblock_mesh.cpp | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/client/game.cpp b/src/client/game.cpp index 4337d308e..9bbe36adf 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -907,7 +907,10 @@ private: bool m_does_lost_focus_pause_game = false; +#if IRRLICHT_VERSION_MT_REVISION < 5 int m_reset_HW_buffer_counter = 0; +#endif + #ifdef HAVE_TOUCHSCREENGUI bool m_cache_hold_aux1; #endif @@ -3988,6 +3991,7 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime, /* ==================== End scene ==================== */ +#if IRRLICHT_VERSION_MT_REVISION < 5 if (++m_reset_HW_buffer_counter > 500) { /* Periodically remove all mesh HW buffers. @@ -4009,6 +4013,7 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime, driver->removeAllHardwareBuffers(); m_reset_HW_buffer_counter = 0; } +#endif driver->endScene(); diff --git a/src/client/mapblock_mesh.cpp b/src/client/mapblock_mesh.cpp index 249a56087..e077011cc 100644 --- a/src/client/mapblock_mesh.cpp +++ b/src/client/mapblock_mesh.cpp @@ -1198,12 +1198,14 @@ MapBlockMesh::MapBlockMesh(MeshMakeData *data, v3s16 camera_offset): MapBlockMesh::~MapBlockMesh() { for (scene::IMesh *m : m_mesh) { +#if IRRLICHT_VERSION_MT_REVISION < 5 if (m_enable_vbo) { for (u32 i = 0; i < m->getMeshBufferCount(); i++) { scene::IMeshBuffer *buf = m->getMeshBuffer(i); RenderingEngine::get_video_driver()->removeHardwareBuffer(buf); } } +#endif m->drop(); } delete m_minimap_mapblock; From d497c926849fc716d486d400fed45063577bd99a Mon Sep 17 00:00:00 2001 From: sfan5 Date: Wed, 27 Apr 2022 19:00:49 +0200 Subject: [PATCH 189/279] Fix race condition in registration leading to duplicate create_auth calls --- src/network/serverpackethandler.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index d8b49da09..ee94edc3c 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -1496,8 +1496,19 @@ void Server::handleCommand_FirstSrp(NetworkPacket* pkt) } std::string initial_ver_key; - initial_ver_key = encode_srp_verifier(verification_key, salt); + + // It is possible for multiple connections to get this far with the same + // player name. In the end only one player with a given name will be emerged + // (see Server::StateTwoClientInit) but we still have to be careful here. + if (m_script->getAuth(playername, nullptr, nullptr)) { + // Another client beat us to it + actionstream << "Server: Client from " << addr_s + << " tried to register " << playername << " a second time." + << std::endl; + DenyAccess(peer_id, SERVER_ACCESSDENIED_ALREADY_CONNECTED); + return; + } m_script->createAuth(playername, initial_ver_key); m_script->on_authplayer(playername, addr_s, true); From 1ac378063e37e5b1485438e5321252b42471ba79 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Wed, 27 Apr 2022 19:10:03 +0200 Subject: [PATCH 190/279] Apply disallow_empty_password to password changes too --- builtin/settingtypes.txt | 2 +- src/network/serverpackethandler.cpp | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index 42b45aa00..01bebe4cc 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -1123,7 +1123,7 @@ enable_mod_channels (Mod channels) bool false # If this is set, players will always (re)spawn at the given position. static_spawnpoint (Static spawnpoint) string -# If enabled, new players cannot join with an empty password. +# If enabled, players cannot join without a password or change theirs to an empty password. disallow_empty_password (Disallow empty passwords) bool false # If enabled, disable cheat prevention in multiplayer. diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index ee94edc3c..366ec2d28 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -1476,6 +1476,9 @@ void Server::handleCommand_FirstSrp(NetworkPacket* pkt) verbosestream << "Server: Got TOSERVER_FIRST_SRP from " << addr_s << ", with is_empty=" << (is_empty == 1) << std::endl; + const bool empty_disallowed = !isSingleplayer() && is_empty == 1 && + g_settings->getBool("disallow_empty_password"); + // Either this packet is sent because the user is new or to change the password if (cstate == CS_HelloSent) { if (!client->isMechAllowed(AUTH_MECHANISM_FIRST_SRP)) { @@ -1486,9 +1489,7 @@ void Server::handleCommand_FirstSrp(NetworkPacket* pkt) return; } - if (!isSingleplayer() && - g_settings->getBool("disallow_empty_password") && - is_empty == 1) { + if (empty_disallowed) { actionstream << "Server: " << playername << " supplied empty password from " << addr_s << std::endl; DenyAccess(peer_id, SERVER_ACCESSDENIED_EMPTY_PASSWORD); @@ -1521,6 +1522,15 @@ void Server::handleCommand_FirstSrp(NetworkPacket* pkt) return; } m_clients.event(peer_id, CSE_SudoLeave); + + if (empty_disallowed) { + actionstream << "Server: " << playername + << " supplied empty password" << std::endl; + SendChatMessage(peer_id, ChatMessage(CHATMESSAGE_TYPE_SYSTEM, + L"Changing to an empty password is not allowed.")); + return; + } + std::string pw_db_field = encode_srp_verifier(verification_key, salt); bool success = m_script->setPassword(playername, pw_db_field); if (success) { From a55982e7f01c83d5289b8018754963299b9e9484 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Wed, 27 Apr 2022 19:32:51 +0200 Subject: [PATCH 191/279] Fix password changing getting stuck if wrong password is entered once --- src/clientiface.cpp | 9 +++++++++ src/clientiface.h | 2 ++ src/network/serverpackethandler.cpp | 2 ++ 3 files changed, 13 insertions(+) diff --git a/src/clientiface.cpp b/src/clientiface.cpp index a1c3e1187..a4bfb8242 100644 --- a/src/clientiface.cpp +++ b/src/clientiface.cpp @@ -596,6 +596,15 @@ void RemoteClient::notifyEvent(ClientStateEvent event) } } +void RemoteClient::resetChosenMech() +{ + if (chosen_mech == AUTH_MECHANISM_SRP) { + srp_verifier_delete((SRPVerifier *) auth_data); + auth_data = nullptr; + } + chosen_mech = AUTH_MECHANISM_NONE; +} + u64 RemoteClient::uptime() const { return porting::getTimeS() - m_connection_time; diff --git a/src/clientiface.h b/src/clientiface.h index b1591ddb0..04e8b8033 100644 --- a/src/clientiface.h +++ b/src/clientiface.h @@ -242,6 +242,8 @@ public: u32 allowed_auth_mechs = 0; u32 allowed_sudo_mechs = 0; + void resetChosenMech(); + bool isSudoMechAllowed(AuthMechanism mech) { return allowed_sudo_mechs & mech; } bool isMechAllowed(AuthMechanism mech) diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp index 366ec2d28..6f60b8172 100644 --- a/src/network/serverpackethandler.cpp +++ b/src/network/serverpackethandler.cpp @@ -1640,6 +1640,7 @@ void Server::handleCommand_SrpBytesA(NetworkPacket* pkt) << std::endl; if (wantSudo) { DenySudoAccess(peer_id); + client->resetChosenMech(); return; } @@ -1706,6 +1707,7 @@ void Server::handleCommand_SrpBytesM(NetworkPacket* pkt) << " tried to change their password, but supplied wrong" << " (SRP) password for authentication." << std::endl; DenySudoAccess(peer_id); + client->resetChosenMech(); return; } From 1e7b5d6fdb09e08b024fe5461c12efee92032936 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 30 Apr 2022 16:04:19 +0200 Subject: [PATCH 192/279] Fix synchronization issue at thread start If a newly started thread immediately exits then m_running would immediately be set to false again and the caller would be stuck waiting for m_running to become true forever. Since a mutex for synchronizing startup already exists we can simply move the while loop into it. see also: #5134 which introduced m_start_finished_mutex --- src/threading/thread.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/threading/thread.cpp b/src/threading/thread.cpp index 5cfc60995..ef025ac1d 100644 --- a/src/threading/thread.cpp +++ b/src/threading/thread.cpp @@ -121,12 +121,12 @@ bool Thread::start() return false; } - // Allow spawned thread to continue - m_start_finished_mutex.unlock(); - while (!m_running) sleep_ms(1); + // Allow spawned thread to continue + m_start_finished_mutex.unlock(); + m_joinable = true; return true; From 8b010c5a9feda44e4e21ecc0dd45aa01de14335a Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Mon, 25 Apr 2022 20:43:09 +0100 Subject: [PATCH 193/279] ContentDB: Fix ungraceful crash on aliases when list download fails Fixes #12267 and fixes #12154 --- builtin/mainmenu/dlg_contentstore.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/mainmenu/dlg_contentstore.lua b/builtin/mainmenu/dlg_contentstore.lua index 0127d600c..276a7b096 100644 --- a/builtin/mainmenu/dlg_contentstore.lua +++ b/builtin/mainmenu/dlg_contentstore.lua @@ -25,7 +25,7 @@ end -- Unordered preserves the original order of the ContentDB API, -- before the package list is ordered based on installed state. -local store = { packages = {}, packages_full = {}, packages_full_unordered = {} } +local store = { packages = {}, packages_full = {}, packages_full_unordered = {}, aliases = {} } local http = core.get_http_api() From b405985b807399d303933c004511e7bb9e5a540a Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Wed, 4 May 2022 20:55:13 +0200 Subject: [PATCH 194/279] guiScalingFilter: Fix most memory leaks (#12256) Calls to the cache function ended up creating a new texture regardless whether the texture is already cached. --- src/client/client.cpp | 2 ++ src/client/guiscalingfilter.cpp | 12 +++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/client/client.cpp b/src/client/client.cpp index 935a82653..0dd8a61d2 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -334,6 +334,8 @@ Client::~Client() // cleanup 3d model meshes on client shutdown m_rendering_engine->cleanupMeshCache(); + guiScalingCacheClear(); + delete m_minimap; m_minimap = nullptr; diff --git a/src/client/guiscalingfilter.cpp b/src/client/guiscalingfilter.cpp index 232219237..de122becf 100644 --- a/src/client/guiscalingfilter.cpp +++ b/src/client/guiscalingfilter.cpp @@ -43,6 +43,10 @@ void guiScalingCache(const io::path &key, video::IVideoDriver *driver, video::II { if (!g_settings->getBool("gui_scaling_filter")) return; + + if (g_imgCache.find(key) != g_imgCache.end()) + return; // Already cached. + video::IImage *copied = driver->createImage(value->getColorFormat(), value->getDimension()); value->copyTo(copied); @@ -90,14 +94,16 @@ video::ITexture *guiScalingResizeCached(video::IVideoDriver *driver, io::path scalename = origname + "@guiScalingFilter:" + rectstr; // Search for existing scaled texture. - video::ITexture *scaled = g_txrCache[scalename]; + auto it_txr = g_txrCache.find(scalename); + video::ITexture *scaled = (it_txr != g_txrCache.end()) ? it_txr->second : nullptr; if (scaled) return scaled; // Try to find the texture converted to an image in the cache. // If the image was not found, try to extract it from the texture. - video::IImage* srcimg = g_imgCache[origname]; - if (srcimg == NULL) { + auto it_img = g_imgCache.find(origname); + video::IImage *srcimg = (it_img != g_imgCache.end()) ? it_img->second : nullptr; + if (!srcimg) { if (!g_settings->getBool("gui_scaling_filter_txr2img")) return src; srcimg = driver->createImageFromData(src->getColorFormat(), From e81c48526b042666f08bb25d8b3f14007763c3f4 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 6 May 2022 14:42:56 +0200 Subject: [PATCH 195/279] Declare all bundled libs as static Otherwise it can happen that these are built as shared depending on the options passed to CMake, which obviously isn't intended. --- lib/bitop/CMakeLists.txt | 2 +- lib/gmp/CMakeLists.txt | 2 +- lib/jsoncpp/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/bitop/CMakeLists.txt b/lib/bitop/CMakeLists.txt index 03b4d0b96..02e8a421d 100644 --- a/lib/bitop/CMakeLists.txt +++ b/lib/bitop/CMakeLists.txt @@ -1,4 +1,4 @@ -add_library(bitop bit.c) +add_library(bitop STATIC bit.c) target_link_libraries(bitop) include_directories(${LUA_INCLUDE_DIR}) diff --git a/lib/gmp/CMakeLists.txt b/lib/gmp/CMakeLists.txt index 884c4d389..f0604a43d 100644 --- a/lib/gmp/CMakeLists.txt +++ b/lib/gmp/CMakeLists.txt @@ -1,3 +1,3 @@ -add_library(gmp mini-gmp.c) +add_library(gmp STATIC mini-gmp.c) target_link_libraries(gmp) diff --git a/lib/jsoncpp/CMakeLists.txt b/lib/jsoncpp/CMakeLists.txt index 0531712ae..cdd1a7ead 100644 --- a/lib/jsoncpp/CMakeLists.txt +++ b/lib/jsoncpp/CMakeLists.txt @@ -1,3 +1,3 @@ -add_library(jsoncpp jsoncpp.cpp) +add_library(jsoncpp STATIC jsoncpp.cpp) target_link_libraries(jsoncpp) From 6e9d31d4fbce1d0e6d02ef5aa5740d6128e93ade Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sun, 8 May 2022 14:01:32 +0100 Subject: [PATCH 196/279] Fix mods not being recursively enabled Fixes #12290 --- builtin/mainmenu/pkgmgr.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index 6de671529..44f39ca60 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -487,7 +487,7 @@ function pkgmgr.enable_mod(this, toset) -- Push the dependencies of the dependency onto the stack local depends = pkgmgr.get_dependencies(mod_to_enable.path) for i = 1, #depends do - if not enabled_mods[name] then + if not enabled_mods[depends[i]] then sp = sp+1 to_enable[sp] = depends[i] end From 9f688bc4336338d438017f9911783cf8944cda21 Mon Sep 17 00:00:00 2001 From: Jude Melton-Houghton Date: Sun, 8 May 2022 09:14:14 -0400 Subject: [PATCH 197/279] Fix enabling of dependencies with identical names (#12253) --- builtin/mainmenu/pkgmgr.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index 44f39ca60..1f61d90d9 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -447,11 +447,16 @@ function pkgmgr.enable_mod(this, toset) -- Enable mods' depends after activation - -- Make a list of mod ids indexed by their names + -- Make a list of mod ids indexed by their names. Among mods with the + -- same name, enabled mods take precedence, after which game mods take + -- precedence, being last in the mod list. local mod_ids = {} for id, mod2 in pairs(list) do if mod2.type == "mod" and not mod2.is_modpack then - mod_ids[mod2.name] = id + local prev_id = mod_ids[mod2.name] + if not prev_id or not list[prev_id].enabled then + mod_ids[mod2.name] = id + end end end From 21f7e3a987650cd8fa2f3fe3aa7aa1fde65ef699 Mon Sep 17 00:00:00 2001 From: Jude Melton-Houghton Date: Sun, 8 May 2022 11:21:59 -0400 Subject: [PATCH 198/279] Enable dependencies when enabling modpacks (#12202) --- builtin/mainmenu/pkgmgr.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index 1f61d90d9..93505b733 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -435,9 +435,8 @@ function pkgmgr.enable_mod(this, toset) local toggled_mods = {} local enabled_mods = {} toggle_mod_or_modpack(list, toggled_mods, enabled_mods, toset, mod) - toset = mod.enabled -- Update if toggled - if not toset then + if next(enabled_mods) == nil then -- Mod(s) were disabled, so no dependencies need to be enabled table.sort(toggled_mods) core.log("info", "Following mods were disabled: " .. From f065d3a06bcbf0cfe5ab4819a1d4d7cd05f96e79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Mon, 9 May 2022 20:42:43 +0200 Subject: [PATCH 199/279] Fix Minetest blaming the wrong mod for errors (#12241) Covers the case where mods insert their callbacks manually into "minetest.registered_" (often to achieve a particular order of execution). --- builtin/client/register.lua | 1 - builtin/game/item.lua | 4 +--- builtin/game/register.lua | 14 +++++++++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/builtin/client/register.lua b/builtin/client/register.lua index 27a6b02d9..61db4a30b 100644 --- a/builtin/client/register.lua +++ b/builtin/client/register.lua @@ -1,4 +1,3 @@ - core.callback_origins = {} local getinfo = debug.getinfo diff --git a/builtin/game/item.lua b/builtin/game/item.lua index 5a83eafd2..2a4b4e38f 100644 --- a/builtin/game/item.lua +++ b/builtin/game/item.lua @@ -676,9 +676,7 @@ function core.node_dig(pos, node, digger) -- Run script hook for _, callback in ipairs(core.registered_on_dignodes) do local origin = core.callback_origins[callback] - if origin then - core.set_last_run_mod(origin.mod) - end + core.set_last_run_mod(origin.mod) -- Copy pos and node because callback can modify them local pos_copy = vector.new(pos) diff --git a/builtin/game/register.lua b/builtin/game/register.lua index 56e40c75c..0be107c36 100644 --- a/builtin/game/register.lua +++ b/builtin/game/register.lua @@ -403,8 +403,14 @@ function core.override_item(name, redefinition) register_item_raw(item) end - -core.callback_origins = {} +do + local default = {mod = "??", name = "??"} + core.callback_origins = setmetatable({}, { + __index = function() + return default + end + }) +end function core.run_callbacks(callbacks, mode, ...) assert(type(callbacks) == "table") @@ -419,9 +425,7 @@ function core.run_callbacks(callbacks, mode, ...) local ret = nil for i = 1, cb_len do local origin = core.callback_origins[callbacks[i]] - if origin then - core.set_last_run_mod(origin.mod) - end + core.set_last_run_mod(origin.mod) local cb_ret = callbacks[i](...) if mode == 0 and i == 1 then From 7bc2cde4ddd7a3e75a96d4bc77e5140b810d318f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Mon, 9 May 2022 20:43:47 +0200 Subject: [PATCH 200/279] HUD: Update selection mesh every frame (#12270) Fixes outdated selection boxes after entity property changes. --- src/client/game.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/client/game.cpp b/src/client/game.cpp index 9bbe36adf..768b1abad 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -3096,10 +3096,12 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud, bool show_debug) !runData.btn_down_for_dig, camera_offset); - if (pointed != runData.pointed_old) { + if (pointed != runData.pointed_old) infostream << "Pointing at " << pointed.dump() << std::endl; - hud->updateSelectionMesh(camera_offset); - } + + // Note that updating the selection mesh every frame is not particularly efficient, + // but the halo rendering code is already inefficient so there's no point in optimizing it here + hud->updateSelectionMesh(camera_offset); // Allow digging again if button is not pressed if (runData.digging_blocked && !isKeyDown(KeyType::DIG)) From 38557ff63512945657bc4a97b3ca435cd7b711a8 Mon Sep 17 00:00:00 2001 From: Octavian Date: Tue, 10 May 2022 13:34:59 +0300 Subject: [PATCH 201/279] Fix possible unreliable behavior due to uninitialized variables --- src/rollback.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rollback.cpp b/src/rollback.cpp index 33b7958b9..b454e40c9 100644 --- a/src/rollback.cpp +++ b/src/rollback.cpp @@ -483,6 +483,7 @@ const std::list RollbackManager::actionRowsFromSelect(sqlite3_stmt* s row.actor = sqlite3_column_int (stmt, 0); row.timestamp = sqlite3_column_int64(stmt, 1); row.type = sqlite3_column_int (stmt, 2); + row.nodeMeta = 0; if (row.type == RollbackAction::TYPE_MODIFY_INVENTORY_STACK) { text = sqlite3_column_text (stmt, 3); From 8f30456ee3f711f1eb4deee630af7e083a769a22 Mon Sep 17 00:00:00 2001 From: Jude Melton-Houghton Date: Mon, 9 May 2022 18:21:08 -0400 Subject: [PATCH 202/279] Fix cooking and fuel crafts with aliases --- games/devtest/mods/unittests/crafting_prepare.lua | 14 ++++++++++---- src/craftdef.cpp | 6 ++++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/games/devtest/mods/unittests/crafting_prepare.lua b/games/devtest/mods/unittests/crafting_prepare.lua index a09734827..5cf5775e0 100644 --- a/games/devtest/mods/unittests/crafting_prepare.lua +++ b/games/devtest/mods/unittests/crafting_prepare.lua @@ -31,25 +31,31 @@ minetest.register_craftitem("unittests:steel_ingot", { groups = { dummy = 1 }, }) +-- Use aliases in recipes for more complete testing + +minetest.register_alias("unittests:steel_ingot_alias", "unittests:steel_ingot") +minetest.register_alias("unittests:coal_lump_alias", "unittests:coal_lump") +minetest.register_alias("unittests:iron_lump_alias", "unittests:iron_lump") + -- Recipes for tests: Normal crafting, cooking and fuel minetest.register_craft({ output = 'unittests:torch 4', recipe = { - {'unittests:coal_lump'}, + {'unittests:coal_lump_alias'}, {'unittests:stick'}, } }) minetest.register_craft({ type = "cooking", - output = "unittests:steel_ingot", - recipe = "unittests:iron_lump", + output = "unittests:steel_ingot_alias", + recipe = "unittests:iron_lump_alias", }) minetest.register_craft({ type = "fuel", - recipe = "unittests:coal_lump", + recipe = "unittests:coal_lump_alias", burntime = 40, }) diff --git a/src/craftdef.cpp b/src/craftdef.cpp index 210605198..c05a0cfb7 100644 --- a/src/craftdef.cpp +++ b/src/craftdef.cpp @@ -734,7 +734,8 @@ bool CraftDefinitionCooking::check(const CraftInput &input, IGameDef *gamedef) c } // Check the single input item - return inputItemMatchesRecipe(input_filtered[0], recipe, gamedef->idef()); + std::string rec_name = craftGetItemName(recipe, gamedef); + return inputItemMatchesRecipe(input_filtered[0], rec_name, gamedef->idef()); } CraftOutput CraftDefinitionCooking::getOutput(const CraftInput &input, IGameDef *gamedef) const @@ -836,7 +837,8 @@ bool CraftDefinitionFuel::check(const CraftInput &input, IGameDef *gamedef) cons } // Check the single input item - return inputItemMatchesRecipe(input_filtered[0], recipe, gamedef->idef()); + std::string rec_name = craftGetItemName(recipe, gamedef); + return inputItemMatchesRecipe(input_filtered[0], rec_name, gamedef->idef()); } CraftOutput CraftDefinitionFuel::getOutput(const CraftInput &input, IGameDef *gamedef) const From 9b03bd324361a65eb33f384f7a9d7696d314f194 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 14 May 2022 18:51:48 +0200 Subject: [PATCH 203/279] Fix Docker build prometheus-cpp switched to C++14 in April (after we did) so this issue only affects older branches. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8d1008fa2..93f6b982b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,7 +26,7 @@ RUN apk add --no-cache git build-base cmake sqlite-dev curl-dev zlib-dev zstd-de rm -fr ./games/minetest_game/.git WORKDIR /usr/src/ -RUN git clone --recursive https://github.com/jupp0r/prometheus-cpp/ && \ +RUN git clone --recursive https://github.com/jupp0r/prometheus-cpp/ -b v1.0.0 && \ mkdir prometheus-cpp/build && \ cd prometheus-cpp/build && \ cmake .. \ From 2785dcbbbf6cff38949c70b0780d19e1c1a7935d Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 14 May 2022 18:24:35 +0100 Subject: [PATCH 204/279] Fix broken dependency enabling due to missing `enabled` field --- builtin/mainmenu/pkgmgr.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index 93505b733..23f24d617 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -484,7 +484,7 @@ function pkgmgr.enable_mod(this, toset) core.log("warning", "Mod dependency \"" .. name .. "\" not found!") else - if mod_to_enable.enabled == false then + if not mod_to_enable.enabled then mod_to_enable.enabled = true toggled_mods[#toggled_mods+1] = mod_to_enable.name end From 44c2e33c78b54835c153d100487600348bd6dee7 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sun, 15 May 2022 18:03:33 +0200 Subject: [PATCH 205/279] Bump version to 5.5.1 --- CMakeLists.txt | 2 +- android/build.gradle | 4 ++-- misc/net.minetest.minetest.appdata.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 40a9ce15f..40cf6504b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,7 @@ set(CLANG_MINIMUM_VERSION "3.5") # Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing set(VERSION_MAJOR 5) set(VERSION_MINOR 5) -set(VERSION_PATCH 0) +set(VERSION_PATCH 1) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases diff --git a/android/build.gradle b/android/build.gradle index 71e995e48..a4c0e7535 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,9 +2,9 @@ project.ext.set("versionMajor", 5) // Version Major project.ext.set("versionMinor", 5) // Version Minor -project.ext.set("versionPatch", 0) // Version Patch +project.ext.set("versionPatch", 1) // Version Patch project.ext.set("versionExtra", "") // Version Extra -project.ext.set("versionCode", 38) // Android Version Code +project.ext.set("versionCode", 40) // Android Version Code // NOTE: +2 after each release! // +1 for ARM and +1 for ARM64 APK's, because // each APK must have a larger `versionCode` than the previous diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml index a6b61448e..f9bc91dc9 100644 --- a/misc/net.minetest.minetest.appdata.xml +++ b/misc/net.minetest.minetest.appdata.xml @@ -62,6 +62,6 @@ minetest sfan5@live.de - + From 96e35585b042222a026f5c0816492672000a2330 Mon Sep 17 00:00:00 2001 From: Zughy <63455151+Zughy@users.noreply.github.com> Date: Wed, 10 Aug 2022 18:03:57 +0200 Subject: [PATCH 206/279] Fix crash when stars are reset --- src/script/lua_api/l_object.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp index 6bd07a4c1..d6498bfa8 100644 --- a/src/script/lua_api/l_object.cpp +++ b/src/script/lua_api/l_object.cpp @@ -1366,7 +1366,7 @@ int ObjectRef::l_get_player_control(lua_State *L) lua_newtable(L); if (player == nullptr) return 1; - + const PlayerControl &control = player->getPlayerControl(); lua_pushboolean(L, control.direction_keys & (1 << 0)); lua_setfield(L, -2, "up"); @@ -2082,11 +2082,10 @@ int ObjectRef::l_set_stars(lua_State *L) star_params.scale = getfloatfield_default(L, 2, "scale", star_params.scale); + star_params.day_opacity = getfloatfield_default(L, 2, + "day_opacity", star_params.day_opacity); } - star_params.day_opacity = getfloatfield_default(L, 2, - "day_opacity", star_params.day_opacity); - getServer(L)->setStars(player, star_params); return 0; } From 5b9828e0942f78cd0c5fe725383e457291263255 Mon Sep 17 00:00:00 2001 From: Zughy <63455151+Zughy@users.noreply.github.com> Date: Fri, 12 Aug 2022 11:17:37 +0200 Subject: [PATCH 207/279] Fix crash when crafting callbacks return strings (#12685) Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com> --- builtin/game/register.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/builtin/game/register.lua b/builtin/game/register.lua index ee4edabbf..8b6f5b990 100644 --- a/builtin/game/register.lua +++ b/builtin/game/register.lua @@ -303,14 +303,16 @@ end function core.on_craft(itemstack, player, old_craft_list, craft_inv) for _, func in ipairs(core.registered_on_crafts) do - itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack + -- cast to ItemStack since func() could return a string + itemstack = ItemStack(func(itemstack, player, old_craft_list, craft_inv) or itemstack) end return itemstack end function core.craft_predict(itemstack, player, old_craft_list, craft_inv) for _, func in ipairs(core.registered_craft_predicts) do - itemstack = func(itemstack, player, old_craft_list, craft_inv) or itemstack + -- cast to ItemStack since func() could return a string + itemstack = ItemStack(func(itemstack, player, old_craft_list, craft_inv) or itemstack) end return itemstack end From 41fb7a8a7ebe9db678bb50b125972bb52b04e374 Mon Sep 17 00:00:00 2001 From: Zughy <63455151+Zughy@users.noreply.github.com> Date: Sat, 13 Aug 2022 16:35:28 +0200 Subject: [PATCH 208/279] Reassure previous nil behaviour for tiles and special_tiles (#12678) Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com> --- builtin/game/item.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/builtin/game/item.lua b/builtin/game/item.lua index b49787987..00601c68c 100644 --- a/builtin/game/item.lua +++ b/builtin/game/item.lua @@ -597,8 +597,8 @@ core.nodedef_default = { -- Node properties drawtype = "normal", visual_scale = 1.0, - tiles = {}, - special_tiles = {}, + tiles = nil, + special_tiles = nil, post_effect_color = {a=0, r=0, g=0, b=0}, paramtype = "none", paramtype2 = "none", From 3f3049fdba4a0a38f5c518e0a760b7e632400657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Sat, 13 Aug 2022 16:35:41 +0200 Subject: [PATCH 209/279] Check hp_max > 0 for entities (#12667) --- src/script/common/c_content.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp index 166980025..fafb2edc9 100644 --- a/src/script/common/c_content.cpp +++ b/src/script/common/c_content.cpp @@ -196,6 +196,9 @@ void read_object_properties(lua_State *L, int index, int hp_max = 0; if (getintfield(L, -1, "hp_max", hp_max)) { prop->hp_max = (u16)rangelim(hp_max, 0, U16_MAX); + // hp_max = 0 is sometimes used as a hack to keep players dead, only validate for entities + if (prop->hp_max == 0 && sao->getType() != ACTIVEOBJECT_TYPE_PLAYER) + throw LuaError("The hp_max property may not be 0 for entities!"); if (prop->hp_max < sao->getHP()) { PlayerHPChangeReason reason(PlayerHPChangeReason::SET_HP_MAX); From 08e3d16a58434b1871330d862f21d5897c6af744 Mon Sep 17 00:00:00 2001 From: x2048 Date: Sun, 14 Aug 2022 20:29:20 +0200 Subject: [PATCH 210/279] Limit force shadow update to urgent blocks (#12692) --- src/client/client.cpp | 3 ++- src/client/mesh_generator_thread.cpp | 3 +++ src/client/mesh_generator_thread.h | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/client/client.cpp b/src/client/client.cpp index 31bbf2463..b7d1cbfe0 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -574,7 +574,8 @@ void Client::step(float dtime) else { // Replace with the new mesh block->mesh = r.mesh; - force_update_shadows = true; + if (r.urgent) + force_update_shadows = true; } } } else { diff --git a/src/client/mesh_generator_thread.cpp b/src/client/mesh_generator_thread.cpp index c1bd7388e..ec567c8c1 100644 --- a/src/client/mesh_generator_thread.cpp +++ b/src/client/mesh_generator_thread.cpp @@ -113,6 +113,7 @@ bool MeshUpdateQueue::addBlock(Map *map, v3s16 p, bool ack_block_to_server, bool q->ack_block_to_server = true; q->crack_level = m_client->getCrackLevel(); q->crack_pos = m_client->getCrackPos(); + q->urgent |= urgent; return true; } } @@ -125,6 +126,7 @@ bool MeshUpdateQueue::addBlock(Map *map, v3s16 p, bool ack_block_to_server, bool q->ack_block_to_server = ack_block_to_server; q->crack_level = m_client->getCrackLevel(); q->crack_pos = m_client->getCrackPos(); + q->urgent = urgent; m_queue.push_back(q); // This queue entry is a new reference to the cached blocks @@ -310,6 +312,7 @@ void MeshUpdateThread::doUpdate() r.p = q->p; r.mesh = mesh_new; r.ack_block_to_server = q->ack_block_to_server; + r.urgent = q->urgent; m_queue_out.push_back(r); diff --git a/src/client/mesh_generator_thread.h b/src/client/mesh_generator_thread.h index 552b2a9f0..09400196d 100644 --- a/src/client/mesh_generator_thread.h +++ b/src/client/mesh_generator_thread.h @@ -45,6 +45,7 @@ struct QueuedMeshUpdate int crack_level = -1; v3s16 crack_pos; MeshMakeData *data = nullptr; // This is generated in MeshUpdateQueue::pop() + bool urgent = false; QueuedMeshUpdate() = default; ~QueuedMeshUpdate(); @@ -105,6 +106,7 @@ struct MeshUpdateResult v3s16 p = v3s16(-1338, -1338, -1338); MapBlockMesh *mesh = nullptr; bool ack_block_to_server = false; + bool urgent = false; MeshUpdateResult() = default; }; From 9441b69ad2daae0684ab962e7e240d410134ca55 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 30 Jul 2022 11:58:47 +0200 Subject: [PATCH 211/279] Move some CI jobs to newer compiler versions --- .github/workflows/build.yml | 31 +++++++++++++++---------------- .github/workflows/macos.yml | 12 ++++-------- util/ci/common.sh | 30 ++++++++++++++++-------------- 3 files changed, 35 insertions(+), 38 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d578c3d9f..282dbe307 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,21 +52,21 @@ jobs: ./bin/minetest --run-unittests # Current gcc version - gcc_10: - runs-on: ubuntu-20.04 + gcc_12: + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps g++-10 + install_linux_deps g++-12 libluajit-5.1-dev - name: Build run: | ./util/ci/build.sh env: - CC: gcc-10 - CXX: g++-10 + CC: gcc-12 + CXX: g++-12 - name: Test run: | @@ -80,7 +80,7 @@ jobs: - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps clang-3.9 gdb + install_linux_deps clang-3.9 valgrind - name: Build run: | @@ -93,35 +93,34 @@ jobs: run: | ./bin/minetest --run-unittests - - name: Integration test + devtest + - name: Valgrind run: | - ./util/test_multiplayer.sh + valgrind --leak-check=full --leak-check-heuristics=all --undef-value-errors=no --error-exitcode=9 ./bin/minetest --run-unittests # Current clang version - clang_10: - runs-on: ubuntu-20.04 + clang_14: + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps clang-10 valgrind libluajit-5.1-dev + install_linux_deps clang-14 gdb - name: Build run: | ./util/ci/build.sh env: - CC: clang-10 - CXX: clang++-10 - CMAKE_FLAGS: "-DREQUIRE_LUAJIT=1" + CC: clang-14 + CXX: clang++-14 - name: Test run: | ./bin/minetest --run-unittests - - name: Valgrind + - name: Integration test + devtest run: | - valgrind --leak-check=full --leak-check-heuristics=all --undef-value-errors=no --error-exitcode=9 ./bin/minetest --run-unittests + ./util/test_multiplayer.sh # Build with prometheus-cpp (server-only) clang_9_prometheus: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 038765494..edc6630c0 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -28,16 +28,13 @@ env: jobs: build: - runs-on: macos-10.15 + runs-on: macos-11 steps: - uses: actions/checkout@v3 - name: Install deps run: | - pkgs=(cmake freetype gettext gmp hiredis jpeg jsoncpp leveldb libogg libpng libvorbis luajit zstd) - brew update - brew install ${pkgs[@]} - brew unlink $(brew ls --formula) - brew link ${pkgs[@]} + source ./util/ci/common.sh + install_macos_deps - name: Build run: | @@ -49,8 +46,7 @@ jobs: -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 \ -DCMAKE_FIND_FRAMEWORK=LAST \ -DCMAKE_INSTALL_PREFIX=../build/macos/ \ - -DRUN_IN_PLACE=FALSE \ - -DENABLE_FREETYPE=TRUE -DENABLE_GETTEXT=TRUE + -DRUN_IN_PLACE=FALSE -DENABLE_GETTEXT=TRUE make -j2 make install diff --git a/util/ci/common.sh b/util/ci/common.sh index 3015680c4..c9271e813 100644 --- a/util/ci/common.sh +++ b/util/ci/common.sh @@ -2,10 +2,12 @@ # Linux build only install_linux_deps() { - local pkgs=(cmake libpng-dev \ - libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev \ - libhiredis-dev libogg-dev libgmp-dev libvorbis-dev libopenal-dev \ - gettext libpq-dev libleveldb-dev libcurl4-openssl-dev libzstd-dev) + local pkgs=( + cmake gettext + libpng-dev libjpeg-dev libxi-dev libgl1-mesa-dev + libsqlite3-dev libhiredis-dev libogg-dev libgmp-dev libvorbis-dev + libopenal-dev libpq-dev libleveldb-dev libcurl4-openssl-dev libzstd-dev + ) if [[ "$1" == "--no-irr" ]]; then shift @@ -16,17 +18,17 @@ install_linux_deps() { fi sudo apt-get update - sudo apt-get install -y --no-install-recommends ${pkgs[@]} "$@" + sudo apt-get install -y --no-install-recommends "${pkgs[@]}" "$@" } -# Mac OSX build only -install_macosx_deps() { +# macOS build only +install_macos_deps() { + local pkgs=( + cmake gettext freetype gmp jpeg-turbo jsoncpp leveldb + libogg libpng libvorbis luajit zstd + ) brew update - brew install freetype gettext hiredis irrlicht leveldb libogg libvorbis luajit - if brew ls | grep -q jpeg; then - brew upgrade jpeg - else - brew install jpeg - fi - #brew upgrade postgresql + brew install "${pkgs[@]}" + brew unlink $(brew ls --formula) + brew link "${pkgs[@]}" } From b6db2c7262ada25f7cd5856dd81d2128eba768ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Rodrigues=20Ribeiro?= Date: Mon, 15 Aug 2022 05:47:09 -0300 Subject: [PATCH 212/279] Remove resolution of appstream screenshots (#12652) resolves Appdata not valid #12597 --- misc/net.minetest.minetest.appdata.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml index 339f3d006..9524182cc 100644 --- a/misc/net.minetest.minetest.appdata.xml +++ b/misc/net.minetest.minetest.appdata.xml @@ -53,13 +53,13 @@ - http://www.minetest.net/media/gallery/1.jpg + http://www.minetest.net/media/gallery/1.jpg - http://www.minetest.net/media/gallery/3.jpg + http://www.minetest.net/media/gallery/3.jpg - http://www.minetest.net/media/gallery/5.jpg + http://www.minetest.net/media/gallery/5.jpg From 50df5e2f59d173abaf7759c67cfd4322dcac516c Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Mon, 15 Aug 2022 08:30:46 +0100 Subject: [PATCH 213/279] Fix crash when trying to overwrite a package Before #11646, core.copy_dir would overwrite the target if it exists. Adding core.delete_dir restores the exact same behaviour Fixes #12303 --- builtin/mainmenu/pkgmgr.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index 32a65fd08..853509b4f 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -608,11 +608,10 @@ function pkgmgr.install_dir(type, path, basename, targetpath) end local from = basefolder and basefolder.path or path - if targetpath then - core.delete_dir(targetpath) - else + if not targetpath then targetpath = core.get_texturepath() .. DIR_DELIM .. basename end + core.delete_dir(targetpath) if not core.copy_dir(from, targetpath, false) then return nil, fgettext("Failed to install $1 to $2", basename, targetpath) @@ -690,6 +689,7 @@ function pkgmgr.install_dir(type, path, basename, targetpath) end -- Copy it + core.delete_dir(targetpath) if not core.copy_dir(basefolder.path, targetpath, false) then return nil, fgettext("Failed to install $1 to $2", basename, targetpath) From 57b4d46dbc84d008db48675b5ff07ce4fd8fb058 Mon Sep 17 00:00:00 2001 From: Elliott Lester Date: Mon, 15 Aug 2022 13:19:47 -0700 Subject: [PATCH 214/279] Apply DPI Scaling to GUIModalMenu (#12693) Co-authored-by: sfan5 --- src/gui/modalMenu.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gui/modalMenu.cpp b/src/gui/modalMenu.cpp index cfc4d5c5a..9f5258cdf 100644 --- a/src/gui/modalMenu.cpp +++ b/src/gui/modalMenu.cpp @@ -19,6 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include +#include "client/renderingengine.h" #include "modalMenu.h" #include "gettext.h" #include "porting.h" @@ -26,7 +27,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifdef HAVE_TOUCHSCREENGUI #include "touchscreengui.h" -#include "client/renderingengine.h" #endif // clang-format off @@ -41,10 +41,13 @@ GUIModalMenu::GUIModalMenu(gui::IGUIEnvironment* env, gui::IGUIElement* parent, m_remap_dbl_click(remap_dbl_click) { m_gui_scale = std::max(g_settings->getFloat("gui_scaling"), 0.5f); + const float screen_dpi_scale = RenderingEngine::getDisplayDensity(); #ifdef HAVE_TOUCHSCREENGUI - float d = RenderingEngine::getDisplayDensity(); - m_gui_scale *= 1.1 - 0.3 * d + 0.2 * d * d; + m_gui_scale *= 1.1f - 0.3f * screen_dpi_scale + 0.2f * screen_dpi_scale * screen_dpi_scale; +#else + m_gui_scale *= screen_dpi_scale; #endif + setVisible(true); Environment->setFocus(this); m_menumgr->createdMenu(this); From 0ca530e25179e328df83d85a3af7ae9ce44ddfa4 Mon Sep 17 00:00:00 2001 From: fluxionary <25628292+fluxionary@users.noreply.github.com> Date: Wed, 24 Aug 2022 13:38:14 -0700 Subject: [PATCH 215/279] Fix texture_min_size --- src/nodedef.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nodedef.cpp b/src/nodedef.cpp index 4022ac835..e9b322f1d 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -279,7 +279,7 @@ void TextureSettings::readSettings() bool smooth_lighting = g_settings->getBool("smooth_lighting"); enable_mesh_cache = g_settings->getBool("enable_mesh_cache"); enable_minimap = g_settings->getBool("enable_minimap"); - node_texture_size = std::min(g_settings->getU16("texture_min_size"), 1); + node_texture_size = std::max(g_settings->getU16("texture_min_size"), 1); std::string leaves_style_str = g_settings->get("leaves_style"); std::string world_aligned_mode_str = g_settings->get("world_aligned_mode"); std::string autoscale_mode_str = g_settings->get("autoscale_mode"); From 79010e972ebe6e381d6b5402e5399ad4117dd374 Mon Sep 17 00:00:00 2001 From: savilli <78875209+savilli@users.noreply.github.com> Date: Thu, 25 Aug 2022 23:48:49 +0200 Subject: [PATCH 216/279] Fix and enable x86 build for Android (#12700) --- .github/workflows/android.yml | 10 ++++++++++ android/app/build.gradle | 2 +- android/native/build.gradle | 2 +- android/native/jni/Android.mk | 14 ++++++++++++-- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 20411a332..8cbe5e09f 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -40,3 +40,13 @@ jobs: with: name: Minetest-arm64-v8a.apk path: android/app/build/outputs/apk/release/app-arm64-v8a-release-unsigned.apk + - name: Save x86 artifact + uses: actions/upload-artifact@v3 + with: + name: Minetest-x86.apk + path: android/app/build/outputs/apk/release/app-x86-release-unsigned.apk + - name: Save x86_64 artifact + uses: actions/upload-artifact@v3 + with: + name: Minetest-x86_64.apk + path: android/app/build/outputs/apk/release/app-x86_64-release-unsigned.apk diff --git a/android/app/build.gradle b/android/app/build.gradle index e8ba95722..ce895edd1 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -40,7 +40,7 @@ android { abi { enable true reset() - include 'armeabi-v7a', 'arm64-v8a' + include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } diff --git a/android/native/build.gradle b/android/native/build.gradle index 2254aab3a..90e4fe2e7 100644 --- a/android/native/build.gradle +++ b/android/native/build.gradle @@ -31,7 +31,7 @@ android { abi { enable true reset() - include 'armeabi-v7a', 'arm64-v8a'//, 'x86' + include 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } diff --git a/android/native/jni/Android.mk b/android/native/jni/Android.mk index 50651d5ba..cd9326d4a 100644 --- a/android/native/jni/Android.mk +++ b/android/native/jni/Android.mk @@ -43,6 +43,16 @@ LOCAL_MODULE := Irrlicht LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libIrrlichtMt.a include $(PREBUILT_STATIC_LIBRARY) +include $(CLEAR_VARS) +LOCAL_MODULE := Irrlicht-libpng +LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libpng.a +include $(PREBUILT_STATIC_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := Irrlicht-libjpeg +LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libjpeg.a +include $(PREBUILT_STATIC_LIBRARY) + ifndef USE_BUILTIN_LUA include $(CLEAR_VARS) @@ -270,7 +280,7 @@ LOCAL_STATIC_LIBRARIES += \ Curl libmbedcrypto libmbedtls libmbedx509 \ Freetype \ Iconv libcharset \ - Irrlicht \ + Irrlicht Irrlicht-libpng Irrlicht-libjpeg \ OpenAL \ Gettext \ SQLite3 \ @@ -281,7 +291,7 @@ ifndef USE_BUILTIN_LUA endif LOCAL_STATIC_LIBRARIES += android_native_app_glue $(PROFILER_LIBS) -LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES +LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES -lz include $(BUILD_SHARED_LIBRARY) From 4ef221a645fd4023ebed61cee345af59cb3fbd7e Mon Sep 17 00:00:00 2001 From: Niklp <89982526+Niklp09@users.noreply.github.com> Date: Fri, 2 Sep 2022 02:05:40 +0200 Subject: [PATCH 217/279] Fix incorrectly placed label in tab_online (#12732) --- builtin/mainmenu/tab_online.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/mainmenu/tab_online.lua b/builtin/mainmenu/tab_online.lua index 899f30bd1..ad5f79eaa 100644 --- a/builtin/mainmenu/tab_online.lua +++ b/builtin/mainmenu/tab_online.lua @@ -94,7 +94,7 @@ local function get_formspec(tabview, name, tabdata) -- Name / Password "container[0,4.8]" .. "label[0.25,0;" .. fgettext("Name") .. "]" .. - "label[3,0;" .. fgettext("Password") .. "]" .. + "label[2.875,0;" .. fgettext("Password") .. "]" .. "field[0.25,0.2;2.625,0.75;te_name;;" .. core.formspec_escape(core.settings:get("name")) .. "]" .. "pwdfield[2.875,0.2;2.625,0.75;te_pwd;]" .. "container_end[]" .. From d51331f51f1144a575f6af4742a6360b22891bbb Mon Sep 17 00:00:00 2001 From: x2048 Date: Sun, 4 Sep 2022 16:00:13 +0200 Subject: [PATCH 218/279] Convert entity glow value to color space before adding to the light --- src/client/content_cao.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index 568d25fb7..ac4a8f6f9 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -881,7 +881,7 @@ void GenericCAO::updateLight(u32 day_night_ratio) if (!pos_ok) light_at_pos = LIGHT_SUN; - video::SColor light = encode_light(light_at_pos, m_prop.glow); + video::SColor light = encode_light(light_at_pos, decode_light(m_prop.glow)); if (!m_enable_shaders) final_color_blend(&light, light_at_pos, day_night_ratio); From 128842becf4d93ef333c317b6f999af8c90afe96 Mon Sep 17 00:00:00 2001 From: pecksin <78765996+pecksin@users.noreply.github.com> Date: Sat, 10 Sep 2022 06:21:15 -0400 Subject: [PATCH 219/279] Chat weblink: remove comma as delimiter (#12730) --- src/chat.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chat.cpp b/src/chat.cpp index 92df038e8..9483fb96e 100644 --- a/src/chat.cpp +++ b/src/chat.cpp @@ -364,7 +364,7 @@ u32 ChatBuffer::formatChatLine(const ChatLine& line, u32 cols, // Chars to mark end of weblink // TODO? replace this with a safer (slower) regex whitelist? - static const std::wstring delim_chars = L"\'\";,"; + static const std::wstring delim_chars = L"\'\";"; wchar_t tempchar = linestring[in_pos+frag_length]; while (frag_length < remaining_in_input && !iswspace(tempchar) && From a20b758e199eb48da7d99ba23808e15d987f2d3f Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sun, 4 Sep 2022 16:22:12 +0200 Subject: [PATCH 220/279] Allow looped animation to be used safely with old clients fixes #12657 --- src/client/particles.cpp | 1 + src/particles.cpp | 4 ++-- src/tileanimation.cpp | 14 ++++++++++---- src/tileanimation.h | 4 ++-- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/client/particles.cpp b/src/client/particles.cpp index 818cdc8cc..248f461bc 100644 --- a/src/client/particles.cpp +++ b/src/client/particles.cpp @@ -555,6 +555,7 @@ void ParticleSpawner::spawnParticle(ClientEnvironment *env, float radius, // synchronize animation length with particle life if desired if (pp.animation.type != TAT_NONE) { + // FIXME: this should be moved into a TileAnimationParams class method if (pp.animation.type == TAT_VERTICAL_FRAMES && pp.animation.vertical_frames.length < 0) { auto& a = pp.animation.vertical_frames; diff --git a/src/particles.cpp b/src/particles.cpp index 19b3418b7..e495ecd03 100644 --- a/src/particles.cpp +++ b/src/particles.cpp @@ -127,7 +127,7 @@ void ParticleParameters::serialize(std::ostream &os, u16 protocol_ver) const os << serializeString32(texture.string); writeU8(os, vertical); writeU8(os, collision_removal); - animation.serialize(os, 6); /* NOT the protocol ver */ + animation.serialize(os, protocol_ver); writeU8(os, glow); writeU8(os, object_collision); writeU16(os, node.param0); @@ -160,7 +160,7 @@ void ParticleParameters::deSerialize(std::istream &is, u16 protocol_ver) texture.string = deSerializeString32(is); vertical = readU8(is); collision_removal = readU8(is); - animation.deSerialize(is, 6); /* NOT the protocol ver */ + animation.deSerialize(is, protocol_ver); glow = readU8(is); object_collision = readU8(is); diff --git a/src/tileanimation.cpp b/src/tileanimation.cpp index a79a36e57..025d27d91 100644 --- a/src/tileanimation.cpp +++ b/src/tileanimation.cpp @@ -19,21 +19,27 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "tileanimation.h" #include "util/serialize.h" -void TileAnimationParams::serialize(std::ostream &os, u16 protocol_version) const +void TileAnimationParams::serialize(std::ostream &os, u16 protocol_ver) const { + // The particle code overloads the length parameter so that negative numbers + // indicate an extra feature which old clients don't understand (crash). + // In hindsight it would have been better to use an extra parameter for this + // but we're stuck with this now. + const bool need_abs = protocol_ver < 40; + writeU8(os, type); if (type == TAT_VERTICAL_FRAMES) { writeU16(os, vertical_frames.aspect_w); writeU16(os, vertical_frames.aspect_h); - writeF32(os, vertical_frames.length); + writeF32(os, need_abs ? fabs(vertical_frames.length) : vertical_frames.length); } else if (type == TAT_SHEET_2D) { writeU8(os, sheet_2d.frames_w); writeU8(os, sheet_2d.frames_h); - writeF32(os, sheet_2d.frame_length); + writeF32(os, need_abs ? fabs(sheet_2d.frame_length) : sheet_2d.frame_length); } } -void TileAnimationParams::deSerialize(std::istream &is, u16 protocol_version) +void TileAnimationParams::deSerialize(std::istream &is, u16 protocol_ver) { type = (TileAnimationType) readU8(is); diff --git a/src/tileanimation.h b/src/tileanimation.h index 0449de0b8..45b91655e 100644 --- a/src/tileanimation.h +++ b/src/tileanimation.h @@ -50,8 +50,8 @@ struct TileAnimationParams } sheet_2d; }; - void serialize(std::ostream &os, u16 protocol_version) const; - void deSerialize(std::istream &is, u16 protocol_version); + void serialize(std::ostream &os, u16 protocol_ver) const; + void deSerialize(std::istream &is, u16 protocol_ver); void determineParams(v2u32 texture_size, int *frame_count, int *frame_length_ms, v2u32 *frame_size) const; void getTextureModifer(std::ostream &os, v2u32 texture_size, int frame) const; From 94f55cf406dddcfd4d3507e9da7f64e5de021ee4 Mon Sep 17 00:00:00 2001 From: Lars Mueller Date: Wed, 17 Aug 2022 11:35:26 +0200 Subject: [PATCH 221/279] Serialize: Use numbers for refs to work around LuaJIT limits --- builtin/common/serialize.lua | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/builtin/common/serialize.lua b/builtin/common/serialize.lua index caf989e69..06eb181e0 100644 --- a/builtin/common/serialize.lua +++ b/builtin/common/serialize.lua @@ -61,17 +61,18 @@ end -- Serializes Lua nil, booleans, numbers, strings, tables and even functions -- Tables are referenced by reference, strings are referenced by value. Supports circular tables. local function serialize(value, write) - local reference, refnum = "r1", 1 - -- [object] = reference string + local reference, refnum = "1", 1 + -- [object] = reference local references = {} -- Circular tables that must be filled using `table[key] = value` statements local to_fill = {} for object, count in pairs(count_objects(value)) do local type_ = type(object) -- Object must appear more than once. If it is a string, the reference has to be shorter than the string. - if count >= 2 and (type_ ~= "string" or #reference + 2 < #object) then + if count >= 2 and (type_ ~= "string" or #reference + 5 < #object) then + write"_[" write(reference) - write("=") + write("]=") if type_ == "table" then write("{}") elseif type_ == "function" then @@ -85,7 +86,7 @@ local function serialize(value, write) to_fill[object] = reference end refnum = refnum + 1 - reference = ("r%X"):format(refnum) + reference = ("%d"):format(refnum) end end -- Used to decide whether we should do "key=..." @@ -110,7 +111,9 @@ local function serialize(value, write) -- Reference types: table, function and string local ref = references[value] if ref then - return write(ref) + write"_[" + write(ref) + return write"]" end if type_ == "string" then return write(quote(value)) @@ -156,7 +159,9 @@ local function serialize(value, write) -- Write the statements to fill circular tables for table, ref in pairs(to_fill) do for k, v in pairs(table) do + write("_[") write(ref) + write("]") if use_short_key(k) then write(".") write(k) @@ -202,7 +207,7 @@ function core.deserialize(str, safe) if not func then return nil, err end -- math.huge is serialized to inf, NaNs are serialized to nan by Lua - local env = {inf = math_huge, nan = nan} + local env = {inf = math_huge, nan = nan, _ = {}} if safe then env.loadstring = dummy_func else From 129aef758ece753e684aa494e5471045a996ac8f Mon Sep 17 00:00:00 2001 From: Lars Mueller Date: Wed, 17 Aug 2022 18:48:55 +0200 Subject: [PATCH 222/279] Serialize: Restore forward compatibility --- builtin/common/serialize.lua | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/builtin/common/serialize.lua b/builtin/common/serialize.lua index 06eb181e0..afa63b362 100644 --- a/builtin/common/serialize.lua +++ b/builtin/common/serialize.lua @@ -70,6 +70,9 @@ local function serialize(value, write) local type_ = type(object) -- Object must appear more than once. If it is a string, the reference has to be shorter than the string. if count >= 2 and (type_ ~= "string" or #reference + 5 < #object) then + if refnum == 1 then + write"local _={};" -- initialize reference table + end write"_[" write(reference) write("]=") @@ -106,7 +109,15 @@ local function serialize(value, write) end local type_ = type(value) if type_ == "number" then - return write(string_format("%.17g", value)) + if value ~= value then -- nan + return write"0/0" + elseif value == math_huge then + return write"1/0" + elseif value == -math_huge then + return write"-1/0" + else + return write(string_format("%.17g", value)) + end end -- Reference types: table, function and string local ref = references[value] @@ -190,8 +201,6 @@ end local function dummy_func() end -local nan = (0/0)^1 -- +nan - function core.deserialize(str, safe) -- Backwards compatibility if str == nil then @@ -206,8 +215,8 @@ function core.deserialize(str, safe) local func, err = loadstring(str) if not func then return nil, err end - -- math.huge is serialized to inf, NaNs are serialized to nan by Lua - local env = {inf = math_huge, nan = nan, _ = {}} + -- math.huge was serialized to inf and NaNs to nan by Lua in Minetest 5.6, so we have to support this here + local env = {inf = math_huge, nan = 0/0} if safe then env.loadstring = dummy_func else From f8bb0cd3d1da9d2d9d8dffe78cd0fb651e16a8af Mon Sep 17 00:00:00 2001 From: Jude Melton-Houghton Date: Sun, 11 Sep 2022 13:28:37 -0400 Subject: [PATCH 223/279] Fix potential use-after-free with item metadata (#12729) This fixes a use-after-free bug in the case where itemstack metadata is accessed after the itemstack has been garbage-collected. --- src/script/lua_api/l_item.cpp | 13 ++----------- src/script/lua_api/l_item.h | 13 ++++++++----- src/script/lua_api/l_itemstackmeta.cpp | 16 +++++++++++++--- src/script/lua_api/l_itemstackmeta.h | 17 ++++++++++------- src/util/pointer.h | 14 ++++++++++++++ 5 files changed, 47 insertions(+), 26 deletions(-) diff --git a/src/script/lua_api/l_item.cpp b/src/script/lua_api/l_item.cpp index 13d046d00..05473f43d 100644 --- a/src/script/lua_api/l_item.cpp +++ b/src/script/lua_api/l_item.cpp @@ -34,7 +34,7 @@ with this program; if not, write to the Free Software Foundation, Inc., int LuaItemStack::gc_object(lua_State *L) { LuaItemStack *o = *(LuaItemStack **)(lua_touserdata(L, 1)); - delete o; + o->drop(); return 0; } @@ -152,7 +152,7 @@ int LuaItemStack::l_get_meta(lua_State *L) { NO_MAP_LOCK_REQUIRED; LuaItemStack *o = checkobject(L, 1); - ItemStackMetaRef::create(L, &o->m_stack); + ItemStackMetaRef::create(L, o); return 1; } @@ -438,15 +438,6 @@ LuaItemStack::LuaItemStack(const ItemStack &item): { } -const ItemStack& LuaItemStack::getItem() const -{ - return m_stack; -} -ItemStack& LuaItemStack::getItem() -{ - return m_stack; -} - // LuaItemStack(itemstack or itemstring or table or nil) // Creates an LuaItemStack and leaves it on top of stack int LuaItemStack::create_object(lua_State *L) diff --git a/src/script/lua_api/l_item.h b/src/script/lua_api/l_item.h index a392555d2..72b1922dd 100644 --- a/src/script/lua_api/l_item.h +++ b/src/script/lua_api/l_item.h @@ -21,11 +21,15 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "lua_api/l_base.h" #include "inventory.h" // ItemStack +#include "util/pointer.h" -class LuaItemStack : public ModApiBase { +class LuaItemStack : public ModApiBase, public IntrusiveReferenceCounted { private: ItemStack m_stack; + LuaItemStack(const ItemStack &item); + ~LuaItemStack() = default; + static const char className[]; static const luaL_Reg methods[]; @@ -138,11 +142,10 @@ private: static int l_peek_item(lua_State *L); public: - LuaItemStack(const ItemStack &item); - ~LuaItemStack() = default; + DISABLE_CLASS_COPY(LuaItemStack) - const ItemStack& getItem() const; - ItemStack& getItem(); + inline const ItemStack& getItem() const { return m_stack; } + inline ItemStack& getItem() { return m_stack; } // LuaItemStack(itemstack or itemstring or table or nil) // Creates an LuaItemStack and leaves it on top of stack diff --git a/src/script/lua_api/l_itemstackmeta.cpp b/src/script/lua_api/l_itemstackmeta.cpp index 739fb9221..c17bb8995 100644 --- a/src/script/lua_api/l_itemstackmeta.cpp +++ b/src/script/lua_api/l_itemstackmeta.cpp @@ -38,12 +38,12 @@ ItemStackMetaRef* ItemStackMetaRef::checkobject(lua_State *L, int narg) Metadata* ItemStackMetaRef::getmeta(bool auto_create) { - return &istack->metadata; + return &istack->getItem().metadata; } void ItemStackMetaRef::clearMeta() { - istack->metadata.clear(); + istack->getItem().metadata.clear(); } void ItemStackMetaRef::reportMetadataChange(const std::string *name) @@ -67,6 +67,16 @@ int ItemStackMetaRef::l_set_tool_capabilities(lua_State *L) return 0; } +ItemStackMetaRef::ItemStackMetaRef(LuaItemStack *istack): istack(istack) +{ + istack->grab(); +} + +ItemStackMetaRef::~ItemStackMetaRef() +{ + istack->drop(); +} + // garbage collector int ItemStackMetaRef::gc_object(lua_State *L) { ItemStackMetaRef *o = *(ItemStackMetaRef **)(lua_touserdata(L, 1)); @@ -76,7 +86,7 @@ int ItemStackMetaRef::gc_object(lua_State *L) { // Creates an NodeMetaRef and leaves it on top of stack // Not callable from Lua; all references are created on the C side. -void ItemStackMetaRef::create(lua_State *L, ItemStack *istack) +void ItemStackMetaRef::create(lua_State *L, LuaItemStack *istack) { ItemStackMetaRef *o = new ItemStackMetaRef(istack); //infostream<<"NodeMetaRef::create: o="<metadata.setToolCapabilities(caps); + istack->getItem().metadata.setToolCapabilities(caps); } void clearToolCapabilities() { - istack->metadata.clearToolCapabilities(); + istack->getItem().metadata.clearToolCapabilities(); } // Exported functions @@ -58,12 +58,15 @@ private: // garbage collector static int gc_object(lua_State *L); public: - ItemStackMetaRef(ItemStack *istack): istack(istack) {} - ~ItemStackMetaRef() = default; + // takes a reference + ItemStackMetaRef(LuaItemStack *istack); + ~ItemStackMetaRef(); + + DISABLE_CLASS_COPY(ItemStackMetaRef) // Creates an ItemStackMetaRef and leaves it on top of stack // Not callable from Lua; all references are created on the C side. - static void create(lua_State *L, ItemStack *istack); + static void create(lua_State *L, LuaItemStack *istack); static void Register(lua_State *L); }; diff --git a/src/util/pointer.h b/src/util/pointer.h index b659cea0e..f4b70f822 100644 --- a/src/util/pointer.h +++ b/src/util/pointer.h @@ -257,3 +257,17 @@ private: unsigned int *refcount; }; +// This class is not thread-safe! +class IntrusiveReferenceCounted { +public: + IntrusiveReferenceCounted() = default; + virtual ~IntrusiveReferenceCounted() = default; + void grab() noexcept { ++m_refcount; } + void drop() noexcept { if (--m_refcount == 0) delete this; } + + // Preserve own reference count. + IntrusiveReferenceCounted(const IntrusiveReferenceCounted &) {} + IntrusiveReferenceCounted &operator=(const IntrusiveReferenceCounted &) { return *this; } +private: + u32 m_refcount = 1; +}; From b9f6832347e5a0ca9e10f0d45b2eb1a4c5d82d28 Mon Sep 17 00:00:00 2001 From: DS Date: Tue, 13 Sep 2022 13:48:28 +0200 Subject: [PATCH 224/279] Fix tooltips for dropdown, scrollbar and more (#12747) --- src/gui/guiFormSpecMenu.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp index 1f9914e72..62936743c 100644 --- a/src/gui/guiFormSpecMenu.cpp +++ b/src/gui/guiFormSpecMenu.cpp @@ -825,9 +825,9 @@ void GUIFormSpecMenu::parseImage(parserData* data, const std::string &element) core::rect middle; if (parts.size() >= 4) parseMiddleRect(parts[3], &middle); - + // Temporary fix for issue #12581 in 5.6.0. - // Use legacy image when not rendering 9-slice image because GUIAnimatedImage + // Use legacy image when not rendering 9-slice image because GUIAnimatedImage // uses NNAA filter which causes visual artifacts when image uses alpha blending. gui::IGUIElement *e; @@ -3643,13 +3643,21 @@ void GUIFormSpecMenu::drawMenu() #endif bool hovered_element_found = false; - if (hovered != NULL) { + if (hovered) { if (m_show_debug) { core::rect rect = hovered->getAbsoluteClippingRect(); driver->draw2DRectangle(0x22FFFF00, rect, &rect); } - s32 id = hovered->getID(); + // find the formspec-element of the hovered IGUIElement (a parent) + s32 id; + for (gui::IGUIElement *hovered_fselem = hovered; hovered_fselem; + hovered_fselem = hovered_fselem->getParent()) { + id = hovered_fselem->getID(); + if (id != -1) + break; + } + u64 delta = 0; if (id == -1) { m_old_tooltip_id = id; From 1e0520074c24f01a538b376377b178e0ee3d1355 Mon Sep 17 00:00:00 2001 From: savilli <78875209+savilli@users.noreply.github.com> Date: Fri, 16 Sep 2022 13:20:14 +0200 Subject: [PATCH 225/279] Fix UAF in craft recipes (#12763) If you call minetest.clear_craft after minetest.register_alias_force, the craft definition reference may not be removed from m_output_craft_definitions leading to UAF. --- src/craftdef.cpp | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/src/craftdef.cpp b/src/craftdef.cpp index c05a0cfb7..053e73bea 100644 --- a/src/craftdef.cpp +++ b/src/craftdef.cpp @@ -22,7 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes.h" #include "log.h" #include -#include +#include #include #include "gamedef.h" #include "inventory.h" @@ -1026,26 +1026,31 @@ public: // Recipes are not yet hashed at this point std::vector &defs = m_craft_defs[(int)CRAFT_HASH_TYPE_UNHASHED][0]; + std::unordered_set defs_to_remove; std::vector new_defs; - bool got_hit = false; + for (auto def : defs) { - if (!def->check(input, gamedef)) { + if (def->check(input, gamedef)) + defs_to_remove.insert(def); + else new_defs.push_back(def); - continue; - } - got_hit = true; - std::string output = def->getOutput(input, gamedef).item; - delete def; - auto it = m_output_craft_definitions.find(craftGetItemName(output, gamedef)); - if (it == m_output_craft_definitions.end()) - continue; - std::vector &outdefs = it->second; - outdefs.erase(std::remove(outdefs.begin(), outdefs.end(), def), outdefs.end()); } - if (got_hit) + + if (!defs_to_remove.empty()) { + for (auto def : defs_to_remove) + delete def; + defs.swap(new_defs); - return got_hit; + for (auto &output : m_output_craft_definitions) { + std::vector &outdefs = output.second; + outdefs.erase(std::remove_if(outdefs.begin(), outdefs.end(), [&](const CraftDefinition* def) { + return defs_to_remove.find(def) != defs_to_remove.end(); + }), outdefs.end()); + } + } + + return !defs_to_remove.empty(); } virtual std::string dump() const From 4377c03168bdb5ec7085e03f7f37f61e99768114 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 16 Sep 2022 19:54:43 +0200 Subject: [PATCH 226/279] Bump used IrrlichtMt version --- CMakeLists.txt | 2 +- misc/irrlichtmt_tag.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 94efc4ec3..081c834f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -127,7 +127,7 @@ if(BUILD_CLIENT AND TARGET IrrlichtMt::IrrlichtMt) endif() message(STATUS "Found IrrlichtMt ${IrrlichtMt_VERSION}") - set(TARGET_VER_S 1.9.0mt7) + set(TARGET_VER_S 1.9.0mt8) string(REPLACE "mt" "." TARGET_VER ${TARGET_VER_S}) if(IrrlichtMt_VERSION VERSION_LESS ${TARGET_VER}) message(FATAL_ERROR "At least IrrlichtMt ${TARGET_VER_S} is required to build") diff --git a/misc/irrlichtmt_tag.txt b/misc/irrlichtmt_tag.txt index 2684ddfde..be66833ae 100644 --- a/misc/irrlichtmt_tag.txt +++ b/misc/irrlichtmt_tag.txt @@ -1 +1 @@ -1.9.0mt7 +1.9.0mt8 From 587f6656a4b86346e35da1b43b48b832d3f1b32e Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 19 Sep 2022 21:05:10 +0200 Subject: [PATCH 227/279] Bump version to 5.6.1 --- CMakeLists.txt | 2 +- android/build.gradle | 2 +- misc/net.minetest.minetest.appdata.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 081c834f2..f19b5cdab 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,7 @@ set(CLANG_MINIMUM_VERSION "3.5") # Also remember to set PROTOCOL_VERSION in network/networkprotocol.h when releasing set(VERSION_MAJOR 5) set(VERSION_MINOR 6) -set(VERSION_PATCH 0) +set(VERSION_PATCH 1) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases diff --git a/android/build.gradle b/android/build.gradle index 7113dc7ad..8e7a8a964 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -4,7 +4,7 @@ project.ext.set("versionMajor", 5) // Version Major project.ext.set("versionMinor", 6) // Version Minor project.ext.set("versionPatch", 0) // Version Patch project.ext.set("versionExtra", "") // Version Extra -project.ext.set("versionCode", 40) // Android Version Code +project.ext.set("versionCode", 42) // Android Version Code project.ext.set("developmentBuild", 0) // Whether it is a development build, or a release // NOTE: +2 after each release! // +1 for ARM and +1 for ARM64 APK's, because diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml index 9524182cc..357aa82dc 100644 --- a/misc/net.minetest.minetest.appdata.xml +++ b/misc/net.minetest.minetest.appdata.xml @@ -82,6 +82,6 @@ minetest sfan5@live.de - + From 0dab82085d2cba5242aec0bf4c274094cdaadd2b Mon Sep 17 00:00:00 2001 From: grorp <82708541+grorp@users.noreply.github.com> Date: Fri, 8 Dec 2023 21:13:33 +0100 Subject: [PATCH 228/279] Fix unittest failure for release versions (#14067) --- games/devtest/mods/unittests/get_version.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/games/devtest/mods/unittests/get_version.lua b/games/devtest/mods/unittests/get_version.lua index 99ddcfde6..7ef78257d 100644 --- a/games/devtest/mods/unittests/get_version.lua +++ b/games/devtest/mods/unittests/get_version.lua @@ -7,6 +7,10 @@ unittests.register("test_get_version", function() assert(type(version.proto_min) == "number") assert(type(version.proto_max) == "number") assert(version.proto_max >= version.proto_min) - assert(type(version.hash) == "string") assert(type(version.is_dev) == "boolean") + if version.is_dev then + assert(type(version.hash) == "string") + else + assert(version.hash == nil) + end end) From 367720020c2e93557b90edd4f4a7187eeca8ff10 Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Sun, 17 Dec 2023 09:56:25 +0100 Subject: [PATCH 229/279] Fix touch input on Linux The code relied on touch IDs being consecutive. This is true on Android, but not on Linux. Therefore, touch input on Linux was broken since 53886dcdb52de80d862539e22950c84fbf88df88. --- src/gui/modalMenu.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/modalMenu.cpp b/src/gui/modalMenu.cpp index 0f5ec787a..d00d9617b 100644 --- a/src/gui/modalMenu.cpp +++ b/src/gui/modalMenu.cpp @@ -278,7 +278,7 @@ bool GUIModalMenu::preprocessEvent(const SEvent &event) irr_ptr holder; holder.grab(this); // keep this alive until return (it might be dropped downstream [?]) - if (event.TouchInput.ID == 0) { + if (event.TouchInput.touchedCount == 1) { if (event.TouchInput.Event == ETIE_PRESSED_DOWN || event.TouchInput.Event == ETIE_MOVED) m_pointer = v2s32(event.TouchInput.X, event.TouchInput.Y); gui::IGUIElement *hovered = Environment->getRootGUIElement()->getElementFromPoint(core::position2d(m_pointer)); @@ -295,7 +295,7 @@ bool GUIModalMenu::preprocessEvent(const SEvent &event) if (event.TouchInput.Event == ETIE_LEFT_UP) leave(); return ret; - } else if (event.TouchInput.ID == 1) { + } else if (event.TouchInput.touchedCount == 2) { if (event.TouchInput.Event != ETIE_LEFT_UP) return true; // ignore auto focused = Environment->getFocus(); From 0d372250c1ea0b254788c327d8c958e2fd07ea89 Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Tue, 19 Dec 2023 20:35:50 +0100 Subject: [PATCH 230/279] Fix TouchScreenGUI ignoring server-sent pitch changes --- src/client/game.cpp | 2 +- src/gui/touchscreengui.cpp | 2 +- src/gui/touchscreengui.h | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/client/game.cpp b/src/client/game.cpp index cc8891547..38fd1ddbf 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -2616,7 +2616,7 @@ void Game::updateCameraOrientation(CameraOrientation *cam, float dtime) #ifdef HAVE_TOUCHSCREENGUI if (g_touchscreengui) { cam->camera_yaw += g_touchscreengui->getYawChange(); - cam->camera_pitch = g_touchscreengui->getPitch(); + cam->camera_pitch += g_touchscreengui->getPitchChange(); } else { #endif v2s32 center(driver->getScreenSize().Width / 2, driver->getScreenSize().Height / 2); diff --git a/src/gui/touchscreengui.cpp b/src/gui/touchscreengui.cpp index 4a6486573..bf8fc5afe 100644 --- a/src/gui/touchscreengui.cpp +++ b/src/gui/touchscreengui.cpp @@ -832,7 +832,7 @@ void TouchScreenGUI::translateEvent(const SEvent &event) const double d = g_settings->getFloat("touchscreen_sensitivity", 0.001f, 10.0f) * 3.0f; m_camera_yaw_change -= dir_free.X * d; - m_camera_pitch = MYMIN(MYMAX(m_camera_pitch + (dir_free.Y * d), -180.0f), 180.0f); + m_camera_pitch_change += dir_free.Y * d; // update shootline // no need to update (X, Y) when using crosshair since the shootline is not used diff --git a/src/gui/touchscreengui.h b/src/gui/touchscreengui.h index ff5219f3a..b60edac79 100644 --- a/src/gui/touchscreengui.h +++ b/src/gui/touchscreengui.h @@ -171,7 +171,11 @@ public: return res; } - double getPitch() { return m_camera_pitch; } + double getPitchChange() { + double res = m_camera_pitch_change; + m_camera_pitch_change = 0; + return res; + } /** * Returns a line which describes what the player is pointing at. @@ -213,7 +217,7 @@ private: // value in degree double m_camera_yaw_change = 0.0; - double m_camera_pitch = 0.0; + double m_camera_pitch_change = 0.0; /** * A line starting at the camera and pointing towards the selected object. From fe4f89f3fa86f2c8a95f0b8ac63604ead116da49 Mon Sep 17 00:00:00 2001 From: grorp Date: Sat, 23 Dec 2023 14:39:42 +0100 Subject: [PATCH 231/279] Touchscreen: Make server-sent overrides of button textures work (#14145) --- src/client/game.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/client/game.cpp b/src/client/game.cpp index 38fd1ddbf..d9b0088fc 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -1428,12 +1428,6 @@ bool Game::createClient(const GameStartData &start_data) return false; bool could_connect, connect_aborted; -#ifdef HAVE_TOUCHSCREENGUI - if (g_touchscreengui) { - g_touchscreengui->init(texture_src); - g_touchscreengui->hide(); - } -#endif if (!connectToServer(start_data, &could_connect, &connect_aborted)) return false; @@ -1542,10 +1536,8 @@ bool Game::initGui() -1, chat_backend, client, &g_menumgr); #ifdef HAVE_TOUCHSCREENGUI - if (g_touchscreengui) - g_touchscreengui->show(); - + g_touchscreengui->init(texture_src); #endif return true; From 81e40a1172930c84c521fc61d05ba41231173f4f Mon Sep 17 00:00:00 2001 From: Maintainer_ <131448485+FoxLoveFire@users.noreply.github.com> Date: Fri, 5 Jan 2024 04:39:56 +0500 Subject: [PATCH 232/279] Fix GameUI text staying visible during shutdown. (#14197) --- src/client/game.cpp | 3 +++ src/client/gameui.cpp | 33 +++++++++++++++++++++++++++++++++ src/client/gameui.h | 1 + 3 files changed, 37 insertions(+) diff --git a/src/client/game.cpp b/src/client/game.cpp index d9b0088fc..d84eedf0c 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -1272,6 +1272,9 @@ void Game::shutdown() if (formspec) formspec->quitMenu(); + // Clear text when exiting. + m_game_ui->clearText(); + #ifdef HAVE_TOUCHSCREENGUI g_touchscreengui->hide(); #endif diff --git a/src/client/gameui.cpp b/src/client/gameui.cpp index a4ab44e60..3ea1e2624 100644 --- a/src/client/gameui.cpp +++ b/src/client/gameui.cpp @@ -334,3 +334,36 @@ void GameUI::deleteFormspec() m_formname.clear(); } + +void GameUI::clearText() +{ + if (m_guitext_chat) { + m_guitext_chat->remove(); + m_guitext_chat = nullptr; + } + + if (m_guitext) { + m_guitext->remove(); + m_guitext = nullptr; + } + + if (m_guitext2) { + m_guitext2->remove(); + m_guitext2 = nullptr; + } + + if (m_guitext_info) { + m_guitext_info->remove(); + m_guitext_info = nullptr; + } + + if (m_guitext_status) { + m_guitext_status->remove(); + m_guitext_status = nullptr; + } + + if (m_guitext_profiler) { + m_guitext_profiler->remove(); + m_guitext_profiler = nullptr; + } +} diff --git a/src/client/gameui.h b/src/client/gameui.h index 589328a28..f97ee7e50 100644 --- a/src/client/gameui.h +++ b/src/client/gameui.h @@ -106,6 +106,7 @@ public: const std::string &getFormspecName() { return m_formname; } GUIFormSpecMenu *&getFormspecGUI() { return m_formspec; } void deleteFormspec(); + void clearText(); private: Flags m_flags; From 00f6bd0f08cd68a6edd194ff3b40803407363e3a Mon Sep 17 00:00:00 2001 From: Muhammad Rifqi Priyo Susanto Date: Sun, 14 Jan 2024 02:01:35 +0700 Subject: [PATCH 233/279] Android: Use the correct value for notification (#14209) The notification channel creation is moved into MainActivity. The notification channel ID string is stored into a static variable. The name and description of the notification channel are stored into the strings resource file. Co-authored-by: sfan5 --- .../net/minetest/minetest/MainActivity.java | 34 +++++++++++++++++++ .../net/minetest/minetest/UnzipService.java | 28 ++++----------- android/app/src/main/res/values/strings.xml | 6 ++-- 3 files changed, 45 insertions(+), 23 deletions(-) diff --git a/android/app/src/main/java/net/minetest/minetest/MainActivity.java b/android/app/src/main/java/net/minetest/minetest/MainActivity.java index d942e93e3..9eaa7316d 100644 --- a/android/app/src/main/java/net/minetest/minetest/MainActivity.java +++ b/android/app/src/main/java/net/minetest/minetest/MainActivity.java @@ -20,23 +20,29 @@ with this program; if not, write to the Free Software Foundation, Inc., package net.minetest.minetest; +import android.app.NotificationChannel; +import android.app.NotificationManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; +import android.os.Build; import android.os.Bundle; import android.view.View; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; +import androidx.annotation.RequiresApi; import androidx.annotation.StringRes; import androidx.appcompat.app.AppCompatActivity; import static net.minetest.minetest.UnzipService.*; public class MainActivity extends AppCompatActivity { + public static final String NOTIFICATION_CHANNEL_ID = "Minetest channel"; + private final static int versionCode = BuildConfig.VERSION_CODE; private static final String SETTINGS = "MinetestSettings"; private static final String TAG_VERSION_CODE = "versionCode"; @@ -81,12 +87,18 @@ public class MainActivity extends AppCompatActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + IntentFilter filter = new IntentFilter(ACTION_UPDATE); registerReceiver(myReceiver, filter); + mProgressBar = findViewById(R.id.progressBar); mTextView = findViewById(R.id.textView); sharedPreferences = getSharedPreferences(SETTINGS, Context.MODE_PRIVATE); + checkAppVersion(); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) + createNotificationChannel(); } private void checkAppVersion() { @@ -114,6 +126,28 @@ public class MainActivity extends AppCompatActivity { startActivity(intent); } + @RequiresApi(Build.VERSION_CODES.O) + private void createNotificationChannel() { + NotificationManager notifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + if (notifyManager == null) + return; + + NotificationChannel notifyChannel = new NotificationChannel( + NOTIFICATION_CHANNEL_ID, + getString(R.string.notification_channel_name), + NotificationManager.IMPORTANCE_LOW + ); + notifyChannel.setDescription(getString(R.string.notification_channel_description)); + // Configure the notification channel without sound set + notifyChannel.setSound(null, null); + notifyChannel.enableLights(false); + notifyChannel.enableVibration(false); + + // It is fine to always create the notification channel because creating a channel + // with the same ID is the same as overriding it (only its name and description). + notifyManager.createNotificationChannel(notifyChannel); + } + @Override public void onBackPressed() { // Prevent abrupt interruption when copy game files from assets diff --git a/android/app/src/main/java/net/minetest/minetest/UnzipService.java b/android/app/src/main/java/net/minetest/minetest/UnzipService.java index 8c293fa89..5dccc4563 100644 --- a/android/app/src/main/java/net/minetest/minetest/UnzipService.java +++ b/android/app/src/main/java/net/minetest/minetest/UnzipService.java @@ -22,7 +22,6 @@ package net.minetest.minetest; import android.app.IntentService; import android.app.Notification; -import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; @@ -58,9 +57,11 @@ public class UnzipService extends IntentService { private String failureMessage; private static boolean isRunning = false; + public static synchronized boolean getIsRunning() { return isRunning; } + private static synchronized void setIsRunning(boolean v) { isRunning = v; } @@ -99,28 +100,13 @@ public class UnzipService extends IntentService { } } + @NonNull private Notification.Builder createNotification() { - String name = "net.minetest.minetest"; - String channelId = "Minetest channel"; - String description = "notifications from Minetest"; Notification.Builder builder; if (mNotifyManager == null) mNotifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - int importance = NotificationManager.IMPORTANCE_LOW; - NotificationChannel mChannel = null; - if (mNotifyManager != null) - mChannel = mNotifyManager.getNotificationChannel(channelId); - if (mChannel == null) { - mChannel = new NotificationChannel(channelId, name, importance); - mChannel.setDescription(description); - // Configure the notification channel, NO SOUND - mChannel.setSound(null, null); - mChannel.enableLights(false); - mChannel.enableVibration(false); - mNotifyManager.createNotificationChannel(mChannel); - } - builder = new Notification.Builder(this, channelId); + builder = new Notification.Builder(this, MainActivity.NOTIFICATION_CHANNEL_ID); } else { builder = new Notification.Builder(this); } @@ -135,9 +121,9 @@ public class UnzipService extends IntentService { PendingIntent intent = PendingIntent.getActivity(this, 0, notificationIntent, pendingIntentFlag); - builder.setContentTitle(getString(R.string.notification_title)) + builder.setContentTitle(getString(R.string.unzip_notification_title)) .setSmallIcon(R.mipmap.ic_launcher) - .setContentText(getString(R.string.notification_description)) + .setContentText(getString(R.string.unzip_notification_description)) .setContentIntent(intent) .setOngoing(true) .setProgress(0, 0, true); @@ -198,7 +184,7 @@ public class UnzipService extends IntentService { } } - private void publishProgress(@Nullable Notification.Builder notificationBuilder, @StringRes int message, int progress) { + private void publishProgress(@Nullable Notification.Builder notificationBuilder, @StringRes int message, int progress) { Intent intentUpdate = new Intent(ACTION_UPDATE); intentUpdate.putExtra(ACTION_PROGRESS, progress); intentUpdate.putExtra(ACTION_PROGRESS_MESSAGE, message); diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index d8bb7ac68..9eb1d3ca1 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -2,7 +2,9 @@ Minetest Loading… - Loading Minetest - Less than 1 minute… + General notification + Notifications from Minetest + Loading Minetest + Less than 1 minute… Done From 50edb30a1876ff2ccb8767a5f710a47ec2aee6e9 Mon Sep 17 00:00:00 2001 From: grorp Date: Tue, 23 Jan 2024 21:33:27 +0100 Subject: [PATCH 234/279] Save the settings in more cases to avoid losing setting changes (especially on Android) (#14266) --- .../net/minetest/minetest/GameActivity.java | 11 ++++++++ builtin/mainmenu/settings/dlg_settings.lua | 16 ++++++++++++ src/client/clientlauncher.cpp | 25 ++++++++++++++++--- src/porting_android.cpp | 7 ++++++ 4 files changed, 55 insertions(+), 4 deletions(-) diff --git a/android/app/src/main/java/net/minetest/minetest/GameActivity.java b/android/app/src/main/java/net/minetest/minetest/GameActivity.java index caac0637d..013cf0265 100644 --- a/android/app/src/main/java/net/minetest/minetest/GameActivity.java +++ b/android/app/src/main/java/net/minetest/minetest/GameActivity.java @@ -80,6 +80,17 @@ public class GameActivity extends NativeActivity { makeFullScreen(); } + private native void saveSettings(); + + @Override + protected void onStop() { + super.onStop(); + // Avoid losing setting changes in case the app is onDestroy()ed later. + // Saving stuff in onStop() is recommended in the Android activity + // lifecycle documentation. + saveSettings(); + } + @Override public void onBackPressed() { // Ignore the back press so Minetest can handle it diff --git a/builtin/mainmenu/settings/dlg_settings.lua b/builtin/mainmenu/settings/dlg_settings.lua index 01ff2dcb0..252953815 100644 --- a/builtin/mainmenu/settings/dlg_settings.lua +++ b/builtin/mainmenu/settings/dlg_settings.lua @@ -608,6 +608,16 @@ local function get_formspec(dialogdata) end +-- On Android, closing the app via the "Recents screen" won't result in a clean +-- exit, discarding any setting changes made by the user. +-- To avoid that, we write the settings file in more cases on Android. +function write_settings_early() + if PLATFORM == "Android" then + core.settings:write() + end +end + + local function buttonhandler(this, fields) local dialogdata = this.data dialogdata.leftscroll = core.explode_scrollbar_event(fields.leftscroll).value or dialogdata.leftscroll @@ -622,12 +632,15 @@ local function buttonhandler(this, fields) if fields.show_technical_names ~= nil then local value = core.is_yes(fields.show_technical_names) core.settings:set_bool("show_technical_names", value) + write_settings_early() + return true end if fields.show_advanced ~= nil then local value = core.is_yes(fields.show_advanced) core.settings:set_bool("show_advanced", value) + write_settings_early() local suggested_page_id = update_filtered_pages(dialogdata.query) @@ -672,12 +685,15 @@ local function buttonhandler(this, fields) for i, comp in ipairs(dialogdata.components) do if comp.on_submit and comp:on_submit(fields, this) then + write_settings_early() + -- Clear components so they regenerate dialogdata.components = nil return true end if comp.setting and fields["reset_" .. i] then core.settings:remove(comp.setting.name) + write_settings_early() -- Clear components so they regenerate dialogdata.components = nil diff --git a/src/client/clientlauncher.cpp b/src/client/clientlauncher.cpp index 80381dc6e..93be46d90 100644 --- a/src/client/clientlauncher.cpp +++ b/src/client/clientlauncher.cpp @@ -247,11 +247,8 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) } // Break out of menu-game loop to shut down cleanly - if (!m_rendering_engine->run() || *kill) { - if (!g_settings_path.empty()) - g_settings->updateConfigFile(g_settings_path.c_str()); + if (!m_rendering_engine->run() || *kill) break; - } m_rendering_engine->get_video_driver()->setTextureCreationFlag( video::ETCF_CREATE_MIP_MAPS, g_settings->getBool("mip_map")); @@ -292,6 +289,16 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) receiver->m_touchscreengui = NULL; #endif + /* Save the settings when leaving the game. + * This makes sure that setting changes made in-game are persisted even + * in case of a later unclean exit from the mainmenu. + * This is especially useful on Android because closing the app from the + * "Recents screen" results in an unclean exit. + * Caveat: This means that the settings are saved twice when exiting Minetest. + */ + if (!g_settings_path.empty()) + g_settings->updateConfigFile(g_settings_path.c_str()); + // If no main menu, show error and exit if (skip_main_menu) { if (!error_message.empty()) { @@ -555,6 +562,16 @@ void ClientLauncher::main_menu(MainMenuData *menudata) /* leave scene manager in a clean state */ m_rendering_engine->get_scene_manager()->clear(); + + /* Save the settings when leaving the mainmenu. + * This makes sure that setting changes made in the mainmenu are persisted + * even in case of a later unclean exit from the game. + * This is especially useful on Android because closing the app from the + * "Recents screen" results in an unclean exit. + * Caveat: This means that the settings are saved twice when exiting Minetest. + */ + if (!g_settings_path.empty()) + g_settings->updateConfigFile(g_settings_path.c_str()); } void ClientLauncher::speed_tests() diff --git a/src/porting_android.cpp b/src/porting_android.cpp index 1ed56015f..ed22c09d3 100644 --- a/src/porting_android.cpp +++ b/src/porting_android.cpp @@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "config.h" #include "filesys.h" #include "log.h" +#include "settings.h" #include #include @@ -39,6 +40,12 @@ with this program; if not, write to the Free Software Foundation, Inc., extern int main(int argc, char *argv[]); +extern "C" JNIEXPORT void JNICALL +Java_net_minetest_minetest_GameActivity_saveSettings(JNIEnv* env, jobject /* this */) { + if (!g_settings_path.empty()) + g_settings->updateConfigFile(g_settings_path.c_str()); +} + void android_main(android_app *app) { int retval = 0; From 4d024d737cf2802b41502b3b70f5d899ba10d1e3 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 20 Jan 2024 16:26:05 +0100 Subject: [PATCH 235/279] Bypass media transfer in single player --- src/client/clientmedia.cpp | 30 +++++++++++------------------- src/client/clientmedia.h | 10 ++++++---- src/client/filecache.cpp | 21 +++++++++++++++++++-- src/client/filecache.h | 4 ++++ src/client/game.cpp | 24 ++++++++++++++++++++++++ src/server.cpp | 13 +++++++++++++ src/server.h | 4 ++++ 7 files changed, 81 insertions(+), 25 deletions(-) diff --git a/src/client/clientmedia.cpp b/src/client/clientmedia.cpp index f78fe9e35..9d3e9fedc 100644 --- a/src/client/clientmedia.cpp +++ b/src/client/clientmedia.cpp @@ -29,6 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/serialize.h" #include "util/sha1.h" #include "util/string.h" +#include static std::string getMediaCacheDir() { @@ -41,7 +42,16 @@ bool clientMediaUpdateCache(const std::string &raw_hash, const std::string &file std::string sha1_hex = hex_encode(raw_hash); if (!media_cache.exists(sha1_hex)) return media_cache.update(sha1_hex, filedata); - return true; + return false; +} + +bool clientMediaUpdateCacheCopy(const std::string &raw_hash, const std::string &path) +{ + FileCache media_cache(getMediaCacheDir()); + std::string sha1_hex = hex_encode(raw_hash); + if (!media_cache.exists(sha1_hex)) + return media_cache.updateCopyFile(sha1_hex, path); + return false; } /* @@ -189,10 +199,6 @@ void ClientMediaDownloader::initialStep(Client *client) assert(m_uncached_received_count == 0); - // Create the media cache dir if we are likely to write to it - if (m_uncached_count != 0) - createCacheDirs(); - // If we found all files in the cache, report this fact to the server. // If the server reported no remote servers, immediately start // conventional transfers. Note: if cURL support is not compiled in, @@ -511,18 +517,6 @@ IClientMediaDownloader::IClientMediaDownloader(): { } -void IClientMediaDownloader::createCacheDirs() -{ - if (!m_write_to_cache) - return; - - std::string path = getMediaCacheDir(); - if (!fs::CreateAllDirs(path)) { - errorstream << "Client: Could not create media cache directory: " - << path << std::endl; - } -} - bool IClientMediaDownloader::tryLoadFromCache(const std::string &name, const std::string &sha1, Client *client) { @@ -726,8 +720,6 @@ void SingleMediaDownloader::initialStep(Client *client) if (isDone()) return; - createCacheDirs(); - // If the server reported no remote servers, immediately fall back to // conventional transfer. if (!USE_CURL || m_remotes.empty()) { diff --git a/src/client/clientmedia.h b/src/client/clientmedia.h index c297d737f..27af86e4b 100644 --- a/src/client/clientmedia.h +++ b/src/client/clientmedia.h @@ -22,7 +22,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes.h" #include "filecache.h" #include "util/basic_macros.h" -#include #include #include #include @@ -35,10 +34,15 @@ struct HTTPFetchResult; #define MTHASHSET_FILE_NAME "index.mth" // Store file into media cache (unless it exists already) -// Validating the hash is responsibility of the caller +// Caller should check the hash. +// return true if something was updated bool clientMediaUpdateCache(const std::string &raw_hash, const std::string &filedata); +// Copy file on disk(!) into media cache (unless it exists already) +bool clientMediaUpdateCacheCopy(const std::string &raw_hash, + const std::string &path); + // more of a base class than an interface but this name was most convenient... class IClientMediaDownloader { @@ -81,8 +85,6 @@ protected: virtual bool loadMedia(Client *client, const std::string &data, const std::string &name) = 0; - void createCacheDirs(); - bool tryLoadFromCache(const std::string &name, const std::string &sha1, Client *client); diff --git a/src/client/filecache.cpp b/src/client/filecache.cpp index 46bbe4059..f3d7bf34a 100644 --- a/src/client/filecache.cpp +++ b/src/client/filecache.cpp @@ -28,6 +28,14 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include +void FileCache::createDir() +{ + if (!fs::CreateAllDirs(m_dir)) { + errorstream << "Could not create cache directory: " + << m_dir << std::endl; + } +} + bool FileCache::loadByPath(const std::string &path, std::ostream &os) { std::ifstream fis(path.c_str(), std::ios_base::binary); @@ -40,8 +48,8 @@ bool FileCache::loadByPath(const std::string &path, std::ostream &os) bool bad = false; for(;;){ - char buf[1024]; - fis.read(buf, 1024); + char buf[4096]; + fis.read(buf, sizeof(buf)); std::streamsize len = fis.gcount(); os.write(buf, len); if(fis.eof()) @@ -61,6 +69,7 @@ bool FileCache::loadByPath(const std::string &path, std::ostream &os) bool FileCache::updateByPath(const std::string &path, const std::string &data) { + createDir(); std::ofstream file(path.c_str(), std::ios_base::binary | std::ios_base::trunc); @@ -95,3 +104,11 @@ bool FileCache::exists(const std::string &name) std::ifstream fis(path.c_str(), std::ios_base::binary); return fis.good(); } + +bool FileCache::updateCopyFile(const std::string &name, const std::string &src_path) +{ + std::string path = m_dir + DIR_DELIM + name; + + createDir(); + return fs::CopyFileContents(src_path, path); +} diff --git a/src/client/filecache.h b/src/client/filecache.h index ea6afc4b2..c8d5a781e 100644 --- a/src/client/filecache.h +++ b/src/client/filecache.h @@ -35,9 +35,13 @@ public: bool load(const std::string &name, std::ostream &os); bool exists(const std::string &name); + // Copy another file on disk into the cache + bool updateCopyFile(const std::string &name, const std::string &src_path); + private: std::string m_dir; + void createDir(); bool loadByPath(const std::string &path, std::ostream &os); bool updateByPath(const std::string &path, const std::string &data); }; diff --git a/src/client/game.cpp b/src/client/game.cpp index d84eedf0c..f5d113632 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -33,6 +33,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "client/mapblock_mesh.h" #include "client/sound.h" #include "clientmap.h" +#include "clientmedia.h" // For clientMediaUpdateCacheCopy #include "clouds.h" #include "config.h" #include "content_cao.h" @@ -737,6 +738,7 @@ protected: bool initSound(); bool createSingleplayerServer(const std::string &map_dir, const SubgameSpec &gamespec, u16 port); + void copyServerClientCache(); // Client creation bool createClient(const GameStartData &start_data); @@ -1419,9 +1421,31 @@ bool Game::createSingleplayerServer(const std::string &map_dir, false, nullptr, error_message); server->start(); + copyServerClientCache(); + return true; } +void Game::copyServerClientCache() +{ + // It would be possible to let the client directly read the media files + // from where the server knows they are. But aside from being more complicated + // it would also *not* fill the media cache and cause slower joining of + // remote servers. + // (Imagine that you launch a game once locally and then connect to a server.) + + assert(server); + auto map = server->getMediaList(); + u32 n = 0; + for (auto &it : map) { + assert(it.first.size() == 20); // SHA1 + if (clientMediaUpdateCacheCopy(it.first, it.second)) + n++; + } + infostream << "Copied " << n << " files directly from server to client cache" + << std::endl; +} + bool Game::createClient(const GameStartData &start_data) { showOverlayMessage(N_("Creating client..."), 0, 10); diff --git a/src/server.cpp b/src/server.cpp index 78b706336..f531e133a 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -4081,6 +4081,19 @@ Translations *Server::getTranslationLanguage(const std::string &lang_code) return translations; } +std::unordered_map Server::getMediaList() +{ + MutexAutoLock env_lock(m_env_mutex); + + std::unordered_map ret; + for (auto &it : m_media) { + if (it.second.no_announce) + continue; + ret.emplace(base64_decode(it.second.sha1_digest), it.second.path); + } + return ret; +} + ModStorageDatabase *Server::openModStorageDatabase(const std::string &world_path) { std::string world_mt_path = world_path + DIR_DELIM + "world.mt"; diff --git a/src/server.h b/src/server.h index 4ef374352..1b0e06f24 100644 --- a/src/server.h +++ b/src/server.h @@ -375,6 +375,10 @@ public: // Get or load translations for a language Translations *getTranslationLanguage(const std::string &lang_code); + // Returns all media files the server knows about + // map key = binary sha1, map value = file path + std::unordered_map getMediaList(); + static ModStorageDatabase *openModStorageDatabase(const std::string &world_path); static ModStorageDatabase *openModStorageDatabase(const std::string &backend, From 008310aad988d9a61f6e2a2d41abd5198d8618f0 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 20 Jan 2024 17:16:08 +0100 Subject: [PATCH 236/279] Add unit tests for fs::CopyFileContents --- src/unittest/test_filepath.cpp | 50 +++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/src/unittest/test_filepath.cpp b/src/unittest/test_filepath.cpp index f1a79062d..e5c08d656 100644 --- a/src/unittest/test_filepath.cpp +++ b/src/unittest/test_filepath.cpp @@ -38,6 +38,8 @@ public: void testRemoveLastPathComponent(); void testRemoveLastPathComponentWithTrailingDelimiter(); void testRemoveRelativePathComponent(); + void testSafeWriteToFile(); + void testCopyFileContents(); }; static TestFilePath g_test_instance; @@ -49,6 +51,8 @@ void TestFilePath::runTests(IGameDef *gamedef) TEST(testRemoveLastPathComponent); TEST(testRemoveLastPathComponentWithTrailingDelimiter); TEST(testRemoveRelativePathComponent); + TEST(testSafeWriteToFile); + TEST(testCopyFileContents); } //////////////////////////////////////////////////////////////////////////////// @@ -56,7 +60,7 @@ void TestFilePath::runTests(IGameDef *gamedef) // adjusts a POSIX path to system-specific conventions // -> changes '/' to DIR_DELIM // -> absolute paths start with "C:\\" on windows -std::string p(std::string path) +static std::string p(std::string path) { for (size_t i = 0; i < path.size(); ++i) { if (path[i] == '/') { @@ -262,3 +266,47 @@ void TestFilePath::testRemoveRelativePathComponent() result = fs::RemoveRelativePathComponents(path); UASSERT(result == p("/a/e")); } + + +void TestFilePath::testSafeWriteToFile() +{ + const std::string dest_path = getTestTempFile(); + const std::string test_data("hello\0world", 11); + fs::safeWriteToFile(dest_path, test_data); + UASSERT(fs::PathExists(dest_path)); + std::string contents_actual; + UASSERT(fs::ReadFile(dest_path, contents_actual)); + UASSERTEQ(auto, contents_actual, test_data); +} + +void TestFilePath::testCopyFileContents() +{ + const auto dir_path = getTestTempDirectory(); + const auto file1 = dir_path + DIR_DELIM "src", file2 = dir_path + DIR_DELIM "dst"; + const std::string test_data("hello\0world", 11); + + // error case + UASSERT(!fs::CopyFileContents(file1, "somewhere")); + + { + std::ofstream ofs(file1); + ofs << test_data; + } + + // normal case + UASSERT(fs::CopyFileContents(file1, file2)); + std::string contents_actual; + UASSERT(fs::ReadFile(file2, contents_actual)); + UASSERTEQ(auto, contents_actual, test_data); + + // should overwrite and truncate + { + std::ofstream ofs(file2); + for (int i = 0; i < 10; i++) + ofs << "OH MY GAH"; + } + UASSERT(fs::CopyFileContents(file1, file2)); + contents_actual.clear(); + UASSERT(fs::ReadFile(file2, contents_actual)); + UASSERTEQ(auto, contents_actual, test_data); +} From b64f4bdb3aa0687f80bb3f10dd80cfd8d0fd5771 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 20 Jan 2024 17:16:16 +0100 Subject: [PATCH 237/279] Optimize fs::CopyFileContents on Linux and Windows --- src/filesys.cpp | 181 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 127 insertions(+), 54 deletions(-) diff --git a/src/filesys.cpp b/src/filesys.cpp index d91199594..2239bac66 100644 --- a/src/filesys.cpp +++ b/src/filesys.cpp @@ -31,6 +31,13 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef SERVER #include "irr_ptr.h" #endif +#ifdef __linux__ +#include +#include +#ifndef FICLONE +#define FICLONE _IOW(0x94, 9, int) +#endif +#endif namespace fs { @@ -214,6 +221,31 @@ std::string CreateTempFile() return path; } +bool CopyFileContents(const std::string &source, const std::string &target) +{ + BOOL ok = CopyFileEx(source.c_str(), target.c_str(), nullptr, nullptr, + nullptr, COPY_FILE_ALLOW_DECRYPTED_DESTINATION); + if (!ok) { + errorstream << "copying " << source << " to " << target + << " failed: " << GetLastError() << std::endl; + return false; + } + + // docs: "File attributes for the existing file are copied to the new file." + // This is not our intention so get rid of unwanted attributes: + DWORD attr = GetFileAttributes(target.c_str()); + if (attr == INVALID_FILE_ATTRIBUTES) { + errorstream << target << ": file disappeared after copy" << std::endl; + return false; + } + attr &= ~(FILE_ATTRIBUTE_READONLY | FILE_ATTRIBUTE_HIDDEN); + SetFileAttributes(target.c_str(), attr); + + tracestream << "copied " << source << " to " << target + << " using CopyFileEx" << std::endl; + return true; +} + #else /********* @@ -412,6 +444,101 @@ std::string CreateTempFile() return path; } +namespace { + struct FileDeleter { + void operator()(FILE *stream) { + fclose(stream); + } + }; + + typedef std::unique_ptr FileUniquePtr; +} + +bool CopyFileContents(const std::string &source, const std::string &target) +{ + FileUniquePtr sourcefile, targetfile; + +#ifdef __linux__ + // Try to clone using Copy-on-Write (CoW). This is instant but supported + // only by some filesystems. + + int srcfd, tgtfd; + srcfd = open(source.c_str(), O_RDONLY); + if (srcfd == -1) { + errorstream << source << ": can't open for reading: " + << strerror(errno) << std::endl; + return false; + } + tgtfd = open(target.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0644); + if (tgtfd == -1) { + errorstream << target << ": can't open for writing: " + << strerror(errno) << std::endl; + close(srcfd); + return false; + } + + if (ioctl(tgtfd, FICLONE, srcfd) == 0) { + tracestream << "copied " << source << " to " << target + << " using FICLONE" << std::endl; + close(srcfd); + close(tgtfd); + return true; + } + + // fallback to normal copy, but no need to reopen the files + sourcefile.reset(fdopen(srcfd, "rb")); + targetfile.reset(fdopen(tgtfd, "wb")); + goto fallback; + +#endif + + sourcefile.reset(fopen(source.c_str(), "rb")); + targetfile.reset(fopen(target.c_str(), "wb")); + +fallback: + + if (!sourcefile) { + errorstream << source << ": can't open for reading: " + << strerror(errno) << std::endl; + return false; + } + if (!targetfile) { + errorstream << target << ": can't open for writing: " + << strerror(errno) << std::endl; + return false; + } + + size_t total = 0; + bool done = false; + char readbuffer[BUFSIZ]; + while (!done) { + size_t readbytes = fread(readbuffer, 1, + sizeof(readbuffer), sourcefile.get()); + total += readbytes; + if (ferror(sourcefile.get())) { + errorstream << source << ": IO error: " + << strerror(errno) << std::endl; + return false; + } + if (readbytes > 0) + fwrite(readbuffer, 1, readbytes, targetfile.get()); + if (feof(sourcefile.get())) { + // flush destination file to catch write errors (e.g. disk full) + fflush(targetfile.get()); + done = true; + } + if (ferror(targetfile.get())) { + errorstream << target << ": IO error: " + << strerror(errno) << std::endl; + return false; + } + } + tracestream << "copied " << total << " bytes from " + << source << " to " << target << std::endl; + + return true; +} + #endif /**************************** @@ -486,60 +613,6 @@ bool CreateAllDirs(const std::string &path) return true; } -bool CopyFileContents(const std::string &source, const std::string &target) -{ - FILE *sourcefile = fopen(source.c_str(), "rb"); - if(sourcefile == NULL){ - errorstream< 0){ - fwrite(readbuffer, 1, readbytes, targetfile); - } - if(feof(sourcefile) || ferror(sourcefile)){ - // flush destination file to catch write errors - // (e.g. disk full) - fflush(targetfile); - done = true; - } - if(ferror(targetfile)){ - errorstream< Date: Sat, 20 Jan 2024 18:18:00 +0100 Subject: [PATCH 238/279] Drop valgrind from CI and instead enable ASan The recently added ioctl use is reported as a false-positive by valgrind. I tried moving it to different compilers/versions two times and only hit further issues that were valgrind's fault. Also includes a tiny fix. --- .github/workflows/build.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 907f997c1..49fe21b44 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -83,7 +83,7 @@ jobs: - name: Install deps run: | source ./util/ci/common.sh - install_linux_deps clang-7 valgrind + install_linux_deps clang-7 llvm - name: Build run: | @@ -91,15 +91,12 @@ jobs: env: CC: clang-7 CXX: clang++-7 + CMAKE_FLAGS: '-DCMAKE_C_FLAGS="-fsanitize=address" -DCMAKE_CXX_FLAGS="-fsanitize=address"' - name: Unittest run: | ./bin/minetest --run-unittests - - name: Valgrind - run: | - valgrind --leak-check=full --leak-check-heuristics=all --undef-value-errors=no --error-exitcode=9 ./bin/minetest --run-unittests - # Current clang version clang_14: runs-on: ubuntu-22.04 From 35a83c3514f38003f656274cc6946baca0d0724c Mon Sep 17 00:00:00 2001 From: David Heidelberg Date: Fri, 9 Feb 2024 00:01:12 +0100 Subject: [PATCH 239/279] Enable IPO/LTO by default except for debug builds (#14198) Test case: ``` $ cmake . -DRUN_IN_PLACE=TRUE -DCMAKE_BUILD_TYPE=Release -DBUILD_SERVER=TRUE -DENABLE_TOUCH=FALSE minetest minetestserver W/o LTO: 13M 7.3M W/ LTO: 11M 5.9M difference: 15% 19% ``` Also fixes various compiler warnings resulting from compilation using LTO. --------- Signed-off-by: David Heidelberg --- CMakeLists.txt | 30 ++++++++++++++++++------- doc/compiling/README.md | 1 + src/client/particles.cpp | 4 ++-- src/gui/guiTable.cpp | 2 +- src/nodedef.cpp | 2 +- src/script/lua_api/l_server.cpp | 40 ++++++++++++++++----------------- util/ci/build.sh | 3 ++- 7 files changed, 49 insertions(+), 33 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c86aff85b..4b5f4e896 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,4 @@ -cmake_minimum_required(VERSION 3.5) - -# Set policies up to 3.9 since we want to enable the IPO option -if(${CMAKE_VERSION} VERSION_LESS 3.9) - cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) -else() - cmake_policy(VERSION 3.9) -endif() +cmake_minimum_required(VERSION 3.12) # This can be read from ${PROJECT_NAME} after project() is called project(minetest) @@ -44,6 +37,13 @@ set(BUILD_UNITTESTS TRUE CACHE BOOL "Build unittests") set(BUILD_BENCHMARKS FALSE CACHE BOOL "Build benchmarks") set(BUILD_DOCUMENTATION TRUE CACHE BOOL "Build documentation") +set(DEFAULT_ENABLE_LTO TRUE) +# by default don't enable on Debug builds to get faster builds +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(DEFAULT_ENABLE_LTO FALSE) +endif() +set(ENABLE_LTO ${DEFAULT_ENABLE_LTO} CACHE BOOL "Use Link Time Optimization") + set(DEFAULT_RUN_IN_PLACE FALSE) if(WIN32) set(DEFAULT_RUN_IN_PLACE TRUE) @@ -66,6 +66,20 @@ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type: Debug or Release" FORCE) endif() +# FIXME: Windows build fails in multiple places to link, needs to be investigated. +if (ENABLE_LTO AND NOT WIN32) + include(CheckIPOSupported) + check_ipo_supported(RESULT lto_supported OUTPUT lto_output) + if(lto_supported) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) + message(STATUS "LTO/IPO is enabled") + else() + message(STATUS "LTO/IPO requested but it is not supported by the compiler: ${lto_output}") + endif() +else() + message(STATUS "LTO/IPO is not enabled") +endif() + set(ENABLE_UPDATE_CHECKER (NOT ${DEVELOPMENT_BUILD}) CACHE BOOL "Whether to enable update checks by default") diff --git a/doc/compiling/README.md b/doc/compiling/README.md index f4812e77d..cdc39b217 100644 --- a/doc/compiling/README.md +++ b/doc/compiling/README.md @@ -28,6 +28,7 @@ General options and their default values: ENABLE_REDIS=ON - Build with libhiredis; Enables use of Redis map backend ENABLE_SPATIAL=ON - Build with LibSpatial; Speeds up AreaStores ENABLE_SOUND=ON - Build with OpenAL, libogg & libvorbis; in-game sounds + ENABLE_LTO=ON - Build with IPO/LTO optimizations (smaller and more efficient than regular build) ENABLE_LUAJIT=ON - Build with LuaJIT (much faster than non-JIT Lua) ENABLE_PROMETHEUS=OFF - Build with Prometheus metrics exporter (listens on tcp/30000 by default) ENABLE_SYSTEM_GMP=ON - Use GMP from system (much faster than bundled mini-gmp) diff --git a/src/client/particles.cpp b/src/client/particles.cpp index 0697763ca..14384f3b8 100644 --- a/src/client/particles.cpp +++ b/src/client/particles.cpp @@ -213,10 +213,10 @@ void Particle::step(float dtime) if (m_p.animation.type != TAT_NONE) { m_animation_time += dtime; - int frame_length_i, frame_count; + int frame_length_i = 0; m_p.animation.determineParams( m_material.getTexture(0)->getSize(), - &frame_count, &frame_length_i, NULL); + NULL, &frame_length_i, NULL); float frame_length = frame_length_i / 1000.0; while (m_animation_time > frame_length) { m_animation_frame++; diff --git a/src/gui/guiTable.cpp b/src/gui/guiTable.cpp index b5042802a..b2c8e6abc 100644 --- a/src/gui/guiTable.cpp +++ b/src/gui/guiTable.cpp @@ -222,7 +222,7 @@ void GUITable::setTable(const TableOptions &options, s32 colcount = columns.size(); assert(colcount >= 1); // rowcount = ceil(cellcount / colcount) but use integer arithmetic - s32 rowcount = (content.size() + colcount - 1) / colcount; + s32 rowcount = std::min(((u32)content.size() + colcount - 1) / colcount, (u32)S32_MAX); assert(rowcount >= 0); // Append empty strings to content if there is an incomplete row s32 cellcount = rowcount * colcount; diff --git a/src/nodedef.cpp b/src/nodedef.cpp index cbfc77055..85b779429 100644 --- a/src/nodedef.cpp +++ b/src/nodedef.cpp @@ -716,7 +716,7 @@ static void fillTileAttribs(ITextureSource *tsrc, TileLayer *layer, int frame_count = 1; if (layer->material_flags & MATERIAL_FLAG_ANIMATION) { assert(layer->texture); - int frame_length_ms; + int frame_length_ms = 0; tiledef.animation.determineParams(layer->texture->getOriginalSize(), &frame_count, &frame_length_ms, NULL); layer->animation_frame_count = frame_count; diff --git a/src/script/lua_api/l_server.cpp b/src/script/lua_api/l_server.cpp index 12e5a1a5d..635d88d70 100644 --- a/src/script/lua_api/l_server.cpp +++ b/src/script/lua_api/l_server.cpp @@ -167,26 +167,6 @@ int ModApiServer::l_get_player_information(lua_State *L) return 1; } - /* - Be careful not to introduce a depdendency on the connection to - the peer here. This function is >>REQUIRED<< to still be able to return - values even when the peer unexpectedly disappears. - Hence all the ConInfo values here are optional. - */ - - auto getConInfo = [&] (con::rtt_stat_type type, float *value) -> bool { - return server->getClientConInfo(player->getPeerId(), type, value); - }; - - float min_rtt, max_rtt, avg_rtt, min_jitter, max_jitter, avg_jitter; - bool have_con_info = - getConInfo(con::MIN_RTT, &min_rtt) && - getConInfo(con::MAX_RTT, &max_rtt) && - getConInfo(con::AVG_RTT, &avg_rtt) && - getConInfo(con::MIN_JITTER, &min_jitter) && - getConInfo(con::MAX_JITTER, &max_jitter) && - getConInfo(con::AVG_JITTER, &avg_jitter); - ClientInfo info; if (!server->getClientInfo(player->getPeerId(), info)) { warningstream << FUNCTION_NAME << ": no client info?!" << std::endl; @@ -211,6 +191,26 @@ int ModApiServer::l_get_player_information(lua_State *L) } lua_settable(L, table); + /* + Be careful not to introduce a depdendency on the connection to + the peer here. This function is >>REQUIRED<< to still be able to return + values even when the peer unexpectedly disappears. + Hence all the ConInfo values here are optional. + */ + + auto getConInfo = [&] (con::rtt_stat_type type, float *value) -> bool { + return server->getClientConInfo(player->getPeerId(), type, value); + }; + + float min_rtt, max_rtt, avg_rtt, min_jitter, max_jitter, avg_jitter; + bool have_con_info = + getConInfo(con::MIN_RTT, &min_rtt) && + getConInfo(con::MAX_RTT, &max_rtt) && + getConInfo(con::AVG_RTT, &avg_rtt) && + getConInfo(con::MIN_JITTER, &min_jitter) && + getConInfo(con::MAX_JITTER, &max_jitter) && + getConInfo(con::AVG_JITTER, &avg_jitter); + if (have_con_info) { // may be missing lua_pushstring(L, "min_rtt"); lua_pushnumber(L, min_rtt); diff --git a/util/ci/build.sh b/util/ci/build.sh index 88349b852..944cc2124 100755 --- a/util/ci/build.sh +++ b/util/ci/build.sh @@ -1,7 +1,8 @@ -#! /bin/bash -e +#!/bin/bash -e cmake -B build \ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Debug} \ + -DENABLE_LTO=FALSE \ -DRUN_IN_PLACE=TRUE \ -DENABLE_GETTEXT=${CMAKE_ENABLE_GETTEXT:-TRUE} \ -DBUILD_SERVER=${CMAKE_BUILD_SERVER:-TRUE} \ From ab2419db2453010aef7f069db9cf4285f2dc912d Mon Sep 17 00:00:00 2001 From: lhofhansl Date: Thu, 15 Feb 2024 08:25:33 -0800 Subject: [PATCH 240/279] Allow shaders with disabled post processing pipeline (#14338) - Allow disabling of the post processing pipeline while leaving shaders enabled - Also disable post processing on Android by default --- builtin/settingtypes.txt | 24 +++++++++++++++--------- src/client/render/plain.cpp | 4 ++-- src/defaultsettings.cpp | 2 ++ 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index ee7ba72d2..cb480a437 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -401,7 +401,8 @@ anisotropic_filter (Anisotropic filtering) bool false # # * None - No antialiasing (default) # -# * FSAA - Hardware-provided full-screen antialiasing (incompatible with shaders) +# * FSAA - Hardware-provided full-screen antialiasing +# (incompatible with Post Processing and Undersampling) # A.K.A multi-sample antialiasing (MSAA) # Smoothens out block edges but does not affect the insides of textures. # A restart is required to change this option. @@ -557,12 +558,17 @@ shadow_sky_body_orbit_tilt (Sky Body Orbit Tilt) float 0.0 -60.0 60.0 [**Post Processing] +# Enables the post processing pipeline. +# +# Requires: shaders +enable_post_processing (Enable Post Processing) bool true + # Enables Hable's 'Uncharted 2' filmic tone mapping. # Simulates the tone curve of photographic film and how this approximates the # appearance of high dynamic range images. Mid-range contrast is slightly # enhanced, highlights and shadows are gradually compressed. # -# Requires: shaders +# Requires: shaders, enable_post_processing tone_mapping (Filmic tone mapping) bool false # Enable automatic exposure correction @@ -570,14 +576,14 @@ tone_mapping (Filmic tone mapping) bool false # automatically adjust to the brightness of the scene, # simulating the behavior of human eye. # -# Requires: shaders +# Requires: shaders, enable_post_processing enable_auto_exposure (Enable Automatic Exposure) bool false # Set the exposure compensation in EV units. # Value of 0.0 (default) means no exposure compensation. # Range: from -1 to 1.0 # -# Requires: shaders, enable_auto_exposure +# Requires: shaders, enable_post_processing, enable_auto_exposure exposure_compensation (Exposure compensation) float 0.0 -1.0 1.0 [**Bloom] @@ -585,7 +591,7 @@ exposure_compensation (Exposure compensation) float 0.0 -1.0 1.0 # Set to true to enable bloom effect. # Bright colors will bleed over the neighboring objects. # -# Requires: shaders +# Requires: shaders, enable_post_processing enable_bloom (Enable Bloom) bool false # Set to true to render debugging breakdown of the bloom effect. @@ -593,27 +599,27 @@ enable_bloom (Enable Bloom) bool false # top-left - processed base image, top-right - final image # bottom-left - raw base image, bottom-right - bloom texture. # -# Requires: shaders, enable_bloom +# Requires: shaders, enable_post_processing, enable_bloom enable_bloom_debug (Enable Bloom Debug) bool false # Defines how much bloom is applied to the rendered image # Smaller values make bloom more subtle # Range: from 0.01 to 1.0, default: 0.05 # -# Requires: shaders, enable_bloom +# Requires: shaders, enable_post_processing, enable_bloom bloom_intensity (Bloom Intensity) float 0.05 0.01 1.0 # Defines the magnitude of bloom overexposure. # Range: from 0.1 to 10.0, default: 1.0 # -# Requires: shaders, enable_bloom +# Requires: shaders, enable_post_processing, enable_bloom bloom_strength_factor (Bloom Strength Factor) float 1.0 0.1 10.0 # Logical value that controls how far the bloom effect spreads # from the bright objects. # Range: from 0.1 to 8, default: 1 # -# Requires: shaders, enable_bloom +# Requires: shaders, enable_post_processing, enable_bloom bloom_radius (Bloom Radius) float 1 0.1 8 diff --git a/src/client/render/plain.cpp b/src/client/render/plain.cpp index dccdaedb3..43b26b2d6 100644 --- a/src/client/render/plain.cpp +++ b/src/client/render/plain.cpp @@ -106,7 +106,7 @@ void UpscaleStep::run(PipelineContext &context) std::unique_ptr create3DStage(Client *client, v2f scale) { RenderStep *step = new Draw3D(); - if (g_settings->getBool("enable_shaders")) { + if (g_settings->getBool("enable_shaders") && g_settings->getBool("enable_post_processing")) { RenderPipeline *pipeline = new RenderPipeline(); pipeline->addStep(pipeline->own(std::unique_ptr(step))); @@ -131,7 +131,7 @@ RenderStep* addUpscaling(RenderPipeline *pipeline, RenderStep *previousStep, v2f return previousStep; // When shaders are enabled, post-processing pipeline takes care of rescaling - if (g_settings->getBool("enable_shaders")) + if (g_settings->getBool("enable_shaders") && g_settings->getBool("enable_post_processing")) return previousStep; diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 8ca079357..934b2c504 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -248,6 +248,7 @@ void set_default_settings() settings->setDefault("minimap_double_scan_height", "true"); // Effects + settings->setDefault("enable_post_processing", "true"); settings->setDefault("directional_colored_fog", "true"); settings->setDefault("inventory_items_animations", "false"); settings->setDefault("mip_map", "false"); @@ -497,6 +498,7 @@ void set_default_settings() settings->setDefault("active_block_range", "2"); settings->setDefault("viewing_range", "50"); settings->setDefault("leaves_style", "simple"); + settings->setDefault("enable_post_processing", "false"); settings->setDefault("curl_verify_cert", "false"); // Apply settings according to screen size From 5715434d5e6c4c77010a2f02b48513b21ecffdbd Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sun, 18 Feb 2024 14:58:38 +0100 Subject: [PATCH 241/279] Skip Android deps download if they already exist It's close to impossible to test locally built changes otherwise. --- android/native/build.gradle | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/android/native/build.gradle b/android/native/build.gradle index 396ccff85..e78ddfc49 100644 --- a/android/native/build.gradle +++ b/android/native/build.gradle @@ -43,19 +43,25 @@ android { } // get precompiled deps -task downloadDeps(type: Download) { - def depsDir = new File(buildDir.parent, 'deps') - def depsZip = new File(buildDir, 'deps.zip') +def depsDir = new File(buildDir.parent, 'deps') +if (new File(depsDir, 'armeabi-v7a').exists()) { + task getDeps { + doLast { logger.lifecycle('Using existing deps from {}', depsDir) } + } +} else { + task downloadDeps(type: Download) { + def depsZip = new File(buildDir, 'deps.zip') - src 'https://github.com/minetest/minetest_android_deps/releases/download/latest/deps.zip' - dest depsZip - overwrite false + src 'https://github.com/minetest/minetest_android_deps/releases/download/latest/deps.zip' + dest depsZip + overwrite false - task getDeps(dependsOn: downloadDeps, type: Copy) { - depsDir.mkdir() - from zipTree(depsZip) - into depsDir - doFirst { logger.lifecycle('Extracting to {}', depsDir) } + task getDeps(dependsOn: downloadDeps, type: Copy) { + depsDir.mkdir() + from zipTree(depsZip) + into depsDir + doFirst { logger.lifecycle('Extracting to {}', depsDir) } + } } } From 4183443f02d3762d6c0a84f3c7473fd4d8407a6f Mon Sep 17 00:00:00 2001 From: grorp Date: Tue, 12 Mar 2024 20:09:43 +0100 Subject: [PATCH 242/279] Allow sync HTTP fetches to be interrupted to fix hanging (#14412) Co-authored-by: Jude Melton-Houghton --- src/gui/guiEngine.cpp | 6 ++++-- src/httpfetch.cpp | 32 ++++++++++++++++++++++++++++---- src/httpfetch.h | 9 ++++++--- src/script/lua_api/l_http.cpp | 4 ++-- src/threading/thread.cpp | 11 +++++++++++ src/threading/thread.h | 5 +++++ 6 files changed, 56 insertions(+), 11 deletions(-) diff --git a/src/gui/guiEngine.cpp b/src/gui/guiEngine.cpp index fd1121346..dfc7f70ed 100644 --- a/src/gui/guiEngine.cpp +++ b/src/gui/guiEngine.cpp @@ -608,13 +608,15 @@ bool GUIEngine::downloadFile(const std::string &url, const std::string &target) fetch_request.caller = HTTPFETCH_SYNC; fetch_request.timeout = std::max(MIN_HTTPFETCH_TIMEOUT, (long)g_settings->getS32("curl_file_download_timeout")); - httpfetch_sync(fetch_request, fetch_result); + bool completed = httpfetch_sync_interruptible(fetch_request, fetch_result); - if (!fetch_result.succeeded) { + if (!completed || !fetch_result.succeeded) { target_file.close(); fs::DeleteSingleFileOrEmptyDirectory(target); return false; } + // TODO: directly stream the response data into the file instead of first + // storing the complete response in memory target_file << fetch_result.data; return true; diff --git a/src/httpfetch.cpp b/src/httpfetch.cpp index a966d4855..652313979 100644 --- a/src/httpfetch.cpp +++ b/src/httpfetch.cpp @@ -31,6 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "exceptions.h" #include "debug.h" #include "log.h" +#include "porting.h" #include "util/container.h" #include "util/thread.h" #include "version.h" @@ -783,7 +784,7 @@ static void httpfetch_request_clear(u64 caller) } } -void httpfetch_sync(const HTTPFetchRequest &fetch_request, +static void httpfetch_sync(const HTTPFetchRequest &fetch_request, HTTPFetchResult &fetch_result) { // Create ongoing fetch data and make a cURL handle @@ -796,6 +797,28 @@ void httpfetch_sync(const HTTPFetchRequest &fetch_request, fetch_result = *ongoing.complete(res); } +bool httpfetch_sync_interruptible(const HTTPFetchRequest &fetch_request, + HTTPFetchResult &fetch_result, long interval) +{ + if (Thread *thread = Thread::getCurrentThread()) { + HTTPFetchRequest req = fetch_request; + req.caller = httpfetch_caller_alloc_secure(); + httpfetch_async(req); + do { + if (thread->stopRequested()) { + httpfetch_caller_free(req.caller); + fetch_result = HTTPFetchResult(fetch_request); + return false; + } + sleep_ms(interval); + } while (!httpfetch_async_get(req.caller, fetch_result)); + httpfetch_caller_free(req.caller); + } else { + httpfetch_sync(fetch_request, fetch_result); + } + return true; +} + #else // USE_CURL /* @@ -825,13 +848,14 @@ static void httpfetch_request_clear(u64 caller) { } -void httpfetch_sync(const HTTPFetchRequest &fetch_request, - HTTPFetchResult &fetch_result) +bool httpfetch_sync_interruptible(const HTTPFetchRequest &fetch_request, + HTTPFetchResult &fetch_result, long interval) { - errorstream << "httpfetch_sync: unable to fetch " << fetch_request.url + errorstream << "httpfetch_sync_interruptible: unable to fetch " << fetch_request.url << " because USE_CURL=0" << std::endl; fetch_result = HTTPFetchResult(fetch_request); // sets succeeded = false etc. + return false; } #endif // USE_CURL diff --git a/src/httpfetch.h b/src/httpfetch.h index 930ce591c..88a4cd727 100644 --- a/src/httpfetch.h +++ b/src/httpfetch.h @@ -135,6 +135,9 @@ u64 httpfetch_caller_alloc_secure(); // to stop any ongoing fetches for the given caller. void httpfetch_caller_free(u64 caller); -// Performs a synchronous HTTP request. This blocks and therefore should -// only be used from background threads. -void httpfetch_sync(const HTTPFetchRequest &fetch_request, HTTPFetchResult &fetch_result); +// Performs a synchronous HTTP request that is interruptible if the current +// thread is a Thread object. interval is the completion check interval in ms. +// This blocks and therefore should only be used from background threads. +// Returned is whether the request completed without interruption. +bool httpfetch_sync_interruptible(const HTTPFetchRequest &fetch_request, + HTTPFetchResult &fetch_result, long interval = 100); diff --git a/src/script/lua_api/l_http.cpp b/src/script/lua_api/l_http.cpp index 5566a8523..57f632291 100644 --- a/src/script/lua_api/l_http.cpp +++ b/src/script/lua_api/l_http.cpp @@ -114,9 +114,9 @@ int ModApiHttp::l_http_fetch_sync(lua_State *L) infostream << "Mod performs HTTP request with URL " << req.url << std::endl; HTTPFetchResult res; - httpfetch_sync(req, res); + bool completed = httpfetch_sync_interruptible(req, res); - push_http_fetch_result(L, res, true); + push_http_fetch_result(L, res, completed); return 1; } diff --git a/src/threading/thread.cpp b/src/threading/thread.cpp index ef639ffef..6baa301f6 100644 --- a/src/threading/thread.cpp +++ b/src/threading/thread.cpp @@ -60,6 +60,9 @@ DEALINGS IN THE SOFTWARE. #endif +thread_local Thread *current_thread = nullptr; + + Thread::Thread(const std::string &name) : m_name(name), m_request_stop(false), @@ -176,6 +179,8 @@ void Thread::threadProc(Thread *thr) thr->m_kernel_thread_id = thread_self(); #endif + current_thread = thr; + thr->setName(thr->m_name); g_logger.registerThread(thr->m_name); @@ -196,6 +201,12 @@ void Thread::threadProc(Thread *thr) } +Thread *Thread::getCurrentThread() +{ + return current_thread; +} + + void Thread::setName(const std::string &name) { #if defined(__linux__) diff --git a/src/threading/thread.h b/src/threading/thread.h index 45fb171da..2d0641b43 100644 --- a/src/threading/thread.h +++ b/src/threading/thread.h @@ -119,6 +119,11 @@ public: */ bool setPriority(int prio); + /* + * Returns the thread object of the current thread if it exists. + */ + static Thread *getCurrentThread(); + /* * Sets the currently executing thread's name to where supported; useful * for debugging. From c3893064a38071b3f2a419f408f7aadbcecb2e60 Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Tue, 2 Apr 2024 09:39:44 +0200 Subject: [PATCH 243/279] Fix all cached media being loaded at once on the main thread --- src/client/client.cpp | 5 +++++ src/client/client.h | 1 + src/client/clientmedia.cpp | 13 +++++++++++++ 3 files changed, 19 insertions(+) diff --git a/src/client/client.cpp b/src/client/client.cpp index c17fa2ab9..4563383ee 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -1777,6 +1777,11 @@ float Client::mediaReceiveProgress() return 1.0; // downloader only exists when not yet done } +void Client::drawLoadScreen(const std::wstring &text, float dtime, int percent) { + m_rendering_engine->run(); + m_rendering_engine->draw_load_screen(text, guienv, m_tsrc, dtime, percent); +} + struct TextureUpdateArgs { gui::IGUIEnvironment *guienv; u64 last_time_ms; diff --git a/src/client/client.h b/src/client/client.h index 4c49301ce..7de33d385 100644 --- a/src/client/client.h +++ b/src/client/client.h @@ -357,6 +357,7 @@ public: float mediaReceiveProgress(); + void drawLoadScreen(const std::wstring &text, float dtime, int percent); void afterContentReceived(); void showUpdateProgressTexture(void *args, u32 progress, u32 max_progress); diff --git a/src/client/clientmedia.cpp b/src/client/clientmedia.cpp index 9d3e9fedc..a05d51f47 100644 --- a/src/client/clientmedia.cpp +++ b/src/client/clientmedia.cpp @@ -18,6 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "clientmedia.h" +#include "gettext.h" #include "httpfetch.h" #include "client.h" #include "filecache.h" @@ -184,6 +185,11 @@ void ClientMediaDownloader::step(Client *client) void ClientMediaDownloader::initialStep(Client *client) { + std::wstring loading_text = wstrgettext("Media..."); + // Tradeoff between responsiveness during media loading and media loading speed + const u64 chunk_time_ms = 33; + u64 last_time = porting::getTimeMs(); + // Check media cache m_uncached_count = m_files.size(); for (auto &file_it : m_files) { @@ -195,6 +201,13 @@ void ClientMediaDownloader::initialStep(Client *client) filestatus->received = true; m_uncached_count--; } + + u64 cur_time = porting::getTimeMs(); + u64 dtime = porting::getDeltaMs(last_time, cur_time); + if (dtime >= chunk_time_ms) { + client->drawLoadScreen(loading_text, dtime / 1000.0f, 30); + last_time = cur_time; + } } assert(m_uncached_received_count == 0); From f572266f19178591a60be4220e897e61ea692519 Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Tue, 2 Apr 2024 14:57:25 +0200 Subject: [PATCH 244/279] Fix local server startup and shutdown blocking the main thread Co-authored-by: sfan5 --- src/client/game.cpp | 57 +++++++++++++++++++++++++++++++------ src/debug.h | 1 - src/threading/lambda.h | 64 ++++++++++++++++++++++++++++++++++++++++++ src/threading/thread.h | 1 + 4 files changed, 113 insertions(+), 10 deletions(-) create mode 100644 src/threading/lambda.h diff --git a/src/client/game.cpp b/src/client/game.cpp index f5d113632..914ddc327 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -64,6 +64,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "settings.h" #include "shader.h" #include "sky.h" +#include "threading/lambda.h" #include "translation.h" #include "util/basic_macros.h" #include "util/directiontables.h" @@ -1056,12 +1057,6 @@ Game::Game() : Game::~Game() { - delete client; - delete soundmaker; - sound_manager.reset(); - - delete server; // deleted first to stop all server threads - delete hud; delete camera; delete quicktune; @@ -1314,6 +1309,28 @@ void Game::shutdown() sleep_ms(100); } } + + delete client; + delete soundmaker; + sound_manager.reset(); + + auto stop_thread = runInThread([=] { + delete server; + }, "ServerStop"); + + FpsControl fps_control; + fps_control.reset(); + + while (stop_thread->isRunning()) { + m_rendering_engine->run(); + f32 dtime; + fps_control.limit(device, &dtime); + showOverlayMessage(N_("Shutting down..."), dtime, 0, false); + } + + stop_thread->rethrow(); + + // to be continued in Game::~Game } @@ -1419,11 +1436,33 @@ bool Game::createSingleplayerServer(const std::string &map_dir, server = new Server(map_dir, gamespec, simple_singleplayer_mode, bind_addr, false, nullptr, error_message); - server->start(); - copyServerClientCache(); + auto start_thread = runInThread([=] { + server->start(); + copyServerClientCache(); + }, "ServerStart"); - return true; + input->clear(); + bool success = true; + + FpsControl fps_control; + fps_control.reset(); + + while (start_thread->isRunning()) { + if (!m_rendering_engine->run() || input->cancelPressed()) + success = false; + f32 dtime; + fps_control.limit(device, &dtime); + + if (success) + showOverlayMessage(N_("Creating server..."), dtime, 5); + else + showOverlayMessage(N_("Shutting down..."), dtime, 0, false); + } + + start_thread->rethrow(); + + return success; } void Game::copyServerClientCache() diff --git a/src/debug.h b/src/debug.h index aeea81d47..80497f2b3 100644 --- a/src/debug.h +++ b/src/debug.h @@ -19,7 +19,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #pragma once -#include #include #include #include "gettime.h" diff --git a/src/threading/lambda.h b/src/threading/lambda.h new file mode 100644 index 000000000..146693457 --- /dev/null +++ b/src/threading/lambda.h @@ -0,0 +1,64 @@ +// Minetest +// SPDX-License-Identifier: LGPL-2.1-or-later + +#pragma once + +#include +#include +#include +#include "debug.h" +#include "threading/thread.h" + +/** + * Class returned by `runInThread`. + * + * Provides the usual thread methods along with `rethrow()`. +*/ +class LambdaThread : public Thread +{ + friend std::unique_ptr runInThread( + const std::function &, const std::string &); +public: + /// Re-throw a caught exception, if any. Can only be called after thread exit. + void rethrow() + { + sanity_check(!isRunning()); + if (m_exptr) + std::rethrow_exception(m_exptr); + } + +private: + // hide methods + LambdaThread(const std::string &name="") : Thread(name) {} + using Thread::start; + + std::function m_fn; + std::exception_ptr m_exptr; + + void *run() + { + try { + m_fn(); + } catch(...) { + m_exptr = std::current_exception(); + } + return nullptr; + }; +}; + +/** + * Run a lambda in a separate thread. + * + * Exceptions will be caught. + * @param fn function to run + * @param thread_name name for thread + * @return thread object of type `LambdaThread` +*/ +std::unique_ptr runInThread(const std::function &fn, + const std::string &thread_name = "") +{ + std::unique_ptr t(new LambdaThread(thread_name)); + t->m_fn = fn; + t->start(); + return t; +} diff --git a/src/threading/thread.h b/src/threading/thread.h index 2d0641b43..f915be2b3 100644 --- a/src/threading/thread.h +++ b/src/threading/thread.h @@ -59,6 +59,7 @@ public: Thread(const std::string &name=""); virtual ~Thread(); DISABLE_CLASS_COPY(Thread) + // Note: class cannot be moved since other references exist /* * Begins execution of a new thread at the pure virtual method Thread::run(). From 00774bc28b98b5335bf4faee19f62122d2aadff9 Mon Sep 17 00:00:00 2001 From: grorp Date: Sun, 21 Apr 2024 15:52:46 +0200 Subject: [PATCH 245/279] Fix some Game members not being freed after some startup errors (#14561) --- src/client/clientlauncher.cpp | 13 ++++--------- src/client/game.cpp | 13 +++++++++++++ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/client/clientlauncher.cpp b/src/client/clientlauncher.cpp index 93be46d90..52efedc47 100644 --- a/src/client/clientlauncher.cpp +++ b/src/client/clientlauncher.cpp @@ -215,8 +215,9 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) L" " + utf8_to_wide(g_version_hash) + L" [" + wstrgettext("Main Menu") + L"]").c_str()); - try { // This is used for catching disconnects - +#ifdef NDEBUG + try { +#endif m_rendering_engine->get_gui_env()->clear(); /* @@ -267,14 +268,8 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args) chat_backend, &reconnect_requested ); - } //try - catch (con::PeerNotFoundException &e) { - error_message = gettext("Connection error (timed out?)"); - errorstream << error_message << std::endl; - } - #ifdef NDEBUG - catch (std::exception &e) { + } catch (std::exception &e) { error_message = "Some exception: "; error_message.append(debug_describe_exc(e)); errorstream << error_message << std::endl; diff --git a/src/client/game.cpp b/src/client/game.cpp index 914ddc327..244ae848e 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -1057,6 +1057,12 @@ Game::Game() : Game::~Game() { + delete client; + delete soundmaker; + sound_manager.reset(); + + delete server; + delete hud; delete camera; delete quicktune; @@ -1311,11 +1317,14 @@ void Game::shutdown() } delete client; + client = nullptr; delete soundmaker; + soundmaker = nullptr; sound_manager.reset(); auto stop_thread = runInThread([=] { delete server; + server = nullptr; }, "ServerStop"); FpsControl fps_control; @@ -4611,6 +4620,10 @@ void the_game(bool *kill, error_message = std::string("ModError: ") + e.what() + strgettext("\nCheck debug.txt for details."); errorstream << error_message << std::endl; + } catch (con::PeerNotFoundException &e) { + error_message = gettext("Connection error (timed out?)"); + errorstream << error_message << std::endl; } + game.shutdown(); } From 857ba25115834ce05386edbbc76df94fb184e4ce Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Wed, 24 Apr 2024 16:50:18 +0200 Subject: [PATCH 246/279] Android CI: Additionally make an AAB for uploading to the Play Store (#14584) --- .github/workflows/android.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 8cbe5e09f..e341807c5 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -28,8 +28,17 @@ jobs: run: | sudo apt-get update sudo apt-get install -y --no-install-recommends gettext openjdk-11-jdk-headless - - name: Build with Gradle + - name: Build AAB with Gradle + # We build an AAB as well for uploading to the the Play Store. + run: cd android; ./gradlew bundlerelease + - name: Build APKs with Gradle + # "assemblerelease" is very fast after "bundlerelease". run: cd android; ./gradlew assemblerelease + - name: Save AAB artifact + uses: actions/upload-artifact@v4 + with: + name: Minetest-release.aab + path: android/app/build/outputs/bundle/release/app-release.aab - name: Save armeabi artifact uses: actions/upload-artifact@v3 with: From f61f6626b726ac5d3b763d475554722c3173f5ff Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Mon, 15 Apr 2024 20:22:02 +0200 Subject: [PATCH 247/279] Fix Android build for 5.8.1 --- android/native/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/native/build.gradle b/android/native/build.gradle index e78ddfc49..8c4b7c91d 100644 --- a/android/native/build.gradle +++ b/android/native/build.gradle @@ -52,7 +52,7 @@ if (new File(depsDir, 'armeabi-v7a').exists()) { task downloadDeps(type: Download) { def depsZip = new File(buildDir, 'deps.zip') - src 'https://github.com/minetest/minetest_android_deps/releases/download/latest/deps.zip' + src 'https://github.com/minetest/minetest_android_deps/releases/download/5.8.0/deps.zip' dest depsZip overwrite false From d445638265886ed9f0ae680eebc18c976d7e5387 Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Sun, 21 Apr 2024 19:02:35 +0200 Subject: [PATCH 248/279] Bump version to 5.8.1 --- CMakeLists.txt | 2 +- android/build.gradle | 4 ++-- doc/client_lua_api.md | 2 +- doc/menu_lua_api.md | 2 +- misc/net.minetest.minetest.appdata.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b5f4e896..f68e5c8e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ set(CLANG_MINIMUM_VERSION "7.0.1") # You should not need to edit these manually, use util/bump_version.sh set(VERSION_MAJOR 5) set(VERSION_MINOR 8) -set(VERSION_PATCH 0) +set(VERSION_PATCH 1) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases diff --git a/android/build.gradle b/android/build.gradle index 08a6cc0cb..f29169b8c 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,9 +2,9 @@ project.ext.set("versionMajor", 5) // Version Major project.ext.set("versionMinor", 8) // Version Minor -project.ext.set("versionPatch", 0) // Version Patch +project.ext.set("versionPatch", 1) // Version Patch // ^ keep in sync with cmake -project.ext.set("versionCode", 46) // Android Version Code +project.ext.set("versionCode", 48) // Android Version Code // NOTE: +2 after each release! // +1 for ARM and +1 for ARM64 APK's, because // each APK must have a larger `versionCode` than the previous diff --git a/doc/client_lua_api.md b/doc/client_lua_api.md index 2411d8fc1..587395f54 100644 --- a/doc/client_lua_api.md +++ b/doc/client_lua_api.md @@ -1,4 +1,4 @@ -Minetest Lua Client Modding API Reference 5.8.0 +Minetest Lua Client Modding API Reference 5.8.1 ================================================ * More information at * Developer Wiki: diff --git a/doc/menu_lua_api.md b/doc/menu_lua_api.md index 1eec75228..cc0991d6a 100644 --- a/doc/menu_lua_api.md +++ b/doc/menu_lua_api.md @@ -1,4 +1,4 @@ -Minetest Lua Mainmenu API Reference 5.8.0 +Minetest Lua Mainmenu API Reference 5.8.1 ========================================= Introduction diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml index c9b88b37a..71282e814 100644 --- a/misc/net.minetest.minetest.appdata.xml +++ b/misc/net.minetest.minetest.appdata.xml @@ -82,6 +82,6 @@ minetest sfan5@live.de - + From c011fa0188ec824a24dc35f0eb888d305d89e1d8 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Mon, 12 Aug 2024 15:25:57 +0300 Subject: [PATCH 249/279] Include unistd.h for getpid() when _IRR_COMPILE_WITH_X11_ --- irr/src/CIrrDeviceLinux.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/irr/src/CIrrDeviceLinux.cpp b/irr/src/CIrrDeviceLinux.cpp index 71eb0f260..5491d2037 100644 --- a/irr/src/CIrrDeviceLinux.cpp +++ b/irr/src/CIrrDeviceLinux.cpp @@ -45,9 +45,12 @@ #include #endif +#if defined(_IRR_COMPILE_WITH_X11_) || defined(_IRR_COMPILE_WITH_JOYSTICK_EVENTS_) +#include +#endif + #if defined _IRR_COMPILE_WITH_JOYSTICK_EVENTS_ #include -#include #ifdef __FreeBSD__ #include From 93ac2ed8949ef7b4e09578cfe0dca11bb093c1f3 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 19 Aug 2024 09:17:52 +0200 Subject: [PATCH 250/279] [no sq] Move shaders & remove dead Irrlicht tests (#15006) * Move irrlicht shaders to correct place * Remove unused Irrlicht tests --- client/shaders/Irrlicht | 1 - .../shaders/Irrlicht}/OneTextureBlend.fsh | 0 .../shaders/Irrlicht}/Renderer2D.fsh | 0 .../shaders/Irrlicht}/Renderer2D.vsh | 0 .../shaders/Irrlicht}/Renderer2D_noTex.fsh | 0 .../shaders/Irrlicht}/Solid.fsh | 0 .../shaders/Irrlicht}/Solid.vsh | 0 .../Irrlicht}/TransparentAlphaChannel.fsh | 0 .../Irrlicht}/TransparentAlphaChannelRef.fsh | 0 .../Irrlicht}/TransparentVertexAlpha.fsh | 0 irr/.github/workflows/build.yml | 310 ------------------ irr/CMakeLists.txt | 9 - irr/examples/AutomatedTest/main.cpp | 154 --------- irr/examples/AutomatedTest/test_array.cpp | 138 -------- irr/examples/AutomatedTest/test_helper.h | 33 -- irr/examples/AutomatedTest/test_string.cpp | 205 ------------ irr/examples/CMakeLists.txt | 17 - irr/media/coolguy_opt.x | 2 - irr/media/cooltexture.png | Bin 4828 -> 0 bytes irr/scripts/ci-build-android.sh | 123 ------- irr/scripts/ci-build-mingw.sh | 70 ---- irr/scripts/ci-get-mingw.sh | 9 - irr/scripts/sha256sums.txt | 9 - irr/test/CMakeLists.txt | 32 -- irr/test/data/sample_16bpp_v3.bmp | Bin 654 -> 0 bytes irr/test/data/sample_16bpp_v7.bmp | Bin 738 -> 0 bytes irr/test/data/sample_24bpp.png | Bin 580 -> 0 bytes irr/test/data/sample_24bpp_down.tga | Bin 899 -> 0 bytes irr/test/data/sample_24bpp_rle_down.tga | Bin 844 -> 0 bytes irr/test/data/sample_24bpp_rle_up.tga | Bin 844 -> 0 bytes irr/test/data/sample_24bpp_up.tga | Bin 899 -> 0 bytes irr/test/data/sample_24bpp_v3.bmp | Bin 954 -> 0 bytes irr/test/data/sample_24bpp_v7.bmp | Bin 1038 -> 0 bytes irr/test/data/sample_4bpp_v3.bmp | Bin 298 -> 0 bytes irr/test/data/sample_8bpp.png | Bin 346 -> 0 bytes irr/test/data/sample_8bpp_down.tga | Bin 419 -> 0 bytes irr/test/data/sample_8bpp_rle_down.tga | Bin 444 -> 0 bytes irr/test/data/sample_8bpp_rle_up.tga | Bin 444 -> 0 bytes irr/test/data/sample_8bpp_up.tga | Bin 419 -> 0 bytes irr/test/data/sample_8bpp_v3.bmp | Bin 474 -> 0 bytes irr/test/data/sample_8bpp_v3_rle.bmp | Bin 524 -> 0 bytes irr/test/data/sample_8bpp_v7.bmp | Bin 558 -> 0 bytes irr/test/data/sample_8bpp_v7_rle.bmp | Bin 608 -> 0 bytes irr/test/image_loader_test.cpp | 162 --------- 44 files changed, 1274 deletions(-) delete mode 120000 client/shaders/Irrlicht rename {irr/media/Shaders => client/shaders/Irrlicht}/OneTextureBlend.fsh (100%) rename {irr/media/Shaders => client/shaders/Irrlicht}/Renderer2D.fsh (100%) rename {irr/media/Shaders => client/shaders/Irrlicht}/Renderer2D.vsh (100%) rename {irr/media/Shaders => client/shaders/Irrlicht}/Renderer2D_noTex.fsh (100%) rename {irr/media/Shaders => client/shaders/Irrlicht}/Solid.fsh (100%) rename {irr/media/Shaders => client/shaders/Irrlicht}/Solid.vsh (100%) rename {irr/media/Shaders => client/shaders/Irrlicht}/TransparentAlphaChannel.fsh (100%) rename {irr/media/Shaders => client/shaders/Irrlicht}/TransparentAlphaChannelRef.fsh (100%) rename {irr/media/Shaders => client/shaders/Irrlicht}/TransparentVertexAlpha.fsh (100%) delete mode 100644 irr/.github/workflows/build.yml delete mode 100644 irr/examples/AutomatedTest/main.cpp delete mode 100644 irr/examples/AutomatedTest/test_array.cpp delete mode 100644 irr/examples/AutomatedTest/test_helper.h delete mode 100644 irr/examples/AutomatedTest/test_string.cpp delete mode 100644 irr/examples/CMakeLists.txt delete mode 100755 irr/media/coolguy_opt.x delete mode 100755 irr/media/cooltexture.png delete mode 100755 irr/scripts/ci-build-android.sh delete mode 100755 irr/scripts/ci-build-mingw.sh delete mode 100755 irr/scripts/ci-get-mingw.sh delete mode 100644 irr/scripts/sha256sums.txt delete mode 100644 irr/test/CMakeLists.txt delete mode 100644 irr/test/data/sample_16bpp_v3.bmp delete mode 100644 irr/test/data/sample_16bpp_v7.bmp delete mode 100644 irr/test/data/sample_24bpp.png delete mode 100644 irr/test/data/sample_24bpp_down.tga delete mode 100644 irr/test/data/sample_24bpp_rle_down.tga delete mode 100644 irr/test/data/sample_24bpp_rle_up.tga delete mode 100644 irr/test/data/sample_24bpp_up.tga delete mode 100644 irr/test/data/sample_24bpp_v3.bmp delete mode 100644 irr/test/data/sample_24bpp_v7.bmp delete mode 100644 irr/test/data/sample_4bpp_v3.bmp delete mode 100644 irr/test/data/sample_8bpp.png delete mode 100644 irr/test/data/sample_8bpp_down.tga delete mode 100644 irr/test/data/sample_8bpp_rle_down.tga delete mode 100644 irr/test/data/sample_8bpp_rle_up.tga delete mode 100644 irr/test/data/sample_8bpp_up.tga delete mode 100644 irr/test/data/sample_8bpp_v3.bmp delete mode 100644 irr/test/data/sample_8bpp_v3_rle.bmp delete mode 100644 irr/test/data/sample_8bpp_v7.bmp delete mode 100644 irr/test/data/sample_8bpp_v7_rle.bmp delete mode 100644 irr/test/image_loader_test.cpp diff --git a/client/shaders/Irrlicht b/client/shaders/Irrlicht deleted file mode 120000 index 9349d3073..000000000 --- a/client/shaders/Irrlicht +++ /dev/null @@ -1 +0,0 @@ -../../irr/media/Shaders \ No newline at end of file diff --git a/irr/media/Shaders/OneTextureBlend.fsh b/client/shaders/Irrlicht/OneTextureBlend.fsh similarity index 100% rename from irr/media/Shaders/OneTextureBlend.fsh rename to client/shaders/Irrlicht/OneTextureBlend.fsh diff --git a/irr/media/Shaders/Renderer2D.fsh b/client/shaders/Irrlicht/Renderer2D.fsh similarity index 100% rename from irr/media/Shaders/Renderer2D.fsh rename to client/shaders/Irrlicht/Renderer2D.fsh diff --git a/irr/media/Shaders/Renderer2D.vsh b/client/shaders/Irrlicht/Renderer2D.vsh similarity index 100% rename from irr/media/Shaders/Renderer2D.vsh rename to client/shaders/Irrlicht/Renderer2D.vsh diff --git a/irr/media/Shaders/Renderer2D_noTex.fsh b/client/shaders/Irrlicht/Renderer2D_noTex.fsh similarity index 100% rename from irr/media/Shaders/Renderer2D_noTex.fsh rename to client/shaders/Irrlicht/Renderer2D_noTex.fsh diff --git a/irr/media/Shaders/Solid.fsh b/client/shaders/Irrlicht/Solid.fsh similarity index 100% rename from irr/media/Shaders/Solid.fsh rename to client/shaders/Irrlicht/Solid.fsh diff --git a/irr/media/Shaders/Solid.vsh b/client/shaders/Irrlicht/Solid.vsh similarity index 100% rename from irr/media/Shaders/Solid.vsh rename to client/shaders/Irrlicht/Solid.vsh diff --git a/irr/media/Shaders/TransparentAlphaChannel.fsh b/client/shaders/Irrlicht/TransparentAlphaChannel.fsh similarity index 100% rename from irr/media/Shaders/TransparentAlphaChannel.fsh rename to client/shaders/Irrlicht/TransparentAlphaChannel.fsh diff --git a/irr/media/Shaders/TransparentAlphaChannelRef.fsh b/client/shaders/Irrlicht/TransparentAlphaChannelRef.fsh similarity index 100% rename from irr/media/Shaders/TransparentAlphaChannelRef.fsh rename to client/shaders/Irrlicht/TransparentAlphaChannelRef.fsh diff --git a/irr/media/Shaders/TransparentVertexAlpha.fsh b/client/shaders/Irrlicht/TransparentVertexAlpha.fsh similarity index 100% rename from irr/media/Shaders/TransparentVertexAlpha.fsh rename to client/shaders/Irrlicht/TransparentVertexAlpha.fsh diff --git a/irr/.github/workflows/build.yml b/irr/.github/workflows/build.yml deleted file mode 100644 index f31521bd2..000000000 --- a/irr/.github/workflows/build.yml +++ /dev/null @@ -1,310 +0,0 @@ -name: build - -# build on c/cpp changes or workflow changes -on: - - push - - pull_request - -jobs: - - linux-gl: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v4 - - name: Install deps - run: | - sudo apt-get update - sudo apt-get install g++ cmake libxi-dev libgl1-mesa-dev libpng-dev libjpeg-dev zlib1g-dev -qyy - - - name: Build - run: | - cmake . -DUSE_SDL2=OFF - make VERBOSE=1 -j2 - - - name: Test - run: | - ctest --output-on-failure - - - name: Package - run: | - make DESTDIR=$PWD/_install install - tar -c -I "gzip -9" -f irrlicht-linux.tar.gz -C ./_install/usr/local . - - - uses: actions/upload-artifact@v4 - with: - name: irrlicht-linux - path: ./irrlicht-linux.tar.gz - - linux-gles: - # Xvfb test is broken on 20.04 for unknown reasons (not our bug) - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - name: Install deps - run: | - sudo apt-get update - sudo apt-get install g++ cmake libxi-dev libgles2-mesa-dev libpng-dev libjpeg-dev zlib1g-dev xvfb -qyy - - - name: Build - run: | - cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=OFF -DENABLE_OPENGL=OFF -DENABLE_GLES2=ON - make -j2 - - - name: Test (headless) - run: | - cd bin/Linux - ./AutomatedTest null - - - name: Test (Xvfb) - run: | - cd bin/Linux - LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest ogles2 - - linux-sdl: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v4 - - name: Install deps - run: | - sudo apt-get update - sudo apt-get install g++ cmake libsdl2-dev libpng-dev libjpeg-dev zlib1g-dev -qyy - - - name: Build - run: | - cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON -DCMAKE_BUILD_TYPE=Debug - make -j2 - - - name: Test (headless) - run: | - cd bin/Linux - ./AutomatedTest null - - linux-sdl-gl3: - # Xvfb test is broken on 20.04 for unknown reasons (not our bug) - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - name: Install deps - run: | - sudo apt-get update - sudo apt-get install g++ cmake libsdl2-dev libpng-dev libjpeg-dev zlib1g-dev xvfb -qyy - - - name: Build - run: | - cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON -DENABLE_OPENGL=OFF -DENABLE_OPENGL3=ON - make -j2 - - - name: Test (headless) - run: | - cd bin/Linux - ./AutomatedTest null - - - name: Test (Xvfb) - run: | - cd bin/Linux - LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest opengl3 - - linux-sdl-gles2: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v4 - - name: Install deps - run: | - sudo apt-get update - sudo apt-get install g++ cmake libsdl2-dev libpng-dev libjpeg-dev zlib1g-dev xvfb -qyy - - - name: Build - run: | - cmake . -DBUILD_EXAMPLES=1 -DUSE_SDL2=ON -DENABLE_OPENGL=OFF -DENABLE_GLES2=ON - make -j2 - - - name: Test (headless) - run: | - cd bin/Linux - ./AutomatedTest null - - - name: Test (Xvfb) - run: | - cd bin/Linux - LIBGL_ALWAYS_SOFTWARE=true xvfb-run ./AutomatedTest ogles2 - - mingw: - name: "MinGW ${{matrix.config.variant}}${{matrix.config.extras}}" - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - config: - - {variant: win32, arch: i686} - - {variant: win64, arch: x86_64} - - {variant: win32, arch: i686, extras: "-sdl"} - - {variant: win64, arch: x86_64, extras: "-sdl"} - steps: - - uses: actions/checkout@v4 - - name: Install compiler - run: | - sudo apt-get update && sudo apt-get install cmake -qyy - ./scripts/ci-get-mingw.sh - - - name: Build - run: | - ./scripts/ci-build-mingw.sh package - env: - CC: ${{matrix.config.arch}}-w64-mingw32-clang - CXX: ${{matrix.config.arch}}-w64-mingw32-clang++ - extras: ${{matrix.config.extras}} - - - uses: actions/upload-artifact@v4 - with: - name: irrlicht-${{matrix.config.variant}}${{matrix.config.extras}} - path: ./irrlicht-${{matrix.config.variant}}${{matrix.config.extras}}.zip - - macos: - runs-on: macos-latest - steps: - - uses: actions/checkout@v4 - - name: Install deps - run: | - brew update --auto-update - brew install cmake libpng jpeg - env: - HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 - HOMEBREW_NO_INSTALL_CLEANUP: 1 - - - name: Build - run: | - cmake . -DCMAKE_FIND_FRAMEWORK=LAST -DBUILD_EXAMPLES=1 - make -j3 - - - name: Test (headless) - run: | - ./bin/OSX/AutomatedTest null - - macos-sdl: - runs-on: macos-latest - steps: - - uses: actions/checkout@v4 - - name: Install deps - run: | - brew update --auto-update - brew install cmake libpng jpeg sdl2 - env: - HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1 - HOMEBREW_NO_INSTALL_CLEANUP: 1 - - - name: Build - run: | - cmake . -DCMAKE_FIND_FRAMEWORK=LAST -DBUILD_EXAMPLES=1 -DUSE_SDL2=1 - make -j3 - - msvc: - name: VS 2019 ${{ matrix.config.arch }} ${{ matrix.sdl.label }} - runs-on: windows-2019 - env: - VCPKG_VERSION: 8eb57355a4ffb410a2e94c07b4dca2dffbee8e50 - # 2023.10.19 - vcpkg_packages: zlib libpng libjpeg-turbo - strategy: - fail-fast: false - matrix: - config: - - - arch: x86 - generator: "-G'Visual Studio 16 2019' -A Win32" - vcpkg_triplet: x86-windows - - - arch: x64 - generator: "-G'Visual Studio 16 2019' -A x64" - vcpkg_triplet: x64-windows - sdl: - - - use: FALSE - label: '(no SDL)' - vcpkg_packages: opengl-registry - - - use: TRUE - label: '(with SDL)' - vcpkg_packages: sdl2 - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Restore from cache and run vcpkg - uses: lukka/run-vcpkg@v7 - with: - vcpkgArguments: ${{env.vcpkg_packages}} ${{matrix.sdl.vcpkg_packages}} - vcpkgDirectory: '${{ github.workspace }}\vcpkg' - appendedCacheKey: ${{ matrix.config.vcpkg_triplet }} - vcpkgGitCommitId: ${{ env.VCPKG_VERSION }} - vcpkgTriplet: ${{ matrix.config.vcpkg_triplet }} - - - name: CMake - run: | - cmake ${{matrix.config.generator}} ` - -DUSE_SDL2=${{matrix.sdl.use}} ` - -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}\vcpkg\scripts\buildsystems\vcpkg.cmake" ` - -DCMAKE_BUILD_TYPE=Release . - - - name: Build - run: cmake --build . --config Release - - - name: Create artifact folder - run: | - mkdir artifact/ - mkdir artifact/lib/ - - - name: Move dlls into artifact folder - run: move bin\Win32-VisualStudio\Release\* artifact\lib\ - - - name: Move includes into artifact folder - run: move include artifact/ - - - name: Upload Artifact - uses: actions/upload-artifact@v4 - with: - name: msvc-${{ matrix.config.arch }}-${{matrix.sdl.use}} - path: artifact/ - - android: - name: Android ${{ matrix.arch }} - runs-on: ubuntu-20.04 - env: - ndk_version: "r25c" - ANDROID_NDK: ${{ github.workspace }}/android-ndk - strategy: - matrix: - arch: [armeabi-v7a, arm64-v8a, x86, x86_64] - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install deps - run: | - sudo rm /var/lib/man-db/auto-update - sudo apt-get update - sudo apt-get install -qyy wget unzip zip gcc-multilib make cmake - - - name: Cache NDK - id: cache-ndk - uses: actions/cache@v4 - with: - key: android-ndk-${{ env.ndk_version }}-linux - path: ${{ env.ANDROID_NDK }} - - - name: Install NDK - run: | - wget --progress=bar:force "http://dl.google.com/android/repository/android-ndk-${ndk_version}-linux.zip" - unzip -q "android-ndk-${ndk_version}-linux.zip" - rm "android-ndk-${ndk_version}-linux.zip" - mv "android-ndk-${ndk_version}" "${ANDROID_NDK}" - if: ${{ steps.cache-ndk.outputs.cache-hit != 'true' }} - - - name: Build - run: ./scripts/ci-build-android.sh ${{ matrix.arch }} - - #- name: Upload Artifact - # uses: actions/upload-artifact@v4 - # with: - # name: irrlicht-android-${{ matrix.arch }} - # path: ${{ runner.temp }}/pkg/${{ matrix.arch }} diff --git a/irr/CMakeLists.txt b/irr/CMakeLists.txt index ccc00f271..dfd6b189a 100644 --- a/irr/CMakeLists.txt +++ b/irr/CMakeLists.txt @@ -11,14 +11,5 @@ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type: Debug or Release" FORCE) endif() -# FIXME: tests need to be moved to MT if we want to keep them - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -#enable_testing() add_subdirectory(src) -#add_subdirectory(test) - -#option(BUILD_EXAMPLES "Build example applications" FALSE) -#if(BUILD_EXAMPLES) -# add_subdirectory(examples) -#endif() diff --git a/irr/examples/AutomatedTest/main.cpp b/irr/examples/AutomatedTest/main.cpp deleted file mode 100644 index c9e5bab68..000000000 --- a/irr/examples/AutomatedTest/main.cpp +++ /dev/null @@ -1,154 +0,0 @@ -#include -#include -#include "exampleHelper.h" - -using namespace irr; - -static IrrlichtDevice *device = nullptr; -static int test_fail = 0; - -void test_irr_array(); -void test_irr_string(); - -static video::E_DRIVER_TYPE chooseDriver(core::stringc arg_) -{ - if (arg_ == "null") - return video::EDT_NULL; - if (arg_ == "ogles1") - return video::EDT_OGLES1; - if (arg_ == "ogles2") - return video::EDT_OGLES2; - if (arg_ == "opengl") - return video::EDT_OPENGL; - if (arg_ == "opengl3") - return video::EDT_OPENGL3; - std::cerr << "Unknown driver type: " << arg_.c_str() << ". Trying OpenGL." << std::endl; - return video::EDT_OPENGL; -} - -static inline void check(bool ok, const char *msg) -{ - if (!ok) { - test_fail++; - device->getLogger()->log((core::stringc("FAILED TEST: ") + msg).c_str(), ELL_ERROR); - } -} - -void run_unit_tests() -{ - std::cout << "Running unit tests:" << std::endl; - try { - test_irr_array(); - test_irr_string(); - } catch (const std::exception &e) { - std::cerr << e.what() << std::endl; - test_fail++; - } - std::cout << std::endl; -} - -int main(int argc, char *argv[]) -{ - run_unit_tests(); - - SIrrlichtCreationParameters p; - p.DriverType = chooseDriver(argc > 1 ? argv[1] : ""); - p.WindowSize = core::dimension2du(640, 480); - p.Vsync = true; - p.LoggingLevel = ELL_DEBUG; - - device = createDeviceEx(p); - if (!device) - return 1; - - { - u32 total = 0; - device->getOSOperator()->getSystemMemory(&total, nullptr); - core::stringc message = core::stringc("Total RAM in MiB: ") + core::stringc(total >> 10); - device->getLogger()->log(message.c_str(), ELL_INFORMATION); - check(total > 130 * 1024, "RAM amount"); - } - - device->setWindowCaption(L"Hello World!"); - device->setResizable(true); - - video::IVideoDriver *driver = device->getVideoDriver(); - scene::ISceneManager *smgr = device->getSceneManager(); - gui::IGUIEnvironment *guienv = device->getGUIEnvironment(); - - guienv->addStaticText(L"sample text", core::rect(10, 10, 110, 22), false); - - gui::IGUIButton *button = guienv->addButton( - core::rect(10, 30, 110, 30 + 32), 0, -1, L"sample button", - L"sample tooltip"); - - gui::IGUIEditBox *editbox = guienv->addEditBox(L"", - core::rect(10, 70, 60, 70 + 16)); - - const io::path mediaPath = getExampleMediaPath(); - - auto mesh_file = device->getFileSystem()->createAndOpenFile(mediaPath + "coolguy_opt.x"); - check(mesh_file, "mesh file loading"); - scene::IAnimatedMesh *mesh = smgr->getMesh(mesh_file); - check(mesh, "mesh loading"); - if (mesh_file) - mesh_file->drop(); - if (mesh) { - video::ITexture *tex = driver->getTexture(mediaPath + "cooltexture.png"); - check(tex, "texture loading"); - scene::IAnimatedMeshSceneNode *node = smgr->addAnimatedMeshSceneNode(mesh); - if (node) { - node->forEachMaterial([tex](video::SMaterial &mat) { - mat.Lighting = false; - mat.setTexture(0, tex); - }); - node->setFrameLoop(0, 29); - node->setAnimationSpeed(30); - } - } - - smgr->addCameraSceneNode(0, core::vector3df(0, 4, 5), core::vector3df(0, 2, 0)); - - s32 n = 0; - SEvent event; - device->getTimer()->start(); - - while (device->run()) { - if (device->getTimer()->getTime() >= 1000) { - device->getTimer()->setTime(0); - ++n; - if (n == 1) { // Tooltip display - bzero(&event, sizeof(SEvent)); - event.EventType = irr::EET_MOUSE_INPUT_EVENT; - event.MouseInput.Event = irr::EMIE_MOUSE_MOVED; - event.MouseInput.X = button->getAbsolutePosition().getCenter().X; - event.MouseInput.Y = button->getAbsolutePosition().getCenter().Y; - device->postEventFromUser(event); - } else if (n == 2) // Text input focus - guienv->setFocus(editbox); - else if (n == 3) { // Keypress for Text input - bzero(&event, sizeof(SEvent)); - event.EventType = irr::EET_KEY_INPUT_EVENT; - event.KeyInput.Char = L'a'; - event.KeyInput.Key = KEY_KEY_A; - event.KeyInput.PressedDown = true; - device->postEventFromUser(event); - event.KeyInput.PressedDown = false; - device->postEventFromUser(event); - } else - device->closeDevice(); - } - - driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, - video::SColor(255, 100, 100, 150)); - smgr->drawAll(); - guienv->drawAll(); - driver->endScene(); - } - - check(core::stringw(L"a") == editbox->getText(), "EditBox text"); - - device->getLogger()->log("Done.", ELL_INFORMATION); - device->drop(); - return test_fail > 0 ? 1 : 0; -} diff --git a/irr/examples/AutomatedTest/test_array.cpp b/irr/examples/AutomatedTest/test_array.cpp deleted file mode 100644 index 42959e913..000000000 --- a/irr/examples/AutomatedTest/test_array.cpp +++ /dev/null @@ -1,138 +0,0 @@ -#include -#include "test_helper.h" - -using namespace irr; -using core::array; - -static void test_basics() -{ - array v; - v.push_back(1); // 1 - v.push_front(2); // 2, 1 - v.insert(4, 0); // 4, 2, 1 - v.insert(3, 1); // 4, 3, 2, 1 - v.insert(0, 4); // 4, 3, 2, 1, 0 - UASSERTEQ(v.size(), 5); - UASSERTEQ(v[0], 4); - UASSERTEQ(v[1], 3); - UASSERTEQ(v[2], 2); - UASSERTEQ(v[3], 1); - UASSERTEQ(v[4], 0); - array w = v; - UASSERTEQ(w.size(), 5); - UASSERT(w == v); - w.clear(); - UASSERTEQ(w.size(), 0); - UASSERTEQ(w.allocated_size(), 0); - UASSERT(w.empty()); - w = v; - UASSERTEQ(w.size(), 5); - w.set_used(3); - UASSERTEQ(w.size(), 3); - UASSERTEQ(w[0], 4); - UASSERTEQ(w[1], 3); - UASSERTEQ(w[2], 2); - UASSERTEQ(w.getLast(), 2); - w.set_used(20); - UASSERTEQ(w.size(), 20); - w = v; - w.sort(); - UASSERTEQ(w.size(), 5); - UASSERTEQ(w[0], 0); - UASSERTEQ(w[1], 1); - UASSERTEQ(w[2], 2); - UASSERTEQ(w[3], 3); - UASSERTEQ(w[4], 4); - w.erase(0); - UASSERTEQ(w.size(), 4); - UASSERTEQ(w[0], 1); - UASSERTEQ(w[1], 2); - UASSERTEQ(w[2], 3); - UASSERTEQ(w[3], 4); - w.erase(1, 2); - UASSERTEQ(w.size(), 2); - UASSERTEQ(w[0], 1); - UASSERTEQ(w[1], 4); - w.swap(v); - UASSERTEQ(w.size(), 5); - UASSERTEQ(v.size(), 2); -} - -static void test_linear_searches() -{ - // Populate the array with 0, 1, 2, ..., 100, 100, 99, 98, 97, ..., 0 - array arr; - for (int i = 0; i <= 100; i++) - arr.push_back(i); - for (int i = 100; i >= 0; i--) - arr.push_back(i); - s32 end = arr.size() - 1; - for (int i = 0; i <= 100; i++) { - s32 index = arr.linear_reverse_search(i); - UASSERTEQ(index, end - i); - } - for (int i = 0; i <= 100; i++) { - s32 index = arr.linear_search(i); - UASSERTEQ(index, i); - } -} - -static void test_binary_searches() -{ - const auto &values = {3, 5, 1, 2, 5, 10, 19, 9, 7, 1, 2, 5, 8, 15}; - array arr; - for (int value : values) { - arr.push_back(value); - } - // Test the const form first, it uses a linear search without sorting - const array &carr = arr; - UASSERTEQ(carr.binary_search(20), -1); - UASSERTEQ(carr.binary_search(0), -1); - UASSERTEQ(carr.binary_search(1), 2); - - // Sorted: 1, 1, 2, 2, 3, 5, 5, 5, 7, 8, 9, 10, 15, 19 - UASSERTEQ(arr.binary_search(20), -1); - UASSERTEQ(arr.binary_search(0), -1); - - for (int value : values) { - s32 i = arr.binary_search(value); - UASSERTNE(i, -1); - UASSERTEQ(arr[i], value); - } - - s32 first, last; - first = arr.binary_search_multi(1, last); - UASSERTEQ(first, 0); - UASSERTEQ(last, 1); - - first = arr.binary_search_multi(2, last); - UASSERTEQ(first, 2); - UASSERTEQ(last, 3); - - first = arr.binary_search_multi(3, last); - UASSERTEQ(first, 4); - UASSERTEQ(last, 4); - - first = arr.binary_search_multi(4, last); - UASSERTEQ(first, -1); - - first = arr.binary_search_multi(5, last); - UASSERTEQ(first, 5); - UASSERTEQ(last, 7); - - first = arr.binary_search_multi(7, last); - UASSERTEQ(first, 8); - UASSERTEQ(last, 8); - - first = arr.binary_search_multi(19, last); - UASSERTEQ(first, 13); - UASSERTEQ(last, 13); -} - -void test_irr_array() -{ - test_basics(); - test_linear_searches(); - test_binary_searches(); - std::cout << " test_irr_array PASSED" << std::endl; -} diff --git a/irr/examples/AutomatedTest/test_helper.h b/irr/examples/AutomatedTest/test_helper.h deleted file mode 100644 index 5229eff29..000000000 --- a/irr/examples/AutomatedTest/test_helper.h +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include -#include - -class TestFailedException : public std::exception -{ -}; - -// Asserts the comparison specified by CMP is true, or fails the current unit test -#define UASSERTCMP(CMP, actual, expected) \ - do { \ - const auto &a = (actual); \ - const auto &e = (expected); \ - if (!CMP(a, e)) { \ - std::cout \ - << "Test assertion failed: " << #actual << " " << #CMP << " " \ - << #expected << std::endl \ - << " at " << __FILE__ << ":" << __LINE__ << std::endl \ - << " actual: " << a << std::endl \ - << " expected: " \ - << e << std::endl; \ - throw TestFailedException(); \ - } \ - } while (0) - -#define CMPEQ(a, e) (a == e) -#define CMPTRUE(a, e) (a) -#define CMPNE(a, e) (a != e) - -#define UASSERTEQ(actual, expected) UASSERTCMP(CMPEQ, actual, expected) -#define UASSERTNE(actual, nexpected) UASSERTCMP(CMPNE, actual, nexpected) -#define UASSERT(actual) UASSERTCMP(CMPTRUE, actual, true) diff --git a/irr/examples/AutomatedTest/test_string.cpp b/irr/examples/AutomatedTest/test_string.cpp deleted file mode 100644 index 4d1291f18..000000000 --- a/irr/examples/AutomatedTest/test_string.cpp +++ /dev/null @@ -1,205 +0,0 @@ -#include -#include -#include -#include -#include "test_helper.h" - -using namespace irr; -using namespace irr::core; - -#define CMPSTR(a, b) (!strcmp(a, b)) -#define UASSERTSTR(actual, expected) UASSERTCMP(CMPSTR, actual.c_str(), expected) - -static void test_basics() -{ - // ctor - stringc s; - UASSERTEQ(s.c_str()[0], '\0'); - s = stringc(0.1234567); - UASSERTSTR(s, "0.123457"); - s = stringc(0x1p+53); - UASSERTSTR(s, "9007199254740992.000000"); - s = stringc(static_cast(-102400)); - UASSERTSTR(s, "-102400"); - s = stringc(static_cast(102400)); - UASSERTSTR(s, "102400"); - s = stringc(static_cast(-1024000)); - UASSERTSTR(s, "-1024000"); - s = stringc(static_cast(1024000)); - UASSERTSTR(s, "1024000"); - s = stringc("YESno", 3); - UASSERTSTR(s, "YES"); - s = stringc(L"test", 4); - UASSERTSTR(s, "test"); - s = stringc("Hello World!"); - UASSERTSTR(s, "Hello World!"); - // operator= - s = stringw(L"abcdef"); - UASSERTSTR(s, "abcdef"); - s = L"abcdef"; - UASSERTSTR(s, "abcdef"); - s = static_cast(nullptr); - UASSERTSTR(s, ""); - // operator+ - s = s + stringc("foo"); - UASSERTSTR(s, "foo"); - s = s + L"bar"; - UASSERTSTR(s, "foobar"); - // the rest - s = "f"; - UASSERTEQ(s[0], 'f'); - const auto &sref = s; - UASSERTEQ(sref[0], 'f'); - UASSERT(sref == "f"); - UASSERT(sref == stringc("f")); - s = "a"; - UASSERT(sref < stringc("aa")); - UASSERT(sref < stringc("b")); - UASSERT(stringc("Z") < sref); - UASSERT(!(sref < stringc("a"))); - UASSERT(sref.lower_ignore_case("AA")); - UASSERT(sref.lower_ignore_case("B")); - UASSERT(!sref.lower_ignore_case("A")); - s = "dog"; - UASSERT(sref != "cat"); - UASSERT(sref != stringc("cat")); -} - -static void test_methods() -{ - stringc s; - const auto &sref = s; - s = "irrlicht"; - UASSERTEQ(sref.size(), 8); - UASSERT(!sref.empty()); - s.clear(); - UASSERTEQ(sref.size(), 0); - UASSERT(sref.empty()); - UASSERT(sref[0] == 0); - s = "\tAz#`"; - s.make_lower(); - UASSERTSTR(s, "\taz#`"); - s.make_upper(); - UASSERTSTR(s, "\tAZ#`"); - UASSERT(sref.equals_ignore_case("\taz#`")); - UASSERT(sref.equals_substring_ignore_case("Z#`", 2)); - s = "irrlicht"; - UASSERT(sref.equalsn(stringc("irr"), 3)); - UASSERT(sref.equalsn("irr", 3)); - s = "fo"; - s.append('o'); - UASSERTSTR(s, "foo"); - s.append("bar", 1); - UASSERTSTR(s, "foob"); - s.append("ar", 999999); - UASSERTSTR(s, "foobar"); - s = "nyan"; - s.append(stringc("cat")); - UASSERTSTR(s, "nyancat"); - s.append(stringc("sam"), 1); - UASSERTSTR(s, "nyancats"); - s = "fbar"; - s.insert(1, "ooXX", 2); - UASSERTSTR(s, "foobar"); - UASSERTEQ(sref.findFirst('o'), 1); - UASSERTEQ(sref.findFirst('X'), -1); - UASSERTEQ(sref.findFirstChar("abff", 2), 3); - UASSERTEQ(sref.findFirstCharNotInList("fobb", 2), 3); - UASSERTEQ(sref.findLast('o'), 2); - UASSERTEQ(sref.findLast('X'), -1); - UASSERTEQ(sref.findLastChar("abrr", 2), 4); - UASSERTEQ(sref.findLastCharNotInList("rabb", 2), 3); - UASSERTEQ(sref.findNext('o', 2), 2); - UASSERTEQ(sref.findLast('o', 1), 1); - s = "ob-oob"; - UASSERTEQ(sref.find("ob", 1), 4); - UASSERTEQ(sref.find("ob"), 0); - UASSERTEQ(sref.find("?"), -1); - s = "HOMEOWNER"; - stringc s2 = sref.subString(2, 4); - UASSERTSTR(s2, "MEOW"); - s2 = sref.subString(2, 4, true); - UASSERTSTR(s2, "meow"); - s = "land"; - s.replace('l', 's'); - UASSERTSTR(s, "sand"); - s = ">dog<"; - s.replace("dog", "cat"); - UASSERTSTR(s, ">cat<"); - s.replace("cat", "horse"); - UASSERTSTR(s, ">horse<"); - s.replace("horse", "gnu"); - UASSERTSTR(s, ">gnu<"); - s = " h e l p "; - s.remove(' '); - UASSERTSTR(s, "help"); - s.remove("el"); - UASSERTSTR(s, "hp"); - s = "irrlicht"; - s.removeChars("it"); - UASSERTSTR(s, "rrlch"); - s = "\r\nfoo bar "; - s.trim(); - UASSERTSTR(s, "foo bar"); - s = "foxo"; - s.erase(2); - UASSERTSTR(s, "foo"); - s = "a"; - s.append('\0'); - s.append('b'); - UASSERTEQ(s.size(), 3); - s.validate(); - UASSERTEQ(s.size(), 1); - UASSERTEQ(s.lastChar(), 'a'); - std::vector res; - s = "a,,b,c"; - s.split(res, ",aa", 1, true, false); - UASSERTEQ(res.size(), 3); - UASSERTSTR(res[0], "a"); - UASSERTSTR(res[2], "c"); - res.clear(); - s.split(res, ",", 1, false, true); - UASSERTEQ(res.size(), 7); - UASSERTSTR(res[0], "a"); - UASSERTSTR(res[2], ""); - for (int i = 0; i < 3; i++) - UASSERTSTR(res[2 * i + 1], ","); -} - -static void test_conv() -{ - // locale-independent - - stringw out; - utf8ToWString(out, "†††"); - UASSERTEQ(out.size(), 3); - for (int i = 0; i < 3; i++) - UASSERTEQ(static_cast(out[i]), 0x2020); - - stringc out2; - wStringToUTF8(out2, L"†††"); - UASSERTEQ(out2.size(), 9); - for (int i = 0; i < 3; i++) { - UASSERTEQ(static_cast(out2[3 * i]), 0xe2); - UASSERTEQ(static_cast(out2[3 * i + 1]), 0x80); - UASSERTEQ(static_cast(out2[3 * i + 2]), 0xa0); - } - - // locale-dependent - if (!setlocale(LC_CTYPE, "C.UTF-8")) - setlocale(LC_CTYPE, "UTF-8"); // macOS - - stringw out3; - multibyteToWString(out3, "†††"); - UASSERTEQ(out3.size(), 3); - for (int i = 0; i < 3; i++) - UASSERTEQ(static_cast(out3[i]), 0x2020); -} - -void test_irr_string() -{ - test_basics(); - test_methods(); - test_conv(); - std::cout << " test_irr_string PASSED" << std::endl; -} diff --git a/irr/examples/CMakeLists.txt b/irr/examples/CMakeLists.txt deleted file mode 100644 index 03553048e..000000000 --- a/irr/examples/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -set(IRREXAMPLES - # removed -) -if(UNIX) - list(APPEND IRREXAMPLES AutomatedTest) -endif() - -foreach(exname IN ITEMS ${IRREXAMPLES}) - file(GLOB sources "${CMAKE_CURRENT_SOURCE_DIR}/${exname}/*.cpp") - add_executable(${exname} ${sources}) - - target_include_directories(${exname} PRIVATE - ${CMAKE_SOURCE_DIR}/include - ${CMAKE_CURRENT_SOURCE_DIR}/${exname} - ) - target_link_libraries(${exname} IrrlichtMt) -endforeach() diff --git a/irr/media/coolguy_opt.x b/irr/media/coolguy_opt.x deleted file mode 100755 index e806d8315..000000000 --- a/irr/media/coolguy_opt.x +++ /dev/null @@ -1,2 +0,0 @@ -xof 0303txt 0032 -AnimationSet{Animation{{Armature}AnimationKey{0;2;0;4;1,0,0,0;;,29;4;1,0,0,0;;;}AnimationKey{2;2;0;3;0,0,0;;,29;3;0,0,0;;;}}Animation{{Armature_knee_r}AnimationKey{0;16;0;4;0.864183,0.503177,0,0;;,1;4;0.829812,0.558043,0,0;;,3;4;0.708698,0.705512,0,0;;,5;4;0.589108,0.808054,0,0;;,7;4;0.593659,0.804717,0,0;;,9;4;0.748627,0.662991,0,0;;,11;4;0.910305,0.413938,0,0;;,13;4;0.975925,0.218107,0,0;;,15;4;0.981302,0.192476,0,0;;,17;4;0.975476,0.220108,0,0;;,19;4;0.963662,0.267124,0,0;;,21;4;0.945893,0.324478,0,0;;,23;4;0.923816,0.382838,0,0;;,25;4;0.901205,0.433394,0,0;;,27;4;0.883429,0.468566,0,0;;,29;4;0.876305,0.481757,0,0;;;}AnimationKey{2;2;0;3;0,0,1.10139;;,29;3;0,0,1.10139;;;}}Animation{{Armature_elbow_r}AnimationKey{0;16;0;4;0.756295,0.004619,-0.619265,0.210967;;,1;4;0.771977,0.005599,-0.60257,0.202311;;,3;4;0.825501,0.009164,-0.538259,0.169533;;,5;4;0.891859,0.014253,-0.436142,0.119019;;,7;4;0.949154,0.019821,-0.308768,0.058108;;,9;4;0.983251,0.024703,-0.18057,-0.001258;;,11;4;0.995416,0.028143,-0.07812,-0.047458;;,13;4;0.996672,0.02991,-0.020368,-0.073041;;,15;4;0.996672,0.02991,-0.020368,-0.073041;;,17;4;0.995416,0.028143,-0.07812,-0.047458;;,19;4;0.983251,0.024703,-0.18057,-0.001258;;,21;4;0.949154,0.019821,-0.308768,0.058108;;,23;4;0.891859,0.014253,-0.436142,0.119019;;,25;4;0.825501,0.009164,-0.538259,0.169533;;,27;4;0.771977,0.005599,-0.60257,0.202311;;,29;4;0.750682,0.004275,-0.625038,0.213976;;;}AnimationKey{2;2;0;3;0,0,0.754892;;,29;3;0,0,0.754892;;;}}Animation{{Armature_arm_r}AnimationKey{0;16;0;4;0.28219,0.629905,0.723388,-0.017285;;,1;4;0.277641,0.632543,0.722699,-0.022614;;,3;4;0.261375,0.641615,0.719924,-0.041507;;,5;4;0.238321,0.653533,0.715186,-0.067874;;,7;4;0.212026,0.665838,0.708676,-0.097381;;,9;4;0.186345,0.676585,0.701229,-0.125643;;,11;4;0.165298,0.684491,0.694351,-0.14841;;,13;4;0.152894,0.688778,0.68998,-0.161665;;,15;4;0.152894,0.688779,0.68998,-0.161665;;,17;4;0.165298,0.684491,0.694351,-0.14841;;,19;4;0.186345,0.676585,0.701229,-0.125643;;,21;4;0.212026,0.665838,0.708676,-0.097381;;,23;4;0.238321,0.653533,0.715186,-0.067874;;,25;4;0.261375,0.641615,0.719924,-0.041507;;,27;4;0.277641,0.632543,0.722699,-0.022614;;,29;4;0.283802,0.628959,0.723623,-0.015394;;;}AnimationKey{2;2;0;3;-0.545315,0,1;;,29;3;-0.545315,0,1;;;}}Animation{{Armature_knee_l}AnimationKey{0;16;0;4;0.981896,0.189423,0,0;;,1;4;0.9814,0.191974,0,0;;,3;4;0.979127,0.203251,0,0;;,5;4;0.974526,0.224276,0,0;;,7;4;0.96645,0.256853,0,0;;,9;4;0.953088,0.302692,0,0;;,11;4;0.931731,0.36315,0,0;;,13;4;0.898645,0.438676,0,0;;,15;4;0.848226,0.529634,0,0;;,17;4;0.773692,0.633562,0,0;;,19;4;0.689831,0.72397,0,0;;,21;4;0.629304,0.777159,0,0;;,23;4;0.648685,0.761057,0,0;;,25;4;0.812268,0.583284,0,0;;,27;4;0.948066,0.318074,0,0;;,29;4;0.982049,0.188624,0,0;;;}AnimationKey{2;2;0;3;0,0,1.10139;;,29;3;0,0,1.10139;;;}}Animation{{Armature_Bone_007}AnimationKey{0;16;0;4;0.993671,-0.112331,0,0;;,1;4;0.994784,-0.102002,0,0;;,3;4;0.997507,-0.070564,0,0;;,5;4;0.999237,-0.039056,0,0;;,7;4;0.999694,-0.024737,0,0;;,9;4;0.999079,-0.042907,0,0;;,11;4;0.99677,-0.080308,0,0;;,13;4;0.993798,-0.111199,0,0;;,15;4;0.993599,-0.112965,0,0;;,17;4;0.995813,-0.091409,0,0;;,19;4;0.998181,-0.060285,0,0;;,21;4;0.999479,-0.032286,0,0;;,23;4;0.999797,-0.020142,0,0;;,25;4;0.998983,-0.045097,0,0;;,27;4;0.995813,-0.091409,0,0;;,29;4;0.993221,-0.116243,0,0;;;}AnimationKey{2;2;0;3;0,0,1.221802;;,29;3;0,0,1.221802;;;}}Animation{{Armature_elbow_l}AnimationKey{0;16;0;4;0.995195,-0.034868,-0.015799,-0.090119;;,1;4;0.993465,-0.046368,-0.030155,-0.099838;;,3;4;0.983557,-0.0879,-0.082099,-0.134715;;,5;4;0.959324,-0.146904,-0.156177,-0.183648;;,7;4;0.917546,-0.212233,-0.238611,-0.236921;;,9;4;0.864109,-0.271657,-0.314022,-0.284443;;,11;4;0.813172,-0.315829,-0.370387,-0.319087;;,13;4;0.781004,-0.339668,-0.400938,-0.337501;;,15;4;0.781004,-0.339668,-0.400938,-0.337501;;,17;4;0.813172,-0.315829,-0.370387,-0.319087;;,19;4;0.864109,-0.271657,-0.314022,-0.284443;;,21;4;0.917546,-0.212233,-0.238611,-0.236921;;,23;4;0.959324,-0.146904,-0.156177,-0.183648;;,25;4;0.983557,-0.0879,-0.082099,-0.134715;;,27;4;0.993465,-0.046368,-0.030155,-0.099838;;,29;4;0.995701,-0.030812,-0.010739,-0.086685;;;}AnimationKey{2;2;0;3;0,0,0.754892;;,29;3;0,0,0.754892;;;}}Animation{{Armature_body}AnimationKey{0;16;0;4;-0,0,0.601298,0.799025;;,1;4;-0,0,0.608144,0.793827;;,3;4;-0,0,0.627465,0.778645;;,5;4;-0,0,0.643183,0.765712;;,7;4;-0,0,0.643755,0.765231;;,9;4;-0,0,0.631076,0.775721;;,11;4;-0,0,0.613775,0.789481;;,13;4;-0,0,0.6007,0.799474;;,15;4;-0,0,0.601488,0.798882;;,17;4;-0,0,0.619499,0.784997;;,19;4;-0,0,0.643196,0.765702;;,21;4;-0,0,0.660441,0.750878;;,23;4;-0,0,0.659666,0.751559;;,25;4;-0,0,0.638264,0.769817;;,27;4;-0,0,0.611752,0.791049;;,29;4;-0,0,0.598631,0.801025;;;}AnimationKey{2;2;0;3;0,2.580534,0;;,29;3;0,2.571201,0;;;}}Animation{{Armature_leg_l}AnimationKey{0;16;0;4;0.390287,0.920693,0,0;;,1;4;0.362565,0.931959,0,0;;,3;4;0.266163,0.963928,0,0;;,5;4;0.138294,0.990391,0,0;;,7;4;0.012725,0.999919,0,0;;,9;4;-0.090194,0.995924,0,0;;,11;4;-0.162502,0.986708,0,0;;,13;4;-0.201466,0.979496,0,0;;,15;4;-0.185641,0.982618,0,0;;,17;4;-0.013697,0.999906,0,0;;,19;4;0.24238,0.970181,0,0;;,21;4;0.417271,0.908782,0,0;;,23;4;0.439308,0.898336,0,0;;,25;4;0.424255,0.905543,0,0;;,27;4;0.407664,0.913132,0,0;;,29;4;0.400263,0.9164,0,0;;;}AnimationKey{2;2;0;3;0.246294,0,-0.171352;;,29;3;0.246294,0,-0.171351;;;}}Animation{{Armature_leg_r}AnimationKey{0;16;0;4;0.174933,-0.98458,0,0;;,1;4;0.082829,-0.996564,0,0;;,3;4;-0.21147,-0.977384,0,0;;,5;4;-0.442802,-0.89662,0,0;;,7;4;-0.47604,-0.879424,0,0;;,9;4;-0.47279,-0.881175,0,0;;,11;4;-0.459567,-0.888143,0,0;;,13;4;-0.427425,-0.904051,0,0;;,15;4;-0.361724,-0.932285,0,0;;,17;4;-0.251362,-0.967893,0,0;;,19;4;-0.114531,-0.99342,0,0;;,21;4;0.021053,-0.999778,0,0;;,23;4;0.12473,-0.992191,0,0;;,25;4;0.181473,-0.983396,0,0;;,27;4;0.204037,-0.978963,0,0;;,29;4;0.208187,-0.978089,0,0;;;}AnimationKey{2;2;0;3;-0.246294,0,-0.171352;;,29;3;-0.246294,0,-0.171351;;;}}Animation{{Armature_arm_l}AnimationKey{0;16;0;4;0.200754,-0.659656,-0.716264,-0.107316;;,1;4;0.192268,-0.660735,-0.716526,-0.114246;;,3;4;0.161871,-0.663925,-0.716753,-0.138802;;,5;4;0.118745,-0.666682,-0.715211,-0.17294;;,7;4;0.069733,-0.667364,-0.710872,-0.210767;;,9;4;0.022313,-0.665594,-0.704111,-0.246404;;,11;4;-0.016046,-0.662426,-0.696821,-0.274543;;,13;4;-0.038374,-0.659874,-0.691824,-0.290643;;,15;4;-0.038373,-0.659874,-0.691824,-0.290643;;,17;4;-0.016044,-0.662427,-0.696822,-0.274543;;,19;4;0.022312,-0.665594,-0.70411,-0.246404;;,21;4;0.069733,-0.667365,-0.710872,-0.210767;;,23;4;0.118745,-0.666682,-0.715211,-0.17294;;,25;4;0.161871,-0.663925,-0.716753,-0.138802;;,27;4;0.192268,-0.660735,-0.716526,-0.114246;;,29;4;0.203757,-0.659255,-0.716151,-0.104856;;;}AnimationKey{2;2;0;3;0.545315,0,1;;,29;3;0.545315,0,1;;;}}}Frame Root{FrameTransformMatrix{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1;;}Frame Armature{FrameTransformMatrix{1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1;;}Frame Armature_body{FrameTransformMatrix{-1,0,0,0,0,0,1,0,0,1,0,0,0,2.571201,0,1;;}Frame Armature_arm_r{FrameTransformMatrix{-0.047733,0.997488,-0.05233,0,0.901521,0.020464,-0.432251,0,-0.430095,-0.067809,-0.900233,0,-0.545315,0,1,1;;}Frame Armature_elbow_r{FrameTransformMatrix{0.987983,0.151721,-0.029519,0,-0.153228,0.986478,-0.058162,0,0.020295,0.061987,0.997871,0,0,0,0.754892,1;;}}}Frame Armature_arm_l{FrameTransformMatrix{-0.047732,0.994072,-0.097683,0,0.901521,0.084983,0.424309,0,0.430095,-0.067809,-0.900233,0,0.545315,0,1,1;;}Frame Armature_elbow_l{FrameTransformMatrix{0.984741,0.173286,-0.016044,0,-0.171963,0.983073,0.063221,0,0.026727,-0.059497,0.99787,0,0,0,0.754892,1;;}}}Frame Armature_leg_l{FrameTransformMatrix{1,0,0,0,0,-0.998426,-0.056453,0,0,0.056453,-0.998405,0,0.246294,0,-0.171351,1;;}Frame Armature_knee_l{FrameTransformMatrix{1,0,0,0,0,0.993861,-0.110639,0,0,0.110639,0.993861,0,0,0,1.10139,1;;}}}Frame Armature_leg_r{FrameTransformMatrix{1,0,0,0,0,-0.998426,-0.056453,0,0,0.056453,-0.998405,0,-0.246294,0,-0.171351,1;;}Frame Armature_knee_r{FrameTransformMatrix{1,0,0,0,0,0.993861,-0.110639,0,0,0.110639,0.993861,0,0,0,1.10139,1;;}}}Frame Armature_Bone_007{FrameTransformMatrix{1,0,0,0,0,1,0,0,0,0,1,0,0,0,1.221802,1;;}}}Frame cool_dude{FrameTransformMatrix{-1,0,0,0,0,1,0,0,0,0,-1,0,0,0,0,1;;}Mesh{272;0;2.440814;0.219926;,0;3.688199;0.219926;,0.466212;3.688199;0.219926;,0.466212;2.440814;0.219926;,0.466212;2.440814;0.219926;,0.466212;3.688199;0.219926;,0.466212;3.688199;-0.219926;,0.466212;2.440814;-0.219926;,0;2.440814;0.219926;,0.466212;2.440814;0.219926;,0.466212;2.440814;-0.219926;,0;2.440814;-0.219926;,0.055633;1.27575;-0.190081;,0.055633;2.35741;-0.190081;,0.055633;2.35741;0.190081;,0.055633;1.27575;0.190081;,0.055633;1.27575;0.190081;,0.055633;2.35741;0.190081;,0.43017;2.35741;0.190081;,0.43017;1.27575;0.190081;,0.43017;1.27575;0.190081;,0.43017;2.35741;0.190081;,0.43017;2.35741;-0.190081;,0.43017;1.27575;-0.190081;,0.43017;1.27575;-0.190081;,0.43017;2.35741;-0.190081;,0.055633;2.35741;-0.190081;,0.055633;1.27575;-0.190081;,0.055633;1.27575;0.190081;,0.43017;1.27575;0.190081;,0.43017;1.27575;-0.190081;,0.055633;1.27575;-0.190081;,0.43017;2.35741;0.190081;,0.055633;2.35741;0.190081;,0.055633;2.35741;-0.190081;,0.43017;2.35741;-0.190081;,0.466212;3.688199;0.219926;,0;3.688199;0.219926;,0;3.688199;-0.219926;,0.466212;3.688199;-0.219926;,0.466212;2.440814;-0.219926;,0.466212;3.688199;-0.219926;,0;3.688199;-0.219926;,0;2.440814;-0.219926;,0.769341;2.834949;-0.041122;,0.440953;3.555781;-0.041122;,0.440953;3.555781;0.207294;,0.769341;2.834949;0.207294;,0.769341;2.834949;0.207294;,0.440953;3.555781;0.207294;,0.616273;3.635651;0.207294;,0.944661;2.914819;0.207294;,0.944661;2.914819;0.207294;,0.616273;3.635651;0.207294;,0.616273;3.635651;-0.041122;,0.944661;2.914819;-0.041122;,0.944661;2.914819;-0.041122;,0.616273;3.635651;-0.041122;,0.440953;3.555781;-0.041122;,0.769341;2.834949;-0.041122;,0.769341;2.834949;0.207294;,0.944661;2.914819;0.207294;,0.944661;2.914819;-0.041122;,0.769341;2.834949;-0.041122;,0.616273;3.635651;0.207294;,0.440953;3.555781;0.207294;,0.440953;3.555781;-0.041122;,0.616273;3.635651;-0.041122;,1.104504;2.080977;-0.086788;,0.776116;2.801809;-0.086788;,0.776116;2.801809;0.161627;,1.104504;2.080977;0.161627;,1.104504;2.080977;0.161627;,0.776116;2.801809;0.161627;,0.951436;2.881679;0.161627;,1.279824;2.160847;0.161627;,1.279824;2.160847;0.161627;,0.951436;2.881679;0.161627;,0.951436;2.881679;-0.086788;,1.279824;2.160847;-0.086788;,1.279824;2.160847;-0.086788;,0.951436;2.881679;-0.086788;,0.776116;2.801809;-0.086788;,1.104504;2.080977;-0.086788;,1.104504;2.080977;0.161627;,1.279824;2.160847;0.161627;,1.279824;2.160847;-0.086788;,1.104504;2.080977;-0.086788;,0.951436;2.881679;0.161627;,0.776116;2.801809;0.161627;,0.776116;2.801809;-0.086788;,0.951436;2.881679;-0.086788;,0.055633;0.093601;-0.190081;,0.055633;1.205294;-0.190081;,0.055633;1.205294;0.190081;,0.055633;0.093601;0.190081;,0.055633;0.093601;0.190081;,0.055633;1.205294;0.190081;,0.43017;1.205294;0.190081;,0.43017;0.093601;0.190081;,0.43017;0.093601;0.190081;,0.43017;1.205294;0.190081;,0.43017;1.205294;-0.190081;,0.43017;0.093601;-0.190081;,0.43017;0.093601;-0.190081;,0.43017;1.205294;-0.190081;,0.055633;1.205294;-0.190081;,0.055633;0.093601;-0.190081;,0.055633;0.093601;0.190081;,0.43017;0.093601;0.190081;,0.43017;0.093601;-0.190081;,0.055633;0.093601;-0.190081;,0.43017;1.205294;0.190081;,0.055633;1.205294;0.190081;,0.055633;1.205294;-0.190081;,0.43017;1.205294;-0.190081;,0;3.790919;0.428464;,0;4.579204;0.428464;,0.43344;4.560537;0.409797;,0.43344;3.809586;0.409797;,0.43344;3.809586;0.409797;,0.43344;4.560537;0.409797;,0.43344;4.560537;-0.284975;,0.43344;3.809586;-0.284975;,0;3.790919;0.428464;,0.43344;3.809586;0.409797;,0.43344;3.809586;-0.284975;,0;3.790919;-0.303642;,0.43344;4.560537;0.409797;,0;4.579204;0.428464;,0;4.579204;-0.303642;,0.43344;4.560537;-0.284975;,0.43344;3.809586;-0.284975;,0.43344;4.560537;-0.284975;,0;4.579204;-0.303642;,0;3.790919;-0.303642;,0;2.440814;0.219926;,-0.466212;2.440814;0.219926;,-0.466212;3.688199;0.219926;,0;3.688199;0.219926;,-0.466212;2.440814;0.219926;,-0.466212;2.440814;-0.219926;,-0.466212;3.688199;-0.219926;,-0.466212;3.688199;0.219926;,0;2.440814;0.219926;,0;2.440814;-0.219926;,-0.466212;2.440814;-0.219926;,-0.466212;2.440814;0.219926;,-0.055633;1.27575;-0.190081;,-0.055633;1.27575;0.190081;,-0.055633;2.35741;0.190081;,-0.055633;2.35741;-0.190081;,-0.055633;1.27575;0.190081;,-0.43017;1.27575;0.190081;,-0.43017;2.35741;0.190081;,-0.055633;2.35741;0.190081;,-0.43017;1.27575;0.190081;,-0.43017;1.27575;-0.190081;,-0.43017;2.35741;-0.190081;,-0.43017;2.35741;0.190081;,-0.43017;1.27575;-0.190081;,-0.055633;1.27575;-0.190081;,-0.055633;2.35741;-0.190081;,-0.43017;2.35741;-0.190081;,-0.055633;1.27575;0.190081;,-0.055633;1.27575;-0.190081;,-0.43017;1.27575;-0.190081;,-0.43017;1.27575;0.190081;,-0.43017;2.35741;0.190081;,-0.43017;2.35741;-0.190081;,-0.055633;2.35741;-0.190081;,-0.055633;2.35741;0.190081;,-0.466212;3.688199;0.219926;,-0.466212;3.688199;-0.219926;,0;3.688199;-0.219926;,0;3.688199;0.219926;,-0.466212;2.440814;-0.219926;,0;2.440814;-0.219926;,0;3.688199;-0.219926;,-0.466212;3.688199;-0.219926;,-0.769341;2.834949;-0.041122;,-0.769341;2.834949;0.207294;,-0.440953;3.555781;0.207294;,-0.440953;3.555781;-0.041122;,-0.769341;2.834949;0.207294;,-0.944661;2.914819;0.207294;,-0.616273;3.635651;0.207294;,-0.440953;3.555781;0.207294;,-0.944661;2.914819;0.207294;,-0.944661;2.914819;-0.041122;,-0.616273;3.635651;-0.041122;,-0.616273;3.635651;0.207294;,-0.944661;2.914819;-0.041122;,-0.769341;2.834949;-0.041122;,-0.440953;3.555781;-0.041122;,-0.616273;3.635651;-0.041122;,-0.769341;2.834949;0.207294;,-0.769341;2.834949;-0.041122;,-0.944661;2.914819;-0.041122;,-0.944661;2.914819;0.207294;,-0.616273;3.635651;0.207294;,-0.616273;3.635651;-0.041122;,-0.440953;3.555781;-0.041122;,-0.440953;3.555781;0.207294;,-1.104504;2.080977;-0.086788;,-1.104504;2.080977;0.161627;,-0.776116;2.801809;0.161627;,-0.776116;2.801809;-0.086788;,-1.104504;2.080977;0.161627;,-1.279824;2.160847;0.161627;,-0.951436;2.881679;0.161627;,-0.776116;2.801809;0.161627;,-1.279824;2.160847;0.161627;,-1.279824;2.160847;-0.086788;,-0.951436;2.881679;-0.086788;,-0.951436;2.881679;0.161627;,-1.279824;2.160847;-0.086788;,-1.104504;2.080977;-0.086788;,-0.776116;2.801809;-0.086788;,-0.951436;2.881679;-0.086788;,-1.104504;2.080977;0.161627;,-1.104504;2.080977;-0.086788;,-1.279824;2.160847;-0.086788;,-1.279824;2.160847;0.161627;,-0.951436;2.881679;0.161627;,-0.951436;2.881679;-0.086788;,-0.776116;2.801809;-0.086788;,-0.776116;2.801809;0.161627;,-0.055633;0.093601;-0.190081;,-0.055633;0.093601;0.190081;,-0.055633;1.205294;0.190081;,-0.055633;1.205294;-0.190081;,-0.055633;0.093601;0.190081;,-0.43017;0.093601;0.190081;,-0.43017;1.205294;0.190081;,-0.055633;1.205294;0.190081;,-0.43017;0.093601;0.190081;,-0.43017;0.093601;-0.190081;,-0.43017;1.205294;-0.190081;,-0.43017;1.205294;0.190081;,-0.43017;0.093601;-0.190081;,-0.055633;0.093601;-0.190081;,-0.055633;1.205294;-0.190081;,-0.43017;1.205294;-0.190081;,-0.055633;0.093601;0.190081;,-0.055633;0.093601;-0.190081;,-0.43017;0.093601;-0.190081;,-0.43017;0.093601;0.190081;,-0.43017;1.205294;0.190081;,-0.43017;1.205294;-0.190081;,-0.055633;1.205294;-0.190081;,-0.055633;1.205294;0.190081;,0;3.790919;0.428464;,-0.43344;3.809586;0.409797;,-0.43344;4.560537;0.409797;,0;4.579204;0.428464;,-0.43344;3.809586;0.409797;,-0.43344;3.809586;-0.284975;,-0.43344;4.560537;-0.284975;,-0.43344;4.560537;0.409797;,0;3.790919;0.428464;,0;3.790919;-0.303642;,-0.43344;3.809586;-0.284975;,-0.43344;3.809586;0.409797;,-0.43344;4.560537;0.409797;,-0.43344;4.560537;-0.284975;,0;4.579204;-0.303642;,0;4.579204;0.428464;,-0.43344;3.809586;-0.284975;,0;3.790919;-0.303642;,0;4.579204;-0.303642;,-0.43344;4.560537;-0.284975;;68;4;3,2,1,0;,4;7,6,5,4;,4;11,10,9,8;,4;15,14,13,12;,4;19,18,17,16;,4;23,22,21,20;,4;27,26,25,24;,4;31,30,29,28;,4;35,34,33,32;,4;39,38,37,36;,4;43,42,41,40;,4;47,46,45,44;,4;51,50,49,48;,4;55,54,53,52;,4;59,58,57,56;,4;63,62,61,60;,4;67,66,65,64;,4;71,70,69,68;,4;75,74,73,72;,4;79,78,77,76;,4;83,82,81,80;,4;87,86,85,84;,4;91,90,89,88;,4;95,94,93,92;,4;99,98,97,96;,4;103,102,101,100;,4;107,106,105,104;,4;111,110,109,108;,4;115,114,113,112;,4;119,118,117,116;,4;123,122,121,120;,4;127,126,125,124;,4;131,130,129,128;,4;135,134,133,132;,4;139,138,137,136;,4;143,142,141,140;,4;147,146,145,144;,4;151,150,149,148;,4;155,154,153,152;,4;159,158,157,156;,4;163,162,161,160;,4;167,166,165,164;,4;171,170,169,168;,4;175,174,173,172;,4;179,178,177,176;,4;183,182,181,180;,4;187,186,185,184;,4;191,190,189,188;,4;195,194,193,192;,4;199,198,197,196;,4;203,202,201,200;,4;207,206,205,204;,4;211,210,209,208;,4;215,214,213,212;,4;219,218,217,216;,4;223,222,221,220;,4;227,226,225,224;,4;231,230,229,228;,4;235,234,233,232;,4;239,238,237,236;,4;243,242,241,240;,4;247,246,245,244;,4;251,250,249,248;,4;255,254,253,252;,4;259,258,257,256;,4;263,262,261,260;,4;267,266,265,264;,4;271,270,269,268;;MeshNormals{272;0;-0.707083;0.707083;,0;0.707083;0.707083;,0.577349;0.577349;0.577349;,0.577349;-0.577349;0.577349;,0.577349;-0.577349;0.577349;,0.577349;0.577349;0.577349;,0.577349;0.577349;-0.577349;,0.577349;-0.577349;-0.577349;,0;-0.707083;0.707083;,0.577349;-0.577349;0.577349;,0.577349;-0.577349;-0.577349;,0;-0.707083;-0.707083;,-0.577349;-0.577349;-0.577349;,-0.577349;0.577349;-0.577349;,-0.577349;0.577349;0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;0.577349;0.577349;,0.577349;0.577349;0.577349;,0.577349;-0.577349;0.577349;,0.577349;-0.577349;0.577349;,0.577349;0.577349;0.577349;,0.577349;0.577349;-0.577349;,0.577349;-0.577349;-0.577349;,0.577349;-0.577349;-0.577349;,0.577349;0.577349;-0.577349;,-0.577349;0.577349;-0.577349;,-0.577349;-0.577349;-0.577349;,-0.577349;-0.577349;0.577349;,0.577349;-0.577349;0.577349;,0.577349;-0.577349;-0.577349;,-0.577349;-0.577349;-0.577349;,0.577349;0.577349;0.577349;,-0.577349;0.577349;0.577349;,-0.577349;0.577349;-0.577349;,0.577349;0.577349;-0.577349;,0.577349;0.577349;0.577349;,0;0.707083;0.707083;,0;0.707083;-0.707083;,0.577349;0.577349;-0.577349;,0.577349;-0.577349;-0.577349;,0.577349;0.577349;-0.577349;,0;0.707083;-0.707083;,0;-0.707083;-0.707083;,-0.286019;-0.764733;-0.577349;,-0.764733;0.286019;-0.577349;,-0.764733;0.286019;0.577349;,-0.286019;-0.764733;0.577349;,-0.286019;-0.764733;0.577349;,-0.764733;0.286019;0.577349;,0.286019;0.764733;0.577349;,0.764733;-0.286019;0.577349;,0.764733;-0.286019;0.577349;,0.286019;0.764733;0.577349;,0.286019;0.764733;-0.577349;,0.764733;-0.286019;-0.577349;,0.764733;-0.286019;-0.577349;,0.286019;0.764733;-0.577349;,-0.764733;0.286019;-0.577349;,-0.286019;-0.764733;-0.577349;,-0.286019;-0.764733;0.577349;,0.764733;-0.286019;0.577349;,0.764733;-0.286019;-0.577349;,-0.286019;-0.764733;-0.577349;,0.286019;0.764733;0.577349;,-0.764733;0.286019;0.577349;,-0.764733;0.286019;-0.577349;,0.286019;0.764733;-0.577349;,-0.286019;-0.764733;-0.577349;,-0.764733;0.286019;-0.577349;,-0.764733;0.286019;0.577349;,-0.286019;-0.764733;0.577349;,-0.286019;-0.764733;0.577349;,-0.764733;0.286019;0.577349;,0.286019;0.764733;0.577349;,0.764733;-0.286019;0.577349;,0.764733;-0.286019;0.577349;,0.286019;0.764733;0.577349;,0.286019;0.764733;-0.577349;,0.764733;-0.286019;-0.577349;,0.764733;-0.286019;-0.577349;,0.286019;0.764733;-0.577349;,-0.764733;0.286019;-0.577349;,-0.286019;-0.764733;-0.577349;,-0.286019;-0.764733;0.577349;,0.764733;-0.286019;0.577349;,0.764733;-0.286019;-0.577349;,-0.286019;-0.764733;-0.577349;,0.286019;0.764733;0.577349;,-0.764733;0.286019;0.577349;,-0.764733;0.286019;-0.577349;,0.286019;0.764733;-0.577349;,-0.577349;-0.577349;-0.577349;,-0.577349;0.577349;-0.577349;,-0.577349;0.577349;0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;0.577349;0.577349;,0.577349;0.577349;0.577349;,0.577349;-0.577349;0.577349;,0.577349;-0.577349;0.577349;,0.577349;0.577349;0.577349;,0.577349;0.577349;-0.577349;,0.577349;-0.577349;-0.577349;,0.577349;-0.577349;-0.577349;,0.577349;0.577349;-0.577349;,-0.577349;0.577349;-0.577349;,-0.577349;-0.577349;-0.577349;,-0.577349;-0.577349;0.577349;,0.577349;-0.577349;0.577349;,0.577349;-0.577349;-0.577349;,-0.577349;-0.577349;-0.577349;,0.577349;0.577349;0.577349;,-0.577349;0.577349;0.577349;,-0.577349;0.577349;-0.577349;,0.577349;0.577349;-0.577349;,0;-0.707083;0.707083;,0;0.707083;0.707083;,0.599902;0.565722;0.565722;,0.599902;-0.565722;0.565722;,0.599902;-0.565722;0.565722;,0.599902;0.565722;0.565722;,0.599902;0.565722;-0.565722;,0.599902;-0.565722;-0.565722;,0;-0.707083;0.707083;,0.599902;-0.565722;0.565722;,0.599902;-0.565722;-0.565722;,0;-0.707083;-0.707083;,0.599902;0.565722;0.565722;,0;0.707083;0.707083;,0;0.707083;-0.707083;,0.599902;0.565722;-0.565722;,0.599902;-0.565722;-0.565722;,0.599902;0.565722;-0.565722;,0;0.707083;-0.707083;,0;-0.707083;-0.707083;,0;-0.707083;0.707083;,-0.577349;-0.577349;0.577349;,-0.577349;0.577349;0.577349;,0;0.707083;0.707083;,-0.577349;-0.577349;0.577349;,-0.577349;-0.577349;-0.577349;,-0.577349;0.577349;-0.577349;,-0.577349;0.577349;0.577349;,0;-0.707083;0.707083;,0;-0.707083;-0.707083;,-0.577349;-0.577349;-0.577349;,-0.577349;-0.577349;0.577349;,0.577349;-0.577349;-0.577349;,0.577349;-0.577349;0.577349;,0.577349;0.577349;0.577349;,0.577349;0.577349;-0.577349;,0.577349;-0.577349;0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;0.577349;0.577349;,0.577349;0.577349;0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;-0.577349;-0.577349;,-0.577349;0.577349;-0.577349;,-0.577349;0.577349;0.577349;,-0.577349;-0.577349;-0.577349;,0.577349;-0.577349;-0.577349;,0.577349;0.577349;-0.577349;,-0.577349;0.577349;-0.577349;,0.577349;-0.577349;0.577349;,0.577349;-0.577349;-0.577349;,-0.577349;-0.577349;-0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;0.577349;0.577349;,-0.577349;0.577349;-0.577349;,0.577349;0.577349;-0.577349;,0.577349;0.577349;0.577349;,-0.577349;0.577349;0.577349;,-0.577349;0.577349;-0.577349;,0;0.707083;-0.707083;,0;0.707083;0.707083;,-0.577349;-0.577349;-0.577349;,0;-0.707083;-0.707083;,0;0.707083;-0.707083;,-0.577349;0.577349;-0.577349;,0.286019;-0.764733;-0.577349;,0.286019;-0.764733;0.577349;,0.764733;0.286019;0.577349;,0.764733;0.286019;-0.577349;,0.286019;-0.764733;0.577349;,-0.764733;-0.286019;0.577349;,-0.286019;0.764733;0.577349;,0.764733;0.286019;0.577349;,-0.764733;-0.286019;0.577349;,-0.764733;-0.286019;-0.577349;,-0.286019;0.764733;-0.577349;,-0.286019;0.764733;0.577349;,-0.764733;-0.286019;-0.577349;,0.286019;-0.764733;-0.577349;,0.764733;0.286019;-0.577349;,-0.286019;0.764733;-0.577349;,0.286019;-0.764733;0.577349;,0.286019;-0.764733;-0.577349;,-0.764733;-0.286019;-0.577349;,-0.764733;-0.286019;0.577349;,-0.286019;0.764733;0.577349;,-0.286019;0.764733;-0.577349;,0.764733;0.286019;-0.577349;,0.764733;0.286019;0.577349;,0.286019;-0.764733;-0.577349;,0.286019;-0.764733;0.577349;,0.764733;0.286019;0.577349;,0.764733;0.286019;-0.577349;,0.286019;-0.764733;0.577349;,-0.764733;-0.286019;0.577349;,-0.286019;0.764733;0.577349;,0.764733;0.286019;0.577349;,-0.764733;-0.286019;0.577349;,-0.764733;-0.286019;-0.577349;,-0.286019;0.764733;-0.577349;,-0.286019;0.764733;0.577349;,-0.764733;-0.286019;-0.577349;,0.286019;-0.764733;-0.577349;,0.764733;0.286019;-0.577349;,-0.286019;0.764733;-0.577349;,0.286019;-0.764733;0.577349;,0.286019;-0.764733;-0.577349;,-0.764733;-0.286019;-0.577349;,-0.764733;-0.286019;0.577349;,-0.286019;0.764733;0.577349;,-0.286019;0.764733;-0.577349;,0.764733;0.286019;-0.577349;,0.764733;0.286019;0.577349;,0.577349;-0.577349;-0.577349;,0.577349;-0.577349;0.577349;,0.577349;0.577349;0.577349;,0.577349;0.577349;-0.577349;,0.577349;-0.577349;0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;0.577349;0.577349;,0.577349;0.577349;0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;-0.577349;-0.577349;,-0.577349;0.577349;-0.577349;,-0.577349;0.577349;0.577349;,-0.577349;-0.577349;-0.577349;,0.577349;-0.577349;-0.577349;,0.577349;0.577349;-0.577349;,-0.577349;0.577349;-0.577349;,0.577349;-0.577349;0.577349;,0.577349;-0.577349;-0.577349;,-0.577349;-0.577349;-0.577349;,-0.577349;-0.577349;0.577349;,-0.577349;0.577349;0.577349;,-0.577349;0.577349;-0.577349;,0.577349;0.577349;-0.577349;,0.577349;0.577349;0.577349;,0;-0.707083;0.707083;,-0.599902;-0.565722;0.565722;,-0.599872;0.565722;0.565722;,0;0.707083;0.707083;,-0.599902;-0.565722;0.565722;,-0.599902;-0.565722;-0.565722;,-0.599872;0.565722;-0.565722;,-0.599872;0.565722;0.565722;,0;-0.707083;0.707083;,0;-0.707083;-0.707083;,-0.599902;-0.565722;-0.565722;,-0.599902;-0.565722;0.565722;,-0.599872;0.565722;0.565722;,-0.599872;0.565722;-0.565722;,0;0.707083;-0.707083;,0;0.707083;0.707083;,-0.599902;-0.565722;-0.565722;,0;-0.707083;-0.707083;,0;0.707083;-0.707083;,-0.599872;0.565722;-0.565722;;68;4;3,2,1,0;,4;7,6,5,4;,4;11,10,9,8;,4;15,14,13,12;,4;19,18,17,16;,4;23,22,21,20;,4;27,26,25,24;,4;31,30,29,28;,4;35,34,33,32;,4;39,38,37,36;,4;43,42,41,40;,4;47,46,45,44;,4;51,50,49,48;,4;55,54,53,52;,4;59,58,57,56;,4;63,62,61,60;,4;67,66,65,64;,4;71,70,69,68;,4;75,74,73,72;,4;79,78,77,76;,4;83,82,81,80;,4;87,86,85,84;,4;91,90,89,88;,4;95,94,93,92;,4;99,98,97,96;,4;103,102,101,100;,4;107,106,105,104;,4;111,110,109,108;,4;115,114,113,112;,4;119,118,117,116;,4;123,122,121,120;,4;127,126,125,124;,4;131,130,129,128;,4;135,134,133,132;,4;139,138,137,136;,4;143,142,141,140;,4;147,146,145,144;,4;151,150,149,148;,4;155,154,153,152;,4;159,158,157,156;,4;163,162,161,160;,4;167,166,165,164;,4;171,170,169,168;,4;175,174,173,172;,4;179,178,177,176;,4;183,182,181,180;,4;187,186,185,184;,4;191,190,189,188;,4;195,194,193,192;,4;199,198,197,196;,4;203,202,201,200;,4;207,206,205,204;,4;211,210,209,208;,4;215,214,213,212;,4;219,218,217,216;,4;223,222,221,220;,4;227,226,225,224;,4;231,230,229,228;,4;235,234,233,232;,4;239,238,237,236;,4;243,242,241,240;,4;247,246,245,244;,4;251,250,249,248;,4;255,254,253,252;,4;259,258,257,256;,4;263,262,261,260;,4;267,266,265,264;,4;271,270,269,268;;}MeshTextureCoords{272;0.849264;0.899246;,0.849264;0.931916;,0.861547;0.931916;,0.861547;0.899246;,0.916988;0.931916;,0.916988;0.899246;,0.9054;0.899246;,0.9054;0.931916;,0.84857;0.844707;,0.84857;0.83254;,0.836981;0.83254;,0.836981;0.844707;,0.927004;0.903587;,0.927004;0.931916;,0.937019;0.931916;,0.937019;0.903587;,0.937019;0.903587;,0.937019;0.931916;,0.946887;0.931916;,0.946887;0.903587;,0.888533;0.856954;,0.888533;0.828625;,0.878517;0.828625;,0.878517;0.856954;,0.939292;0.870917;,0.939292;0.899246;,0.949159;0.899246;,0.949159;0.870917;,0.946887;0.91117;,0.956719;0.91117;,0.956719;0.901213;,0.946887;0.901213;,0.865118;0.813135;,0.855286;0.813135;,0.855286;0.823092;,0.865118;0.823092;,0.866874;0.847426;,0.866874;0.835259;,0.855286;0.835259;,0.855286;0.847426;,0.598002;0.973516;,0.598002;0.206739;,0.309722;0.206739;,0.309722;0.973516;,0.909393;0.822135;,0.909393;0.841014;,0.915938;0.841014;,0.915938;0.822135;,0.951962;0.931916;,0.951962;0.91117;,0.946887;0.91117;,0.946887;0.931916;,0.948762;0.841801;,0.948762;0.822921;,0.942217;0.822921;,0.942217;0.841801;,0.893608;0.838075;,0.893608;0.817329;,0.888533;0.817329;,0.888533;0.838075;,0.900724;0.909292;,0.90515;0.909292;,0.90515;0.902786;,0.900724;0.902786;,0.953585;0.871994;,0.949159;0.871994;,0.949159;0.8785;,0.953585;0.8785;,0.84857;0.837995;,0.84857;0.856874;,0.855114;0.856874;,0.855114;0.837995;,0.902881;0.83746;,0.902881;0.816714;,0.897805;0.816714;,0.897805;0.83746;,0.942217;0.841801;,0.942217;0.822921;,0.935673;0.822921;,0.935673;0.841801;,0.949159;0.8785;,0.949159;0.899246;,0.954235;0.899246;,0.954235;0.8785;,0.919226;0.822135;,0.923651;0.822135;,0.923651;0.815629;,0.919226;0.815629;,0.928077;0.815629;,0.923651;0.815629;,0.923651;0.822135;,0.928077;0.822135;,0.865301;0.847426;,0.865301;0.876542;,0.875317;0.876542;,0.875317;0.847426;,0.909393;0.841014;,0.909393;0.87013;,0.919261;0.87013;,0.919261;0.841014;,0.855286;0.847426;,0.855286;0.876542;,0.865301;0.876542;,0.865301;0.847426;,0.919261;0.841014;,0.919261;0.87013;,0.929128;0.87013;,0.929128;0.841014;,0.878517;0.828625;,0.888349;0.828625;,0.88835;0.818668;,0.878517;0.818668;,0.836981;0.83254;,0.846814;0.83254;,0.846814;0.822583;,0.836981;0.822583;,0.857749;0.887894;,0.836981;0.887894;,0.837473;0.899246;,0.857257;0.899246;,0.855286;0.876542;,0.855286;0.856874;,0.836981;0.856874;,0.836981;0.876542;,0.897805;0.887893;,0.897313;0.876622;,0.879009;0.876622;,0.878517;0.887893;,0.886604;0.909292;,0.886112;0.920645;,0.9054;0.920645;,0.904908;0.909292;,0.977665;0.442421;,0.977665;0.131438;,0.799225;0.123708;,0.799225;0.450151;,0.849264;0.899246;,0.836981;0.899246;,0.836981;0.931916;,0.849264;0.931916;,0.909393;0.866576;,0.897805;0.866576;,0.897805;0.899246;,0.909393;0.899246;,0.84857;0.844707;,0.836981;0.844707;,0.836981;0.856874;,0.84857;0.856874;,0.929276;0.899246;,0.939292;0.899246;,0.939292;0.870917;,0.929276;0.870917;,0.876741;0.819096;,0.866874;0.819096;,0.866874;0.847426;,0.876741;0.847426;,0.939144;0.841801;,0.929128;0.841801;,0.929128;0.87013;,0.939144;0.87013;,0.949011;0.841801;,0.939144;0.841801;,0.939144;0.87013;,0.949011;0.87013;,0.836981;0.812626;,0.836981;0.822583;,0.846814;0.822583;,0.846814;0.812626;,0.909393;0.812178;,0.909393;0.822135;,0.919226;0.822135;,0.919226;0.812178;,0.866874;0.823092;,0.855286;0.823092;,0.855286;0.835259;,0.866874;0.835259;,0.021442;0.973516;,0.309722;0.973516;,0.309722;0.206739;,0.021442;0.206739;,0.916039;0.841014;,0.922583;0.841014;,0.922583;0.822135;,0.916039;0.822135;,0.907956;0.816714;,0.902881;0.816714;,0.902881;0.83746;,0.907956;0.83746;,0.929128;0.822135;,0.922583;0.822135;,0.922583;0.841014;,0.929128;0.841014;,0.853645;0.817249;,0.84857;0.817249;,0.84857;0.837995;,0.853645;0.837995;,0.900724;0.909292;,0.900724;0.902786;,0.895944;0.902786;,0.895944;0.909292;,0.93896;0.816415;,0.93896;0.822921;,0.94374;0.822921;,0.94374;0.816415;,0.935673;0.822921;,0.929128;0.822921;,0.929128;0.841801;,0.935673;0.841801;,0.954087;0.849384;,0.949011;0.849384;,0.949011;0.87013;,0.954087;0.87013;,0.895077;0.838075;,0.888533;0.838075;,0.888533;0.856954;,0.895077;0.856954;,0.948762;0.841801;,0.953838;0.841801;,0.953838;0.821055;,0.948762;0.821055;,0.94374;0.816415;,0.94374;0.822921;,0.94852;0.822921;,0.94852;0.816415;,0.949011;0.842878;,0.949011;0.849384;,0.953791;0.849384;,0.953791;0.842878;,0.919409;0.87013;,0.909393;0.87013;,0.909393;0.899246;,0.919409;0.899246;,0.897805;0.866576;,0.907672;0.866576;,0.907672;0.83746;,0.897805;0.83746;,0.927004;0.9028;,0.916988;0.9028;,0.916988;0.931916;,0.927004;0.931916;,0.929276;0.87013;,0.919409;0.87013;,0.919409;0.899246;,0.929276;0.899246;,0.93896;0.822921;,0.93896;0.812965;,0.929128;0.812965;,0.929128;0.822921;,0.886112;0.899336;,0.886112;0.909292;,0.895944;0.909292;,0.895944;0.899336;,0.857749;0.887894;,0.857257;0.876542;,0.837473;0.876542;,0.836981;0.887894;,0.896821;0.856954;,0.878517;0.856954;,0.878517;0.876622;,0.896821;0.876622;,0.897805;0.887893;,0.878517;0.887893;,0.879009;0.899246;,0.897313;0.899246;,0.886604;0.931916;,0.904908;0.931916;,0.9054;0.920645;,0.886112;0.920645;,0.620785;0.44242;,0.799225;0.450151;,0.799225;0.123708;,0.620785;0.131438;;}XSkinMeshHeader{3;9;10;}SkinWeights{"Armature_arm_l";24;44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,67,66;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;-0.047733,0.901521,0.430095,0,-0.097683,0.424309,-0.900233,0,-0.994073,-0.084983,0.06781,0,0.374873,-2.006904,2.980378,1;;}SkinWeights{"Armature_elbow_r";24;216,219,218,213,212,215,214,209,224,208,227,211,226,210,206,221,207,220,204,223,205,222,225,217;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0.102316,0.92166,-0.374266,0,-0.090709,-0.366028,-0.926173,0,-0.990608,0.128712,0.046152,0,0.402018,1.853661,2.350172,1;;}SkinWeights{"Armature_arm_r";24;186,187,184,185,182,183,180,194,195,203,202,192,193,201,200,199,190,198,191,197,188,196,189,181;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;-0.047733,0.901521,-0.430095,0,-0.05233,-0.432251,-0.900234,0,-0.997489,-0.020464,0.067809,0,0.160852,2.035269,2.980378,1;;}SkinWeights{"Armature_knee_l";24;105,99,114,106,98,115,107,101,93,108,100,92,109,103,95,110,102,94,111,97,112,104,113,96;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;1,0,0,0,0,0.054357,-0.998522,0,0,0.998501,0.054355,0,-0.246294,-0.008592,1.301673,1;;}SkinWeights{"Armature_Bone_007";40;132,133,134,135,124,125,126,252,253,254,255,121,122,264,265,123,267,268,269,270,116,256,258,259,260,261,262,263,271,266,120,119,117,128,129,127,130,118,131,257;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;1,0,0,0,0,0,1,0,0,-1,0,0,0,0,-3.793003,1;;}SkinWeights{"Armature_elbow_l";24;88,80,72,91,83,75,90,82,74,70,85,77,71,84,76,68,87,79,69,86,78,89,81,73;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;0.102316,0.92166,0.374266,0,-0.008222,0.377011,-0.926173,0,-0.994719,0.091686,0.046152,0,-0.014321,-1.896701,2.350171,1;;}SkinWeights{"Armature_knee_r";24;249,235,250,234,251,229,244,228,245,231,246,230,247,240,241,242,243,237,236,239,238,233,248,232;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;1,0,0,0,0,0.054357,-0.998522,0,0,0.998501,0.054355,0,0.246294,-0.008592,1.301673,1;;}SkinWeights{"Armature_leg_l";38;0,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,40,43,136,145,177,144;0.055873,0.852304,0.852304,0.82998,0.055873,0.852304,0.82998,0.054606,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.82998,0.054606,0.055873,0.054606,0.054606,0.055873;1,0,0,0,0,-0.056452,-0.998405,0,0,0.998385,-0.056452,0,-0.246294,0.135476,2.396023,1;;}SkinWeights{"Armature_leg_r";38;0,170,169,11,168,151,150,149,148,147,146,176,145,177,144,159,158,157,156,155,154,153,167,136,166,137,165,164,163,140,162,141,161,43,160,152,8,171;0.055873,1,1,0.054606,1,1,1,1,1,0.852304,0.82998,0.82998,0.054606,0.054606,0.055873,1,1,1,1,1,1,1,1,0.055873,1,0.852304,1,1,1,0.852304,1,0.82998,1,0.054606,1,1,0.055873,1;1,0,0,0,0,-0.056452,-0.998405,0,0,0.998385,-0.056452,0,0.246294,0.135476,2.396023,1;;}SkinWeights{"Armature_body";40;0,1,2,3,4,5,6,7,8,9,10,11,36,37,38,39,40,41,42,43,136,137,138,139,140,147,141,146,142,145,143,144,179,174,178,173,177,172,176,175;0.888255,1,1,0.147696,0.147696,1,1,0.17002,0.888255,0.147696,0.17002,0.890788,1,1,1,1,0.17002,1,1,0.890788,0.888255,0.147696,1,1,0.147696,0.147696,0.17002,0.17002,1,0.890788,1,0.888255,1,1,1,1,0.890788,1,0.17002,1;1,0,0,0,0,0,1,0,0,-1,0,0,0,0,-2.571201,1;;}}}}} \ No newline at end of file diff --git a/irr/media/cooltexture.png b/irr/media/cooltexture.png deleted file mode 100755 index fcc219ac7ea95c2ad9b49ad0064835638cb51c69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4828 zcmd5=XH*kFwho{Y1O!1KbO8|%sX?TQqSR0X>0J;)k={EB(nOG6LXj>4p-Tx>5u_@i zNef61K|+yGl90{r+4uAP+q3VTGc$M2Ju`D>?#wOoB|O#Bpufs-6#xLxYiT|)1OO<= zT?zn@l1wHURiwy-#!J)O7XYAT{%55CN51C_#L#(^a%fs87FdAw@?3P*MyCRlCo}xEWq6L_V5h156#?KN(4RaMhTZ)?iz$HKw0Kfi`{v2$?J%19gOb zLU&u1QLYC_!9l^Hqi>XfZU8ir*hffWHO*!RNX zO_@yBVx2&r;NPZ=WHLGQb`r;ZLTkoSrE{E@BJ;9^I3XD}Cp{TEiCJ7a&fb|%?T_YY zU9+r|=hAt!HqK6FbD6a6q?QS+@W-&{Jumb3g|9f;9Dbh}eHh3S0r=|pTT3ldg|L9` zWeoPw&e6?{g!_E<_r6%RW5Q8JGt}DB+|vpxymz2M-|+q zL6f;HCB+%T4`5AGUun1|>FyP~(oAb&Vi@P3b&Cd^i-rRbC8wx2ic}yS$j2wpwI9Y6 zAjFKkp9#yWhjz1Y>l0LHop53t18>B|*;ZU!+);Oa!D02N^@@wD>-_mfZHaKLuw6Cav-C)j7dw6ATrd~&w{A;3zxz+2}E6n9DX;p zty^}JMOZ4rGDeF;(pad89+x1{=6gDH%WT=kRZx!C)v z|KO}_65Sa9uM=)CdzpBUH@TC`s4XmXBwHkg0?Q6X1nK$3OUfA_@8=!=6sm z)oG7b+rWx!ZIML#Or?txCa%}jQ;&m_nLn;D3Z~pu5JU|uye)vtveJrQr?~5tQTh7W zsDczDH}dql3OZL`5)`(X3(bSU#;BJ@+9^lh2Je-xO1yjMi-F8 zs4lE8n6gXPp6k&}IP!iBzHK9*J!rV&9CEZdhQ~dyH8%E-?rK1xP?d!tJB#hU>2UNC z3(7yTN6QCNH2A}@kp08#SSZlWpq36OagsHFVuM|1R9oR`Y9C4ee89GN|>Uu7a z5Q(Z!d2`4Cw?sYQZ^sC8-*EG1_cmPMj!fFZQZl7~Q$!UbnG5|MSs55KcrJHyzKhVE zOy*X^^)u^-5e^1t_#8<$lCR1>^3zQhw7J@lvw10*RrVBut?KZo&lA$j&~Efw4nOHS z7~o{qAibew!|l#7zf-TH?<-RW31kFivs}6On87TU2loBoOW8{3o5t}Eo?cE^&!Q0& z&&ITG6&^T*CDrm_NDA4#i zKPVq=P|Tm5{$5;TY!GxlG&YBTt}?f}yWc zPOr6Kx3Su6crtQ$So;yj^`Fs`ZDj(MgQ_!5hN`{w0q`iGWi_2KYdfSr}Wq+ytMEJ9>iU9Y}}UIH50= z|8Y`%rl?7WmAH1*r%!dAhr{}jxXDwqFv5xUWgqnC#PhhBv-`0@38YnO2Z`oN4Z{Yn zsSX~po~DpUpR>aa7EzNMH*RcqL>#UUY48NE|7viU6Cx%_iXDXr-SOJcohBQE=T3PQ z&@Pq9+A!o63oV1CX^dgj)Y;Kib#=9AosBzaKoQ&71pQIi-Q7LPE-U!j8i=x<+3%tk zT)6WG!fnp5U|Tlu#aIn)$nZSoFyD?j{s}(zTs&6d3gO$EH*a|JPgn4yed04AeO)E` zCcWR6U@JWWPiL(pLf!A5OdeQ#P=m1R_;I;lNgst+jOoVg6xM_T2hZu3FRDE&C(+R) z@BOA^+SiZYcgZdoBEai59W&S}i!WMDKJ%j>uwjR5w|(68$I!dAh$?8pHkx<0=P%xi zG}twC5mUUAJNt@B_44>;6MiSVqq-BvukmP%X%32*yG%oAHkH&|$fH~B;G$g4`3YX> z=gJ7PgJz)9#96<;e!L=Bm>!h81?+Mh90GxjqN@g4*i>PpZMAi|)E}d2U9`Jg7b>asuN zC1m$3+!#l=wz8f~l2&ofS0R1sQ`ig+TyNbhwgq>j1b*(C|5VwW_^0LGvYFIZ&g*tp zqH>c|qRSmbl*>nKI34LIA#EUtKFRr}x1vySzAfB>iCQN;H z)hBYdw0BM$@wjOHIZS<<&@J@^DC7mnVml0=pcwVsl-Hk0`00)~fQ^PQjo@uXAcOaiN^*EzXMaaqK zm)ec{h&f$u!{&0Kd1U%7S8iXONmr=vDVljAi>Ewv%4AhmrOGcQue66e`m&s*f#K6N zF}$lkzD@;<47u~k>hwoba@2^mjpPF9p^ZMqx`%d9JcS%sG^k(@a&Z#q47>6ks4-T| z`V!87>UkZQxVeG}Z<%fy@EoVAx@c>E7x?TWA(Zn)4|tjvOE^P2L-fhgandPgfTA_0 zc3#7o2&er8dAIBw-hPQ|mK5X$8t(ttW!Jq9qi!H!Qc4^2&qq@W)|@7b2w}*RGxTIf0=`}3GgIIMF7K7V zpVYPNS`lF%LSt|RRM5LL{o)KFUO#JA!K#g{xuLz@k2VrD&Xnn1q(pYNvX)3)EH_$QYQB4ZeBRz(A*+D4R`{w{2Q zqmsibr6V0LM%y{CH<~W6DG?d$!D|}z$KJEAz_0M8>)mtBHOF61DHNiOV}=3)=Xz6d zWKHsO`5T2Y|Nh9HhTUs?)A_Qp-`e0Q{volF6fzt}U7Rey7P^e_xm1vBpS{8ezJIgB z`)ZPu82mQ%>hSxLtL!gLTzENMVP79km;T6nx*(qcpc@&=}*OIjcxgr znqza{g3@`nv7nhPwwIJ#$DVX1isva=`M^V-0K!kv3;ZQ3W! z%cT6Gw#OPRv-t(1@J^WOBwTnCdjv>Na(LyN8Ju6fhYY>ruQvHCuXsy_%1dd(ol@e! zXa&BMfe*-;J8Y96&+Ifq;a#ic3u}HmDziDcJJ_W0lKxC1?psES437E8-#RLDBt*O( zJ2uB#b<`r2R`w@_YJ}*?jP$*xk5vQbxRMHv#?zaQ(?t@67yjqWxR=F?`oI^ugflY_mxl{}z#A5?ktrLSjR&P(R%F*}g1G zwOB}1z=*7mM6`&vn%v%-zF^-4A9_HY%26N!f7~UY-OM!63$lO;q~R-yIMJNRCM#=( zc^V8ts4ciP>iq#wEC!HS)wp}#B$bosCae9KurNjxmt$-WAeQ%we0mKdEQ_ z%DtFS`OCmHwCEACD%;c`8r2T8+YYMqZ?#s94=#F!k@a^qI$Q6XZR-BE=rrA3QG@uf z>1_(|z437U)X^=;LLg}W&$Xk964Pa8ftZ@GJs!+$->QpKEa_ZVRdbyPuQ7lPT2qWp zaF8v;fAhUy%ngsRMV;{uv>&>agM&e3#iGF|rP`s0o*ap;psqsQ!JG)noKp5)j>h{X zektmf9f)iBxg+EymiU8qjt}NEmK#}XaKn`HD|tb8R0a{0mn1dLQ*2~Z%#Mb~C4y>i zrywY6C^qB$yO11>u14(}{~D3_d6w+n$E^fo%Ffp|zvWvZM0-Vka?udZe2!A_gu=i9 z2FIgxSEK7)pWByN?5^YpkUj9%i$8svAx9~Fo9D*(JZ&B;_Y0}>=OEdBRV!Ey>6f0HCF&_XMtL_xc|=%FgZp diff --git a/irr/scripts/ci-build-android.sh b/irr/scripts/ci-build-android.sh deleted file mode 100755 index a865e56a4..000000000 --- a/irr/scripts/ci-build-android.sh +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/bash -e - -# NOTE: this code is mostly copied from minetest_android_deps -# - -png_ver=1.6.40 -jpeg_ver=3.0.1 - -download () { - get_tar_archive libpng "https://download.sourceforge.net/libpng/libpng-${png_ver}.tar.gz" - get_tar_archive libjpeg "https://download.sourceforge.net/libjpeg-turbo/libjpeg-turbo-${jpeg_ver}.tar.gz" -} - -build () { - # Build libjpg and libpng first because Irrlicht needs them - mkdir -p libpng - pushd libpng - $srcdir/libpng/configure --host=$CROSS_PREFIX - make && make DESTDIR=$PWD install - popd - - mkdir -p libjpeg - pushd libjpeg - cmake $srcdir/libjpeg "${CMAKE_FLAGS[@]}" -DENABLE_SHARED=OFF - make && make DESTDIR=$PWD install - popd - - local libpng=$PWD/libpng/usr/local/lib/libpng.a - local libjpeg=$(echo $PWD/libjpeg/opt/libjpeg-turbo/lib*/libjpeg.a) - cmake $srcdir/irrlicht "${CMAKE_FLAGS[@]}" \ - -DBUILD_SHARED_LIBS=OFF \ - -DPNG_LIBRARY=$libpng \ - -DPNG_PNG_INCLUDE_DIR=$(dirname "$libpng")/../include \ - -DJPEG_LIBRARY=$libjpeg \ - -DJPEG_INCLUDE_DIR=$(dirname "$libjpeg")/../include - make - - cp -p lib/Android/libIrrlichtMt.a $libpng $libjpeg $pkgdir/ - cp -a $srcdir/irrlicht/include $pkgdir/include - cp -a $srcdir/irrlicht/media/Shaders $pkgdir/Shaders -} - -get_tar_archive () { - # $1: folder to extract to, $2: URL - local filename="${2##*/}" - [ -d "$1" ] && return 0 - wget -c "$2" -O "$filename" - mkdir -p "$1" - tar -xaf "$filename" -C "$1" --strip-components=1 - rm "$filename" -} - -_setup_toolchain () { - local toolchain=$(echo "$ANDROID_NDK"/toolchains/llvm/prebuilt/*) - if [ ! -d "$toolchain" ]; then - echo "Android NDK path not specified or incorrect"; return 1 - fi - export PATH="$toolchain/bin:$ANDROID_NDK:$PATH" - - unset CFLAGS CPPFLAGS CXXFLAGS - - TARGET_ABI="$1" - API=21 - if [ "$TARGET_ABI" == armeabi-v7a ]; then - CROSS_PREFIX=armv7a-linux-androideabi - CFLAGS="-mthumb" - CXXFLAGS="-mthumb" - elif [ "$TARGET_ABI" == arm64-v8a ]; then - CROSS_PREFIX=aarch64-linux-android - elif [ "$TARGET_ABI" == x86 ]; then - CROSS_PREFIX=i686-linux-android - CFLAGS="-mssse3 -mfpmath=sse" - CXXFLAGS="-mssse3 -mfpmath=sse" - elif [ "$TARGET_ABI" == x86_64 ]; then - CROSS_PREFIX=x86_64-linux-android - else - echo "Invalid ABI given"; return 1 - fi - export CC=$CROSS_PREFIX$API-clang - export CXX=$CROSS_PREFIX$API-clang++ - export AR=llvm-ar - export RANLIB=llvm-ranlib - export CFLAGS="-fPIC ${CFLAGS}" - export CXXFLAGS="-fPIC ${CXXFLAGS}" - - CMAKE_FLAGS=( - "-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake" - "-DANDROID_ABI=$TARGET_ABI" "-DANDROID_NATIVE_API_LEVEL=$API" - "-DCMAKE_BUILD_TYPE=Release" - ) - - # make sure pkg-config doesn't interfere - export PKG_CONFIG=/bin/false - - export MAKEFLAGS="-j$(nproc)" -} - -_run_build () { - local abi=$1 - irrdir=$PWD - - mkdir -p $RUNNER_TEMP/src - cd $RUNNER_TEMP/src - srcdir=$PWD - [ -d irrlicht ] || ln -s $irrdir irrlicht - download - - builddir=$RUNNER_TEMP/build/irrlicht-$abi - pkgdir=$RUNNER_TEMP/pkg/$abi/Irrlicht - rm -rf "$pkgdir" - mkdir -p "$builddir" "$pkgdir" - - cd "$builddir" - build -} - -if [ $# -lt 1 ]; then - echo "Usage: ci-build-android.sh " - exit 1 -fi - -_setup_toolchain $1 -_run_build $1 diff --git a/irr/scripts/ci-build-mingw.sh b/irr/scripts/ci-build-mingw.sh deleted file mode 100755 index b1fdd7b99..000000000 --- a/irr/scripts/ci-build-mingw.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash -e -topdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -[[ -z "$CC" || -z "$CXX" ]] && exit 255 -variant=win32 -[[ "$(basename "$CXX")" == "x86_64-"* ]] && variant=win64 -with_sdl=0 -[[ "$extras" == *"-sdl"* ]] && with_sdl=1 -#with_gl3=0 -#[[ "$extras" == *"-gl3"* ]] && with_gl3=1 - -libjpeg_version=3.0.1 -libpng_version=1.6.40 -sdl2_version=2.28.5 -zlib_version=1.3.1 - -download () { - local url=$1 - local filename=${url##*/} - local foldername=${filename%%[.-]*} - - [ -d "./$foldername" ] && return 0 - [ -e "$filename" ] || wget "$url" -O "$filename" - sha256sum -w -c <(grep -F "$filename" "$topdir/sha256sums.txt") - unzip -o "$filename" -d "$foldername" -} - -libs=$PWD/libs -mkdir -p libs -pushd libs -libhost="http://minetest.kitsunemimi.pw" -download "$libhost/llvm/libjpeg-$libjpeg_version-$variant.zip" -download "$libhost/llvm/libpng-$libpng_version-$variant.zip" -[ $with_sdl -eq 1 ] && download "$libhost/llvm/sdl2-$sdl2_version-$variant.zip" -download "$libhost/llvm/zlib-$zlib_version-$variant.zip" -popd - -tmp=( - -DCMAKE_SYSTEM_NAME=Windows \ - -DPNG_LIBRARY=$libs/libpng/lib/libpng.dll.a \ - -DPNG_PNG_INCLUDE_DIR=$libs/libpng/include \ - -DJPEG_LIBRARY=$libs/libjpeg/lib/libjpeg.dll.a \ - -DJPEG_INCLUDE_DIR=$libs/libjpeg/include \ - -DZLIB_LIBRARY=$libs/zlib/lib/libz.dll.a \ - -DZLIB_INCLUDE_DIR=$libs/zlib/include -) -if [ $with_sdl -eq 1 ]; then - tmp+=( - -DUSE_SDL2=ON - -DCMAKE_PREFIX_PATH=$libs/sdl2/lib/cmake - ) -else - tmp+=(-DUSE_SDL2=OFF) -fi -#[ $with_gl3 -eq 1 ] && tmp+=(-DENABLE_OPENGL=OFF -DENABLE_OPENGL3=ON) - -cmake . "${tmp[@]}" -make -j$(nproc) - -if [ "$1" = "package" ]; then - make DESTDIR=$PWD/_install install - # strip library - "${CXX%-*}-strip" --strip-unneeded _install/usr/local/lib/*.dll - # bundle the DLLs that are specific to Irrlicht (kind of a hack) - shopt -s nullglob - cp -p $libs/*/bin/{libjpeg,libpng,SDL}*.dll _install/usr/local/lib/ - # create a ZIP - (cd _install/usr/local; zip -9r "$OLDPWD/irrlicht-$variant$extras.zip" -- *) -fi -exit 0 diff --git a/irr/scripts/ci-get-mingw.sh b/irr/scripts/ci-get-mingw.sh deleted file mode 100755 index 9cf933fea..000000000 --- a/irr/scripts/ci-get-mingw.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e -topdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -name=llvm-mingw-20231128-ucrt-ubuntu-20.04-x86_64.tar.xz -wget "https://github.com/mstorsjo/llvm-mingw/releases/download/20231128/$name" -O "$name" -sha256sum -w -c <(grep -F "$name" "$topdir/sha256sums.txt") -sudo tar -xaf "$name" -C /usr --strip-components=1 -rm -f "$name" diff --git a/irr/scripts/sha256sums.txt b/irr/scripts/sha256sums.txt deleted file mode 100644 index 0c080de3b..000000000 --- a/irr/scripts/sha256sums.txt +++ /dev/null @@ -1,9 +0,0 @@ -0f21ff3be90311092fe32e0e30878ef3ae9d9437b8d9ac25ef279e0d84e9bb8e llvm-mingw-20231128-ucrt-ubuntu-20.04-x86_64.tar.xz -53dfd31285f470fcf0dca88217c5cf9c557729af6d103afae5936e72ddc38d3c libjpeg-3.0.1-win32.zip -3d44e0740914e6878300e30653aad39e974821b5d7f6c2567e246b4eb04a5324 libjpeg-3.0.1-win64.zip -6baf4e819bfb3573760524b5dc9a04b5e479090d6d2046b86cf39a3107c0071f libpng-1.6.40-win32.zip -c02e029f01fce44baea7f4aecfd2564bd8a03507c0c6af8b03339ae0452c8b7d libpng-1.6.40-win64.zip -f9f890af960e92fd3f532f2e9ac00681c33bc67a722e000dfdaeb41b0064f1a0 sdl2-2.28.5-win32.zip -8dde2c6963544b7d8a2e87c128ebbdf51ad0e70c7e2df986ff4e963ce9996d9b sdl2-2.28.5-win64.zip -8af10515d57dbfee5d2106cd66cafa2adeb4270d4c6047ccbf7e8b5d2d50681c zlib-1.3.1-win32.zip -ad43f5d23052590c65633530743e5d622cc76b33c109072e6fd7b487aff56bca zlib-1.3.1-win64.zip diff --git a/irr/test/CMakeLists.txt b/irr/test/CMakeLists.txt deleted file mode 100644 index 6518f69c1..000000000 --- a/irr/test/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -link_libraries(IrrlichtMt::IrrlichtMt) -add_executable(image_loader_test image_loader_test.cpp) - -function(test_image_loader format expected input) - string(TOLOWER ${format} suffix) - add_test(NAME ImageLoader${format}-${input} COMMAND image_loader_test ${expected} data/sample_${input}.${suffix} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) -endfunction() - -test_image_loader(BMP 16color-16bpp 4bpp_v3) -# test_image_loader(BMP 16color-16bpp 4bpp_v7) -# test_image_loader(BMP 16color-16bpp 4bpp_v3_rle) -# test_image_loader(BMP 16color-16bpp 4bpp_v7_rle) -test_image_loader(BMP 30color-16bpp 8bpp_v3) -# test_image_loader(BMP 30color-16bpp 8bpp_v7) -test_image_loader(BMP 30color-16bpp 8bpp_v3_rle) -# test_image_loader(BMP 30color-16bpp 8bpp_v7_rle) -# test_image_loader(BMP 30color-16bpp 16bpp_v3) -# test_image_loader(BMP 30color-16bpp 16bpp_v7) -test_image_loader(BMP 30color-24bpp 24bpp_v3) -test_image_loader(BMP 30color-24bpp 24bpp_v7) - -test_image_loader(PNG 30color-24bpp 8bpp) -test_image_loader(PNG 30color-24bpp 24bpp) - -test_image_loader(TGA 30color-32bpp 8bpp_up) -test_image_loader(TGA 30color-32bpp 8bpp_down) -# test_image_loader(TGA 30color-16bpp 8bpp_rle_up) -# test_image_loader(TGA 30color-16bpp 8bpp_rle_down) -test_image_loader(TGA 30color-24bpp 24bpp_up) -test_image_loader(TGA 30color-24bpp 24bpp_down) -test_image_loader(TGA 30color-24bpp 24bpp_rle_up) -test_image_loader(TGA 30color-24bpp 24bpp_rle_down) diff --git a/irr/test/data/sample_16bpp_v3.bmp b/irr/test/data/sample_16bpp_v3.bmp deleted file mode 100644 index 4b6fbcf501a0fb43d42dc6ab2d6a2b67acb8a0e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 654 zcmZ{iF=~ZC5QaCoKmq~VEz+b)nc~4)!OkL<5*B3Om6mqy%FHdEC$SVyky^+_HZ!|f zw28}1p&$Ru|F6~O&!dXZ2lqFw7p^C+2ldQdsW1Ni`kpGj;HIs%We={y2|bQD{zEDi>Xk$h2^`XdhGq;dDQ^AUlO+ocbJxVJk@Kh{C$n3hIGLY0B+)aZ z`HZZ$;64-{ZlVW`aHUyE6cg96-pI^8EV%V#TQ5}RLanVK@uGP{&z!hkFma`UN+~j> z3AK=Af4H7wK84Tu2nSWT3YT&Ocg|7VNRmoz7cxlfz-kIEIB@&0^^&(Zfac)XK~iLP zAHZ$>#LS4$95*9+NMvMkaGC4=IH(p(J7z8_My}*EI@S`sv?9vxe z@1!`+QmDlVBY*sN|1X!XKev#cPuY8^N2zOc;by*8^p)uvh}HEo|H>Su~65W6Eb0=6saHGH#U1IikPLQQc^g z0OOi1u{dysqmLf_)Q*kjtq!nSIB}2_g`HaTW77-M5mw91s2(v}?Hv8g)n^XNf%1$q vmlP9MNE)?hsorwe%8hGHR}|A^;(4!RAS`8Un{Os_%1S!P^^(r@-vjUq7yl1M diff --git a/irr/test/data/sample_24bpp.png b/irr/test/data/sample_24bpp.png deleted file mode 100644 index d38f5989c712b9edb7992dd8f84b78a2a962420a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580 zcmV-K0=xZ*P);t$FE~(5E9%T9 zp8{gF0Uiu{H{aNfAR>SFUL78mO;lMkQQvsH-FeCVxTmSEyRTzHK*v(Ob(Lkea*hmi z0`$Al$^G&u5W;YDgp3K(=|&42Nz~&0TDBnVI+ThvYPu+?b?)Xp<(b8o>G6Cc2ogYJ zRVw?b`0CKsTawjYyhU@HFtM`Mk;@klxX38fA>0D~!VjsR}z+dq~9&4Dz4H3rxW zb|(zO05Ya35W*tmT~QEN1L#DB+ZSuVki+=tAoQkfq#0&d>Ky?jSq7F?&q$A%Uph7W zWNfZ@B68@;+>XeYV`QZx?Pnb1DvAVlEdO0<@44BsR zWkW?>(aG1|z% S%MUvM0000sbf}{zguo6k3 zVrRNEqJelxcKpts*>N!%4$HFP+y8QAjhQm~%b01CF*CFFZ0l!A1smjT5ZYqX?mjS4 zdGK-&Js*xAYvY@v(e?4@r2ci<{5MyS>>YV>TqD`2HR42d*G*Mh=tA<-JpMazQADV?_l? z=RuzixvQRl_{8n-RuBOZC24t}VYL%*+%ize3Fy;lnQ@;&l?Rh$(kGM$t!yFua|KD4#O&kTcrqyTj>PDrGj)4gTfY@B*h^(Wx^r{$Oy$|6VNFJ zc~5x|NDN`+tcNU-CDD$Rh!D%bV+Qc z+VAgtyzcqW2d&3^>*la|b<{jAe4muQ&MKb*AkB&$a74N87i+d~4`cVQZLSCf;_q&X z&98(NI=^cS1HC`_+~X$&Q8^Z{P1)@nBCfqI$ap|@5|-;q5)m;zcqMr>LLsBMc<3rS zzEqaTy&$s%U@#lL%UUCflBDFV-#P|Tm^6w}r`1Nlg}h-Pba0X1@lsg+M)(|C|hdKg0Sn*(jpO&kr0H7;LsG& zP|=oKOH`nh-qZJZt|u{v%N?H2`905bu1dvK_cyK*YC?(5l;e8$G1&WjI|yD5+fRk| z%~9+6xOGzeIW2#m*S;?9nwhJ5(^LwT5mzb{dVQ5!R3>yf`~Iq_r~KnN0Py7O#;vAY zR~qhMUA*rc?U$6!`J+0$?jSD~(ow4xLfaG_S*ZPz;3LinK?5+71T;*C#G!&xol$hY zN;!%!UXZ3Vm+34FV7G^{+e0y=06oVL!T$Du zF07eEqzacAb;~q?IE52BRpgnlCjdJ)aAptPJRBMVM3D$FE6w?|=`InOu+j|J>6Ely$xfZ*^qv{R z$iFGOkTD?!=6oAT$GxdSWao}eVx?gRGb&%Tkne^p;pm8U%()4QatC3T_KO~Jm+=4N Z@BUjB=a-VpsfE7CeZUl+5g^f)R2}WEH#3qo!O2k6N z&U7}SfkaJqJa_Nx7?Z+qS++TQzWdE22&RJUHxo<;vw^L|GP{pSwflCEyc`anqT$Wa z;OcmAQvW`Uzs}m9=Xd?f&iHt6lm+~kwdK9{SF6&G=L9cLyuDkC)L!?z)Yk9uTGNyX zjV+fv$cuuc9kd;&fl2E@jqO21YQzP_kQO6g((JIQt+kvnH1e{ug-E3yq$LGG7+7>9 zym;sn(iu~bO<5C{Rs^N>LTSCiW+1L)f7?byUIa{8z_EG(l_f2M)ET3q;N_A7vooco z$up&4KxJ*CfRybdXC)>ig)o5RWHmidcLbrKUJptqnN+|^ES*%lP)I?f-q7f|_=|)Q zP&U=H=te;5^&lUI^_zOoNi$GdGED(PqeiXh_ad=lqd-CliInZq)dZ}yl;tAHXGs+m pHLzTy6m(BHm#p5u=Q8=1$^K+(E9<$9{AzxAX>M~NznGg3egMO@v-AJ} diff --git a/irr/test/data/sample_24bpp_v3.bmp b/irr/test/data/sample_24bpp_v3.bmp deleted file mode 100644 index 4684f14669f8f4a1601a63dcb70a92ed998200fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 954 zcmaizF-yZh7=|M{>)_(<;^gQLaQDY_3w7vXTy!uMq+SLWmm*TE7!bsz(7{Q>LB-8( zE~16Dn&y1Ie91MogK~F-!jtFy-iw=Ciwj=%x52r_US=<`=e!k8&)b>zyw!Ex*$*5x zh-K|Rr}h5FQTlc~eu>6+C&|rea@PDgkH0Uvqsxckb#Ho=*)k6MFD`8D;Pc(8`s+2t z&WU|+Z&BOZfm7S&BX(=rvO<%wRmbw6EU}Yr&T4XEJ67|TS#;{f2*@HfUf8tVV`|&z zgA)zgr)6K}>cH6vrx#sIZ&KrLMGf<>1e?us|^c@{Rq zVW$d*Rh-x?)Dv&y^AcOD=4^4-ls0?UbPlVycv}_JOe%qcn6&i6f+a9x>P73lFf4_a zS*fT{3me2zQN0g{8cGTejb4`f%+w1jQ)_IbC6>Y+%lpCI)MYkT7p#rknQW1-$(h=*(ilrFt0?^MWzGI`!Tti@bg?i1 diff --git a/irr/test/data/sample_24bpp_v7.bmp b/irr/test/data/sample_24bpp_v7.bmp deleted file mode 100644 index 1fa343188bc7deadf985d9ea5d274a1363e35c11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1038 zcma)*J4*vW6otn}t%Z%fy+0z2m5u)-*n}vgF&1j!Mv%B$*w_S-V8nnRHh~mYA{Huk z+S!N(5;fWJyK{FZYf@;qGfW=eoO93J}ygv!mXrjQ=$Mg=ahrDDRSvnI6hS(7=e;-Xv6 zBTc7bxZK1o`B1PJrcE8R&V^iTTGY>9?N8s<=g(PF QQ8KJF@ZZB4|8v3q0IVCfB>(^b diff --git a/irr/test/data/sample_4bpp_v3.bmp b/irr/test/data/sample_4bpp_v3.bmp deleted file mode 100644 index 0cc06f3161f8e3f81cd682e77503e8d1d8b594ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmZ?r)na4-gEAng0mQ;U%n!tj3@kvBfnf^}3v)xT0FVvB|9jdP{Ib5hL4Z_ zGYFcccg$LI?%lfw3=D$CW)+=Kw!HAS?>BFqiwgzX!EX#??^?4j4ycA-{@dLfxAw$^ zg4iEFU%Rn;bsQgv&3HMteCMhd1_cHN1wmo6^qI5HfXq~21hOk;tpc%~{>tvoj-1L0 zV*4}5N~e}KtU3c?D~L;Hm$qtw*$mv$rl}3H)&Rv_?sD%o4Qo(Z1!B7ZotIY8x#|D| F0|4G7a;N|R diff --git a/irr/test/data/sample_8bpp.png b/irr/test/data/sample_8bpp.png deleted file mode 100644 index c81f816f4f031b4596304b336d80942b8d598b48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 346 zcmV-g0j2(lP)++atplo7P@c)0aK|9UknLF9QaZMnUG3b{yq`d9m91+wK&Byvx&U4-laBY@Q zRWa7FSO+(^Q&Fv0Vn|l&kxCmaynv`FY;1yv7%?D- zjgZ1h#6rc+bT*h+fMqj*L$k=ZVtMES-5c{ zBI1M$1SA{5g)5OPG-RhcHxdO$9lKI9NG{yX$KjrHE)Wmk1!MpcVzd0Eo}1BgU-ZIk zx%^qrclE}!{<^Lg&-Hpo?|sm#hvm}k^-6iM_Vjz>>3FlRw|^aM^>?-(%g*I)_d)-> z+dsPRAL(zWy}J|r{j7KMr~Gl*`+KE7dKLx3(B;Cf)?^sf8|Y!`K@taUh5I!NZ5q|H z$SZ6M5*EAMcce4WWzsMphKa!E(y=0JK+^~B4IJo{?b$`nQcP?S2QuX7(5$H} zbC4hd7X=$yV;!5Ih)t1zNo1Ks56o${eb7$tx-r2qLv9q(YbJu^6{0oHzNg#>h->?%?$RROJQbYwYTBNZN z5pg98fsiI(kt&1~CfI3bBPzH_*10*mMNawfa(LczfCT_k&<2_mG)S;3%Xa0hef_-J zcx6`yc4x`1ZQD0L?RMWDF50ax)%xw#W_AAV{@2d^*Y_j4_v6#_)uw<&hJkVK^wrWOt1~_&-QK}-$HKrnoWXD6Jc$bO7 zS9!gW#+V3#++i+91|;B+fW{aSY(WQ&<2t}lfR9Q{OtFa_FmB+Mg~%~;RT}A7qQ~1E zlLRHDbCIg3F10sqWpq%wz_Kw5i8+(K6r{ZbeHnV%o3zD%+#yRNzb3x=h>6F>G|H%-s49P7G`?0(+}Yva>r}H diff --git a/irr/test/data/sample_8bpp_up.tga b/irr/test/data/sample_8bpp_up.tga deleted file mode 100644 index a314e8689590abe043c1c5a60eb908aa77de8fe6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 419 zcmYk(Jxjwt7zgmn`=yukl3bH(lB?f9zeRB!|fM`3oxD*kwVnGlW zp@Wl%gNmEoTttOdZF62y2mj-b-LhEb_hUWc%}NH+k6~JkdF*CipXMUR(|*(=?A2lot`VtS7s_xlcNjcm5K5g_yu3qUMc_p diff --git a/irr/test/data/sample_8bpp_v3.bmp b/irr/test/data/sample_8bpp_v3.bmp deleted file mode 100644 index a890e64655127621d12b5418e1799341e990ad14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 474 zcmYk2y)Oh&6vfYczwu^wzIOJRomq`WA^r%xKSn1MDjEtOiLeTdMg*}!A`y*5p%PIb zIy#LYvDlsGzFCEvoSVE~PTsxej!%r~C~Kek2q`A{Bn^x@FscE=V|@+LTS?ANla?SC zW>BooL(ZK*Zcafiw;&hqAzN+8gGtEs3lu9KcwH;-w9&)EW)D|eUC5nVoNafpyYqvh z{fxbnZ^-jc9A18*dns{r)4}Jp#PMAR?~esepF4PakuXh%dzGpmMz#82UY24C`u`xb zrs-rntE6E<#vo_R28cCzRuy3q)fCHf#j=d2LikA(*9UTD=g^x3dFly2j-!AzZ1U+% z%}gCGD%CiQB4WA$OV_l&(P0?X>kaZ*1~j!J@9$V^G;+9BmYO0-cpUg4v+Y5}GBOG? z=0Sz|b{U441uap`BW9={6*EB0VV>>VWoo#t5J=*{8DL)3uq+Bg%yo4dU0$Mp9{d7t CQCp}0 diff --git a/irr/test/data/sample_8bpp_v3_rle.bmp b/irr/test/data/sample_8bpp_v3_rle.bmp deleted file mode 100644 index d460d0fd66c87c67af2e4d3f302a7a44b1bdec51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmXw$y-wUf6orqy{u!@-#`dgtc6Zh^X{dOJ^mzruE2N7^k%}}>Btb%CDbmm&1SlYo zkWiXP6saOa0Z}^WXi$R0CfW7mj=hX@Mw(A&=AL`!`HLkR_1dR>o+L<|WPy=@McSS% zG@7Hck$$sGdI!Dw8rAw+=#>-btyj?RN6>56(4#}>gO|{oUr~K{!2L#rn~zic*qY+o zrwR1VCC;`d*xmVu>hKnOCx4;8JmT~DA56|QjxNS{{H}3)HOB9s6;5x*_;sg&*m3+Y ziW8pYoo)}_kisOy4CD=T4HH)B_$pL!KP$+X4jJo<;DI0h*zg=2R-w$P+h%C>E+pYQ?*S4%#oGi<`-NDT7wqTj; zVUxWx7&LVQSM?oP6ro6Y#yqe0#1&nTjtJA3anCe6^D7rtVR%HmWh&Hl14R{x`z-Rf i*G$Ls6$DbE5UJm0QPOfTpr5#bFeY=>{xa(`Kc^Flsbf zlxG>x)E)Wsj`db6hihf2DUyW8fgdv4ZYs+tQJ66gs?4{`X2>jPi87DOP=8crfXrc@ g?b~J7a9tsg#DP;`Ud^y9YKF{pbt+xH#PoUa1n?(co&W#< diff --git a/irr/test/data/sample_8bpp_v7_rle.bmp b/irr/test/data/sample_8bpp_v7_rle.bmp deleted file mode 100644 index d197b09a615ea5b00dc78ab57a7f2dc44d43fed9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 608 zcmb7?KTi}v7{;I7+ds4HpV{5Hz2RHbhLQppgPFF$x6@4Kc)c zMiLTZV?tqNj0F-p>1Yg)aKf?UJG%=#lX)jIzdSSV^S+sx$8$F7VOzjU+6f9yVS!Nq zPicAhsEG%3HUa3{S)XQRpFFQO_gLDrcQ^Fn3+TmF=vNDul$DI z7(st{2L1LMs`U%}eN*AjyBi#B-r)Pz1bXKezHCqMe&-t1=mfiaSI}QC@$ujvCI=dy zevWbZL*w(|80W_o_D{w*JEb~e$MM4`PI#7gd(-fSWGNwLAa9^+n6OI6SD}jgSwX^d z$e3r`3lJ|umB_5fyM_;qyyi-UeJOd7i{8|b)lWm%W$6%)Bo`u2*}!Y{c4;|%Ka_DI zvOFhlcj|Xs+p=0aS(f*DgI4c$U>WaWc1X7|9sXxV{q~p3&G+`$Ix5-f5x2Bo& GiT(q@QD6!H diff --git a/irr/test/image_loader_test.cpp b/irr/test/image_loader_test.cpp deleted file mode 100644 index 1dd4888f2..000000000 --- a/irr/test/image_loader_test.cpp +++ /dev/null @@ -1,162 +0,0 @@ -#include -#include -#include -#include -#include - -using namespace irr; - -struct ImageDesc -{ - const char *name; - video::ECOLOR_FORMAT format; - std::vector data; -}; - -template -std::vector to_byte_array(std::initializer_list in_data) -{ - std::vector data; - data.resize(sizeof(T) * in_data.size()); - memcpy(data.data(), in_data.begin(), data.size()); - return data; -} - -static const ImageDesc test_images[] = { - {"16color-16bpp", video::ECF_A1R5G5B5, to_byte_array({ - 0xb6df, 0xb6df, 0xb6df, 0xb6df, 0xc23f, 0xc23f, 0xd61f, 0xd61f, 0xea3f, 0xea3f, 0xfe5e, 0xfe5e, 0xfe7c, 0xfe7a, 0xfe7a, 0xfe97, 0xfeb5, 0xfeb5, 0xff16, - 0xb6df, 0xb6df, 0xff3f, 0xff3f, 0xc23f, 0xf2df, 0xf2df, 0xf2df, 0xea3f, 0xda7f, 0xda7f, 0xfe5e, 0xfe7a, 0xc23f, 0xbe7f, 0xbe7f, 0xfeb5, 0xfeb5, 0xfb76, - 0xb6df, 0xff9e, 0xc23f, 0xc23f, 0xc23f, 0xf2df, 0xd61f, 0xf2df, 0xea3f, 0xda7f, 0xfe5e, 0xda7f, 0xfe7a, 0xc23f, 0xfe97, 0xfeb5, 0xfeb5, 0xff16, 0xfb76, - 0xb6df, 0xff9e, 0xbe7f, 0xc23f, 0xd61f, 0xfe7c, 0xd61f, 0xf2df, 0xfe5e, 0xf2df, 0xfe7c, 0xda7f, 0xfe7a, 0xda7f, 0xbe7f, 0xfeb5, 0xff16, 0xff16, 0xfb76, - 0xb6df, 0xff9e, 0xc23f, 0xc23f, 0xd61f, 0xff3f, 0xd61f, 0xf2df, 0xfe5e, 0xda7f, 0xfe7c, 0xda7f, 0xfe7a, 0xc23f, 0xfeb5, 0xfeb5, 0xff16, 0xff16, 0xfb76, - 0xb6df, 0xbe7f, 0xff9e, 0xff3f, 0xd61f, 0xff3f, 0xf2df, 0xf2df, 0xfe5e, 0xf2df, 0xda7f, 0xfe97, 0xfe97, 0xda7f, 0xc23f, 0xda7f, 0xfb76, 0xfb76, 0xfb76, - 0xbe7f, 0xc23f, 0xc23f, 0xd61f, 0xd61f, 0xea3f, 0xea3f, 0xfe5e, 0xfe5e, 0xfe7c, 0xfe7c, 0xfe7a, 0xfe97, 0xfeb5, 0xfeb5, 0xfeb5, 0xfb76, 0xfb76, 0xfb76, - 0xbe7f, 0xc23f, 0xd61f, 0xd61f, 0xd61f, 0xea3f, 0xea3f, 0xfe5e, 0xfe5e, 0xfe7c, 0xfe97, 0xfe97, 0xfe97, 0xfeb5, 0xff16, 0xff16, 0xfb76, 0xfb76, 0xfb76, - 0xc23f, 0xff9e, 0xc23f, 0xd61f, 0xff3f, 0xea3f, 0xfe5e, 0xff3f, 0xfe7c, 0xfe7c, 0xf2df, 0xfe97, 0xfeb5, 0xfeb5, 0xda7f, 0xff16, 0xc23f, 0xc23f, 0xbe7f, - 0xc23f, 0xff9e, 0xff9e, 0xd61f, 0xff9e, 0xea3f, 0xff3f, 0xfe5e, 0xff3f, 0xfe7a, 0xf2df, 0xf2df, 0xfeb5, 0xf2df, 0xda7f, 0xfb76, 0xc23f, 0xfb76, 0xfb76, - 0xc23f, 0xff9e, 0xd61f, 0xff9e, 0xff9e, 0xfe5e, 0xff3f, 0xff3f, 0xff3f, 0xfe7a, 0xff3f, 0xfeb5, 0xf2df, 0xff16, 0xda7f, 0xfb76, 0xda7f, 0xda7f, 0xfb76, - 0xc23f, 0xff9e, 0xea3f, 0xea3f, 0xff9e, 0xfe5e, 0xff9e, 0xfe7c, 0xff3f, 0xfe97, 0xf2df, 0xfeb5, 0xfeb5, 0xff16, 0xf2df, 0xfb76, 0xda7f, 0xfb76, 0xfb76, - 0xd61f, 0xff9e, 0xd61f, 0xea3f, 0xff9e, 0xfe5e, 0xff9e, 0xfe7c, 0xff3f, 0xfe97, 0xff3f, 0xfeb5, 0xff16, 0xfb76, 0xda7f, 0xfb76, 0xda7f, 0xda7f, 0xc23f, - 0xd61f, 0xd61f, 0xea3f, 0xea3f, 0xea3f, 0xfe5e, 0xfe7c, 0xfe7a, 0xfe7a, 0xfe97, 0xfeb5, 0xff16, 0xff16, 0xfb76, 0xfb76, 0xfb76, 0xfb76, 0xfb76, 0xfb76, - 0xd61f, 0xd61f, 0xea3f, 0xfe5e, 0xfe5e, 0xfe7c, 0xfe7a, 0xfe7a, 0xfe97, 0xfeb5, 0xfeb5, 0xff16, 0xff16, 0xfb76, 0xfb76, 0xfb76, 0xfb76, 0xfb76, 0xfb76, - })}, - - {"30color-16bpp", video::ECF_A1R5G5B5, to_byte_array({ - 0xbabf, 0xbabf, 0xbabf, 0xbabf, 0xbe3f, 0xbdff, 0xc9ff, 0xda1f, 0xee3f, 0xee3f, 0xfa5f, 0xfe5e, 0xfe7c, 0xfe7b, 0xfe79, 0xfe97, 0xfeb5, 0xfed5, 0xff16, - 0xbabf, 0xbabf, 0xff1f, 0xff1f, 0xbdff, 0xfaff, 0xf2df, 0xeabf, 0xee3f, 0xe27f, 0xda7f, 0xfe5e, 0xfe7b, 0xc25f, 0xbe7f, 0xbe7f, 0xfeb5, 0xfed5, 0xff56, - 0xbabf, 0xff7e, 0xbe7f, 0xc25f, 0xbdff, 0xfaff, 0xda1f, 0xf2df, 0xee3f, 0xda7f, 0xfe5e, 0xce5f, 0xfe79, 0xce5f, 0xfe97, 0xfeb5, 0xfed5, 0xff16, 0xff56, - 0xbabf, 0xff7e, 0xbe7f, 0xbdff, 0xc9ff, 0xfaff, 0xda1f, 0xf2df, 0xfa5f, 0xeabf, 0xfe5e, 0xda7f, 0xfe79, 0xce5f, 0xc25f, 0xfeb5, 0xff16, 0xff16, 0xff76, - 0xbabf, 0xff7e, 0xc25f, 0xbdff, 0xc9ff, 0xff1f, 0xda1f, 0xf2df, 0xfa5f, 0xeabf, 0xfe7c, 0xda7f, 0xfe79, 0xce5f, 0xfeb5, 0xfed5, 0xff16, 0xff56, 0xff97, - 0xbabf, 0xbe7f, 0xff7e, 0xff5e, 0xda1f, 0xff1f, 0xfaff, 0xfaff, 0xfa5f, 0xf2df, 0xeabf, 0xfe79, 0xfe97, 0xda7f, 0xce5f, 0xce5f, 0xff56, 0xff76, 0xff97, - 0xbe7f, 0xc25f, 0xbdff, 0xc9ff, 0xda1f, 0xda1f, 0xee3f, 0xfa5f, 0xfa5f, 0xfe7c, 0xfe7b, 0xfe79, 0xfe97, 0xfeb5, 0xfed5, 0xfed5, 0xff76, 0xff76, 0xff97, - 0xbe7f, 0xbe3f, 0xc9ff, 0xc9ff, 0xda1f, 0xee3f, 0xee3f, 0xfa5f, 0xfe5e, 0xfe7c, 0xfe79, 0xfe97, 0xfe97, 0xfeb5, 0xff16, 0xff16, 0xff76, 0xff97, 0xff97, - 0xbe3f, 0xffbe, 0xc9ff, 0xda1f, 0xff5e, 0xee3f, 0xfa5f, 0xff1f, 0xfe7c, 0xfe7b, 0xf2df, 0xfe97, 0xfeb5, 0xfeb5, 0xda7f, 0xff76, 0xce5f, 0xbe3f, 0xc25f, - 0xbe3f, 0xffbe, 0xffbe, 0xda1f, 0xff7e, 0xfa5f, 0xff5e, 0xfe5e, 0xff1f, 0xfe79, 0xf2df, 0xf2df, 0xfeb5, 0xeabf, 0xda7f, 0xff76, 0xce5f, 0xff97, 0xff97, - 0xbdff, 0xffbe, 0xda1f, 0xff7e, 0xff7e, 0xfa5f, 0xff5e, 0xff1f, 0xff1f, 0xfe79, 0xfaff, 0xfeb5, 0xf2df, 0xff16, 0xe27f, 0xff97, 0xda7f, 0xce5f, 0xff97, - 0xbdff, 0xffbe, 0xda1f, 0xee3f, 0xffbe, 0xfa5f, 0xff7e, 0xfe7b, 0xff1f, 0xfe97, 0xfaff, 0xfeb5, 0xfed5, 0xff56, 0xeabf, 0xff97, 0xda7f, 0xff97, 0xff97, - 0xc9ff, 0xffbe, 0xda1f, 0xee3f, 0xff7e, 0xfa5f, 0xff7e, 0xfe7c, 0xff5e, 0xfe97, 0xfaff, 0xfed5, 0xff16, 0xff56, 0xeabf, 0xff97, 0xda7f, 0xda7f, 0xce5f, - 0xda1f, 0xda1f, 0xee3f, 0xee3f, 0xfa5f, 0xfe5e, 0xfe7c, 0xfe79, 0xfe79, 0xfe97, 0xfeb5, 0xfed5, 0xff16, 0xff56, 0xff97, 0xff97, 0xff97, 0xff97, 0xff97, - 0xda1f, 0xda1f, 0xee3f, 0xfa5f, 0xfe5e, 0xfe7c, 0xfe7b, 0xfe79, 0xfe97, 0xfeb5, 0xfed5, 0xff16, 0xff56, 0xff97, 0xff97, 0xff97, 0xff97, 0xff97, 0xff97, - })}, - - {"30color-24bpp", video::ECF_R8G8B8, { - 0x71, 0xaf, 0xff, 0x71, 0xaf, 0xff, 0x71, 0xaf, 0xff, 0x71, 0xaf, 0xff, 0x7b, 0x8b, 0xff, 0x7a, 0x7f, 0xff, 0x90, 0x7f, 0xff, 0xb6, 0x85, 0xff, 0xd9, 0x8c, 0xff, 0xd9, 0x8c, 0xff, 0xf4, 0x92, 0xfe, 0xfe, 0x96, 0xf0, 0xfd, 0x99, 0xe3, 0xfd, 0x9b, 0xda, 0xfc, 0x9f, 0xca, 0xfc, 0xa4, 0xbc, 0xfb, 0xa9, 0xab, 0xfa, 0xb6, 0xad, 0xf9, 0xc6, 0xb1, - 0x71, 0xaf, 0xff, 0x71, 0xaf, 0xff, 0xff, 0xc6, 0xfc, 0xff, 0xc6, 0xfc, 0x7a, 0x7f, 0xff, 0xf7, 0xbe, 0xff, 0xe4, 0xb2, 0xfe, 0xd4, 0xa9, 0xff, 0xd9, 0x8c, 0xff, 0xc3, 0x98, 0xff, 0xb2, 0x9a, 0xff, 0xfe, 0x96, 0xf0, 0xfd, 0x9b, 0xda, 0x86, 0x93, 0xfe, 0x78, 0x9b, 0xff, 0x78, 0x9b, 0xff, 0xfb, 0xa9, 0xab, 0xfa, 0xb6, 0xad, 0xf8, 0xd2, 0xb3, - 0x71, 0xaf, 0xff, 0xfe, 0xdc, 0xf3, 0x78, 0x9b, 0xff, 0x86, 0x93, 0xfe, 0x7a, 0x7f, 0xff, 0xf7, 0xbe, 0xff, 0xb6, 0x85, 0xff, 0xe4, 0xb2, 0xfe, 0xd9, 0x8c, 0xff, 0xb2, 0x9a, 0xff, 0xfe, 0x96, 0xf0, 0x9a, 0x91, 0xff, 0xfc, 0x9f, 0xca, 0x9a, 0x91, 0xff, 0xfc, 0xa4, 0xbc, 0xfb, 0xa9, 0xab, 0xfa, 0xb6, 0xad, 0xf9, 0xc6, 0xb1, 0xf8, 0xd2, 0xb3, - 0x71, 0xaf, 0xff, 0xfe, 0xdc, 0xf3, 0x78, 0x9b, 0xff, 0x7a, 0x7f, 0xff, 0x90, 0x7f, 0xff, 0xf7, 0xbe, 0xff, 0xb6, 0x85, 0xff, 0xe4, 0xb2, 0xfe, 0xf4, 0x92, 0xfe, 0xd4, 0xa9, 0xff, 0xfe, 0x96, 0xf0, 0xb2, 0x9a, 0xff, 0xfc, 0x9f, 0xca, 0x9a, 0x91, 0xff, 0x86, 0x93, 0xfe, 0xfb, 0xa9, 0xab, 0xf9, 0xc6, 0xb1, 0xf9, 0xc6, 0xb1, 0xf8, 0xd8, 0xb5, - 0x71, 0xaf, 0xff, 0xfe, 0xdc, 0xf3, 0x86, 0x93, 0xfe, 0x7a, 0x7f, 0xff, 0x90, 0x7f, 0xff, 0xff, 0xc6, 0xfc, 0xb6, 0x85, 0xff, 0xe4, 0xb2, 0xfe, 0xf4, 0x92, 0xfe, 0xd4, 0xa9, 0xff, 0xfd, 0x99, 0xe3, 0xb2, 0x9a, 0xff, 0xfc, 0x9f, 0xca, 0x9a, 0x91, 0xff, 0xfb, 0xa9, 0xab, 0xfa, 0xb6, 0xad, 0xf9, 0xc6, 0xb1, 0xf8, 0xd2, 0xb3, 0xf8, 0xe4, 0xb9, - 0x71, 0xaf, 0xff, 0x78, 0x9b, 0xff, 0xfe, 0xdc, 0xf3, 0xff, 0xd0, 0xf7, 0xb6, 0x85, 0xff, 0xff, 0xc6, 0xfc, 0xf7, 0xbe, 0xff, 0xf7, 0xbe, 0xff, 0xf4, 0x92, 0xfe, 0xe4, 0xb2, 0xfe, 0xd4, 0xa9, 0xff, 0xfc, 0x9f, 0xca, 0xfc, 0xa4, 0xbc, 0xb2, 0x9a, 0xff, 0x9a, 0x91, 0xff, 0x9a, 0x91, 0xff, 0xf8, 0xd2, 0xb3, 0xf8, 0xd8, 0xb5, 0xf8, 0xe4, 0xb9, - 0x78, 0x9b, 0xff, 0x86, 0x93, 0xfe, 0x7a, 0x7f, 0xff, 0x90, 0x7f, 0xff, 0xb6, 0x85, 0xff, 0xb6, 0x85, 0xff, 0xd9, 0x8c, 0xff, 0xf4, 0x92, 0xfe, 0xf4, 0x92, 0xfe, 0xfd, 0x99, 0xe3, 0xfd, 0x9b, 0xda, 0xfc, 0x9f, 0xca, 0xfc, 0xa4, 0xbc, 0xfb, 0xa9, 0xab, 0xfa, 0xb6, 0xad, 0xfa, 0xb6, 0xad, 0xf8, 0xd8, 0xb5, 0xf8, 0xd8, 0xb5, 0xf8, 0xe4, 0xb9, - 0x78, 0x9b, 0xff, 0x7b, 0x8b, 0xff, 0x90, 0x7f, 0xff, 0x90, 0x7f, 0xff, 0xb6, 0x85, 0xff, 0xd9, 0x8c, 0xff, 0xd9, 0x8c, 0xff, 0xf4, 0x92, 0xfe, 0xfe, 0x96, 0xf0, 0xfd, 0x99, 0xe3, 0xfc, 0x9f, 0xca, 0xfc, 0xa4, 0xbc, 0xfc, 0xa4, 0xbc, 0xfb, 0xa9, 0xab, 0xf9, 0xc6, 0xb1, 0xf9, 0xc6, 0xb1, 0xf8, 0xd8, 0xb5, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, - 0x7b, 0x8b, 0xff, 0xff, 0xeb, 0xf2, 0x90, 0x7f, 0xff, 0xb6, 0x85, 0xff, 0xff, 0xd0, 0xf7, 0xd9, 0x8c, 0xff, 0xf4, 0x92, 0xfe, 0xff, 0xc6, 0xfc, 0xfd, 0x99, 0xe3, 0xfd, 0x9b, 0xda, 0xe4, 0xb2, 0xfe, 0xfc, 0xa4, 0xbc, 0xfb, 0xa9, 0xab, 0xfb, 0xa9, 0xab, 0xb2, 0x9a, 0xff, 0xf8, 0xd8, 0xb5, 0x9a, 0x91, 0xff, 0x7b, 0x8b, 0xff, 0x86, 0x93, 0xfe, - 0x7b, 0x8b, 0xff, 0xff, 0xeb, 0xf2, 0xff, 0xeb, 0xf2, 0xb6, 0x85, 0xff, 0xfe, 0xdc, 0xf3, 0xf4, 0x92, 0xfe, 0xff, 0xd0, 0xf7, 0xfe, 0x96, 0xf0, 0xff, 0xc6, 0xfc, 0xfc, 0x9f, 0xca, 0xe4, 0xb2, 0xfe, 0xe4, 0xb2, 0xfe, 0xfb, 0xa9, 0xab, 0xd4, 0xa9, 0xff, 0xb2, 0x9a, 0xff, 0xf8, 0xd8, 0xb5, 0x9a, 0x91, 0xff, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, - 0x7a, 0x7f, 0xff, 0xff, 0xeb, 0xf2, 0xb6, 0x85, 0xff, 0xfe, 0xdc, 0xf3, 0xfe, 0xdc, 0xf3, 0xf4, 0x92, 0xfe, 0xff, 0xd0, 0xf7, 0xff, 0xc6, 0xfc, 0xff, 0xc6, 0xfc, 0xfc, 0x9f, 0xca, 0xf7, 0xbe, 0xff, 0xfb, 0xa9, 0xab, 0xe4, 0xb2, 0xfe, 0xf9, 0xc6, 0xb1, 0xc3, 0x98, 0xff, 0xf8, 0xe4, 0xb9, 0xb2, 0x9a, 0xff, 0x9a, 0x91, 0xff, 0xf8, 0xe4, 0xb9, - 0x7a, 0x7f, 0xff, 0xff, 0xeb, 0xf2, 0xb6, 0x85, 0xff, 0xd9, 0x8c, 0xff, 0xff, 0xeb, 0xf2, 0xf4, 0x92, 0xfe, 0xfe, 0xdc, 0xf3, 0xfd, 0x9b, 0xda, 0xff, 0xc6, 0xfc, 0xfc, 0xa4, 0xbc, 0xf7, 0xbe, 0xff, 0xfb, 0xa9, 0xab, 0xfa, 0xb6, 0xad, 0xf8, 0xd2, 0xb3, 0xd4, 0xa9, 0xff, 0xf8, 0xe4, 0xb9, 0xb2, 0x9a, 0xff, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, - 0x90, 0x7f, 0xff, 0xff, 0xeb, 0xf2, 0xb6, 0x85, 0xff, 0xd9, 0x8c, 0xff, 0xfe, 0xdc, 0xf3, 0xf4, 0x92, 0xfe, 0xfe, 0xdc, 0xf3, 0xfd, 0x99, 0xe3, 0xff, 0xd0, 0xf7, 0xfc, 0xa4, 0xbc, 0xf7, 0xbe, 0xff, 0xfa, 0xb6, 0xad, 0xf9, 0xc6, 0xb1, 0xf8, 0xd2, 0xb3, 0xd4, 0xa9, 0xff, 0xf8, 0xe4, 0xb9, 0xb2, 0x9a, 0xff, 0xb2, 0x9a, 0xff, 0x9a, 0x91, 0xff, - 0xb6, 0x85, 0xff, 0xb6, 0x85, 0xff, 0xd9, 0x8c, 0xff, 0xd9, 0x8c, 0xff, 0xf4, 0x92, 0xfe, 0xfe, 0x96, 0xf0, 0xfd, 0x99, 0xe3, 0xfc, 0x9f, 0xca, 0xfc, 0x9f, 0xca, 0xfc, 0xa4, 0xbc, 0xfb, 0xa9, 0xab, 0xfa, 0xb6, 0xad, 0xf9, 0xc6, 0xb1, 0xf8, 0xd2, 0xb3, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, - 0xb6, 0x85, 0xff, 0xb6, 0x85, 0xff, 0xd9, 0x8c, 0xff, 0xf4, 0x92, 0xfe, 0xfe, 0x96, 0xf0, 0xfd, 0x99, 0xe3, 0xfd, 0x9b, 0xda, 0xfc, 0x9f, 0xca, 0xfc, 0xa4, 0xbc, 0xfb, 0xa9, 0xab, 0xfa, 0xb6, 0xad, 0xf9, 0xc6, 0xb1, 0xf8, 0xd2, 0xb3, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, 0xf8, 0xe4, 0xb9, - }}, - - {"30color-32bpp", video::ECF_A8R8G8B8, to_byte_array({ - 0xff71afff, 0xff71afff, 0xff71afff, 0xff71afff, 0xff7b8bff, 0xff7a7fff, 0xff907fff, 0xffb685ff, 0xffd98cff, 0xffd98cff, 0xfff492fe, 0xfffe96f0, 0xfffd99e3, 0xfffd9bda, 0xfffc9fca, 0xfffca4bc, 0xfffba9ab, 0xfffab6ad, 0xfff9c6b1, - 0xff71afff, 0xff71afff, 0xffffc6fc, 0xffffc6fc, 0xff7a7fff, 0xfff7beff, 0xffe4b2fe, 0xffd4a9ff, 0xffd98cff, 0xffc398ff, 0xffb29aff, 0xfffe96f0, 0xfffd9bda, 0xff8693fe, 0xff789bff, 0xff789bff, 0xfffba9ab, 0xfffab6ad, 0xfff8d2b3, - 0xff71afff, 0xfffedcf3, 0xff789bff, 0xff8693fe, 0xff7a7fff, 0xfff7beff, 0xffb685ff, 0xffe4b2fe, 0xffd98cff, 0xffb29aff, 0xfffe96f0, 0xff9a91ff, 0xfffc9fca, 0xff9a91ff, 0xfffca4bc, 0xfffba9ab, 0xfffab6ad, 0xfff9c6b1, 0xfff8d2b3, - 0xff71afff, 0xfffedcf3, 0xff789bff, 0xff7a7fff, 0xff907fff, 0xfff7beff, 0xffb685ff, 0xffe4b2fe, 0xfff492fe, 0xffd4a9ff, 0xfffe96f0, 0xffb29aff, 0xfffc9fca, 0xff9a91ff, 0xff8693fe, 0xfffba9ab, 0xfff9c6b1, 0xfff9c6b1, 0xfff8d8b5, - 0xff71afff, 0xfffedcf3, 0xff8693fe, 0xff7a7fff, 0xff907fff, 0xffffc6fc, 0xffb685ff, 0xffe4b2fe, 0xfff492fe, 0xffd4a9ff, 0xfffd99e3, 0xffb29aff, 0xfffc9fca, 0xff9a91ff, 0xfffba9ab, 0xfffab6ad, 0xfff9c6b1, 0xfff8d2b3, 0xfff8e4b9, - 0xff71afff, 0xff789bff, 0xfffedcf3, 0xffffd0f7, 0xffb685ff, 0xffffc6fc, 0xfff7beff, 0xfff7beff, 0xfff492fe, 0xffe4b2fe, 0xffd4a9ff, 0xfffc9fca, 0xfffca4bc, 0xffb29aff, 0xff9a91ff, 0xff9a91ff, 0xfff8d2b3, 0xfff8d8b5, 0xfff8e4b9, - 0xff789bff, 0xff8693fe, 0xff7a7fff, 0xff907fff, 0xffb685ff, 0xffb685ff, 0xffd98cff, 0xfff492fe, 0xfff492fe, 0xfffd99e3, 0xfffd9bda, 0xfffc9fca, 0xfffca4bc, 0xfffba9ab, 0xfffab6ad, 0xfffab6ad, 0xfff8d8b5, 0xfff8d8b5, 0xfff8e4b9, - 0xff789bff, 0xff7b8bff, 0xff907fff, 0xff907fff, 0xffb685ff, 0xffd98cff, 0xffd98cff, 0xfff492fe, 0xfffe96f0, 0xfffd99e3, 0xfffc9fca, 0xfffca4bc, 0xfffca4bc, 0xfffba9ab, 0xfff9c6b1, 0xfff9c6b1, 0xfff8d8b5, 0xfff8e4b9, 0xfff8e4b9, - 0xff7b8bff, 0xffffebf2, 0xff907fff, 0xffb685ff, 0xffffd0f7, 0xffd98cff, 0xfff492fe, 0xffffc6fc, 0xfffd99e3, 0xfffd9bda, 0xffe4b2fe, 0xfffca4bc, 0xfffba9ab, 0xfffba9ab, 0xffb29aff, 0xfff8d8b5, 0xff9a91ff, 0xff7b8bff, 0xff8693fe, - 0xff7b8bff, 0xffffebf2, 0xffffebf2, 0xffb685ff, 0xfffedcf3, 0xfff492fe, 0xffffd0f7, 0xfffe96f0, 0xffffc6fc, 0xfffc9fca, 0xffe4b2fe, 0xffe4b2fe, 0xfffba9ab, 0xffd4a9ff, 0xffb29aff, 0xfff8d8b5, 0xff9a91ff, 0xfff8e4b9, 0xfff8e4b9, - 0xff7a7fff, 0xffffebf2, 0xffb685ff, 0xfffedcf3, 0xfffedcf3, 0xfff492fe, 0xffffd0f7, 0xffffc6fc, 0xffffc6fc, 0xfffc9fca, 0xfff7beff, 0xfffba9ab, 0xffe4b2fe, 0xfff9c6b1, 0xffc398ff, 0xfff8e4b9, 0xffb29aff, 0xff9a91ff, 0xfff8e4b9, - 0xff7a7fff, 0xffffebf2, 0xffb685ff, 0xffd98cff, 0xffffebf2, 0xfff492fe, 0xfffedcf3, 0xfffd9bda, 0xffffc6fc, 0xfffca4bc, 0xfff7beff, 0xfffba9ab, 0xfffab6ad, 0xfff8d2b3, 0xffd4a9ff, 0xfff8e4b9, 0xffb29aff, 0xfff8e4b9, 0xfff8e4b9, - 0xff907fff, 0xffffebf2, 0xffb685ff, 0xffd98cff, 0xfffedcf3, 0xfff492fe, 0xfffedcf3, 0xfffd99e3, 0xffffd0f7, 0xfffca4bc, 0xfff7beff, 0xfffab6ad, 0xfff9c6b1, 0xfff8d2b3, 0xffd4a9ff, 0xfff8e4b9, 0xffb29aff, 0xffb29aff, 0xff9a91ff, - 0xffb685ff, 0xffb685ff, 0xffd98cff, 0xffd98cff, 0xfff492fe, 0xfffe96f0, 0xfffd99e3, 0xfffc9fca, 0xfffc9fca, 0xfffca4bc, 0xfffba9ab, 0xfffab6ad, 0xfff9c6b1, 0xfff8d2b3, 0xfff8e4b9, 0xfff8e4b9, 0xfff8e4b9, 0xfff8e4b9, 0xfff8e4b9, - 0xffb685ff, 0xffb685ff, 0xffd98cff, 0xfff492fe, 0xfffe96f0, 0xfffd99e3, 0xfffd9bda, 0xfffc9fca, 0xfffca4bc, 0xfffba9ab, 0xfffab6ad, 0xfff9c6b1, 0xfff8d2b3, 0xfff8e4b9, 0xfff8e4b9, 0xfff8e4b9, 0xfff8e4b9, 0xfff8e4b9, 0xfff8e4b9, - })}, - -}; - -void printImageBytes(const video::IImage *img) -{ - const auto *data = (u8 *)img->getData(); - const auto w = img->getPitch(); - const auto h = img->getDimension().Height; - for (int y = 0; y < h; y++) { - for (int k = 0; k < w; k++) { - std::printf("0x%02x, ", *data++); - } - std::printf("\n"); - } -} - -int main(int argc, char *argv[]) -try { - if (argc != 3) - throw std::runtime_error("Invalid arguments. Expected sample ID and image file name"); - - const ImageDesc *sample = nullptr; - for (auto &&image : test_images) { - if (strcmp(argv[1], image.name) == 0) - sample = ℑ - } - if (!sample) - throw std::runtime_error("Sample not found"); - - SIrrlichtCreationParameters p; - p.DriverType = video::EDT_NULL; - p.WindowSize = core::dimension2du(640, 480); - p.LoggingLevel = ELL_DEBUG; - - auto *device = createDeviceEx(p); - if (!device) - throw std::runtime_error("Failed to create device"); - - auto *driver = device->getVideoDriver(); - - auto *img = driver->createImageFromFile(argv[2]); - if (!img) - throw std::runtime_error("Failed to load image"); - - if (img->getDimension() != core::dimension2du{19, 15}) - throw std::runtime_error("Wrong image dimensions"); - - if (img->getColorFormat() != sample->format) - throw std::runtime_error("Wrong image format"); - - if (img->getImageDataSizeInBytes() != sample->data.size()) - throw std::logic_error("Image data size not equal to sample size"); - - if (memcmp(img->getData(), sample->data.data(), sample->data.size()) != 0) { - printImageBytes(img); - throw std::runtime_error("Wrong image contents"); - } - - img->drop(); - device->drop(); - - return 0; -} catch (const std::exception &e) { - std::printf("Test failed: %s\n", e.what()); - return 1; -} From 5094838837f4b2dda669708e3a6ca7db58b03a22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Tue, 20 Aug 2024 11:49:41 +0200 Subject: [PATCH 251/279] Revert empty form name deprecation warnings --- doc/lua_api.md | 3 ++- src/script/lua_api/l_server.cpp | 12 +----------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/doc/lua_api.md b/doc/lua_api.md index 271022bd8..710c44a41 100644 --- a/doc/lua_api.md +++ b/doc/lua_api.md @@ -6451,7 +6451,8 @@ Formspec * `playername`: name of player to show formspec * `formname`: name passed to `on_player_receive_fields` callbacks. It should follow the `"modname:"` naming convention. - `formname` must not be empty. + * `formname` must not be empty, unless you want to reshow + the inventory formspec without updating it for future opens. * `formspec`: formspec to display * `minetest.close_formspec(playername, formname)` * `playername`: name of player to close formspec diff --git a/src/script/lua_api/l_server.cpp b/src/script/lua_api/l_server.cpp index af9a526e0..69f5cf9a0 100644 --- a/src/script/lua_api/l_server.cpp +++ b/src/script/lua_api/l_server.cpp @@ -426,18 +426,8 @@ int ModApiServer::l_show_formspec(lua_State *L) NO_MAP_LOCK_REQUIRED; const char *playername = luaL_checkstring(L, 1); const char *formname = luaL_checkstring(L, 2); - if (*formname == '\0') { - log_deprecated(L, "Deprecated call to `minetest.show_formspec`:" - "`formname` must not be empty"); - } const char *formspec = luaL_checkstring(L, 3); - - if(getServer(L)->showFormspec(playername,formspec,formname)) - { - lua_pushboolean(L, true); - }else{ - lua_pushboolean(L, false); - } + lua_pushboolean(L, getServer(L)->showFormspec(playername,formspec,formname)); return 1; } From 65d4335922d4a56a25f6d2aae23fcb6b8dd309ea Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Tue, 20 Aug 2024 10:50:29 +0100 Subject: [PATCH 252/279] Fix Windows enabling touch controls due to existence of touchscreen (#15003) We want to check for the form factor instead. --- src/defaultsettings.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 9c2ade975..31091005a 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -76,13 +76,6 @@ static bool detect_touch() return false; } - return false; -#elif defined(_WIN32) - // 0x01 The device has an integrated touch digitizer - // 0x80 The device is ready to receive digitizer input. - if ((GetSystemMetrics(SM_DIGITIZER) & 0x81) == 0x81) - return true; - return false; #else // we don't know, return default From baafec9e9fecba9cb081cf3b51691b7d55930558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Tue, 20 Aug 2024 11:51:52 +0200 Subject: [PATCH 253/279] Fix animations not being restartable (#15016) --- src/client/content_cao.cpp | 5 ++--- src/server/unit_sao.cpp | 5 +---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index 0044cc16e..5c008bca9 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -1526,9 +1526,8 @@ void GenericCAO::updateAnimation() if (!m_animated_meshnode) return; - if (m_animated_meshnode->getStartFrame() != m_animation_range.X || - m_animated_meshnode->getEndFrame() != m_animation_range.Y) - m_animated_meshnode->setFrameLoop(m_animation_range.X, m_animation_range.Y); + // Note: This sets the current frame as well, (re)starting the animation. + m_animated_meshnode->setFrameLoop(m_animation_range.X, m_animation_range.Y); if (m_animated_meshnode->getAnimationSpeed() != m_animation_speed) m_animated_meshnode->setAnimationSpeed(m_animation_speed); m_animated_meshnode->setTransitionTime(m_animation_blend); diff --git a/src/server/unit_sao.cpp b/src/server/unit_sao.cpp index 70594589b..f22929437 100644 --- a/src/server/unit_sao.cpp +++ b/src/server/unit_sao.cpp @@ -55,10 +55,7 @@ const ItemGroupList &UnitSAO::getArmorGroups() const void UnitSAO::setAnimation( v2f frame_range, float frame_speed, float frame_blend, bool frame_loop) { - if (std::tie(m_animation_range, m_animation_speed, m_animation_blend, - m_animation_loop) == - std::tie(frame_range, frame_speed, frame_blend, frame_loop)) - return; // no change + // Note: Always resend (even if parameters are unchanged) to restart animations. m_animation_range = frame_range; m_animation_speed = frame_speed; m_animation_blend = frame_blend; From 60694cbd30069ba3fc178a896a2ed6f5efc28c5e Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Wed, 21 Aug 2024 19:25:18 +0100 Subject: [PATCH 254/279] Generate Android versionCode from Major.Minor.Patch (#14963) --- android/app/build.gradle | 14 +------------- android/build.gradle | 7 +++---- util/bump_version.sh | 29 +---------------------------- 3 files changed, 5 insertions(+), 45 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index fe6c4ab0d..cefc473af 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -8,7 +8,7 @@ android { compileSdk 34 targetSdkVersion 34 versionName "${versionMajor}.${versionMinor}.${versionPatch}" - versionCode project.versionCode + versionCode versionMajor * 1000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild } buildFeatures { @@ -116,18 +116,6 @@ clean { delete new File("src/main/assets", "Minetest.zip") } -// Map for the version code that gives each ABI a value. -import com.android.build.OutputFile - -def abiCodes = ['armeabi-v7a': 0, 'arm64-v8a': 1] -android.applicationVariants.all { variant -> - variant.outputs.each { - output -> - def abiName = output.getFilter(OutputFile.ABI) - output.versionCodeOverride = abiCodes.get(abiName, 0) + variant.versionCode - } -} - dependencies { implementation project(':native') implementation 'androidx.appcompat:appcompat:1.6.1' diff --git a/android/build.gradle b/android/build.gradle index 99244721a..f50b3ba38 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -4,10 +4,9 @@ project.ext.set("versionMajor", 5) // Version Major project.ext.set("versionMinor", 9) // Version Minor project.ext.set("versionPatch", 0) // Version Patch // ^ keep in sync with cmake -project.ext.set("versionCode", 48) // Android Version Code -// NOTE: +2 after each release! -// +1 for ARM and +1 for ARM64 APK's, because -// each APK must have a larger `versionCode` than the previous + +project.ext.set("versionBuild", 0) // Version Build +// ^ fourth version number to allow releasing Android-only fixes and beta versions buildscript { ext.ndk_version = '26.2.11394342' diff --git a/util/bump_version.sh b/util/bump_version.sh index 45452c295..699bbcf77 100755 --- a/util/bump_version.sh +++ b/util/bump_version.sh @@ -16,20 +16,18 @@ prompt_for() { } # Reads current versions -# out: VERSION_MAJOR VERSION_MINOR VERSION_PATCH VERSION_IS_DEV CURRENT_VERSION ANDROID_VERSION_CODE +# out: VERSION_MAJOR VERSION_MINOR VERSION_PATCH VERSION_IS_DEV CURRENT_VERSION read_versions() { VERSION_MAJOR=$(grep -oE '^set\(VERSION_MAJOR [0-9]+\)$' CMakeLists.txt | tr -dC 0-9) VERSION_MINOR=$(grep -oE '^set\(VERSION_MINOR [0-9]+\)$' CMakeLists.txt | tr -dC 0-9) VERSION_PATCH=$(grep -oE '^set\(VERSION_PATCH [0-9]+\)$' CMakeLists.txt | tr -dC 0-9) VERSION_IS_DEV=$(grep -oE '^set\(DEVELOPMENT_BUILD [A-Z]+\)$' CMakeLists.txt) - ANDROID_VERSION_CODE=$(grep -oE '\("versionCode", [0-9]+\)' android/build.gradle | tr -dC 0-9) # Make sure they all exist [ -n "$VERSION_MAJOR" ] [ -n "$VERSION_MINOR" ] [ -n "$VERSION_PATCH" ] [ -n "$VERSION_IS_DEV" ] - [ -n "$ANDROID_VERSION_CODE" ] if echo "$VERSION_IS_DEV" | grep -q ' TRUE'; then VERSION_IS_DEV=1 @@ -39,7 +37,6 @@ read_versions() { CURRENT_VERSION="$VERSION_MAJOR.$VERSION_MINOR.$VERSION_PATCH" echo "Current Minetest version: $CURRENT_VERSION" - echo "Current Android version code: $ANDROID_VERSION_CODE" } # Retrieves protocol version from header @@ -49,18 +46,6 @@ read_proto_ver() { git show "$ref":src/network/networkprotocol.h | grep -oE 'LATEST_PROTOCOL_VERSION [0-9]+' | tr -dC 0-9 } -## Prompts for new android version code -# in: ANDROID_VERSION_CODE -# out: NEW_ANDROID_VERSION_CODE -bump_android_ver() { - # +1 for ARM and +1 for ARM64 APKs - NEW_ANDROID_VERSION_CODE=$(expr $ANDROID_VERSION_CODE + 2) - NEW_ANDROID_VERSION_CODE=$(prompt_for "Set android version code" '[0-9]+' $NEW_ANDROID_VERSION_CODE) - - echo - echo "New android version code: $NEW_ANDROID_VERSION_CODE" -} - ## Prompts for new version # in: VERSION_{MAJOR,MINOR,PATCH} DO_PATCH_REL # out: NEXT_VERSION NEXT_VERSION_{MAJOR,MINOR,PATCH} @@ -108,14 +93,6 @@ set_dev_build() { git add -f CMakeLists.txt android/build.gradle } -## Writes new android version code -# in: NEW_ANDROID_VERSION_CODE -write_android_version() { - sed -i -re "s/\"versionCode\", [0-9]+/\"versionCode\", $NEW_ANDROID_VERSION_CODE/" android/build.gradle - - git add -f android/build.gradle -} - ## Writes new version to the right files # in: NEXT_VERSION NEXT_VERSION_{MAJOR,MINOR,PATCH} write_new_version() { @@ -198,8 +175,6 @@ if [ "$DO_PATCH_REL" -eq 0 ]; then exit 1 fi - bump_android_ver - write_android_version set_dev_build 0 perform_release "$CURRENT_VERSION" @@ -212,8 +187,6 @@ if [ "$DO_PATCH_REL" -eq 0 ]; then else # On a patch release the version moves from 5.7.0 -> 5.7.1 (new tag) - bump_android_ver - write_android_version bump_version write_new_version From dbf2d26a851908be64de382e1a53e99fb96aefa1 Mon Sep 17 00:00:00 2001 From: Zemtzov7 <72821250+zmv7@users.noreply.github.com> Date: Fri, 23 Aug 2024 02:15:55 +0500 Subject: [PATCH 255/279] Fix CSM help form using "/" instead of "." (#15034) when copying commands to chat --- builtin/common/information_formspecs.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/common/information_formspecs.lua b/builtin/common/information_formspecs.lua index 3fa397d25..270631fc9 100644 --- a/builtin/common/information_formspecs.lua +++ b/builtin/common/information_formspecs.lua @@ -69,7 +69,7 @@ local function build_chatcommands_formspec(name, sel, copy) description = cmds[2].description if copy then local msg = S("Command: @1 @2", - core.colorize("#0FF", "/" .. cmds[1]), cmds[2].params) + core.colorize("#0FF", (INIT == "client" and "." or "/") .. cmds[1]), cmds[2].params) if INIT == "client" then core.display_chat_message(msg) else From ba65eb953c99dc4bb46857db54e71316262b095e Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 23 Aug 2024 18:46:12 +0200 Subject: [PATCH 256/279] Fix bounding box of clouds fixes #15031 --- src/client/clouds.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/clouds.h b/src/client/clouds.h index 23273a3c9..c88437907 100644 --- a/src/client/clouds.h +++ b/src/client/clouds.h @@ -133,8 +133,8 @@ private: { float height_bs = m_params.height * BS; float thickness_bs = m_params.thickness * BS; - m_box = aabb3f(-BS * 1000000.0f, height_bs - BS * m_camera_offset.Y, -BS * 1000000.0f, - BS * 1000000.0f, height_bs + thickness_bs - BS * m_camera_offset.Y, BS * 1000000.0f); + m_box = aabb3f(-BS * 1000000.0f, height_bs, -BS * 1000000.0f, + BS * 1000000.0f, height_bs + thickness_bs, BS * 1000000.0f); } void updateMesh(); From 02db521c80e071a5afd3b50760675df7850e362f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Mon, 26 Aug 2024 21:22:38 +0200 Subject: [PATCH 257/279] Make getting bone overrides return the "same" euler angles (#15007) --- games/devtest/mods/unittests/entity.lua | 20 ++++++++++++++++++++ src/activeobject.h | 3 +++ src/script/lua_api/l_object.cpp | 24 ++++++++++++++---------- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/games/devtest/mods/unittests/entity.lua b/games/devtest/mods/unittests/entity.lua index 38d026663..4e308d173 100644 --- a/games/devtest/mods/unittests/entity.lua +++ b/games/devtest/mods/unittests/entity.lua @@ -184,3 +184,23 @@ unittests.register("test_objects_in_area", function(_, pos) return core.objects_in_area(pos:offset(-1, -1, -1), pos:offset(1, 1, 1)) end) end, {map=true}) + +-- Tests that bone rotation euler angles are preserved (see #14992) +local function test_get_bone_rot(_, pos) + local obj = core.add_entity(pos, "unittests:dummy") + for _ = 1, 100 do + local function assert_similar(euler_angles) + local _, rot = obj:get_bone_position("bonename") + assert(euler_angles:distance(rot) < 1e-3) + local override = obj:get_bone_override("bonename") + assert(euler_angles:distance(override.rotation.vec:apply(math.deg)) < 1e-3) + end + local deg = 1e3 * vector.new(math.random(), math.random(), math.random()) + obj:set_bone_position("bonename", vector.zero(), deg) + assert_similar(deg) + local rad = 3 * math.pi * vector.new(math.random(), math.random(), math.random()) + obj:set_bone_override("bonename", {rotation = {vec = rad}}) + assert_similar(rad:apply(math.deg)) + end +end +unittests.register("test_get_bone_rot", test_get_bone_rot, {map=true}) diff --git a/src/activeobject.h b/src/activeobject.h index 52f997fdf..87b74d865 100644 --- a/src/activeobject.h +++ b/src/activeobject.h @@ -96,6 +96,9 @@ struct BoneOverride { core::quaternion previous; core::quaternion next; + // Redundantly store the euler angles serverside + // so that we can return them in the appropriate getters + v3f next_radians; bool absolute = false; f32 interp_timer = 0; } rotation; diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp index 6baf146e5..dae2455e1 100644 --- a/src/script/lua_api/l_object.cpp +++ b/src/script/lua_api/l_object.cpp @@ -561,8 +561,10 @@ int ObjectRef::l_set_bone_position(lua_State *L) BoneOverride props; if (!lua_isnoneornil(L, 3)) props.position.vector = check_v3f(L, 3); - if (!lua_isnoneornil(L, 4)) - props.rotation.next = core::quaternion(check_v3f(L, 4) * core::DEGTORAD); + if (!lua_isnoneornil(L, 4)) { + props.rotation.next_radians = check_v3f(L, 4) * core::DEGTORAD; + props.rotation.next = core::quaternion(props.rotation.next_radians); + } props.position.absolute = true; props.rotation.absolute = true; sao->setBoneOverride(bone, props); @@ -584,9 +586,9 @@ int ObjectRef::l_get_bone_position(lua_State *L) std::string bone = readParam(L, 2, ""); BoneOverride props = sao->getBoneOverride(bone); push_v3f(L, props.position.vector); - v3f euler_rot; - props.rotation.next.toEuler(euler_rot); - push_v3f(L, euler_rot * core::RADTODEG); + // In order to give modders back the euler angles they passed in, + // this **must not** compute equivalent euler angles from the quaternion + push_v3f(L, props.rotation.next_radians * core::RADTODEG); return 2; } @@ -632,8 +634,10 @@ int ObjectRef::l_set_bone_override(lua_State *L) lua_getfield(L, 3, "rotation"); if (!lua_isnil(L, -1)) { lua_getfield(L, -1, "vec"); - if (!lua_isnil(L, -1)) - props.rotation.next = core::quaternion(check_v3f(L, -1)); + if (!lua_isnil(L, -1)) { + props.rotation.next_radians = check_v3f(L, -1); + props.rotation.next = core::quaternion(props.rotation.next_radians); + } lua_pop(L, 1); read_prop_attrs(props.rotation); @@ -671,9 +675,9 @@ static void push_bone_override(lua_State *L, const BoneOverride &props) push_prop("position", props.position, props.position.vector); - v3f euler_rot; - props.rotation.next.toEuler(euler_rot); - push_prop("rotation", props.rotation, euler_rot); + // In order to give modders back the euler angles they passed in, + // this **must not** compute equivalent euler angles from the quaternion + push_prop("rotation", props.rotation, props.rotation.next_radians); push_prop("scale", props.scale, props.scale.vector); From 58611927526a58256868b1506860bdfe47e6022b Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sat, 24 Aug 2024 10:50:44 +0200 Subject: [PATCH 258/279] zstd: Fix minetest.decompress lockup when data ends too early --- src/serialization.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/serialization.cpp b/src/serialization.cpp index 4134126ca..0319b0159 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -262,6 +262,8 @@ void decompressZstd(std::istream &is, std::ostream &os) is.read(input_buffer, bufsize); input.size = is.gcount(); input.pos = 0; + if (input.size == 0) + throw SerializationError("decompressZstd: data ended too early"); } ret = ZSTD_decompressStream(stream.get(), &output, &input); From 1caf26f18b81b69908bf04407f797cbdc73f8eb7 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Mon, 26 Aug 2024 21:23:12 +0200 Subject: [PATCH 259/279] LocalPlayer: Restore 2u height sneak jump (#15015) Fix 1: Do not consider LocalPlayer's CAO in the collision data. Fix 2: work around the "aabbox3d::intersectsWithBox" edge-case. --- src/client/localplayer.cpp | 8 ++++---- src/collision.cpp | 16 +++++++++------- src/collision.h | 9 +++++++-- 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/src/client/localplayer.cpp b/src/client/localplayer.cpp index da87e9b17..02d9df219 100644 --- a/src/client/localplayer.cpp +++ b/src/client/localplayer.cpp @@ -360,7 +360,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d, collisionMoveResult result = collisionMoveSimple(env, m_client, pos_max_d, m_collisionbox, player_stepheight, dtime, - &position, &m_speed, accel_f); + &position, &m_speed, accel_f, m_cao); bool could_sneak = control.sneak && !free_move && !in_liquid && !is_climbing && physics_override.sneak; @@ -444,7 +444,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d, v3f check_pos = position; check_pos.Y += y_diff * dtime * 22.0f + BS * 0.01f; if (y_diff < BS * 0.6f || (physics_override.sneak_glitch - && !collision_check_intersection(env, m_client, m_collisionbox, check_pos))) { + && !collision_check_intersection(env, m_client, m_collisionbox, check_pos, m_cao))) { // Smoothen the movement (based on 'position.Y = bmax.Y') position.Y = std::min(check_pos.Y, bmax.Y); m_speed.Y = 0.0f; @@ -990,7 +990,7 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d, collisionMoveResult result = collisionMoveSimple(env, m_client, pos_max_d, m_collisionbox, player_stepheight, dtime, - &position, &m_speed, accel_f); + &position, &m_speed, accel_f, m_cao); // Position was slightly changed; update standing node pos if (touching_ground) @@ -1254,7 +1254,7 @@ void LocalPlayer::handleAutojump(f32 dtime, Environment *env, // try at peak of jump, zero step height collisionMoveResult jump_result = collisionMoveSimple(env, m_client, pos_max_d, - m_collisionbox, 0.0f, dtime, &jump_pos, &jump_speed, v3f(0.0f)); + m_collisionbox, 0.0f, dtime, &jump_pos, &jump_speed, v3f(0.0f), m_cao); // see if we can get a little bit farther horizontally if we had // jumped diff --git a/src/collision.cpp b/src/collision.cpp index d804f7f0d..f554dac80 100644 --- a/src/collision.cpp +++ b/src/collision.cpp @@ -273,7 +273,7 @@ static void add_object_boxes(Environment *env, const v3f pos_f, const v3f speed_f, ActiveObject *self, std::vector &cinfo) { - auto process_object = [&] (ActiveObject *object) { + auto process_object = [&cinfo] (ActiveObject *object) { if (object && object->collideWithObjects()) { aabb3f box; if (object->getCollisionBox(&box)) @@ -292,7 +292,7 @@ static void add_object_boxes(Environment *env, c_env->getActiveObjects(pos_f, distance, clientobjects); for (auto &clientobject : clientobjects) { - // Do collide with everything but itself and the parent CAO + // Do collide with everything but itself and children if (!self || (self != clientobject.obj && self != clientobject.obj->getParent())) { process_object(clientobject.obj); @@ -301,12 +301,12 @@ static void add_object_boxes(Environment *env, // add collision with local player LocalPlayer *lplayer = c_env->getLocalPlayer(); - if (lplayer->getParent() == nullptr) { + auto *obj = (ClientActiveObject*) lplayer->getCAO(); + if (!self || (self != obj && self != obj->getParent())) { aabb3f lplayer_collisionbox = lplayer->getCollisionbox(); v3f lplayer_pos = lplayer->getPosition(); lplayer_collisionbox.MinEdge += lplayer_pos; lplayer_collisionbox.MaxEdge += lplayer_pos; - auto *obj = (ActiveObject*) lplayer->getCAO(); cinfo.emplace_back(obj, 0, lplayer_collisionbox); } } @@ -315,7 +315,7 @@ static void add_object_boxes(Environment *env, { ServerEnvironment *s_env = dynamic_cast(env); if (s_env) { - // search for objects which are not us, or we are not its parent. + // search for objects which are not us and not our children. // we directly process the object in this callback to avoid useless // looping afterwards. auto include_obj_cb = [self, &process_object] (ServerActiveObject *obj) { @@ -623,8 +623,10 @@ bool collision_check_intersection(Environment *env, IGameDef *gamedef, Collision detection */ aabb3f checkbox = box_0; - checkbox.MinEdge += pos_f; - checkbox.MaxEdge += pos_f; + // aabbox3d::intersectsWithBox(box) returns true when the faces are touching perfectly. + // However, we do not want want a true-ish return value in that case. Add some tolerance. + checkbox.MinEdge += pos_f + (0.1f * BS); + checkbox.MaxEdge += pos_f - (0.1f * BS); /* Go through every node and object box diff --git a/src/collision.h b/src/collision.h index b29a222c3..a698e6328 100644 --- a/src/collision.h +++ b/src/collision.h @@ -65,7 +65,8 @@ struct collisionMoveResult std::vector collisions; }; -// Moves using a single iteration; speed should not exceed pos_max_d/dtime +/// @brief Moves using a single iteration; speed should not exceed pos_max_d/dtime +/// @param self (optional) ActiveObject to ignore in the collision detection. collisionMoveResult collisionMoveSimple(Environment *env,IGameDef *gamedef, f32 pos_max_d, const aabb3f &box_0, f32 stepheight, f32 dtime, @@ -73,7 +74,11 @@ collisionMoveResult collisionMoveSimple(Environment *env,IGameDef *gamedef, v3f accel_f, ActiveObject *self=NULL, bool collide_with_objects=true); -// check if box is in collision on actual position +/// @brief A simpler version of "collisionMoveSimple" that only checks whether +/// a collision occurs at the given position. +/// @param self (optional) ActiveObject to ignore in the collision detection. +/// @returns `true` when `box_0` truly intersects with a node or object. +/// Touching faces are not counted as intersection. bool collision_check_intersection(Environment *env, IGameDef *gamedef, const aabb3f &box_0, const v3f &pos_f, ActiveObject *self = nullptr, bool collide_with_objects = true); From bd25a06f44ec8c5dfa0f98520472fc48ea8a149a Mon Sep 17 00:00:00 2001 From: sfan5 Date: Wed, 28 Aug 2024 14:56:10 +0200 Subject: [PATCH 260/279] Fix VBO hint for transparent block parts --- src/client/mapblock_mesh.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/client/mapblock_mesh.cpp b/src/client/mapblock_mesh.cpp index 429464e04..f8e920cc7 100644 --- a/src/client/mapblock_mesh.cpp +++ b/src/client/mapblock_mesh.cpp @@ -783,12 +783,15 @@ MapBlockMesh::MapBlockMesh(Client *client, MeshMakeData *data, v3s16 camera_offs } if (mesh) { - // Use VBO for mesh (this just would set this for ever buffer) + // Use VBO for mesh (this just would set this for every buffer) mesh->setHardwareMappingHint(scene::EHM_STATIC); } } - //std::cout<<"added "<setHardwareMappingHint(scene::EHM_STREAM, scene::EBT_INDEX); + m_bsp_tree.buildTree(&m_transparent_triangles, data->side_length); // Check if animation is required for this mesh From f79a51c265d81a3767841ec7a732f50e4421018e Mon Sep 17 00:00:00 2001 From: cx384 Date: Wed, 28 Aug 2024 21:32:31 +0200 Subject: [PATCH 261/279] Main menu: formspec escape world name (#15064) --- builtin/mainmenu/dlg_config_world.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builtin/mainmenu/dlg_config_world.lua b/builtin/mainmenu/dlg_config_world.lua index e8f49b230..a8c5221de 100644 --- a/builtin/mainmenu/dlg_config_world.lua +++ b/builtin/mainmenu/dlg_config_world.lua @@ -126,7 +126,7 @@ local function get_formspec(data) local retval = "size[11.5,7.5,true]" .. "label[0.5,0;" .. fgettext("World:") .. "]" .. - "label[1.75,0;" .. data.worldspec.name .. "]" + "label[1.75,0;" .. core.formspec_escape(data.worldspec.name) .. "]" if mod.is_modpack or mod.type == "game" then local info = core.formspec_escape( From ecf535ee83fc5b1820b5092f5573a3830e0d10c8 Mon Sep 17 00:00:00 2001 From: grorp Date: Sat, 31 Aug 2024 18:11:56 +0200 Subject: [PATCH 262/279] Restore proportional minimap scaling (#15022) --- builtin/game/hud.lua | 11 ++++++++--- doc/lua_api.md | 5 +++++ src/client/hud.cpp | 13 ++++++++++--- src/network/networkprotocol.h | 5 ++++- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/builtin/game/hud.lua b/builtin/game/hud.lua index 1bc4b48d7..6f313340d 100644 --- a/builtin/game/hud.lua +++ b/builtin/game/hud.lua @@ -251,11 +251,16 @@ register_builtin_hud_element("minimap", { position = {x = 1, y = 0}, alignment = {x = -1, y = 1}, offset = {x = -10, y = 10}, - size = {x = 256, y = 256}, + size = {x = 0, y = -25}, }, show_elem = function(player, flags) + local proto_ver = core.get_player_information(player:get_player_name()).protocol_version -- Don't add a minimap for clients which already have it hardcoded in C++. - return flags.minimap and - core.get_player_information(player:get_player_name()).protocol_version >= 44 + return flags.minimap and proto_ver >= 44 + end, + update_def = function(player, elem_def) + local proto_ver = core.get_player_information(player:get_player_name()).protocol_version + -- Only use percentage when the client supports it. + elem_def.size = proto_ver >= 45 and {x = 0, y = -25} or {x = 256, y = 256} end, }) diff --git a/doc/lua_api.md b/doc/lua_api.md index 710c44a41..46bdd09ce 100644 --- a/doc/lua_api.md +++ b/doc/lua_api.md @@ -1802,6 +1802,11 @@ Displays a minimap on the HUD. * `size`: Size of the minimap to display. Minimap should be a square to avoid distortion. + * Negative values represent percentages of the screen. If either `x` or `y` + is specified as a percentage, the resulting pixel size will be used for + both `x` and `y`. Example: On a 1920x1080 screen, `{x = 0, y = -25}` will + result in a 270x270 minimap. + * Negative values are supported starting with protocol version 45. * `alignment`: The alignment of the minimap. * `offset`: offset in pixels from position. diff --git a/src/client/hud.cpp b/src/client/hud.cpp index c5e71b853..c971d9558 100644 --- a/src/client/hud.cpp +++ b/src/client/hud.cpp @@ -544,14 +544,21 @@ void Hud::drawLuaElements(const v3s16 &camera_offset) } break; } case HUD_ELEM_MINIMAP: { - if (e->size.X <= 0 || e->size.Y <= 0) - break; if (!client->getMinimap()) break; // Draw a minimap of size "size" v2s32 dstsize(e->size.X * m_scale_factor, e->size.Y * m_scale_factor); - // (no percent size as minimap would likely be anamorphosed) + + // Only one percentage is supported to avoid distortion. + if (e->size.X < 0) + dstsize.X = dstsize.Y = m_screensize.X * (e->size.X * -0.01); + else if (e->size.Y < 0) + dstsize.X = dstsize.Y = m_screensize.Y * (e->size.Y * -0.01); + + if (dstsize.X <= 0 || dstsize.Y <= 0) + return; + v2s32 offset((e->align.X - 1.0) * dstsize.X / 2, (e->align.Y - 1.0) * dstsize.Y / 2); core::rect rect(0, 0, dstsize.X, dstsize.Y); diff --git a/src/network/networkprotocol.h b/src/network/networkprotocol.h index e3618042f..cd9396e63 100644 --- a/src/network/networkprotocol.h +++ b/src/network/networkprotocol.h @@ -224,9 +224,12 @@ with this program; if not, write to the Free Software Foundation, Inc., Add TOCLIENT_MOVE_PLAYER_REL Move default minimap from client-side C++ to server-side builtin Lua [scheduled bump for 5.9.0] + PROTOCOL VERSION 45: + Minimap HUD element supports negative size values as percentages + [bump for 5.9.1] */ -#define LATEST_PROTOCOL_VERSION 44 +#define LATEST_PROTOCOL_VERSION 45 #define LATEST_PROTOCOL_VERSION_STRING TOSTRING(LATEST_PROTOCOL_VERSION) // Server's supported network protocol range From 9e198fc22c34a4c9635013d19dc34a0a0d8657b2 Mon Sep 17 00:00:00 2001 From: grorp Date: Sat, 31 Aug 2024 20:45:32 +0200 Subject: [PATCH 263/279] TouchControls: Fix outdated player controls in TOSERVER_INTERACT --- src/client/game.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/client/game.cpp b/src/client/game.cpp index 3dd829d53..701504a31 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -1446,7 +1446,7 @@ void Game::copyServerClientCache() { // It would be possible to let the client directly read the media files // from where the server knows they are. But aside from being more complicated - // it would also *not* fill the media cache and cause slower joining of + // it would also *not* fill the media cache and cause slower joining of // remote servers. // (Imagine that you launch a game once locally and then connect to a server.) @@ -3351,6 +3351,10 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud) if (g_touchscreengui) { auto mode = selected_def.touch_interaction.getMode(pointed.type); g_touchscreengui->applyContextControls(mode); + // applyContextControls may change dig/place input. + // Update again so that TOSERVER_INTERACT packets have the correct controls set. + player->control.dig = isKeyDown(KeyType::DIG); + player->control.place = isKeyDown(KeyType::PLACE); } // Note that updating the selection mesh every frame is not particularly efficient, From 166782040efc394a4abaf5e6a2bac35c1e93407b Mon Sep 17 00:00:00 2001 From: grorp Date: Sat, 31 Aug 2024 20:46:14 +0200 Subject: [PATCH 264/279] Fix uninitialized SkyboxParams::fog_color --- src/skyparams.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/skyparams.h b/src/skyparams.h index a4d0fadac..2ff918f36 100644 --- a/src/skyparams.h +++ b/src/skyparams.h @@ -46,7 +46,7 @@ struct SkyboxParams float body_orbit_tilt { INVALID_SKYBOX_TILT }; s16 fog_distance { -1 }; float fog_start { -1.0f }; - video::SColor fog_color; // override, only used if alpha > 0 + video::SColor fog_color { 0 }; // override, only used if alpha > 0 }; struct SunParams From 1d042a977d6421b5b57f2dbaa458e52c0de6c94d Mon Sep 17 00:00:00 2001 From: sfan5 Date: Thu, 29 Aug 2024 16:01:29 +0200 Subject: [PATCH 265/279] Avoid unsafety with stack-allocated mesh buffer --- src/client/hud.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/hud.cpp b/src/client/hud.cpp index c971d9558..73f3bee02 100644 --- a/src/client/hud.cpp +++ b/src/client/hud.cpp @@ -139,7 +139,7 @@ Hud::Hud(Client *client, LocalPlayer *player, m_rotation_mesh_buffer.getMaterial().Lighting = false; m_rotation_mesh_buffer.getMaterial().MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL; - m_rotation_mesh_buffer.setHardwareMappingHint(scene::EHM_STATIC); + //m_rotation_mesh_buffer.setHardwareMappingHint(scene::EHM_STATIC); // FIXME: incorrectly stack allocated, not safe! } void Hud::readScalingSetting() From 53c2fbb4c47d4efafd6380c60e575cda3b4a93fa Mon Sep 17 00:00:00 2001 From: red-001 Date: Sat, 31 Aug 2024 16:42:37 +0100 Subject: [PATCH 266/279] Don't attempt to process packets when there are none Under certain unlikely circumstances the main server loop could attempt to process packets even when the connection didn't return one. This would result in the default empty packet being processed resulting in spurious warnings about a missing client. --- src/server.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/server.cpp b/src/server.cpp index 6e42b22a0..508d5b86b 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -1071,6 +1071,8 @@ void Server::Receive(float timeout) // and a faster server-step is better than busy waiting. if (remaining_time_us() < 1000.0f) break; + else + continue; } peer_id = pkt.getPeerId(); From a6f1242a11ac5d52a56248c62032f6ced2cf500b Mon Sep 17 00:00:00 2001 From: Desour Date: Wed, 14 Aug 2024 21:34:15 +0200 Subject: [PATCH 267/279] Fix CMeshBuffer::append reallocating too eagerly (#14969) --- irr/include/CMeshBuffer.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/irr/include/CMeshBuffer.h b/irr/include/CMeshBuffer.h index 8f8158ff1..fb03d1396 100644 --- a/irr/include/CMeshBuffer.h +++ b/irr/include/CMeshBuffer.h @@ -170,16 +170,21 @@ public: return; const u32 vertexCount = getVertexCount(); - u32 i; - Vertices.reallocate(vertexCount + numVertices); - for (i = 0; i < numVertices; ++i) { + // Only reallocate if there are enough new vertices. Otherwise append() + // will be slow when called in a loop. + if (vertexCount + numVertices > Vertices.allocated_size() * 3 / 2) + Vertices.reallocate(vertexCount + numVertices); + + for (u32 i = 0; i < numVertices; ++i) { Vertices.push_back(static_cast(vertices)[i]); BoundingBox.addInternalPoint(static_cast(vertices)[i].Pos); } - Indices.reallocate(getIndexCount() + numIndices); - for (i = 0; i < numIndices; ++i) { + if (getIndexCount() + numIndices > Indices.allocated_size() * 3 / 2) + Indices.reallocate(getIndexCount() + numIndices); + + for (u32 i = 0; i < numIndices; ++i) { Indices.push_back(indices[i] + vertexCount); } } From 7737906d2e9ad013de49978c6766fde2d7ea0a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Wed, 4 Sep 2024 15:19:00 +0200 Subject: [PATCH 268/279] Remove no* prefixes from settingtypes possible flags (#15111) --- builtin/settingtypes.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt index 87c7444da..5a86a1c6a 100644 --- a/builtin/settingtypes.txt +++ b/builtin/settingtypes.txt @@ -1014,7 +1014,7 @@ mapgen_limit (Map generation limit) int 31007 0 31007 # Global map generation attributes. # In Mapgen v6 the 'decorations' flag controls all decorations except trees # and jungle grass, in all other mapgens this flag controls all decorations. -mg_flags (Mapgen flags) flags caves,dungeons,light,decorations,biomes,ores caves,dungeons,light,decorations,biomes,ores,nocaves,nodungeons,nolight,nodecorations,nobiomes,noores +mg_flags (Mapgen flags) flags caves,dungeons,light,decorations,biomes,ores caves,dungeons,light,decorations,biomes,ores [*Biome API] @@ -1033,7 +1033,7 @@ mg_biome_np_humidity_blend (Humidity blend noise) noise_params_2d 0, 1.5, (8, 8, [*Mapgen V5] # Map generation attributes specific to Mapgen v5. -mgv5_spflags (Mapgen V5 specific flags) flags caverns caverns,nocaverns +mgv5_spflags (Mapgen V5 specific flags) flags caverns caverns # Controls width of tunnels, a smaller value creates wider tunnels. # Value >= 10.0 completely disables generation of tunnels and avoids the @@ -1107,7 +1107,7 @@ mgv5_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2 # When the 'snowbiomes' flag is enabled jungles are automatically enabled and # the 'jungles' flag is ignored. # The 'temples' flag disables generation of desert temples. Normal dungeons will appear instead. -mgv6_spflags (Mapgen V6 specific flags) flags jungles,biomeblend,mudflow,snowbiomes,noflat,trees,temples jungles,biomeblend,mudflow,snowbiomes,flat,trees,temples,nojungles,nobiomeblend,nomudflow,nosnowbiomes,noflat,notrees,notemples +mgv6_spflags (Mapgen V6 specific flags) flags jungles,biomeblend,mudflow,snowbiomes,noflat,trees,temples jungles,biomeblend,mudflow,snowbiomes,flat,trees,temples # Deserts occur when np_biome exceeds this value. # When the 'snowbiomes' flag is enabled, this is ignored. @@ -1163,7 +1163,7 @@ mgv6_np_apple_trees (Apple trees noise) noise_params_2d 0, 1, (100, 100, 100), 3 # 'ridges': Rivers. # 'floatlands': Floating land masses in the atmosphere. # 'caverns': Giant caves deep underground. -mgv7_spflags (Mapgen V7 specific flags) flags mountains,ridges,nofloatlands,caverns mountains,ridges,floatlands,caverns,nomountains,noridges,nofloatlands,nocaverns +mgv7_spflags (Mapgen V7 specific flags) flags mountains,ridges,nofloatlands,caverns mountains,ridges,floatlands,caverns # Y of mountain density gradient zero level. Used to shift mountains vertically. mgv7_mount_zero_level (Mountain zero level) int 0 -31000 31000 @@ -1297,7 +1297,7 @@ mgv7_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2 [*Mapgen Carpathian] # Map generation attributes specific to Mapgen Carpathian. -mgcarpathian_spflags (Mapgen Carpathian specific flags) flags caverns,norivers caverns,rivers,nocaverns,norivers +mgcarpathian_spflags (Mapgen Carpathian specific flags) flags caverns,norivers caverns,rivers # Defines the base ground level. mgcarpathian_base_level (Base ground level) float 12.0 @@ -1406,7 +1406,7 @@ mgcarpathian_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 50 # Map generation attributes specific to Mapgen Flat. # Occasional lakes and hills can be added to the flat world. -mgflat_spflags (Mapgen Flat specific flags) flags nolakes,nohills,nocaverns lakes,hills,caverns,nolakes,nohills,nocaverns +mgflat_spflags (Mapgen Flat specific flags) flags nolakes,nohills,nocaverns lakes,hills,caverns # Y of flat ground. mgflat_ground_level (Ground level) int 8 -31000 31000 @@ -1490,7 +1490,7 @@ mgflat_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, # Map generation attributes specific to Mapgen Fractal. # 'terrain' enables the generation of non-fractal terrain: # ocean, islands and underground. -mgfractal_spflags (Mapgen Fractal specific flags) flags terrain terrain,noterrain +mgfractal_spflags (Mapgen Fractal specific flags) flags terrain terrain # Controls width of tunnels, a smaller value creates wider tunnels. # Value >= 10.0 completely disables generation of tunnels and avoids the @@ -1624,7 +1624,7 @@ mgfractal_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), # 'vary_river_depth': If enabled, low humidity and high heat causes rivers # to become shallower and occasionally dry. # 'altitude_dry': Reduces humidity with altitude. -mgvalleys_spflags (Mapgen Valleys specific flags) flags altitude_chill,humid_rivers,vary_river_depth,altitude_dry altitude_chill,humid_rivers,vary_river_depth,altitude_dry,noaltitude_chill,nohumid_rivers,novary_river_depth,noaltitude_dry +mgvalleys_spflags (Mapgen Valleys specific flags) flags altitude_chill,humid_rivers,vary_river_depth,altitude_dry altitude_chill,humid_rivers,vary_river_depth,altitude_dry # The vertical distance over which heat drops by 20 if 'altitude_chill' is # enabled. Also, the vertical distance over which humidity drops by 10 if From 336f8d4dc7b163f66f01d610c82380746e432e63 Mon Sep 17 00:00:00 2001 From: sfence Date: Fri, 6 Sep 2024 11:30:27 +0200 Subject: [PATCH 269/279] Generate Minetest.app on macOS 12, so at least macOS 12 will be supported --- .github/workflows/macos.yml | 4 ++-- src/util/numeric.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 34556ce8c..e193c828d 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -29,8 +29,8 @@ on: jobs: build: - # use macOS 13 since it's the last one that still runs on x86 - runs-on: macos-13 + # use lowest possible macOS running on x86_64 to support more users + runs-on: macos-12 steps: - uses: actions/checkout@v4 - name: Install deps diff --git a/src/util/numeric.h b/src/util/numeric.h index c31dcb9fb..523e96dfd 100644 --- a/src/util/numeric.h +++ b/src/util/numeric.h @@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "SColor.h" #include #include +#include #define rangelim(d, min, max) ((d) < (min) ? (min) : ((d) > (max) ? (max) : (d))) #define myfloor(x) ((x) < 0.0 ? (int)(x) - 1 : (int)(x)) From 4e3b8db2b91a0b51ce604c56cbf6d1b839d0ecaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20M=C3=BCller?= <34514239+appgurueu@users.noreply.github.com> Date: Fri, 6 Sep 2024 12:11:16 +0200 Subject: [PATCH 270/279] Fix upright sprite entities not animating --- src/client/content_cao.cpp | 10 ++++++++++ src/client/mesh.cpp | 10 +--------- src/client/mesh.h | 7 ------- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index 5c008bca9..f67e57056 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -1267,6 +1267,16 @@ void GenericCAO::step(float dtime, ClientEnvironment *env) } } +static void setMeshBufferTextureCoords(scene::IMeshBuffer *buf, const v2f *uv, u32 count) +{ + assert(buf->getVertexType() == video::EVT_STANDARD); + assert(buf->getVertexCount() == count); + auto *vertices = static_cast(buf->getVertices()); + for (u32 i = 0; i < count; i++) + vertices[i].TCoords = uv[i]; + buf->setDirty(scene::EBT_VERTEX); +} + void GenericCAO::updateTexturePos() { if(m_spritenode) diff --git a/src/client/mesh.cpp b/src/client/mesh.cpp index 711f7e1c6..99131b049 100644 --- a/src/client/mesh.cpp +++ b/src/client/mesh.cpp @@ -18,6 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "mesh.h" +#include "S3DVertex.h" #include "debug.h" #include "log.h" #include @@ -197,15 +198,6 @@ void setMeshColor(scene::IMesh *mesh, const video::SColor &color) setMeshBufferColor(mesh->getMeshBuffer(j), color); } -void setMeshBufferTextureCoords(scene::IMeshBuffer *buf, const v2f *uv, u32 count) -{ - const u32 stride = getVertexPitchFromType(buf->getVertexType()); - assert(buf->getVertexCount() >= count); - u8 *vertices = (u8 *) buf->getVertices(); - for (u32 i = 0; i < count; i++) - ((video::S3DVertex*) (vertices + i * stride))->TCoords = uv[i]; -} - template static void applyToMesh(scene::IMesh *mesh, const F &fn) { diff --git a/src/client/mesh.h b/src/client/mesh.h index 0c3e8942e..8c4d55f0f 100644 --- a/src/client/mesh.h +++ b/src/client/mesh.h @@ -59,13 +59,6 @@ void setMeshBufferColor(scene::IMeshBuffer *buf, const video::SColor &color); */ void setMeshColor(scene::IMesh *mesh, const video::SColor &color); - -/* - Sets texture coords for vertices in the mesh buffer. - `uv[]` must have `count` elements -*/ -void setMeshBufferTextureCoords(scene::IMeshBuffer *buf, const v2f *uv, u32 count); - /* Set a constant color for an animated mesh */ From e27757fa3a92b67c5f51261f50e0fb0391320b26 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 6 Sep 2024 10:32:05 +0200 Subject: [PATCH 271/279] Fix texture matrix handling in our shaders --- client/shaders/object_shader/opengl_vertex.glsl | 2 +- irr/src/OpenGL/Driver.cpp | 7 +++++-- src/client/shader.cpp | 5 +++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/client/shaders/object_shader/opengl_vertex.glsl b/client/shaders/object_shader/opengl_vertex.glsl index d5a434da5..65acba92a 100644 --- a/client/shaders/object_shader/opengl_vertex.glsl +++ b/client/shaders/object_shader/opengl_vertex.glsl @@ -91,7 +91,7 @@ float directional_ambient(vec3 normal) void main(void) { - varTexCoord = (mTexture * inTexCoord0).st; + varTexCoord = (mTexture * vec4(inTexCoord0.xy, 1.0, 1.0)).st; gl_Position = mWorldViewProj * inVertexPosition; vPosition = gl_Position.xyz; diff --git a/irr/src/OpenGL/Driver.cpp b/irr/src/OpenGL/Driver.cpp index 0dd6ea1bb..cb45c45c8 100644 --- a/irr/src/OpenGL/Driver.cpp +++ b/irr/src/OpenGL/Driver.cpp @@ -1125,8 +1125,11 @@ void COpenGL3DriverBase::setMaterial(const SMaterial &material) OverrideMaterial.apply(Material); for (u32 i = 0; i < Feature.MaxTextureUnits; ++i) { - CacheHandler->getTextureCache().set(i, material.getTexture(i)); - setTransform((E_TRANSFORMATION_STATE)(ETS_TEXTURE_0 + i), material.getTextureMatrix(i)); + auto *texture = material.getTexture(i); + CacheHandler->getTextureCache().set(i, texture); + if (texture) { + setTransform((E_TRANSFORMATION_STATE)(ETS_TEXTURE_0 + i), material.getTextureMatrix(i)); + } } } diff --git a/src/client/shader.cpp b/src/client/shader.cpp index dae53ff96..242fda81c 100644 --- a/src/client/shader.cpp +++ b/src/client/shader.cpp @@ -249,7 +249,7 @@ public: m_world_view_proj.set(worldViewProj, services); if (driver->getDriverType() == video::EDT_OGLES2 || driver->getDriverType() == video::EDT_OPENGL3) { - core::matrix4 texture = driver->getTransform(video::ETS_TEXTURE_0); + auto &texture = driver->getTransform(video::ETS_TEXTURE_0); m_world_view.set(worldView, services); m_texture.set(texture, services); } @@ -573,6 +573,7 @@ ShaderInfo ShaderSource::generateShader(const std::string &name, } else { shaders_header << "#version 100\n"; } + // cf. EVertexAttributes.h for the predefined ones vertex_header = R"( precision mediump float; @@ -582,7 +583,7 @@ ShaderInfo ShaderSource::generateShader(const std::string &name, attribute highp vec4 inVertexPosition; attribute lowp vec4 inVertexColor; - attribute mediump vec4 inTexCoord0; + attribute mediump vec2 inTexCoord0; attribute mediump vec3 inVertexNormal; attribute mediump vec4 inVertexTangent; attribute mediump vec4 inVertexBinormal; From 73c29e7763488bbde04ea5fa3221ea66c25465bc Mon Sep 17 00:00:00 2001 From: sfence Date: Sun, 8 Sep 2024 13:53:43 +0200 Subject: [PATCH 272/279] macOS: make mute sound actually work (#15128) --- src/client/sound/sound_manager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/client/sound/sound_manager.cpp b/src/client/sound/sound_manager.cpp index 679d3a155..6aae5bb7f 100644 --- a/src/client/sound/sound_manager.cpp +++ b/src/client/sound/sound_manager.cpp @@ -29,6 +29,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "filesys.h" #include "porting.h" +#include + namespace sound { void OpenALSoundManager::stepStreams(f32 dtime) @@ -347,6 +349,13 @@ void OpenALSoundManager::updateListener(const v3f &pos_, const v3f &vel_, void OpenALSoundManager::setListenerGain(f32 gain) { +#if defined(__APPLE__) + /* macOS OpenAL implementation ignore setting AL_GAIN to zero + * so we use smallest possible value + */ + if (gain == 0.0f) + gain = std::numeric_limits::min(); +#endif alListenerf(AL_GAIN, gain); } From a8e7e261b941e908abc652eac099fc341713be39 Mon Sep 17 00:00:00 2001 From: Gregor Parzefall Date: Thu, 12 Sep 2024 19:28:37 +0200 Subject: [PATCH 273/279] Revert "Set VBO hints in more places" --- src/client/content_cao.cpp | 12 ------------ src/client/hud.cpp | 1 - src/client/minimap.cpp | 1 - src/irrlicht_changes/CGUITTFont.cpp | 1 - 4 files changed, 15 deletions(-) diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index f67e57056..0df6d74a3 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -817,18 +817,6 @@ void GenericCAO::addToScene(ITextureSource *tsrc, scene::ISceneManager *smgr) <<"\" not supported"<getMesh()->setHardwareMappingHint(scene::EHM_STATIC); - if (m_animated_meshnode) - m_animated_meshnode->getMesh()->setHardwareMappingHint(scene::EHM_STATIC); - } - /* don't update while punch texture modifier is active */ if (m_reset_textures_timer < 0) updateTextures(m_current_texture_modifier); diff --git a/src/client/hud.cpp b/src/client/hud.cpp index 73f3bee02..11f9cbd5c 100644 --- a/src/client/hud.cpp +++ b/src/client/hud.cpp @@ -139,7 +139,6 @@ Hud::Hud(Client *client, LocalPlayer *player, m_rotation_mesh_buffer.getMaterial().Lighting = false; m_rotation_mesh_buffer.getMaterial().MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL; - //m_rotation_mesh_buffer.setHardwareMappingHint(scene::EHM_STATIC); // FIXME: incorrectly stack allocated, not safe! } void Hud::readScalingSetting() diff --git a/src/client/minimap.cpp b/src/client/minimap.cpp index afac89843..b7e4a78e6 100644 --- a/src/client/minimap.cpp +++ b/src/client/minimap.cpp @@ -571,7 +571,6 @@ scene::SMeshBuffer *Minimap::getMinimapMeshBuffer() buf->Indices[4] = 3; buf->Indices[5] = 0; - buf->setHardwareMappingHint(scene::EHM_STATIC); return buf; } diff --git a/src/irrlicht_changes/CGUITTFont.cpp b/src/irrlicht_changes/CGUITTFont.cpp index 40d2bb405..9274ee69f 100644 --- a/src/irrlicht_changes/CGUITTFont.cpp +++ b/src/irrlicht_changes/CGUITTFont.cpp @@ -1046,7 +1046,6 @@ void CGUITTFont::createSharedPlane() buf->append(vertices, 4, indices, 6); shared_plane_.addMeshBuffer( buf ); - shared_plane_.setHardwareMappingHint(EHM_STATIC); shared_plane_ptr_ = &shared_plane_; buf->drop(); //the addMeshBuffer method will grab it, so we can drop this ptr. From 6bdd5c67737c38db596762e3272ac5eae772c9d5 Mon Sep 17 00:00:00 2001 From: grorp Date: Thu, 12 Sep 2024 23:41:47 +0200 Subject: [PATCH 274/279] Only apply "touch_punch_gesture" when wielded item has no on_use callback (#15098) --- doc/lua_api.md | 10 +++++++++- src/client/game.cpp | 2 +- src/itemdef.cpp | 7 +++++-- src/itemdef.h | 3 ++- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/doc/lua_api.md b/doc/lua_api.md index 46bdd09ce..b4be08feb 100644 --- a/doc/lua_api.md +++ b/doc/lua_api.md @@ -9223,9 +9223,17 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and -- If specified as a table, the field to be used is selected according to -- the current `pointed_thing`. -- There are three possible TouchInteractionMode values: - -- * "user" (meaning depends on client-side settings) -- * "long_dig_short_place" (long tap = dig, short tap = place) -- * "short_dig_long_place" (short tap = dig, long tap = place) + -- * "user": + -- * For `pointed_object`: Equivalent to "short_dig_long_place" if the + -- client-side setting "touch_punch_gesture" is "short_tap" (the + -- default value) and the item is able to punch (i.e. has no on_use + -- callback defined). + -- Equivalent to "long_dig_short_place" otherwise. + -- * For `pointed_node` and `pointed_nothing`: + -- Equivalent to "long_dig_short_place". + -- * The behavior of "user" may change in the future. -- The default value is "user". sound = { diff --git a/src/client/game.cpp b/src/client/game.cpp index 701504a31..c0b342336 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -3349,7 +3349,7 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud) infostream << "Pointing at " << pointed.dump() << std::endl; if (g_touchscreengui) { - auto mode = selected_def.touch_interaction.getMode(pointed.type); + auto mode = selected_def.touch_interaction.getMode(selected_def, pointed.type); g_touchscreengui->applyContextControls(mode); // applyContextControls may change dig/place input. // Update again so that TOSERVER_INTERACT packets have the correct controls set. diff --git a/src/itemdef.cpp b/src/itemdef.cpp index ad2ed4847..220c6fbb6 100644 --- a/src/itemdef.cpp +++ b/src/itemdef.cpp @@ -45,7 +45,8 @@ TouchInteraction::TouchInteraction() pointed_object = TouchInteractionMode_USER; } -TouchInteractionMode TouchInteraction::getMode(PointedThingType pointed_type) const +TouchInteractionMode TouchInteraction::getMode(const ItemDefinition &selected_def, + PointedThingType pointed_type) const { TouchInteractionMode result; switch (pointed_type) { @@ -63,7 +64,9 @@ TouchInteractionMode TouchInteraction::getMode(PointedThingType pointed_type) co } if (result == TouchInteractionMode_USER) { - if (pointed_type == POINTEDTHING_OBJECT) + if (pointed_type == POINTEDTHING_OBJECT && !selected_def.usable) + // Only apply when we're actually able to punch the object, i.e. when + // the selected item has no on_use callback defined. result = g_settings->get("touch_punch_gesture") == "long_tap" ? LONG_DIG_SHORT_PLACE : SHORT_DIG_LONG_PLACE; else diff --git a/src/itemdef.h b/src/itemdef.h index 782dad816..4ef5ce094 100644 --- a/src/itemdef.h +++ b/src/itemdef.h @@ -71,7 +71,8 @@ struct TouchInteraction TouchInteraction(); // Returns the right mode for the pointed thing and resolves any occurrence // of TouchInteractionMode_USER into an actual mode. - TouchInteractionMode getMode(PointedThingType pointed_type) const; + TouchInteractionMode getMode(const ItemDefinition &selected_def, + PointedThingType pointed_type) const; void serialize(std::ostream &os) const; void deSerialize(std::istream &is); }; From b93cce11d8d23dfb5bc5265658d5e33fbaedff47 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 13 Sep 2024 18:48:33 +0200 Subject: [PATCH 275/279] Count duplicate packets as congestion indicator --- src/network/connection.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/network/connection.cpp b/src/network/connection.cpp index 00b4fe4b0..6ac94a926 100644 --- a/src/network/connection.cpp +++ b/src/network/connection.cpp @@ -739,16 +739,16 @@ void Channel::UpdateTimers(float dtime) if (packet_loss_counter > 1.0f) { packet_loss_counter -= 1.0f; - unsigned int packet_loss = 11; /* use a neutral value for initialization */ - unsigned int packets_successful = 0; - //unsigned int packet_too_late = 0; + unsigned int packet_loss; + unsigned int packets_successful; + unsigned int packet_too_late; bool reasonable_amount_of_data_transmitted = false; { MutexAutoLock internal(m_internal_mutex); packet_loss = current_packet_loss; - //packet_too_late = current_packet_too_late; + packet_too_late = current_packet_too_late; packets_successful = current_packet_successful; if (current_bytes_transfered > (unsigned int) (m_window_size*512/2)) { @@ -759,6 +759,11 @@ void Channel::UpdateTimers(float dtime) current_packet_successful = 0; } + // Packets too late means either packet duplication along the way + // or we were too fast in resending it (which should be self-regulating). + // Count this a signal of congestion, like packet loss. + packet_loss = std::min(packet_loss + packet_too_late, packets_successful); + /* dynamic window size */ float successful_to_lost_ratio = 0.0f; bool done = false; From 722c0044b191ac275cc83f1d5c7dd0353bd56eef Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 13 Sep 2024 18:51:09 +0200 Subject: [PATCH 276/279] Nerf protocol window sizes --- src/network/connection.cpp | 1 + src/network/connection_internal.h | 17 +++++++++++++---- src/network/connectionthreads.cpp | 1 + 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/network/connection.cpp b/src/network/connection.cpp index 6ac94a926..7f64e0466 100644 --- a/src/network/connection.cpp +++ b/src/network/connection.cpp @@ -751,6 +751,7 @@ void Channel::UpdateTimers(float dtime) packet_too_late = current_packet_too_late; packets_successful = current_packet_successful; + // has half the window even been used? if (current_bytes_transfered > (unsigned int) (m_window_size*512/2)) { reasonable_amount_of_data_transmitted = true; } diff --git a/src/network/connection_internal.h b/src/network/connection_internal.h index a528f3fef..ee6b1703d 100644 --- a/src/network/connection_internal.h +++ b/src/network/connection_internal.h @@ -329,15 +329,24 @@ private: static ConnectionCommandPtr create(ConnectionCommandType type); }; -/* maximum window size to use, 0xFFFF is theoretical maximum. don't think about +/* + * Window sizes to use, in packets (not bytes!). + * 0xFFFF is theoretical maximum. don't think about * touching it, the less you're away from it the more likely data corruption * will occur + * + * Note: window sizes directly translate to maximum possible throughput, e.g. + * (2048 * 512 bytes) / 33ms = 15 MiB/s */ + +// Due to backwards compatibility we have different window sizes for what we'll +// accept from peers vs. what we use for sending. #define MAX_RELIABLE_WINDOW_SIZE 0x8000 +#define MAX_RELIABLE_WINDOW_SIZE_SEND 2048 /* starting value for window size */ -#define START_RELIABLE_WINDOW_SIZE 0x400 +#define START_RELIABLE_WINDOW_SIZE 64 /* minimum value for window size */ -#define MIN_RELIABLE_WINDOW_SIZE 0x40 +#define MIN_RELIABLE_WINDOW_SIZE 32 class Channel { @@ -405,7 +414,7 @@ public: void setWindowSize(long size) { - m_window_size = (u16)rangelim(size, MIN_RELIABLE_WINDOW_SIZE, MAX_RELIABLE_WINDOW_SIZE); + m_window_size = (u16)rangelim(size, MIN_RELIABLE_WINDOW_SIZE, MAX_RELIABLE_WINDOW_SIZE_SEND); } private: diff --git a/src/network/connectionthreads.cpp b/src/network/connectionthreads.cpp index d5c9a39ed..543d93d8d 100644 --- a/src/network/connectionthreads.cpp +++ b/src/network/connectionthreads.cpp @@ -317,6 +317,7 @@ void ConnectionSendThread::sendAsPacketReliable(BufferedPacketPtr &p, Channel *c channel->outgoing_reliables_sent.insert(p, (channel->readOutgoingSequenceNumber() - MAX_RELIABLE_WINDOW_SIZE) % (MAX_RELIABLE_WINDOW_SIZE + 1)); + // wtf is this calculation?? ^ } catch (AlreadyExistsException &e) { LOG(derr_con << m_connection->getDesc() From 7556bf43a60e09024cb7644620392fada61812e0 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Fri, 13 Sep 2024 18:51:58 +0200 Subject: [PATCH 277/279] Fix RTT set before value is available --- src/network/connection.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/network/connection.cpp b/src/network/connection.cpp index 7f64e0466..9d0d57e23 100644 --- a/src/network/connection.cpp +++ b/src/network/connection.cpp @@ -995,13 +995,15 @@ bool UDPPeer::isTimedOut(float timeout, std::string &reason) void UDPPeer::reportRTT(float rtt) { - if (rtt < 0.0) { + if (rtt < 0) return; - } RTTStatistics(rtt,"rudp",MAX_RELIABLE_WINDOW_SIZE*10); // use this value to decide the resend timeout - float timeout = getStat(AVG_RTT) * RESEND_TIMEOUT_FACTOR; + const float rtt_stat = getStat(AVG_RTT); + if (rtt_stat < 0) + return; + float timeout = rtt_stat * RESEND_TIMEOUT_FACTOR; if (timeout < RESEND_TIMEOUT_MIN) timeout = RESEND_TIMEOUT_MIN; if (timeout > RESEND_TIMEOUT_MAX) From 96fbc520717d264c62de424a206c9cd82ec91103 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 31 Aug 2024 17:16:48 +0200 Subject: [PATCH 278/279] Improve some protocol code log messages also get rid of the very noisy socket debug message that are useless in a world where Wireshark exists. --- src/main.cpp | 1 - src/network/connection.cpp | 8 +++- src/network/connectionthreads.cpp | 37 +++++++++--------- src/network/socket.cpp | 64 ------------------------------- src/network/socket.h | 2 - 5 files changed, 26 insertions(+), 86 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 7474ae84c..5b5243be8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -531,7 +531,6 @@ static bool setup_log_params(const Settings &cmd_args) if (cmd_args.getFlag("trace")) { dstream << _("Enabling trace level debug output") << std::endl; g_logger.addOutput(&stderr_output, LL_TRACE); - socket_enable_debug_output = true; } return true; diff --git a/src/network/connection.cpp b/src/network/connection.cpp index 9d0d57e23..304844862 100644 --- a/src/network/connection.cpp +++ b/src/network/connection.cpp @@ -1009,7 +1009,13 @@ void UDPPeer::reportRTT(float rtt) if (timeout > RESEND_TIMEOUT_MAX) timeout = RESEND_TIMEOUT_MAX; + float timeout_old = getResendTimeout(); setResendTimeout(timeout); + + if (std::abs(timeout - timeout_old) >= 0.001f) { + dout_con << m_connection->getDesc() << " set resend timeout " << timeout + << " (rtt=" << rtt_stat << ") for peer id: " << id << std::endl; + } } bool UDPPeer::Ping(float dtime,SharedBuffer& data) @@ -1129,7 +1135,7 @@ bool UDPPeer::processReliableSendCommand( u16 packets_available = toadd.size(); /* we didn't get a single sequence number no need to fill queue */ if (!have_initial_sequence_number) { - LOG(derr_con << m_connection->getDesc() << "Ran out of sequence numbers!" << std::endl); + dout_con << m_connection->getDesc() << " No sequence numbers available!" << std::endl; return false; } diff --git a/src/network/connectionthreads.cpp b/src/network/connectionthreads.cpp index 543d93d8d..73a9207ed 100644 --- a/src/network/connectionthreads.cpp +++ b/src/network/connectionthreads.cpp @@ -35,7 +35,6 @@ namespace con #define PROFILE(a) #undef DEBUG_CONNECTION_KBPS #else -/* this mutex is used to achieve log message consistency */ #define PROFILE(a) a //#define DEBUG_CONNECTION_KBPS #undef DEBUG_CONNECTION_KBPS @@ -211,7 +210,8 @@ void ConnectionSendThread::runTimeouts(float dtime, u32 peer_packet_quota) } float resend_timeout = udpPeer->getResendTimeout(); - for (Channel &channel : udpPeer->channels) { + for (int ch = 0; ch < CHANNEL_COUNT; ch++) { + auto &channel = udpPeer->channels[ch]; // Remove timed out incomplete unreliable split packets channel.incoming_splits.removeUnreliableTimedOuts(dtime, peer_timeout); @@ -232,8 +232,8 @@ void ConnectionSendThread::runTimeouts(float dtime, u32 peer_packet_quota) if (!timed_outs.empty()) { dout_con << m_connection->getDesc() << "Skipping re-send of " << timed_outs.size() << - " timed-out reliables to peer_id " << udpPeer->id - << " (half-open)." << std::endl; + " timed-out reliables to peer_id=" << udpPeer->id + << " channel=" << ch << " (half-open)." << std::endl; } continue; } @@ -246,7 +246,14 @@ void ConnectionSendThread::runTimeouts(float dtime, u32 peer_packet_quota) for (const auto &k : timed_outs) resendReliable(channel, k.get(), resend_timeout); + auto ws_old = channel.getWindowSize(); channel.UpdateTimers(dtime); + auto ws_new = channel.getWindowSize(); + if (ws_old != ws_new) { + dout_con << m_connection->getDesc() << + "Window size adjusted to " << ws_new << " for peer_id=" + << udpPeer->id << " channel=" << ch << std::endl; + } } /* send ping if necessary */ @@ -299,12 +306,12 @@ void ConnectionSendThread::rawSend(const BufferedPacket *p) assert(p); try { m_connection->m_udpSocket.Send(p->address, p->data, p->size()); - LOG(dout_con << m_connection->getDesc() - << " rawSend: " << p->size() - << " bytes sent" << std::endl); + //LOG(dout_con << m_connection->getDesc() + // << " rawSend: " << p->size() + // << " bytes sent" << std::endl); } catch (SendFailedException &e) { LOG(derr_con << m_connection->getDesc() - << "Connection::rawSend(): SendFailedException: " + << "SendFailedException: " << e.what() << " to " << p->address.serializeString() << std::endl); } } @@ -676,9 +683,9 @@ void ConnectionSendThread::sendPackets(float dtime, u32 peer_packet_quota) PROFILE(ScopeProfiler peerprofiler(g_profiler, peerIdentifier.str(), SPT_AVG)); - LOG(dout_con << m_connection->getDesc() - << " Handle per peer queues: peer_id=" << peerId - << " packet quota: " << peer->m_increment_packets_remaining << std::endl); + //LOG(dout_con << m_connection->getDesc() + // << " Handle per peer queues: peer_id=" << peerId + // << " packet quota: " << peer->m_increment_packets_remaining << std::endl); // first send queued reliable packets for all peers (if possible) for (unsigned int i = 0; i < CHANNEL_COUNT; i++) { @@ -1181,7 +1188,7 @@ SharedBuffer ConnectionReceiveThread::handlePacketType_Control(Channel *chan // an overflow is quite unlikely but as it'd result in major // rtt miscalculation we handle it here if (current_time > p->absolute_send_time) { - float rtt = (current_time - p->absolute_send_time) / 1000.0; + float rtt = (current_time - p->absolute_send_time) / 1000.0f; // Let peer calculate stuff according to it // (avg_rtt and resend_timeout) @@ -1326,12 +1333,6 @@ SharedBuffer ConnectionReceiveThread::handlePacketType_Reliable(Channel *cha << ", seqnum: " << seqnum << std::endl;) m_connection->sendAck(peer->id, channelnum, seqnum); - // we already have this packet so this one was on wire at least - // the current timeout - // we don't know how long this packet was on wire don't do silly guessing - // dynamic_cast(&peer)-> - // reportRTT(dynamic_cast(&peer)->getResendTimeout()); - throw ProcessedSilentlyException("Retransmitting ack for old packet"); } } diff --git a/src/network/socket.cpp b/src/network/socket.cpp index 9fbbaa34e..17e71d860 100644 --- a/src/network/socket.cpp +++ b/src/network/socket.cpp @@ -50,9 +50,6 @@ typedef int socklen_t; #define SOCKET_ERR_STR(e) strerror(e) #endif -// Set to true to enable verbose debug output -bool socket_enable_debug_output = false; // yuck - static bool g_sockets_initialized = false; // Initialize sockets @@ -104,12 +101,6 @@ bool UDPSocket::init(bool ipv6, bool noExceptions) m_addr_family = ipv6 ? AF_INET6 : AF_INET; m_handle = socket(m_addr_family, SOCK_DGRAM, IPPROTO_UDP); - if (socket_enable_debug_output) { - tracestream << "UDPSocket(" << (int)m_handle - << ")::UDPSocket(): ipv6 = " << (ipv6 ? "true" : "false") - << std::endl; - } - if (m_handle < 0) { if (noExceptions) { return false; @@ -135,11 +126,6 @@ bool UDPSocket::init(bool ipv6, bool noExceptions) UDPSocket::~UDPSocket() { - if (socket_enable_debug_output) { - tracestream << "UDPSocket( " << (int)m_handle << ")::~UDPSocket()" - << std::endl; - } - if (m_handle >= 0) { #ifdef _WIN32 closesocket(m_handle); @@ -151,12 +137,6 @@ UDPSocket::~UDPSocket() void UDPSocket::Bind(Address addr) { - if (socket_enable_debug_output) { - tracestream << "UDPSocket(" << (int)m_handle - << ")::Bind(): " << addr.serializeString() << ":" - << addr.getPort() << std::endl; - } - if (addr.getFamily() != m_addr_family) { const char *errmsg = "Socket and bind address families do not match"; @@ -202,30 +182,6 @@ void UDPSocket::Send(const Address &destination, const void *data, int size) if (INTERNET_SIMULATOR) dumping_packet = myrand() % INTERNET_SIMULATOR_PACKET_LOSS == 0; - if (socket_enable_debug_output) { - // Print packet destination and size - tracestream << (int)m_handle << " -> "; - destination.print(tracestream); - tracestream << ", size=" << size; - - // Print packet contents - tracestream << ", data="; - for (int i = 0; i < size && i < 20; i++) { - if (i % 2 == 0) - tracestream << " "; - unsigned int a = ((const unsigned char *)data)[i]; - tracestream << std::hex << std::setw(2) << std::setfill('0') << a; - } - - if (size > 20) - tracestream << "..."; - - if (dumping_packet) - tracestream << " (DUMPED BY INTERNET_SIMULATOR)"; - - tracestream << std::endl; - } - if (dumping_packet) { // Lol let's forget it tracestream << "UDPSocket::Send(): INTERNET_SIMULATOR: dumping packet." @@ -302,26 +258,6 @@ int UDPSocket::Receive(Address &sender, void *data, int size) sender = Address(address_ip, address_port); } - if (socket_enable_debug_output) { - // Print packet sender and size - tracestream << (int)m_handle << " <- "; - sender.print(tracestream); - tracestream << ", size=" << received; - - // Print packet contents - tracestream << ", data="; - for (int i = 0; i < received && i < 20; i++) { - if (i % 2 == 0) - tracestream << " "; - unsigned int a = ((const unsigned char *)data)[i]; - tracestream << std::hex << std::setw(2) << std::setfill('0') << a; - } - if (received > 20) - tracestream << "..."; - - tracestream << std::endl; - } - return received; } diff --git a/src/network/socket.h b/src/network/socket.h index c3758a9d8..28b69c7b8 100644 --- a/src/network/socket.h +++ b/src/network/socket.h @@ -25,8 +25,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes.h" #include "networkexceptions.h" -extern bool socket_enable_debug_output; - void sockets_init(); void sockets_cleanup(); From 71d9f1771c356c377f556748b05d77deb2c6ca86 Mon Sep 17 00:00:00 2001 From: SmallJoker Date: Sun, 8 Sep 2024 19:27:52 +0200 Subject: [PATCH 279/279] Bump version to 5.9.1 --- CMakeLists.txt | 2 +- android/build.gradle | 2 +- doc/client_lua_api.md | 2 +- doc/menu_lua_api.md | 2 +- misc/net.minetest.minetest.metainfo.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fd996b8e6..9be4944de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ set(CLANG_MINIMUM_VERSION "7.0.1") # You should not need to edit these manually, use util/bump_version.sh set(VERSION_MAJOR 5) set(VERSION_MINOR 9) -set(VERSION_PATCH 0) +set(VERSION_PATCH 1) set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string") # Change to false for releases diff --git a/android/build.gradle b/android/build.gradle index f50b3ba38..3012efdf1 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,7 +2,7 @@ project.ext.set("versionMajor", 5) // Version Major project.ext.set("versionMinor", 9) // Version Minor -project.ext.set("versionPatch", 0) // Version Patch +project.ext.set("versionPatch", 1) // Version Patch // ^ keep in sync with cmake project.ext.set("versionBuild", 0) // Version Build diff --git a/doc/client_lua_api.md b/doc/client_lua_api.md index cbf243616..042fea97f 100644 --- a/doc/client_lua_api.md +++ b/doc/client_lua_api.md @@ -1,4 +1,4 @@ -Minetest Lua Client Modding API Reference 5.9.0 +Minetest Lua Client Modding API Reference 5.9.1 ================================================ * More information at * Developer Wiki: diff --git a/doc/menu_lua_api.md b/doc/menu_lua_api.md index 19540a607..ded0a1038 100644 --- a/doc/menu_lua_api.md +++ b/doc/menu_lua_api.md @@ -1,4 +1,4 @@ -Minetest Lua Mainmenu API Reference 5.9.0 +Minetest Lua Mainmenu API Reference 5.9.1 ========================================= Introduction diff --git a/misc/net.minetest.minetest.metainfo.xml b/misc/net.minetest.minetest.metainfo.xml index 4045b8f23..a276d692c 100644 --- a/misc/net.minetest.minetest.metainfo.xml +++ b/misc/net.minetest.minetest.metainfo.xml @@ -149,6 +149,6 @@ celeron55@gmail.com - +