aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-format1
-rw-r--r--.github/CONTRIBUTING.md (renamed from CONTRIBUTING.md)0
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.md (renamed from .github/ISSUE_TEMPLATE.md)15
-rw-r--r--.github/ISSUE_TEMPLATE/feature_request.md25
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md19
-rw-r--r--.github/SECURITY.md20
-rw-r--r--.gitignore15
-rw-r--r--.gitlab-ci.yml16
-rw-r--r--.luacheckrc74
-rw-r--r--.travis.yml60
-rw-r--r--CMakeLists.txt6
-rw-r--r--README.md302
-rw-r--r--build/android/build.gradle7
-rw-r--r--build/android/gradle/wrapper/gradle-wrapper.properties4
-rw-r--r--build/android/jni/Android.mk6
-rw-r--r--build/android/keystore-minetest.jksbin0 -> 2247 bytes
-rw-r--r--build/android/src/main/java/net.minetest.minetest/MinetestAssetCopy.java10
-rw-r--r--builtin/client/chatcommands.lua8
-rw-r--r--builtin/common/after.lua20
-rw-r--r--builtin/common/filterlist.lua1
-rw-r--r--builtin/common/information_formspecs.lua152
-rw-r--r--builtin/common/misc_helpers.lua31
-rw-r--r--builtin/common/serialize.lua1
-rw-r--r--builtin/common/vector.lua19
-rw-r--r--builtin/fstk/ui.lua69
-rw-r--r--builtin/game/chat.lua (renamed from builtin/game/chatcommands.lua)94
-rw-r--r--builtin/game/falling.lua23
-rw-r--r--builtin/game/features.lua3
-rw-r--r--builtin/game/forceloading.lua35
-rw-r--r--builtin/game/init.lua42
-rw-r--r--builtin/game/item.lua15
-rw-r--r--builtin/game/item_entity.lua91
-rw-r--r--builtin/game/knockback.lua46
-rw-r--r--builtin/game/misc.lua2
-rw-r--r--builtin/game/privileges.lua2
-rw-r--r--builtin/game/register.lua39
-rw-r--r--builtin/game/statbars.lua29
-rw-r--r--builtin/mainmenu/common.lua5
-rw-r--r--builtin/mainmenu/dlg_config_world.lua47
-rw-r--r--builtin/mainmenu/dlg_contentstore.lua30
-rw-r--r--builtin/mainmenu/dlg_create_world.lua13
-rw-r--r--builtin/mainmenu/dlg_delete_content.lua1
-rw-r--r--builtin/mainmenu/dlg_delete_world.lua1
-rw-r--r--builtin/mainmenu/dlg_settings_advanced.lua94
-rw-r--r--builtin/mainmenu/pkgmgr.lua119
-rw-r--r--builtin/mainmenu/tab_content.lua21
-rw-r--r--builtin/mainmenu/tab_local.lua4
-rw-r--r--builtin/mainmenu/tab_online.lua6
-rw-r--r--builtin/mainmenu/tab_settings.lua6
-rw-r--r--builtin/mainmenu/tab_simple_main.lua8
-rw-r--r--builtin/mainmenu/textures.lua40
-rw-r--r--builtin/profiler/instrumentation.lua3
-rw-r--r--builtin/settingtypes.txt146
-rw-r--r--client/shaders/nodes_shader/opengl_fragment.glsl9
-rw-r--r--client/shaders/nodes_shader/opengl_vertex.glsl10
-rw-r--r--cmake/Modules/FindCURL.cmake19
-rw-r--r--cmake/Modules/FindIrrlicht.cmake22
-rw-r--r--cmake/Modules/FindLuaJIT.cmake40
-rw-r--r--cmake/Modules/FindOpenGLES2.cmake86
-rw-r--r--doc/client_lua_api.txt17
-rw-r--r--doc/lua_api.txt778
-rw-r--r--doc/menu_lua_api.txt13
-rwxr-xr-xdoc/mkdocs/build.sh41
-rw-r--r--doc/mkdocs/docs/css/code_styles.css68
-rw-r--r--doc/mkdocs/docs/css/extra.css15
l---------doc/mkdocs/docs/img/favicon.ico1
-rw-r--r--doc/mkdocs/lua_highlight.patch19
-rw-r--r--doc/world_format.txt30
-rw-r--r--games/minimal/mods/default/init.lua61
-rw-r--r--games/minimal/mods/test/crafting.lua71
-rw-r--r--games/minimal/mods/test/formspec.lua195
-rw-r--r--games/minimal/mods/test/init.lua78
-rw-r--r--games/minimal/mods/test/mod.conf1
-rw-r--r--games/minimal/mods/test/player.lua76
-rw-r--r--minetest.conf.example206
-rw-r--r--misc/net.minetest.minetest.appdata.xml8
-rw-r--r--po/be/minetest.po2279
-rw-r--r--po/ca/minetest.po487
-rw-r--r--po/cs/minetest.po730
-rw-r--r--po/da/minetest.po1004
-rw-r--r--po/de/minetest.po1501
-rw-r--r--po/dv/minetest.po304
-rw-r--r--po/el/minetest.po5893
-rw-r--r--po/eo/minetest.po1963
-rw-r--r--po/es/minetest.po729
-rw-r--r--po/et/minetest.po612
-rw-r--r--po/fil/minetest.po5891
-rw-r--r--po/fr/minetest.po2007
-rw-r--r--po/he/minetest.po263
-rw-r--r--po/hu/minetest.po957
-rw-r--r--po/id/minetest.po1028
-rw-r--r--po/it/minetest.po3294
-rw-r--r--po/ja/minetest.po1232
-rw-r--r--po/ja_KS/minetest.po5890
-rw-r--r--po/jbo/minetest.po490
-rw-r--r--po/kk/minetest.po239
-rw-r--r--po/kn/minetest.po236
-rw-r--r--po/ko/minetest.po566
-rw-r--r--po/ky/minetest.po411
-rw-r--r--po/lo/minetest.po5890
-rw-r--r--po/lt/minetest.po437
-rw-r--r--po/minetest.pot231
-rw-r--r--po/ms/minetest.po875
-rw-r--r--po/my/minetest.po5890
-rw-r--r--po/nb/minetest.po760
-rw-r--r--po/nl/minetest.po1363
-rw-r--r--po/nn/minetest.po5951
-rw-r--r--po/pl/minetest.po1531
-rw-r--r--po/pt/minetest.po2278
-rw-r--r--po/pt_BR/minetest.po2422
-rw-r--r--po/ro/minetest.po498
-rw-r--r--po/ru/minetest.po1177
-rw-r--r--po/sl/minetest.po1036
-rw-r--r--po/sr_Cyrl/minetest.po442
-rw-r--r--po/sv/minetest.po501
-rw-r--r--po/sw/minetest.po885
-rw-r--r--po/th/minetest.po6407
-rw-r--r--po/tr/minetest.po1083
-rw-r--r--po/uk/minetest.po525
-rw-r--r--po/vi/minetest.po5898
-rw-r--r--po/zh_CN/minetest.po1182
-rw-r--r--po/zh_TW/minetest.po1047
-rw-r--r--src/CMakeLists.txt204
-rw-r--r--src/activeobject.h12
-rw-r--r--src/client/activeobjectmgr.cpp13
-rw-r--r--src/client/camera.cpp26
-rw-r--r--src/client/client.cpp191
-rw-r--r--src/client/client.h32
-rw-r--r--src/client/clientenvironment.cpp46
-rw-r--r--src/client/clientenvironment.h7
-rw-r--r--src/client/clientmap.cpp155
-rw-r--r--src/client/clientmap.h2
-rw-r--r--src/client/clientmedia.cpp10
-rw-r--r--src/client/clientobject.h51
-rw-r--r--src/client/clouds.cpp2
-rw-r--r--src/client/content_cao.cpp242
-rw-r--r--src/client/content_cao.h39
-rw-r--r--src/client/content_cso.cpp2
-rw-r--r--src/client/fontengine.cpp323
-rw-r--r--src/client/fontengine.h9
-rw-r--r--src/client/game.cpp706
-rw-r--r--src/client/gameui.cpp74
-rw-r--r--src/client/gameui.h24
-rw-r--r--src/client/guiscalingfilter.cpp85
-rw-r--r--src/client/guiscalingfilter.h8
-rw-r--r--src/client/hud.cpp39
-rw-r--r--src/client/hud.h2
-rw-r--r--src/client/localplayer.cpp475
-rw-r--r--src/client/localplayer.h23
-rw-r--r--src/client/mapblock_mesh.cpp5
-rw-r--r--src/client/mesh.cpp193
-rw-r--r--src/client/mesh_generator_thread.cpp39
-rw-r--r--src/client/minimap.cpp2
-rw-r--r--src/client/particles.cpp95
-rw-r--r--src/client/particles.h3
-rw-r--r--src/client/render/core.cpp2
-rw-r--r--src/client/render/plain.cpp8
-rw-r--r--src/client/renderingengine.cpp73
-rw-r--r--src/client/shader.cpp10
-rw-r--r--src/client/sky.cpp286
-rw-r--r--src/client/sky.h10
-rw-r--r--src/client/tile.cpp93
-rw-r--r--src/client/tile.h16
-rw-r--r--src/clientiface.cpp28
-rw-r--r--src/clientiface.h2
-rw-r--r--src/cmake_config.h.in1
-rw-r--r--src/collision.cpp65
-rw-r--r--src/collision.h11
-rw-r--r--src/content/subgames.cpp20
-rw-r--r--src/content_sao.cpp244
-rw-r--r--src/content_sao.h61
-rw-r--r--src/craftdef.cpp265
-rw-r--r--src/craftdef.h96
-rw-r--r--src/daynightratio.h64
-rw-r--r--src/defaultsettings.cpp28
-rw-r--r--src/emerge.cpp23
-rw-r--r--src/emerge.h2
-rw-r--r--src/environment.cpp2
-rw-r--r--src/gettime.h1
-rw-r--r--src/gui/CMakeLists.txt3
-rw-r--r--src/gui/StyleSpec.h135
-rw-r--r--src/gui/guiButton.cpp649
-rw-r--r--src/gui/guiButton.h310
-rw-r--r--src/gui/guiChatConsole.cpp18
-rw-r--r--src/gui/guiChatConsole.h2
-rw-r--r--src/gui/guiConfirmRegistration.cpp9
-rw-r--r--src/gui/guiConfirmRegistration.h3
-rw-r--r--src/gui/guiEditBoxWithScrollbar.cpp12
-rw-r--r--src/gui/guiEditBoxWithScrollbar.h6
-rw-r--r--src/gui/guiEngine.cpp19
-rw-r--r--src/gui/guiEngine.h6
-rw-r--r--src/gui/guiFormSpecMenu.cpp864
-rw-r--r--src/gui/guiFormSpecMenu.h46
-rw-r--r--src/gui/guiKeyChangeMenu.cpp13
-rw-r--r--src/gui/guiScrollBar.cpp425
-rw-r--r--src/gui/guiScrollBar.h69
-rw-r--r--src/gui/guiSkin.cpp1084
-rw-r--r--src/gui/guiSkin.h376
-rw-r--r--src/gui/guiTable.cpp9
-rw-r--r--src/gui/guiTable.h3
-rw-r--r--src/gui/guiVolumeChange.cpp4
-rw-r--r--src/gui/intlGUIEditBox.cpp10
-rw-r--r--src/gui/intlGUIEditBox.h4
-rw-r--r--src/gui/mainmenumanager.h16
-rw-r--r--src/gui/modalMenu.cpp2
-rw-r--r--src/gui/touchscreengui.h9
-rw-r--r--src/inventory.cpp201
-rw-r--r--src/inventory.h51
-rw-r--r--src/inventorymanager.cpp27
-rw-r--r--src/inventorymanager.h4
-rw-r--r--src/irr_ptr.h137
-rw-r--r--src/irrlicht_changes/static_text.cpp43
-rw-r--r--src/itemdef.cpp4
-rw-r--r--src/light.cpp2
-rw-r--r--src/log.cpp26
-rw-r--r--src/log.h12
-rw-r--r--src/main.cpp55
-rw-r--r--src/map.cpp259
-rw-r--r--src/map.h32
-rw-r--r--src/map_settings_manager.cpp4
-rw-r--r--src/mapblock.cpp2
-rw-r--r--src/mapgen/cavegen.cpp56
-rw-r--r--src/mapgen/cavegen.h4
-rw-r--r--src/mapgen/dungeongen.cpp89
-rw-r--r--src/mapgen/dungeongen.h43
-rw-r--r--src/mapgen/mapgen.cpp232
-rw-r--r--src/mapgen/mapgen.h31
-rw-r--r--src/mapgen/mapgen_carpathian.cpp228
-rw-r--r--src/mapgen/mapgen_carpathian.h28
-rw-r--r--src/mapgen/mapgen_flat.cpp51
-rw-r--r--src/mapgen/mapgen_flat.h3
-rw-r--r--src/mapgen/mapgen_fractal.cpp115
-rw-r--r--src/mapgen/mapgen_fractal.h16
-rw-r--r--src/mapgen/mapgen_singlenode.cpp5
-rw-r--r--src/mapgen/mapgen_singlenode.h2
-rw-r--r--src/mapgen/mapgen_v5.cpp28
-rw-r--r--src/mapgen/mapgen_v5.h3
-rw-r--r--src/mapgen/mapgen_v6.cpp278
-rw-r--r--src/mapgen/mapgen_v6.h4
-rw-r--r--src/mapgen/mapgen_v7.cpp16
-rw-r--r--src/mapgen/mapgen_v7.h3
-rw-r--r--src/mapgen/mapgen_valleys.cpp385
-rw-r--r--src/mapgen/mapgen_valleys.h30
-rw-r--r--src/mapgen/mg_biome.cpp3
-rw-r--r--src/mapgen/mg_biome.h2
-rw-r--r--src/mapgen/mg_schematic.cpp2
-rw-r--r--src/mapgen/treegen.cpp2
-rw-r--r--src/mapnode.cpp14
-rw-r--r--src/mapnode.h5
-rw-r--r--src/network/clientopcodes.cpp10
-rw-r--r--src/network/clientpackethandler.cpp37
-rw-r--r--src/network/connection.cpp157
-rw-r--r--src/network/connection.h24
-rw-r--r--src/network/connectionthreads.cpp18
-rw-r--r--src/network/connectionthreads.h25
-rw-r--r--src/network/networkprotocol.h53
-rw-r--r--src/network/peerhandler.h3
-rw-r--r--src/network/serveropcodes.cpp90
-rw-r--r--src/network/serverpackethandler.cpp202
-rw-r--r--src/nodedef.cpp59
-rw-r--r--src/nodedef.h8
-rw-r--r--src/pathfinder.cpp16
-rw-r--r--src/player.cpp23
-rw-r--r--src/player.h24
-rw-r--r--src/profiler.cpp130
-rw-r--r--src/profiler.h112
-rw-r--r--src/remoteplayer.h10
-rw-r--r--src/rollback_interface.cpp15
-rw-r--r--src/script/common/c_content.cpp47
-rw-r--r--src/script/common/c_content.h2
-rw-r--r--src/script/common/c_converter.cpp4
-rw-r--r--src/script/common/c_converter.h2
-rw-r--r--src/script/common/helper.cpp5
-rw-r--r--src/script/cpp_api/s_base.cpp11
-rw-r--r--src/script/cpp_api/s_entity.cpp6
-rw-r--r--src/script/cpp_api/s_entity.h2
-rw-r--r--src/script/cpp_api/s_env.cpp8
-rw-r--r--src/script/cpp_api/s_node.cpp2
-rw-r--r--src/script/cpp_api/s_nodemeta.cpp12
-rw-r--r--src/script/cpp_api/s_security.cpp3
-rw-r--r--src/script/cpp_api/s_server.cpp22
-rw-r--r--src/script/cpp_api/s_server.h12
-rw-r--r--src/script/lua_api/l_areastore.cpp1
-rw-r--r--src/script/lua_api/l_camera.cpp21
-rw-r--r--src/script/lua_api/l_client.cpp16
-rw-r--r--src/script/lua_api/l_craft.cpp10
-rw-r--r--src/script/lua_api/l_env.cpp32
-rw-r--r--src/script/lua_api/l_http.cpp15
-rw-r--r--src/script/lua_api/l_item.cpp11
-rw-r--r--src/script/lua_api/l_item.h3
-rw-r--r--src/script/lua_api/l_localplayer.cpp22
-rw-r--r--src/script/lua_api/l_mainmenu.cpp28
-rw-r--r--src/script/lua_api/l_mainmenu.h4
-rw-r--r--src/script/lua_api/l_mapgen.cpp89
-rw-r--r--src/script/lua_api/l_mapgen.h3
-rw-r--r--src/script/lua_api/l_nodemeta.cpp2
-rw-r--r--src/script/lua_api/l_object.cpp125
-rw-r--r--src/script/lua_api/l_object.h11
-rw-r--r--src/script/lua_api/l_server.cpp4
-rw-r--r--src/script/lua_api/l_vmanip.cpp2
-rw-r--r--src/script/scripting_client.cpp5
-rw-r--r--src/serialization.cpp4
-rw-r--r--src/server.cpp483
-rw-r--r--src/server.h30
-rw-r--r--src/server/activeobjectmgr.cpp6
-rw-r--r--src/serverenvironment.cpp120
-rw-r--r--src/serverenvironment.h5
-rw-r--r--src/serverobject.cpp19
-rw-r--r--src/serverobject.h31
-rw-r--r--src/settings.cpp9
-rw-r--r--src/settings_translation_file.cpp74
-rw-r--r--src/staticobject.cpp9
-rw-r--r--src/tool.cpp59
-rw-r--r--src/tool.h19
-rw-r--r--src/translation.cpp4
-rw-r--r--src/unittest/CMakeLists.txt1
-rw-r--r--src/unittest/test.cpp6
-rw-r--r--src/unittest/test_areastore.cpp31
-rw-r--r--src/unittest/test_inventory.cpp89
-rw-r--r--src/unittest/test_irrptr.cpp131
-rw-r--r--src/unittest/test_servermodmanager.cpp5
-rw-r--r--src/unittest/test_world/do_not_remove.txt0
-rw-r--r--src/unittest/test_world/world.mt1
-rw-r--r--src/util/CMakeLists.txt2
-rw-r--r--src/util/areastore.cpp38
-rw-r--r--src/util/areastore.h12
-rw-r--r--src/util/hex.h2
-rw-r--r--src/util/quicktune.cpp (renamed from src/quicktune.cpp)0
-rw-r--r--src/util/quicktune.h (renamed from src/quicktune.h)0
-rw-r--r--src/util/quicktune_shortcutter.h (renamed from src/quicktune_shortcutter.h)0
-rw-r--r--src/voxelalgorithms.cpp10
-rw-r--r--textures/base/pack/player.pngbin0 -> 142 bytes
-rw-r--r--textures/base/pack/player_back.pngbin0 -> 140 bytes
-rwxr-xr-xutil/buildbot/buildwin32.sh40
-rwxr-xr-xutil/buildbot/buildwin64.sh29
-rw-r--r--util/buildbot/toolchain_i586-mingw32msvc.cmake (renamed from util/buildbot/toolchain_mingw.cmake)0
-rw-r--r--util/buildbot/toolchain_i646-w64-mingw32.cmake17
-rw-r--r--util/buildbot/toolchain_x86_64-w64-mingw32.cmake (renamed from util/buildbot/toolchain_mingw64.cmake)0
-rwxr-xr-xutil/travis/before_install.sh10
-rw-r--r--util/travis/clang-format-whitelist.txt15
-rwxr-xr-xutil/travis/clangtidy.sh4
-rw-r--r--util/travis/common.sh12
-rw-r--r--util/travis/lint.sh4
-rwxr-xr-xutil/travis/script.sh2
344 files changed, 73259 insertions, 30850 deletions
diff --git a/.clang-format b/.clang-format
index 455dc6038..dc7380ffd 100644
--- a/.clang-format
+++ b/.clang-format
@@ -13,6 +13,7 @@ BraceWrapping:
AfterUnion: true
BeforeCatch: false
BeforeElse: false
+FixNamespaceComments: false
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
AccessModifierOffset: -8
diff --git a/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index b234fb283..b234fb283 100644
--- a/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/bug_report.md
index f6fc9ab0d..b6f351c15 100644
--- a/.github/ISSUE_TEMPLATE.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,10 +1,11 @@
-##### Issue type
-<!-- Pick one below and delete others -->
- - Bug report
- - Feature request
- - Documentation issue
- - Build issue
-
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: Unconfirmed bug
+assignees: ''
+---
+
##### Minetest version
<!--
Paste Minetest version between quotes below
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 000000000..ebcfa98ee
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,25 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: Feature request
+assignees: ''
+---
+
+## Problem
+
+A clear and concise description of what the problem is.
+ie: Why is this needed?
+Ex. I'm always frustrated when [...]
+
+## Solutions
+
+A clear and concise description of what you want to happen.
+
+## Alternatives
+
+A clear and concise description of any alternative solutions or features you've considered.
+
+## Additional context
+
+Add any other context or screenshots about the feature request here.
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 000000000..ccec99bc5
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,19 @@
+Add compact, short information about your PR for easier understanding:
+
+- Goal of the PR
+- How does the PR work?
+- Does it resolve any reported issue?
+- If not a bug fix, why is this PR needed? What usecases does it solve?
+
+## To do
+
+This PR is a Work in Progress / Ready for Review.
+<!-- ^ delete one -->
+
+- [ ] List
+- [ ] Things
+- [ ] To do
+
+## How to test
+
+<!-- Example code or instructions -->
diff --git a/.github/SECURITY.md b/.github/SECURITY.md
new file mode 100644
index 000000000..e2dd0432f
--- /dev/null
+++ b/.github/SECURITY.md
@@ -0,0 +1,20 @@
+# Security Policy
+
+## Supported Versions
+
+We only support the latest stable version for security issues.
+See the [releases page](https://github.com/minetest/minetest/releases).
+
+## Reporting a Vulnerability
+
+We ask that you report vulnerabilities privately, by contacting a core developer,
+to give us time to fix them. You can do that by emailing one of the following addresses:
+
+* celeron55@gmail.com
+* rubenwardy@minetest.net
+
+Depending on severity, we will either create a private issue for the vulnerability
+and release a patch version of Minetest, or give you permission to file the issue publicly.
+
+For more information on the justification of this policy, see
+[Responsible Disclosure](https://en.wikipedia.org/wiki/Responsible_disclosure).
diff --git a/.gitignore b/.gitignore
index 6591b84bc..57c973d47 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-## Editors and Development environments
+## Editors and development environments
*~
*.swp
*.bak*
@@ -21,11 +21,13 @@
tags
!tags/
gtags.files
-.idea/*
+.idea
# Codelite
*.project
+# Visual Studio Code
+.vscode/
-## Files related to minetest development cycle
+## Files related to Minetest development cycle
/*.patch
*.diff
# GNU Patch reject file
@@ -54,7 +56,7 @@ gtags.files
minetest.conf
debug.txt
-## Other files generated by minetest
+## Other files generated by Minetest
screenshot_*.png
testbm.txt
@@ -63,6 +65,11 @@ doc/Doxyfile
doc/html/
doc/doxygen_*
+## MkDocs files
+public/
+doc/mkdocs/docs/*.md
+doc/mkdocs/mkdocs.yml
+
## Build files
CMakeFiles
Makefile
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b957fdb32..dbc532090 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -322,3 +322,19 @@ package:docker:
- docker push ${CONTAINER_IMAGE}/server:$CI_COMMIT_SHA
- docker push ${CONTAINER_IMAGE}/server:$CI_COMMIT_REF_NAME
- docker push ${CONTAINER_IMAGE}/server:latest
+
+pages:
+ stage: deploy
+ image: python:3.7
+ before_script:
+ - pip install pip==18.1
+ - pip install git+https://github.com/Python-Markdown/markdown.git
+ - pip install git+https://github.com/mkdocs/mkdocs.git
+ - pip install pygments
+ script:
+ - cd doc/mkdocs && ./build.sh
+ artifacts:
+ paths:
+ - public
+ only:
+ - master
diff --git a/.luacheckrc b/.luacheckrc
new file mode 100644
index 000000000..a21051514
--- /dev/null
+++ b/.luacheckrc
@@ -0,0 +1,74 @@
+unused_args = false
+allow_defined_top = true
+
+ignore = {
+ "131", -- Unused global variable
+ "431", -- Shadowing an upvalue
+ "432", -- Shadowing an upvalue argument
+}
+
+read_globals = {
+ "ItemStack",
+ "INIT",
+ "DIR_DELIM",
+ "dump", "dump2",
+ "fgettext", "fgettext_ne",
+ "vector",
+ "VoxelArea",
+ "profiler",
+ "Settings",
+
+ string = {fields = {"split"}},
+ table = {fields = {"copy", "getn", "indexof", "insert_all"}},
+ math = {fields = {"hypot"}},
+}
+
+globals = {
+ "core",
+ "gamedata",
+ os = { fields = { "tempfolder" } },
+ "_",
+}
+
+files["builtin/client/register.lua"] = {
+ globals = {
+ debug = {fields={"getinfo"}},
+ }
+}
+
+files["builtin/common/misc_helpers.lua"] = {
+ globals = {
+ "dump", "dump2", "table", "math", "string",
+ "fgettext", "fgettext_ne", "basic_dump", "game", -- ???
+ "file_exists", "get_last_folder", "cleanup_path", -- ???
+ },
+}
+
+files["builtin/common/vector.lua"] = {
+ globals = { "vector" },
+}
+
+files["builtin/game/voxelarea.lua"] = {
+ globals = { "VoxelArea" },
+}
+
+files["builtin/game/init.lua"] = {
+ globals = { "profiler" },
+}
+
+files["builtin/common/filterlist.lua"] = {
+ globals = {
+ "filterlist",
+ "compare_worlds", "sort_worlds_alphabetic", "sort_mod_list", -- ???
+ },
+}
+
+files["builtin/mainmenu"] = {
+ globals = {
+ "gamedata",
+ },
+
+ read_globals = {
+ "PLATFORM",
+ },
+}
diff --git a/.travis.yml b/.travis.yml
index 2409a51cd..bdf3e8d42 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,49 +10,39 @@ matrix:
fast_finish: true
include:
- - env: LINT=1
+ - env: CLANG_FORMAT=clang-format-7
compiler: clang
os: linux
addons:
apt:
- packages: ['clang-format-5.0']
+ packages: ['clang-format-7']
sources: &sources
- - llvm-toolchain-trusty-5.0
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-trusty-7
- - env: CLANG_TIDY=1
+ - env: CLANG_TIDY=clang-tidy-7
compiler: clang
os: linux
script: ./util/travis/clangtidy.sh
addons:
apt:
- packages: ['clang-tidy-5.0']
+ packages: ['clang-7', 'clang++-7', 'clang-tools-7', 'clang-tidy-7']
sources: &sources
- - llvm-toolchain-trusty-5.0
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-trusty-7
- env: PLATFORM=Win32
compiler: gcc
os: linux
- addons:
- apt:
- packages: ['gcc-mingw-w64-i686', 'g++-mingw-w64-i686', 'binutils-mingw-w64-i686']
- sources: &sources
- - ubuntu-toolchain-r-test
- - sourceline: 'deb http://mirrors.kernel.org/ubuntu xenial main universe'
- env: PLATFORM=Win64
compiler: gcc
os: linux
- addons:
- apt:
- packages: ['gcc-mingw-w64-x86-64', 'g++-mingw-w64-x86-64', 'binutils-mingw-w64-x86-64']
- sources: &sources
- - ubuntu-toolchain-r-test
- - sourceline: 'deb http://mirrors.kernel.org/ubuntu xenial main universe'
- - env: PLATFORM=Unix
- compiler: clang
- os: osx
- osx_image: xcode8
+# - env: PLATFORM=Unix
+# compiler: clang
+# os: osx
+# osx_image: xcode8
- env: PLATFORM=Unix COMPILER=gcc-6
compiler: gcc
@@ -63,12 +53,12 @@ matrix:
sources: &sources
- ubuntu-toolchain-r-test
- - env: PLATFORM=Unix COMPILER=gcc-7
+ - env: PLATFORM=Unix COMPILER=gcc-8
compiler: gcc
os: linux
addons:
apt:
- packages: ['gcc-7', 'g++-7']
+ packages: ['gcc-8', 'g++-8']
sources: &sources
- ubuntu-toolchain-r-test
@@ -81,29 +71,33 @@ matrix:
sources: &sources
- llvm-toolchain-trusty-3.6
- - env: PLATFORM=Unix COMPILER=clang-5.0
+ - env: PLATFORM=Unix COMPILER=clang-7
compiler: clang
os: linux
addons:
apt:
- packages: ['clang-5.0', 'clang++-5.0']
+ packages: ['clang-7', 'clang++-7']
sources: &sources
- - llvm-toolchain-trusty-5.0
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-trusty-7
- - env: PLATFORM=Unix COMPILER=clang-5.0 FREETYPE=0
+ - env: PLATFORM=Unix COMPILER=clang-7 FREETYPE=0
compiler: clang
os: linux
addons:
apt:
- packages: ['clang-5.0', 'clang++-5.0']
+ packages: ['clang-7', 'clang++-7']
sources: &sources
- - llvm-toolchain-trusty-5.0
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-trusty-7
- - env: PLATFORM=Unix COMPILER=clang-5.0 VALGRIND=1
+ - env: PLATFORM=Unix COMPILER=clang-7 VALGRIND=1
compiler: clang
os: linux
addons:
apt:
- packages: ['valgrind', 'clang-5.0', 'clang++-5.0']
+ packages: ['valgrind', 'clang-7', 'clang++-7']
sources: &sources
- - llvm-toolchain-trusty-5.0
+ - ubuntu-toolchain-r-test
+ - llvm-toolchain-trusty-7
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e647f62b5..36528d022 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,8 +16,8 @@ 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 1)
+set(VERSION_MINOR 1)
+set(VERSION_PATCH 0)
set(VERSION_EXTRA "" CACHE STRING "Stuff to append to version string")
# Change to false for releases
@@ -232,7 +232,7 @@ add_subdirectory(src)
# CPack
-set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "An InfiniMiner/Minecraft inspired game")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A free open-source voxel game engine with easy modding and game creation.")
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
diff --git a/README.md b/README.md
index 8be6ecc68..a04a3c60f 100644
--- a/README.md
+++ b/README.md
@@ -7,11 +7,11 @@ Minetest
Minetest is a free open-source voxel game engine with easy modding and game creation.
-Copyright (C) 2010-2018 Perttu Ahola <celeron55@gmail.com>
+Copyright (C) 2010-2019 Perttu Ahola <celeron55@gmail.com>
and contributors (see source file comments and the version control log)
-In case you downloaded the source code:
----------------------------------------
+In case you downloaded the source code
+--------------------------------------
If you downloaded the Minetest Engine source code in which this file is
contained, you probably want to download the [Minetest Game](https://github.com/minetest/minetest_game/)
project too. See its README.txt for more information.
@@ -65,7 +65,7 @@ Some can be changed in the key config dialog in the settings tab.
| + | Increase view range |
| - | Decrease view range |
| K | Enable/disable fly mode (needs fly privilege) |
-| L | Enable/disable pitch move mode |
+| P | Enable/disable pitch move mode |
| J | Enable/disable fast mode (needs fast privilege) |
| H | Enable/disable noclip mode (needs noclip privilege) |
| E | Move fast in fast mode |
@@ -92,13 +92,13 @@ Locations:
Where each location is on each platform:
* Windows .zip / RUN_IN_PLACE source:
- * bin = `bin`
- * share = `.`
- * user = `.`
+ * `bin` = `bin`
+ * `share` = `.`
+ * `user` = `.`
* Windows installed:
- * $bin = `C:\Program Files\Minetest\bin (Depends on the install location)`
- * $share = `C:\Program Files\Minetest (Depends on the install location)`
- * $user = `%Appdata%\Minetest`
+ * `bin` = `C:\Program Files\Minetest\bin (Depends on the install location)`
+ * `share` = `C:\Program Files\Minetest (Depends on the install location)`
+ * `user` = `%APPDATA%\Minetest`
* Linux installed:
* `bin` = `/usr/bin`
* `share` = `/usr/share/minetest`
@@ -110,18 +110,18 @@ Where each location is on each platform:
Worlds can be found as separate folders in: `user/worlds/`
-Configuration file:
--------------------
+Configuration file
+------------------
- Default location:
`user/minetest.conf`
-- It is created by Minetest when it is ran the first time.
+- This file is created by closing Minetest for the first time.
- A specific file can be specified on the command line:
`--config <path-to-file>`
- A run-in-place build will look for the configuration file in
`location_of_exe/../minetest.conf` and also `location_of_exe/../../minetest.conf`
-Command-line options:
----------------------
+Command-line options
+--------------------
- Use `--help`
Compiling
@@ -140,13 +140,17 @@ Compiling
| GMP | 5.0.0+ | Bundled mini-GMP is used if not present |
| JsonCPP | 1.0.0+ | Bundled JsonCPP is used if not present |
-For Debian/Ubuntu:
+For Debian/Ubuntu users:
sudo apt install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
For Fedora users:
sudo dnf install make automake gcc gcc-c++ kernel-devel cmake libcurl-devel openal-soft-devel libvorbis-devel libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel irrlicht-devel bzip2-libs gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel doxygen spatialindex-devel bzip2-devel
+
+For Arch users:
+
+ sudo pacman -S base-devel libcurl-gnutls cmake libxxf86vm irrlicht libpng sqlite libogg libvorbis openal freetype2 jsoncpp gmp luajit leveldb ncurses
#### Download
@@ -188,21 +192,21 @@ Download minetest_game, without using Git:
Build a version that runs directly from the source directory:
cmake . -DRUN_IN_PLACE=TRUE
- make -j <number of processors>
+ make -j$(nproc)
Run it:
./bin/minetest
-- Use `cmake . -LH` to see all CMake options and their current state
+- Use `cmake . -LH` to see all CMake options and their current state.
- If you want to install it system-wide (or are making a distribution package),
- you will want to use `-DRUN_IN_PLACE=FALSE`
-- You can build a bare server by specifying `-DBUILD_SERVER=TRUE`
-- You can disable the client build by specifying `-DBUILD_CLIENT=FALSE`
-- You can select between Release and Debug build by `-DCMAKE_BUILD_TYPE=<Debug or Release>`
- - Debug build is slower, but gives much more useful output in a debugger
-- If you build a bare server, you don't need to have Irrlicht installed.
- - In that case use `-DIRRLICHT_SOURCE_DIR=/the/irrlicht/source`
+ you will want to use `-DRUN_IN_PLACE=FALSE`.
+- You can build a bare server by specifying `-DBUILD_SERVER=TRUE`.
+- You can disable the client build by specifying `-DBUILD_CLIENT=FALSE`.
+- You can select between Release and Debug build by `-DCMAKE_BUILD_TYPE=<Debug or Release>`.
+ - Debug build is slower, but gives much more useful output in a debugger.
+- If you build a bare server you don't need to have Irrlicht installed.
+ - In that case use `-DIRRLICHT_SOURCE_DIR=/the/irrlicht/source`.
### CMake options
@@ -220,7 +224,7 @@ General options and their default values:
ENABLE_CURSES=ON - Build with (n)curses; Enables a server side terminal (command line option: --terminal)
ENABLE_FREETYPE=ON - Build with FreeType2; Allows using TTF fonts
ENABLE_GETTEXT=ON - Build with Gettext; Allows using translations
- ENABLE_GLES=OFF - Search for Open GLES headers & libraries and use them
+ ENABLE_GLES=OFF - Build for OpenGL ES instead of OpenGL (requires support by Irrlicht)
ENABLE_LEVELDB=ON - Build with LevelDB; Enables use of LevelDB map backend
ENABLE_POSTGRESQL=ON - Build with libpq; Enables use of PostgreSQL map backend (PostgreSQL 9.5 or greater recommended)
ENABLE_REDIS=ON - Build with libhiredis; Enables use of Redis map backend
@@ -259,7 +263,7 @@ Library specific options:
LEVELDB_LIBRARY - Only when building with LevelDB; path to libleveldb.a/libleveldb.so/libleveldb.dll.a
LEVELDB_DLL - Only when building with LevelDB on Windows; path to libleveldb.dll
PostgreSQL_INCLUDE_DIR - Only when building with PostgreSQL; directory that contains libpq-fe.h
- POSTGRESQL_LIBRARY - Only when building with PostgreSQL; path to libpq.a/libpq.so
+ PostgreSQL_LIBRARY - Only when building with PostgreSQL; path to libpq.a/libpq.so/libpq.lib
REDIS_INCLUDE_DIR - Only when building with Redis; directory that contains hiredis.h
REDIS_LIBRARY - Only when building with Redis; path to libhiredis.a/libhiredis.so
SPATIAL_INCLUDE_DIR - Only when building with LibSpatial; directory that contains spatialindex/SpatialIndex.h
@@ -284,183 +288,93 @@ Library specific options:
VORBIS_LIBRARY - Only if building with sound; path to libvorbis.a/libvorbis.so/libvorbis.dll.a
XXF86VM_LIBRARY - Only on Linux; path to libXXf86vm.a/libXXf86vm.so
ZLIB_DLL - Only on Windows; path to zlib1.dll
- ZLIBWAPI_DLL - Only on Windows; path to zlibwapi.dll
ZLIB_INCLUDE_DIR - Directory that contains zlib.h
- ZLIB_LIBRARY - Path to libz.a/libz.so/zlibwapi.lib
+ ZLIB_LIBRARY - Path to libz.a/libz.so/zlib.lib
### Compiling on Windows
-* This section is outdated. In addition to what is described here:
- * In addition to minetest, you need to download [minetest_game](https://github.com/minetest/minetest_game).
- * If you wish to have sound support, you need libogg, libvorbis and libopenal
-
-* You need:
- * CMake:
- http://www.cmake.org/cmake/resources/software.html
- * A compiler
- * MinGW: http://www.mingw.org/
- * or Visual Studio: http://msdn.microsoft.com/en-us/vstudio/default
- * Irrlicht SDK 1.7:
- http://irrlicht.sourceforge.net/downloads.html
- * Zlib headers (zlib125.zip)
- http://www.winimage.com/zLibDll/index.html
- * Zlib library (zlibwapi.lib and zlibwapi.dll from zlib125dll.zip):
- http://www.winimage.com/zLibDll/index.html
- * SQLite3 headers and library
- https://www.sqlite.org/download.html
- * Optional: gettext library and tools:
- http://gnuwin32.sourceforge.net/downlinks/gettext.php
- * This is used for other UI languages. Feel free to leave it out.
- * And, of course, Minetest:
- http://minetest.net/download
-* Steps:
- * Select a directory called DIR hereafter in which you will operate.
- * Make sure you have CMake and a compiler installed.
- * Download all the other stuff to DIR and extract them into there.
- ("extract here", not "extract to packagename/")
- * NOTE: zlib125dll.zip needs to be extracted into zlib125dll
- * NOTE: You need to extract sqlite3.h & sqlite3ext.h from the SQLite 3
- source and sqlite3.dll & sqlite3.def from the SQLite 3 precompiled
- binaries into "sqlite3" directory, and generate sqlite3.lib using
- command "LIB /DEF:sqlite3.def /OUT:sqlite3.lib"
- * All those packages contain a nice base directory in them, which
- should end up being the direct subdirectories of DIR.
- * You will end up with a directory structure like this (+=dir, -=file):
- -----------------
- + DIR
- * zlib-1.2.5.tar.gz
- * zlib125dll.zip
- * irrlicht-1.8.3.zip
- * sqlite-amalgamation-3130000.zip (SQLite3 headers)
- * sqlite-dll-win32-x86-3130000.zip (SQLite3 library for 32bit system)
- * 110214175330.zip (or whatever, this is the minetest source)
- + zlib-1.2.5
- * zlib.h
- + win32
- ...
- + zlib125dll
- * readme.txt
- + dll32
- ...
- + irrlicht-1.8.3
- + lib
- + include
- ...
- + sqlite3
- sqlite3.h
- sqlite3ext.h
- sqlite3.lib
- sqlite3.dll
- + gettext (optional)
- +bin
- +include
- +lib
- + minetest
- + src
- + doc
- * CMakeLists.txt
- ...
- -----------------
- * Start up the CMake GUI
- * Select "Browse Source..." and select DIR/minetest
- * Now, if using MSVC:
- * Select "Browse Build..." and select DIR/minetest-build
- * Else if using MinGW:
- * Select "Browse Build..." and select DIR/minetest
- * Select "Configure"
- * Select your compiler
- * It will warn about missing stuff, ignore that at this point. (later don't)
- * Make sure the configuration is as follows
- (note that the versions may differ for you):
-
- BUILD_CLIENT [X]
- BUILD_SERVER [ ]
- CMAKE_BUILD_TYPE Release
- CMAKE_INSTALL_PREFIX DIR/minetest-install
- IRRLICHT_SOURCE_DIR DIR/irrlicht-1.8.3
- RUN_IN_PLACE [X]
- WARN_ALL [ ]
- ZLIB_DLL DIR/zlib125dll/dll32/zlibwapi.dll
- ZLIB_INCLUDE_DIR DIR/zlib-1.2.5
- ZLIB_LIBRARIES DIR/zlib125dll/dll32/zlibwapi.lib
- GETTEXT_BIN_DIR DIR/gettext/bin
- GETTEXT_INCLUDE_DIR DIR/gettext/include
- GETTEXT_LIBRARIES DIR/gettext/lib/intl.lib
- GETTEXT_MSGFMT DIR/gettext/bin/msgfmt
-
- * If CMake complains it couldn't find SQLITE3, choose "Advanced" box on the
- right top corner, then specify the location of SQLITE3_INCLUDE_DIR and
- SQLITE3_LIBRARY manually.
- * If you want to build 64-bit minetest, you will need to build 64-bit version
- of irrlicht engine manually, as only 32-bit pre-built library is provided.
- * Hit "Configure"
- * Hit "Configure" once again 8)
- * If something is still coloured red, you have a problem.
- * Hit "Generate"
- If using MSVC:
- * Open the generated minetest.sln
- * The project defaults to the "Debug" configuration. Make very sure to
- select "Release", unless you want to debug some stuff (it's slower
- and might not even work at all)
- * Build the ALL_BUILD project
- * Build the INSTALL project
- * You should now have a working game with the executable in
- DIR/minetest-install/bin/minetest.exe
- * Additionally you may create a zip package by building the PACKAGE
- project.
- If using MinGW:
- * Using the command line, browse to the build directory and run 'make'
- (or mingw32-make or whatever it happens to be)
- * You may need to copy some of the downloaded DLLs into bin/, see what
- running the produced executable tells you it doesn't have.
- * You should now have a working game with the executable in
- DIR/minetest/bin/minetest.exe
-
-### Bat script to build Windows releases of Minetest
-
-This is how we build Windows releases.
-
- set sourcedir=%CD%
- set installpath="C:\tmp\minetest_install"
- set irrlichtpath="C:\tmp\irrlicht-1.7.2"
-
- set builddir=%sourcedir%\bvc10
- mkdir %builddir%
- pushd %builddir%
- cmake %sourcedir% -G "Visual Studio 10" -DIRRLICHT_SOURCE_DIR=%irrlichtpath% -DRUN_IN_PLACE=TRUE -DCMAKE_INSTALL_PREFIX=%installpath%
- if %errorlevel% neq 0 goto fail
- "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" ALL_BUILD.vcxproj /p:Configuration=Release
- if %errorlevel% neq 0 goto fail
- "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" INSTALL.vcxproj /p:Configuration=Release
- if %errorlevel% neq 0 goto fail
- "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" PACKAGE.vcxproj /p:Configuration=Release
- if %errorlevel% neq 0 goto fail
- popd
- echo Finished.
- exit /b 0
-
- :fail
- popd
- echo Failed.
- exit /b 1
-
-### Windows Installer using WIX Toolset
+### Requirements
+
+- [Visual Studio 2015 or newer](https://visualstudio.microsoft.com)
+- [CMake](https://cmake.org/download/)
+- [vcpkg](https://github.com/Microsoft/vcpkg)
+- [Git](https://git-scm.com/downloads)
+
+### Compiling and installing the dependencies
+
+It is highly recommended to use vcpkg as package manager.
+
+#### a) Using vcpkg to install dependencies
+
+After you successfully built vcpkg you can easily install the required libraries:
+```powershell
+vcpkg install irrlicht zlib curl[winssl] openal-soft libvorbis libogg sqlite3 freetype luajit --triplet x64-windows
+```
+
+- `curl` is optional, but required to read the serverlist, `curl[winssl]` is required to use the content store.
+- `openal-soft`, `libvorbis` and `libogg` are optional, but required to use sound.
+- `freetype` is optional, it allows true-type font rendering.
+- `luajit` is optional, it replaces the integrated Lua interpreter with a faster just-in-time interpreter.
+
+There are other optional libraries, but they are not tested if they can build and link correctly.
+
+Use `--triplet` to specify the target triplet, e.g. `x64-windows` or `x86-windows`.
+
+#### b) Compile the dependencies on your own
+
+This is outdated and not recommended. Follow the instructions on https://dev.minetest.net/Build_Win32_Minetest_including_all_required_libraries#VS2012_Build
+
+### Compile Minetest
+
+#### a) Using the vcpkg toolchain and CMake GUI
+1. Start up the CMake GUI
+2. Select **Browse Source...** and select DIR/minetest
+3. Select **Browse Build...** and select DIR/minetest-build
+4. Select **Configure**
+5. Choose the right visual Studio version and target platform. It has to match the version of the installed dependencies
+6. Choose **Specify toolchain file for cross-compiling**
+7. Click **Next**
+8. Select the vcpkg toolchain file e.g. `D:/vcpkg/scripts/buildsystems/vcpkg.cmake`
+9. Click Finish
+10. Wait until cmake have generated the cash file
+11. If there are any errors, solve them and hit **Configure**
+12. Click **Generate**
+13. Click **Open Project**
+14. Compile Minetest inside Visual studio.
+
+#### b) Using the vcpkg toolchain and the commandline
+
+Run the following script in PowerShell:
+
+```powershell
+cmake . -G"Visual Studio 15 2017 Win64" -DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_GETTEXT=0 -DENABLE_CURSES=0
+cmake --build . --config Release
+```
+Make sure that the right compiler is selected and the path to the vcpkg toolchain is correct.
+
+#### c) Using your own compiled libraries
+
+**This is outdated and not recommended**
+
+Follow the instructions on https://dev.minetest.net/Build_Win32_Minetest_including_all_required_libraries#VS2012_Build
+
+### Windows Installer using WiX Toolset
Requirements:
-* Visual Studio 2017
-* Wix Toolset
+* [Visual Studio 2017](https://visualstudio.microsoft.com/)
+* [WiX Toolset](https://wixtoolset.org/)
-In Visual Studio 2017 Installer select "Optional Features" -> "Wix Toolset"
+In the Visual Studio 2017 Installer select **Optional Features -> WiX Toolset**.
-Build the binaries like described above, but make sure you unselect "RUN_IN_PLACE".
+Build the binaries as described above, but make sure you unselect `RUN_IN_PLACE`.
-Open the generated Project file with VS. Right click "PACKAGE" and choose "Generate".
+Open the generated project file with Visual Studio. Right-click **Package** and choose **Generate**.
It may take some minutes to generate the installer.
Docker
------
-We provide Minetest server docker images using the Gitlab mirror registry.
+We provide Minetest server Docker images using the GitLab mirror registry.
Images are built on each commit and available using the following tag scheme:
@@ -468,20 +382,20 @@ Images are built on each commit and available using the following tag scheme:
* `registry.gitlab.com/minetest/minetest/server:<branch/tag>` (current branch or current tag)
* `registry.gitlab.com/minetest/minetest/server:<commit-id>` (current commit id)
-If you want to test it on a docker server, you can easily run:
+If you want to test it on a Docker server you can easily run:
sudo docker run registry.gitlab.com/minetest/minetest/server:<docker tag>
-If you want to use it in a production environment you should use volumes bound to the docker host
+If you want to use it in a production environment you should use volumes bound to the Docker host
to persist data and modify the configuration:
sudo docker create -v /home/minetest/data/:/var/lib/minetest/ -v /home/minetest/conf/:/etc/minetest/ registry.gitlab.com/minetest/minetest/server:master
Data will be written to `/home/minetest/data` on the host, and configuration will be read from `/home/minetest/conf/minetest.conf`.
-Note: If you don't understand the previous commands, please read the official Docker documentation before use.
+**Note:** If you don't understand the previous commands please read the official Docker documentation before use.
-You can also host your minetest server inside a Kubernetes cluster. See our example implementation in `misc/kubernetes.yml`.
+You can also host your Minetest server inside a Kubernetes cluster. See our example implementation in [`misc/kubernetes.yml`](misc/kubernetes.yml).
Version scheme
diff --git a/build/android/build.gradle b/build/android/build.gradle
index 11a4a714c..81c99c974 100644
--- a/build/android/build.gradle
+++ b/build/android/build.gradle
@@ -1,16 +1,16 @@
buildscript {
repositories {
- maven { url 'https://maven.google.com' }
+ google()
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.3'
+ classpath 'com.android.tools.build:gradle:3.4.2'
}
}
allprojects {
repositories {
- maven { url 'https://maven.google.com' }
+ google()
jcenter()
}
}
@@ -25,7 +25,6 @@ apply plugin: "com.android.application"
android {
compileSdkVersion 28
- buildToolsVersion "28.0.3"
defaultConfig {
versionCode 24
diff --git a/build/android/gradle/wrapper/gradle-wrapper.properties b/build/android/gradle/wrapper/gradle-wrapper.properties
index d7d50b600..7ba375433 100644
--- a/build/android/gradle/wrapper/gradle-wrapper.properties
+++ b/build/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Oct 15 00:47:03 CEST 2018
+#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-4.10.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip
diff --git a/build/android/jni/Android.mk b/build/android/jni/Android.mk
index a8e017510..22e1f8a08 100644
--- a/build/android/jni/Android.mk
+++ b/build/android/jni/Android.mk
@@ -65,6 +65,7 @@ endif
LOCAL_CFLAGS := -D_IRR_ANDROID_PLATFORM_ \
-DHAVE_TOUCHSCREENGUI \
+ -DENABLE_GLES=1 \
-DUSE_CURL=1 \
-DUSE_SOUND=1 \
-DUSE_FREETYPE=1 \
@@ -177,6 +178,7 @@ LOCAL_SRC_FILES := \
jni/src/filesys.cpp \
jni/src/genericobject.cpp \
jni/src/gettext.cpp \
+ jni/src/gui/guiButton.cpp \
jni/src/gui/guiChatConsole.cpp \
jni/src/gui/guiConfirmRegistration.cpp \
jni/src/gui/guiEditBoxWithScrollbar.cpp \
@@ -185,6 +187,8 @@ LOCAL_SRC_FILES := \
jni/src/gui/guiKeyChangeMenu.cpp \
jni/src/gui/guiPasswordChange.cpp \
jni/src/gui/guiPathSelectMenu.cpp \
+ jni/src/gui/guiScrollBar.cpp \
+ jni/src/gui/guiSkin.cpp \
jni/src/gui/guiTable.cpp \
jni/src/gui/guiVolumeChange.cpp \
jni/src/gui/intlGUIEditBox.cpp \
@@ -237,7 +241,6 @@ LOCAL_SRC_FILES := \
jni/src/porting_android.cpp \
jni/src/porting.cpp \
jni/src/profiler.cpp \
- jni/src/quicktune.cpp \
jni/src/raycast.cpp \
jni/src/reflowscan.cpp \
jni/src/remoteplayer.cpp \
@@ -286,6 +289,7 @@ LOCAL_SRC_FILES := \
jni/src/util/ieee_float.cpp \
jni/src/util/numeric.cpp \
jni/src/util/pointedthing.cpp \
+ jni/src/util/quicktune.cpp \
jni/src/util/serialize.cpp \
jni/src/util/sha1.cpp \
jni/src/util/srp.cpp \
diff --git a/build/android/keystore-minetest.jks b/build/android/keystore-minetest.jks
new file mode 100644
index 000000000..8fce68bbb
--- /dev/null
+++ b/build/android/keystore-minetest.jks
Binary files differ
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 b570fe61a..03b34f705 100644
--- a/build/android/src/main/java/net.minetest.minetest/MinetestAssetCopy.java
+++ b/build/android/src/main/java/net.minetest.minetest/MinetestAssetCopy.java
@@ -53,6 +53,14 @@ public class MinetestAssetCopy extends Activity {
super.onResume();
makeFullScreen();
}
+
+ @Override
+ 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) {
@@ -77,7 +85,7 @@ public class MinetestAssetCopy extends Activity {
return this;
}
- private class copyAssetTask extends AsyncTask<String, Integer, String> {
+ private static class copyAssetTask extends AsyncTask<String, Integer, String> {
boolean m_copy_started = false;
String m_Foldername = "media";
Vector<String> m_foldernames;
diff --git a/builtin/client/chatcommands.lua b/builtin/client/chatcommands.lua
index 201ca4a9b..5cb1b40bb 100644
--- a/builtin/client/chatcommands.lua
+++ b/builtin/client/chatcommands.lua
@@ -16,7 +16,7 @@ core.register_on_sending_chat_message(function(message)
end
local cmd, param = string.match(message, "^%.([^ ]+) *(.*)")
- param = param or ""
+ param = param or ""
if not cmd then
core.display_chat_message(core.gettext("-!- Empty command"))
@@ -26,9 +26,9 @@ core.register_on_sending_chat_message(function(message)
local cmd_def = core.registered_chatcommands[cmd]
if cmd_def then
core.set_last_run_mod(cmd_def.mod_origin)
- local _, message = cmd_def.func(param)
- if message then
- core.display_chat_message(message)
+ local _, result = cmd_def.func(param)
+ if result then
+ core.display_chat_message(result)
end
else
core.display_chat_message(core.gettext("-!- Invalid command: ") .. cmd)
diff --git a/builtin/common/after.lua b/builtin/common/after.lua
index cdfaaab86..b314711c9 100644
--- a/builtin/common/after.lua
+++ b/builtin/common/after.lua
@@ -1,33 +1,41 @@
local jobs = {}
local time = 0.0
+local time_next = math.huge
core.register_globalstep(function(dtime)
time = time + dtime
- if #jobs < 1 then
+ if time < time_next then
return
end
+ time_next = math.huge
+
-- Iterate backwards so that we miss any new timers added by
- -- a timer callback, and so that we don't skip the next timer
- -- in the list if we remove one.
+ -- a timer callback.
for i = #jobs, 1, -1 do
local job = jobs[i]
if time >= job.expire then
core.set_last_run_mod(job.mod_origin)
job.func(unpack(job.arg))
- table.remove(jobs, i)
+ local jobs_l = #jobs
+ jobs[i] = jobs[jobs_l]
+ jobs[jobs_l] = nil
+ elseif job.expire < time_next then
+ time_next = job.expire
end
end
end)
function core.after(after, func, ...)
assert(tonumber(after) and type(func) == "function",
- "Invalid core.after invocation")
+ "Invalid minetest.after invocation")
+ local expire = time + after
jobs[#jobs + 1] = {
func = func,
- expire = time + after,
+ expire = expire,
arg = {...},
mod_origin = core.get_last_run_mod()
}
+ time_next = math.min(time_next, expire)
end
diff --git a/builtin/common/filterlist.lua b/builtin/common/filterlist.lua
index 1ba1d8741..e30379f2f 100644
--- a/builtin/common/filterlist.lua
+++ b/builtin/common/filterlist.lua
@@ -250,7 +250,6 @@ end
--------------------------------------------------------------------------------
function compare_worlds(world1,world2)
-
if world1.path ~= world2.path then
return false
end
diff --git a/builtin/common/information_formspecs.lua b/builtin/common/information_formspecs.lua
new file mode 100644
index 000000000..b977e2656
--- /dev/null
+++ b/builtin/common/information_formspecs.lua
@@ -0,0 +1,152 @@
+local COLOR_BLUE = "#7AF"
+local COLOR_GREEN = "#7F7"
+local COLOR_GRAY = "#BBB"
+
+local LIST_FORMSPEC = [[
+ size[13,6.5]
+ label[0,-0.1;%s]
+ tablecolumns[color;tree;text;text]
+ table[0,0.5;12.8,5.5;list;%s;0]
+ button_exit[5,6;3,1;quit;%s]
+ ]]
+
+local LIST_FORMSPEC_DESCRIPTION = [[
+ size[13,7.5]
+ label[0,-0.1;%s]
+ tablecolumns[color;tree;text;text]
+ table[0,0.5;12.8,4.8;list;%s;%i]
+ box[0,5.5;12.8,1.5;#000]
+ textarea[0.3,5.5;13.05,1.9;;;%s]
+ button_exit[5,7;3,1;quit;%s]
+ ]]
+
+local formspec_escape = core.formspec_escape
+local check_player_privs = core.check_player_privs
+
+
+-- CHAT COMMANDS FORMSPEC
+
+local mod_cmds = {}
+
+local function load_mod_command_tree()
+ mod_cmds = {}
+
+ for name, def in pairs(core.registered_chatcommands) do
+ mod_cmds[def.mod_origin] = mod_cmds[def.mod_origin] or {}
+ local cmds = mod_cmds[def.mod_origin]
+
+ -- Could be simplified, but avoid the priv checks whenever possible
+ cmds[#cmds + 1] = { name, def }
+ end
+ local sorted_mod_cmds = {}
+ for modname, cmds in pairs(mod_cmds) do
+ table.sort(cmds, function(a, b) return a[1] < b[1] end)
+ sorted_mod_cmds[#sorted_mod_cmds + 1] = { modname, cmds }
+ end
+ table.sort(sorted_mod_cmds, function(a, b) return a[1] < b[1] end)
+ mod_cmds = sorted_mod_cmds
+end
+
+core.after(0, load_mod_command_tree)
+
+local function build_chatcommands_formspec(name, sel, copy)
+ local rows = {}
+ rows[1] = "#FFF,0,Command,Parameters"
+
+ local description = "For more information, click on any entry in the list.\n" ..
+ "Double-click to copy the entry to the chat history."
+
+ for i, data in ipairs(mod_cmds) do
+ rows[#rows + 1] = COLOR_BLUE .. ",0," .. formspec_escape(data[1]) .. ","
+ for j, cmds in ipairs(data[2]) do
+ local has_priv = check_player_privs(name, cmds[2].privs)
+ rows[#rows + 1] = ("%s,1,%s,%s"):format(
+ has_priv and COLOR_GREEN or COLOR_GRAY,
+ cmds[1], formspec_escape(cmds[2].params))
+ if sel == #rows then
+ description = cmds[2].description
+ if copy then
+ core.chat_send_player(name, ("Command: %s %s"):format(
+ core.colorize("#0FF", "/" .. cmds[1]), cmds[2].params))
+ end
+ end
+ end
+ end
+
+ return LIST_FORMSPEC_DESCRIPTION:format(
+ "Available commands: (see also: /help <cmd>)",
+ table.concat(rows, ","), sel or 0,
+ description, "Close"
+ )
+end
+
+
+-- PRIVILEGES FORMSPEC
+
+local function build_privs_formspec(name)
+ local privs = {}
+ for priv_name, def in pairs(core.registered_privileges) do
+ privs[#privs + 1] = { priv_name, def }
+ end
+ table.sort(privs, function(a, b) return a[1] < b[1] end)
+
+ local rows = {}
+ rows[1] = "#FFF,0,Privilege,Description"
+
+ local player_privs = core.get_player_privs(name)
+ for i, data in ipairs(privs) do
+ rows[#rows + 1] = ("%s,0,%s,%s"):format(
+ player_privs[data[1]] and COLOR_GREEN or COLOR_GRAY,
+ data[1], formspec_escape(data[2].description))
+ end
+
+ return LIST_FORMSPEC:format(
+ "Available privileges:",
+ table.concat(rows, ","),
+ "Close"
+ )
+end
+
+
+-- DETAILED CHAT COMMAND INFORMATION
+
+core.register_on_player_receive_fields(function(player, formname, fields)
+ if formname ~= "__builtin:help_cmds" or fields.quit then
+ return
+ end
+
+ local event = minetest.explode_table_event(fields.list)
+ if event.type ~= "INV" then
+ local name = player:get_player_name()
+ core.show_formspec(name, "__builtin:help_cmds",
+ build_chatcommands_formspec(name, event.row, event.type == "DCL"))
+ end
+end)
+
+
+local help_command = core.registered_chatcommands["help"]
+local old_help_func = help_command.func
+
+help_command.func = function(name, param)
+ local admin = core.settings:get("name")
+
+ -- If the admin ran help, put the output in the chat buffer as well to
+ -- work with the server terminal
+ if param == "privs" then
+ core.show_formspec(name, "__builtin:help_privs",
+ build_privs_formspec(name))
+ if name ~= admin then
+ return
+ end
+ end
+ if param == "" or param == "all" then
+ core.show_formspec(name, "__builtin:help_cmds",
+ build_chatcommands_formspec(name))
+ if name ~= admin then
+ return
+ end
+ end
+
+ return old_help_func(name, param)
+end
+
diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua
index e250b0ed1..d6673a691 100644
--- a/builtin/common/misc_helpers.lua
+++ b/builtin/common/misc_helpers.lua
@@ -128,6 +128,7 @@ function dump(o, indent, nested, level)
if t ~= "table" then
return basic_dump(o)
end
+
-- Contains table -> true/nil of currently nested tables
nested = nested or {}
if nested[o] then
@@ -136,10 +137,11 @@ function dump(o, indent, nested, level)
nested[o] = true
indent = indent or "\t"
level = level or 1
- local t = {}
+
+ local ret = {}
local dumped_indexes = {}
for i, v in ipairs(o) do
- t[#t + 1] = dump(v, indent, nested, level + 1)
+ ret[#ret + 1] = dump(v, indent, nested, level + 1)
dumped_indexes[i] = true
end
for k, v in pairs(o) do
@@ -148,7 +150,7 @@ function dump(o, indent, nested, level)
k = "["..dump(k, indent, nested, level + 1).."]"
end
v = dump(v, indent, nested, level + 1)
- t[#t + 1] = k.." = "..v
+ ret[#ret + 1] = k.." = "..v
end
end
nested[o] = nil
@@ -157,10 +159,10 @@ function dump(o, indent, nested, level)
local end_indent_str = "\n"..string.rep(indent, level - 1)
return string.format("{%s%s%s}",
indent_str,
- table.concat(t, ","..indent_str),
+ table.concat(ret, ","..indent_str),
end_indent_str)
end
- return "{"..table.concat(t, ", ").."}"
+ return "{"..table.concat(ret, ", ").."}"
end
--------------------------------------------------------------------------------
@@ -244,6 +246,20 @@ function math.sign(x, tolerance)
end
--------------------------------------------------------------------------------
+function math.factorial(x)
+ assert(x % 1 == 0 and x >= 0, "factorial expects a non-negative integer")
+ if x >= 171 then
+ -- 171! is greater than the biggest double, no need to calculate
+ return math.huge
+ end
+ local v = 1
+ for k = 2, x do
+ v = v * k
+ end
+ return v
+end
+
+--------------------------------------------------------------------------------
function get_last_folder(text,count)
local parts = text:split(DIR_DELIM)
@@ -393,9 +409,8 @@ if INIT == "game" then
end
local old_itemstack = ItemStack(itemstack)
- local new_itemstack, removed = core.item_place_node(
- itemstack, placer, pointed_thing, param2, prevent_after_place
- )
+ local new_itemstack = core.item_place_node(itemstack, placer,
+ pointed_thing, param2, prevent_after_place)
return infinitestacks and old_itemstack or new_itemstack
end
diff --git a/builtin/common/serialize.lua b/builtin/common/serialize.lua
index 692ddd5f0..c91d2d5ce 100644
--- a/builtin/common/serialize.lua
+++ b/builtin/common/serialize.lua
@@ -218,4 +218,3 @@ test_in = {escape_chars="\n\r\t\v\\\"\'", non_european="θש×٩∂"}
test_out = core.deserialize(core.serialize(test_in))
assert(test_in.escape_chars == test_out.escape_chars)
assert(test_in.non_european == test_out.non_european)
-
diff --git a/builtin/common/vector.lua b/builtin/common/vector.lua
index c3d380ed3..ca6541eb4 100644
--- a/builtin/common/vector.lua
+++ b/builtin/common/vector.lua
@@ -70,6 +70,25 @@ function vector.direction(pos1, pos2)
})
end
+function vector.angle(a, b)
+ local dotp = vector.dot(a, b)
+ local cp = vector.cross(a, b)
+ local crossplen = vector.length(cp)
+ return math.atan2(crossplen, dotp)
+end
+
+function vector.dot(a, b)
+ return a.x * b.x + a.y * b.y + a.z * b.z
+end
+
+function vector.cross(a, b)
+ return {
+ x = a.y * b.z - a.z * b.y,
+ y = a.z * b.x - a.x * b.z,
+ z = a.x * b.y - a.y * b.x
+ }
+end
+
function vector.add(a, b)
if type(b) == "table" then
return {x = a.x + b.x,
diff --git a/builtin/fstk/ui.lua b/builtin/fstk/ui.lua
index a3e3a092a..884100543 100644
--- a/builtin/fstk/ui.lua
+++ b/builtin/fstk/ui.lua
@@ -54,52 +54,39 @@ end
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-local function wordwrap_quickhack(str)
- local res = ""
- local ar = str:split("\n")
- for i = 1, #ar do
- local text = ar[i]
- -- Hack to add word wrapping.
- -- TODO: Add engine support for wrapping in formspecs
- while #text > 80 do
- if res ~= "" then
- res = res .. ","
- end
- res = res .. core.formspec_escape(string.sub(text, 1, 79))
- text = string.sub(text, 80, #text)
- end
- if res ~= "" then
- res = res .. ","
- end
- res = res .. core.formspec_escape(text)
- end
- return res
-end
-
---------------------------------------------------------------------------------
function ui.update()
- local formspec = ""
+ local formspec = {}
-- handle errors
if gamedata ~= nil and gamedata.reconnect_requested then
- formspec = wordwrap_quickhack(gamedata.errormessage or "")
- formspec = "size[12,5]" ..
- "label[0.5,0;" .. fgettext("The server has requested a reconnect:") ..
- "]textlist[0.2,0.8;11.5,3.5;;" .. formspec ..
- "]button[6,4.6;3,0.5;btn_reconnect_no;" .. fgettext("Main menu") .. "]" ..
- "button[3,4.6;3,0.5;btn_reconnect_yes;" .. fgettext("Reconnect") .. "]"
+ local error_message = core.formspec_escape(
+ gamedata.errormessage or "<none available>")
+ formspec = {
+ "size[14,8]",
+ "real_coordinates[true]",
+ "box[0.5,1.2;13,5;#000]",
+ ("textarea[0.5,1.2;13,5;;%s;%s]"):format(
+ fgettext("The server has requested a reconnect:"), error_message),
+ "button[2,6.6;4,1;btn_reconnect_yes;" .. fgettext("Reconnect") .. "]",
+ "button[8,6.6;4,1;btn_reconnect_no;" .. fgettext("Main menu") .. "]"
+ }
elseif gamedata ~= nil and gamedata.errormessage ~= nil then
- formspec = wordwrap_quickhack(gamedata.errormessage)
+ local error_message = core.formspec_escape(gamedata.errormessage)
+
local error_title
if string.find(gamedata.errormessage, "ModError") then
- error_title = fgettext("An error occurred in a Lua script, such as a mod:")
+ error_title = fgettext("An error occurred in a Lua script:")
else
error_title = fgettext("An error occurred:")
end
- formspec = "size[12,5]" ..
- "label[0.5,0;" .. error_title ..
- "]textlist[0.2,0.8;11.5,3.5;;" .. formspec ..
- "]button[4.5,4.6;3,0.5;btn_error_confirm;" .. fgettext("Ok") .. "]"
+ formspec = {
+ "size[14,8]",
+ "real_coordinates[true]",
+ "box[0.5,1.2;13,5;#000]",
+ ("textarea[0.5,1.2;13,5;;%s;%s]"):format(
+ error_title, error_message),
+ "button[5,6.6;4,1;btn_error_confirm;" .. fgettext("Ok") .. "]"
+ }
else
local active_toplevel_ui_elements = 0
for key,value in pairs(ui.childlist) do
@@ -107,8 +94,8 @@ function ui.update()
local retval = value:get_formspec()
if retval ~= nil and retval ~= "" then
- active_toplevel_ui_elements = active_toplevel_ui_elements +1
- formspec = formspec .. retval
+ active_toplevel_ui_elements = active_toplevel_ui_elements + 1
+ table.insert(formspec, retval)
end
end
end
@@ -120,7 +107,7 @@ function ui.update()
local retval = value:get_formspec()
if retval ~= nil and retval ~= "" then
- formspec = formspec .. retval
+ table.insert(formspec, retval)
end
end
end
@@ -135,10 +122,10 @@ function ui.update()
core.log("warning", "no toplevel ui element "..
"active; switching to default")
ui.childlist[ui.default]:show()
- formspec = ui.childlist[ui.default]:get_formspec()
+ formspec = {ui.childlist[ui.default]:get_formspec()}
end
end
- core.update_formspec(formspec)
+ core.update_formspec(table.concat(formspec))
end
--------------------------------------------------------------------------------
diff --git a/builtin/game/chatcommands.lua b/builtin/game/chat.lua
index 60d5d4788..ad703b94c 100644
--- a/builtin/game/chatcommands.lua
+++ b/builtin/game/chat.lua
@@ -1,4 +1,29 @@
--- Minetest: builtin/game/chatcommands.lua
+-- Minetest: builtin/game/chat.lua
+
+--
+-- 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
+
+ str, i = str:gsub("@name", name, 1)
+ if i == 0 then
+ error(error_str:format("@name"), 2)
+ end
+
+ str, i = str:gsub("@message", message, 1)
+ if i == 0 then
+ error(error_str:format("@message"), 2)
+ end
+
+ str = str:gsub("@timestamp", os.date("%H:%M:%S", os.time()), 1)
+
+ return str
+end
--
-- Chat command handler
@@ -27,9 +52,9 @@ core.register_on_chat_message(function(name, message)
local has_privs, missing_privs = core.check_player_privs(name, cmd_def.privs)
if has_privs then
core.set_last_run_mod(cmd_def.mod_origin)
- local success, message = cmd_def.func(name, param)
- if message then
- core.chat_send_player(name, message)
+ local _, result = cmd_def.func(name, param)
+ if result then
+ core.chat_send_player(name, result)
end
else
core.chat_send_player(name, "You don't have permission"
@@ -125,10 +150,10 @@ core.register_chatcommand("haspriv", {
if core.check_player_privs(player_name, privs) then
table.insert(players_with_priv, player_name)
end
- end
+ end
return true, "Players online with the \"" .. param .. "\" privilege: " ..
table.concat(players_with_priv, ", ")
- end
+ end
})
local function handle_grant_command(caller, grantname, grantprivstr)
@@ -161,6 +186,7 @@ local function handle_grant_command(caller, grantname, grantprivstr)
return false, privs_unknown
end
for priv, _ in pairs(grantprivs) do
+ -- call the on_grant callbacks
core.run_priv_callbacks(grantname, priv, caller, "grant")
end
core.set_player_privs(grantname, privs)
@@ -233,6 +259,7 @@ core.register_chatcommand("revoke", {
end
for priv, _ in pairs(revoke_privs) do
+ -- call the on_revoke callbacks
core.run_priv_callbacks(revoke_name, priv, name, "revoke")
end
@@ -261,11 +288,12 @@ core.register_chatcommand("setpassword", {
toname = param:match("^([^ ]+) *$")
raw_password = nil
end
+
if not toname then
return false, "Name field required"
end
- local act_str_past = "?"
- local act_str_pres = "?"
+
+ local act_str_past, act_str_pres
if not raw_password then
core.set_player_password(toname, "")
act_str_past = "cleared"
@@ -277,13 +305,14 @@ core.register_chatcommand("setpassword", {
act_str_past = "set"
act_str_pres = "sets"
end
+
if toname ~= name then
core.chat_send_player(toname, "Your password was "
.. act_str_past .. " by " .. name)
end
- core.log("action", name .. " " .. act_str_pres
- .. " password of " .. toname .. ".")
+ core.log("action", name .. " " .. act_str_pres ..
+ " password of " .. toname .. ".")
return true, "Password of player \"" .. toname .. "\" " .. act_str_past
end,
@@ -367,35 +396,35 @@ core.register_chatcommand("teleport", {
return pos, false
end
- local teleportee = nil
local p = {}
p.x, p.y, p.z = string.match(param, "^([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$")
p.x = tonumber(p.x)
p.y = tonumber(p.y)
p.z = tonumber(p.z)
if p.x and p.y and p.z then
+
local lm = 31000
if p.x < -lm or p.x > lm or p.y < -lm or p.y > lm or p.z < -lm or p.z > lm then
return false, "Cannot teleport out of map bounds!"
end
- teleportee = core.get_player_by_name(name)
+ local teleportee = core.get_player_by_name(name)
if teleportee then
teleportee:set_pos(p)
return true, "Teleporting to "..core.pos_to_string(p)
end
end
- local teleportee = nil
- local p = nil
- local target_name = nil
- target_name = param:match("^([^ ]+)$")
- teleportee = core.get_player_by_name(name)
+ local target_name = param:match("^([^ ]+)$")
+ local teleportee = core.get_player_by_name(name)
+
+ p = nil
if target_name then
local target = core.get_player_by_name(target_name)
if target then
p = target:get_pos()
end
end
+
if teleportee and p then
p = find_free_position_near(p)
teleportee:set_pos(p)
@@ -407,9 +436,9 @@ core.register_chatcommand("teleport", {
return false, "You don't have permission to teleport other players (missing bring privilege)"
end
- local teleportee = nil
- local p = {}
- local teleportee_name = nil
+ teleportee = nil
+ p = {}
+ local teleportee_name
teleportee_name, p.x, p.y, p.z = param:match(
"^([^ ]+) +([%d.-]+)[, ] *([%d.-]+)[, ] *([%d.-]+)$")
p.x, p.y, p.z = tonumber(p.x), tonumber(p.y), tonumber(p.z)
@@ -422,10 +451,8 @@ core.register_chatcommand("teleport", {
.. " to " .. core.pos_to_string(p)
end
- local teleportee = nil
- local p = nil
- local teleportee_name = nil
- local target_name = nil
+ teleportee = nil
+ p = nil
teleportee_name, target_name = string.match(param, "^([^ ]+) +([^ ]+)$")
if teleportee_name then
teleportee = core.get_player_by_name(teleportee_name)
@@ -459,7 +486,8 @@ core.register_chatcommand("set", {
core.settings:set(setname, setvalue)
return true, setname .. " = " .. setvalue
end
- local setname, setvalue = string.match(param, "([^ ]+) (.+)")
+
+ setname, setvalue = string.match(param, "([^ ]+) (.+)")
if setname and setvalue then
if not core.settings:get(setname) then
return false, "Failed. Use '/set -n <name> <value>' to create a new setting."
@@ -467,14 +495,16 @@ core.register_chatcommand("set", {
core.settings:set(setname, setvalue)
return true, setname .. " = " .. setvalue
end
- local setname = string.match(param, "([^ ]+)")
+
+ setname = string.match(param, "([^ ]+)")
if setname then
- local setvalue = core.settings:get(setname)
+ setvalue = core.settings:get(setname)
if not setvalue then
setvalue = "<not set>"
end
return true, setname .. " = " .. setvalue
end
+
return false, "Invalid parameters (see /help set)."
end,
})
@@ -692,7 +722,7 @@ core.register_chatcommand("pulverize", {
end
core.log("action", name .. " pulverized \"" ..
wielded_item:get_name() .. " " .. wielded_item:get_count() .. "\"")
- player:set_wielded_item(nil)
+ player:set_wielded_item(nil)
return true, "An item was pulverized."
end,
})
@@ -771,7 +801,7 @@ core.register_chatcommand("rollback", {
end
local target_name, seconds = string.match(param, ":([^ ]+) *(%d*)")
if not target_name then
- local player_name = nil
+ local player_name
player_name, seconds = string.match(param, "([^ ]+) *(%d*)")
if not player_name then
return false, "Invalid parameters. See /help rollback"
@@ -962,7 +992,7 @@ core.register_chatcommand("clearobjects", {
core.register_chatcommand("msg", {
params = "<name> <message>",
- description = "Send a private message",
+ description = "Send a direct message to a player",
privs = {shout=true},
func = function(name, param)
local sendto, message = param:match("^(%S+)%s(.+)$")
@@ -973,9 +1003,9 @@ core.register_chatcommand("msg", {
return false, "The player " .. sendto
.. " is not online."
end
- core.log("action", "PM from " .. name .. " to " .. sendto
+ core.log("action", "DM from " .. name .. " to " .. sendto
.. ": " .. message)
- core.chat_send_player(sendto, "PM from " .. name .. ": "
+ core.chat_send_player(sendto, "DM from " .. name .. ": "
.. message)
return true, "Message sent."
end,
diff --git a/builtin/game/falling.lua b/builtin/game/falling.lua
index 62b6973a7..950d6b56f 100644
--- a/builtin/game/falling.lua
+++ b/builtin/game/falling.lua
@@ -22,7 +22,18 @@ core.register_entity(":__builtin:falling_node", {
set_node = function(self, node, meta)
self.node = node
- self.meta = meta or {}
+ meta = meta or {}
+ if type(meta.to_table) == "function" then
+ meta = meta:to_table()
+ end
+ for _, list in pairs(meta.inventory or {}) do
+ for i, stack in pairs(list) do
+ if type(stack) == "userdata" then
+ list[i] = stack:to_string()
+ end
+ end
+ end
+ self.meta = meta
self.object:set_properties({
is_visible = true,
textures = {node.name},
@@ -116,7 +127,7 @@ core.register_entity(":__builtin:falling_node", {
local meta = core.get_meta(np)
meta:from_table(self.meta)
end
- if def.sounds and def.sounds.place and def.sounds.place.name then
+ if def.sounds and def.sounds.place then
core.sound_play(def.sounds.place, {pos = np})
end
end
@@ -141,6 +152,11 @@ local function convert_to_falling_node(pos, node)
local meta = core.get_meta(pos)
local metatable = meta and meta:to_table() or {}
+ local def = core.registered_nodes[node.name]
+ if def and def.sounds and def.sounds.fall then
+ core.sound_play(def.sounds.fall, {pos = pos})
+ end
+
obj:get_luaentity():set_node(node, metatable)
core.remove_node(pos)
return true
@@ -170,6 +186,9 @@ local function drop_attached_node(p)
drops = drop_stacks
def.preserve_metadata(pos_copy, node_copy, oldmeta, drops)
end
+ if def and def.sounds and def.sounds.fall then
+ core.sound_play(def.sounds.fall, {pos = p})
+ end
core.remove_node(p)
for _, item in pairs(drops) do
local pos = {
diff --git a/builtin/game/features.lua b/builtin/game/features.lua
index 8e5104867..0af0dc1da 100644
--- a/builtin/game/features.lua
+++ b/builtin/game/features.lua
@@ -12,6 +12,9 @@ core.features = {
no_chat_message_prediction = true,
object_use_texture_alpha = true,
object_independent_selectionbox = true,
+ httpfetch_binary_data = true,
+ formspec_version_element = true,
+ area_store_persistent_ids = true,
}
function core.has_feature(arg)
diff --git a/builtin/game/forceloading.lua b/builtin/game/forceloading.lua
index 7c5537e85..e1e00920c 100644
--- a/builtin/game/forceloading.lua
+++ b/builtin/game/forceloading.lua
@@ -8,6 +8,9 @@ local blocks_forceloaded
local blocks_temploaded = {}
local total_forceloaded = 0
+-- true, if the forceloaded blocks got changed (flag for persistence on-disk)
+local forceload_blocks_changed = false
+
local BLOCKSIZE = core.MAP_BLOCKSIZE
local function get_blockpos(pos)
return {
@@ -31,6 +34,9 @@ local function get_relevant_tables(transient)
end
function core.forceload_block(pos, transient)
+ -- set changed flag
+ forceload_blocks_changed = true
+
local blockpos = get_blockpos(pos)
local hash = core.hash_node_position(blockpos)
local relevant_table, other_table = get_relevant_tables(transient)
@@ -51,6 +57,9 @@ function core.forceload_block(pos, transient)
end
function core.forceload_free_block(pos, transient)
+ -- set changed flag
+ forceload_blocks_changed = true
+
local blockpos = get_blockpos(pos)
local hash = core.hash_node_position(blockpos)
local relevant_table, other_table = get_relevant_tables(transient)
@@ -95,6 +104,28 @@ core.after(5, function()
end
end)
-core.register_on_shutdown(function()
+-- persists the currently forceloaded blocks to disk
+local function persist_forceloaded_blocks()
write_file(wpath.."/force_loaded.txt", blocks_forceloaded)
-end)
+end
+
+-- periodical forceload persistence
+local function periodically_persist_forceloaded_blocks()
+
+ -- only persist if the blocks actually changed
+ if forceload_blocks_changed then
+ persist_forceloaded_blocks()
+
+ -- reset changed flag
+ forceload_blocks_changed = false
+ end
+
+ -- recheck after some time
+ core.after(10, periodically_persist_forceloaded_blocks)
+end
+
+-- persist periodically
+core.after(5, periodically_persist_forceloaded_blocks)
+
+-- persist on shutdown
+core.register_on_shutdown(persist_forceloaded_blocks)
diff --git a/builtin/game/init.lua b/builtin/game/init.lua
index ab1503dee..1d62be019 100644
--- a/builtin/game/init.lua
+++ b/builtin/game/init.lua
@@ -1,36 +1,38 @@
local scriptpath = core.get_builtin_path()
-local commonpath = scriptpath.."common"..DIR_DELIM
-local gamepath = scriptpath.."game"..DIR_DELIM
+local commonpath = scriptpath .. "common" .. DIR_DELIM
+local gamepath = scriptpath .. "game".. DIR_DELIM
-- Shared between builtin files, but
-- not exposed to outer context
local builtin_shared = {}
-dofile(commonpath.."vector.lua")
+dofile(commonpath .. "vector.lua")
-dofile(gamepath.."constants.lua")
-assert(loadfile(gamepath.."item.lua"))(builtin_shared)
-dofile(gamepath.."register.lua")
+dofile(gamepath .. "constants.lua")
+assert(loadfile(gamepath .. "item.lua"))(builtin_shared)
+dofile(gamepath .. "register.lua")
if core.settings:get_bool("profiler.load") then
- profiler = dofile(scriptpath.."profiler"..DIR_DELIM.."init.lua")
+ profiler = dofile(scriptpath .. "profiler" .. DIR_DELIM .. "init.lua")
end
dofile(commonpath .. "after.lua")
-dofile(gamepath.."item_entity.lua")
-dofile(gamepath.."deprecated.lua")
-dofile(gamepath.."misc.lua")
-dofile(gamepath.."privileges.lua")
-dofile(gamepath.."auth.lua")
+dofile(gamepath .. "item_entity.lua")
+dofile(gamepath .. "deprecated.lua")
+dofile(gamepath .. "misc.lua")
+dofile(gamepath .. "privileges.lua")
+dofile(gamepath .. "auth.lua")
dofile(commonpath .. "chatcommands.lua")
-dofile(gamepath.."chatcommands.lua")
-dofile(gamepath.."static_spawn.lua")
-dofile(gamepath.."detached_inventory.lua")
-assert(loadfile(gamepath.."falling.lua"))(builtin_shared)
-dofile(gamepath.."features.lua")
-dofile(gamepath.."voxelarea.lua")
-dofile(gamepath.."forceloading.lua")
-dofile(gamepath.."statbars.lua")
+dofile(gamepath .. "chat.lua")
+dofile(commonpath .. "information_formspecs.lua")
+dofile(gamepath .. "static_spawn.lua")
+dofile(gamepath .. "detached_inventory.lua")
+assert(loadfile(gamepath .. "falling.lua"))(builtin_shared)
+dofile(gamepath .. "features.lua")
+dofile(gamepath .. "voxelarea.lua")
+dofile(gamepath .. "forceloading.lua")
+dofile(gamepath .. "statbars.lua")
+dofile(gamepath .. "knockback.lua")
profiler = nil
diff --git a/builtin/game/item.lua b/builtin/game/item.lua
index ced28771e..8041d557e 100644
--- a/builtin/game/item.lua
+++ b/builtin/game/item.lua
@@ -206,7 +206,6 @@ function core.get_node_drops(node, toolname)
-- Extended drop table
local got_items = {}
local got_count = 0
- local _, item, tool
for _, item in ipairs(drop.items) do
local good_rarity = true
local good_tool = true
@@ -251,11 +250,6 @@ local function user_name(user)
return user and user:get_player_name() or ""
end
-local function is_protected(pos, name)
- return core.is_protected(pos, name) and
- not minetest.check_player_privs(name, "protection_bypass")
-end
-
-- Returns a logging function. For empty names, does not log.
local function make_log(name)
return name ~= "" and core.log or function() end
@@ -302,7 +296,7 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
place_to = {x = under.x, y = under.y, z = under.z}
end
- if is_protected(place_to, playername) then
+ if core.is_protected(place_to, playername) then
log("action", playername
.. " tried to place " .. def.name
.. " at protected position "
@@ -552,7 +546,7 @@ function core.node_dig(pos, node, digger)
return
end
- if is_protected(pos, diggername) then
+ if core.is_protected(pos, diggername) then
log("action", diggername
.. " tried to dig " .. node.name
.. " at protected position "
@@ -619,15 +613,10 @@ function core.node_dig(pos, node, digger)
end
-- Run script hook
- local _, callback
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)
- --print("Running " .. tostring(callback) ..
- -- " (a " .. origin.name .. " callback in " .. origin.mod .. ")")
- else
- --print("No data associated with callback")
end
-- Copy pos and node because callback can modify them
diff --git a/builtin/game/item_entity.lua b/builtin/game/item_entity.lua
index a330e8723..87fec93ea 100644
--- a/builtin/game/item_entity.lua
+++ b/builtin/game/item_entity.lua
@@ -35,7 +35,12 @@ core.register_entity(":__builtin:item", {
itemstring = "",
moving_state = true,
slippery_state = false,
+ physical_state = true,
+ -- Item expiry
age = 0,
+ -- Pushing item out of solid nodes
+ force_out = nil,
+ force_out_start = nil,
set_item = function(self, item)
local stack = ItemStack(item or self.itemstring)
@@ -131,6 +136,24 @@ core.register_entity(":__builtin:item", {
return true
end,
+ enable_physics = function(self)
+ if not self.physical_state then
+ self.physical_state = true
+ self.object:set_properties({physical = true})
+ self.object:set_velocity({x=0, y=0, z=0})
+ self.object:set_acceleration({x=0, y=-gravity, z=0})
+ end
+ end,
+
+ disable_physics = function(self)
+ if self.physical_state then
+ self.physical_state = false
+ self.object:set_properties({physical = false})
+ self.object:set_velocity({x=0, y=0, z=0})
+ self.object:set_acceleration({x=0, y=0, z=0})
+ end
+ end,
+
on_step = function(self, dtime)
self.age = self.age + dtime
if time_to_live > 0 and self.age > time_to_live then
@@ -152,6 +175,74 @@ core.register_entity(":__builtin:item", {
return
end
+ local is_stuck = false
+ local snode = core.get_node_or_nil(pos)
+ if snode then
+ local sdef = core.registered_nodes[snode.name] or {}
+ is_stuck = (sdef.walkable == nil or sdef.walkable == true)
+ and (sdef.collision_box == nil or sdef.collision_box.type == "regular")
+ and (sdef.node_box == nil or sdef.node_box.type == "regular")
+ end
+
+ -- Push item out when stuck inside solid node
+ if is_stuck then
+ local shootdir
+ local order = {
+ {x=1, y=0, z=0}, {x=-1, y=0, z= 0},
+ {x=0, y=0, z=1}, {x= 0, y=0, z=-1},
+ }
+
+ -- Check which one of the 4 sides is free
+ for o = 1, #order do
+ local cnode = core.get_node(vector.add(pos, order[o])).name
+ local cdef = core.registered_nodes[cnode] or {}
+ if cnode ~= "ignore" and cdef.walkable == false then
+ shootdir = order[o]
+ break
+ end
+ end
+ -- If none of the 4 sides is free, check upwards
+ if not shootdir then
+ shootdir = {x=0, y=1, z=0}
+ local cnode = core.get_node(vector.add(pos, shootdir)).name
+ if cnode == "ignore" then
+ shootdir = nil -- Do not push into ignore
+ end
+ end
+
+ if shootdir then
+ -- Set new item moving speed accordingly
+ local newv = vector.multiply(shootdir, 3)
+ self:disable_physics()
+ self.object:set_velocity(newv)
+
+ self.force_out = newv
+ self.force_out_start = vector.round(pos)
+ return
+ end
+ elseif self.force_out then
+ -- This code runs after the entity got a push from the above code.
+ -- It makes sure the entity is entirely outside the solid node
+ local c = self.object:get_properties().collisionbox
+ local s = self.force_out_start
+ local f = self.force_out
+ local ok = (f.x > 0 and pos.x + c[1] > s.x + 0.5) or
+ (f.y > 0 and pos.y + c[2] > s.y + 0.5) or
+ (f.z > 0 and pos.z + c[3] > s.z + 0.5) or
+ (f.x < 0 and pos.x + c[4] < s.x - 0.5) or
+ (f.z < 0 and pos.z + c[6] < s.z - 0.5)
+ if ok then
+ -- Item was successfully forced out
+ self.force_out = nil
+ self:enable_physics()
+ end
+ end
+
+ if not self.physical_state then
+ return -- Don't do anything
+ end
+
+ -- Slide on slippery nodes
local vel = self.object:get_velocity()
local def = node and core.registered_nodes[node.name]
local is_moving = (def and not def.walkable) or
diff --git a/builtin/game/knockback.lua b/builtin/game/knockback.lua
new file mode 100644
index 000000000..b5c4cbc5a
--- /dev/null
+++ b/builtin/game/knockback.lua
@@ -0,0 +1,46 @@
+-- can be overriden by mods
+function core.calculate_knockback(player, hitter, time_from_last_punch, tool_capabilities, dir, distance, damage)
+ if damage == 0 or player:get_armor_groups().immortal then
+ return 0.0
+ end
+
+ local m = 8
+ -- solve m - m*e^(k*4) = 4 for k
+ local k = -0.17328
+ local res = m - m * math.exp(k * damage)
+
+ if distance < 2.0 then
+ res = res * 1.1 -- more knockback when closer
+ elseif distance > 4.0 then
+ res = res * 0.9 -- less when far away
+ end
+ return res
+end
+
+local function vector_absmax(v)
+ local max, abs = math.max, math.abs
+ return max(max(abs(v.x), abs(v.y)), abs(v.z))
+end
+
+core.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, unused_dir, damage)
+ if player:get_hp() == 0 then
+ return -- RIP
+ end
+
+ -- Server::handleCommand_Interact() adds eye offset to one but not the other
+ -- so the direction is slightly off, calculate it ourselves
+ local dir = vector.subtract(player:get_pos(), hitter:get_pos())
+ local d = vector.length(dir)
+ if d ~= 0.0 then
+ dir = vector.divide(dir, d)
+ end
+
+ local k = core.calculate_knockback(player, hitter, time_from_last_punch, tool_capabilities, dir, d, damage)
+
+ local kdir = vector.multiply(dir, k)
+ if vector_absmax(kdir) < 1.0 then
+ return -- barely noticeable, so don't even send
+ end
+
+ player:add_player_velocity(kdir)
+end)
diff --git a/builtin/game/misc.lua b/builtin/game/misc.lua
index e6d16dde7..02c36ccb1 100644
--- a/builtin/game/misc.lua
+++ b/builtin/game/misc.lua
@@ -62,7 +62,7 @@ end
core.register_on_joinplayer(function(player)
local player_name = player:get_player_name()
player_list[player_name] = player
- if not minetest.is_singleplayer() then
+ if not core.is_singleplayer() then
local status = core.get_server_status(player_name, true)
if status and status ~= "" then
core.chat_send_player(player_name, status)
diff --git a/builtin/game/privileges.lua b/builtin/game/privileges.lua
index d77a481ac..c7417d2f4 100644
--- a/builtin/game/privileges.lua
+++ b/builtin/game/privileges.lua
@@ -18,7 +18,7 @@ function core.register_privilege(name, param)
def.description = "(no description)"
end
end
- local def = {}
+ local def
if type(param) == "table" then
def = param
else
diff --git a/builtin/game/register.lua b/builtin/game/register.lua
index 3edab0471..bfad6845c 100644
--- a/builtin/game/register.lua
+++ b/builtin/game/register.lua
@@ -79,6 +79,7 @@ end
function core.register_abm(spec)
-- Add to core.registered_abms
+ assert(type(spec.action) == "function", "Required field 'action' of type function")
core.registered_abms[#core.registered_abms + 1] = spec
spec.mod_origin = core.get_current_modname() or "??"
end
@@ -86,6 +87,7 @@ end
function core.register_lbm(spec)
-- Add to core.registered_lbms
check_modname_prefix(spec.name)
+ assert(type(spec.action) == "function", "Required field 'action' of type function")
core.registered_lbms[#core.registered_lbms + 1] = spec
spec.mod_origin = core.get_current_modname() or "??"
end
@@ -254,6 +256,18 @@ function core.register_tool(name, tooldef)
end
-- END Legacy stuff
+ -- This isn't just legacy, but more of a convenience feature
+ local toolcaps = tooldef.tool_capabilities
+ if toolcaps and toolcaps.punch_attack_uses == nil then
+ for _, cap in pairs(toolcaps.groupcaps or {}) do
+ local level = (cap.maxlevel or 0) - 1
+ if (cap.uses or 0) ~= 0 and level >= 0 then
+ toolcaps.punch_attack_uses = cap.uses * (3 ^ level)
+ break
+ end
+ end
+ end
+
core.register_item(name, tooldef)
end
@@ -301,7 +315,6 @@ end
-- Alias the forbidden item names to "" so they can't be
-- created via itemstrings (e.g. /give)
-local name
for name in pairs(forbidden_item_names) do
core.registered_aliases[name] = ""
register_alias_raw(name, "")
@@ -361,9 +374,9 @@ core.register_node(":ignore", {
drop = "",
groups = {not_in_creative_inventory=1},
on_place = function(itemstack, placer, pointed_thing)
- minetest.chat_send_player(
+ core.chat_send_player(
placer:get_player_name(),
- minetest.colorize("#FF0000",
+ core.colorize("#FF0000",
"You can't place 'ignore' nodes!"))
return ""
end,
@@ -372,6 +385,7 @@ core.register_node(":ignore", {
-- The hand (bare definition)
core.register_item(":", {
type = "none",
+ wield_image = "wieldhand.png",
groups = {not_in_creative_inventory=1},
})
@@ -411,10 +425,6 @@ function core.run_callbacks(callbacks, mode, ...)
local origin = core.callback_origins[callbacks[i]]
if origin then
core.set_last_run_mod(origin.mod)
- --print("Running " .. tostring(callbacks[i]) ..
- -- " (a " .. origin.name .. " callback in " .. origin.mod .. ")")
- else
- --print("No data associated with callback")
end
local cb_ret = callbacks[i](...)
@@ -514,11 +524,17 @@ local function make_registration_wrap(reg_fn_name, clear_fn_name)
end
local function make_wrap_deregistration(reg_fn, clear_fn, list)
- local unregister = function (unregistered_key)
+ local unregister = function (key)
+ if type(key) ~= "string" then
+ error("key is not a string", 2)
+ end
+ if not list[key] then
+ error("Attempt to unregister non-existent element - '" .. key .. "'", 2)
+ end
local temporary_list = table.copy(list)
clear_fn()
for k,v in pairs(temporary_list) do
- if unregistered_key ~= k then
+ if key ~= k then
reg_fn(v)
end
end
@@ -529,7 +545,7 @@ end
core.registered_on_player_hpchanges = { modifiers = { }, loggers = { } }
function core.registered_on_player_hpchange(player, hp_change, reason)
- local last = false
+ local last
for i = #core.registered_on_player_hpchanges.modifiers, 1, -1 do
local func = core.registered_on_player_hpchanges.modifiers[i]
hp_change, last = func(player, hp_change, reason)
@@ -564,7 +580,8 @@ core.registered_biomes = make_registration_wrap("register_biome", "cle
core.registered_ores = make_registration_wrap("register_ore", "clear_registered_ores")
core.registered_decorations = make_registration_wrap("register_decoration", "clear_registered_decorations")
-core.unregister_biome = make_wrap_deregistration(core.register_biome, core.clear_registered_biomes, core.registered_biomes)
+core.unregister_biome = make_wrap_deregistration(core.register_biome,
+ core.clear_registered_biomes, core.registered_biomes)
core.registered_on_chat_messages, core.register_on_chat_message = make_registration()
core.registered_globalsteps, core.register_globalstep = make_registration()
diff --git a/builtin/game/statbars.lua b/builtin/game/statbars.lua
index da924d6f8..46c947b60 100644
--- a/builtin/game/statbars.lua
+++ b/builtin/game/statbars.lua
@@ -1,8 +1,7 @@
-- cache setting
local enable_damage = core.settings:get_bool("enable_damage")
-local health_bar_definition =
-{
+local health_bar_definition = {
hud_elem_type = "statbar",
position = { x=0.5, y=1 },
text = "heart.png",
@@ -12,8 +11,7 @@ local health_bar_definition =
offset = { x=(-10*24)-25, y=-(48+24+16)},
}
-local breath_bar_definition =
-{
+local breath_bar_definition = {
hud_elem_type = "statbar",
position = { x=0.5, y=1 },
text = "bubble.png",
@@ -30,8 +28,8 @@ local function scaleToDefault(player, field)
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
+ math.max(player:get_properties()[field .. "_max"], current))
+ return current / max_display * nominal
end
local function update_builtin_statbars(player)
@@ -50,10 +48,11 @@ local function update_builtin_statbars(player)
end
local hud = hud_ids[name]
- if flags.healthbar and enable_damage then
+ local immortal = player:get_armor_groups().immortal == 1
+ if flags.healthbar and enable_damage and not immortal then
local number = scaleToDefault(player, "hp")
- if hud.id_healthbar == nil then
- local hud_def = table.copy(health_bar_definition)
+ if hud.id_healthbar == nil then
+ local hud_def = table.copy(health_bar_definition)
hud_def.number = number
hud.id_healthbar = player:hud_add(hud_def)
else
@@ -65,11 +64,11 @@ local function update_builtin_statbars(player)
end
local breath_max = player:get_properties().breath_max
- if flags.breathbar and enable_damage and
+ if flags.breathbar and enable_damage and not immortal and
player:get_breath() < breath_max then
local number = 2 * scaleToDefault(player, "breath")
if hud.id_breathbar == nil then
- local hud_def = table.copy(breath_bar_definition)
+ local hud_def = table.copy(breath_bar_definition)
hud_def.number = number
hud.id_breathbar = player:hud_add(hud_def)
else
@@ -116,7 +115,7 @@ local function player_event_handler(player,eventname)
end
end
- if eventname == "hud_changed" then
+ if eventname == "hud_changed" or eventname == "properties_changed" then
update_builtin_statbars(player)
return true
end
@@ -124,14 +123,14 @@ local function player_event_handler(player,eventname)
return false
end
-function core.hud_replace_builtin(name, definition)
+function core.hud_replace_builtin(hud_name, definition)
if type(definition) ~= "table" or
definition.hud_elem_type ~= "statbar" then
return false
end
- if name == "health" then
+ if hud_name == "health" then
health_bar_definition = definition
for name, ids in pairs(hud_ids) do
@@ -145,7 +144,7 @@ function core.hud_replace_builtin(name, definition)
return true
end
- if name == "breath" then
+ if hud_name == "breath" then
breath_bar_definition = definition
for name, ids in pairs(hud_ids) do
diff --git a/builtin/mainmenu/common.lua b/builtin/mainmenu/common.lua
index cc61fe0ad..782d6973f 100644
--- a/builtin/mainmenu/common.lua
+++ b/builtin/mainmenu/common.lua
@@ -93,9 +93,9 @@ function render_serverlist_row(spec, is_favorite)
end
end
- local details = ""
local grey_out = not is_server_protocol_compat(spec.proto_min, spec.proto_max)
+ local details
if is_favorite then
details = "1,"
else
@@ -118,11 +118,11 @@ function render_serverlist_row(spec, is_favorite)
end
if spec.clients and spec.clients_max then
- local clients_color = ''
local clients_percent = 100 * spec.clients / spec.clients_max
-- Choose a color depending on how many clients are connected
-- (relatively to clients_max)
+ local clients_color
if grey_out then clients_color = '#aaaaaa'
elseif spec.clients == 0 then clients_color = '' -- 0 players: default/white
elseif clients_percent <= 60 then clients_color = '#a1e587' -- 0-60%: green
@@ -171,6 +171,7 @@ os.tempfolder = function()
local filetocheck = os.tmpname()
os.remove(filetocheck)
+ -- luacheck: ignore
-- https://blogs.msdn.microsoft.com/vcblog/2014/06/18/c-runtime-crt-features-fixes-and-breaking-changes-in-visual-studio-14-ctp1/
-- The C runtime (CRT) function called by os.tmpname is tmpnam.
-- Microsofts tmpnam implementation in older CRT / MSVC releases is defective.
diff --git a/builtin/mainmenu/dlg_config_world.lua b/builtin/mainmenu/dlg_config_world.lua
index daa8099c4..97218df9c 100644
--- a/builtin/mainmenu/dlg_config_world.lua
+++ b/builtin/mainmenu/dlg_config_world.lua
@@ -31,8 +31,6 @@ local function get_formspec(data)
"label[0.5,0;" .. fgettext("World:") .. "]" ..
"label[1.75,0;" .. data.worldspec.name .. "]"
- local hard_deps, soft_deps = pkgmgr.get_dependencies(mod.path)
-
if mod.is_modpack or mod.type == "game" then
local info = minetest.formspec_escape(
core.get_content_info(mod.path).description)
@@ -46,15 +44,46 @@ local function get_formspec(data)
retval = retval ..
"textarea[0.25,0.7;5.75,7.2;;" .. info .. ";]"
else
+ local hard_deps, soft_deps = pkgmgr.get_dependencies(mod.path)
+ local hard_deps_str = table.concat(hard_deps, ",")
+ local soft_deps_str = table.concat(soft_deps, ",")
+
retval = retval ..
"label[0,0.7;" .. fgettext("Mod:") .. "]" ..
- "label[0.75,0.7;" .. mod.name .. "]" ..
- "label[0,1.25;" .. fgettext("Dependencies:") .. "]" ..
- "textlist[0,1.75;5,2.125;world_config_depends;" .. hard_deps ..
- ";0]" ..
- "label[0,3.875;" .. fgettext("Optional dependencies:") .. "]" ..
- "textlist[0,4.375;5,1.8;world_config_optdepends;" ..
- soft_deps .. ";0]"
+ "label[0.75,0.7;" .. mod.name .. "]"
+
+ if hard_deps_str == "" then
+ if soft_deps_str == "" then
+ retval = retval ..
+ "label[0,1.25;" ..
+ fgettext("No (optional) dependencies") .. "]"
+ else
+ retval = retval ..
+ "label[0,1.25;" .. fgettext("No hard dependencies") ..
+ "]" ..
+ "label[0,1.75;" .. fgettext("Optional dependencies:") ..
+ "]" ..
+ "textlist[0,2.25;5,4;world_config_optdepends;" ..
+ soft_deps_str .. ";0]"
+ end
+ else
+ if soft_deps_str == "" then
+ retval = retval ..
+ "label[0,1.25;" .. fgettext("Dependencies:") .. "]" ..
+ "textlist[0,1.75;5,4;world_config_depends;" ..
+ hard_deps_str .. ";0]" ..
+ "label[0,6;" .. fgettext("No optional dependencies") .. "]"
+ else
+ retval = retval ..
+ "label[0,1.25;" .. fgettext("Dependencies:") .. "]" ..
+ "textlist[0,1.75;5,2.125;world_config_depends;" ..
+ hard_deps_str .. ";0]" ..
+ "label[0,3.9;" .. fgettext("Optional dependencies:") ..
+ "]" ..
+ "textlist[0,4.375;5,1.8;world_config_optdepends;" ..
+ soft_deps_str .. ";0]"
+ end
+ end
end
retval = retval ..
"button[3.25,7;2.5,0.5;btn_config_world_save;" ..
diff --git a/builtin/mainmenu/dlg_contentstore.lua b/builtin/mainmenu/dlg_contentstore.lua
index 384bee36c..3bc5f60bb 100644
--- a/builtin/mainmenu/dlg_contentstore.lua
+++ b/builtin/mainmenu/dlg_contentstore.lua
@@ -96,19 +96,16 @@ local function start_install(calling_dialog, package)
if conf_path then
local conf = Settings(conf_path)
- local function set_def(key, value)
- if conf:get(key) == nil then
- conf:set(key, value)
- end
- end
if name_is_title then
- set_def("name", result.package.title)
+ conf:set("name", result.package.title)
else
- set_def("title", result.package.title)
- set_def("name", result.package.name)
+ conf:set("title", result.package.title)
+ conf:set("name", result.package.name)
+ end
+ if not conf:get("description") then
+ conf:set("description", result.package.short_description)
end
- set_def("description", result.package.short_description)
- set_def("author", result.package.author)
+ conf:set("author", result.package.author)
conf:set("release", result.package.release)
conf:write()
end
@@ -273,7 +270,6 @@ function store.load()
assert(core.create_dir(tmpdir))
local base_url = core.settings:get("contentdb_url")
- local show_nonfree = core.settings:get_bool("show_nonfree_packages")
local url = base_url ..
"/api/packages/?type=mod&type=game&type=txp&protocol_version=" ..
core.get_max_supp_proto()
@@ -299,9 +295,9 @@ function store.load()
local name_len = #package.name
if package.type == "game" and name_len > 5 and package.name:sub(name_len - 4) == "_game" then
- package.id = package.author .. "/" .. package.name:sub(1, name_len - 5)
+ package.id = package.author:lower() .. "/" .. package.name:sub(1, name_len - 5)
else
- package.id = package.author .. "/" .. package.name
+ package.id = package.author:lower() .. "/" .. package.name
end
end
@@ -317,22 +313,22 @@ function store.update_paths()
pkgmgr.refresh_globals()
for _, mod in pairs(pkgmgr.global_mods:get_list()) do
if mod.author then
- mod_hash[mod.author .. "/" .. mod.name] = mod
+ mod_hash[mod.author:lower() .. "/" .. mod.name] = mod
end
end
local game_hash = {}
pkgmgr.update_gamelist()
for _, game in pairs(pkgmgr.games) do
- if game.author then
- game_hash[game.author .. "/" .. game.id] = game
+ if game.author ~= "" then
+ game_hash[game.author:lower() .. "/" .. game.id] = game
end
end
local txp_hash = {}
for _, txp in pairs(pkgmgr.get_texture_packs()) do
if txp.author then
- txp_hash[txp.author .. "/" .. txp.name] = txp
+ txp_hash[txp.author:lower() .. "/" .. txp.name] = txp
end
end
diff --git a/builtin/mainmenu/dlg_create_world.lua b/builtin/mainmenu/dlg_create_world.lua
index c701f094e..31d41d693 100644
--- a/builtin/mainmenu/dlg_create_world.lua
+++ b/builtin/mainmenu/dlg_create_world.lua
@@ -24,10 +24,11 @@ local function create_world_formspec(dialogdata)
local current_mg = core.settings:get("mg_name")
local gameid = core.settings:get("menu_last_game")
- local game, gameidx = nil , 0
+ local gameidx = 0
if gameid ~= nil then
- game, gameidx = pkgmgr.find_by_gameid(gameid)
-
+ local _
+ _, gameidx = pkgmgr.find_by_gameid(gameid)
+
if gameidx == nil then
gameidx = 0
end
@@ -82,7 +83,7 @@ local function create_world_formspec(dialogdata)
"button[3.25,6;2.5,0.5;world_create_confirm;" .. fgettext("Create") .. "]" ..
"button[5.75,6;2.5,0.5;world_create_cancel;" .. fgettext("Cancel") .. "]"
-
+
if #pkgmgr.games == 0 then
retval = retval .. "box[2,4;8,1;#ff8800]label[2.25,4;" ..
fgettext("You have no games installed.") .. "]label[2.25,4.4;" ..
@@ -111,10 +112,10 @@ local function create_world_buttonhandler(this, fields)
local random_world_name = "Unnamed" .. random_number
worldname = random_world_name
end
- local message = nil
core.settings:set("fixed_map_seed", fields["te_seed"])
+ local message
if not menudata.worldlist:uid_exists_raw(worldname) then
core.settings:set("mg_name",fields["dd_mapgen"])
message = core.create_world(worldname,gameindex)
@@ -165,6 +166,6 @@ function create_create_world_dlg(update_worldlistfilter)
create_world_buttonhandler,
nil)
retval.update_worldlist_filter = update_worldlistfilter
-
+
return retval
end
diff --git a/builtin/mainmenu/dlg_delete_content.lua b/builtin/mainmenu/dlg_delete_content.lua
index 9d89316a0..a24171541 100644
--- a/builtin/mainmenu/dlg_delete_content.lua
+++ b/builtin/mainmenu/dlg_delete_content.lua
@@ -22,6 +22,7 @@ local function delete_content_formspec(dialogdata)
"size[11.5,4.5,true]" ..
"label[2,2;" ..
fgettext("Are you sure you want to delete \"$1\"?", dialogdata.content.name) .. "]"..
+ "style[dlg_delete_content_confirm;bgcolor=red]" ..
"button[3.25,3.5;2.5,0.5;dlg_delete_content_confirm;" .. fgettext("Delete") .. "]" ..
"button[5.75,3.5;2.5,0.5;dlg_delete_content_cancel;" .. fgettext("Cancel") .. "]"
diff --git a/builtin/mainmenu/dlg_delete_world.lua b/builtin/mainmenu/dlg_delete_world.lua
index df1091033..33e7bc945 100644
--- a/builtin/mainmenu/dlg_delete_world.lua
+++ b/builtin/mainmenu/dlg_delete_world.lua
@@ -21,6 +21,7 @@ local function delete_world_formspec(dialogdata)
"size[10,2.5,true]" ..
"label[0.5,0.5;" ..
fgettext("Delete World \"$1\"?", dialogdata.delete_name) .. "]" ..
+ "style[world_delete_confirm;bgcolor=red]" ..
"button[0.5,1.5;2.5,0.5;world_delete_confirm;" .. fgettext("Delete") .. "]" ..
"button[7.0,1.5;2.5,0.5;world_delete_cancel;" .. fgettext("Cancel") .. "]"
return retval
diff --git a/builtin/mainmenu/dlg_settings_advanced.lua b/builtin/mainmenu/dlg_settings_advanced.lua
index bff36d8cb..24b71d957 100644
--- a/builtin/mainmenu/dlg_settings_advanced.lua
+++ b/builtin/mainmenu/dlg_settings_advanced.lua
@@ -148,9 +148,9 @@ local function parse_setting_line(settings, line, read_all, base_level, allow_se
local values = {}
local ti = 1
local index = 1
- for line in default:gmatch("[+-]?[%d.-e]+") do -- All numeric characters
- index = default:find("[+-]?[%d.-e]+", index) + line:len()
- table.insert(values, line)
+ for match in default:gmatch("[+-]?[%d.-e]+") do -- All numeric characters
+ index = default:find("[+-]?[%d.-e]+", index) + match:len()
+ table.insert(values, match)
ti = ti + 1
if ti > 9 then
break
@@ -322,17 +322,20 @@ end
-- read_all: whether to ignore certain setting types for GUI or not
-- parse_mods: whether to parse settingtypes.txt in mods and games
local function parse_config_file(read_all, parse_mods)
- local builtin_path = core.get_builtin_path() .. FILENAME
- local file = io.open(builtin_path, "r")
local settings = {}
- if not file then
- core.log("error", "Can't load " .. FILENAME)
- return settings
- end
- parse_single_file(file, builtin_path, read_all, settings, 0, true)
+ do
+ local builtin_path = core.get_builtin_path() .. FILENAME
+ local file = io.open(builtin_path, "r")
+ if not file then
+ core.log("error", "Can't load " .. FILENAME)
+ return settings
+ end
+
+ parse_single_file(file, builtin_path, read_all, settings, 0, true)
- file:close()
+ file:close()
+ end
if parse_mods then
-- Parse games
@@ -344,7 +347,7 @@ local function parse_config_file(read_all, parse_mods)
local file = io.open(path, "r")
if file then
if not games_category_initialized then
- local translation = fgettext_ne("Games"), -- not used, but needed for xgettext
+ fgettext_ne("Games") -- not used, but needed for xgettext
table.insert(settings, {
name = "Games",
level = 0,
@@ -377,7 +380,7 @@ local function parse_config_file(read_all, parse_mods)
local file = io.open(path, "r")
if file then
if not mods_category_initialized then
- local translation = fgettext_ne("Mods"), -- not used, but needed for xgettext
+ fgettext_ne("Mods") -- not used, but needed for xgettext
table.insert(settings, {
name = "Mods",
level = 0,
@@ -667,34 +670,42 @@ local function create_change_setting_formspec(dialogdata)
height = height + 1.1
elseif setting.type == "flags" then
- local enabled_flags = flags_to_table(get_current_value(setting))
+ local current_flags = flags_to_table(get_current_value(setting))
local flags = {}
- for _, name in ipairs(enabled_flags) do
+ for _, name in ipairs(current_flags) do
-- Index by name, to avoid iterating over all enabled_flags for every possible flag.
- flags[name] = true
+ if name:sub(1, 2) == "no" then
+ flags[name:sub(3)] = false
+ else
+ flags[name] = true
+ end
end
- local flags_count = #setting.possible
- local max_height = flags_count / 4
+ local flags_count = #setting.possible / 2
+ local max_height = math.ceil(flags_count / 2) / 2
-- More space for flags
description_height = description_height - 1
height = height - 1
local fields = {} -- To build formspec
- for i, name in ipairs(setting.possible) do
- local x = 0.5
- local y = height + i / 2 - 0.75
- if i - 1 >= flags_count / 2 then -- 2nd column
- x = 5
- y = y - max_height
+ local j = 1
+ for _, name in ipairs(setting.possible) do
+ if name:sub(1, 2) ~= "no" then
+ local x = 0.5
+ local y = height + j / 2 - 0.75
+ if j - 1 >= flags_count / 2 then -- 2nd column
+ x = 5
+ y = y - max_height
+ end
+ j = j + 1;
+ local checkbox_name = "cb_" .. name
+ local is_enabled = flags[name] == true -- to get false if nil
+ checkboxes[checkbox_name] = is_enabled
+
+ fields[#fields + 1] = ("checkbox[%f,%f;%s;%s;%s]"):format(
+ x, y, checkbox_name, name, tostring(is_enabled)
+ )
end
- local checkbox_name = "cb_" .. name
- local is_enabled = flags[name] == true -- to get false if nil
- checkboxes[checkbox_name] = is_enabled
-
- fields[#fields + 1] = ("checkbox[%f,%f;%s;%s;%s]"):format(
- x, y, checkbox_name, name, tostring(is_enabled)
- )
end
formspec = table.concat(fields)
height = height + max_height + 0.25
@@ -753,7 +764,7 @@ local function create_change_setting_formspec(dialogdata)
" (" .. setting.name .. ")"
end
- local comment_text = ""
+ local comment_text
if setting.comment == "" then
comment_text = fgettext_ne("(No description of setting given)")
else
@@ -830,8 +841,12 @@ local function handle_change_setting_buttons(this, fields)
elseif setting.type == "flags" then
local values = {}
for _, name in ipairs(setting.possible) do
- if checkboxes["cb_" .. name] then
- table.insert(values, name)
+ if name:sub(1, 2) ~= "no" then
+ if checkboxes["cb_" .. name] then
+ table.insert(values, name)
+ else
+ table.insert(values, "no" .. name)
+ end
end
end
@@ -918,7 +933,7 @@ local function handle_change_setting_buttons(this, fields)
return false
end
-local function create_settings_formspec(tabview, name, tabdata)
+local function create_settings_formspec(tabview, _, tabdata)
local formspec = "size[12,5.4;true]" ..
"tablecolumns[color;tree;text,width=28;text]" ..
"tableoptions[background=#00000000;border=false]" ..
@@ -950,7 +965,7 @@ local function create_settings_formspec(tabview, name, tabdata)
formspec = formspec .. "," .. (current_level + 1) .. "," .. core.formspec_escape(name) .. ","
.. value .. ","
- elseif entry.type == "key" then
+ elseif entry.type == "key" then --luacheck: ignore
-- ignore key settings, since we have a special dialog for them
elseif entry.type == "noise_params_2d" or entry.type == "noise_params_3d" then
@@ -1029,8 +1044,8 @@ local function handle_settings_buttons(this, fields, tabname, tabdata)
if fields["btn_edit"] or list_enter then
local setting = settings[selected_setting]
if setting and setting.type ~= "category" then
- local edit_dialog = dialog_create("change_setting", create_change_setting_formspec,
- handle_change_setting_buttons)
+ local edit_dialog = dialog_create("change_setting",
+ create_change_setting_formspec, handle_change_setting_buttons)
edit_dialog:set_parent(this)
this:hide()
edit_dialog:show()
@@ -1076,4 +1091,5 @@ end
-- For RUN_IN_PLACE the generated files may appear in the 'bin' folder.
-- See comment and alternative line at the end of 'generate_from_settingtypes.lua'.
---assert(loadfile(core.get_builtin_path().."mainmenu"..DIR_DELIM.."generate_from_settingtypes.lua"))(parse_config_file(true, false))
+--assert(loadfile(core.get_builtin_path().."mainmenu"..DIR_DELIM..
+-- "generate_from_settingtypes.lua"))(parse_config_file(true, false))
diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua
index 60a496093..f87367689 100644
--- a/builtin/mainmenu/pkgmgr.lua
+++ b/builtin/mainmenu/pkgmgr.lua
@@ -285,17 +285,14 @@ function pkgmgr.identify_modname(modpath,filename)
end
--------------------------------------------------------------------------------
function pkgmgr.render_packagelist(render_list)
- local retval = ""
-
- if render_list == nil then
- if pkgmgr.global_mods == nil then
+ if not render_list then
+ if not pkgmgr.global_mods then
pkgmgr.refresh_globals()
end
render_list = pkgmgr.global_mods
end
local list = render_list:get_list()
- local last_modpack = nil
local retval = {}
for i, v in ipairs(list) do
local color = ""
@@ -332,11 +329,11 @@ end
--------------------------------------------------------------------------------
function pkgmgr.get_dependencies(path)
if path == nil then
- return "", ""
+ return {}, {}
end
local info = core.get_content_info(path)
- return table.concat(info.depends or {}, ","), table.concat(info.optional_depends or {}, ",")
+ return info.depends or {}, info.optional_depends or {}
end
----------- tests whether all of the mods in the modpack are enabled -----------
@@ -350,35 +347,113 @@ function pkgmgr.is_modpack_entirely_enabled(data, name)
return true
end
----------- toggles or en/disables a mod or modpack -----------------------------
+---------- toggles or en/disables a mod or modpack and its dependencies --------
function pkgmgr.enable_mod(this, toset)
- local mod = this.data.list:get_list()[this.data.selected_mod]
+ local list = this.data.list:get_list()
+ local mod = list[this.data.selected_mod]
- -- game mods can't be enabled or disabled
+ -- Game mods can't be enabled or disabled
if mod.is_game_content then
return
end
- -- toggle or en/disable the mod
+ local toggled_mods = {}
+
+ local enabled_mods = {}
if not mod.is_modpack then
+ -- Toggle or en/disable the mod
if toset == nil then
- mod.enabled = not mod.enabled
- else
+ toset = not mod.enabled
+ end
+ if mod.enabled ~= toset then
mod.enabled = toset
+ toggled_mods[#toggled_mods+1] = mod.name
+ end
+ if toset then
+ -- Mark this mod for recursive dependency traversal
+ enabled_mods[mod.name] = true
+ end
+ else
+ -- Toggle or en/disable every mod in the modpack,
+ -- 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
+ end
end
+ end
+ if not toset then
+ -- Mod(s) were disabled, so no dependencies need to be enabled
+ table.sort(toggled_mods)
+ minetest.log("info", "Following mods were disabled: " ..
+ table.concat(toggled_mods, ", "))
return
end
- -- toggle or en/disable every mod in the modpack, interleaved unsupported
- local list = this.data.list:get_raw_list()
- for i = 1, #list do
- if list[i].modpack == mod.name then
- if toset == nil then
- toset = not list[i].enabled
+ -- Enable mods' depends after activation
+
+ -- Make a list of mod ids indexed by their names
+ local mod_ids = {}
+ for id, mod in pairs(list) do
+ if mod.type == "mod" and not mod.is_modpack then
+ mod_ids[mod.name] = id
+ end
+ end
+
+ -- to_enable is used as a DFS stack with sp as stack pointer
+ local to_enable = {}
+ local sp = 0
+ for name in pairs(enabled_mods) do
+ local depends = pkgmgr.get_dependencies(list[mod_ids[name]].path)
+ for i = 1, #depends do
+ local dependency_name = depends[i]
+ if not enabled_mods[dependency_name] then
+ sp = sp+1
+ to_enable[sp] = dependency_name
+ end
+ end
+ end
+ -- If sp is 0, every dependency is already activated
+ while sp > 0 do
+ local name = to_enable[sp]
+ sp = sp-1
+
+ if not enabled_mods[name] then
+ enabled_mods[name] = true
+ local mod = list[mod_ids[name]]
+ if not mod then
+ minetest.log("warning", "Mod dependency \"" .. name ..
+ "\" not found!")
+ else
+ if mod.enabled == false then
+ mod.enabled = true
+ toggled_mods[#toggled_mods+1] = mod.name
+ end
+ -- Push the dependencies of the dependency onto the stack
+ local depends = pkgmgr.get_dependencies(mod.path)
+ for i = 1, #depends do
+ if not enabled_mods[name] then
+ sp = sp+1
+ to_enable[sp] = depends[i]
+ end
+ end
end
- list[i].enabled = toset
end
end
+
+ -- Log the list of enabled mods
+ table.sort(toggled_mods)
+ minetest.log("info", "Following mods were enabled: " ..
+ table.concat(toggled_mods, ", "))
end
--------------------------------------------------------------------------------
@@ -465,7 +540,7 @@ function pkgmgr.install_dir(type, path, basename, targetpath)
else
return nil,
fgettext("Install Mod: Unable to find suitable folder name for modpack $1",
- modfilename)
+ path)
end
end
elseif basefolder.type == "mod" then
@@ -490,7 +565,7 @@ function pkgmgr.install_dir(type, path, basename, targetpath)
if targetfolder ~= nil and pkgmgr.isValidModname(targetfolder) then
targetpath = core.get_modpath() .. DIR_DELIM .. targetfolder
else
- return nil, fgettext("Install Mod: Unable to find real mod name for: $1", modfilename)
+ return nil, fgettext("Install Mod: Unable to find real mod name for: $1", path)
end
end
diff --git a/builtin/mainmenu/tab_content.lua b/builtin/mainmenu/tab_content.lua
index d8e2c9753..336730bf4 100644
--- a/builtin/mainmenu/tab_content.lua
+++ b/builtin/mainmenu/tab_content.lua
@@ -134,9 +134,13 @@ local function get_formspec(tabview, name, tabdata)
end
retval = retval .. "textarea[5.85,2.2;6.35,2.9;;" ..
- fgettext("Information:") .. ";" .. desc .. "]" ..
- "button[5.5,4.65;3.25,1;btn_mod_mgr_delete_mod;" ..
- fgettext("Uninstall Package") .. "]"
+ fgettext("Information:") .. ";" .. desc .. "]"
+
+ if core.may_modify_path(selected_pkg.path) then
+ retval = retval ..
+ "button[5.5,4.65;3.25,1;btn_mod_mgr_delete_mod;" ..
+ fgettext("Uninstall Package") .. "]"
+ end
end
return retval
end
@@ -149,11 +153,6 @@ local function handle_buttons(tabview, fields, tabname, tabdata)
return true
end
- if fields["btn_mod_mgr_install_local"] ~= nil then
- core.show_file_open_dialog("mod_mgt_open_dlg", fgettext("Select Package File:"))
- return true
- end
-
if fields["btn_contentdb"] ~= nil then
local dlg = create_store_dlg()
dlg:set_parent(tabview)
@@ -197,12 +196,6 @@ local function handle_buttons(tabview, fields, tabname, tabdata)
return true
end
- if fields["mod_mgt_open_dlg_accepted"] and
- fields["mod_mgt_open_dlg_accepted"] ~= "" then
- pkgmgr.install_mod(fields["mod_mgt_open_dlg_accepted"],nil)
- return true
- end
-
return false
end
diff --git a/builtin/mainmenu/tab_local.lua b/builtin/mainmenu/tab_local.lua
index 15ef96dc8..0969bccfb 100644
--- a/builtin/mainmenu/tab_local.lua
+++ b/builtin/mainmenu/tab_local.lua
@@ -21,7 +21,7 @@ local current_game, singleplayer_refresh_gamebar
if enable_gamebar then
function current_game()
local last_game_id = core.settings:get("menu_last_game")
- local game, index = pkgmgr.find_by_gameid(last_game_id)
+ local game = pkgmgr.find_by_gameid(last_game_id)
return game
end
@@ -222,7 +222,7 @@ local function main_button_handler(this, fields, name, tabdata)
--update last game
local world = menudata.worldlist:get_raw_element(gamedata.selected_world)
if world then
- local game, index = pkgmgr.find_by_gameid(world.gameid)
+ local game = pkgmgr.find_by_gameid(world.gameid)
core.settings:set("menu_last_game", game.id)
end
diff --git a/builtin/mainmenu/tab_online.lua b/builtin/mainmenu/tab_online.lua
index c632039fc..8733f7618 100644
--- a/builtin/mainmenu/tab_online.lua
+++ b/builtin/mainmenu/tab_online.lua
@@ -20,7 +20,7 @@ local function get_formspec(tabview, name, tabdata)
-- Update the cached supported proto info,
-- it may have changed after a change by the settings menu.
common_update_cached_supp_proto()
- local fav_selected = nil
+ local fav_selected
if menudata.search_result then
fav_selected = menudata.search_result[tabdata.fav_selected]
else
@@ -273,8 +273,8 @@ local function main_button_handler(tabview, fields, name, tabdata)
for k = 1, #keywords do
local keyword = keywords[k]
if server.name then
- local name = server.name:lower()
- local _, count = name:gsub(keyword, keyword)
+ local sername = server.name:lower()
+ local _, count = sername:gsub(keyword, keyword)
found = found + count * 4
end
diff --git a/builtin/mainmenu/tab_settings.lua b/builtin/mainmenu/tab_settings.lua
index 71b2d88fa..1e5264904 100644
--- a/builtin/mainmenu/tab_settings.lua
+++ b/builtin/mainmenu/tab_settings.lua
@@ -148,11 +148,9 @@ local function dlg_confirm_reset_btnhandler(this, fields, dialogdata)
core.create_world("singleplayerworld", 1)
worldlist = core.get_worlds()
- found_singleplayerworld = false
for i = 1, #worldlist do
if worldlist[i].name == "singleplayerworld" then
- found_singleplayerworld = true
gamedata.worldindex = i
end
end
@@ -254,7 +252,7 @@ local function formspec(tabview, name, tabdata)
.. dump(core.settings:get_bool("generate_normalmaps")) .. "]" ..
"checkbox[8.25,2;cb_parallax;" .. fgettext("Parallax Occlusion") .. ";"
.. dump(core.settings:get_bool("enable_parallax_occlusion")) .. "]" ..
- "checkbox[8.25,2.5;cb_waving_water;" .. fgettext("Waving Water") .. ";"
+ "checkbox[8.25,2.5;cb_waving_water;" .. fgettext("Waving Liquids") .. ";"
.. dump(core.settings:get_bool("enable_waving_water")) .. "]" ..
"checkbox[8.25,3;cb_waving_leaves;" .. fgettext("Waving Leaves") .. ";"
.. dump(core.settings:get_bool("enable_waving_leaves")) .. "]" ..
@@ -271,7 +269,7 @@ local function formspec(tabview, name, tabdata)
"label[8.38,2.2;" .. core.colorize("#888888",
fgettext("Parallax Occlusion")) .. "]" ..
"label[8.38,2.7;" .. core.colorize("#888888",
- fgettext("Waving Water")) .. "]" ..
+ fgettext("Waving Liquids")) .. "]" ..
"label[8.38,3.2;" .. core.colorize("#888888",
fgettext("Waving Leaves")) .. "]" ..
"label[8.38,3.7;" .. core.colorize("#888888",
diff --git a/builtin/mainmenu/tab_simple_main.lua b/builtin/mainmenu/tab_simple_main.lua
index de4ae1751..7ec95158a 100644
--- a/builtin/mainmenu/tab_simple_main.lua
+++ b/builtin/mainmenu/tab_simple_main.lua
@@ -188,10 +188,10 @@ local function main_button_handler(tabview, fields, name, tabdata)
core.settings:set("address", fields.te_address)
core.settings:set("remote_port", fields.te_port)
-
- core.start()
- return true
- end
+
+ core.start()
+ return true
+ end
if fields.btn_config_sp_world then
local configdialog = create_configure_world_dlg(1)
diff --git a/builtin/mainmenu/textures.lua b/builtin/mainmenu/textures.lua
index 68b05dc18..a3acbbdec 100644
--- a/builtin/mainmenu/textures.lua
+++ b/builtin/mainmenu/textures.lua
@@ -23,9 +23,9 @@ function mm_texture.init()
mm_texture.defaulttexturedir = core.get_texturepath() .. DIR_DELIM .. "base" ..
DIR_DELIM .. "pack" .. DIR_DELIM
mm_texture.basetexturedir = mm_texture.defaulttexturedir
-
+
mm_texture.texturepack = core.settings:get("texture_path")
-
+
mm_texture.gameid = nil
end
@@ -39,7 +39,7 @@ function mm_texture.update(tab,gamedetails)
if gamedetails == nil then
return
end
-
+
mm_texture.update_game(gamedetails)
end
@@ -48,18 +48,18 @@ function mm_texture.reset()
mm_texture.gameid = nil
local have_bg = false
local have_overlay = mm_texture.set_generic("overlay")
-
+
if not have_overlay then
have_bg = mm_texture.set_generic("background")
end
-
+
mm_texture.clear("header")
mm_texture.clear("footer")
core.set_clouds(false)
-
+
mm_texture.set_generic("footer")
mm_texture.set_generic("header")
-
+
if not have_bg then
if core.settings:get_bool("menu_clouds") then
core.set_clouds(true)
@@ -74,30 +74,30 @@ function mm_texture.update_game(gamedetails)
if mm_texture.gameid == gamedetails.id then
return
end
-
+
local have_bg = false
local have_overlay = mm_texture.set_game("overlay",gamedetails)
-
+
if not have_overlay then
have_bg = mm_texture.set_game("background",gamedetails)
end
-
+
mm_texture.clear("header")
mm_texture.clear("footer")
core.set_clouds(false)
-
+
if not have_bg then
-
+
if core.settings:get_bool("menu_clouds") then
core.set_clouds(true)
else
mm_texture.set_dirt_bg()
end
end
-
+
mm_texture.set_game("footer",gamedetails)
mm_texture.set_game("header",gamedetails)
-
+
mm_texture.gameid = gamedetails.id
end
@@ -116,7 +116,7 @@ function mm_texture.set_generic(identifier)
return true
end
end
-
+
if mm_texture.defaulttexturedir ~= nil then
local path = mm_texture.defaulttexturedir .. DIR_DELIM .."menu_" ..
identifier .. ".png"
@@ -124,13 +124,13 @@ function mm_texture.set_generic(identifier)
return true
end
end
-
+
return false
end
--------------------------------------------------------------------------------
function mm_texture.set_game(identifier, gamedetails)
-
+
if gamedetails == nil then
return false
end
@@ -142,7 +142,7 @@ function mm_texture.set_game(identifier, gamedetails)
return true
end
end
-
+
-- Find out how many randomized textures the game provides
local n = 0
local filename
@@ -167,7 +167,7 @@ function mm_texture.set_game(identifier, gamedetails)
if core.set_background(identifier, path) then
return true
end
-
+
return false
end
@@ -178,7 +178,7 @@ function mm_texture.set_dirt_bg()
return true
end
end
-
+
-- Use universal fallback texture in textures/base/pack
local minimalpath = defaulttexturedir .. "menu_bg.png"
core.set_background("background", minimalpath, true, 128)
diff --git a/builtin/profiler/instrumentation.lua b/builtin/profiler/instrumentation.lua
index 2ab658bb2..80eed05e8 100644
--- a/builtin/profiler/instrumentation.lua
+++ b/builtin/profiler/instrumentation.lua
@@ -117,7 +117,8 @@ end
local function assert_can_be_called(func, func_name, level)
if not can_be_called(func) then
-- Then throw an *helpful* error, by pointing on our caller instead of us.
- error(format("Invalid argument to %s. Expected function-like type instead of '%s'.", func_name, type(func)), level + 1)
+ error(format("Invalid argument to %s. Expected function-like type instead of '%s'.",
+ func_name, type(func)), level + 1)
end
end
diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt
index 5d68007e3..0ff8066aa 100644
--- a/builtin/settingtypes.txt
+++ b/builtin/settingtypes.txt
@@ -112,7 +112,7 @@ always_fly_fast (Always fly and fast) bool true
# The time in seconds it takes between repeated right clicks when holding the right
# mouse button.
-repeat_rightclick_time (Rightclick repetition interval) float 0.25
+repeat_rightclick_time (Rightclick repetition interval) float 0.25 0.001
# Automatically jump up single-node obstacles.
autojump (Automatic jumping) bool false
@@ -150,7 +150,7 @@ joystick_type (Joystick type) enum auto auto,generic,xbox
# The time in seconds it takes between repeated events
# when holding down a joystick button combination.
-repeat_joystick_button_time (Joystick button repetition interval) float 0.17
+repeat_joystick_button_time (Joystick button repetition interval) float 0.17 0.001
# The sensitivity of the joystick axes for moving the
# ingame view frustum around.
@@ -212,7 +212,7 @@ keymap_freemove (Fly key) key KEY_KEY_K
# Key for toggling pitch move mode.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-keymap_pitchmove (Pitch move key) key KEY_KEY_L
+keymap_pitchmove (Pitch move key) key KEY_KEY_P
# Key for toggling fast mode.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
@@ -508,10 +508,11 @@ texture_min_size (Minimum texture size) int 64
# when set to higher number than 0.
fsaa (FSAA) enum 0 0,1,2,4,8,16
-# Undersampling is similar to using lower screen resolution, but it applies
+# Undersampling is similar to using a lower screen resolution, but it applies
# to the game world only, keeping the GUI intact.
-# It should give significant performance boost at the cost of less detailed image.
-undersampling (Undersampling) enum 0 0,2,3,4
+# It should give a significant performance boost at the cost of less detailed image.
+# Higher values result in a less detailed image.
+undersampling (Undersampling) int 1 1 8
[**Shaders]
@@ -574,11 +575,11 @@ parallax_occlusion_bias (Parallax occlusion bias) float 0.04
# Requires shaders to be enabled.
enable_waving_water (Waving water) bool false
-water_wave_height (Waving water height) float 1.0
+water_wave_height (Waving water wave height) float 1.0
-water_wave_length (Waving water length) float 20.0
+water_wave_length (Waving water wavelength) float 20.0
-water_wave_speed (Waving water speed) float 5.0
+water_wave_speed (Waving water wave speed) float 5.0
# Set to true enables waving leaves.
# Requires shaders to be enabled.
@@ -596,10 +597,10 @@ arm_inertia (Arm inertia) bool true
# If FPS would go higher than this, limit it by sleeping
# to not waste CPU power for no benefit.
-fps_max (Maximum FPS) int 60
+fps_max (Maximum FPS) int 60 1
# Maximum FPS when game is paused.
-pause_fps_max (FPS in pause menu) int 20
+pause_fps_max (FPS in pause menu) int 20 1
# Open the pause menu when the window's focus is lost. Does not pause if a formspec is
# open.
@@ -608,17 +609,17 @@ pause_on_lost_focus (Pause on lost window focus) bool false
# View distance in nodes.
viewing_range (Viewing range) int 100 20 4000
-# Camera near plane distance in nodes, between 0 and 0.5
+# Camera 'near clipping plane' distance in nodes, between 0 and 0.5.
# Most users will not need to change this.
# Increasing can reduce artifacting on weaker GPUs.
# 0.1 = Default, 0.25 = Good value for weaker tablets.
-near_plane (Near plane) float 0.1 0 0.5
+near_plane (Near clipping plane) float 0.1 0 0.5
# Width component of the initial window size.
-screen_w (Screen width) int 1024
+screen_w (Screen width) int 1024 1
# Height component of the initial window size.
-screen_h (Screen height) int 600
+screen_h (Screen height) int 600 1
# Save window size automatically when modified.
autosave_screensize (Autosave screen size) bool true
@@ -637,7 +638,7 @@ fov (Field of view) int 72 45 160
# Adjust the gamma encoding for the light tables. Higher numbers are brighter.
# This setting is for the client only and is ignored by the server.
-display_gamma (Gamma) float 1.0 0.5 3.0
+display_gamma (Gamma) float 1.0 0.5 10.0
# Gradient of light curve at minimum light level.
lighting_alpha (Darkness sharpness) float 0.0 0.0 4.0
@@ -805,7 +806,7 @@ menu_clouds (Clouds in menu) bool true
# This will smooth over some of the rough edges, and blend
# pixels when scaling down, at the cost of blurring some
# edge pixels when images are scaled by non-integer sizes.
-gui_scaling (GUI scaling) float 1.0
+gui_scaling (GUI scaling) float 1.0 0.001
# When gui_scaling_filter is true, all GUI images need to be
# filtered in software, but some images are generated directly
@@ -830,7 +831,7 @@ freetype (FreeType fonts) bool true
# Path to TrueTypeFont or bitmap.
font_path (Font path) filepath fonts/liberationsans.ttf
-font_size (Font size) int 16
+font_size (Font size) int 16 1
# Font shadow offset, if 0 then shadow will not be drawn.
font_shadow (Font shadow) int 1
@@ -840,11 +841,11 @@ font_shadow_alpha (Font shadow alpha) int 127 0 255
mono_font_path (Monospace font path) filepath fonts/liberationmono.ttf
-mono_font_size (Monospace font size) int 15
+mono_font_size (Monospace font size) int 15 1
# This font will be used for certain languages.
fallback_font_path (Fallback font) filepath fonts/DroidSansFallbackFull.ttf
-fallback_font_size (Fallback font size) int 15
+fallback_font_size (Fallback font size) int 15 1
fallback_font_shadow (Fallback font shadow) int 1
fallback_font_shadow_alpha (Fallback font shadow alpha) int 128 0 255
@@ -862,7 +863,7 @@ screenshot_quality (Screenshot quality) int 0 0 100
[*Advanced]
# Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens.
-screen_dpi (DPI) int 72
+screen_dpi (DPI) int 72 1
# Windows systems only: Start Minetest with the command line window in the background.
# Contains the same information as the file debug.txt (default name).
@@ -1058,6 +1059,10 @@ disable_anticheat (Disable anticheat) bool false
# This option is only read when server starts.
enable_rollback_recording (Rollback recording) bool false
+# Format of player chat messages. The following strings are valid placeholders:
+# @name, @message, @timestamp (optional)
+chat_message_format (Chat message format) string <@name> @message
+
# A message to be displayed to all clients when the server shuts down.
kick_msg_shutdown (Shutdown message) string Server shutting down.
@@ -1097,7 +1102,7 @@ time_send_interval (Time send interval) int 5
time_speed (Time speed) int 72
# Time of day when a new world is started, in millihours (0-23999).
-world_start_time (World start time) int 5250 0 23999
+world_start_time (World start time) int 6125 0 23999
# Interval of saving important changes in the world, stated in seconds.
server_map_save_interval (Map save interval) float 5.3
@@ -1113,17 +1118,44 @@ chat_message_limit_trigger_kick (Chat message kick threshold) int 50
[**Physics]
+# Horizontal and vertical acceleration on ground or when climbing,
+# in nodes per second per second.
movement_acceleration_default (Default acceleration) float 3
+
+# Horizontal acceleration in air when jumping or falling,
+# in nodes per second per second.
movement_acceleration_air (Acceleration in air) float 2
+
+# Horizontal and vertical acceleration in fast mode,
+# in nodes per second per second.
movement_acceleration_fast (Fast mode acceleration) float 10
+
+# Walking and flying speed, in nodes per second.
movement_speed_walk (Walking speed) float 4
+
+# Sneaking speed, in nodes per second.
movement_speed_crouch (Sneaking speed) float 1.35
+
+# Walking, flying and climbing speed in fast mode, in nodes per second.
movement_speed_fast (Fast mode speed) float 20
+
+# Vertical climbing speed, in nodes per second.
movement_speed_climb (Climbing speed) float 3
+
+# Initial vertical speed when jumping, in nodes per second.
movement_speed_jump (Jumping speed) float 6.5
+
+# Decrease this to increase liquid resistence to movement.
movement_liquid_fluidity (Liquid fluidity) float 1
+
+# Maximum liquid resistence. Controls deceleration when entering liquid at
+# high speed.
movement_liquid_fluidity_smooth (Liquid fluidity smoothing) float 0.5
-movement_liquid_sink (Liquid sinking speed) float 10
+
+# Controls sinking speed in liquid.
+movement_liquid_sink (Liquid sinking) float 10
+
+# Acceleration of gravity, in nodes per second per second.
movement_gravity (Gravity) float 9.81
[**Advanced]
@@ -1288,6 +1320,12 @@ language (Language) enum ,be,ca,cs,da,de,dv,en,eo,es,et,fr,he,hu,id,it,ja,jbo,
# - verbose
debug_log_level (Debug log level) enum action ,none,error,warning,action,info,verbose
+# If the file size of debug.txt exceeds the number of megabytes specified in
+# this setting when it is opened, the file is moved to debug.txt.1,
+# deleting an older debug.txt.1 if it exists.
+# debug.txt is only moved if this setting is positive.
+debug_log_size_max (Debug log file size threshold) int 50
+
# IPv6 support.
enable_ipv6 (IPv6) bool true
@@ -1327,11 +1365,9 @@ profiler_print_interval (Engine profiling data print interval) int 0
# Name of map generator to be used when creating a new world.
# Creating a world in the main menu will override this.
-# Current stable mapgens:
-# v5, v6, v7 (except floatlands), singlenode.
-# 'stable' means the terrain shape in an existing world will not be changed
-# in the future. Note that biomes are defined by games and may still change.
-mg_name (Mapgen name) enum v7 v5,v6,v7,valleys,carpathian,fractal,flat,singlenode
+# Current mapgens in a highly unstable state:
+# - The optional floatlands of v7 (disabled by default).
+mg_name (Mapgen name) enum v7 v7,valleys,carpathian,v5,flat,fractal,singlenode,v6
# Water surface level of the world.
water_level (Water level) int 1
@@ -1349,9 +1385,6 @@ mapgen_limit (Map generation limit) int 31000 0 31000
# and junglegrass, in all other mapgens this flag controls all decorations.
mg_flags (Mapgen flags) flags caves,dungeons,light,decorations,biomes caves,dungeons,light,decorations,biomes,nocaves,nodungeons,nolight,nodecorations,nobiomes
-# Whether dungeons occasionally project from the terrain.
-projecting_dungeons (Projecting dungeons) bool true
-
[*Biome API temperature and humidity noise parameters]
# Temperature variation for biomes.
@@ -1377,6 +1410,7 @@ mgv5_cave_width (Cave width) float 0.09
# Y of upper limit of large caves.
mgv5_large_cave_depth (Large cave depth) int -256
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
mgv5_lava_depth (Lava depth) int -256
@@ -1419,16 +1453,19 @@ mgv5_np_cavern (Cavern noise) noise_params_3d 0, 1, (384, 128, 384), 723, 5, 0.6
# 3D noise defining terrain.
mgv5_np_ground (Ground noise) noise_params_3d 0, 40, (80, 80, 80), 983240, 4, 0.55, 2.0, eased
+# 3D noise that determines number of dungeons per mapchunk.
+mgv5_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
+
[*Mapgen V6]
# Map generation attributes specific to Mapgen v6.
# The 'snowbiomes' flag enables the new 5 biome system.
-# When the new biome system is enabled jungles are automatically enabled and
+# When the 'snowbiomes' flag is enabled jungles are automatically enabled and
# the 'jungles' flag is ignored.
-mgv6_spflags (Mapgen V6 specific flags) flags jungles,biomeblend,mudflow,snowbiomes,trees jungles,biomeblend,mudflow,snowbiomes,flat,trees,nojungles,nobiomeblend,nomudflow,nosnowbiomes,noflat,notrees
+mgv6_spflags (Mapgen V6 specific flags) flags jungles,biomeblend,mudflow,snowbiomes,noflat,trees jungles,biomeblend,mudflow,snowbiomes,flat,trees,nojungles,nobiomeblend,nomudflow,nosnowbiomes,noflat,notrees
# Deserts occur when np_biome exceeds this value.
-# When the new biome system is enabled, this is ignored.
+# When the 'snowbiomes' flag is enabled, this is ignored.
mgv6_freq_desert (Desert noise threshold) float 0.45
# Sandy beaches occur when np_beach exceeds this value.
@@ -1490,6 +1527,7 @@ mgv7_cave_width (Cave width) float 0.09
# Y of upper limit of large caves.
mgv7_large_cave_depth (Large cave depth) int -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
mgv7_lava_depth (Lava depth) int -256
@@ -1571,20 +1609,33 @@ mgv7_np_cave1 (Cave1 noise) noise_params_3d 0, 12, (61, 61, 61), 52534, 3, 0.5,
# Second of two 3D noises that together define tunnels.
mgv7_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
+# 3D noise that determines number of dungeons per mapchunk.
+mgv7_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
+
[*Mapgen Carpathian]
# Map generation attributes specific to Mapgen Carpathian.
-mgcarpathian_spflags (Mapgen Carpathian specific flags) flags caverns caverns,nocaverns
+mgcarpathian_spflags (Mapgen Carpathian specific flags) flags caverns,norivers caverns,rivers,nocaverns,norivers
# Defines the base ground level.
mgcarpathian_base_level (Base ground level) float 12.0
+# Defines the width of the river channel.
+mgcarpathian_river_width (River channel width) float 0.05
+
+# Defines the depth of the river channel.
+mgcarpathian_river_depth (River channel depth) float 24.0
+
+# Defines the width of the river valley.
+mgcarpathian_valley_width (River valley width) float 0.25
+
# Controls width of tunnels, a smaller value creates wider tunnels.
mgcarpathian_cave_width (Cave width) float 0.09
# Y of upper limit of large caves.
mgcarpathian_large_cave_depth (Large cave depth) int -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
mgcarpathian_lava_depth (Lava depth) int -256
@@ -1638,6 +1689,9 @@ mgcarpathian_np_ridge_mnt (Ridged mountain size noise) noise_params_2d 0, 12, (7
# 2D noise that controls the shape/size of step mountains.
mgcarpathian_np_step_mnt (Step mountain size noise) noise_params_2d 0, 8, (509, 509, 509), 2590, 6, 0.6, 2.0, eased
+# 2D noise that locates the river valleys and channels.
+mgcarpathian_np_rivers (River noise) noise_params_2d 0, 1, (1000, 1000, 1000), 85039, 5, 0.6, 2.0, eased
+
# 3D noise for mountain overhangs, cliffs, etc. Usually small variations.
mgcarpathian_np_mnt_var (Mountain variation noise) noise_params_3d 0, 1, (499, 499, 499), 2490, 5, 0.55, 2.0
@@ -1650,6 +1704,9 @@ mgcarpathian_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325,
# 3D noise defining giant caverns.
mgcarpathian_np_cavern (Cavern noise) noise_params_3d 0, 1, (384, 128, 384), 723, 5, 0.63, 2.0
+# 3D noise that determines number of dungeons per mapchunk.
+mgcarpathian_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
+
[*Mapgen Flat]
# Map generation attributes specific to Mapgen flat.
@@ -1662,6 +1719,7 @@ mgflat_ground_level (Ground level) int 8
# Y of upper limit of large caves.
mgflat_large_cave_depth (Large cave depth) int -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
mgflat_lava_depth (Lava depth) int -256
@@ -1704,14 +1762,23 @@ mgflat_np_cave1 (Cave1 noise) noise_params_3d 0, 12, (61, 61, 61), 52534, 3, 0.5
# Second of two 3D noises that together define tunnels.
mgflat_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
+# 3D noise that determines number of dungeons per mapchunk.
+mgflat_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
+
[*Mapgen Fractal]
+# Map generation attributes specific to Mapgen flat.
+# 'terrain' enables the generation of non-fractal terrain:
+# ocean, islands and underground.
+mgfractal_spflags (Mapgen Fractal specific flags) flags terrain terrain,noterrain
+
# Controls width of tunnels, a smaller value creates wider tunnels.
mgfractal_cave_width (Cave width) float 0.09
# Y of upper limit of large caves.
mgfractal_large_cave_depth (Large cave depth) int -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
mgfractal_lava_depth (Lava depth) int -256
@@ -1813,6 +1880,9 @@ mgfractal_np_cave1 (Cave1 noise) noise_params_3d 0, 12, (61, 61, 61), 52534, 3,
# Second of two 3D noises that together define tunnels.
mgfractal_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325, 3, 0.5, 2.0
+# 3D noise that determines number of dungeons per mapchunk.
+mgfractal_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
+
[*Mapgen Valleys]
# Map generation attributes specific to Mapgen Valleys.
@@ -1821,7 +1891,7 @@ mgfractal_np_cave2 (Cave2 noise) noise_params_3d 0, 12, (67, 67, 67), 10325, 3,
# '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,noaltitude_chill,humid_rivers,nohumid_rivers,vary_river_depth,novary_river_depth,altitude_dry,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,noaltitude_chill,nohumid_rivers,novary_river_depth,noaltitude_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
@@ -1831,6 +1901,7 @@ mgvalleys_altitude_chill (Altitude chill) int 90
# Depth below which you'll find large caves.
mgvalleys_large_cave_depth (Large cave depth) int -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
mgvalleys_lava_depth (Lava depth) int 1
@@ -1890,6 +1961,9 @@ mgvalleys_np_valley_profile (Valley profile) noise_params_2d 0.6, 0.5, (512, 512
# Slope and fill work together to modify the heights.
mgvalleys_np_inter_valley_slope (Valley slope) noise_params_2d 0.5, 0.5, (128, 128, 128), 746, 1, 1.0, 2.0, eased
+# 3D noise that determines number of dungeons per mapchunk.
+mgvalleys_np_dungeons (Dungeon noise) noise_params_3d 0.9, 0.5, (500, 500, 500), 0, 2, 0.8, 2.0
+
[*Advanced]
# Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).
diff --git a/client/shaders/nodes_shader/opengl_fragment.glsl b/client/shaders/nodes_shader/opengl_fragment.glsl
index 7c5b9b613..19e6c2d86 100644
--- a/client/shaders/nodes_shader/opengl_fragment.glsl
+++ b/client/shaders/nodes_shader/opengl_fragment.glsl
@@ -6,7 +6,16 @@ uniform vec4 skyBgColor;
uniform float fogDistance;
uniform vec3 eyePosition;
+// The cameraOffset is the current center of the visible world.
+uniform vec3 cameraOffset;
+uniform float animationTimer;
+
varying vec3 vPosition;
+// World position in the visible world (i.e. relative to the cameraOffset.)
+// This can be used for many shader effects without loss of precision.
+// If the absolute position is required it can be calculated with
+// cameraOffset + worldPosition (for large coordinates the limits of float
+// precision must be considered).
varying vec3 worldPosition;
varying float area_enable_parallax;
diff --git a/client/shaders/nodes_shader/opengl_vertex.glsl b/client/shaders/nodes_shader/opengl_vertex.glsl
index 54b569c5e..bbf7b1d65 100644
--- a/client/shaders/nodes_shader/opengl_vertex.glsl
+++ b/client/shaders/nodes_shader/opengl_vertex.glsl
@@ -4,9 +4,17 @@ uniform mat4 mWorld;
// Color of the light emitted by the sun.
uniform vec3 dayLight;
uniform vec3 eyePosition;
+
+// The cameraOffset is the current center of the visible world.
+uniform vec3 cameraOffset;
uniform float animationTimer;
varying vec3 vPosition;
+// World position in the visible world (i.e. relative to the cameraOffset.)
+// This can be used for many shader effects without loss of precision.
+// If the absolute position is required it can be calculated with
+// cameraOffset + worldPosition (for large coordinates the limits of float
+// precision must be considered).
varying vec3 worldPosition;
varying vec3 eyeVec;
@@ -68,7 +76,7 @@ float disp_z;
#endif
-#if (MATERIAL_TYPE == TILE_MATERIAL_LIQUID_TRANSPARENT || MATERIAL_TYPE == TILE_MATERIAL_LIQUID_OPAQUE) && ENABLE_WAVING_WATER
+#if (MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT || MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_OPAQUE || MATERIAL_TYPE == TILE_MATERIAL_WAVING_LIQUID_BASIC) && ENABLE_WAVING_WATER
vec4 pos = gl_Vertex;
pos.y -= 2.0;
float posYbuf = (pos.z / WATER_WAVE_LENGTH + animationTimer * WATER_WAVE_SPEED * WATER_WAVE_LENGTH);
diff --git a/cmake/Modules/FindCURL.cmake b/cmake/Modules/FindCURL.cmake
index 2ec866ef9..43aaf3e18 100644
--- a/cmake/Modules/FindCURL.cmake
+++ b/cmake/Modules/FindCURL.cmake
@@ -1,19 +1,16 @@
mark_as_advanced(CURL_LIBRARY CURL_INCLUDE_DIR)
-find_library(CURL_LIBRARY NAMES curl)
+find_library(CURL_LIBRARY NAMES curl libcurl)
find_path(CURL_INCLUDE_DIR NAMES curl/curl.h)
-set(CURL_REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR)
-
if(WIN32)
- find_file(CURL_DLL NAMES libcurl-4.dll
- PATHS
- "C:/Windows/System32"
- DOC "Path to the cURL DLL (for installation)")
- mark_as_advanced(CURL_DLL)
- set(CURL_REQUIRED_VARS ${CURL_REQUIRED_VARS} CURL_DLL)
+ # If VCPKG_APPLOCAL_DEPS is ON, dll's are automatically handled by VCPKG
+ if(NOT VCPKG_APPLOCAL_DEPS)
+ find_file(CURL_DLL NAMES libcurl-4.dll libcurl.dll
+ DOC "Path to the cURL DLL (for installation)")
+ mark_as_advanced(CURL_DLL)
+ endif()
endif()
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(CURL DEFAULT_MSG ${CURL_REQUIRED_VARS})
-
+find_package_handle_standard_args(CURL DEFAULT_MSG CURL_LIBRARY CURL_INCLUDE_DIR)
diff --git a/cmake/Modules/FindIrrlicht.cmake b/cmake/Modules/FindIrrlicht.cmake
index 37349b892..6f361e829 100644
--- a/cmake/Modules/FindIrrlicht.cmake
+++ b/cmake/Modules/FindIrrlicht.cmake
@@ -43,6 +43,7 @@ else()
/usr/local/include/irrlicht
/usr/include/irrlicht
/system/develop/headers/irrlicht #Haiku
+ PATH_SUFFIXES "include/irrlicht"
)
find_library(IRRLICHT_LIBRARY NAMES libIrrlicht.so libIrrlicht.a Irrlicht
@@ -56,16 +57,19 @@ endif()
# On Windows, find the DLL for installation
if(WIN32)
- if(MSVC)
- set(IRRLICHT_COMPILER "VisualStudio")
- else()
- set(IRRLICHT_COMPILER "gcc")
+ # If VCPKG_APPLOCAL_DEPS is ON, dll's are automatically handled by VCPKG
+ if(NOT VCPKG_APPLOCAL_DEPS)
+ if(MSVC)
+ set(IRRLICHT_COMPILER "VisualStudio")
+ else()
+ set(IRRLICHT_COMPILER "gcc")
+ endif()
+ find_file(IRRLICHT_DLL NAMES Irrlicht.dll
+ PATHS
+ "${IRRLICHT_SOURCE_DIR}/bin/Win32-${IRRLICHT_COMPILER}"
+ DOC "Path of the Irrlicht dll (for installation)"
+ )
endif()
- find_file(IRRLICHT_DLL NAMES Irrlicht.dll
- PATHS
- "${IRRLICHT_SOURCE_DIR}/bin/Win32-${IRRLICHT_COMPILER}"
- DOC "Path of the Irrlicht dll (for installation)"
- )
endif(WIN32)
include(FindPackageHandleStandardArgs)
diff --git a/cmake/Modules/FindLuaJIT.cmake b/cmake/Modules/FindLuaJIT.cmake
index cd6e7bdd8..4bc88b6b1 100644
--- a/cmake/Modules/FindLuaJIT.cmake
+++ b/cmake/Modules/FindLuaJIT.cmake
@@ -9,7 +9,7 @@
FIND_PATH(LUA_INCLUDE_DIR luajit.h
HINTS
$ENV{LUA_DIR}
- PATH_SUFFIXES include/luajit-2.1 include/luajit-2.0 include/luajit-5_1-2.1 include/luajit-5_1-2.0 include
+ PATH_SUFFIXES include/luajit-2.1 include/luajit-2.0 include/luajit-5_1-2.1 include/luajit-5_1-2.0 include luajit
PATHS
~/Library/Frameworks
/Library/Frameworks
@@ -19,19 +19,31 @@ FIND_PATH(LUA_INCLUDE_DIR luajit.h
/opt
)
-FIND_LIBRARY(LUA_LIBRARY
- NAMES luajit-5.1
- HINTS
- $ENV{LUA_DIR}
- PATH_SUFFIXES lib64 lib
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /sw
- /opt/local
- /opt/csw
- /opt
-)
+# Test if running on vcpkg toolchain
+if(DEFINED VCPKG_TARGET_TRIPLET AND DEFINED VCPKG_APPLOCAL_DEPS)
+ # On vcpkg luajit is 'lua51' and normal lua is 'lua'
+ FIND_LIBRARY(LUA_LIBRARY
+ NAMES lua51
+ HINTS
+ $ENV{LUA_DIR}
+ PATH_SUFFIXES lib
+ )
+else()
+ FIND_LIBRARY(LUA_LIBRARY
+ NAMES luajit-5.1
+ HINTS
+ $ENV{LUA_DIR}
+ PATH_SUFFIXES lib64 lib
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ )
+endif()
+
IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/luajit.h")
FILE(STRINGS "${LUA_INCLUDE_DIR}/luajit.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"LuaJIT .+\"")
diff --git a/cmake/Modules/FindOpenGLES2.cmake b/cmake/Modules/FindOpenGLES2.cmake
index a8622f3b2..a47126705 100644
--- a/cmake/Modules/FindOpenGLES2.cmake
+++ b/cmake/Modules/FindOpenGLES2.cmake
@@ -1,6 +1,4 @@
#-------------------------------------------------------------------
-# This file is stolen from part of the CMake build system for OGRE (Object-oriented Graphics Rendering Engine) http://www.ogre3d.org/
-#
# The contents of this file are placed in the public domain. Feel
# free to make use of it in any way you like.
#-------------------------------------------------------------------
@@ -16,26 +14,18 @@
# EGL_INCLUDE_DIR - the EGL include directory
# EGL_LIBRARIES - Link these to use EGL
-# Win32, Apple, and Android are not tested!
+# Win32 and Apple are not tested!
# Linux tested and works
if(WIN32)
- if(CYGWIN)
- find_path(OPENGLES2_INCLUDE_DIR GLES2/gl2.h)
- find_library(OPENGLES2_LIBRARY libGLESv2)
- else()
- if(BORLAND)
- set(OPENGLES2_LIBRARY import32 CACHE STRING "OpenGL ES 2.x library for Win32")
- else()
- # TODO
- # set(OPENGLES_LIBRARY ${SOURCE_DIR}/Dependencies/lib/release/libGLESv2.lib CACHE STRING "OpenGL ES 2.x library for win32"
- endif()
- endif()
+ find_path(OPENGLES2_INCLUDE_DIR GLES2/gl2.h)
+ find_library(OPENGLES2_LIBRARY libGLESv2)
elseif(APPLE)
create_search_paths(/Developer/Platforms)
findpkg_framework(OpenGLES2)
set(OPENGLES2_LIBRARY "-framework OpenGLES")
else()
+ # Unix
find_path(OPENGLES2_INCLUDE_DIR GLES2/gl2.h
PATHS /usr/openwin/share/include
/opt/graphics/OpenGL/include
@@ -47,55 +37,34 @@ else()
NAMES GLESv2
PATHS /opt/graphics/OpenGL/lib
/usr/openwin/lib
- /usr/shlib /usr/X11R6/lib
+ /usr/X11R6/lib
/usr/lib
)
- if(NOT BUILD_ANDROID)
- find_path(EGL_INCLUDE_DIR EGL/egl.h
- PATHS /usr/openwin/share/include
- /opt/graphics/OpenGL/include
- /usr/X11R6/include
- /usr/include
- )
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(OPENGLES2 DEFAULT_MSG OPENGLES2_LIBRARY OPENGLES2_INCLUDE_DIR)
- find_library(EGL_LIBRARY
- NAMES EGL
- PATHS /opt/graphics/OpenGL/lib
- /usr/openwin/lib
- /usr/shlib
- /usr/X11R6/lib
- /usr/lib
- )
+ find_path(EGL_INCLUDE_DIR EGL/egl.h
+ PATHS /usr/openwin/share/include
+ /opt/graphics/OpenGL/include
+ /usr/X11R6/include
+ /usr/include
+ )
- # On Unix OpenGL usually requires X11.
- # It doesn't require X11 on OSX.
+ find_library(EGL_LIBRARY
+ NAMES EGL
+ PATHS /opt/graphics/OpenGL/lib
+ /usr/openwin/lib
+ /usr/X11R6/lib
+ /usr/lib
+ )
- if(OPENGLES2_LIBRARY)
- if(NOT X11_FOUND)
- include(FindX11)
- endif()
- if(X11_FOUND)
- set(OPENGLES2_LIBRARIES ${X11_LIBRARIES})
- endif()
- endif()
- endif()
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(EGL DEFAULT_MSG EGL_LIBRARY EGL_INCLUDE_DIR)
endif()
-set(OPENGLES2_LIBRARIES ${OPENGLES2_LIBRARIES} ${OPENGLES2_LIBRARY})
-
-if(BUILD_ANDROID)
- if(OPENGLES2_LIBRARY)
- set(EGL_LIBRARIES)
- set(OPENGLES2_FOUND TRUE)
- endif()
-else()
- if(OPENGLES2_LIBRARY AND EGL_LIBRARY)
- set(OPENGLES2_LIBRARIES ${OPENGLES2_LIBRARY} ${OPENGLES2_LIBRARIES})
- set(EGL_LIBRARIES ${EGL_LIBRARY} ${EGL_LIBRARIES})
- set(OPENGLES2_FOUND TRUE)
- endif()
-endif()
+set(OPENGLES2_LIBRARIES ${OPENGLES2_LIBRARY})
+set(EGL_LIBRARIES ${EGL_LIBRARY})
mark_as_advanced(
OPENGLES2_INCLUDE_DIR
@@ -103,10 +72,3 @@ mark_as_advanced(
EGL_INCLUDE_DIR
EGL_LIBRARY
)
-
-if(OPENGLES2_FOUND)
- message(STATUS "Found system OpenGL ES 2 library: ${OPENGLES2_LIBRARIES}")
-else()
- set(OPENGLES2_LIBRARIES "")
-endif()
-
diff --git a/doc/client_lua_api.txt b/doc/client_lua_api.txt
index 9253b5568..4bb53f403 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.1
-===============================================
+Minetest Lua Client Modding API Reference 5.1.0
+================================================
* More information at <http://www.minetest.net/>
* Developer Wiki: <http://dev.minetest.net/>
@@ -30,6 +30,16 @@ Startup
Mods are loaded during client startup from the mod load paths by running
the `init.lua` scripts in a shared environment.
+In order to load client-side mods in a world, the following conditions need to be satisfied:
+
+1) `$path_user/minetest.conf` contains the setting `enable_client_modding = true`
+
+2) The client-side mod located in `$path_user/clientmods/<modname>` is added to
+ `$path_user/clientmods/mods.conf` as `load_mod_<modname> = true`.
+
+Note: Depending on the remote server's settings, client-side mods might not
+be loaded or have limited functionality. See setting `csm_restriction_flags` for reference.
+
Paths
-----
* `RUN_IN_PLACE=1` (Windows release, local build)
@@ -101,9 +111,6 @@ The main Lua script. Running this script should register everything it
wants to register. Subsequent execution depends on minetest calling the
registered callbacks.
-`minetest.setting_get(name)` and `minetest.setting_getbool(name)` can be used
-to read custom or existing settings at load time, if necessary.
-
### `sounds`
Media files (sounds) that will be transferred to the
client and will be available for use by the mod.
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index 2edd0d9de..907f47e73 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -3,10 +3,10 @@ Minetest Lua Modding API Reference
* More information at <http://www.minetest.net/>
* Developer Wiki: <http://dev.minetest.net/>
-
+* (Unofficial) Minetest Modding Book by rubenwardy: <https://rubenwardy.com/minetest_modding_book/>
Introduction
-============
+------------
Content and functionality can be added to Minetest using Lua scripting
in run-time loaded mods.
@@ -154,7 +154,7 @@ The location of this directory can be fetched by using
### mod.conf
-A key-value store of mod details.
+A `Settings` file that provides meta information about the mod.
* `name`: The mod name. Allows Minetest to determine the mod name even if the
folder is wrongly named.
@@ -196,8 +196,9 @@ A file containing a description to be shown in the Mods tab of the main menu.
### `settingtypes.txt`
-A file in the same format as the one in builtin. It will be parsed by the
-settings menu and the settings will be displayed in the "Mods" category.
+The format is documented in `builtin/settingtypes.txt`.
+It is parsed by the main menu settings dialogue to list mod-specific
+settings in the "Mods" category.
### `init.lua`
@@ -283,40 +284,35 @@ Mapgen aliases
--------------
In a game, a certain number of these must be set to tell core mapgens which
-of the game's nodes are to be used by the core mapgens. For example:
+of the game's nodes are to be used for core mapgen generation. For example:
minetest.register_alias("mapgen_stone", "default:stone")
-### Aliases needed for all mapgens except Mapgen V6
+### Aliases for non-V6 mapgens
-#### Base terrain
+#### Essential aliases
* mapgen_stone
* mapgen_water_source
* mapgen_river_water_source
-#### Caves
+`mapgen_river_water_source` is required for mapgens with sloping rivers where
+it is necessary to have a river liquid node with a short `liquid_range` and
+`liquid_renewable = false` to avoid flooding.
-Not required if cave liquid nodes are set in biome definitions.
+#### Optional aliases
* mapgen_lava_source
-#### Dungeons
-
-Not required if dungeon nodes are set in biome definitions.
+Fallback lava node used if cave liquids are not defined in biome definitions.
+Deprecated for non-V6 mapgens, define cave liquids in biome definitions instead.
* mapgen_cobble
-* mapgen_stair_cobble
-* mapgen_mossycobble
-* mapgen_desert_stone
-* mapgen_stair_desert_stone
-* mapgen_sandstone
-* mapgen_sandstonebrick
-* mapgen_stair_sandstone_block
-### Aliases needed for Mapgen V6
+Fallback node used if dungeon nodes are not defined in biome definitions.
+Deprecated for non-V6 mapgens, define dungeon nodes in biome definitions instead.
-#### Terrain and biomes
+### Aliases needed for Mapgen V6
* mapgen_stone
* mapgen_water_source
@@ -332,8 +328,6 @@ Not required if dungeon nodes are set in biome definitions.
* mapgen_snow
* mapgen_ice
-#### Flora
-
* mapgen_tree
* mapgen_leaves
* mapgen_apple
@@ -343,8 +337,6 @@ Not required if dungeon nodes are set in biome definitions.
* mapgen_pine_tree
* mapgen_pine_needles
-#### Dungeons
-
* mapgen_cobble
* mapgen_stair_cobble
* mapgen_mossycobble
@@ -865,6 +857,15 @@ A positional sound will only be heard by players that are within
* e.g. `{name = "default_place_node", gain = 1.0, pitch = 1.0}`
+Special sound files
+-------------------
+
+These sound files are played back by the engine if provided.
+
+ * `main_menu`: Looped sound in the main menu (gain = 1.0)
+ * `player_damage`: Played when the local player takes damage (gain = 0.5)
+ * `player_falling_damage`: Played when the local player takes
+ damage by falling (gain = 0.5)
Registered definitions
@@ -1171,6 +1172,64 @@ A box of a regular node would look like:
+Map terminology and coordinates
+===============================
+
+Nodes, mapblocks, mapchunks
+---------------------------
+
+A 'node' is the fundamental cubic unit of a world and appears to a player as
+roughly 1x1x1 meters in size.
+
+A 'mapblock' (often abbreviated to 'block') is 16x16x16 nodes and is the
+fundamental region of a world that is stored in the world database, sent to
+clients and handled by many parts of the engine.
+'mapblock' is preferred terminology to 'block' to help avoid confusion with
+'node', however 'block' often appears in the API.
+
+A 'mapchunk' (sometimes abbreviated to 'chunk') is usually 5x5x5 mapblocks
+(80x80x80 nodes) and is the volume of world generated in one operation by
+the map generator.
+The size in mapblocks has been chosen to optimise map generation.
+
+Coordinates
+-----------
+
+### Orientation of axes
+
+For node and mapblock coordinates, +X is East, +Y is up, +Z is North.
+
+### Node coordinates
+
+Almost all positions used in the API use node coordinates.
+
+### Mapblock coordinates
+
+Occasionally the API uses 'blockpos' which refers to mapblock coordinates that
+specify a particular mapblock.
+For example blockpos (0,0,0) specifies the mapblock that extends from
+node position (0,0,0) to node position (15,15,15).
+
+#### Converting node position to the containing blockpos
+
+To calculate the blockpos of the mapblock that contains the node at 'nodepos',
+for each axis:
+
+* blockpos = math.floor(nodepos / 16)
+
+#### Converting blockpos to min/max node positions
+
+To calculate the min/max node positions contained in the mapblock at 'blockpos',
+for each axis:
+
+* Minimum:
+ nodepos = blockpos * 16
+* Maximum:
+ nodepos = blockpos * 16 + 15
+
+
+
+
HUD
===
@@ -1276,6 +1335,9 @@ For helper functions see [Spatial Vectors].
* `{type="nothing"}`
* `{type="node", under=pos, above=pos}`
+ * Indicates a pointed node selection box.
+ * `under` refers to the node position behind the pointed face.
+ * `above` refers to the node position in front of the pointed face.
* `{type="object", ref=ObjectRef}`
Exact pointing location (currently only `Raycast` supports these fields):
@@ -1485,33 +1547,59 @@ Another example: Make red wool from white wool and red dye:
Special groups
--------------
-* `immortal`: Disables the group damage system for an entity
-* `punch_operable`: For entities; disables the regular damage mechanism for
- players punching it by hand or a non-tool item, so that it can do something
- else than take damage.
-* `level`: Can be used to give an additional sense of progression in the game.
- * A larger level will cause e.g. a weapon of a lower level make much less
- damage, and get worn out much faster, or not be able to get drops
- from destroyed nodes.
- * `0` is something that is directly accessible at the start of gameplay
- * There is no upper limit
+The asterisk `(*)` after a group name describes that there is no engine
+functionality bound to it, and implementation is left up as a suggestion
+to games.
+
+### Node, item and tool groups
+
+* `not_in_creative_inventory`: (*) Special group for inventory mods to indicate
+ that the item should be hidden in item lists.
+
+
+### Node-only groups
+
+* `attached_node`: if the node under it is not a walkable block the node will be
+ dropped as an item. If the node is wallmounted the wallmounted direction is
+ checked.
+* `bouncy`: value is bounce speed in percent
+* `connect_to_raillike`: makes nodes of raillike drawtype with same group value
+ connect to each other
* `dig_immediate`: Player can always pick up node without reducing tool wear
* `2`: the node always gets the digging time 0.5 seconds (rail, sign)
* `3`: the node always gets the digging time 0 seconds (torch)
* `disable_jump`: Player (and possibly other things) cannot jump from node
* `fall_damage_add_percent`: damage speed = `speed * (1 + value/100)`
-* `bouncy`: value is bounce speed in percent
* `falling_node`: if there is no walkable block under the node it will fall
-* `attached_node`: if the node under it is not a walkable block the node will be
- dropped as an item. If the node is wallmounted the wallmounted direction is
- checked.
-* `connect_to_raillike`: makes nodes of raillike drawtype with same group value
- connect to each other
+* `float`: the node will not fall through liquids
+* `level`: Can be used to give an additional sense of progression in the game.
+ * A larger level will cause e.g. a weapon of a lower level make much less
+ damage, and get worn out much faster, or not be able to get drops
+ from destroyed nodes.
+ * `0` is something that is directly accessible at the start of gameplay
+ * There is no upper limit
+ * See also: `leveldiff` in [Tools]
* `slippery`: Players and items will slide on the node.
Slipperiness rises steadily with `slippery` value, starting at 1.
+
+
+### Tool-only groups
+
* `disable_repair`: If set to 1 for a tool, it cannot be repaired using the
`"toolrepair"` crafting recipe
+
+### `ObjectRef` groups
+
+* `immortal`: Skips all damage and breath handling for an object. This group
+ will also hide the integrated HUD status bars for players, and is
+ automatically set to all players when damage is disabled on the server.
+* `punch_operable`: For entities; disables the regular damage mechanism for
+ players punching it by hand or a non-tool item, so that it can do something
+ else than take damage.
+
+
+
Known damage and digging time defining groups
---------------------------------------------
@@ -1601,6 +1689,8 @@ to implement this.
Determines how many uses the tool has when it is used for digging a node,
of this group, of the maximum level. For lower leveled nodes, the use count
is multiplied by `3^leveldiff`.
+`leveldiff` is the difference of the tool's `maxlevel` `groupcaps` and the
+node's `level` group. The node cannot be dug if `leveldiff` is less than zero.
* `uses=10, leveldiff=0`: actual uses: 10
* `uses=10, leveldiff=1`: actual uses: 30
@@ -1817,9 +1907,15 @@ is used when the server receives user input. You must not use the name
Spaces and newlines can be inserted between the blocks, as is used in the
examples.
-Position and size units are inventory slots, `X` and `Y` position the formspec
-element relative to the top left of the menu or container. `W` and `H` are its
-width and height values.
+Position and size units are inventory slots unless the new coordinate system
+is enabled. `X` and `Y` position the formspec element relative to the top left
+of the menu or container. `W` and `H` are its width and height values.
+
+If the new system is enabled, all elements have unified coordinates for all
+elements with no padding or spacing in between. This is highly recommended
+for new forms. See `real_coordinates[<bool>]` and `Migrating to Real
+Coordinates`.
+
Inventories with a `player:<name>` inventory location are only sent to the
player named `<name>`.
@@ -1827,9 +1923,13 @@ When displaying text which can contain formspec code, e.g. text set by a player,
use `minetest.formspec_escape`.
For coloured text you can use `minetest.colorize`.
-WARNING: Minetest allows you to add elements to every single formspec instance
+**WARNING**: do _not_ use a element name starting with `key_`; those names are
+reserved to pass key press events to formspec!
+
+**WARNING**: Minetest allows you to add elements to every single formspec instance
using `player:set_formspec_prepend()`, which may be the reason backgrounds are
-appearing when you don't expect them to. See [`no_prepend[]`].
+appearing when you don't expect them to, or why things are styled differently
+to normal. See [`no_prepend[]`] and [Styling Formspecs].
Examples
--------
@@ -1859,6 +1959,15 @@ Examples
Elements
--------
+### `formspec_version[<version>]`
+
+* Set the formspec version to a certain number. If not specified,
+ version 1 is assumed.
+* Must be specified before `size` element.
+* Clients older than this version can neither show newer elements nor display
+ elements with new arguments correctly.
+* Available since feature `formspec_version_element`.
+
### `size[<W>,<H>,<fixed_size>]`
* Define the size of the menu in inventory slots
@@ -1893,6 +2002,17 @@ Elements
* Must be used after the `size`, `position`, and `anchor` elements (if present).
* Disables player:set_formspec_prepend() from applying to this formspec.
+### `real_coordinates[<bool>]`
+
+* INFORMATION: Enable it automatically using `formspec_version` version 2 or newer.
+* When set to true, all following formspec elements will use the new coordinate system.
+* If used immediately after `size`, `position`, `anchor`, and `no_prepend` elements
+ (if present), the form size will use the new coordinate system.
+* **Note**: Formspec prepends are not affected by the coordinates in the main form.
+ They must enable it explicitly.
+* For information on converting forms to the new coordinate system, see `Migrating
+ to Real Coordinates`.
+
### `container[<X>,<Y>]`
* Start of a container block, moves all physical elements in the container by
@@ -1910,11 +2030,15 @@ Elements
* Show an inventory list if it has been sent to the client. Nothing will
be shown if the inventory list is of size 0.
+* **Note**: With the new coordinate system, the spacing between inventory
+ slots is one-fourth the size of an inventory slot.
### `list[<inventory location>;<list name>;<X>,<Y>;<W>,<H>;<starting item index>]`
* Show an inventory list if it has been sent to the client. Nothing will
be shown if the inventory list is of size 0.
+* **Note**: With the new coordinate system, the spacing between inventory
+ slots is one-fourth the size of an inventory slot.
### `listring[<inventory location>;<list name>]`
@@ -1971,29 +2095,44 @@ Elements
### `bgcolor[<color>;<fullscreen>]`
* Sets background color of formspec as `ColorString`
-* If `true`, the background color is drawn fullscreen (does not affect the size
- of the formspec).
+* If `true`, a fullscreen background is drawn and the color is ignored
+ (does not affect the size of the formspec)
### `background[<X>,<Y>;<W>,<H>;<texture name>]`
-* Use a background. Inventory rectangles are not drawn then.
* Example for formspec 8x4 in 16x resolution: image shall be sized
8 times 16px times 4 times 16px.
### `background[<X>,<Y>;<W>,<H>;<texture name>;<auto_clip>]`
-* Use a background. Inventory rectangles are not drawn then.
* Example for formspec 8x4 in 16x resolution:
image shall be sized 8 times 16px times 4 times 16px
* If `auto_clip` is `true`, the background is clipped to the formspec size
(`x` and `y` are used as offset values, `w` and `h` are ignored)
+### `background9[<X>,<Y>;<W>,<H>;<texture name>;<auto_clip>;<middle>]`
+
+* 9-sliced background. See https://en.wikipedia.org/wiki/9-slice_scaling
+* Middle is a rect which defines the middle of the 9-slice.
+ * `x` - The middle will be x pixels from all sides.
+ * `x,y` - The middle will be x pixels from the horizontal and y from the vertical.
+ * `x,y,x2,y2` - The middle will start at x,y, and end at x2, y2. Negative x2 and y2 values
+ will be added to the width and height of the texture, allowing it to be used as the
+ distance from the far end.
+ * All numbers in middle are integers.
+* Example for formspec 8x4 in 16x resolution:
+ image shall be sized 8 times 16px times 4 times 16px
+* If `auto_clip` is `true`, the background is clipped to the formspec size
+ (`x` and `y` are used as offset values, `w` and `h` are ignored)
+* Available since formspec version 2
+
### `pwdfield[<X>,<Y>;<W>,<H>;<name>;<label>]`
* Textual password style field; will be sent to server when a button is clicked
* When enter is pressed in field, fields.key_enter_field will be sent with the
name of this field.
-* Fields are a set height, but will be vertically centred on `H`
+* With the old coordinate system, fields are a set height, but will be vertically
+ centred on `H`. With the new coordinate system, `H` will modify the height.
* `name` is the name of the field as returned in fields to `on_receive_fields`
* `label`, if not blank, will be text printed on the top left above the field
* See `field_close_on_enter` to stop enter closing the formspec
@@ -2003,7 +2142,8 @@ Elements
* Textual field; will be sent to server when a button is clicked
* When enter is pressed in field, `fields.key_enter_field` will be sent with
the name of this field.
-* Fields are a set height, but will be vertically centred on `H`
+* With the old coordinate system, fields are a set height, but will be vertically
+ centred on `H`. With the new coordinate system, `H` will modify the height.
* `name` is the name of the field as returned in fields to `on_receive_fields`
* `label`, if not blank, will be text printed on the top left above the field
* `default` is the default value of the field
@@ -2040,23 +2180,34 @@ Elements
* The label formspec element displays the text set in `label`
at the specified position.
+* **Note**: If the new coordinate system is enabled, labels are
+ positioned from the center of the text, not the top.
* The text is displayed directly without automatic line breaking,
- so label should not be used for big text chunks.
+ so label should not be used for big text chunks. Newlines can be
+ used to make labels multiline.
+* **Note**: With the new coordinate system, newlines are spaced with
+ half a coordinate. With the old system, newlines are spaced 2/5 of
+ an inventory slot.
### `vertlabel[<X>,<Y>;<label>]`
* Textual label drawn vertically
* `label` is the text on the label
+* **Note**: If the new coordinate system is enabled, vertlabels are
+ positioned from the center of the text, not the left.
### `button[<X>,<Y>;<W>,<H>;<name>;<label>]`
* Clickable button. When clicked, fields will be sent.
-* Fixed button height. It will be vertically centred on `H`
+* With the old coordinate system, buttons are a set height, but will be vertically
+ centred on `H`. With the new coordinate system, `H` will modify the height.
* `label` is the text on the button
### `image_button[<X>,<Y>;<W>,<H>;<texture name>;<name>;<label>]`
* `texture name` is the filename of an image
+* **Note**: Height is supported on both the old and new coordinate systems
+ for image_buttons.
### `image_button[<X>,<Y>;<W>,<H>;<texture name>;<name>;<label>;<noclip>;<drawborder>;<pressed texture name>]`
@@ -2075,10 +2226,12 @@ Elements
### `button_exit[<X>,<Y>;<W>,<H>;<name>;<label>]`
* When clicked, fields will be sent and the form will quit.
+* Same as `button` in all other respects.
### `image_button_exit[<X>,<Y>;<W>,<H>;<texture name>;<name>;<label>]`
* When clicked, fields will be sent and the form will quit.
+* Same as `image_button` in all other respects.
### `textlist[<X>,<Y>;<W>,<H>;<name>;<listelem 1>,<listelem 2>,...,<listelem n>]`
@@ -2104,6 +2257,34 @@ Elements
### `tabheader[<X>,<Y>;<name>;<caption 1>,<caption 2>,...,<caption n>;<current_tab>;<transparent>;<draw_border>]`
* Show a tab**header** at specific position (ignores formsize)
+* `X` and `Y`: position of the tabheader
+* *Note*: Width and height are automatically chosen with this syntax
+* `name` fieldname data is transferred to Lua
+* `caption 1`...: name shown on top of tab
+* `current_tab`: index of selected tab 1...
+* `transparent` (optional): show transparent
+* `draw_border` (optional): draw border
+
+### `tabheader[<X>,<Y>;<H>;<name>;<caption 1>,<caption 2>,...,<caption n>;<current_tab>;<transparent>;<draw_border>]`
+
+* Show a tab**header** at specific position (ignores formsize)
+* **Important note**: This syntax for tabheaders can only be used with the
+ new coordinate system.
+* `X` and `Y`: position of the tabheader
+* `H`: height of the tabheader. Width is automatically determined with this syntax.
+* `name` fieldname data is transferred to Lua
+* `caption 1`...: name shown on top of tab
+* `current_tab`: index of selected tab 1...
+* `transparent` (optional): show transparent
+* `draw_border` (optional): draw border
+
+### `tabheader[<X>,<Y>;<W>,<H>;<name>;<caption 1>,<caption 2>,...,<caption n>;<current_tab>;<transparent>;<draw_border>]`
+
+* Show a tab**header** at specific position (ignores formsize)
+* **Important note**: This syntax for tabheaders can only be used with the
+ new coordinate system.
+* `X` and `Y`: position of the tabheader
+* `W` and `H`: width and height of the tabheader
* `name` fieldname data is transferred to Lua
* `caption 1`...: name shown on top of tab
* `current_tab`: index of selected tab 1...
@@ -2122,8 +2303,22 @@ Elements
* **Important note**: There are two different operation modes:
1. handle directly on change (only changed dropdown is submitted)
2. read the value on pressing a button (all dropdown values are available)
-* `x` and `y` position of dropdown
-* Width of dropdown
+* `X` and `Y`: position of the dropdown
+* `W`: width of the dropdown. Height is automatically chosen with this syntax.
+* Fieldname data is transferred to Lua
+* Items to be shown in dropdown
+* Index of currently selected dropdown item
+
+### `dropdown[<X>,<Y>;<W>,<H>;<name>;<item 1>,<item 2>, ...,<item n>;<selected idx>]`
+
+* Show a dropdown field
+* **Important note**: This syntax for dropdowns can only be used with the
+ new coordinate system.
+* **Important note**: There are two different operation modes:
+ 1. handle directly on change (only changed dropdown is submitted)
+ 2. read the value on pressing a button (all dropdown values are available)
+* `X` and `Y`: position of the dropdown
+* `W` and `H`: width and height of the dropdown
* Fieldname data is transferred to Lua
* Items to be shown in dropdown
* Index of currently selected dropdown item
@@ -2134,6 +2329,8 @@ Elements
* `name` fieldname data is transferred to Lua
* `label` to be shown left of checkbox
* `selected` (optional): `true`/`false`
+* **Note**: If the new coordinate system is enabled, checkboxes are
+ positioned from the center of the checkbox, not the top.
### `scrollbar[<X>,<Y>;<W>,<H>;<orientation>;<name>;<value>]`
@@ -2207,11 +2404,132 @@ Elements
* `span=<value>`: number of following columns to affect
(default: infinite).
-**Note**: do _not_ use a element name starting with `key_`; those names are
-reserved to pass key press events to formspec!
+### `style[<name>;<prop1>;<prop2>;...]`
+
+* Set the style for the named element `name`.
+* Note: this **must** be before the element is defined.
+* See [Styling Formspecs].
+
+
+### `style_type[<type>;<prop1>;<prop2>;...]`
+
+* Sets the style for all elements of type `type` which appear after this element.
+* See [Styling Formspecs].
+
+Migrating to Real Coordinates
+-----------------------------
+
+In the old system, positions included padding and spacing. Padding is a gap between
+the formspec window edges and content, and spacing is the gaps between items. For
+example, two `1x1` elements at `0,0` and `1,1` would have a spacing of `5/4` between them,
+and a padding of `3/8` from the formspec edge. It may be easiest to recreate old layouts
+in the new coordinate system from scratch.
+
+To recreate an old layout with padding, you'll need to pass the positions and sizes
+through the following formula to re-introduce padding:
+
+```
+pos = (oldpos + 1)*spacing + padding
+where
+ padding = 3/8
+ spacing = 5/4
+```
+You'll need to change the `size[]` tag like this:
+```
+size = (oldsize-1)*spacing + padding*2 + 1
+```
+A few elements had random offsets in the old system. Here is a table which shows these
+offsets when migrating:
+
+| Element | Position | Size | Notes
+|---------|------------|---------|-------
+| box | +0.3, +0.1 | 0, -0.4 |
+| button | | | Buttons now support height, so set h = 2 * 15/13 * 0.35, and reposition if h ~= 15/13 * 0.35 before
+| list | | | Spacing is now 0.25 for both directions, meaning lists will be taller in height
+| label | 0, +0.3 | | The first line of text is now positioned centered exactly at the position specified
+
+Styling Formspecs
+-----------------
+
+Formspec elements can be themed using the style elements:
+
+ style[<name>;<prop1>;<prop2>;...]
+ style_type[<type>;<prop1>;<prop2>;...]
+
+Where a prop is:
+
+ property_name=property_value
+
+For example:
+
+ style_type[button;bgcolor=#006699]
+ style[world_delete;bgcolor=red;textcolor=yellow]
+ button[4,3.95;2.6,1;world_delete;Delete]
+
+Setting a property to nothing will reset it to the default value. For example:
+
+ style_type[button;bgimg=button.png;bgimg_pressed=button_pressed.png;border=false]
+ style[btn_exit;bgimg=;bgimg_pressed=;border=;bgcolor=red]
+
+
+### Supported Element Types
+
+Some types may inherit styles from parent types.
+
+* button
+* button_exit, inherits from button
+* checkbox
+* scrollbar
+* table
+* textlist
+* dropdown
+* field
+* pwdfield, inherits from field
+* textarea
+* label
+* vertlabel, inherits from field
+* image_button
+* item_image_button, inherits from image_button
+* tabheader
+
+
+### Valid Properties
+
+* button, button_exit
+ * alpha - boolean, whether to draw alpha in bgimg. Default true.
+ * bgcolor - color, sets button tint.
+ * bgimg - standard image. Defaults to none.
+ * bgimg_pressed - image when pressed. Defaults to bgimg when not provided.
+ * border - boolean, draw border. Set to false to hide the bevelled button pane. Default true.
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+ * textcolor - color, default white.
+* checkbox
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+* scrollbar
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+* table, textlist
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+* dropdown
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+* field, pwdfield, textarea
+ * border - set to false to hide the textbox background and border. Default true.
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+ * textcolor - color. Default white.
+* label, vertlabel
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+* image_button
+ * alpha - boolean, whether to draw alpha in bgimg. Default true.
+ * border - boolean, draw border. Set to false to hide the bevelled button pane. Default false.
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+* item_image_button
+ * border - boolean, draw border. Set to false to hide the bevelled button pane. Default false.
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+* tabheader
+ * noclip - boolean, set to true to allow the element to exceed formspec bounds.
+ * textcolor - color. Default white.
Inventory
=========
@@ -2234,8 +2552,7 @@ Player Inventory lists
* `craftresult`: list containing the crafted output
* `hand`: list containing an override for the empty hand
* Is not created automatically, use `InvRef:set_size`
-
-
+ * Is only used to enhance the empty hand's tool capabilities
Colors
@@ -2340,6 +2657,12 @@ For the following functions, `v`, `v1`, `v2` are vectors,
* Returns a boolean, `true` if the vectors are identical.
* `vector.sort(v1, v2)`:
* Returns in order minp, maxp vectors of the cuboid defined by `v1`, `v2`.
+* `vector.angle(v1, v2)`:
+ * Returns the angle between `v1` and `v2` in radians.
+* `vector.dot(v1, v2)`
+ * Returns the dot product of `v1` and `v2`
+* `vector.cross(v1, v2)`
+ * Returns the cross product of `v1` and `v2`
For the following functions `x` can be either a vector or a number:
@@ -2378,6 +2701,7 @@ Helper functions
* tolerance: number, default: `0.0`
* If the absolute value of `x` is within the `tolerance` or `x` is NaN,
`0` is returned.
+* `math.factorial(x)`: returns the factorial of `x`
* `string.split(str, separator, include_empty, max_splits, sep_is_pattern)`
* `separator`: string, default: `","`
* `include_empty`: boolean, default: `false`
@@ -3191,10 +3515,8 @@ Methods
* To be used only by a `VoxelManip` object from
`minetest.get_mapgen_object`.
* (`p1`, `p2`) is the area in which lighting is set, defaults to the whole
- area if left out or nil.
- * Setting `p1`, `p2` to `emin`, `emax` of the mapgen object voxelmanip (the
- entire volume of the voxelmanip: the mapchunk plus a 1 mapblock thick
- shell around it) will cause an error.
+ area if left out or nil. For almost all uses these should be left out
+ or nil to use the default.
* `propagate_shadow` is an optional boolean deciding whether shadows in a
generated mapchunk above are propagated down into the mapchunk, defaults
to `true` if left out.
@@ -3300,7 +3622,7 @@ Possible fields of the table returned are:
* `decoration`
Decorations have a key in the format of `"decoration#id"`, where `id` is the
-numeric unique decoration ID.
+numeric unique decoration ID as returned by `minetest.get_decoration_id`.
@@ -3468,11 +3790,18 @@ Utilities
-- Chat messages are no longer predicted (0.4.16)
no_chat_message_prediction = true,
-- The transparency channel of textures can optionally be used on
- -- objects (ie: players and lua entities) (5.0)
+ -- objects (ie: players and lua entities) (5.0.0)
object_use_texture_alpha = true,
-- Object selectionbox is settable independently from collisionbox
- -- (5.0)
+ -- (5.0.0)
object_independent_selectionbox = true,
+ -- Specifies whether binary data can be uploaded or downloaded using
+ -- the HTTP API (5.1.0)
+ httpfetch_binary_data = true,
+ -- Whether formspec_version[<version>] may be used (5.1.0)
+ formspec_version_element = true,
+ -- Whether AreaStore's IDs are kept on save/load (5.1.0)
+ area_store_persistent_ids = true,
}
* `minetest.has_feature(arg)`: returns `boolean, missing_features`
@@ -3492,6 +3821,7 @@ Utilities
avg_jitter = 0.03, -- average packet time jitter
connection_uptime = 200, -- seconds since client connected
protocol_version = 32, -- protocol version used by client
+ formspec_version = 2, -- supported formspec version
-- following information is available on debug build only!!!
-- DO NOT USE IN MODS
--ser_vers = 26, -- serialization version used by client
@@ -3566,21 +3896,24 @@ Call these functions only at load time!
mapgens. See [Mapgen aliases] section above.
* `minetest.register_alias_force(alias, original_name)`
* `minetest.register_ore(ore definition)`
- * Returns an integer uniquely identifying the registered ore on success.
+ * Returns an integer object handle uniquely identifying the registered
+ ore on success.
* The order of ore registrations determines the order of ore generation.
* `minetest.register_biome(biome definition)`
- * Returns an integer uniquely identifying the registered biome on success.
+ * Returns an integer object handle uniquely identifying the registered
+ biome on success. To get the biome ID, use `minetest.get_biome_id`.
* `minetest.unregister_biome(name)`
* Unregisters the biome from the engine, and deletes the entry with key
`name` from `minetest.registered_biomes`.
* `minetest.register_decoration(decoration definition)`
- * Returns an integer uniquely identifying the registered decoration on
- success.
+ * Returns an integer object handle uniquely identifying the registered
+ decoration on success. To get the decoration ID, use
+ `minetest.get_decoration_id`.
* The order of decoration registrations determines the order of decoration
generation.
* `minetest.register_schematic(schematic definition)`
- * Returns an integer uniquely identifying the registered schematic on
- success.
+ * Returns an integer object handle uniquely identifying the registered
+ schematic on success.
* If the schematic is loaded from a file, the `name` field is set to the
filename.
* If the function is called when loading the mod, and `name` is a relative
@@ -3659,6 +3992,7 @@ Call these functions only at load time!
* Called after a new player has been created
* `minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage))`
* Called when a player is punched
+ * Note: This callback is invoked even if the punched player is dead.
* `player`: ObjectRef - Player that was punched
* `hitter`: ObjectRef - Player that hit
* `time_from_last_punch`: Meant for disallowing spamming of clicks
@@ -3678,15 +4012,16 @@ Call these functions only at load time!
giving a type - use this for custom damage types.
* `punch`: Was punched. `reason.object` will hold the puncher, or nil if none.
* `fall`
- * `node_damage`: damage_per_second from a neighbouring node.
+ * `node_damage`: `damage_per_second` from a neighbouring node.
+ `reason.node` will hold the node name or nil.
* `drown`
* `respawn`
* Any of the above types may have additional fields from mods.
* `reason.from` will be `mod` or `engine`.
* `modifier`: when true, the function should return the actual `hp_change`.
- Note: modifiers only get a temporary hp_change that can be modified by later modifiers.
- modifiers can return true as a second argument to stop the execution of further functions.
- Non-modifiers receive the final hp change calculated by the modifiers.
+ Note: modifiers only get a temporary `hp_change` that can be modified by later modifiers.
+ Modifiers can return true as a second argument to stop the execution of further functions.
+ Non-modifiers receive the final HP change calculated by the modifiers.
* `minetest.register_on_dieplayer(function(ObjectRef, reason))`
* Called when a player dies
* `reason`: a PlayerHPChangeReason table, see register_on_player_hpchange
@@ -3794,8 +4129,7 @@ Call these functions only at load time!
allow for multiple protection mods.
* `minetest.register_on_item_eat(function(hp_change, replace_with_item, itemstack, user, pointed_thing))`
* Called when an item is eaten, by `minetest.item_eat`
- * Return `true` or `itemstack` to cancel the default item eat response
- (i.e.: hp increase).
+ * Return `itemstack` to cancel the default item eat response (i.e.: hp increase).
* `minetest.register_on_priv_grant(function(name, granter, priv))`
* Called when `granter` grants the priv `priv` to `name`.
* Note that the callback will be called twice if it's done by a player,
@@ -3875,6 +4209,12 @@ Chat
* `minetest.chat_send_all(text)`
* `minetest.chat_send_player(name, text)`
+* `minetest.format_chat_message(name, message)`
+ * Used by the server to format a chat message, based on the setting `chat_message_format`.
+ Refer to the documentation of the setting for a list of valid placeholders.
+ * Takes player name and message, and returns the formatted string to be sent to players.
+ * Can be redefined by mods if required, for things like colored names or messages.
+ * **Only** the first occurrence of each placeholder will be replaced.
Environment access
------------------
@@ -4255,7 +4595,10 @@ Item handling
* `minetest.inventorycube(img1, img2, img3)`
* Returns a string for making an image of a cube (useful as an item image)
* `minetest.get_pointed_thing_position(pointed_thing, above)`
- * Get position of a `pointed_thing` (that you can get from somewhere)
+ * Returns the position of a `pointed_thing` or `nil` if the `pointed_thing`
+ does not refer to a node or entity.
+ * If the optional `above` parameter is true and the `pointed_thing` refers
+ to a node, then it will return the `above` position of the `pointed_thing`.
* `minetest.dir_to_facedir(dir, is6d)`
* Convert a vector to a facedir value, used in `param2` for
`paramtype2="facedir"`.
@@ -4557,6 +4900,18 @@ Schematics
the Lua code generated will use that number of spaces as indentation
instead of a tab character.
+* `minetest.read_schematic(schematic, options)`
+ * Returns a Lua table representing the schematic (see: [Schematic specifier])
+ * `schematic` is the schematic to read (see: [Schematic specifier])
+ * `options` is a table containing the following optional parameters:
+ * `write_yslice_prob`: string value:
+ * `none`: no `write_yslice_prob` table is inserted,
+ * `low`: only probabilities that are not 254 or 255 are written in
+ the `write_ylisce_prob` table,
+ * `all`: write all probabilities to the `write_yslice_prob` table.
+ * The default for this option is `all`.
+ * Any invalid value will be interpreted as `all`.
+
HTTP Requests
-------------
@@ -4675,15 +5030,13 @@ Misc.
* `minetest.decode_base64(string)`: returns string
* Decodes a string encoded in base64.
* `minetest.is_protected(pos, name)`: returns boolean
- * Returns true, if player `name` shouldn't be able to dig at `pos` or do
- other actions, definable by mods, due to some mod-defined ownership-like
- concept.
- * Returns false or nil, if the player is allowed to do such actions.
- * `name` will be "" for non-players or unknown players.
- * This function should be overridden by protection mods and should be used
- to check if a player can interact at a position.
- * This function should call the old version of itself if the position is
- not protected by the mod.
+ * Returning `true` restricts the player `name` from modifying (i.e. digging,
+ placing) the node at position `pos`.
+ * `name` will be `""` for non-players or unknown players.
+ * This function should be overridden by protection mods. It is highly
+ recommended to grant access to players with the `protection_bypass` privilege.
+ * Cache and call the old version of this function if the position is
+ not protected by the mod. This will allow using multiple protection mods.
* Example:
local old_is_protected = minetest.is_protected
@@ -4734,6 +5087,15 @@ Misc.
of the creative mode setting, checks for "sneak" to set the `invert_wall`
parameter and `prevent_after_place` set to `true`.
+* `minetest.calculate_knockback(player, hitter, time_from_last_punch,
+ tool_capabilities, dir, distance, damage)`
+ * Returns the amount of knockback applied on the punched player.
+ * Arguments are equivalent to `register_on_punchplayer`, except the following:
+ * `distance`: distance between puncher and punched player
+ * This function can be overriden by mods that wish to modify this behaviour.
+ * You may want to cache and call the old function to allow multiple mods to
+ change knockback behaviour.
+
* `minetest.forceload_block(pos[, transient])`
* forceloads the position `pos`.
* returns `true` if area could be forceloaded
@@ -4794,17 +5156,19 @@ Global tables
* Map of registered aliases, indexed by name
* `minetest.registered_ores`
* Map of registered ore definitions, indexed by the `name` field.
- * If `name` is nil, the key is the ID returned by `minetest.register_ore`.
+ * If `name` is nil, the key is the object handle returned by
+ `minetest.register_ore`.
* `minetest.registered_biomes`
* Map of registered biome definitions, indexed by the `name` field.
- * If `name` is nil, the key is the ID returned by `minetest.register_biome`.
+ * If `name` is nil, the key is the object handle returned by
+ `minetest.register_biome`.
* `minetest.registered_decorations`
* Map of registered decoration definitions, indexed by the `name` field.
- * If `name` is nil, the key is the ID returned by
+ * If `name` is nil, the key is the object handle returned by
`minetest.register_decoration`.
* `minetest.registered_schematics`
* Map of registered schematic definitions, indexed by the `name` field.
- * If `name` is nil, the key is the ID returned by
+ * If `name` is nil, the key is the object handle returned by
`minetest.register_schematic`.
* `minetest.registered_chatcommands`
* Map of registered chat command definitions, indexed by name
@@ -4831,35 +5195,38 @@ A fast access data structure to store areas, and find areas near a given
position or area.
Every area has a `data` string attribute to store additional information.
You can create an empty `AreaStore` by calling `AreaStore()`, or
-`AreaStore(type_name)`.
+`AreaStore(type_name)`. The mod decides where to save and load AreaStore.
If you chose the parameter-less constructor, a fast implementation will be
automatically chosen for you.
### Methods
-* `get_area(id, include_borders, include_data)`: returns the area with the id
- `id`.
- (optional) Boolean values `include_borders` and `include_data` control what's
- copied.
- Returns nil if specified area id does not exist.
-* `get_areas_for_pos(pos, include_borders, include_data)`: returns all areas
- that contain the position `pos`.
- (optional) Boolean values `include_borders` and `include_data` control what's
- copied.
-* `get_areas_in_area(edge1, edge2, accept_overlap, include_borders, include_data)`:
- returns all areas that contain all nodes inside the area specified by `edge1`
- and `edge2` (inclusive).
- If `accept_overlap` is true, also areas are returned that have nodes in
- common with the specified area.
- (optional) Boolean values `include_borders` and `include_data` control what's
- copied.
+* `get_area(id, include_borders, include_data)`
+ * Returns the area information about the specified ID.
+ * Returned values are either of these:
+
+ nil -- Area not found
+ true -- Without `include_borders` and `include_data`
+ {
+ min = pos, max = pos -- `include_borders == true`
+ data = string -- `include_data == true`
+ }
+
+* `get_areas_for_pos(pos, include_borders, include_data)`
+ * Returns all areas as table, indexed by the area ID.
+ * Table values: see `get_area`.
+* `get_areas_in_area(edge1, edge2, accept_overlap, include_borders, include_data)`
+ * Returns all areas that contain all nodes inside the area specified by `edge1`
+ and `edge2` (inclusive).
+ * `accept_overlap`: if `true`, areas are returned that have nodes in
+ common (intersect) with the specified area.
+ * Returns the same values as `get_areas_for_pos`.
* `insert_area(edge1, edge2, data, [id])`: inserts an area into the store.
- Returns the new area's ID, or nil if the insertion failed.
- The (inclusive) positions `edge1` and `edge2` describe the area.
- `data` is a string stored with the area. If passed, `id` will be used as the
- internal area ID, it must be a unique number between 0 and 2^32-2. If you use
- the `id` parameter you must always use it, or insertions are likely to fail
- due to conflicts.
+ * Returns the new area's ID, or nil if the insertion failed.
+ * The (inclusive) positions `edge1` and `edge2` describe the area.
+ * `data` is a string stored with the area.
+ * `id` (optional): will be used as the internal area ID if it is an unique
+ number between 0 and 2^32-2.
* `reserve(count)`: reserves resources for at most `count` many contained
areas.
Only needed for efficiency, and only some implementations profit.
@@ -4945,6 +5312,7 @@ an itemstring, a table or `nil`.
* `get_metadata()`: (DEPRECATED) Returns metadata (a string attached to an item
stack).
* `set_metadata(metadata)`: (DEPRECATED) Returns true.
+* `get_description()`: returns the description shown in inventory list tooltips.
* `clear()`: removes all items from the stack, making it empty.
* `replace(item)`: replace the contents of this stack.
* `item` can also be an itemstring or table.
@@ -4988,7 +5356,8 @@ Can be obtained via `item:get_meta()`.
`MetaDataRef`
-------------
-See [`StorageRef`], [`NodeMetaRef`], [`ItemStackMetaRef`], and [`PlayerMetaRef`].
+Base class used by [`StorageRef`], [`NodeMetaRef`], [`ItemStackMetaRef`],
+and [`PlayerMetaRef`].
### Methods
@@ -5082,11 +5451,13 @@ This is basically a reference to a C++ `ServerActiveObject`
### Methods
-* `remove()`: remove object (after returning from Lua)
- * Note: Doesn't work on players, use `minetest.kick_player` instead
* `get_pos()`: returns `{x=num, y=num, z=num}`
* `set_pos(pos)`: `pos`=`{x=num, y=num, z=num}`
-* `move_to(pos, continuous=false)`: interpolated move
+* `move_to(pos, continuous=false)`
+ * Does an interpolated move for Lua entities for visually smooth transitions.
+ * If `continuous` is true, the Lua entity will not be moved to the current
+ position before starting the interpolated move.
+ * For players this does the same as `set_pos`,`continuous` is ignored.
* `punch(puncher, time_from_last_punch, tool_capabilities, direction)`
* `puncher` = another `ObjectRef`,
* `time_from_last_punch` = time since last punch action of the puncher
@@ -5095,7 +5466,7 @@ This is basically a reference to a C++ `ServerActiveObject`
* `get_hp()`: returns number of hitpoints (2 * number of hearts)
* `set_hp(hp, reason)`: set number of hitpoints (2 * number of hearts).
* See reason in register_on_player_hpchange
-* `get_inventory()`: returns an `InvRef`
+* `get_inventory()`: returns an `InvRef` for players, otherwise returns `nil`
* `get_wield_list()`: returns the name of the inventory list the wielded item
is in.
* `get_wield_index()`: returns the index of the wielded item
@@ -5142,8 +5513,9 @@ This is basically a reference to a C++ `ServerActiveObject`
text = "My Nametag",
}
-#### LuaEntitySAO-only (no-op for other objects)
+#### Lua entity only (no-op for other objects)
+* `remove()`: remove object (after returning from Lua)
* `set_velocity(vel)`
* `vel` is a vector, e.g. `{x=0.0, y=2.3, z=1.0}`
* `add_velocity(vel)`
@@ -5174,11 +5546,19 @@ This is basically a reference to a C++ `ServerActiveObject`
* `get_entity_name()` (**Deprecated**: Will be removed in a future version)
* `get_luaentity()`
-#### Player-only (no-op for other objects)
+#### Player only (no-op for other objects)
* `get_player_name()`: returns `""` if is not a player
* `get_player_velocity()`: returns `nil` if is not a player, otherwise a
table {x, y, z} representing the player's instantaneous velocity in nodes/s
+* `add_player_velocity(vel)`
+ * Adds to player velocity, this happens client-side and only once.
+ * Does not apply during free_move.
+ * Note that since the player speed is normalized at each move step,
+ increasing e.g. Y velocity beyond what would usually be achieved
+ (see: physics overrides) will cause existing X/Z velocity to be reduced.
+ * Example: `add_player_velocity({x=0, y=6.5, z=0})` is equivalent to
+ pressing the jump key (assuming default settings)
* `get_look_dir()`: get camera direction as a unit vector
* `get_look_vertical()`: pitch in radians
* Angle ranges between -pi/2 and pi/2, which are straight up and down
@@ -5200,12 +5580,21 @@ This is basically a reference to a C++ `ServerActiveObject`
`set_look_vertical`.
* `set_look_yaw(radians)`: sets look yaw - Deprecated. Use
`set_look_horizontal`.
-* `get_breath()`: returns players breath
-* `set_breath(value)`: sets players breath
+* `get_breath()`: returns player's breath
+* `set_breath(value)`: sets player's breath
* values:
* `0`: player is drowning
* max: bubbles bar is not shown
* See [Object properties] for more information
+* `set_fov(fov, is_multiplier)`: Sets player's FOV
+ * `fov`: FOV value.
+ * `is_multiplier`: Set to `true` if the FOV value is a multiplier.
+ Defaults to `false`.
+ * Set to 0 to clear FOV override.
+* `get_fov()`:
+ * Returns player's FOV override in degrees, and a boolean depending on whether
+ the value is a multiplier.
+ * Returns 0 as first value if player's FOV hasn't been overridden.
* `set_attribute(attribute, value)`: DEPRECATED, use get_meta() instead
* Sets an extra attribute with value on player.
* `value` must be a string, or a number which will be converted to a
@@ -5322,6 +5711,11 @@ This is basically a reference to a C++ `ServerActiveObject`
* in first person view
* in third person view (max. values `{x=-10/10,y=-10,15,z=-5/5}`)
* `get_eye_offset()`: returns `offset_first` and `offset_third`
+* `send_mapblock(blockpos)`:
+ * Sends a server-side loaded mapblock to the player.
+ * Returns `false` if failed.
+ * Resource intensive - use sparsely
+ * To get blockpos, integer divide pos by 16
`PcgRandom`
-----------
@@ -5497,12 +5891,26 @@ It can be created via `Settings(filename)`.
* Writes changes to file.
* `to_table()`: returns `{[key1]=value1,...}`
+### Format
+
+The settings have the format `key = value`. Example:
+
+ foo = example text
+ bar = """
+ Multiline
+ value
+ """
+
+
`StorageRef`
------------
Mod metadata: per mod metadata, saved automatically.
Can be obtained via `minetest.get_mod_storage()` during load time.
+WARNING: This storage backend is incaptable to save raw binary data due
+to restrictions of JSON.
+
### Methods
* All methods in MetaDataRef
@@ -5517,6 +5925,9 @@ Object properties
-----------------
Used by `ObjectRef` methods. Part of an Entity definition.
+These properties are not persistent, but are applied automatically to the
+corresponding Lua entity using the given registration fields.
+Player properties need to be saved manually.
{
hp_max = 1,
@@ -5560,7 +5971,7 @@ Used by `ObjectRef` methods. Part of an Entity definition.
-- "mesh" uses the defined mesh model.
-- "wielditem" is used for dropped items.
-- (see builtin/game/item_entity.lua).
- -- For this use 'textures = {itemname}'.
+ -- For this use 'wield_item = itemname' (Deprecated: 'textures = {itemname}').
-- If the item has a 'wield_image' the object will be an extrusion of
-- that, otherwise:
-- If 'itemname' is a cubic node or nodebox the object will appear
@@ -5569,6 +5980,8 @@ Used by `ObjectRef` methods. Part of an Entity definition.
-- of its texture.
-- Otherwise for non-node items, the object will be an extrusion of
-- 'inventory_image'.
+ -- If 'itemname' contains a ColorString or palette index (e.g. from
+ -- `minetest.itemstring_with_palette()`), the entity will inherit the color.
-- "item" is similar to "wielditem" but ignores the 'wield_image' parameter.
visual_size = {x = 1, y = 1, z = 1},
@@ -5620,7 +6033,7 @@ Used by `ObjectRef` methods. Part of an Entity definition.
automatic_face_movement_max_rotation_per_sec = -1,
-- Limit automatic rotation to this value in degrees per second.
- -- No limit if value < 0.
+ -- No limit if value <= 0.
backface_culling = true,
-- Set to false to disable backface_culling for model
@@ -5728,6 +6141,10 @@ LBM (LoadingBlockModifier) definition
Used by `minetest.register_lbm`.
+A loading block modifier (LBM) is used to define a function that is called for
+specific nodes (defined by `nodenames`) when a mapblock which contains such nodes
+gets loaded.
+
{
label = "Upgrade legacy doors",
-- Descriptive label for profiling purposes (optional).
@@ -5742,8 +6159,8 @@ Used by `minetest.register_lbm`.
run_at_every_load = false,
-- Whether to run the LBM's action every time a block gets loaded,
- -- and not just for blocks that were saved last time before LBMs were
- -- introduced to the world.
+ -- and not only the first time the block gets loaded after the LBM
+ -- was introduced.
action = function(pos, node),
}
@@ -5848,7 +6265,7 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and
liquids_pointable = false,
- -- See "Tools" section
+ -- See "Tools" section for an example including explanation
tool_capabilities = {
full_punch_interval = 1.0,
max_drop_level = 0,
@@ -5858,6 +6275,14 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and
uses = 20, maxlevel = 2},
},
damage_groups = {groupname = damage},
+
+ punch_attack_uses = nil,
+ -- Amount of uses this tool has for attacking players and entities
+ -- by punching them (0 = infinite uses).
+ -- For compatibility, this is automatically set from the first
+ -- suitable groupcap using the forumla "uses * 3^(maxlevel - 1)".
+ -- It is recommend to set this explicitly instead of relying on the
+ -- fallback behavior.
},
node_placement_prediction = nil,
@@ -5980,7 +6405,11 @@ Used by `minetest.register_node`.
place_param2 = nil, -- Force value for param2 when player places node
is_ground_content = true,
- -- If false, the cave generator will not carve through this node
+ -- If false, the cave generator and dungeon generator will not carve
+ -- through this node.
+ -- Specifically, this stops mod-added nodes being removed by caves and
+ -- dungeons when those generate in a neighbor mapchunk and extend out
+ -- beyond the edge of that mapchunk.
sunlight_propagates = false,
-- If true, sunlight will go infinitely through this node
@@ -6071,12 +6500,15 @@ Used by `minetest.register_node`.
legacy_wallmounted = false,
waving = 0,
- -- Valid for mesh, nodebox, plantlike, allfaces_optional nodes.
- -- 1 - wave node like plants (top of node moves, bottom is fixed)
+ -- Valid for drawtypes:
+ -- mesh, nodebox, plantlike, allfaces_optional, liquid, flowingliquid.
+ -- 1 - wave node like plants (node top moves side-to-side, bottom is fixed)
-- 2 - wave node like leaves (whole node moves side-to-side)
- -- caveats: not all models will properly wave.
- -- plantlike drawtype nodes can only wave like plants.
- -- allfaces_optional drawtype nodes can only wave like leaves.
+ -- 3 - wave node like liquids (whole node moves up and down)
+ -- Not all models will properly wave.
+ -- plantlike drawtype can only wave like plants.
+ -- allfaces_optional drawtype can only wave like leaves.
+ -- liquid, flowingliquid drawtypes can only wave like liquids.
sounds = {
footstep = <SimpleSoundSpec>,
@@ -6084,20 +6516,51 @@ Used by `minetest.register_node`.
dug = <SimpleSoundSpec>,
place = <SimpleSoundSpec>,
place_failed = <SimpleSoundSpec>,
+ fall = <SimpleSoundSpec>,
},
drop = "",
- -- Name of dropped node when dug. Default is the node itself.
- -- Alternatively:
+ -- Name of dropped item when dug.
+ -- Default dropped item is the node itself.
+ -- Using a table allows multiple items, drop chances and tool filtering.
+ -- Tool filtering was undocumented until recently, tool filtering by string
+ -- matching is deprecated.
drop = {
- -- Maximum number of items to drop
max_items = 1,
- -- Choose max_items randomly from this list
+ -- Maximum number of item lists to drop.
+ -- The entries in 'items' are processed in order. For each:
+ -- Tool filtering is applied, chance of drop is applied, if both are
+ -- successful the entire item list is dropped.
+ -- Entry processing continues until the number of dropped item lists
+ -- equals 'max_items'.
+ -- Therefore, entries should progress from low to high drop chance.
items = {
+ -- Entry examples.
+ {
+ -- 1 in 1000 chance of dropping a diamond.
+ -- Default rarity is '1'.
+ rarity = 1000,
+ items = {"default:diamond"},
+ },
+ {
+ -- Only drop if using a tool whose name is identical to one
+ -- of these.
+ tools = {"default:shovel_mese", "default:shovel_diamond"},
+ rarity = 5,
+ items = {"default:dirt"},
+ -- Whether all items in the dropped item list inherit the
+ -- hardware coloring palette color from the dug node.
+ -- Default is 'false'.
+ inherit_color = true,
+ },
{
- items = {"foo:bar", "baz:frob"}, -- Items to drop
- rarity = 1, -- Probability of dropping is 1 / rarity
- inherit_color = true, -- Inherit palette color from the node
+ -- Only drop if using a tool whose name contains
+ -- "default:shovel_" (this tool filtering by string matching
+ -- is deprecated).
+ tools = {"~default:shovel_"},
+ rarity = 2,
+ -- The item list dropped.
+ items = {"default:sand", "default:desert_sand"},
},
},
},
@@ -6151,10 +6614,10 @@ Used by `minetest.register_node`.
-- default: nil
can_dig = function(pos, [player]),
-
- on_punch = function(pos, node, puncher, pointed_thing),
-- Returns true if node can be dug, or false if not.
-- default: nil
+
+ on_punch = function(pos, node, puncher, pointed_thing),
-- default: minetest.node_punch
-- By default calls minetest.register_on_punchnode callbacks.
@@ -6409,14 +6872,20 @@ Used by `minetest.register_biome`.
depth_riverbed = 2,
-- Node placed under river water and thickness of this layer
- node_cave_liquid = "default:water_source",
- -- Nodes placed as a blob of liquid in 50% of large caves.
- -- If absent, cave liquids fall back to classic behaviour of lava or
- -- water distributed according to a hardcoded 3D noise.
+ node_cave_liquid = "default:lava_source",
+ node_cave_liquid = {"default:water_source", "default:lava_source"},
+ -- Nodes placed inside 50% of the medium size caves.
+ -- Multiple nodes can be specified, each cave will use a randomly
+ -- chosen node from the list.
+ -- If this field is left out or 'nil', cave liquids fall back to
+ -- classic behaviour of lava and water distributed using 3D noise.
+ -- For no cave liquid, specify "air".
node_dungeon = "default:cobble",
-- Node used for primary dungeon structure.
- -- If absent, dungeon materials fall back to classic behaviour.
+ -- If absent, dungeon nodes fall back to the 'mapgen_cobble' mapgen
+ -- alias, if that is also absent, dungeon nodes fall back to the biome
+ -- 'node_stone'.
-- If present, the following two nodes are also used.
node_dungeon_alt = "default:mossycobble",
@@ -6645,10 +7114,11 @@ Privilege definition
Used by `minetest.register_privilege`.
{
- description = "Can teleport", -- Privilege description
+ description = "",
+ -- Privilege description
- give_to_singleplayer = false,
- -- Whether to grant the privilege to singleplayer (default true).
+ give_to_singleplayer = true,
+ -- Whether to grant the privilege to singleplayer.
give_to_admin = true,
-- Whether to grant the privilege to the server admin.
diff --git a/doc/menu_lua_api.txt b/doc/menu_lua_api.txt
index 2c76c6b8f..a2f9c3f5b 100644
--- a/doc/menu_lua_api.txt
+++ b/doc/menu_lua_api.txt
@@ -1,4 +1,4 @@
-Minetest Lua Mainmenu API Reference 5.0.1
+Minetest Lua Mainmenu API Reference 5.1.0
=========================================
Introduction
@@ -79,6 +79,8 @@ core.explode_table_event(string) -> table
core.explode_textlist_event(string) -> table
^ returns e.g. {type="CHG", index=1}
^ type: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click)
+core.set_formspec_prepend(formspec)
+^ string to be added to every mainmenu formspec, to be used for theming.
GUI:
core.set_background(type, texturepath,[tile],[minsize])
@@ -89,13 +91,14 @@ core.set_background(type, texturepath,[tile],[minsize])
core.set_clouds(<true/false>)
core.set_topleft_text(text)
core.show_keys_menu()
-core.file_open_dialog(formname,caption)
-^ shows a file open dialog
+core.show_path_select_dialog(formname, caption, is_file_select)
+^ shows a path select dialog
^ formname is base name of dialog response returned in fields
^ -if dialog was accepted "_accepted"
-^^ will be added to fieldname containing the path
+^ will be added to fieldname containing the path
^ -if dialog was canceled "_cancelled"
^ will be added to fieldname value is set to formname itself
+^ if `is_file_select` is `true`, a file and not a folder will be selected
^ returns nil or selected file/folder
core.get_screen_info()
^ returns {
@@ -240,4 +243,4 @@ Limitations of Async operations
-No access to global lua variables, don't even try
-Limited set of available functions
e.g. No access to functions modifying menu like core.start,core.close,
- core.file_open_dialog
+ core.show_path_select_dialog
diff --git a/doc/mkdocs/build.sh b/doc/mkdocs/build.sh
new file mode 100755
index 000000000..f4d946874
--- /dev/null
+++ b/doc/mkdocs/build.sh
@@ -0,0 +1,41 @@
+#!/bin/sh -e
+
+# Patch Python-Markdown
+MARKDOWN_FILE=$(pip show markdown | awk '/Location/ { print $2 }')/markdown/extensions/codehilite.py
+patch -N -r - $MARKDOWN_FILE lua_highlight.patch || true
+
+# Split lua_api.txt on top level headings
+cat ../lua_api.txt | csplit -sz -f docs/section - '/^=/-1' '{*}'
+
+cat > mkdocs.yml << EOF
+site_name: Minetest API Documentation
+theme:
+ name: readthedocs
+ highlightjs: False
+extra_css:
+ - css/code_styles.css
+ - css/extra.css
+markdown_extensions:
+ - toc:
+ permalink: True
+ - codehilite
+plugins:
+ - search:
+ separator: '[\s\-\.\(]+'
+nav:
+- "Home": index.md
+EOF
+
+mv docs/section00 docs/index.md
+
+for f in docs/section*
+do
+ title=$(head -1 $f)
+ fname=$(echo $title | tr '[:upper:]' '[:lower:]')
+ fname=$(echo $fname | sed 's/ /-/g')
+ fname=$(echo $fname | sed "s/'//g").md
+ mv $f docs/$fname
+ echo "- \"$title\": $fname" >> mkdocs.yml
+done
+
+mkdocs build --site-dir ../../public
diff --git a/doc/mkdocs/docs/css/code_styles.css b/doc/mkdocs/docs/css/code_styles.css
new file mode 100644
index 000000000..c135acd94
--- /dev/null
+++ b/doc/mkdocs/docs/css/code_styles.css
@@ -0,0 +1,68 @@
+.codehilite .hll { background-color: #ffffcc }
+.codehilite .c { color: #408080; font-style: italic } /* Comment */
+/* .codehilite .err { border: 1px solid #FF0000 } /* Error */
+.codehilite .k { color: #008000; font-weight: bold } /* Keyword */
+.codehilite .o { color: #666666 } /* Operator */
+.codehilite .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
+.codehilite .cm { color: #408080; font-style: italic } /* Comment.Multiline */
+.codehilite .cp { color: #BC7A00 } /* Comment.Preproc */
+.codehilite .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
+.codehilite .c1 { color: #408080; font-style: italic } /* Comment.Single */
+.codehilite .cs { color: #408080; font-style: italic } /* Comment.Special */
+.codehilite .gd { color: #A00000 } /* Generic.Deleted */
+.codehilite .ge { font-style: italic } /* Generic.Emph */
+.codehilite .gr { color: #FF0000 } /* Generic.Error */
+.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.codehilite .gi { color: #00A000 } /* Generic.Inserted */
+.codehilite .go { color: #888888 } /* Generic.Output */
+.codehilite .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.codehilite .gs { font-weight: bold } /* Generic.Strong */
+.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.codehilite .gt { color: #0044DD } /* Generic.Traceback */
+.codehilite .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.codehilite .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.codehilite .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.codehilite .kp { color: #008000 } /* Keyword.Pseudo */
+.codehilite .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.codehilite .kt { color: #B00040 } /* Keyword.Type */
+.codehilite .m { color: #666666 } /* Literal.Number */
+.codehilite .s { color: #BA2121 } /* Literal.String */
+.codehilite .na { color: #7D9029 } /* Name.Attribute */
+.codehilite .nb { color: #008000 } /* Name.Builtin */
+.codehilite .nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.codehilite .no { color: #880000 } /* Name.Constant */
+.codehilite .nd { color: #AA22FF } /* Name.Decorator */
+.codehilite .ni { color: #999999; font-weight: bold } /* Name.Entity */
+.codehilite .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
+.codehilite .nf { color: #0000FF } /* Name.Function */
+.codehilite .nl { color: #A0A000 } /* Name.Label */
+.codehilite .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.codehilite .nt { color: #008000; font-weight: bold } /* Name.Tag */
+.codehilite .nv { color: #19177C } /* Name.Variable */
+.codehilite .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.codehilite .w { color: #bbbbbb } /* Text.Whitespace */
+.codehilite .mb { color: #666666 } /* Literal.Number.Bin */
+.codehilite .mf { color: #666666 } /* Literal.Number.Float */
+.codehilite .mh { color: #666666 } /* Literal.Number.Hex */
+.codehilite .mi { color: #666666 } /* Literal.Number.Integer */
+.codehilite .mo { color: #666666 } /* Literal.Number.Oct */
+.codehilite .sa { color: #BA2121 } /* Literal.String.Affix */
+.codehilite .sb { color: #BA2121 } /* Literal.String.Backtick */
+.codehilite .sc { color: #BA2121 } /* Literal.String.Char */
+.codehilite .dl { color: #BA2121 } /* Literal.String.Delimiter */
+.codehilite .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.codehilite .s2 { color: #BA2121 } /* Literal.String.Double */
+.codehilite .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
+.codehilite .sh { color: #BA2121 } /* Literal.String.Heredoc */
+.codehilite .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
+.codehilite .sx { color: #008000 } /* Literal.String.Other */
+.codehilite .sr { color: #BB6688 } /* Literal.String.Regex */
+.codehilite .s1 { color: #BA2121 } /* Literal.String.Single */
+.codehilite .ss { color: #19177C } /* Literal.String.Symbol */
+.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */
+.codehilite .fm { color: #0000FF } /* Name.Function.Magic */
+.codehilite .vc { color: #19177C } /* Name.Variable.Class */
+.codehilite .vg { color: #19177C } /* Name.Variable.Global */
+.codehilite .vi { color: #19177C } /* Name.Variable.Instance */
+.codehilite .vm { color: #19177C } /* Name.Variable.Magic */
+.codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */
diff --git a/doc/mkdocs/docs/css/extra.css b/doc/mkdocs/docs/css/extra.css
new file mode 100644
index 000000000..8fde9f893
--- /dev/null
+++ b/doc/mkdocs/docs/css/extra.css
@@ -0,0 +1,15 @@
+/* Fix partly obscured last TOC element */
+.wy-menu {
+ padding-bottom: 20px;
+}
+
+/* Use Minetest green instead of blue */
+.wy-nav-content a {
+ color: hsl(100, 40%, 40%);
+}
+.wy-nav-content a:hover {
+ color: hsl(100, 30%, 30%);
+}
+.wy-side-nav-search, .wy-nav-top, .wy-menu-vertical a:active {
+ background: hsl(100, 40%, 40%);
+}
diff --git a/doc/mkdocs/docs/img/favicon.ico b/doc/mkdocs/docs/img/favicon.ico
new file mode 120000
index 000000000..cac34a30c
--- /dev/null
+++ b/doc/mkdocs/docs/img/favicon.ico
@@ -0,0 +1 @@
+../../../../misc/minetest-icon.ico \ No newline at end of file
diff --git a/doc/mkdocs/lua_highlight.patch b/doc/mkdocs/lua_highlight.patch
new file mode 100644
index 000000000..034a63a33
--- /dev/null
+++ b/doc/mkdocs/lua_highlight.patch
@@ -0,0 +1,19 @@
+@@ -77,7 +77,7 @@
+ css_class="codehilite", lang=None, style='default',
+ noclasses=False, tab_length=4, hl_lines=None, use_pygments=True):
+ self.src = src
+- self.lang = lang
++ self.lang = "lua"
+ self.linenums = linenums
+ self.guess_lang = guess_lang
+ self.css_class = css_class
+@@ -119,7 +119,8 @@
+ cssclass=self.css_class,
+ style=self.style,
+ noclasses=self.noclasses,
+- hl_lines=self.hl_lines)
++ hl_lines=self.hl_lines,
++ wrapcode=True)
+ return highlight(self.src, lexer, formatter)
+ else:
+ # just escape and build markup usable by JS highlighting libs
diff --git a/doc/world_format.txt b/doc/world_format.txt
index c5d1d1be1..7cbf13af6 100644
--- a/doc/world_format.txt
+++ b/doc/world_format.txt
@@ -365,7 +365,9 @@ if map format version <= 22:
u16 content_size
u8[content_size] content of metadata. Format depends on type_id, see below.
if map format version >= 23:
- u8 version (=1) -- Note the type is u8, while for map format version <= 22 it's u16
+ u8 version -- Note: type was u16 for map format version <= 22
+ -- = 1 for map format version < 28
+ -- = 2 since map format version 28
u16 count of metadata
foreach count:
u16 position (p.Z*MAP_BLOCKSIZE*MAP_BLOCKSIZE + p.Y*MAP_BLOCKSIZE + p.X)
@@ -375,6 +377,7 @@ if map format version >= 23:
u8[key_len] key
u32 val_len
u8[val_len] value
+ u8 is_private -- only for version >= 2. 0 = not private, 1 = private
serialized inventory
- Node timers
@@ -510,17 +513,20 @@ Object types:
u8[len] itemstring
7: LuaEntity:
- u8 version
- version 1:
- u16 len
- u8[len] entity name
- u32 len
- u8[len] static data
- s16 hp
- s32 velocity.x * 10000
- s32 velocity.y * 10000
- s32 velocity.z * 10000
- s32 yaw * 1000
+ u8 compatibility_byte (always 1)
+ u16 len
+ u8[len] entity name
+ u32 len
+ u8[len] static data
+ s16 hp
+ s32 velocity.x * 10000
+ s32 velocity.y * 10000
+ s32 velocity.z * 10000
+ s32 yaw * 1000
+ if PROTOCOL_VERSION >= 37:
+ u8 version2 (=1)
+ s32 pitch * 1000
+ s32 roll * 1000
Itemstring format
------------------
diff --git a/games/minimal/mods/default/init.lua b/games/minimal/mods/default/init.lua
index bfd938211..02d195cbc 100644
--- a/games/minimal/mods/default/init.lua
+++ b/games/minimal/mods/default/init.lua
@@ -1835,64 +1835,3 @@ minetest.register_on_dignode(on_dignode)
function on_punchnode(p, node)
end
minetest.register_on_punchnode(on_punchnode)
-
---
--- Test some things
---
-
-local function test_get_craft_result()
- minetest.log("info", "test_get_craft_result()")
- -- normal
- local input = {
- method = "normal",
- width = 2,
- items = {"", "default:coal_lump", "", "default:stick"}
- }
- minetest.log("info", "torch crafting input: "..dump(input))
- local output, decremented_input = minetest.get_craft_result(input)
- minetest.log("info", "torch crafting output: "..dump(output))
- minetest.log("info", "torch crafting decremented input: "..dump(decremented_input))
- assert(output.item)
- minetest.log("info", "torch crafting output.item:to_table(): "..dump(output.item:to_table()))
- assert(output.item:get_name() == "default:torch")
- assert(output.item:get_count() == 4)
- -- fuel
- local input = {
- method = "fuel",
- width = 1,
- items = {"default:coal_lump"}
- }
- minetest.log("info", "coal fuel input: "..dump(input))
- local output, decremented_input = minetest.get_craft_result(input)
- minetest.log("info", "coal fuel output: "..dump(output))
- minetest.log("info", "coal fuel decremented input: "..dump(decremented_input))
- assert(output.time)
- assert(output.time > 0)
- -- cook
- local input = {
- method = "cooking",
- width = 1,
- items = {"default:cobble"}
- }
- minetest.log("info", "cobble cooking input: "..dump(output))
- local output, decremented_input = minetest.get_craft_result(input)
- minetest.log("info", "cobble cooking output: "..dump(output))
- minetest.log("info", "cobble cooking decremented input: "..dump(decremented_input))
- assert(output.time)
- assert(output.time > 0)
- assert(output.item)
- minetest.log("info", "cobble cooking output.item:to_table(): "..dump(output.item:to_table()))
- assert(output.item:get_name() == "default:stone")
- assert(output.item:get_count() == 1)
-end
-test_get_craft_result()
-
---
--- Done, print some random stuff
---
-
---print("minetest.registered_entities:")
---dump2(minetest.registered_entities)
-
--- END
-
diff --git a/games/minimal/mods/test/crafting.lua b/games/minimal/mods/test/crafting.lua
new file mode 100644
index 000000000..8964bd25a
--- /dev/null
+++ b/games/minimal/mods/test/crafting.lua
@@ -0,0 +1,71 @@
+local function test_clear_craft()
+ minetest.log("info", "Testing clear_craft")
+ -- Clearing by output
+ minetest.register_craft({
+ output = "foo",
+ recipe = {{"bar"}}
+ })
+ minetest.register_craft({
+ output = "foo 4",
+ recipe = {{"foo", "bar"}}
+ })
+ assert(#minetest.get_all_craft_recipes("foo") == 2)
+ minetest.clear_craft({output="foo"})
+ assert(minetest.get_all_craft_recipes("foo") == nil)
+ -- Clearing by input
+ minetest.register_craft({
+ output = "foo 4",
+ recipe = {{"foo", "bar"}}
+ })
+ assert(#minetest.get_all_craft_recipes("foo") == 1)
+ minetest.clear_craft({recipe={{"foo", "bar"}}})
+ assert(minetest.get_all_craft_recipes("foo") == nil)
+end
+test_clear_craft()
+
+local function test_get_craft_result()
+ minetest.log("info", "test_get_craft_result()")
+ -- normal
+ local input = {
+ method = "normal",
+ width = 2,
+ items = {"", "default:coal_lump", "", "default:stick"}
+ }
+ minetest.log("info", "torch crafting input: "..dump(input))
+ local output, decremented_input = minetest.get_craft_result(input)
+ minetest.log("info", "torch crafting output: "..dump(output))
+ minetest.log("info", "torch crafting decremented input: "..dump(decremented_input))
+ assert(output.item)
+ minetest.log("info", "torch crafting output.item:to_table(): "..dump(output.item:to_table()))
+ assert(output.item:get_name() == "default:torch")
+ assert(output.item:get_count() == 4)
+ -- fuel
+ local input = {
+ method = "fuel",
+ width = 1,
+ items = {"default:coal_lump"}
+ }
+ minetest.log("info", "coal fuel input: "..dump(input))
+ local output, decremented_input = minetest.get_craft_result(input)
+ minetest.log("info", "coal fuel output: "..dump(output))
+ minetest.log("info", "coal fuel decremented input: "..dump(decremented_input))
+ assert(output.time)
+ assert(output.time > 0)
+ -- cook
+ local input = {
+ method = "cooking",
+ width = 1,
+ items = {"default:cobble"}
+ }
+ minetest.log("info", "cobble cooking input: "..dump(output))
+ local output, decremented_input = minetest.get_craft_result(input)
+ minetest.log("info", "cobble cooking output: "..dump(output))
+ minetest.log("info", "cobble cooking decremented input: "..dump(decremented_input))
+ assert(output.time)
+ assert(output.time > 0)
+ assert(output.item)
+ minetest.log("info", "cobble cooking output.item:to_table(): "..dump(output.item:to_table()))
+ assert(output.item:get_name() == "default:stone")
+ assert(output.item:get_count() == 1)
+end
+test_get_craft_result()
diff --git a/games/minimal/mods/test/formspec.lua b/games/minimal/mods/test/formspec.lua
new file mode 100644
index 000000000..a4d120b41
--- /dev/null
+++ b/games/minimal/mods/test/formspec.lua
@@ -0,0 +1,195 @@
+local clip_fs = [[
+ style_type[label;noclip=%c]
+ style_type[button;noclip=%c]
+ style_type[image_button;noclip=%c]
+ style_type[item_image_button;noclip=%c]
+ style_type[tabheader;noclip=%c]
+ style_type[field;noclip=%c]
+ style_type[textarea;noclip=%c]
+ style_type[checkbox;noclip=%c]
+ style_type[dropdown;noclip=%c]
+ style_type[scrollbar;noclip=%c]
+ style_type[table;noclip=%c]
+
+ label[0,0;A clipping test]
+ button[0,1;3,0.8;x;A clipping test]
+ image_button[0,2;3,0.8;bubble.png;x2;A clipping test]
+ item_image_button[0,3;3,0.8;default:sword_steel;x3;A clipping test]
+ tabheader[0,4.7;3,0.63;x4;Clip,Test,Text,Tabs;1;false;false]
+ field[0,5;3,0.8;x5;Title;]
+ textarea[0,6;3,1;x6;Title;]
+ checkbox[0,7.5;x7;This is a test;true]
+ dropdown[0,8;3,0.8;x8;Select An Item,One,Two,Three,Four,Five;1]
+ scrollbar[0,9;3,0.8;horizontal;x9;3]
+ tablecolumns[text;text]
+ table[0,10;3,1;x10;one,two,three,four;1]
+]]
+
+
+local style_fs = [[
+ style[one_btn1;bgcolor=red;textcolor=yellow]
+ button[0,0;2.5,0.8;one_btn1;Button]
+
+ style[one_btn2;border=false;textcolor=cyan]
+ button[0,1.05;2.5,0.8;one_btn2;Text Button]
+
+ style[one_btn3;bgimg=bubble.png;bgimg_pressed=heart.png]
+ button[0,2.1;1,1;one_btn3;Bor]
+
+ style[one_btn4;bgimg=bubble.png;bgimg_pressed=heart.png;border=false]
+ button[1.25,2.1;1,1;one_btn4;Bub]
+
+ style[one_btn5;bgimg=bubble.png;bgimg_pressed=heart.png;border=false;alpha=false]
+ button[0,3.35;1,1;one_btn5;Alph]
+
+ style[one_btn6;border=true]
+ image_button[0,4.6;1,1;bubble.png;one_btn6;Border]
+
+ style[one_btn7;border=false]
+ image_button[1.25,4.6;1,1;bubble.png;one_btn7;NoBor]
+
+ style[one_btn8;border=false]
+ image_button[0,5.85;1,1;bubble.png;one_btn8;Border;false;true;heart.png]
+
+ style[one_btn9;border=true]
+ image_button[1.25,5.85;1,1;bubble.png;one_btn9;NoBor;false;false;heart.png]
+
+ style[one_btn10;alpha=false]
+ image_button[0,7.1;1,1;bubble.png;one_btn10;NoAlpha]
+
+ style[one_btn11;alpha=true]
+ image_button[1.25,7.1;1,1;bubble.png;one_btn11;Alpha]
+
+ style[one_btn12;border=true]
+ item_image_button[0,8.35;1,1;default:sword_steel;one_btn12;Border]
+
+ style[one_btn13;border=false]
+ item_image_button[1.25,8.35;1,1;default:sword_steel;one_btn13;NoBor]
+
+
+ container[2.75,0]
+
+ style[one_tb1;textcolor=Yellow]
+ tabheader[0,3;2.5,0.63;one_tb1;Yellow,Text,Tabs;1;false;false]
+
+ style[one_f1;textcolor=yellow]
+ field[0,4.25;2.5,0.8;one_f1;Field One;Yellow Text]
+
+ style[one_f2;border=false;textcolor=cyan]
+ field[0,5.75;2.5,0.8;one_f2;Field Two;Borderless Cyan Text]
+
+ style[one_f3;textcolor=yellow]
+ textarea[0,7.025;2.5,0.8;one_f3;Label;]] ..
+ minetest.formspec_escape("Yellow Text\nLine two") .. [[ ]
+
+ style[one_f4;border=false;textcolor=cyan]
+ textarea[0,8.324999999999999;2.5,0.8;one_f4;Label;]] ..
+ minetest.formspec_escape("Borderless Cyan Text\nLine two") .. [[ ]
+
+ container_end[]
+]]
+
+--style_type[label;textcolor=green]
+--label[0,0;Green]
+--style_type[label;textcolor=blue]
+--label[0,1;Blue]
+--style_type[label;textcolor=;border=true]
+--label[1.2,0;Border]
+--style_type[label;border=true;bgcolor=red]
+--label[1.2,1;Background]
+--style_type[label;border=;bgcolor=]
+--label[0.75,2;Reset]
+
+
+local pages = {
+ [[
+ size[12,12]
+ real_coordinates[true]
+ image_button[0,0;1,1;logo.png;;1x1]
+ image_button[1,0;2,2;logo.png;;2x2]
+ button[0,2;1,1;;1x1]
+ button[1,2;2,2;;2x2]
+ item_image[0,4;1,1;air]
+ item_image[1,4;2,2;air]
+ item_image_button[0,6;1,1;test:node;;1x1]
+ item_image_button[1,6;2,2;test:node;;2x2]
+ field[3,.5;3,.5;name;Field;text]
+ pwdfield[6,.5;3,1;name;Password Field]
+ field[3,1;3,1;;Read-Only Field;text]
+ textarea[3,2;3,.5;name;Textarea;text]
+ textarea[6,2;3,2;name;Textarea;text\nmore text]
+ textarea[3,3;3,1;;Read-Only Textarea;text\nmore text]
+ textlist[3,4;3,2;name;Textlist,Perfect Coordinates;1;false]
+ tableoptions[highlight=#ABCDEF75;background=#00000055;border=false]
+ table[6,4;3,2;name;Table,Cool Stuff,Foo,Bar;2]
+ dropdown[3,6;3,1;name;This,is,a,dropdown;1]
+ dropdown[6,6;3,2;name;I,am,a,bigger,dropdown;5]
+ image[0,8;3,2;ignore.png]
+ box[3,7;3,1;#00A3FF]
+ checkbox[3,8;name;Check me!;false]
+ checkbox[3,9;name;Uncheck me now!;true]
+ scrollbar[0,11.5;11.5,.5;horizontal;name;500]
+ scrollbar[11.5,0;.5,11.5;vertical;name;0]
+ list[current_player;main;6,8;3,2;1]
+ button[9,0;2.5,1;name;]
+ button[9,1;2.5,1;name;]
+ button[9,2;2.5,1;name;]
+ label[9,0;This is a label.\nLine\nLine\nLine\nEnd]
+ button[9,3;1,1;name;]
+ vertlabel[9,4;VERT]
+ label[10,3;HORIZ]
+ tabheader[6.5,0;6,0.65;name;Tab 1,Tab 2,Tab 3,Secrets;1;false;false]
+ ]],
+
+ "size[12,12]real_coordinates[true]" ..
+ "label[0.375,0.375;Styled]" ..
+ "label[6.375,0.375;Unstyled]" ..
+ "box[0,0.75;12,0.1;#999]" ..
+ "box[6,0.85;0.1,11.15;#999]" ..
+ "container[0.375,1.225]" ..
+ style_fs ..
+ "container_end[]container[6.375,1.225]" ..
+ style_fs:gsub("one_", "two_"):gsub("style%[[^%]]+%]", ""):gsub("style_type%[[^%]]+%]", "") ..
+ "container_end[]",
+
+ "size[12,12]real_coordinates[true]" ..
+ "label[0.1,0.5;Clip]" ..
+ "container[-2.5,1]" .. clip_fs:gsub("%%c", "false") .. "container_end[]" ..
+ "label[11,0.5;Noclip]" ..
+ "container[11.5,1]" .. clip_fs:gsub("%%c", "true") .. "container_end[]",
+}
+
+local function show_test_formspec(pname, page_id)
+ page_id = page_id or 2
+
+ local fs = pages[page_id] .. "tabheader[0,0;6,0.65;maintabs;Real Coord,Styles,Noclip;" .. page_id .. ";false;false]"
+
+ minetest.show_formspec(pname, "test:formspec", fs)
+end
+
+minetest.register_on_player_receive_fields(function(player, formname, fields)
+ if formname ~= "test:formspec" then
+ return false
+ end
+
+ if fields.maintabs then
+ show_test_formspec(player:get_player_name(), tonumber(fields.maintabs))
+ return true
+ end
+
+end)
+
+minetest.register_node("test:node", {
+ tiles = { "air.png" }
+})
+
+minetest.register_chatcommand("formspec", {
+ func = function(name)
+ if not minetest.get_player_by_name(name) then
+ return false, "You need to be online!"
+ end
+
+ show_test_formspec(name)
+ return true, "Opened formspec"
+ end,
+})
diff --git a/games/minimal/mods/test/init.lua b/games/minimal/mods/test/init.lua
index 4806ba4fc..4e2a51086 100644
--- a/games/minimal/mods/test/init.lua
+++ b/games/minimal/mods/test/init.lua
@@ -3,81 +3,13 @@
-- Mod: test
--
+
-- Try out PseudoRandom
pseudo = PseudoRandom(13)
assert(pseudo:next() == 22290)
assert(pseudo:next() == 13854)
-
---
--- HP Change Reasons
---
-local expect = nil
-local function run_hpchangereason_tests(player)
- expect = { type = "set_hp", from = "mod" }
- player:set_hp(3)
- assert(expect == nil)
-
- expect = { a = 234, type = "set_hp", from = "mod" }
- player:set_hp(10, { a= 234 })
- assert(expect == nil)
-
- expect = { df = 3458973454, type = "fall", from = "mod" }
- player:set_hp(10, { type = "fall", df = 3458973454 })
- assert(expect == nil)
-end
-minetest.register_on_player_hpchange(function(player, hp, reason)
- if not expect then
- return
- end
-
- for key, value in pairs(reason) do
- assert(expect[key] == value)
- end
-
- for key, value in pairs(expect) do
- assert(reason[key] == value)
- end
-
- expect = nil
-end)
-
-
-
-local function run_player_meta_tests(player)
- local meta = player:get_meta()
- meta:set_string("foo", "bar")
- assert(meta:contains("foo"))
- assert(meta:get_string("foo") == "bar")
- assert(meta:get("foo") == "bar")
-
- local meta2 = player:get_meta()
- assert(meta2:get_string("foo") == "bar")
- assert(meta2:get("foo") == "bar")
- assert(meta:equals(meta2))
- assert(player:get_attribute("foo") == "bar")
-
- meta:set_string("bob", "dillan")
- assert(meta:get_string("foo") == "bar")
- assert(meta:get_string("bob") == "dillan")
- assert(meta:get("bob") == "dillan")
- assert(meta2:get_string("foo") == "bar")
- assert(meta2:get_string("bob") == "dillan")
- assert(meta2:get("bob") == "dillan")
- assert(meta:equals(meta2))
- assert(player:get_attribute("foo") == "bar")
- assert(player:get_attribute("bob") == "dillan")
-
- meta:set_string("foo", "")
- assert(not meta:contains("foo"))
- assert(meta:get("foo") == nil)
- assert(meta:get_string("foo") == "")
- assert(meta:equals(meta2))
-end
-
-local function run_player_tests(player)
- run_hpchangereason_tests(player)
- run_player_meta_tests(player)
- minetest.chat_send_all("All tests pass!")
-end
-minetest.register_on_joinplayer(run_player_tests)
+local modpath = minetest.get_modpath("test")
+dofile(modpath .. "/player.lua")
+dofile(modpath .. "/formspec.lua")
+dofile(modpath .. "/crafting.lua")
diff --git a/games/minimal/mods/test/mod.conf b/games/minimal/mods/test/mod.conf
index 0c9722fc3..ae6387e09 100644
--- a/games/minimal/mods/test/mod.conf
+++ b/games/minimal/mods/test/mod.conf
@@ -1,2 +1,3 @@
name = test
description = Adds unit tests for the engine
+optional_depends = default
diff --git a/games/minimal/mods/test/player.lua b/games/minimal/mods/test/player.lua
new file mode 100644
index 000000000..563d0d985
--- /dev/null
+++ b/games/minimal/mods/test/player.lua
@@ -0,0 +1,76 @@
+--
+-- Minimal Development Test
+-- Mod: test
+--
+
+--
+-- HP Change Reasons
+--
+local expect = nil
+local function run_hpchangereason_tests(player)
+ expect = { type = "set_hp", from = "mod" }
+ player:set_hp(3)
+ assert(expect == nil)
+
+ expect = { a = 234, type = "set_hp", from = "mod" }
+ player:set_hp(7, { a= 234 })
+ assert(expect == nil)
+
+ expect = { df = 3458973454, type = "fall", from = "mod" }
+ player:set_hp(10, { type = "fall", df = 3458973454 })
+ assert(expect == nil)
+end
+minetest.register_on_player_hpchange(function(player, hp, reason)
+ if not expect then
+ return
+ end
+
+ for key, value in pairs(reason) do
+ assert(expect[key] == value)
+ end
+
+ for key, value in pairs(expect) do
+ assert(reason[key] == value)
+ end
+
+ expect = nil
+end)
+
+
+local function run_player_meta_tests(player)
+ local meta = player:get_meta()
+ meta:set_string("foo", "bar")
+ assert(meta:contains("foo"))
+ assert(meta:get_string("foo") == "bar")
+ assert(meta:get("foo") == "bar")
+
+ local meta2 = player:get_meta()
+ assert(meta2:get_string("foo") == "bar")
+ assert(meta2:get("foo") == "bar")
+ assert(meta:equals(meta2))
+ assert(player:get_attribute("foo") == "bar")
+
+ meta:set_string("bob", "dillan")
+ assert(meta:get_string("foo") == "bar")
+ assert(meta:get_string("bob") == "dillan")
+ assert(meta:get("bob") == "dillan")
+ assert(meta2:get_string("foo") == "bar")
+ assert(meta2:get_string("bob") == "dillan")
+ assert(meta2:get("bob") == "dillan")
+ assert(meta:equals(meta2))
+ assert(player:get_attribute("foo") == "bar")
+ assert(player:get_attribute("bob") == "dillan")
+
+ meta:set_string("foo", "")
+ assert(not meta:contains("foo"))
+ assert(meta:get("foo") == nil)
+ assert(meta:get_string("foo") == "")
+ assert(meta:equals(meta2))
+end
+
+local function run_player_tests(player)
+ run_hpchangereason_tests(player)
+ run_player_meta_tests(player)
+ minetest.chat_send_all("All tests pass!")
+end
+minetest.register_on_joinplayer(run_player_tests)
diff --git a/minetest.conf.example b/minetest.conf.example
index 1574d5c3f..7a97d67fd 100644
--- a/minetest.conf.example
+++ b/minetest.conf.example
@@ -77,7 +77,7 @@
# The time in seconds it takes between repeated right clicks when holding the right
# mouse button.
-# type: float
+# type: float min: 0.001
# repeat_rightclick_time = 0.25
# Automatically jump up single-node obstacles.
@@ -126,7 +126,7 @@
# The time in seconds it takes between repeated events
# when holding down a joystick button combination.
-# type: float
+# type: float min: 0.001
# repeat_joystick_button_time = 0.17
# The sensitivity of the joystick axes for moving the
@@ -204,7 +204,7 @@
# Key for toggling pitch move mode.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
# type: key
-# keymap_pitchmove = KEY_KEY_L
+# keymap_pitchmove = KEY_KEY_P
# Key for toggling fast mode.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
@@ -573,11 +573,12 @@
# type: enum values: 0, 1, 2, 4, 8, 16
# fsaa = 0
-# Undersampling is similar to using lower screen resolution, but it applies
+# Undersampling is similar to using a lower screen resolution, but it applies
# to the game world only, keeping the GUI intact.
-# It should give significant performance boost at the cost of less detailed image.
-# type: enum values: 0, 2, 3, 4
-# undersampling = 0
+# It should give a significant performance boost at the cost of less detailed image.
+# Higher values result in a less detailed image.
+# type: int min: 1 max: 8
+# undersampling = 1
### Shaders
@@ -682,11 +683,11 @@
# If FPS would go higher than this, limit it by sleeping
# to not waste CPU power for no benefit.
-# type: int
+# type: int min: 1
# fps_max = 60
# Maximum FPS when game is paused.
-# type: int
+# type: int min: 1
# pause_fps_max = 20
# Open the pause menu when the window's focus is lost. Does not pause if a formspec is
@@ -698,7 +699,7 @@
# type: int min: 20 max: 4000
# viewing_range = 100
-# Camera near plane distance in nodes, between 0 and 0.5
+# Camera 'near clipping plane' distance in nodes, between 0 and 0.5.
# Most users will not need to change this.
# Increasing can reduce artifacting on weaker GPUs.
# 0.1 = Default, 0.25 = Good value for weaker tablets.
@@ -706,11 +707,11 @@
# near_plane = 0.1
# Width component of the initial window size.
-# type: int
+# type: int min: 1
# screen_w = 1024
# Height component of the initial window size.
-# type: int
+# type: int min: 1
# screen_h = 600
# Save window size automatically when modified.
@@ -735,7 +736,7 @@
# Adjust the gamma encoding for the light tables. Higher numbers are brighter.
# This setting is for the client only and is ignored by the server.
-# type: float min: 0.5 max: 3
+# type: float min: 0.5 max: 10
# display_gamma = 1.0
# Gradient of light curve at minimum light level.
@@ -945,7 +946,7 @@
# This will smooth over some of the rough edges, and blend
# pixels when scaling down, at the cost of blurring some
# edge pixels when images are scaled by non-integer sizes.
-# type: float
+# type: float min: 0.001
# gui_scaling = 1.0
# When gui_scaling_filter is true, all GUI images need to be
@@ -977,7 +978,7 @@
# type: filepath
# font_path = fonts/liberationsans.ttf
-# type: int
+# type: int min: 1
# font_size = 16
# Font shadow offset, if 0 then shadow will not be drawn.
@@ -991,14 +992,14 @@
# type: filepath
# mono_font_path = fonts/liberationmono.ttf
-# type: int
+# type: int min: 1
# mono_font_size = 15
# This font will be used for certain languages.
# type: filepath
# fallback_font_path = fonts/DroidSansFallbackFull.ttf
-# type: int
+# type: int min: 1
# fallback_font_size = 15
# type: int
@@ -1024,7 +1025,7 @@
## Advanced
# Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k screens.
-# type: int
+# type: int min: 1
# screen_dpi = 72
# Windows systems only: Start Minetest with the command line window in the background.
@@ -1277,6 +1278,11 @@
# type: bool
# enable_rollback_recording = false
+# Format of player chat messages. The following strings are valid placeholders:
+# @name, @message, @timestamp (optional)
+# type: string
+# chat_message_format = <@name> @message
+
# A message to be displayed to all clients when the server shuts down.
# type: string
# kick_msg_shutdown = Server shutting down.
@@ -1326,7 +1332,7 @@
# Time of day when a new world is started, in millihours (0-23999).
# type: int min: 0 max: 23999
-# world_start_time = 5250
+# world_start_time = 6125
# Interval of saving important changes in the world, stated in seconds.
# type: float
@@ -1346,39 +1352,55 @@
### Physics
+# Horizontal and vertical acceleration on ground or when climbing,
+# in nodes per second per second.
# type: float
# movement_acceleration_default = 3
+# Horizontal acceleration in air when jumping or falling,
+# in nodes per second per second.
# type: float
# movement_acceleration_air = 2
+# Horizontal and vertical acceleration in fast mode,
+# in nodes per second per second.
# type: float
# movement_acceleration_fast = 10
+# Walking and flying speed, in nodes per second.
# type: float
# movement_speed_walk = 4
+# Sneaking speed, in nodes per second.
# type: float
# movement_speed_crouch = 1.35
+# Walking, flying and climbing speed in fast mode, in nodes per second.
# type: float
# movement_speed_fast = 20
+# Vertical climbing speed, in nodes per second.
# type: float
# movement_speed_climb = 3
+# Initial vertical speed when jumping, in nodes per second.
# type: float
# movement_speed_jump = 6.5
+# Decrease this to increase liquid resistence to movement.
# type: float
# movement_liquid_fluidity = 1
+# Maximum liquid resistence. Controls deceleration when entering liquid at
+# high speed.
# type: float
# movement_liquid_fluidity_smooth = 0.5
+# Controls sinking speed in liquid.
# type: float
# movement_liquid_sink = 10
+# Acceleration of gravity, in nodes per second per second.
# type: float
# movement_gravity = 9.81
@@ -1580,6 +1602,13 @@
# type: enum values: , none, error, warning, action, info, verbose
# debug_log_level = action
+# If the file size of debug.txt exceeds the number of megabytes specified in
+# this setting when it is opened, the file is moved to debug.txt.1,
+# deleting an older debug.txt.1 if it exists.
+# debug.txt is only moved if this setting is positive.
+# type: int
+# debug_log_size_max = 50
+
# IPv6 support.
# type: bool
# enable_ipv6 = true
@@ -1629,11 +1658,9 @@
# Name of map generator to be used when creating a new world.
# Creating a world in the main menu will override this.
-# Current stable mapgens:
-# v5, v6, v7 (except floatlands), singlenode.
-# 'stable' means the terrain shape in an existing world will not be changed
-# in the future. Note that biomes are defined by games and may still change.
-# type: enum values: v5, v6, v7, valleys, carpathian, fractal, flat, singlenode
+# Current mapgens in a highly unstable state:
+# - The optional floatlands of v7 (disabled by default).
+# type: enum values: v7, valleys, carpathian, v5, flat, fractal, singlenode, v6
# mg_name = v7
# Water surface level of the world.
@@ -1656,10 +1683,6 @@
# type: flags possible values: caves, dungeons, light, decorations, biomes, nocaves, nodungeons, nolight, nodecorations, nobiomes
# mg_flags = caves,dungeons,light,decorations,biomes
-# Whether dungeons occasionally project from the terrain.
-# type: bool
-# projecting_dungeons = true
-
## Biome API temperature and humidity noise parameters
# Temperature variation for biomes.
@@ -1728,6 +1751,7 @@
# type: int
# mgv5_large_cave_depth = -256
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
# type: int
# mgv5_lava_depth = -256
@@ -1846,17 +1870,30 @@
# flags = eased
# }
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgv5_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
+# }
+
## Mapgen V6
# Map generation attributes specific to Mapgen v6.
# The 'snowbiomes' flag enables the new 5 biome system.
-# When the new biome system is enabled jungles are automatically enabled and
+# When the 'snowbiomes' flag is enabled jungles are automatically enabled and
# the 'jungles' flag is ignored.
# type: flags possible values: jungles, biomeblend, mudflow, snowbiomes, flat, trees, nojungles, nobiomeblend, nomudflow, nosnowbiomes, noflat, notrees
-# mgv6_spflags = jungles,biomeblend,mudflow,snowbiomes,trees
+# mgv6_spflags = jungles,biomeblend,mudflow,snowbiomes,noflat,trees
# Deserts occur when np_biome exceeds this value.
-# When the new biome system is enabled, this is ignored.
+# When the 'snowbiomes' flag is enabled, this is ignored.
# type: float
# mgv6_freq_desert = 0.45
@@ -2036,6 +2073,7 @@
# type: int
# mgv7_large_cave_depth = -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
# type: int
# mgv7_lava_depth = -256
@@ -2268,16 +2306,41 @@
# flags =
# }
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgv7_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
+# }
+
## Mapgen Carpathian
# Map generation attributes specific to Mapgen Carpathian.
-# type: flags possible values: caverns, nocaverns
-# mgcarpathian_spflags = caverns
+# type: flags possible values: caverns, rivers, nocaverns, norivers
+# mgcarpathian_spflags = caverns,norivers
# Defines the base ground level.
# type: float
# mgcarpathian_base_level = 12.0
+# Defines the width of the river channel.
+# type: float
+# mgcarpathian_river_width = 0.05
+
+# Defines the depth of the river channel.
+# type: float
+# mgcarpathian_river_depth = 24.0
+
+# Defines the width of the river valley.
+# type: float
+# mgcarpathian_valley_width = 0.25
+
# Controls width of tunnels, a smaller value creates wider tunnels.
# type: float
# mgcarpathian_cave_width = 0.09
@@ -2286,6 +2349,7 @@
# type: int
# mgcarpathian_large_cave_depth = -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
# type: int
# mgcarpathian_lava_depth = -256
@@ -2455,6 +2519,19 @@
# flags = eased
# }
+# 2D noise that locates the river valleys and channels.
+# type: noise_params_2d
+# mgcarpathian_np_rivers = {
+# offset = 0,
+# scale = 1,
+# spread = (1000, 1000, 1000),
+# seed = 85039,
+# octaves = 5,
+# persistence = 0.6,
+# lacunarity = 2.0,
+# flags = eased
+# }
+
# 3D noise for mountain overhangs, cliffs, etc. Usually small variations.
# type: noise_params_3d
# mgcarpathian_np_mnt_var = {
@@ -2507,6 +2584,19 @@
# flags =
# }
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgcarpathian_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
+# }
+
## Mapgen Flat
# Map generation attributes specific to Mapgen flat.
@@ -2522,6 +2612,7 @@
# type: int
# mgflat_large_cave_depth = -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
# type: int
# mgflat_lava_depth = -256
@@ -2612,8 +2703,27 @@
# flags =
# }
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgflat_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
+# }
+
## Mapgen Fractal
+# Map generation attributes specific to Mapgen flat.
+# 'terrain' enables the generation of non-fractal terrain:
+# ocean, islands and underground.
+# type: flags possible values: terrain, noterrain
+# mgfractal_spflags = terrain
+
# Controls width of tunnels, a smaller value creates wider tunnels.
# type: float
# mgfractal_cave_width = 0.09
@@ -2622,6 +2732,7 @@
# type: int
# mgfractal_large_cave_depth = -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
# type: int
# mgfractal_lava_depth = -256
@@ -2775,6 +2886,19 @@
# flags =
# }
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgfractal_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
+# }
+
## Mapgen Valleys
# Map generation attributes specific to Mapgen Valleys.
@@ -2783,7 +2907,7 @@
# 'vary_river_depth': If enabled, low humidity and high heat causes rivers
# to become shallower and occasionally dry.
# 'altitude_dry': Reduces humidity with altitude.
-# type: flags possible values: altitude_chill, noaltitude_chill, humid_rivers, nohumid_rivers, vary_river_depth, novary_river_depth, altitude_dry, noaltitude_dry
+# type: flags possible values: altitude_chill, humid_rivers, vary_river_depth, altitude_dry, noaltitude_chill, nohumid_rivers, novary_river_depth, noaltitude_dry
# mgvalleys_spflags = altitude_chill,humid_rivers,vary_river_depth,altitude_dry
# The vertical distance over which heat drops by 20 if 'altitude_chill' is
@@ -2796,6 +2920,7 @@
# type: int
# mgvalleys_large_cave_depth = -33
+# Deprecated, define and locate cave liquids using biome definitions instead.
# Y of upper limit of lava in large caves.
# type: int
# mgvalleys_lava_depth = 1
@@ -2964,6 +3089,19 @@
# flags = eased
# }
+# 3D noise that determines number of dungeons per mapchunk.
+# type: noise_params_3d
+# mgvalleys_np_dungeons = {
+# offset = 0.9,
+# scale = 0.5,
+# spread = (500, 500, 500),
+# seed = 0,
+# octaves = 2,
+# persistence = 0.8,
+# lacunarity = 2.0,
+# flags =
+# }
+
## Advanced
# Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).
diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml
index f1aab53a9..f41762564 100644
--- a/misc/net.minetest.minetest.appdata.xml
+++ b/misc/net.minetest.minetest.appdata.xml
@@ -3,6 +3,12 @@
<id>net.minetest.minetest.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>LGPL-2.1+ and CC-BY-SA-3.0 and MIT and Apache-2.0</project_license>
+ <content_rating type="oars-1.0">
+ <content_attribute id="violence-cartoon">mild</content_attribute>
+ <content_attribute id="violence-fantasy">mild</content_attribute>
+ <content_attribute id="social-chat">intense</content_attribute>
+ <content_attribute id="social-info">mild</content_attribute>
+ </content_rating>
<name>Minetest</name>
<summary>Multiplayer infinite-world block sandbox game</summary>
<description>
@@ -56,6 +62,6 @@
<translation type="gettext">minetest</translation>
<update_contact>sfan5@live.de</update_contact>
<releases>
- <release date="2019-03-31" version="5.0.1"/>
+ <release date="2019-10-12" version="5.1.0"/>
</releases>
</component>
diff --git a/po/be/minetest.po b/po/be/minetest.po
index dd096a99b..59be1980a 100644
--- a/po/be/minetest.po
+++ b/po/be/minetest.po
@@ -1,19 +1,19 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Belarusian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-14 07:46+0100\n"
-"PO-Revision-Date: 2019-02-23 11:18+0000\n"
-"Last-Translator: Zmicer Turok <zmicerturok@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Belarusian <https://hosted.weblate.org/projects/minetest/"
"minetest/be/>\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.5-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.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -24,7 +24,8 @@ msgid "You died"
msgstr "Вы загінулі"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Памылка Ñž Ñкрыпце Lua, Ñ‚Ð°ÐºÐ°Ñ Ñк у мадыфікацыі:"
#: builtin/fstk/ui.lua
@@ -108,26 +109,40 @@ msgid "Enable modpack"
msgstr "Уключыць пакунак"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
-"Ðе атрымалаÑÑ ÑžÐºÐ»ÑŽÑ‡Ñ‹Ñ†ÑŒ мод \"$1\" бо ён ўтрымлівае Ð½ÐµÐ´Ð°Ð¿ÑƒÑˆÑ‡Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñімвалы. "
-"ДапуÑкаюцца толькі [a-z0-9_]."
+"Ðе атрымалаÑÑ ÑžÐºÐ»ÑŽÑ‡Ñ‹Ñ†ÑŒ мадыфікацыю \"$1\" бо Ñна ўтрымлівае Ð½ÐµÐ´Ð°Ð¿ÑƒÑˆÑ‡Ð°Ð»ÑŒÐ½Ñ‹Ñ "
+"Ñімвалы. ДапуÑкаюцца толькі [a-z0-9_]."
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
msgstr "МадыфікацыÑ:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+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 "ЗалежнаÑці адÑутнічаюць."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "ÐпіÑанне мадыфікацыі адÑутнічае."
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "ÐеабавÑÐ·ÐºÐ¾Ð²Ñ‹Ñ Ð·Ð°Ð»ÐµÐ¶Ð½Ð°Ñці:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "ÐеабавÑÐ·ÐºÐ¾Ð²Ñ‹Ñ Ð·Ð°Ð»ÐµÐ¶Ð½Ð°Ñці:"
@@ -181,7 +196,7 @@ msgstr "Мадыфікацыі"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Ðемагчыма атрымаць пакункі"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
@@ -213,9 +228,8 @@ msgid "Create"
msgstr "Стварыць"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Спампаваць гульню, Ñк minetest_game, з minetest.net"
+msgstr "Спампоўвайце гульні кшталту «Minetest Game», з minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -286,15 +300,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"ГÑты пакунак мадыфікацый мае назву Ñž modpack.conf, ÑÐºÐ°Ñ Ð½Ðµ зменіцца, калі Ñе "
+"змÑніць тут."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(ÐÑма апіÑаннÑ)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Шумы"
+msgstr "2D-шум"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -317,22 +332,20 @@ msgid "Enabled"
msgstr "Уключаны"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Lacunarity"
-msgstr "БÑÑпека"
+msgstr "ЛакунарнаÑць"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Ðктавы"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
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."
@@ -372,49 +385,47 @@ msgstr "ЗначÑнне муÑіць быць не больш за $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+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
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 раÑпаўÑюджваннÑ"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "абÑÐ°Ð»ÑŽÑ‚Ð½Ð°Ñ Ð²ÐµÐ»Ñ–Ñ‡Ñ‹Ð½Ñ"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "ÐÐ³Ð°Ð´Ð°Ð½Ð°Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ"
+msgstr "прадвызначаны"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "паÑлаблены"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
msgstr "$1 (уключана)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr " мадыфікацыі"
+msgstr "$1 мадыфікацый"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
@@ -492,10 +503,6 @@ msgid "Rename"
msgstr "ЗмÑніць назву"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "Ðбраць файл пакунка:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Выдаліць пакунак"
@@ -640,9 +647,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Ðалады"
+msgstr "УÑе налады"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -781,12 +787,13 @@ msgid "Waving Leaves"
msgstr "Дрыготкае ліÑце"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Ð”Ñ€Ñ‹Ð³Ð¾Ñ‚ÐºÑ–Ñ Ñ€Ð°Ñліны"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Калыханне блокаў"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "ХвалÑванне вады"
+msgid "Waving Plants"
+msgstr "Ð”Ñ€Ñ‹Ð³Ð¾Ñ‚ÐºÑ–Ñ Ñ€Ð°Ñліны"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -909,11 +916,13 @@ msgid "- Server Name: "
msgstr "- Ðазва Ñервера: "
#: src/client/game.cpp
-msgid "Automatic forwards disabled"
+#, fuzzy
+msgid "Automatic forward disabled"
msgstr "Ðўтаматычны рух адключаны"
#: src/client/game.cpp
-msgid "Automatic forwards enabled"
+#, fuzzy
+msgid "Automatic forward enabled"
msgstr "Ðўтаматычны рух уключаны"
#: src/client/game.cpp
@@ -1527,13 +1536,13 @@ msgid "Register and Join"
msgstr "ЗарÑгіÑтравацца Ñ– далучыцца"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
"Ð’Ñ‹ хочаце першы раз увайÑці на Ñервер %1$s Ñк \"%2$s\". Калі вы працÑгнеце, "
"то на Ñерверы будзе Ñтвораны новы акаўнт з уведзенымі данымі. Калі лаÑка, "
@@ -1654,10 +1663,6 @@ msgid "Special"
msgstr "ÐдмыÑловаÑ"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "КінематаграфічнаÑць"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "HUD"
@@ -1686,6 +1691,11 @@ msgid "Toggle noclip"
msgstr "Рух Ñкрозь Ñцены"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Размова"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "націÑніце кнопку"
@@ -1756,8 +1766,8 @@ msgid ""
"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes."
msgstr ""
"(X, Y, Z) зрух фрактала ад цÑнтру Ñвету Ñž адзінках шкалы маштабу.\n"
-"ВыкарыÑтоўваецца Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð¼ÑшчÑÐ½Ð½Ñ Ð²Ð¾Ð±Ð»Ð°Ñці адраджÑÐ½Ð½Ñ Ð±Ð»Ñ–Ð¶Ñй да зÑмлі (0, 0)."
-"\n"
+"ВыкарыÑтоўваецца Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð¼ÑшчÑÐ½Ð½Ñ Ð²Ð¾Ð±Ð»Ð°Ñці адраджÑÐ½Ð½Ñ Ð±Ð»Ñ–Ð¶Ñй да зÑмлі (0, "
+"0).\n"
"Прадвызначанае значÑнне падыходзіць Ð´Ð»Ñ Ð¼Ð½Ð¾Ñтваў МандÑльброта, але Ð´Ð»Ñ "
"мноÑтваў Ð–ÑƒÐ»Ñ–Ñ Ñго неабходна падладзіць.\n"
"ДыÑпазон прыкладна ад −2 да 2. Памножце на адзінку шкалы маштабу, каб "
@@ -1775,8 +1785,8 @@ msgid ""
msgstr ""
"(Х,Y,Z) шкала фрактала ў блоках.\n"
"Фактычны фрактальны памер будзе ў 2-3 разы больш.\n"
-"ГÑÑ‚Ñ‹Ñ Ð»Ñ–ÐºÑƒ могуць быць вельмі вÑлікімі, фракталу нÑма патрÑбы запаўнÑць Ñвет."
-"\n"
+"ГÑÑ‚Ñ‹Ñ Ð»Ñ–ÐºÑƒ могуць быць вельмі вÑлікімі, фракталу нÑма патрÑбы запаўнÑць "
+"Ñвет.\n"
"ПавÑлічце Ñ–Ñ…, каб павÑлічыць маштаб дÑталі фрактала.\n"
"Ð”Ð»Ñ Ð²ÐµÑ€Ñ‚Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð° ÑціÑнутай фігуры, што падыходзіць\n"
"воÑтраву, зрабіце ÑžÑе 3 лікі роўнымі Ð´Ð»Ñ Ð½ÐµÐ°Ð¿Ñ€Ð°Ñ†Ð°Ð²Ð°Ð½Ð°Ð¹ формы."
@@ -1802,15 +1812,23 @@ msgid "2D noise that controls the shape/size of step mountains."
msgstr "2D-шум, што кіруе формай/памерам Ñталовых гор."
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the size/occurance of ridged mountain ranges."
+#, fuzzy
+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/occurance of rolling hills."
+#, fuzzy
+msgid "2D noise that controls the size/occurrence of rolling hills."
msgstr "2D-шум, што кіруе памерам/меÑцазнаходжаннем пагоркаў."
#: src/settings_translation_file.cpp
-msgid "2D noise that controls the size/occurance of step mountain ranges."
+#, fuzzy
+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-шум, што кіруе памерам/меÑцазнаходжаннем горных ланцугоў."
#: src/settings_translation_file.cpp
@@ -1847,6 +1865,10 @@ msgstr ""
"3D-шум, што вызначае Ð³Ð¾Ñ€Ð½Ñ‹Ñ Ð²Ñ‹Ñтупы, Ñкалы Ñ– Ñ‚. п. Звычайна нÑшмат варыÑцый."
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1899,6 +1921,10 @@ msgid "Acceleration in air"
msgstr "ПаÑкарÑнне Ñž паветры"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Мадыфікатары актыўных блокаў"
@@ -2040,14 +2066,13 @@ msgstr ""
"Прызначаецца ў блоках мапы (16 вузлоў)."
#: src/settings_translation_file.cpp
-msgid "Automatic forwards key"
+#, fuzzy
+msgid "Automatic forward key"
msgstr "Клавіша ўперад"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
-msgstr ""
-"Ðўтаматычна заÑкокваць на Ð°Ð´Ð½Ð°Ð±Ð»Ð¾ÐºÐ°Ð²Ñ‹Ñ Ð¿ÐµÑ€Ð°ÑˆÐºÐ¾Ð´Ñ‹. \n"
-"тып: bool"
+msgstr "Ðўтаматычна заÑкокваць на Ð°Ð´Ð½Ð°Ð±Ð»Ð¾ÐºÐ°Ð²Ñ‹Ñ Ð¿ÐµÑ€Ð°ÑˆÐºÐ¾Ð´Ñ‹."
#: src/settings_translation_file.cpp
msgid "Automatically report to the serverlist."
@@ -2126,8 +2151,9 @@ msgid "Bumpmapping"
msgstr "РÑльефнае Ñ‚ÑкÑтураванне"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2195,7 +2221,7 @@ msgstr "Ðбмежаванне пÑчор"
#: src/settings_translation_file.cpp
msgid "Center of light curve mid-boost."
-msgstr ""
+msgstr "ЦÑнтр ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла."
#: src/settings_translation_file.cpp
msgid ""
@@ -2209,8 +2235,8 @@ msgstr ""
"Змена інтÑрфейÑу галоўнага меню:\n"
"- full: выбар Ñвету Ð´Ð»Ñ Ð°Ð´Ð·Ñ–Ð½Ð¾Ñ‡Ð½Ð°Ð¹ альбо Ñеткавай гульні, аÑобны ÑÐ¿Ñ–Ñ "
"чужых Ñервераў.\n"
-"- simple: адзін Ñвет Ð´Ð»Ñ Ð°Ð´Ð·Ñ–Ð½Ð¾Ñ‡Ð½Ð°Ð¹ гульні Ñž меню, дзе ÑÐ¿Ñ–Ñ Ñ‡ÑƒÐ¶Ñ‹Ñ… Ñервераў;"
-" можа быць карыÑна Ð´Ð»Ñ Ð½ÐµÐ²ÐµÐ»Ñ–Ñ‡ÐºÑ–Ñ… Ñкранаў.\n"
+"- simple: адзін Ñвет Ð´Ð»Ñ Ð°Ð´Ð·Ñ–Ð½Ð¾Ñ‡Ð½Ð°Ð¹ гульні Ñž меню, дзе ÑÐ¿Ñ–Ñ Ñ‡ÑƒÐ¶Ñ‹Ñ… "
+"Ñервераў; можа быць карыÑна Ð´Ð»Ñ Ð½ÐµÐ²ÐµÐ»Ñ–Ñ‡ÐºÑ–Ñ… Ñкранаў.\n"
"Прадвызначана: simple Ð´Ð»Ñ Android, full Ð´Ð»Ñ ÑžÑÑ–Ñ… аÑтатніх."
#: src/settings_translation_file.cpp
@@ -2222,6 +2248,11 @@ msgid "Chat message count limit"
msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць паведамленнÑÑž у размове"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ñ€Ð°Ñ†ÑглаÑць Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½Ñ Ñž размове"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць паведамленнÑÑž у размове Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑннÑ"
@@ -2307,6 +2338,13 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"so see a full list at https://content.minetest.net/help/content_flags/"
msgstr ""
+"Падзелены коÑкамі ÑÐ¿Ñ–Ñ Ð¿Ð°Ð·Ð½Ð°Ðº, ÑÐºÑ–Ñ Ð¼Ð¾Ð¶Ð½Ð° хаваць у Ñ€Ñпазіторыі.\n"
+"\"nonfree\" можна выкарыÑтоўвацца, каб Ñхаваць пакункі, ÑÐºÑ–Ñ Ð·â€™ÑўлÑюцца "
+"Ñвабодным праграмным забеÑпÑчÑннем паводле Free Software Foundation.\n"
+"ТакÑама вы можаце прызначыць Ñ€Ñйтынг.\n"
+"Пазнакі не залежаць ад верÑÑ–Ñ– Minetest,\n"
+"таму ўбачыць поўны ÑÐ¿Ñ–Ñ Ð¼Ð¾Ð¶Ð½Ð° на https://content.minetest.net/help/"
+"content_flags/"
#: src/settings_translation_file.cpp
msgid ""
@@ -2354,8 +2392,13 @@ msgid "Console height"
msgstr "Ð’Ñ‹ÑˆÑ‹Ð½Ñ ÐºÐ°Ð½Ñолі"
#: src/settings_translation_file.cpp
-msgid "Content Store"
-msgstr "Крама дадаткаў"
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "ContentDB URL"
+msgstr "ЗмеÑціва"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2383,6 +2426,10 @@ msgstr ""
"Прыклады: 72 = 20 мін, 360 = 4 мін, 1 = 24 г, 0 — дзень Ñ– ноч не змÑнÑюцца."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Кіруе крутаÑцю/глыбінёй азёр."
@@ -2443,14 +2490,23 @@ msgid "Debug info toggle key"
msgstr "Клавіша пераключÑÐ½Ð½Ñ Ð°Ð´Ð»Ð°Ð´Ð°Ñ‡Ð½Ñ‹Ñ… даных"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Парог шуму пуÑтынь"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
-msgstr "Узровень лога адладкі"
+msgstr "Узровень журнала адладкі"
#: src/settings_translation_file.cpp
msgid "Dec. volume key"
msgstr "Кнопка памÑншÑÐ½Ð½Ñ Ð³ÑƒÑ‡Ð½Ð°Ñці"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Крок адведзенага Ñервера"
@@ -2540,12 +2596,27 @@ msgid "Defines the base ground level."
msgstr "Вызначае базавы ўзровень зÑмлі."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Вызначае базавы ўзровень зÑмлі."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Вызначае макÑімальную адлеглаÑць перадачы даных гульца Ñž блоках\n"
"(0 — неабмежаванаÑ)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "Вызначае буйнамаштабную Ñтруктуру Ñ€Ñчышч."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Вызначае воблаÑці, дзе на дрÑвах Ñ‘Ñць Ñблыкі."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Вызначае воблаÑці Ñ– шчыльнаÑць дрÑÑž."
@@ -2572,6 +2643,12 @@ msgid "Deprecated Lua API handling"
msgstr "Ðпрацоўка ÑаÑтарÑлых выклікаў Lua API"
#: 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 "Depth below which you'll find giant caverns."
msgstr "ГлыбінÑ, ніжÑй Ñкой траплÑюцца вÑÐ»Ñ–ÐºÑ–Ñ Ð¿Ñчоры."
@@ -2591,9 +2668,10 @@ msgid "Desert noise threshold"
msgstr "Парог шуму пуÑтынь"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"ПуÑтыні з'ÑўлÑюцца, калі np_biome перавыÑіць гÑтае значÑнне.\n"
"Ігнаруецца, калі ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ð°Ñ Ð½Ð¾Ð²Ð°Ñ ÑÑ–ÑÑ‚Ñма біёмаў."
@@ -2636,11 +2714,16 @@ msgstr "Зводка адладачных даных генератара мап
#: src/settings_translation_file.cpp
msgid "Dungeon maximum Y"
-msgstr ""
+msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Y падзÑмеллÑ"
#: src/settings_translation_file.cpp
msgid "Dungeon minimum Y"
-msgstr ""
+msgstr "ÐœÑ–Ð½Ñ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Y падзÑмеллÑ"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "ÐœÑ–Ð½Ñ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Y падзÑмеллÑ"
#: src/settings_translation_file.cpp
msgid ""
@@ -2684,13 +2767,15 @@ msgstr "Уключыць выпадковы карыÑтальніцкі ўвоÐ
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Уключыць пацвÑрджÑнне Ñ€ÑгіÑтрацыі"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Уключае пацвÑрджÑнне Ñ€ÑгіÑтрацыі пры злучÑнні з Ñерверам.\n"
+"Калі выключана, новы акаўнт будзе Ñ€ÑгіÑтравацца аўтаматычна."
#: src/settings_translation_file.cpp
msgid ""
@@ -2988,6 +3073,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr "Фармат здымкаў Ñкрана."
@@ -3110,12 +3202,11 @@ 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.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"and junglegrass, in all other mapgens this flag controls all decorations."
msgstr ""
"Ð“Ð»Ð°Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ генерацыі мапы.\n"
"У генератары мапы 6 параметр \"decorations\" кіруе ÑžÑімі дÑкарацыÑмі,\n"
@@ -3241,140 +3332,158 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
-msgstr "ÐаÑтупны прадмет на хуткай панÑлі"
+msgstr "ÐаÑтупны прадмет на панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar previous key"
-msgstr "ПапÑÑ€Ñдні прадмет на хуткай панÑлі"
+msgstr "ПапÑÑ€Ñдні прадмет на панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 1 key"
-msgstr "Прадмет 1 хуткай панÑлі"
+msgstr "Прадмет 1 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 10 key"
-msgstr "Прадмет 10 хуткай панÑлі"
+msgstr "Прадмет 10 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 11 key"
-msgstr "Прадмет 11 хуткай панÑлі"
+msgstr "Прадмет 11 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 12 key"
-msgstr "Прадмет 12 хуткай панÑлі"
+msgstr "Прадмет 12 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 13 key"
-msgstr "Прадмет 13 хуткай панÑлі"
+msgstr "Прадмет 13 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 14 key"
-msgstr "Прадмет 14 хуткай панÑлі"
+msgstr "Прадмет 14 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 15 key"
-msgstr "Прадмет 15 хуткай панÑлі"
+msgstr "Прадмет 15 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 16 key"
-msgstr "Прадмет 16 хуткай панÑлі"
+msgstr "Прадмет 16 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 17 key"
-msgstr "Прадмет 17 хуткай панÑлі"
+msgstr "Прадмет 17 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 18 key"
-msgstr "Прадмет 18 хуткай панÑлі"
+msgstr "Прадмет 18 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 19 key"
-msgstr "Прадмет 19 хуткай панÑлі"
+msgstr "Прадмет 19 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 2 key"
-msgstr "Прадмет 2 хуткай панÑлі"
+msgstr "Прадмет 2 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 20 key"
-msgstr "Прадмет 20 хуткай панÑлі"
+msgstr "Прадмет 20 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 21 key"
-msgstr "Прадмет 21 хуткай панÑлі"
+msgstr "Прадмет 21 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 22 key"
-msgstr "Прадмет 22 хуткай панÑлі"
+msgstr "Прадмет 22 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 23 key"
-msgstr "Прадмет 23 хуткай панÑлі"
+msgstr "Прадмет 23 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 24 key"
-msgstr "Прадмет 24 хуткай панÑлі"
+msgstr "Прадмет 24 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 25 key"
-msgstr "Прадмет 25 хуткай панÑлі"
+msgstr "Прадмет 25 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 26 key"
-msgstr "Прадмет 26 хуткай панÑлі"
+msgstr "Прадмет 26 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 27 key"
-msgstr "Прадмет 27 хуткай панÑлі"
+msgstr "Прадмет 27 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 28 key"
-msgstr "Прадмет 28 хуткай панÑлі"
+msgstr "Прадмет 28 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 29 key"
-msgstr "Прадмет 29 хуткай панÑлі"
+msgstr "Прадмет 29 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 3 key"
-msgstr "Прадмет 3 хуткай панÑлі"
+msgstr "Прадмет 3 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 30 key"
-msgstr "Прадмет 30 хуткай панÑлі"
+msgstr "Прадмет 30 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 31 key"
-msgstr "Прадмет 31 хуткай панÑлі"
+msgstr "Прадмет 31 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 32 key"
-msgstr "Прадмет 32 хуткай панÑлі"
+msgstr "Прадмет 32 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 4 key"
-msgstr "Прадмет 4 хуткай панÑлі"
+msgstr "Прадмет 4 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 5 key"
-msgstr "Прадмет 5 хуткай панÑлі"
+msgstr "Прадмет 5 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 6 key"
-msgstr "Прадмет 6 хуткай панÑлі"
+msgstr "Прадмет 6 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 7 key"
-msgstr "Прадмет 7 хуткай панÑлі"
+msgstr "Прадмет 7 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 8 key"
-msgstr "Прадмет 8 хуткай панÑлі"
+msgstr "Прадмет 8 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 9 key"
-msgstr "Прадмет 9 хуткай панÑлі"
+msgstr "Прадмет 9 панÑлі хуткага доÑтупу"
#: src/settings_translation_file.cpp
msgid "How deep to make rivers."
@@ -3449,14 +3558,6 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"If enabled together with fly mode, makes move directions relative to the "
-"player's pitch."
-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."
@@ -3471,8 +3572,8 @@ msgid ""
"down and\n"
"descending."
msgstr ""
-"Калі ўключана, то Ð´Ð»Ñ ÑпуÑÐºÐ°Ð½Ð½Ñ Ñ– апуÑÐºÐ°Ð½Ð½Ñ Ð±ÑƒÐ´Ð·Ðµ выкарыÑтоўвацца клавіша \""
-"special\" замеÑÑ‚ \"sneak\"."
+"Калі ўключана, то Ð´Ð»Ñ ÑпуÑÐºÐ°Ð½Ð½Ñ Ñ– апуÑÐºÐ°Ð½Ð½Ñ Ð±ÑƒÐ´Ð·Ðµ выкарыÑтоўвацца клавіша "
+"\"special\" замеÑÑ‚ \"sneak\"."
#: src/settings_translation_file.cpp
msgid ""
@@ -3500,6 +3601,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."
@@ -3525,6 +3628,14 @@ 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 "If this is set, players will always (re)spawn at the given position."
msgstr "Калі вызначана, гульцы заўÑёды адраджаюцца Ñž абраным меÑцы."
@@ -3553,51 +3664,56 @@ msgid "Inc. volume key"
msgstr "Клавіша павелічÑÐ½Ð½Ñ Ð³ÑƒÑ‡Ð½Ð°Ñці"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
msgstr ""
-"Ð£Ð±ÑƒÐ´Ð°Ð²Ð°Ð½Ð°Ñ Ñ–Ð½ÑтрументацыÑ.\n"
-"ГÑта звычайна неабходна толькі Ð´Ð»Ñ Ð°Ñноўным удзельнікам"
+"Ð£Ð±ÑƒÐ´Ð°Ð²Ð°Ð½Ñ‹Ñ Ñ–Ð½Ñтрументы.\n"
+"Звычайна патрабуюцца толькі раÑпрацоўшчыкам Ñдра"
#: src/settings_translation_file.cpp
msgid "Instrument chatcommands on registration."
-msgstr "ІнÑтрументаваць каманды чату пры Ñ€ÑгіÑтрацыі."
+msgstr "Выконваць загады Ñž размове пры Ñ€ÑгіÑтрацыі."
#: src/settings_translation_file.cpp
msgid ""
"Instrument global callback functions on registration.\n"
"(anything you pass to a minetest.register_*() function)"
msgstr ""
-"ІнÑтрументаваць функцыі глабальных Ð·Ð²Ð°Ñ€Ð¾Ñ‚Ð½Ñ‹Ñ Ð²Ñ‹ÐºÐ»Ñ–ÐºÐ°Ñž пры Ñ€ÑгіÑтрацыі.\n"
-"(уÑÑ‘, што вы перадаÑце у функцыю minetest.register_*())"
+"ІнÑтрумент функцый глабальных зваротных выклікаў пры Ñ€ÑгіÑтрацыі.\n"
+"(уÑÑ‘, што перадаецца Ñž функцыю minetest.register_*())"
#: src/settings_translation_file.cpp
msgid ""
"Instrument the action function of Active Block Modifiers on registration."
-msgstr "ІнÑтрументаваць функцыі мадыфікатараў актыўных блокаў пры Ñ€ÑгіÑтрацыі."
+msgstr ""
+"ІнÑтрумент функцыі дзеÑÐ½Ð½Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ‚Ð°Ñ€Ð°Ñž актыўных блокаў пры Ñ€ÑгіÑтрацыі."
#: src/settings_translation_file.cpp
msgid ""
"Instrument the action function of Loading Block Modifiers on registration."
msgstr ""
-"ІнÑтрументаваць функцыі мадыфікатараў нагрузачных блокаў пры Ñ€ÑгіÑтрацыі."
+"ІнÑтрумент функцыі дзеÑÐ½Ð½Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ‚Ð°Ñ€Ð°Ñž загружаемых блокаў пры Ñ€ÑгіÑтрацыі."
#: src/settings_translation_file.cpp
msgid "Instrument the methods of entities on registration."
-msgstr "ІнÑтрументаваць метады ÑутнаÑці пры Ñ€ÑгіÑтрацыі."
+msgstr "ІнÑтрумент метадаў ÑутнаÑці пры Ñ€ÑгіÑтрацыі."
#: src/settings_translation_file.cpp
msgid "Instrumentation"
-msgstr "ІнÑтрументаванне"
+msgstr "ІнÑтрументы"
#: src/settings_translation_file.cpp
msgid "Interval of saving important changes in the world, stated in seconds."
-msgstr "ІнтÑрвал Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ Ð²Ð°Ð¶Ð½Ñ‹Ñ… змÑненнÑÑž Ñвету, зададзены Ñž Ñекундах."
+msgstr "ІнтÑрвал Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ Ð²Ð°Ð¶Ð½Ñ‹Ñ… змен Ñвету, вызначаны Ñž Ñекундах."
#: src/settings_translation_file.cpp
msgid "Interval of sending time of day to clients."
-msgstr "ІнтÑрвал адпраўкі кліентам чаÑу днÑ."
+msgstr "ІнтÑрвал Ð°Ð´Ð¿Ñ€Ð°ÑžÐ»ÐµÐ½Ð½Ñ ÐºÐ»Ñ–ÐµÐ½Ñ‚Ð°Ð¼ чаÑу."
#: src/settings_translation_file.cpp
msgid "Inventory items animations"
@@ -3609,15 +3725,15 @@ msgstr "Клавіша інвентару"
#: src/settings_translation_file.cpp
msgid "Invert mouse"
-msgstr "Інвертаваць мыш"
+msgstr "ÐдвÑрнуць мыш"
#: src/settings_translation_file.cpp
msgid "Invert vertical mouse movement."
-msgstr "Інвертуе вертыкальны рух мышы."
+msgstr "ЗмÑнÑе вертыкальны рух мышы на адваротны."
#: src/settings_translation_file.cpp
msgid "Item entity TTL"
-msgstr "Ð§Ð°Ñ Ð¶Ñ‹Ñ†Ñ†Ñ Ð²Ñ‹ÐºÑ–Ð½ÑƒÑ‚Ð°Ð¹ Ñ€Ñчы"
+msgstr "Ð§Ð°Ñ Ñ–ÑÐ½Ð°Ð²Ð°Ð½Ð½Ñ Ð²Ñ‹ÐºÑ–Ð½ÑƒÑ‚Ð°Ð¹ Ñ€Ñчы"
#: src/settings_translation_file.cpp
msgid "Iterations"
@@ -3630,6 +3746,10 @@ msgid ""
"increases processing load.\n"
"At iterations = 20 this mapgen has a similar load to mapgen V7."
msgstr ""
+"ІнтÑрацыі Ñ€ÑкурÑіўнай функцыі.\n"
+"Пры павелічÑнні павÑлічваецца колькаÑць дÑталÑÑž, але павÑлічваецца Ñ‡Ð°Ñ "
+"апрацоўкі.\n"
+"Пры інтÑрацыÑÑ… 20 гÑты генератар мапы будзе падобны да mapgen V7."
#: src/settings_translation_file.cpp
msgid "Joystick ID"
@@ -3641,15 +3761,13 @@ msgstr "ІнтÑрвал паўтору кнопкі джойÑціка"
#: src/settings_translation_file.cpp
msgid "Joystick frustum sensitivity"
-msgstr "ÐдчувальнаÑць адÑÑчÑÐ½Ð½Ñ Ð´Ð¶Ð¾Ð¹Ñціка"
+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"
@@ -3657,47 +3775,44 @@ msgid ""
"Has no effect on 3D fractals.\n"
"Range roughly -2 to 2."
msgstr ""
-"Ð”Ð»Ñ Ð¼Ð½Ð¾Ñтва Ð–ÑƒÐ»Ñ–Ñ Ñ‚Ð¾Ð»ÑŒÐºÑ–: кампанента W гіперкомплекÑнай канÑтанты,\n"
-"ÑÐºÐ°Ñ Ð·Ð°Ð´Ð°Ðµ форму мноÑтва ЖуліÑ.\n"
-"Ðе дае Ñфекту Ð´Ð»Ñ 3D-фракталаў.\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"
+"Толькі Ð´Ð»Ñ Ð¼Ð½Ð¾Ñтва ЖуліÑ: кампанент X гіперкомплекÑнай канÑтанты,\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"
-"Ðе дае Ñфекту Ð´Ð»Ñ 3D-фракталаў.\n"
+"Толькі Ð´Ð»Ñ Ð¼Ð½Ð¾Ñтва ЖуліÑ: кампанент Y гіперкомплекÑнай канÑтанты,\n"
+"што вызначае форму фрактала ЖуліÑ.\n"
+"Ðе ўплывае на 3D-фракталы.\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"
-"Ðе дае Ñфекту Ð´Ð»Ñ 3D-фракталаў.\n"
+"Толькі Ð´Ð»Ñ Ð¼Ð½Ð¾Ñтва ЖуліÑ: кампанент Z гіперкомплекÑнай канÑтанты, што "
+"вызначае форму фрактала ЖуліÑ.\n"
+"Ðе ўплывае на 3D-фракталы.\n"
"ДыÑпазон прыкладна ад −2 да 2."
#: src/settings_translation_file.cpp
@@ -3710,19 +3825,19 @@ msgstr "Ð–ÑƒÐ»Ñ–Ñ X"
#: src/settings_translation_file.cpp
msgid "Julia y"
-msgstr "ЖуліÑ"
+msgstr "Ð–ÑƒÐ»Ñ–Ñ Ñƒ"
#: src/settings_translation_file.cpp
msgid "Julia z"
-msgstr "Ð–ÑƒÐ»Ñ–Ñ Z"
+msgstr "Ð–ÑƒÐ»Ñ–Ñ z"
#: src/settings_translation_file.cpp
msgid "Jump key"
-msgstr "Клавіша Ñкачка"
+msgstr "Клавіша Ñкока"
#: src/settings_translation_file.cpp
msgid "Jumping speed"
-msgstr "ХуткаÑць Ñкачка"
+msgstr "ХуткаÑць Ñкокаў"
#: src/settings_translation_file.cpp
msgid ""
@@ -3730,8 +3845,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿Ð°Ð¼ÑншÑÐ½Ð½Ñ Ð´Ñ‹Ñпазону праглÑду.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша памÑншÑÐ½Ð½Ñ Ð´Ñ‹Ñпазону бачнаÑці.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3740,7 +3855,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Кнопка Ð´Ð»Ñ Ð¿Ð°Ð¼ÑншÑÐ½Ð½Ñ Ð³ÑƒÑ‡Ð½Ð°Ñці.\n"
+"Клавіша памÑншÑÐ½Ð½Ñ Ð³ÑƒÑ‡Ð½Ð°Ñці.\n"
"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3750,8 +3865,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð²Ñ‹ÐºÑ–Ð´Ð°Ð½Ð½Ñ Ð°Ð±Ñ€Ð°Ð½Ð°Ð³Ð° прадмета.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша Ð²Ñ‹ÐºÑ–Ð´Ð°Ð½Ð½Ñ Ð°Ð±Ñ€Ð°Ð½Ð°Ð³Ð° прадмета.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3760,8 +3875,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð´Ñ‹Ñпазону праглÑду.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша павелічÑÐ½Ð½Ñ Ð´Ñ‹Ñпазону бачнаÑці.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3770,7 +3885,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Кнопка Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð³ÑƒÑ‡Ð½Ð°Ñці.\n"
+"Кнопка павелічÑÐ½Ð½Ñ Ð³ÑƒÑ‡Ð½Ð°Ñці.\n"
"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3780,8 +3895,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ñкачка.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша Ñкока.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3790,20 +3905,20 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ñ…ÑƒÑ‚ÐºÐ°Ð³Ð° руху Ñž шпаркім Ñ€Ñжыме.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша паÑкарÑÐ½Ð½Ñ Ñ€ÑƒÑ…Ñƒ Ñž шпаркім Ñ€Ñжыме.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
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 ""
-"Клавіша Ð´Ð»Ñ Ñ€ÑƒÑ…Ñƒ гульца ўзад.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша Ð´Ð»Ñ Ñ€ÑƒÑ…Ñƒ назад.\n"
+"ТакÑама выключае аўтабег, калі той актыўны.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3812,8 +3927,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ñ€ÑƒÑ…Ñƒ гульца ўперад.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша руху ўперад.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3822,8 +3937,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ñ€ÑƒÑ…Ñƒ гульца ўлева.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша руху ўлева.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3832,8 +3947,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ñ€ÑƒÑ…Ñƒ гульца ўправа.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша руху ўправа.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3842,7 +3957,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Кнопка Ð´Ð»Ñ Ð¿Ñ€Ñ‹Ð³Ð»ÑƒÑˆÑÐ½Ð½Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ–.\n"
+"Клавіша выключÑÐ½Ð½Ñ Ð³ÑƒÐºÑƒ.\n"
"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3852,8 +3967,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ Ð²Ð°ÐºÐ½Ð° чату Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÐ°Ð²Ð°Ð½Ð½Ñ ÐºÐ°Ð¼Ð°Ð½Ð´.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ Ð°ÐºÐ½Ð° размовы Ð´Ð»Ñ ÑžÐ²Ð¾Ð´Ñƒ загадаў.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3862,7 +3977,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Кнопка Ð´Ð»Ñ Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ Ð²Ð°ÐºÐ½Ð° чату Ð´Ð»Ñ ÑžÐ²Ð¾Ð´Ñƒ лакальных каманд.\n"
+"Кнопка Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ Ð°ÐºÐ½Ð° размовы Ð´Ð»Ñ ÑžÐ²Ð¾Ð´Ñƒ лакальных загадаў.\n"
"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3872,8 +3987,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ Ð²Ð°ÐºÐ½Ð° чату.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ Ð°ÐºÐ½Ð° размовы.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -3882,293 +3997,267 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ Ñ–Ð½Ð²ÐµÐ½Ñ‚Ð°Ñ€Ñƒ.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ Ñ–Ð½Ð²ÐµÐ½Ñ‚Ð°Ñ€Ñƒ.\n"
+"ГлÑдзіце 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 ""
-"Кнопка Ð´Ð»Ñ Ð²Ñ‹Ð±Ð°Ñ€Ñƒ наÑтупнага Ñлемента Ñž хотбары.\n"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 4 прадмета панÑлі хуткага доÑтупу.\n"
"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4178,18 +4267,17 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Кнопка Ð´Ð»Ñ Ð²Ñ‹Ð±Ð°Ñ€Ñƒ наÑтупнага Ñлемента Ñž хотбары.\n"
+"Клавіша выбару наÑтупнага прадмета панÑлі хуткага доÑтупу.\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"
+"Клавіша выбару 9 прадмета панÑлі хуткага доÑтупу.\n"
"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4199,62 +4287,57 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Кнопка Ð´Ð»Ñ Ð²Ñ‹Ð±Ð°Ñ€Ñƒ папÑÑ€ÑднÑга Ñлемента хотбара.\n"
+"Клавіша выбару папÑÑ€ÑднÑга прадмета панÑлі хуткага доÑтупу..\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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 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"
+"Клавіша выбару 3 прадмета панÑлі хуткага доÑтупу.\n"
"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4266,10 +4349,10 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð²Ð°Ð»Ð°Ñ‡ÑннÑ.\n"
-"ТакÑама выкарыÑтоўваецца Ð´Ð»Ñ ÑпуÑÐºÐ°Ð½Ð½Ñ Ñ– апуÑÐºÐ°Ð½Ð½Ñ Ñž вадзе, калі "
-"aux1_descends адключаны.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша \"краÑціÑÑ\".\n"
+"ТакÑама выкарыÑтоўваецца Ð´Ð»Ñ ÑпуÑÐºÐ°Ð½Ð½Ñ Ñ– апуÑÐºÐ°Ð½Ð½Ñ Ñž ваду, калі "
+"aux1_descends выключана.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4278,8 +4361,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð¿Ð°Ð¼Ñ–Ð¶ камерай ад першай аÑобы Ñ– ад трÑцÑй аÑобы.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша пераключÑÐ½Ð½Ñ Ð¿Ð°Ð¼Ñ–Ð¶ камерамі ад першай аÑобы Ñ– ад трÑцÑй аÑобы.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4288,19 +4371,18 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ð½Ð½Ñ Ð·Ð´Ñ‹Ð¼ÐºÐ°Ñž Ñкрана.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша ÑтварÑÐ½Ð½Ñ Ð·Ð´Ñ‹Ð¼ÐºÐ°Ñž Ñкрана.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"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."
+"Клавіша пераключÑÐ½Ð½Ñ Ð°ÑžÑ‚Ð°Ð±ÐµÐ³Ñƒ.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4309,8 +4391,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ ÐºÑ–Ð½ÐµÐ¼Ð°Ñ‚Ð°Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ð°Ð³Ð° Ñ€Ñжыму.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша пераключÑÐ½Ð½Ñ ÐºÑ–Ð½ÐµÐ¼Ð°Ñ‚Ð°Ð³Ñ€Ð°Ñ„Ñ–Ñ‡Ð½Ð°Ð³Ð° Ñ€Ñжыму.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4319,8 +4401,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð¼Ñ–Ð½Ñ–Ð¼Ð°Ð¿Ñ‹.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша пераключÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð¼Ñ–Ð½Ñ–Ð¼Ð°Ð¿Ñ‹.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4329,8 +4411,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ ÑˆÐ¿Ð°Ñ€ÐºÐ°Ð³Ð° Ñ€Ñжыму.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша пераключÑÐ½Ð½Ñ ÑˆÐ¿Ð°Ñ€ÐºÐ°Ð³Ð° Ñ€Ñжыму.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4339,8 +4421,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ñ€Ñжыму палёту.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша пераключÑÐ½Ð½Ñ Ñ€Ñжыму палёту.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4349,19 +4431,18 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ñ€Ñжыму ÑутыкненнÑÑž.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша пераключÑÐ½Ð½Ñ Ñ€Ñжыму руху Ñкрозь Ñцены.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"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."
+"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ñ€Ñжыму Ð½Ð°Ñ…Ñ–Ð»ÐµÐ½Ð½Ñ Ñ€ÑƒÑ…Ñƒ.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4370,20 +4451,19 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð°Ð±Ð½Ð°ÑžÐ»ÐµÐ½Ð½Ñ ÐºÐ°Ð¼ÐµÑ€Ñ‹. ВыкарыÑтоўваецца толькі Ð´Ð»Ñ "
+"Клавіша пераключÑÐ½Ð½Ñ Ð°Ð±Ð½Ð°ÑžÐ»ÐµÐ½Ð½Ñ ÐºÐ°Ð¼ÐµÑ€Ñ‹. ВыкарыÑтоўваецца толькі Ð´Ð»Ñ "
"раÑпрацоўкі.\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"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."
+"Клавіша пераключÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ñ€Ð°Ð·Ð¼Ð¾Ð²Ñ‹.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4392,19 +4472,18 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð·Ð²ÐµÑтак адладкі.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша пераключÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð°Ð´Ð»Ð°Ð´Ð°Ñ‡Ð½Ñ‹Ñ… даных.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"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."
+"Клавіша пераключÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ñ‚ÑƒÐ¼Ð°Ð½Ñƒ.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4413,8 +4492,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ HUD.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша пераключÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ HUD.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4423,7 +4502,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Кнопка Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð²Ñлікай канÑолі чату.\n"
+"Клавіша пераключÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð±ÑƒÐ¹Ð½Ð¾Ð¹ размовы.\n"
"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4433,9 +4512,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ñ„Ñ–Ð»ÐµÑ€Ð°. ВыкарыÑтоўваецца Ð´Ð»Ñ "
+"Клавіша пераключÑÐ½Ð½Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ñ„Ñ–Ð»Ñ–Ñ€Ð¾ÑžÑˆÑ‡Ñ‹ÐºÐ°. ВыкарыÑтоўваецца Ð´Ð»Ñ "
"раÑпрацоўкі.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4444,8 +4523,8 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Клавіша Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð½ÐµÐ°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ð°Ð³Ð° дыÑпазону праглÑду.\n"
-"ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
+"Клавіша пераключÑÐ½Ð½Ñ Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ð½Ñ Ð´Ñ‹Ñпазону бачнаÑці.\n"
+"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
@@ -4454,13 +4533,14 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Кнопка Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð±Ð»Ñ–Ð¶ÑннÑ, калі гÑта магчыма.\n"
+"Клавіша выкарыÑÑ‚Ð°Ð½Ð½Ñ Ð½Ð°Ð±Ð»Ñ–Ð¶ÑÐ½Ð½Ñ ÐºÐ°Ð»Ñ– гÑта магчыма.\n"
"ГлÑдзіце http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid "Kick players who sent more than X messages per 10 seconds."
msgstr ""
+"Ðдлучаць гульцоў, што ўвÑлі гÑтую колькаÑць паведамленнÑÑž цÑгам 10 Ñекунд."
#: src/settings_translation_file.cpp
msgid "Lake steepness"
@@ -4476,16 +4556,15 @@ msgstr "Мова"
#: src/settings_translation_file.cpp
msgid "Large cave depth"
-msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð²Ñлікай пÑчоры"
+msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð²Ñлікіх пÑчор"
#: src/settings_translation_file.cpp
msgid "Large chat console key"
-msgstr "Кнопка вÑлікай канÑолі чату"
+msgstr "Клавіша буйной канÑолі"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Lava depth"
-msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð²Ñлікай пÑчоры"
+msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð»Ð°Ð²Ñ‹"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4498,39 +4577,36 @@ msgid ""
"- Simple: only outer faces, if defined special_tiles are used\n"
"- Opaque: disable transparency"
msgstr ""
-"Стыль ліÑтоты:\n"
-"- Fancy: бачны ÑžÑе бакі\n"
-"- Simple: бачны Ð·Ð½ÐµÑˆÐ½Ñ–Ñ Ð±Ð°ÐºÑ–, калі выкарыÑтоўваюцца адмыÑÐ»Ð¾Ð²Ñ‹Ñ "
+"Стыль ліÑцÑ:\n"
+"- Fancy: Ð±Ð°Ñ‡Ð½Ñ‹Ñ ÑžÑе бакі\n"
+"- Simple: Ð±Ð°Ñ‡Ð½Ñ‹Ñ Ð²Ð¾Ð½ÐºÐ°Ð²Ñ‹Ñ Ð±Ð°ÐºÑ–, калі выкарыÑтоўваюцца адмыÑÐ»Ð¾Ð²Ñ‹Ñ "
"special_tiles\n"
-"- Opaque: адключыць празрыÑтаÑць"
+"- Opaque: вылючыць празрыÑтаÑць"
#: src/settings_translation_file.cpp
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 ""
-"Ð”Ð°ÑžÐ¶Ñ‹Ð½Ñ Ñ†Ñ‹ÐºÐ»Ð° Ñервера Ñ– інтÑрвал, па Ñкім аб'екты, Ñк правіла, абнаўлÑюцца "
-"па Ñетцы."
+"ПрацÑглаÑць цыкла Ñервера Ñ– інтÑрвал, па Ñкім аб'екты, Ñк правіла, "
+"абнаўлÑюцца па Ñетцы."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
-msgstr "ІнтÑрвал чаÑу паміж выкананнем ABM-цыклаў"
+msgstr "ІнтÑрвал чаÑу паміж цыкламі Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ‚Ð°Ñ€Ð°Ñž актыўных блокаў"
#: src/settings_translation_file.cpp
msgid "Length of time between NodeTimer execution cycles"
-msgstr "ІнтÑрвал чаÑу паміж выкананнем NodeTimer-цыклаў"
+msgstr "ІнтÑрвал чаÑу паміж цыкламі Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ñ Ñ‚Ð°Ð¹Ð¼ÐµÑ€Ð°Ñž блокаў"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between active block management cycles"
-msgstr "Ð§Ð°Ñ Ð¿Ð°Ð¼Ñ–Ð¶ цыкламі ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð°ÐºÑ‚Ñ‹ÑžÐ½Ñ‹Ð¼Ñ– блокамі (ABM)"
+msgstr "ІнтÑрвал чаÑу паміж цыкламі ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð°ÐºÑ‚Ñ‹ÑžÐ½Ñ‹Ð¼Ñ– блокамі (ABM)"
#: src/settings_translation_file.cpp
msgid ""
@@ -4543,38 +4619,38 @@ msgid ""
"- info\n"
"- verbose"
msgstr ""
-"Узровень дÑталізацыі журнала, Ñкі пішацца Ñž debug.txt:\n"
-"- <nothing> (без журналÑваннÑ)\n"
-"- none (паведамленні без ўзроўню)\n"
+"Узровень дÑталізацыі журнала debug.txt:\n"
+"- <nothing> (не вÑдзецца)\n"
+"- none (паведамленні без ўзроўнÑ)\n"
"- error (памылкі)\n"
"- warning (папÑÑ€Ñджанні)\n"
"- action (дзеÑнні)\n"
"- info (інфармацыÑ)\n"
-"- verbose (дÑталі)"
+"- verbose (падрабÑзнаÑці)"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost"
-msgstr ""
+msgstr "СÑÑ€Ñдні ўздым крывой ÑвÑтла"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost center"
-msgstr ""
+msgstr "ЦÑнтр ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost spread"
-msgstr ""
+msgstr "РаÑпаўÑюджванне ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла"
#: src/settings_translation_file.cpp
msgid "Lightness sharpness"
-msgstr ""
+msgstr "РÑзкаÑць паваротліваÑці"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
-msgstr "Гранічны памер чаргі з дыÑка"
+msgstr "Ðбмежаванне чÑргаў на дыÑку"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues to generate"
-msgstr "Гранічны памер чаргі на генерацыю"
+msgstr "Ðбмежаванне чÑргаў на генерацыю"
#: src/settings_translation_file.cpp
msgid ""
@@ -4582,7 +4658,7 @@ msgid ""
"Only mapchunks completely within the mapgen limit are generated.\n"
"Value is stored per-world."
msgstr ""
-"МÑжа генерацыі мапы, у вузлах, ва ÑžÑÑ–Ñ… 6 напрамках ад (0, 0, 0).\n"
+"Ліміт генерацыі мапы Ñž блоках ва ÑžÑÑ–Ñ… 6 напрамках ад (0, 0, 0).\n"
"Генеруюцца толькі блокі, ÑÐºÑ–Ñ Ñ†Ð°Ð»ÐºÐ°Ð¼ заходзÑцца Ñž дадзеных межах.\n"
"ЗначÑнне захоўваецца Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð³Ð° Ñвету."
@@ -4595,10 +4671,11 @@ msgid ""
"Only has an effect if compiled with cURL."
msgstr ""
"ÐбмÑжоўвае колькаÑць паралельных HTTP-запытаў. Уплывае на:\n"
-"- Выбарку медыÑ, калі Ñервер выкарыÑтоўвае опцыю remote_media.\n"
-"- Спампоўку ÑпіÑу Ñервераў Ñ– аб'ÑÑž Ñервера.\n"
-"- Спампоўкі, Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ñ‹Ñ Ñž галоўным меню (напрыклад менеджар модаў).\n"
-"Ўплывае толькі пры кампілÑцыі з cURL."
+"- Спампоўванне медыÑданых калі Ñервер выкарыÑтоўвае параметр "
+"remote_media.\n"
+"- Спампоўванне ÑпіÑа Ñервераў Ñ– аб'ÑÑž Ñервера.\n"
+"- Спампоўванні праз галоўнае меню (напрыклад кіраўнік мадыфікацый).\n"
+"Дзейнічае толькі пры кампілÑцыі з cURL."
#: src/settings_translation_file.cpp
msgid "Liquid fluidity"
@@ -4610,16 +4687,16 @@ msgstr "Згладжванне цÑкучаÑці вадкаÑці"
#: src/settings_translation_file.cpp
msgid "Liquid loop max"
-msgstr "МакÑімум вадкаÑці за цыкл"
+msgstr "МакÑімум цыклічных вадкаÑцÑÑž"
#: src/settings_translation_file.cpp
msgid "Liquid queue purge time"
-msgstr "Ð§Ð°Ñ Ð°Ñ‡Ñ‹ÑˆÑ‡ÑÐ½Ð½Ñ Ñ‡Ð°Ñ€Ð³Ñ– вадкаÑці"
+msgstr "Ð§Ð°Ñ Ð°Ñ‡Ñ‹ÑˆÑ‡ÑÐ½Ð½Ñ Ñ‡Ð°Ñ€Ð³Ñ– вадкаÑцÑÑž"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
-msgstr "Сцёк вадкаÑці"
+msgid "Liquid sinking"
+msgstr "ХуткаÑць апуÑÐºÐ°Ð½Ð½Ñ Ñž вадкаÑць"
#: src/settings_translation_file.cpp
msgid "Liquid update interval in seconds."
@@ -4627,11 +4704,11 @@ msgstr "ІнтÑрвал Ð°Ð±Ð½Ð°ÑžÐ»ÐµÐ½Ð½Ñ Ð²Ð°Ð´ÐºÐ°Ñці Ñž Ñекунда
#: src/settings_translation_file.cpp
msgid "Liquid update tick"
-msgstr "Цік Ð°Ð±Ð½Ð°ÑžÐ»ÐµÐ½Ð½Ñ Ð²Ð°Ð´ÐºÐ°Ñці"
+msgstr "ІнтÑрвал Ð°Ð±Ð½Ð°ÑžÐ»ÐµÐ½Ð½Ñ Ð²Ð°Ð´ÐºÐ°Ñці"
#: src/settings_translation_file.cpp
msgid "Load the game profiler"
-msgstr "Загрузіць прафілер гульні"
+msgstr "Загружаць прафіліроўшчык гульні"
#: src/settings_translation_file.cpp
msgid ""
@@ -4639,10 +4716,9 @@ msgid ""
"Provides a /profiler command to access the compiled profile.\n"
"Useful for mod developers and server operators."
msgstr ""
-"Загрузіць прафілер гульні Ð´Ð»Ñ Ð·Ð±Ð¾Ñ€Ñƒ дадзеных.\n"
-"ЗабÑÑпечвае камандай /profiler каб атрымаць доÑтуп да ÑкампілÑванага "
-"профілю.\n"
-"КарыÑна Ð´Ð»Ñ Ñ€Ð°Ñпрацоўнікаў модаў Ñ– аператараў Ñервераў."
+"Загружаць прафіліроўшчык гульні Ð´Ð»Ñ Ð·Ð±Ð¾Ñ€Ñƒ даных.\n"
+"Падае загад /profiler Ð´Ð»Ñ Ð´Ð¾Ñтупу да ÑкампілÑванага профілю.\n"
+"КарыÑна Ð´Ð»Ñ Ñ€Ð°Ñпрацоўшчыкаў мадыфікацый Ñ– аператараў Ñервераў."
#: src/settings_translation_file.cpp
msgid "Loading Block Modifiers"
@@ -4650,29 +4726,27 @@ msgstr "Загрузка мадыфікатараў блокаў"
#: src/settings_translation_file.cpp
msgid "Lower Y limit of dungeons."
-msgstr ""
+msgstr "Ðіжні ліміт Y Ð´Ð»Ñ Ð¿Ð°Ð´Ð·ÑмеллÑÑž."
#: src/settings_translation_file.cpp
msgid "Main menu script"
msgstr "Скрыпт галоўнага меню"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Main menu style"
-msgstr "Скрыпт галоўнага меню"
+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 "Makes DirectX work with LuaJIT. Disable if it causes troubles."
msgstr ""
-"Робіць так, каб DirectX працаваў з DirectX. Ðдключыце, калі гÑта выклікае "
-"праблемы."
+"Прымушае DirectX працаваць з LuaJIT. Выключыце, калі гÑта выклікае праблемы."
#: src/settings_translation_file.cpp
msgid "Makes all liquids opaque"
@@ -4680,19 +4754,11 @@ msgstr "Робіць уÑе вадкаÑці непразрыÑтымі"
#: src/settings_translation_file.cpp
msgid "Map directory"
-msgstr "Каталог мапы"
+msgstr "Каталог мапаў"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid ""
-"Map generation attributes specific to Mapgen Carpathian.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr ""
-"ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° мапы 5.\n"
-"Параметры, ÑÐºÑ–Ñ Ð½Ðµ пазначаны Ñž радку, не адрозніваюцца ад агаданых "
-"значÑннÑÑž.\n"
-"Параметры, ÑÐºÑ–Ñ Ð¿Ð°Ñ‡Ñ‹Ð½Ð°ÑŽÑ†Ñ†Ð° з «no», выкарыÑтоўваюцца Ð´Ð»Ñ Ñўнага адключÑннÑ."
#: src/settings_translation_file.cpp
msgid ""
@@ -4703,67 +4769,59 @@ msgid ""
"to become shallower and occasionally dry.\n"
"'altitude_dry': Reduces humidity with altitude."
msgstr ""
+"Ðтрыбуты генерацыі мапы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° далін.\n"
+"'altitude_chill': памÑншае цеплыню з роÑтам вышыні.\n"
+"'humid_rivers': павÑлічвае вільготнаÑць абапал Ñ€Ñк.\n"
+"Variable_river_depth: калі ўключана, то Ð½Ñ–Ð·ÐºÐ°Ñ Ð²Ñ–Ð»ÑŒÐ³Ð¾Ñ‚Ð½Ð°Ñць Ñ– выÑÐ¾ÐºÐ°Ñ "
+"Ñ‚Ñмпература ўплываюць на ўзровень вады Ñž Ñ€Ñках.\n"
+"'altitude_dry': памÑншае вільготнаÑць з роÑтам вышыні."
#: 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.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
msgstr ""
-"ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° плоÑкай мапы.\n"
-"МеÑцамі азёры Ñ– пагоркі могуць быць Ð´Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ñž плоÑкі Ñвет.\n"
-"Параметры, ÑÐºÑ–Ñ Ð½Ðµ пазначаны Ñž радку, не адрозніваюцца ад агаданых "
-"значÑннÑÑž.\n"
-"Параметры, ÑÐºÑ–Ñ Ð¿Ð°Ñ‡Ñ‹Ð½Ð°ÑŽÑ†Ñ†Ð° з «no», выкарыÑтоўваюцца Ð´Ð»Ñ Ñўнага адключÑннÑ."
#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
-"Map generation attributes specific to Mapgen v5.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"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 ""
-"ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° мапы 5.\n"
-"Параметры, ÑÐºÑ–Ñ Ð½Ðµ пазначаны Ñž радку, не адрозніваюцца ад агаданых "
-"значÑннÑÑž.\n"
-"Параметры, ÑÐºÑ–Ñ Ð¿Ð°Ñ‡Ñ‹Ð½Ð°ÑŽÑ†Ñ†Ð° з «no», выкарыÑтоўваюцца Ð´Ð»Ñ Ñўнага адключÑннÑ."
#: 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 new biome system is enabled jungles are automatically enabled and\n"
-"the 'jungles' flag is ignored.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"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», выкарыÑтоўваюцца Ð´Ð»Ñ Ñўнага адключÑннÑ."
+"Ðтрыбуты генерацыі мапы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° мапы 6.\n"
+"Параметр «snowbiomes» (ÑÐ½ÐµÐ¶Ð½Ñ‹Ñ Ð±Ñ–Ñ‘Ð¼Ñ‹) ўключае новую ÑÑ–ÑÑ‚Ñму з 5 біёмамі.\n"
+"Калі Ð½Ð¾Ð²Ð°Ñ ÑÑ–ÑÑ‚Ñма ўключанаÑ, то аўтаматычна ўключаюцца \"джунглі\", а "
+"параметр \"jungles\" ігнаруецца.\n"
+"ÐÑÐ²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ прадвызначана не змÑнÑюцца.\n"
+"Параметры, што пачынаюцца з \"no\", выкарыÑтоўваюцца Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑннÑ."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
-"'ridges' enables the rivers.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"'ridges' enables the rivers."
msgstr ""
-"ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° мапы 5.\n"
-"Параметры, ÑÐºÑ–Ñ Ð½Ðµ пазначаны Ñž радку, не адрозніваюцца ад агаданых "
-"значÑннÑÑž.\n"
-"Параметры, ÑÐºÑ–Ñ Ð¿Ð°Ñ‡Ñ‹Ð½Ð°ÑŽÑ†Ñ†Ð° з «no», выкарыÑтоўваюцца Ð´Ð»Ñ Ñўнага адключÑннÑ."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
-msgstr "Ðбмежаванне генерацыі мапы"
+msgstr "Ліміт генерацыі мапы"
#: src/settings_translation_file.cpp
msgid "Map save interval"
@@ -4771,14 +4829,13 @@ msgstr "ІнтÑрвал Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ Ð¼Ð°Ð¿Ñ‹"
#: src/settings_translation_file.cpp
msgid "Mapblock limit"
-msgstr "МÑжа блокаў мапы"
+msgstr "Ліміт блокаў мапы"
#: src/settings_translation_file.cpp
msgid "Mapblock mesh generation delay"
msgstr "Затрымка генерацыі Ñеткі блокаў мапы"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock mesh generator's MapBlock cache size in MB"
msgstr "Памер кÑшу блокаў у генератары Ñетак у МБ"
@@ -4787,68 +4844,61 @@ 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 "ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ генератара плоÑкаÑці мапы"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr "Генератар мапы 5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V5 specific flags"
-msgstr "Генератар мапы 5: ÑÐ¿ÐµÑ‡Ñ‹Ñ„Ñ–Ñ‡Ð½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹"
+msgstr "ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ генератара мапы 5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6"
msgstr "Генератар мапы 6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6 specific flags"
-msgstr "Генератар мапы 6: ÑÐ¿ÐµÑ†Ñ‹Ñ„Ñ–Ñ‡Ð½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹"
+msgstr "ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ генератара мапы 6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7"
msgstr "Генератар мапы 7"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7 specific flags"
-msgstr "Генератар мапы 7: ÑÐ¿ÐµÑ†Ñ‹Ñ„Ñ–Ñ‡Ð½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹"
+msgstr "ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ генератара мапы 7"
#: src/settings_translation_file.cpp
msgid "Mapgen Valleys"
msgstr "Генератар мапы: даліны"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Valleys specific flags"
-msgstr "Генератар плоÑкай мапы: ÑÐ¿ÐµÑ†Ñ‹Ñ„Ñ–Ñ‡Ð½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹"
+msgstr "ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ генератара далін"
#: src/settings_translation_file.cpp
msgid "Mapgen debug"
@@ -4864,11 +4914,11 @@ msgstr "Ðазва генератара мапы"
#: src/settings_translation_file.cpp
msgid "Max block generate distance"
-msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ñ‹ÑÑ‚Ð°Ð½Ñ†Ñ‹Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ‹Ñ– блокаў"
+msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð°Ð´Ð»ÐµÐ³Ð»Ð°Ñць генерацыі блокаў"
#: src/settings_translation_file.cpp
msgid "Max block send distance"
-msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ñ‹ÑÑ‚Ð°Ð½Ñ†Ñ‹Ñ Ð°Ð´Ð¿Ñ€Ð°ÑžÐ»ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÐ°Ñž"
+msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð°Ð´Ð»ÐµÐ³Ð»Ð°Ñць Ð°Ð´Ð¿Ñ€Ð°ÑžÐ»ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÐ°Ñž"
#: src/settings_translation_file.cpp
msgid "Max liquids processed per step."
@@ -4876,27 +4926,33 @@ msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць вадкаÑці, ÑÐºÐ°Ñ Ð
#: src/settings_translation_file.cpp
msgid "Max. clearobjects extra blocks"
-msgstr "МакÑімум дадатковых блокаў clearobjects"
+msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць дадатковых блокаў clearobjects"
#: src/settings_translation_file.cpp
msgid "Max. packets per iteration"
-msgstr "МакÑімум пакетаў на Ñ–Ñ‚Ñрацыю"
+msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць пакункаў за Ñ–Ñ‚Ñрацыю"
#: src/settings_translation_file.cpp
msgid "Maximum FPS"
-msgstr "МакÑімальны FPS (кадраў у Ñекунду)"
+msgstr "МакÑімальны FPS (кадраў за Ñекунду)"
#: src/settings_translation_file.cpp
msgid "Maximum FPS when game is paused."
-msgstr "МакÑімальны FPS, калі Ð³ÑƒÐ»ÑŒÐ½Ñ Ð¿Ñ€Ñ‹Ð¿Ñ‹Ð½ÐµÐ½Ð°."
+msgstr "МакÑімальны FPS, калі Ð³ÑƒÐ»ÑŒÐ½Ñ Ð¿Ñ€Ñ‹Ð¿Ñ‹Ð½ÐµÐ½Ð°Ñ."
#: src/settings_translation_file.cpp
msgid "Maximum forceloaded blocks"
-msgstr "МакÑімум блокаў, ÑÐºÑ–Ñ Ð°Ð±Ð°Ð²Ñзкова загружаюцца"
+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 ""
#: src/settings_translation_file.cpp
msgid ""
@@ -4904,32 +4960,33 @@ msgid ""
"The maximum total count is calculated dynamically:\n"
"max_total = ceil((#clients + max_users) * per_client / 4)"
msgstr ""
+"МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць блокаў, што адначаÑова адпраўлÑюцца аднаму кліенту.\n"
+"ÐÐ³ÑƒÐ»ÑŒÐ½Ð°Ñ Ð¼Ð°ÐºÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць падлічваецца дынамічна:\n"
+"max_total = ceil ((# кліентаў + max_users) * per_client / 4)"
#: src/settings_translation_file.cpp
msgid "Maximum number of blocks that can be queued for loading."
-msgstr ""
-"МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць блокаў, ÑÐºÑ–Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ паÑтаўлены Ñž чаргу на загрузку."
+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 ""
-"МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць блокаў, ÑÐºÑ–Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ паÑтаўлены Ñž чаргу на генерацыю.\n"
-"Задайце пуÑтое значÑнне Ð´Ð»Ñ Ð°ÑžÑ‚Ð°Ð¼Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ð³Ð° выбару адпаведнай колькаÑці."
+"МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць блокаў, што можна дадаць у чаргу генерацыі.\n"
+"Пакінце пуÑтым Ð´Ð»Ñ Ð°ÑžÑ‚Ð°Ð¼Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ð³Ð° выбару неабходнага значÑннÑ."
#: 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 ""
-"МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць блокаў, ÑÐºÑ–Ñ Ð±ÑƒÐ´ÑƒÑ†ÑŒ паÑтаўлены Ñž чаргу на загрузку з "
-"файла.\n"
-"Задайце пуÑтое значÑнне Ð´Ð»Ñ Ð°ÑžÑ‚Ð°Ð¼Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ð³Ð° выбару адпаведнай колькаÑці."
+"МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць блокаў у чарзе на загрузку з файла.\n"
+"Пакінце пуÑтым Ð´Ð»Ñ Ð°ÑžÑ‚Ð°Ð¼Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ð³Ð° выбару неабходнага значÑннÑ."
#: src/settings_translation_file.cpp
msgid "Maximum number of forceloaded mapblocks."
-msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць блокаў мапы, ÑÐºÑ–Ñ Ð°Ð±Ð°Ð²Ñзкова загружаюцца."
+msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць прымуÑова загружаемых блокаў мапы."
#: src/settings_translation_file.cpp
msgid ""
@@ -4945,20 +5002,17 @@ msgid ""
"try reducing it, but don't reduce it to a number below double of targeted\n"
"client number."
msgstr ""
-"МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць пакетаў, ÑÐºÑ–Ñ Ð°Ð´Ð¿Ñ€Ð°ÑžÐ»Ñюцца за крок адпраўкі.\n"
-"Калі вы маеце маруднае злучÑнне, паÑпрабуйце зменшыць гÑта, але не "
-"змÑншайце\n"
-"ніжÑй за двайную колькаÑць кліентаў."
+"МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць пакункаў, што адпраўлÑюцца за крок адпраўленнÑ.\n"
+"Калі Ñž Ð²Ð°Ñ Ð¼Ð°Ñ€ÑƒÐ´Ð½Ð°Ðµ злучÑнне, паÑпрабуйце паменшыць, але не памÑншайце\n"
+"ніжÑй за колькаÑць кліентаў памножаную на 2."
#: 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."
@@ -4973,29 +5027,32 @@ 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
msgid "Maximum simultaneous block sends per client"
-msgstr "МакÑімум адначаÑовай адпраўкі блокаў на кліента"
+msgstr "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць адначаÑова адпраўлÑемых блокаў на кліента"
#: src/settings_translation_file.cpp
msgid "Maximum size of the out chat queue"
-msgstr ""
+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 ""
+"МакÑімальны памер чаргі размовы.\n"
+"0 - выключыць чаргу, -1 - зрабіць неабмежаванай."
#: src/settings_translation_file.cpp
msgid "Maximum time in ms a file download (e.g. a mod download) may take."
msgstr ""
-"МакÑімальны Ñ‡Ð°Ñ Ñƒ міліÑекундах, Ñкі можа занÑць Ñпампоўка файла\n"
-"(напрыклад Ñпампоўка моду)."
+"МакÑімальны Ñ‡Ð°Ñ Ñƒ міліÑекундах, Ñкі можа занÑць Ñпампоўванне файла\n"
+"(напрыклад Ñпампоўванне мадыфікацыі)."
#: src/settings_translation_file.cpp
msgid "Maximum users"
@@ -5007,7 +5064,7 @@ msgstr "Меню"
#: src/settings_translation_file.cpp
msgid "Mesh cache"
-msgstr "КÑш мÑша"
+msgstr "КÑш Ñетак"
#: src/settings_translation_file.cpp
msgid "Message of the day"
@@ -5015,11 +5072,11 @@ msgstr "Паведамленне днÑ"
#: src/settings_translation_file.cpp
msgid "Message of the day displayed to players connecting."
-msgstr "Паведамленне, Ñкое паказваецца Ð´Ð»Ñ Ð³ÑƒÐ»ÑŒÑ†Ð¾Ñž, ÑÐºÑ–Ñ Ð¿Ð°Ð´Ð»ÑƒÑ‡Ð°ÑŽÑ†Ñ†Ð°."
+msgstr "Паведамленне, Ñкое паказваецца Ð´Ð»Ñ Ð³ÑƒÐ»ÑŒÑ†Ð¾Ñž, што падлучаюцца."
#: src/settings_translation_file.cpp
msgid "Method used to highlight selected object."
-msgstr "Метад, Ñкі выкарыÑтоўваецца Ð´Ð»Ñ Ð°ÑвÑÑ‚Ð»ÐµÐ½Ð½Ñ Ð°Ð±Ñ€Ð°Ð½Ð°Ð³Ð° аб'екта."
+msgstr "Метад падÑвÑÑ‚Ð»ÐµÐ½Ð½Ñ Ð°Ð±Ñ€Ð°Ð½Ð°Ð³Ð° аб'екта."
#: src/settings_translation_file.cpp
msgid "Minimap"
@@ -5031,12 +5088,11 @@ msgstr "Клавіша мінімапы"
#: src/settings_translation_file.cpp
msgid "Minimap scan height"
-msgstr "Ð’Ñ‹ÑˆÑ‹Ð½Ñ Ñкану мінімапы"
+msgstr "Ð’Ñ‹ÑˆÑ‹Ð½Ñ ÑÐºÐ°Ð½Ð°Ð²Ð°Ð½Ð½Ñ Ð¼Ñ–Ð½Ñ–Ð¼Ð°Ð¿Ñ‹"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Minimum texture size"
-msgstr "Мінімальны памер Ñ‚ÑкÑтуры Ð´Ð»Ñ Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ñž"
+msgstr "Мінімальны памер Ñ‚ÑкÑтуры"
#: src/settings_translation_file.cpp
msgid "Mipmapping"
@@ -5044,7 +5100,7 @@ msgstr "MIP-Ñ‚ÑкÑтураванне"
#: src/settings_translation_file.cpp
msgid "Mod channels"
-msgstr ""
+msgstr "Каналы мадыфікацый"
#: src/settings_translation_file.cpp
msgid "Modifies the size of the hudbar elements."
@@ -5052,11 +5108,11 @@ msgstr "ЗмÑнÑе памер Ñлеметаў панÑлі HUD."
#: src/settings_translation_file.cpp
msgid "Monospace font path"
-msgstr "Роўнашырокі шрыфт"
+msgstr "ШлÑÑ… да монашырыннага шрыфту"
#: src/settings_translation_file.cpp
msgid "Monospace font size"
-msgstr "Памер роўнашырокага шрыфту"
+msgstr "Памер монашырыннага шрыфту"
#: src/settings_translation_file.cpp
msgid "Mountain height noise"
@@ -5067,14 +5123,12 @@ msgid "Mountain noise"
msgstr "Шум гор"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain variation noise"
msgstr "Шум вышыні гор"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain zero level"
-msgstr "Шум гор"
+msgstr "ÐулÑвы ўзровень гары"
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity"
@@ -5098,21 +5152,28 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Mute key"
-msgstr "Кнопка прыглушÑннÑ"
+msgstr "Клавіша выключÑÐ½Ð½Ñ Ð³ÑƒÐºÑƒ"
#: src/settings_translation_file.cpp
msgid "Mute sound"
-msgstr ""
+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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), flat, singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"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"
+"\"Стабільны\" азначае, што форма ландшафту Ñ–Ñнага Ñвету не зменіцца Ñž "
+"будучыні. Майце на ўвазе, што біёмы вызначаюцца гульцамі Ñ– могуць змÑнÑцца."
#: src/settings_translation_file.cpp
msgid ""
@@ -5121,20 +5182,19 @@ msgid ""
"When starting from the main menu, this is overridden."
msgstr ""
"Ð†Ð¼Ñ Ð³ÑƒÐ»ÑŒÑ†Ð°.\n"
-"Пры запуÑку Ñервера, кліенты, ÑÐºÑ–Ñ Ð¿Ð°Ð´Ð»ÑƒÑ‡Ð°ÑŽÑ†Ñ†Ð° з гÑтым імем, "
-"адмініÑтратары.\n"
-"ГÑта можна пераазначыць пры Ñтарце Ñž галоўным меню."
+"Падча запуÑку Ñервера, кліенты, што падлучаюцца з гÑтым імем будуць "
+"адмініÑтратарамі.\n"
+"ГÑта можна перавызначыць у галоўным меню перад запуÑкам."
#: src/settings_translation_file.cpp
msgid ""
"Name of the server, to be displayed when players join and in the serverlist."
-msgstr ""
-"Ðазва Ñервера, ÑÐºÐ°Ñ Ð±ÑƒÐ´Ð·Ðµ паказана, калі гульцы злучаюцца, Ñ– Ñž ÑпіÑе "
-"Ñервераў."
+msgstr "Ðазва Ñервера, што будзе паказвацца пры падлучÑнні Ñ– Ñž ÑпіÑе Ñервераў."
#: src/settings_translation_file.cpp
-msgid "Near plane"
-msgstr ""
+#, fuzzy
+msgid "Near clipping plane"
+msgstr "ÐдлеглаÑць да плоÑкаÑці"
#: src/settings_translation_file.cpp
msgid "Network"
@@ -5146,27 +5206,27 @@ 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."
-msgstr "ÐÐ¾Ð²Ñ‹Ñ ÐºÐ°Ñ€Ñ‹Ñтальнікі павінны ўвеÑці гÑты пароль."
+msgstr "ÐÐ¾Ð²Ñ‹Ñ ÐºÐ°Ñ€Ñ‹Ñтальнікі муÑÑц ўвеÑці гÑты пароль."
#: src/settings_translation_file.cpp
msgid "Noclip"
-msgstr "Без ÑутыкненнÑÑž"
+msgstr "Рух Ñкрозь Ñцены"
#: src/settings_translation_file.cpp
msgid "Noclip key"
-msgstr "Клавіша noclip"
+msgstr "Клавіша руху Ñкрозь Ñцены"
#: src/settings_translation_file.cpp
msgid "Node highlighting"
-msgstr "ПадÑвÑтленне вузла"
+msgstr "ПадÑвÑтленне блокаў"
#: src/settings_translation_file.cpp
msgid "NodeTimer interval"
-msgstr "ІнтÑрвал NodeTimer"
+msgstr "ІнтÑрвал Ð°Ð±Ð½Ð°ÑžÐ»ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÐ°Ñž"
#: src/settings_translation_file.cpp
msgid "Noises"
@@ -5178,26 +5238,41 @@ msgstr "ДыÑкрÑÑ‚Ñ‹Ð·Ð°Ñ†Ñ‹Ñ Ð¼Ð°Ð¿Ñ‹ нармалÑÑž"
#: src/settings_translation_file.cpp
msgid "Normalmaps strength"
-msgstr "Сіла мапы нармалÑÑž"
+msgstr "Моц мапы нармалÑÑž"
#: src/settings_translation_file.cpp
msgid "Number of emerge threads"
-msgstr "КолькаÑць вытворчых патокаў"
+msgstr "КолькаÑць узнікаючых патокаў"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
+"КолькаÑць узнікаючых патокаў.\n"
+"ПуÑта альбо 0:\n"
+"- аўтаматычны выбар. КолькаÑць узнікаючых патокаў будзе вызначацца Ñк\n"
+"\"колькаÑць працÑÑараў - 2\" з ніжнім лімітам 1.\n"
+"Любое іншае значÑнне:\n"
+"- вызначае колькаÑць узнікаючых патокаў з ніжнім лімітам 1.\n"
+"Майце на ўвазе, што павелічÑнне колькаÑці патокаў павÑлічвае хуткаÑць "
+"рухавіка генератара мапы, але можа ўплываць на прадукцыйнаÑць гульні, "
+"замінаючы іншым працÑÑам, аÑабліва адзіночнай гульні Ñ– (альбо) запуÑку коду "
+"Lua у\n"
+"'On_generated.\n"
+"Ð”Ð»Ñ Ð¼Ð½Ð¾Ñтва карыÑтальнікаў найлепшым значÑннем можа быць \"1\"."
#: src/settings_translation_file.cpp
msgid ""
@@ -5205,9 +5280,9 @@ msgid ""
"This is a trade-off between sqlite transaction overhead and\n"
"memory consumption (4096=100MB, as a rule of thumb)."
msgstr ""
-"КолькаÑць дадатковых блокаў, ÑÐºÑ–Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ загружаны за раз камандай /"
+"КолькаÑць дадатковых блокаў, што могуць адначаÑова загружацца загадам /"
"clearobjects.\n"
-"ГÑта ÐºÐ°Ð¼Ð¿Ñ€Ð°Ð¼Ñ–Ñ Ð¿Ð°Ð¼Ñ–Ð¶ накладнымі выдаткамі на транзакцыю sqlite\n"
+"ГÑта ÐºÐ°Ð¼Ð¿Ñ€Ð°Ð¼Ñ–Ñ Ð¿Ð°Ð¼Ñ–Ð¶ дадатковымі выдаткамі на транзакцыю sqlite\n"
"Ñ– Ñпажываннем памÑці (4096 = 100 МБ, Ñк правіла)."
#: src/settings_translation_file.cpp
@@ -5216,7 +5291,7 @@ msgstr "КолькаÑць Ñ–Ñ‚Ñрацый паралакÑнай аклюзіÑ
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Сеціўны Ñ€Ñпазіторый"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5228,10 +5303,12 @@ msgid ""
"formspec is\n"
"open."
msgstr ""
+"Ðдкрыць меню паўзы калі акно Ñтраціла фокуÑ. Ðе будзе працаваць калі Ñкое-"
+"небудзь меню ўжо адкрыта."
#: src/settings_translation_file.cpp
msgid "Overall bias of parallax occlusion effect, usually scale/2."
-msgstr "Ðгульны нахіл Ñфекту паралакÑнай аклюзіі. Звычайна маштаб/2."
+msgstr "Ðгульны зрух Ñфекту паралакÑнай аклюзіі. Звычайна маштаб/2."
#: src/settings_translation_file.cpp
msgid "Overall scale of parallax occlusion effect."
@@ -5243,7 +5320,7 @@ msgstr "ПаралакÑÐ½Ð°Ñ Ð°ÐºÐ»ÑŽÐ·Ñ–Ñ"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion bias"
-msgstr "Ðахіл паралакÑнай аклюзіі"
+msgstr "Зрух паралакÑнай аклюзіі"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion iterations"
@@ -5254,7 +5331,6 @@ msgid "Parallax occlusion mode"
msgstr "РÑжым паралакÑнай аклюзіі"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion scale"
msgstr "Маштаб паралакÑнай аклюзіі"
@@ -5268,7 +5344,7 @@ msgstr "ШлÑÑ… да TrueTypeFont ці раÑтравага шрыфту."
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
-msgstr "Каталог Ð´Ð»Ñ Ð·Ð°Ñ…Ð¾ÑžÐ²Ð°Ñ†ÑŒ здымкаў Ñкрана."
+msgstr "Каталог Ð´Ð»Ñ Ð·Ð°Ñ…Ð¾ÑžÐ²Ð°Ð½Ð½Ñ Ð·Ð´Ñ‹Ð¼ÐºÐ°Ñž Ñкрана."
#: src/settings_translation_file.cpp
msgid ""
@@ -5276,7 +5352,7 @@ msgid ""
"used."
msgstr ""
"ШлÑÑ… да каталога з шÑйдÑрамі. Калі не зададзены, то будзе выкарыÑтоўвацца "
-"агаданы шлÑÑ…."
+"прадвызначаны шлÑÑ…."
#: src/settings_translation_file.cpp
msgid "Path to texture directory. All textures are first searched from here."
@@ -5284,21 +5360,19 @@ msgstr "ШлÑÑ… да каталога Ñ‚ÑкÑтур. УÑе Ñ‚ÑкÑтуры Ñ
#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
-msgstr ""
+msgstr "Паўза пры Ñтраце фокуÑу"
#: src/settings_translation_file.cpp
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 ""
@@ -5306,7 +5380,7 @@ msgid ""
"This requires the \"fly\" privilege on the server."
msgstr ""
"Гулец можа лётаць без ўплыву дзеÑÐ½Ð½Ñ Ñілы цÑжару.\n"
-"Ðеабходна Ð¿Ñ€Ñ‹Ð²Ñ–Ð»ÐµÑ Â«noclip» на Ñерверы."
+"Ðеабходны прывілей «noclip» на Ñерверы."
#: src/settings_translation_file.cpp
msgid "Player name"
@@ -5314,10 +5388,9 @@ msgstr "Ð†Ð¼Ñ Ð³ÑƒÐ»ÑŒÑ†Ð°"
#: src/settings_translation_file.cpp
msgid "Player transfer distance"
-msgstr "ДыÑÑ‚Ð°Ð½Ñ†Ñ‹Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ дадзеных гульца"
+msgstr "ДыÑÑ‚Ð°Ð½Ñ†Ñ‹Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ даных гульца"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Player versus player"
msgstr "Гулец Ñупраць гульца"
@@ -5334,57 +5407,53 @@ 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 ""
+"ПрадухілÑе паўтарÑнне ÐºÐ°Ð¿Ð°Ð½Ð½Ñ Ñ– размÑшчÑÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÐ°Ñž пры ўтрыманні кнопкі "
+"мышы.\n"
+"Уключыце гÑты параметр, калі занадта чаÑта выпадкова капаеце або будуеце."
#: src/settings_translation_file.cpp
msgid "Prevent mods from doing insecure things like running shell commands."
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 Ð´Ð»Ñ Ð°Ð´ÐºÐ»ÑŽÑ‡ÑннÑ. КарыÑна Ð´Ð»Ñ Ñ€Ð°Ñпрацоўнікаў."
+"0 Ð´Ð»Ñ Ð°Ð´ÐºÐ»ÑŽÑ‡ÑннÑ. КарыÑна Ð´Ð»Ñ Ñ€Ð°Ñпрацоўшчыкаў."
#: src/settings_translation_file.cpp
msgid "Privileges that players with basic_privs can grant"
-msgstr "Прывілеі, ÑÐºÑ–Ñ Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°ÑŽÑ†ÑŒ гульцы з basic_privs"
+msgstr "Прывілеі, ÑÐºÑ–Ñ Ð¼Ð°ÑŽÑ†ÑŒ гульцы з basic_privs"
#: src/settings_translation_file.cpp
msgid "Profiler"
-msgstr "Прафілер"
+msgstr "Прафіліроўшчык"
#: src/settings_translation_file.cpp
msgid "Profiler toggle key"
-msgstr "Клавіша пераключÑÐ½Ð½Ñ Ð¿Ñ€Ð°Ñ„Ñ–Ð»ÐµÑ€Ð°"
+msgstr "Клавіша пераключÑÐ½Ð½Ñ Ð¿Ñ€Ð°Ñ„Ñ–Ð»Ñ–Ñ€Ð¾ÑžÑˆÑ‡Ñ‹ÐºÐ°"
#: src/settings_translation_file.cpp
msgid "Profiling"
msgstr "ПрафілÑванне"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 ""
-"Ð Ð°Ð´Ñ‹ÑƒÑ Ð·Ð¾Ð½Ñ‹ воблачнаÑці задаецца Ñк колькаÑці 64 вузлавых воблачных "
-"квадратаў.\n"
-"ЗначÑнне вышÑй 26 прывÑдзе да Ñ€Ñзкіх адрÑзаў у кутах зоны воблачнаÑці."
+"Ð Ð°Ð´Ñ‹ÑƒÑ Ð·Ð¾Ð½Ñ‹ аблокаў Ñкладаецца з 64 квадратаў з блокаў.\n"
+"ЗначÑнне вышÑй 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"
@@ -5392,33 +5461,35 @@ msgstr "Выпадковы ўвод"
#: src/settings_translation_file.cpp
msgid "Range select key"
-msgstr "Клавіша выбару дыÑпазону"
+msgstr "Клавіша выбару дыÑпазону бачнаÑці"
#: src/settings_translation_file.cpp
msgid "Recent Chat Messages"
-msgstr ""
+msgstr "ÐÐ°Ð´Ð°ÑžÐ½Ñ–Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½Ñ– размовы"
#: src/settings_translation_file.cpp
msgid "Remote media"
-msgstr "Ðддаленае медыÑ"
+msgstr "Ðдлеглы медыÑÑервер"
#: src/settings_translation_file.cpp
msgid "Remote port"
-msgstr "Ðддалены порт"
+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 ""
+"ВыдалÑе коды колераў з уваходных паведамленнÑÑž размовы\n"
+"ВыкарыÑтоўвайце, каб забараніць гульцам ужываць колеры Ñž Ñваіх паведамленнÑÑ…"
#: src/settings_translation_file.cpp
msgid "Replaces the default main menu with a custom one."
-msgstr "ЗмÑнÑе агаданае галоўнае меню на карыÑтальніцкае."
+msgstr "ЗамÑнÑе прадвызначанае галоўнае меню на карыÑтальніцкае."
#: src/settings_translation_file.cpp
msgid "Report path"
-msgstr "ШлÑÑ… да Ñправаздачы"
+msgstr "ШлÑÑ… да Ñправаздач"
#: src/settings_translation_file.cpp
msgid ""
@@ -5433,11 +5504,20 @@ msgid ""
"csm_restriction_noderange)\n"
"READ_PLAYERINFO: 32 (disable get_player_names call client-side)"
msgstr ""
+"ÐбмÑжоўвае доÑтуп да пÑўных функцый з боку кліента на Ñерверах.\n"
+"Спалучыце адзнакі байтаў ніжÑй, каб абмежаваць функцыі, альбо ўвÑдзіце 0, "
+"каб нічога не абмÑжоўваць:\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"
@@ -5448,9 +5528,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"
@@ -5458,34 +5537,46 @@ msgstr "Клавіша ўправа"
#: src/settings_translation_file.cpp
msgid "Rightclick repetition interval"
-msgstr "ІнтÑрвал паўтору правай кнопкі мышы"
+msgstr "ІнтÑрвал паўторнай пÑтрычкі правай кнопкі мышы"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "River depth"
-msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ñ€Ð°ÐºÑ–"
+msgid "River channel depth"
+msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ñ€Ñк"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel width"
+msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ñ€Ñк"
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ñ€Ñк"
+
+#: src/settings_translation_file.cpp
msgid "River noise"
-msgstr "Шум ракі"
+msgstr "Шум Ñ€Ñк"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River size"
-msgstr "Памер ракі"
+msgstr "Памер Ñ€Ñк"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ñ€Ñк"
#: src/settings_translation_file.cpp
msgid "Rollback recording"
-msgstr "Ð—Ð°Ð¿Ñ–Ñ Ð°Ð´ÐºÐ°Ñ‚Ñƒ"
+msgstr "Ð—Ð°Ð¿Ñ–Ñ Ð°Ð´Ð½Ð°ÑžÐ»ÐµÐ½Ð½Ñ"
#: src/settings_translation_file.cpp
msgid "Rolling hill size noise"
-msgstr ""
+msgstr "Памер шуму пагоркаў"
#: src/settings_translation_file.cpp
msgid "Rolling hills spread noise"
-msgstr ""
+msgstr "Шум раÑпаўÑÑŽÐ´Ð¶Ð²Ð°Ð½Ð½Ñ Ð¿Ð°Ð³Ð¾Ñ€ÐºÐ°Ñž"
#: src/settings_translation_file.cpp
msgid "Round minimap"
@@ -5493,26 +5584,25 @@ msgstr "ÐšÑ€ÑƒÐ³Ð»Ð°Ñ Ð¼Ñ–Ð½Ñ–Ð¼Ð°Ð¿Ð°"
#: src/settings_translation_file.cpp
msgid "Safe digging and placing"
-msgstr ""
+msgstr "БÑÑпечнае капанне Ñ– размÑшчÑнне блокаў"
#: src/settings_translation_file.cpp
msgid "Sandy beaches occur when np_beach exceeds this value."
-msgstr "ПÑÑÑ‡Ð°Ð½Ñ‹Ñ Ð¿Ð»Ð°Ð¶Ñ‹ з'ÑўлÑюцца, калі np_beach перавышае гÑта значÑнне."
+msgstr "ПÑÑÑ‡Ð°Ð½Ñ‹Ñ Ð¿Ð»Ñжы з'ÑўлÑюцца, калі np_beach перавышае гÑта значÑнне."
#: src/settings_translation_file.cpp
msgid "Save the map received by the client on disk."
-msgstr "Захоўваць мапу, атрыманай кліентам, на дыÑк."
+msgstr "Захоўваць мапу, атрыманую ад кліента, на дыÑк."
#: src/settings_translation_file.cpp
msgid "Save window size automatically when modified."
-msgstr ""
+msgstr "Ðўтаматычна захоўваць памер акна пры змене."
#: src/settings_translation_file.cpp
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"
@@ -5520,11 +5610,11 @@ msgid ""
"pixels when scaling down, at the cost of blurring some\n"
"edge pixels when images are scaled by non-integer sizes."
msgstr ""
-"Маштабаваць графічны інтÑÑ€Ñ„ÐµÐ¹Ñ Ð´Ð° зададзенага значÑннÑ.\n"
-"ВыкарыÑтоўвае фільтр бліжÑйшых ÑуÑедзÑÑž Ñа згладжваннем.\n"
-"ГÑта дазволіць згладзіць Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð³Ñ€ÑƒÐ±Ñ‹Ñ ÐºÑ€Ð°Ñ–, Ñ– змÑшаць пікÑелі\n"
-"пры маштабаванні ўніз, за кошт Ñ€Ð°Ð·Ð¼Ñ‹Ñ†Ñ†Ñ Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ… краÑвых пікÑелÑÑž,\n"
-"калі выÑва маштабуецца да не цÑлых памераў."
+"Маштабаваць графічны інтÑÑ€Ñ„ÐµÐ¹Ñ Ð´Ð° вызначанага значÑннÑ.\n"
+"ВыкарыÑтоўваецца фільтр бліжÑйшых ÑуÑедзÑÑž Ñа згладжваннем.\n"
+"ГÑта згладзіць Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð²Ð¾ÑÑ‚Ñ€Ñ‹Ñ Ð²ÑƒÐ³Ð»Ñ‹ Ñ– змÑшае пікÑелі\n"
+"пры маштабаванні ўніз за кошт Ñ€Ð°Ð·Ð¼Ñ‹Ñ†Ñ†Ñ Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ… крайніх пікÑелÑÑž,\n"
+"калі выÑва маштабуецца не да цÑлых памераў."
#: src/settings_translation_file.cpp
msgid "Screen height"
@@ -5536,7 +5626,7 @@ msgstr "Ð¨Ñ‹Ñ€Ñ‹Ð½Ñ Ñкрана"
#: src/settings_translation_file.cpp
msgid "Screenshot folder"
-msgstr "Каталог Ð´Ð»Ñ Ð·Ð´Ñ‹Ð¼ÐºÐ°Ñž Ñкрана"
+msgstr "Каталог здымкаў Ñкрана"
#: src/settings_translation_file.cpp
msgid "Screenshot format"
@@ -5552,47 +5642,43 @@ msgid ""
"1 means worst quality; 100 means best quality.\n"
"Use 0 for default quality."
msgstr ""
-"ЯкаÑць здымкаў Ñкрана выкарыÑтоўваецца толькі Ð´Ð»Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ JPEG.\n"
-"1 азначае найгоршую ÑкаÑць, а 100 — найлепшую.\n"
-"ВыкарыÑтоўвайце 0 Ð´Ð»Ñ Ð°Ð³Ð°Ð´Ð°Ð½Ð°Ð¹ ÑкаÑці."
+"ЯкаÑць здымкаў Ñкрана. ВыкарыÑтоўваецца толькі Ð´Ð»Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ JPEG.\n"
+"1 азначае найгоршую ÑкаÑць, а 100 — найлепшую. 0 - Ð¿Ñ€Ð°Ð´Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ñ ÑкаÑць."
#: src/settings_translation_file.cpp
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-шумоў, што разам вызначаюць тунелі."
+msgstr "Другі з двух 3D-шумоў, што разам вызначаюць тунÑлі."
#: src/settings_translation_file.cpp
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 "ГлÑдзіце https://www.sqlite.org/pragma.html#pragma_synchronous"
#: src/settings_translation_file.cpp
msgid "Selection box border color (R,G,B)."
-msgstr "Колер рамкі воблаÑці выбару (R,G,B)."
+msgstr "Колер рамкі воблаÑці вылучÑÐ½Ð½Ñ (R,G,B)."
#: src/settings_translation_file.cpp
msgid "Selection box color"
-msgstr "Колер воблаÑці выбару"
+msgstr "Колер воблаÑці вылучÑннÑ"
#: src/settings_translation_file.cpp
msgid "Selection box width"
-msgstr "Ð¨Ñ‹Ñ€Ñ‹Ð½Ñ Ð²Ð¾Ð±Ð»Ð°Ñці выбару"
+msgstr "Ð¨Ñ‹Ñ€Ñ‹Ð½Ñ Ð²Ð¾Ð±Ð»Ð°Ñці вылучÑннÑ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Selects one of 18 fractal types.\n"
"1 = 4D \"Roundy\" mandelbrot set.\n"
@@ -5614,29 +5700,29 @@ msgid ""
"17 = 4D \"Mandelbulb\" mandelbrot set.\n"
"18 = 4D \"Mandelbulb\" julia set."
msgstr ""
-"Выбар 18 фракталаў з 9 формул.\n"
-"1. 4D-«круглае» мноÑтва МандÑльброта.\n"
-"2. 4D-«круглае» мноÑтва ЖуліÑ.\n"
-"3. 4D-«квадратнае» мноÑтва МандÑльброта.\n"
-"4. 4D-«квадратнае» мноÑтва ЖуліÑ.\n"
-"5. 4D-мноÑтва МандÑльброта «КузÑна МÑндзі».\n"
-"6. 4D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐšÑƒÐ·Ñна МÑндзі».\n"
-"7. 4D-мноÑтва МандÑльброта «ВарыÑцыÑ».\n"
-"8. 4D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«Ð’Ð°Ñ€Ñ‹ÑцыÑ».\n"
-"9. 3D-мноÑтва МандÑльброта «МандÑльброт/МандÑльбар».\n"
-"10. 3D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐœÐ°Ð½Ð´Ñльброт/МандÑльбар».\n"
-"11. 3D-мноÑтва МандÑльброта «КалÑÐ´Ð½Ð°Ñ Ñліна».\n"
-"12. 3D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐšÐ°Ð»ÑÐ´Ð½Ð°Ñ Ñліна».\n"
-"13. 3D-мноÑтва МандÑльброта «МандÑльбульб».\n"
-"14. 3D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐœÐ°Ð½Ð´Ñльбульб».\n"
-"15. 3D-мноÑтва МандÑльброта «КузÑн МандÑльбульб».\n"
-"16. 3D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐšÑƒÐ·Ñн МандÑльбульб».\n"
-"17. 4D-мноÑтва МандÑльброта «МандÑльбульб».\n"
-"18. 4D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐœÐ°Ð½Ð´Ñльбульб»."
+"Выбірае адзін з 18 тыпаў фракталаў.\n"
+"1 = 4D-«круглае» мноÑтва МандÑльброта.\n"
+"2 = 4D-«круглае» мноÑтва ЖуліÑ.\n"
+"3 = 4D-«квадратнае» мноÑтва МандÑльброта.\n"
+"4 = 4D-«квадратнае» мноÑтва ЖуліÑ.\n"
+"5 = 4D-мноÑтва МандÑльброта «КузÑна МÑндзі».\n"
+"6 = 4D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐšÑƒÐ·Ñна МÑндзі».\n"
+"7 = 4D-мноÑтва МандÑльброта «ВарыÑцыÑ».\n"
+"8 = 4D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«Ð’Ð°Ñ€Ñ‹ÑцыÑ».\n"
+"9 = 3D-мноÑтва МандÑльброта «МандÑльброт/МандÑльбар».\n"
+"10 = 3D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐœÐ°Ð½Ð´Ñльброт/МандÑльбар».\n"
+"11 = 3D-мноÑтва МандÑльброта «КалÑÐ´Ð½Ð°Ñ Ñліна».\n"
+"12 = 3D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐšÐ°Ð»ÑÐ´Ð½Ð°Ñ Ñліна».\n"
+"13 = 3D-мноÑтва МандÑльброта «МандÑльбульб».\n"
+"14 = 3D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐœÐ°Ð½Ð´Ñльбульб».\n"
+"15 = 3D-мноÑтва МандÑльброта «КузÑн МандÑльбульб».\n"
+"16 = 3D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐšÑƒÐ·Ñн МандÑльбульб».\n"
+"17 = 4D-мноÑтва МандÑльброта «МандÑльбульб».\n"
+"18 = 4D-мноÑтва Ð–ÑƒÐ»Ñ–Ñ Â«ÐœÐ°Ð½Ð´Ñльбульб»."
#: src/settings_translation_file.cpp
msgid "Server / Singleplayer"
-msgstr "Сервер / Ð¡Ð°Ð¼Ð¾Ñ‚Ð½Ð°Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ"
+msgstr "Сервер / ÐÐ´Ð·Ñ–Ð½Ð¾Ñ‡Ð½Ð°Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ"
#: src/settings_translation_file.cpp
msgid "Server URL"
@@ -5668,63 +5754,65 @@ msgstr "URL ÑпіÑа Ñервераў"
#: src/settings_translation_file.cpp
msgid "Serverlist file"
-msgstr "Файл ÑпіÑу Ñервераў"
+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 ""
-"УÑтавіць мову. Пакіньце пуÑтым, каб ÑкарыÑтаць мову ÑÑ–ÑÑ‚Ñмы.\n"
-"Ðеабходны перазапуÑк паÑÐ»Ñ Ð·Ð¼ÐµÐ½Ñ‹ мовы."
+"Прызначыць мову. Пакіньце пуÑтым, каб выкарыÑтаць мову ÑÑ–ÑÑ‚Ñмы.\n"
+"ПаÑÐ»Ñ Ð·Ð¼ÐµÐ½Ñ‹ мовы патрÑбна перазапуÑціць гульню."
#: 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 ""
"Set to true enables waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
-"Уключае трапÑтанне ліÑцÑ.\n"
-"Патрабуе шÑйдÑры."
+"ЗначÑнне \"true\" уключае калыханне ліÑцÑ.\n"
+"Патрабуюцца ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ ÑˆÑйдÑры."
#: src/settings_translation_file.cpp
msgid ""
"Set to true enables waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Уключае трапÑтанне раÑлін.\n"
-"Патрабуе шÑйдÑры."
+"ЗначÑнне \"true\" уключае калыханне раÑлін.\n"
+"Патрабуюцца ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ ÑˆÑйдÑры."
#: src/settings_translation_file.cpp
msgid ""
"Set to true enables waving water.\n"
"Requires shaders to be enabled."
msgstr ""
-"Уключае хвалÑванне вады.\n"
-"Патрабуе шÑйдÑры."
+"ЗначÑнне \"true\" уключае хвалÑванне вады.\n"
+"Патрабуюцца ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ ÑˆÑйдÑры."
#: src/settings_translation_file.cpp
msgid "Shader path"
msgstr "ШлÑÑ… да шÑйдÑраў"
#: 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 ""
-"ШÑйдÑры дазвалÑюць атрымаць Ð¿Ð°Ð»ÐµÐ¿ÑˆÐ°Ð½Ñ‹Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñфекты Ñ– могуць павÑлічыць "
+"ШÑйдÑры дазвалÑюць выкарыÑтоўваць Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ð²Ñ–Ð·ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñфекты Ñ– могуць "
+"павÑлічыць\n"
"прадукцыйнаÑць на некаторых відÑакартах.\n"
-"Яны працуюць толькі з OpenGL."
+"Працуюць толькі з OpenGL."
#: src/settings_translation_file.cpp
msgid "Shadow limit"
-msgstr "МÑжа ценю"
+msgstr "Ліміт ценÑÑž"
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
@@ -5732,15 +5820,15 @@ msgstr "Форма мінімапы. Уключана — круг, выключ
#: src/settings_translation_file.cpp
msgid "Show debug info"
-msgstr "Паказаць звеÑткі адладкі"
+msgstr "Паказваць адладачную інфармацыю"
#: src/settings_translation_file.cpp
msgid "Show entity selection boxes"
-msgstr "Паказаць воблаÑць выбару аб'екта"
+msgstr "Паказваць воблаÑць вылучÑннÑ"
#: src/settings_translation_file.cpp
msgid "Shutdown message"
-msgstr "Паведамленне пры выключÑнні"
+msgstr "Паведамленне аб выключÑнні"
#: src/settings_translation_file.cpp
msgid ""
@@ -5751,6 +5839,14 @@ msgid ""
"Altering this value is for special usage, leaving it unchanged is\n"
"recommended."
msgstr ""
+"Памер кавалкаў мапы, Ñтвараемых генератарам мапы, падаецца Ñž блоках мапы (16 "
+"блокаў).\n"
+"УВÐГÐ!: Ðд змены гÑтага значÑÐ½Ð½Ñ Ð½Ñма амаль ніÑкай карыÑці, а прызначÑнне\n"
+"Ñму больш 5 можа выклікаць шкоду.\n"
+"З павелічÑннем гÑтага значÑÐ½Ð½Ñ Ð¿Ð°Ð²Ñлічыцца шчыльнаÑць размÑшчÑÐ½Ð½Ñ Ð¿Ñчор Ñ– "
+"падзÑмеллÑÑž.\n"
+"ЗмÑнÑць гÑтае значÑнне патрÑбна толькі Ñž аÑаблівых ÑітуацыÑÑ…, а Ñž звычайных "
+"Ñ€Ñкамендуецца пакінуць Ñк Ñ‘Ñць."
#: src/settings_translation_file.cpp
msgid ""
@@ -5759,17 +5855,16 @@ msgid ""
"thread, thus reducing jitter."
msgstr ""
"Памер кÑшу блокаў у генератары Ñетак. ПавелічÑнне гÑтага значÑннÑ\n"
-"павÑлічыць адÑотак пападаннÑÑž у кÑш, змешыць капіÑванне даных\n"
-"з галоўнага патоку гульні, тым Ñамым змешыць дрыжанне."
+"павÑлічыць адÑотак пераноÑу Ñž кÑш, прадухілÑючы капіÑванне даных\n"
+"з галоўнага патоку гульні, тым Ñамым памÑншаючы дрыжанне."
#: src/settings_translation_file.cpp
msgid "Slice w"
-msgstr "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."
@@ -5788,41 +5883,42 @@ msgid ""
"Smooths camera when looking around. Also called look or mouse smoothing.\n"
"Useful for recording videos."
msgstr ""
-"Згладжвае камеру пры аглÑдзе наўкол. ТакÑама завецца Ñк згладжванне выглÑду "
-"або мышы.\n"
+"Згладжваць камеру пры Ñе панарамным руху. ТакÑама завецца Ñк згладжванне "
+"выглÑду або мышы.\n"
"КарыÑна Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу відÑа."
#: src/settings_translation_file.cpp
msgid "Smooths rotation of camera in cinematic mode. 0 to disable."
msgstr ""
-"Згладжвае кручÑнне камеры Ñž кінематаграфічным Ñ€Ñжыме. 0 Ð´Ð»Ñ Ð°Ð´ÐºÐ»ÑŽÑ‡ÑннÑ."
+"Плаўнае паварочванне камеры Ñž кінематаграфічным Ñ€Ñжыме. 0 Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑннÑ."
#: src/settings_translation_file.cpp
msgid "Smooths rotation of camera. 0 to disable."
-msgstr "Згладжвае кручÑнне камеры. 0 Ð´Ð»Ñ Ð°Ð´ÐºÐ»ÑŽÑ‡ÑннÑ."
+msgstr "Плаўнае паварочванне камеры. 0 Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑннÑ."
#: src/settings_translation_file.cpp
msgid "Sneak key"
-msgstr "Клавіша валачÑннÑ"
+msgstr "Клавіша \"краÑціÑÑ\""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Sneaking speed"
-msgstr "ХуткаÑць хады"
+msgstr "ХуткаÑць хады ўпотай"
+
+#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+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
-#, fuzzy
msgid "Special key for climbing/descending"
-msgstr "Клавіша Ð´Ð»Ñ ÐºÐ°Ñ€Ð°ÑканнÑ/апуÑканнÑ"
+msgstr "ÐдмыÑÐ»Ð¾Ð²Ð°Ñ ÐºÐ»Ð°Ð²Ñ–ÑˆÐ° Ð´Ð»Ñ ÐºÐ°Ñ€Ð°ÑканнÑ/ÑпуÑканнÑ"
#: src/settings_translation_file.cpp
msgid ""
@@ -5831,46 +5927,48 @@ msgid ""
"(obviously, remote_media should end with a slash).\n"
"Files that are not present will be fetched the usual way."
msgstr ""
-"Вызначае URL, з Ñкога кліент атрымоўвае Ð¼ÐµÐ´Ñ‹Ñ Ð·Ð°Ð¼ÐµÑÑ‚ выкарыÑÑ‚Ð°Ð½Ð½Ñ UDP.\n"
-"$filename павінна быць даÑтупна з $remote_media$filename праз cURL\n"
-"(відавочна, што remote_media павінна заканчвацца каÑой рыÑкай).\n"
-"ÐедаÑÑÐ¶Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ будуць Ñпампаваны звычайным чынам."
+"Вызначае URL, з Ñкога кліент будзе Ñпампоўваць медыÑфайлы замеÑÑ‚ "
+"выкарыÑÑ‚Ð°Ð½Ð½Ñ UDP.\n"
+"$filename муÑіць быць даÑтупным па адраÑе з $remote_media$filename праз "
+"cURL\n"
+"(відавочна, што remote_media муÑіць заканчвацца ÑкоÑам).\n"
+"ÐедаÑÑÐ¶Ð½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ будуць Ñпампоўвацца звычайным чынам."
#: src/settings_translation_file.cpp
msgid ""
"Spread of light curve mid-boost.\n"
"Standard deviation of the mid-boost gaussian."
msgstr ""
+"РаÑпаўÑюджванне ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла.\n"
+"Стандартнае адхіленне ÑÑÑ€ÑднÑга ўздыму па ГаўÑу."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
-msgstr "Ð¡Ñ‚Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ñ ÐºÑ€Ð¾Ð¿ÐºÐ° нараджÑннÑ"
+msgstr "Ð¡Ñ‚Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ñ ÐºÑ€Ð¾Ð¿ÐºÐ° адраджÑннÑ"
#: src/settings_translation_file.cpp
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."
-msgstr "Сіла згенераваных мапаў нармалÑÑž."
+msgstr "Моц згенераваных мапаў нармалÑÑž."
#: src/settings_translation_file.cpp
msgid "Strength of light curve mid-boost."
-msgstr ""
+msgstr "Моц ÑÑÑ€ÑднÑга ўздыму крывой ÑвÑтла."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
-msgstr "Сіла паралакÑа."
+msgstr "Моц паралакÑа."
#: src/settings_translation_file.cpp
msgid "Strict protocol checking"
@@ -5878,7 +5976,7 @@ msgstr "Ð¡Ñ‚Ñ€Ð¾Ð³Ð°Ñ Ð¿Ñ€Ð°Ð²ÐµÑ€ÐºÐ° пратакола"
#: src/settings_translation_file.cpp
msgid "Strip color codes"
-msgstr ""
+msgstr "Прыбіраць коды колераў"
#: src/settings_translation_file.cpp
msgid "Synchronous SQLite"
@@ -5889,22 +5987,20 @@ 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"
-msgstr "Ð’Ñ‹Ñотны шум Ñ€Ñльефу"
+msgstr "Шум выÑокага Ñ€Ñльефу"
#: src/settings_translation_file.cpp
msgid "Terrain noise"
@@ -5916,9 +6012,9 @@ msgid ""
"Controls proportion of world area covered by hills.\n"
"Adjust towards 0.0 for a larger proportion."
msgstr ""
-"Парог шуму Ñ€Ñльефу Ð´Ð»Ñ ÑžÐ·Ð³Ð¾Ñ€ÐºÐ°Ñž.\n"
-"РÑгулюе прапорцыю плошчы Ñвету, пакрытую ўзгоркамі.\n"
-"ЗначÑнне ÐºÐ°Ð»Ñ 0.0 дае большую прапорцыю."
+"Парог шуму Ñ€Ñльефу пагоркаў.\n"
+"РÑгулюе прапорцыю плошчы Ñвету, запоўненую пагоркамі.\n"
+"Ðаладжвайце Ñž бок 0.0 Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ‹ÑŽ."
#: src/settings_translation_file.cpp
msgid ""
@@ -5926,13 +6022,13 @@ msgid ""
"Controls proportion of world area covered by lakes.\n"
"Adjust towards 0.0 for a larger proportion."
msgstr ""
-"Парог шуму Ñ€Ñльефу Ð´Ð»Ñ Ð°Ð·Ñ‘Ñ€.\n"
-"РÑгулюе прапорцыю плошчы Ñвету, пакрытую азёрамі.\n"
-"ЗначÑнне ÐºÐ°Ð»Ñ 0.0 дае большую прапорцыю."
+"Парог шуму Ñ€Ñльефу азёр.\n"
+"РÑгулюе прапорцыю плошчы Ñвету, запоўненую азёрамі.\n"
+"Ðаладжвайце Ñž бок 0.0 Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ‹ÑŽ."
#: src/settings_translation_file.cpp
msgid "Terrain persistence noise"
-msgstr "Шум уÑтойліваці Ñ€Ñльефу"
+msgstr "Сталы шум Ñ€Ñльефу"
#: src/settings_translation_file.cpp
msgid "Texture path"
@@ -5947,23 +6043,29 @@ 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"
+"Ñ€Ñжым лічыцца ÑкÑперыментальным Ñ– можа працаваць неналежным чынам."
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "URL Ñ€ÑпазіторыÑ"
#: src/settings_translation_file.cpp
msgid ""
"The default format in which profiles are being saved,\n"
"when calling `/profiler save [format]` without format."
msgstr ""
-"Ðгаданы фармат, у Ñкім захоўваюцца профілі,\n"
-"пры запуÑку `/profiler save [format]` без фармату."
+"Прадвызначаны фармат Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑÑž,\n"
+"пры запуÑку `/profiler save [format]` без вызначÑÐ½Ð½Ñ Ñ„Ð°Ñ€Ð¼Ð°Ñ‚Ñƒ."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "The depth of dirt or other biome filler node."
-msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð±Ñ€ÑƒÐ´Ñƒ або іншага запаўнÑльніка"
+msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð³Ð»ÐµÐ±Ñ‹ альбо іншага запаўнÑльніка."
#: src/settings_translation_file.cpp
msgid ""
@@ -5978,6 +6080,7 @@ 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 "The network interface that the server listens on."
@@ -5988,8 +6091,8 @@ msgid ""
"The privileges that new users automatically get.\n"
"See /privs in game for a full list on your server and mod configuration."
msgstr ""
-"Прывілеі, ÑÐºÑ–Ñ Ð°Ñ‚Ñ€Ñ‹Ð¼Ð¾ÑžÐ²Ð°ÑŽÑ†ÑŒ Ð½Ð¾Ð²Ñ‹Ñ ÐºÐ°Ñ€Ñ‹Ñтальнікі аўтаматычна.\n"
-"ГлÑдзіце /privs у гульні Ð´Ð»Ñ Ð¿Ð¾ÑžÐ½Ð°Ð³Ð° ÑпіÑу Ð´Ð»Ñ Ð²Ð°ÑˆÐ°Ð¹ канфігурацыі."
+"Прывілеі, ÑÐºÑ–Ñ Ð°ÑžÑ‚Ð°Ð¼Ð°Ñ‚Ñ‹Ñ‡Ð½Ð° атрымліваюць Ð½Ð¾Ð²Ñ‹Ñ ÐºÐ°Ñ€Ñ‹Ñтальнікі.\n"
+"ГлÑдзіце поўны ÑÐ¿Ñ–Ñ Ð¿Ñ€Ñ‹Ð²Ñ–Ð»ÐµÑÑž у /privs."
#: src/settings_translation_file.cpp
msgid ""
@@ -6001,6 +6104,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 ""
@@ -6011,12 +6120,18 @@ msgid ""
"On other platforms, OpenGL is recommended, and it’s the only driver with\n"
"shader support currently."
msgstr ""
+"Рухавік адмалёўкі Ð´Ð»Ñ Irrlicht.\n"
+"ПаÑÐ»Ñ Ð·Ð¼ÐµÐ½Ñ‹ гÑтага параметра ÑпатрÑбіцца перазупуÑк.\n"
+"Заўвага: на Ðндроідзе, калі не ведаеце што выбраць, ужывайце OGLES1, інакш "
+"дадатак можа не запуÑціцца.\n"
+"Ðа іншых платформах Ñ€Ñкамендуецца OpenGL, бо цÑпер гÑта адзіны драйвер\n"
+"з падтрымкай шÑйдÑраў."
#: src/settings_translation_file.cpp
msgid ""
"The sensitivity of the joystick axes for moving the\n"
"ingame view frustum around."
-msgstr "ÐдчувальнаÑць воÑей джойÑціка пры праглÑдзе навокал Ñž гульні."
+msgstr "ÐдчувальнаÑць воÑÑÑž джойÑціка пры азіранні."
#: src/settings_translation_file.cpp
msgid ""
@@ -6025,10 +6140,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 ""
-"ІнтÑнÑіўнаÑць навакольнага аклюзіўнага зацÑÐ¼Ð½ÐµÐ½Ð½Ñ Ð²ÑƒÐ·Ð»Ð°.\n"
-"ÐÑ–Ð·ÐºÑ–Ñ Ð·Ð½Ð°Ñ‡Ñнні — цёмныÑ, выÑÐ¾ÐºÑ–Ñ â€” ÑветлыÑ.\n"
+"ІнтÑнÑіўнаÑць навакольнага аклюзіўнага зацÑÐ¼Ð½ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÐ°.\n"
+"Чым меншае значÑнне, тым цÑмней, чым большае, тым ÑвÑтлей.\n"
"ДыÑпазон карÑктных значÑннÑÑž ад 0,25 да 4,0 уключна.\n"
-"Калі значÑнне будзе па-за дыÑпазону, то будзе брацца бліжÑйшае карÑктнае "
+"Калі значÑнне будзе па-за дыÑпазонам, то будзе брацца бліжÑйшае прыдатнае "
"значÑнне."
#: src/settings_translation_file.cpp
@@ -6037,10 +6152,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 ""
-"Ð§Ð°Ñ (у Ñекундах), на Ñкі чарга вадкаÑці можа выйÑці за межы,\n"
-"пакуль не зроблена Ñпроба зменшыць Ñе памер шлÑхам ÑÐºÑ–Ð´Ð²Ð°Ð½Ð½Ñ Ñтарых "
-"Ñлементаў.\n"
-"ЗначÑнне 0 адключае гÑтую функцыю."
+"Ð§Ð°Ñ (у Ñекундах), на Ñкі чарга вадкаÑці можа перавыÑіць апрацоўку,\n"
+"пакуль не адбудзецца Ñпроба паменшыць памер чаргі, прыбраўшы з Ñе ÑÑ‚Ð°Ñ€Ñ‹Ñ "
+"Ñлементы.\n"
+"ЗначÑнне 0 выключае гÑтую функцыю."
#: src/settings_translation_file.cpp
msgid ""
@@ -6051,7 +6166,6 @@ msgstr ""
"джойÑціка."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"The time in seconds it takes between repeated right clicks when holding the "
"right\n"
@@ -6069,11 +6183,14 @@ 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."
@@ -6084,16 +6201,16 @@ msgid ""
"Time in seconds for item entity (dropped items) to live.\n"
"Setting it to -1 disables the feature."
msgstr ""
-"Ð§Ð°Ñ Ð¶Ñ‹Ñ†Ñ†Ñ Ð²Ñ‹ÐºÑ–Ð½ÑƒÑ‚Ð°Ð¹ Ñ€Ñчы Ñž Ñекундах.\n"
-"Задайце −1 Ð´Ð»Ñ Ð°Ð´ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð³Ñтай аÑабліваÑці."
+"Ð§Ð°Ñ Ñ–ÑÐ½Ð°Ð²Ð°Ð½Ð½Ñ Ð²Ñ‹ÐºÑ–Ð½ÑƒÑ‚Ð°Ð¹ Ñ€Ñчы Ñž Ñекундах.\n"
+"Прызначце −1 Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑÐ½Ð½Ñ Ð³Ñтай аÑабліваÑці."
#: src/settings_translation_file.cpp
msgid "Time of day when a new world is started, in millihours (0-23999)."
-msgstr ""
+msgstr "Ð§Ð°Ñ Ð´Ð½Ñ Ð¿Ñ€Ñ‹ запуÑку новага Ñвету Ñž мілігадзінах (0-23999)."
#: src/settings_translation_file.cpp
msgid "Time send interval"
-msgstr "ІнтÑрвал адпраўкі чаÑу"
+msgstr "ІнтÑрвал Ð°Ð´Ð¿Ñ€Ð°ÑžÐ»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу"
#: src/settings_translation_file.cpp
msgid "Time speed"
@@ -6101,8 +6218,7 @@ msgstr "ХуткаÑць чаÑу"
#: src/settings_translation_file.cpp
msgid "Timeout for client to remove unused map data from memory."
-msgstr ""
-"Таймаут Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ…, ÑÐºÑ–Ñ ÑžÐ¶Ð¾ не выкарыÑтоўваюцца, з памÑці кліента."
+msgstr "Таймаут Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð½ÐµÐ²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваемых даных з памÑці кліента."
#: src/settings_translation_file.cpp
msgid ""
@@ -6111,9 +6227,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"
@@ -6124,9 +6241,8 @@ msgid "Tooltip delay"
msgstr "Затрымка падказкі"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Touch screen threshold"
-msgstr "Парог шуму плÑжа"
+msgstr "Парог ÑÑнÑарнага Ñкрана"
#: src/settings_translation_file.cpp
msgid "Trees noise"
@@ -6148,48 +6264,48 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Trusted mods"
-msgstr "Ð”Ð°Ð²ÐµÑ€Ð°Ð½Ñ‹Ñ Ð¼Ð¾Ð´Ñ‹"
+msgstr "Ð”Ð°Ð²ÐµÑ€Ð°Ð½Ñ‹Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ–"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Typical maximum height, above and below midpoint, of floatland mountains."
msgstr ""
-"Ð¢Ñ‹Ð¿Ð¾Ð²Ð°Ñ Ð¼Ð°ÐºÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð²Ñ‹ÑˆÑ‹Ð½Ñ, вышÑй Ñ– ніжÑй ÑÑÑ€ÑднÑй кропкі, Ñ€Ñльефу выÑпаў, "
-"што лÑцÑць."
+"Ð¢Ñ‹Ð¿Ð¾Ð²Ð°Ñ Ð¼Ð°ÐºÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð²Ñ‹ÑˆÑ‹Ð½Ñ, вышÑй Ñ– ніжÑй ÑÑÑ€ÑднÑй кропкі гор лÑтучых "
+"аÑтравоў."
#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
-msgstr "URL ÑпіÑу Ñервераў, Ñкі паказваецца ва ўкладцы ÑумеÑнай гульні."
+msgstr "URL ÑпіÑа Ñервераў, Ñкі паказваецца ва ўкладцы ÑумеÑнай гульні."
#: src/settings_translation_file.cpp
msgid "Undersampling"
msgstr "СубдыÑкрÑтызацыÑ"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
-"СубдыÑкрÑÑ‚Ñ‹Ð·Ð°Ñ†Ñ‹Ñ Ð¿Ð°Ð´Ð¾Ð±Ð½Ð°Ñ Ð½Ð° выкарыÑтанне нізкага Ñ€Ð°Ð·Ñ€Ð¾Ð·Ð½ÐµÐ½Ð½Ñ Ñкрана,\n"
-"але Ñна прымÑнÑецца толькі да гульнÑвога Ñвету, пакідаючы інтÑÑ€Ñ„ÐµÐ¹Ñ Ð½Ðµ "
-"кранутым.\n"
-"Яна павінна даць значнае павелічÑнне працаздольнаÑці за кошт менш дÑталёвай "
-"выÑвы."
+"СубдыÑкрÑÑ‚Ñ‹Ð·Ð°Ñ†Ñ‹Ñ Ð¿Ð°Ð´Ð¾Ð±Ð½Ð°Ñ Ð½Ð° выкарыÑтанне нізкай раздзÑлÑльнай здольнаÑці "
+"Ñкрана,\n"
+"але ўжываецца толькі да гульнÑвога Ñвету, не кранаючы інтÑрфейÑ.\n"
+"ГÑта значна павÑлічыць працаздольнаÑць за кошт вываду менш падрабÑзнай выÑвы."
#: src/settings_translation_file.cpp
msgid "Unlimited player transfer distance"
-msgstr "ÐÐµÐ°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ð°Ñ Ð´Ñ‹ÑÑ‚Ð°Ð½Ñ†Ñ‹Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ дадзеных гульца"
+msgstr "ÐÐµÐ°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ð°Ñ Ð´Ñ‹ÑÑ‚Ð°Ð½Ñ†Ñ‹Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ даных гульца"
#: src/settings_translation_file.cpp
msgid "Unload unused server data"
-msgstr "Выгрузіць Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ñервера, ÑÐºÑ–Ñ Ð½Ðµ выкарыÑтоўваюцца"
+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."
@@ -6202,7 +6318,7 @@ msgstr "ВыкарыÑтоўваць анімацыю аблокаў Ð´Ð»Ñ Ñ„Ð¾
#: src/settings_translation_file.cpp
msgid "Use anisotropic filtering when viewing at textures from an angle."
msgstr ""
-"ВыкарыÑтоўваць анізатропную фільтрацыю пры поглÑдзе на Ñ‚ÑкÑтуру пад вуглом."
+"ВыкарыÑтоўваць анізатропную фільтрацыю пры праглÑдзе Ñ‚ÑкÑтуры пад вуглом."
#: src/settings_translation_file.cpp
msgid "Use bilinear filtering when scaling textures."
@@ -6214,6 +6330,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."
@@ -6224,29 +6344,24 @@ msgid "VBO"
msgstr "VBO"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "VSync"
msgstr "Ð’ÐµÑ€Ñ‚Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ ÑінхранізацыÑ"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley depth"
-msgstr "Узровень даліны"
+msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð´Ð°Ð»Ñ–Ð½"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley fill"
-msgstr "Заліўка даліны"
+msgstr "Запаўненне далін"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley profile"
msgstr "Профіль даліны"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley slope"
-msgstr "Схіл даліны"
+msgstr "Схіл далін"
#: src/settings_translation_file.cpp
msgid "Variation of biome filler depth."
@@ -6255,12 +6370,12 @@ 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 "Variation of maximum mountain height (in nodes)."
-msgstr "ВарыÑÑ†Ñ‹Ñ Ð¼Ð°ÐºÑімальнай вышыні гор (у вузлах)."
+msgstr "ВарыÑÑ†Ñ‹Ñ Ð¼Ð°ÐºÑімальнай вышыні гор (у блоках)."
#: src/settings_translation_file.cpp
msgid "Variation of number of caves."
@@ -6276,19 +6391,23 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Varies depth of biome surface nodes."
-msgstr "Вар'іруе глыбіню паверхневых вузлоў біёму."
+msgstr "ЗмÑнÑе глыбіню паверхневых блокаў біёму."
#: src/settings_translation_file.cpp
msgid ""
"Varies roughness of terrain.\n"
"Defines the 'persistence' value for terrain_base and terrain_alt noises."
msgstr ""
-"Вар'іруе нÑроўнаÑць Ñ€Ñльефу.\n"
+"ЗмÑнÑе нÑроўнаÑць Ñ€Ñльефу.\n"
"Вызначае значÑнне «persistence» Ð´Ð»Ñ ÑˆÑƒÐ¼Ð¾Ñž terrain_base Ñ– terrain_alt."
#: src/settings_translation_file.cpp
msgid "Varies steepness of cliffs."
-msgstr "Кіруе крутаÑцю Ñкал."
+msgstr "Кіруе крутаÑцю гор."
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
@@ -6304,34 +6423,33 @@ msgstr "КаÑфіцыент ÐºÐ°Ð»Ñ‹Ñ…Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð³Ð»Ñду"
#: src/settings_translation_file.cpp
msgid "View distance in nodes."
-msgstr "ДыÑÑ‚Ð°Ð½Ñ†Ñ‹Ñ Ð¿Ñ€Ð°Ð³Ð»Ñду Ñž вузлах."
+msgstr "ДыÑÑ‚Ð°Ð½Ñ†Ñ‹Ñ Ð±Ð°Ñ‡Ð½Ð°Ñці Ñž блоках."
#: src/settings_translation_file.cpp
msgid "View range decrease key"
-msgstr "Клавіша памÑншÑÐ½Ð½Ñ Ð´Ñ‹Ñпазону праглÑду"
+msgstr "Клавіша памÑншÑÐ½Ð½Ñ Ð´Ñ‹Ñпазону бачнаÑці"
#: src/settings_translation_file.cpp
msgid "View range increase key"
-msgstr "Клавіша павелічÑÐ½Ð½Ñ Ð´Ñ‹Ñпазону праглÑду"
+msgstr "Клавіша павелічÑÐ½Ð½Ñ Ð´Ñ‹Ñпазону бачнаÑці"
#: src/settings_translation_file.cpp
msgid "View zoom key"
-msgstr "Кнопка прыбліжннÑ"
+msgstr "Клавіша прыбліжÑннÑ"
#: src/settings_translation_file.cpp
msgid "Viewing range"
-msgstr "ДыÑпазон праглÑду"
+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"
@@ -6341,14 +6459,23 @@ msgid ""
msgstr ""
"Каардыната W згенераванай 3D-чаÑткі 4D-фрактала.\n"
"Вызначае, ÑÐºÐ°Ñ 3D-чаÑтка 4D-формы згенеруецца.\n"
-"Ðе дае Ñфекту Ð´Ð»Ñ 3D-фракталаў.\n"
+"ЗмÑнÑе форму фрактала.\n"
+"Ðе ўплывае на 3D-фракталы.\n"
"ДыÑпазон прыкладна ад −2 да 2."
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr "Узровень вады"
@@ -6358,31 +6485,34 @@ msgstr "Узровень воднай паверхні Ñвету."
#: src/settings_translation_file.cpp
msgid "Waving Nodes"
-msgstr "Ð”Ñ€Ñ‹Ð³Ð¾Ñ‚ÐºÑ–Ñ Ð²ÑƒÐ·Ð»Ñ‹"
+msgstr "Калыханне блокаў"
#: src/settings_translation_file.cpp
msgid "Waving leaves"
-msgstr "Дрыготкае ліÑце"
+msgstr "Калыханне ліÑцÑ"
#: src/settings_translation_file.cpp
msgid "Waving plants"
-msgstr "Ð”Ñ€Ñ‹Ð³Ð¾Ñ‚ÐºÑ–Ñ Ñ€Ð°Ñліны"
+msgstr "Калыханне раÑлін"
#: src/settings_translation_file.cpp
msgid "Waving water"
msgstr "ХвалÑванне вады"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr "Ð’Ñ‹ÑˆÑ‹Ð½Ñ Ñ…Ð²Ð°Ð»Ñ– вады"
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Ð’Ñ‹ÑˆÑ‹Ð½Ñ Ð²Ð¾Ð´Ð½Ñ‹Ñ… хвалÑÑž"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Ð”Ð°ÑžÐ¶Ñ‹Ð½Ñ Ñ…Ð²Ð°Ð»Ñ– вады"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "ХуткаÑць водных хвалÑÑž"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "ХуткаÑць хвалі вады"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Ð”Ð°ÑžÐ¶Ñ‹Ð½Ñ Ð²Ð¾Ð´Ð½Ñ‹Ñ… хвалÑÑž"
#: src/settings_translation_file.cpp
msgid ""
@@ -6391,7 +6521,7 @@ msgid ""
"to hardware (e.g. render-to-texture for nodes in inventory)."
msgstr ""
"Пры ўключÑнні gui_scaling_filter уÑе выÑвы графічнага інтÑрфейÑу павінны "
-"быць адфільтраваны праграмна, але Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð²Ñ‹Ñвы генеруюцца Ñž апаратуры "
+"быць Ð°Ð´Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ð²Ð°Ð½Ñ‹Ñ Ð¿Ñ€Ð°Ð³Ñ€Ð°Ð¼Ð½Ð°, але Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð²Ñ‹Ñвы генеруюцца апаратна "
"(напрыклад, Ñ€ÑндÑрынг у Ñ‚ÑкÑтуру Ð´Ð»Ñ Ñлементаў інвентару)."
#: src/settings_translation_file.cpp
@@ -6402,12 +6532,11 @@ msgid ""
"properly support downloading textures back from hardware."
msgstr ""
"Калі gui_scaling_filter_txr2img уключаны, ÑкапіÑваць гÑÑ‚Ñ‹Ñ Ð²Ñ‹Ñвы з апаратуры "
-"Ñž праграмнае аÑÑроддзе Ð´Ð»Ñ Ð¼Ð°ÑˆÑ‚Ð°Ð±Ð°Ð²Ð°Ð½Ð½Ñ. Калі не, то адÑтупіць да Ñтарога "
+"Ñž праграмнае аÑÑроддзе Ð´Ð»Ñ Ð¼Ð°ÑˆÑ‚Ð°Ð±Ð°Ð²Ð°Ð½Ð½Ñ. Калі не, то вÑрнуцца да Ñтарога "
"метаду Ð¼Ð°ÑˆÑ‚Ð°Ð±Ð°Ð²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ð²Ñ–Ð´Ñадрайвераў, ÑÐºÑ–Ñ Ð½Ðµ падтрымліваюць перадачу "
"Ñ‚ÑкÑтур з апаратуры назад."
#: 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"
@@ -6420,39 +6549,36 @@ msgid ""
"texture autoscaling."
msgstr ""
"Пры выкарыÑтанні білінейнага, трылінейнага або анізатропнага фільтра,\n"
-"Ñ‚ÑкÑтуры малога памеры могуць быць раÑплывіÑтыÑ, таму адбываецца\n"
+"Ñ‚ÑкÑтуры малога памеру могуць быць раÑплывіÑтыÑ, таму адбываецца\n"
"аўтаматычнае маштабаванне Ñ–Ñ… з інтÑрпалÑцыÑй па бліжÑйшым ÑуÑедзÑм,\n"
"каб захаваць Ð²Ñ‹Ñ€Ð°Ð·Ð½Ñ‹Ñ Ð¿Ñ–ÐºÑелі.\n"
-"ГÑÑ‚Ð°Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ задае мінімальны памер Ð´Ð»Ñ Ð¿Ð°Ð²Ñлічаных Ñ‚ÑкÑтур.\n"
+"ГÑты параметр вызначае мінімальны памер Ð´Ð»Ñ Ð¿Ð°Ð²Ñлічаных Ñ‚ÑкÑтур.\n"
"Пры выÑокіх значÑннÑÑ… выглÑдае больш выразна, але патрабуе больш памÑці.\n"
-"РÑкамендуюцца выкарыÑтоўваць Ñтупені 2.\n"
-"Заданне гÑтага параметру вышÑй за 1 можа не мець бачнага Ñфекту,\n"
-"калі не ўключана білінейнаÑ, Ñ‚Ñ€Ñ‹Ð»Ñ–Ð½ÐµÐ¹Ð½Ð°Ñ Ð°Ð±Ð¾ Ð°Ð½Ñ–Ð·Ð°Ñ‚Ñ€Ð¾Ð¿Ð½Ð°Ñ Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ñ‹Ñ."
+"РÑкамендаванае значÑнне - 2.\n"
+"ЗначÑнне гÑтага параметру вышÑй за 1 можа не мець бачнага Ñфекту,\n"
+"калі не ÑžÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ Ð±Ñ–Ð»Ñ–Ð½ÐµÐ¹Ð½Ð°Ñ, Ñ‚Ñ€Ñ‹Ð»Ñ–Ð½ÐµÐ¹Ð½Ð°Ñ Ð°Ð±Ð¾ Ð°Ð½Ñ–Ð·Ð°Ñ‚Ñ€Ð¾Ð¿Ð½Ð°Ñ Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ñ‹Ñ.\n"
+"ТакÑама выкарыÑтоўваецца Ñк памер Ñ‚ÑкÑтуры базавага блока длÑ\n"
+"ÑуÑветнага аўтамаÑÑˆÑ‚Ð°Ð±Ð°Ð²Ð°Ð½Ð½Ñ Ñ‚ÑкÑтур."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Whether FreeType fonts are used, requires FreeType support to be compiled in."
msgstr ""
-"Ці выкарыÑтоўваюцца шрыфты FreeType. Патрабуе ÑкампілÑванай падтрымкі "
-"FreeType."
-
-#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
+"ВыкарыÑтанне шрыфтоў FreeType. Падтрымка FreeType муÑіць быць ÑƒÐºÐ»ÑŽÑ‡Ð°Ð½Ð°Ñ "
+"Ð¿Ð°Ð´Ñ‡Ð°Ñ ÐºÐ°Ð¼Ð¿Ñ–Ð»Ñцыі."
#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
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 ""
-"Ці паказваюцца гульцы кліентам без Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ð½Ñ Ð´Ð°Ð»Ñ‘ÐºÐ°Ñці.\n"
-"СаÑтарÑлы, выкарыÑтоўвайце параметр «player_transfer_distance» змеÑÑ‚."
+"Ці паказваюцца гульцы кліентам без Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ð½Ñ Ð´Ñ‹Ñтанцыі бачнаÑці.\n"
+"СаÑтарÑла, выкарыÑтоўвайце параметр «player_transfer_distance»."
#: src/settings_translation_file.cpp
msgid "Whether to allow players to damage and kill each other."
@@ -6463,27 +6589,25 @@ 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 ""
-"Ці Ñпытаць кліентаў аб перазлучÑнні паÑÐ»Ñ Ð¿Ð°Ð´Ð·ÐµÐ½Ð½Ñ (Lua).\n"
-"УÑталюйце гÑта, калі ваш Ñервер наÑтроены на аўтаматычны перазапуÑк."
+"Ці пытацца кліентаў аб перазлучÑнні паÑÐ»Ñ ÐºÑ€ÑƒÑˆÑÐ½Ð½Ñ (Lua).\n"
+"Вызначце, калі ваш Ñервер наладжаны на аўтаматычны перазапуÑк."
#: src/settings_translation_file.cpp
msgid "Whether to fog out the end of the visible area."
-msgstr "Ці затуманены канец зоны бачнаÑці."
+msgstr "Ці размÑшчаць туманы па-за зонай бачнаÑці."
#: src/settings_translation_file.cpp
msgid ""
"Whether to show the client debug info (has the same effect as hitting F5)."
-msgstr ""
-"Ці паказаць Ñ–Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ Ð°Ð´Ð»Ð°Ð´ÐºÑ– кліента (так ж Ñфект, што Ñ– націÑканне F5)."
+msgstr "Паказваць адладачную інфармацыю (тое ж, што і F5)."
#: src/settings_translation_file.cpp
msgid "Width component of the initial window size."
-msgstr "Кампанента шырыні пачатковага памеру вакна."
+msgstr "Ð¨Ñ‹Ñ€Ñ‹Ð½Ñ ÐºÐ°Ð¼Ð¿Ð°Ð½ÐµÐ½Ñ‚Ð° пачатковага памеру акна."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Width of the selection box lines around nodes."
-msgstr "Ð¨Ñ‹Ñ€Ñ‹Ð½Ñ Ð»Ñ–Ð½Ñ–Ð¹ воблаÑці выбару вакол вузлоў."
+msgstr "Ð¨Ñ‹Ñ€Ñ‹Ð½Ñ Ð¼ÐµÐ¶Ð°Ñž вылучÑÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÐ°Ñž."
#: src/settings_translation_file.cpp
msgid ""
@@ -6491,9 +6615,9 @@ msgid ""
"background.\n"
"Contains the same information as the file debug.txt (default name)."
msgstr ""
-"Толькі Ð´Ð»Ñ Windows-ÑÑ–ÑÑ‚Ñм: запуÑкае Minetest з акном каманднага радка Ñž "
+"Толькі Ð´Ð»Ñ Windows-ÑÑ–ÑÑ‚Ñм: запуÑкае Minetest з акном загаднага радка Ñž "
"фоне.\n"
-"ЗмÑшчае тую ж інфармацыю, што Ñ– файл debug.txt (Ð°Ð³Ð°Ð´Ð°Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð°)."
+"ЗмÑшчае тую ж інфармацыю, што Ñ– файл debug.txt (Ð¿Ñ€Ð°Ð´Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð°)."
#: src/settings_translation_file.cpp
msgid ""
@@ -6504,9 +6628,8 @@ msgstr ""
"Ðе патрабуецца, калі запуÑкаецца з галоўнага меню."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "World start time"
-msgstr "Ðазва Ñвету"
+msgstr "Пачатковы Ñ‡Ð°Ñ Ñвету"
#: src/settings_translation_file.cpp
msgid ""
@@ -6517,34 +6640,37 @@ msgid ""
"See also texture_min_size.\n"
"Warning: This option is EXPERIMENTAL!"
msgstr ""
+"Ð’Ñ‹Ñ€Ð°ÑžÐ½Ð°Ð²Ð°Ð½Ñ‹Ñ Ð¿Ð° Ñвеце Ñ‚ÑкÑтуры можна маштабаваць так, каб Ñны ахоплівалі "
+"некалькі блокаў. Ðле Ñервер можа не адправіць патрÑбны\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."
-msgstr "Каардыната Y плоÑкай зÑмлі."
+msgstr "Каардыната Y плоÑкай паверхні."
#: src/settings_translation_file.cpp
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 верхнÑй мÑжы шырокіх пÑеўдавыпадковых пÑчор."
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "Каардыната Y верхнÑй мÑжы шырокіх пÑеўдавыпадковых пÑчор."
+msgstr "Y верхнÑга ліміту шырокіх пÑчор."
#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
-msgstr "Y-адлеглаÑць, на Ñкой грот пашырыцца да поўнага памеру."
+msgstr "Y-адлеглаÑць, на Ñкой пÑчора пашырыцца да поўнага памеру."
#: src/settings_translation_file.cpp
msgid "Y-level of average terrain surface."
@@ -6552,21 +6678,19 @@ msgstr "Y-узровень ÑÑÑ€ÑднÑй паверхні Ñ€Ñльефу."
#: src/settings_translation_file.cpp
msgid "Y-level of cavern upper limit."
-msgstr "Y-узровень верхнÑй мÑжы гроту."
+msgstr "Y-узровень верхнÑга ліміту пÑчоры."
#: src/settings_translation_file.cpp
msgid "Y-level of floatland midpoint and lake surface."
-msgstr "Y-узровень ÑÑÑ€ÑднÑй кропкі Ñ– паверхні азёр выÑпаў, што лÑцÑць."
+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."
@@ -6574,638 +6698,73 @@ msgstr "Y-узровень марÑкога дна."
#: src/settings_translation_file.cpp
msgid "Y-level to which floatland shadows extend."
-msgstr "Y-узровень, да Ñкога раÑпаўÑюджваюцца цені выÑпаў, што лÑцÑць."
+msgstr "Y-узровень, да Ñкога раÑпаўÑюджваюцца цені лÑтучых аÑтравоў."
#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
-msgstr "Таймаут Ñпампоўкі файла"
+msgstr "Таймаўт ÑÐ¿Ð°Ð¼Ð¿Ð¾ÑžÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° па cURL"
#: src/settings_translation_file.cpp
msgid "cURL parallel limit"
-msgstr "Граніца паралельнаÑці cURL"
+msgstr "Ліміт адначаÑовых злучÑннÑÑž cURL"
#: src/settings_translation_file.cpp
msgid "cURL timeout"
-msgstr "Таймаут cURL"
-
-#~ msgid "View"
-#~ msgstr "ПраглÑд"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "ÐŸÐ°ÑˆÑ‹Ñ€Ð°Ð½Ñ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹"
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Дзе генератар мапы ÑпынÑецца.\n"
-#~ "Майце на ўвазе:\n"
-#~ "- Ðбмежаваны 31000 (уÑтаноўка вышÑй не мае ніÑкага Ñфекту).\n"
-#~ "- Генератар мапы працуе групамі па 80x80x80 вузлоў (5x5x5 блокаў "
-#~ "мапы).\n"
-#~ "- ГÑÑ‚Ñ‹Ñ Ð³Ñ€ÑƒÐ¿Ñ‹ маюць зрух -32, -32 вузлоў ад пачатку.\n"
-#~ "- Генеруюцца толькі групы, ÑÐºÑ–Ñ Ð·Ð½Ð°Ñ…Ð¾Ð´Ð·Ñцца Ñž межах "
-#~ "map_generation_limit."
-
-#~ msgid ""
-#~ "Noise parameters for biome API temperature, humidity and biome blend."
-#~ msgstr "Ð¨ÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ð´Ð»Ñ Ñ‚Ñмпературы, вільготнаÑці Ñ– змÑшÑÐ½Ð½Ñ Ð±Ñ–Ñ‘Ð¼Ñƒ."
-
-#~ msgid "Mapgen v7 terrain persistation noise parameters"
-#~ msgstr "Генератар мапы 7: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ ÑžÑтойліваÑці мÑÑцоваÑці"
-
-#~ msgid "Mapgen v7 terrain base noise parameters"
-#~ msgstr "Генератар мапы 7: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ аÑноўнай мÑÑцоваÑці"
-
-#~ msgid "Mapgen v7 terrain altitude noise parameters"
-#~ msgstr "Генератар мапы 7: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ вышыні мÑÑцоваÑці"
-
-#~ msgid "Mapgen v7 ridge water noise parameters"
-#~ msgstr "Генератар мапы 7: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ водных хрыбтоў"
-
-#~ msgid "Mapgen v7 ridge noise parameters"
-#~ msgstr "Генератар мапы 7: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ хрыбтоў"
-
-#~ msgid "Mapgen v7 mountain noise parameters"
-#~ msgstr "Генератар мапы 7: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ гор"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Генератар мапы 7: выÑокаÑÐµÐ»ÐµÐºÑ‚Ñ‹ÑžÐ½Ñ‹Ñ ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr "Генератар мапы 7: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ глыбіні запаўнÑльніка"
-
-#~ msgid "Mapgen v7 cave2 noise parameters"
-#~ msgstr "Генератар мапы 7: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ пÑчоры2"
-
-#~ msgid "Mapgen v7 cave1 noise parameters"
-#~ msgstr "Генератар мапы 7: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ пÑчоры1"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Генератар мапы 7: ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ñчор"
-
-#~ msgid "Mapgen v6 trees noise parameters"
-#~ msgstr "Генератар мапы 6: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ дрÑÑž"
-
-#~ msgid "Mapgen v6 terrain base noise parameters"
-#~ msgstr "Генератар мапы 6: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ аÑноўнай мÑÑцоваÑці"
-
-#~ msgid "Mapgen v6 terrain altitude noise parameters"
-#~ msgstr "Генератар мапы 6: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ вышыні мÑÑцоваÑці"
-
-#~ msgid "Mapgen v6 steepness noise parameters"
-#~ msgstr "Генератар мапы 6: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ крутаÑці"
-
-#~ msgid "Mapgen v6 mud noise parameters"
-#~ msgstr "Генератар мапы 6: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ бруду"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Генератар мапы 6: чаÑтата пуÑтыні"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Генератар мапы 6: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ пÑчоры"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Генератар мапы 6: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ біёму"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Генератар мапы 6: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ плÑжу"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Генератар мапы 6: чаÑтата плÑжу"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Генератар мапы 6: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ñблынь"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Генератар мапы 5: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ вышыні"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr "Генератар мапы 5: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ глыбіні запаўнÑльніка"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Генератар мапы 5: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ каÑфіцыента"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "Генератар мапы 5: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ пÑчоры2"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "Генератар мапы 5: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ пÑчоры1"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Генератар мапы 5: ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ñчор"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Генератар фрактальнай мапы: плоÑкаÑць W"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Генератар фрактальнай мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ марÑкога дна"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Генератар фрактальнай мапы: маштаб"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Генератар фрактальнай мапы: зрух"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Генератар фрактальнай мапы: Ð–ÑƒÐ»Ñ–Ñ Z"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Генератар фрактальнай мапы: Ð–ÑƒÐ»Ñ–Ñ Y"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "Генератар фрактальнай мапы: Ð–ÑƒÐ»Ñ–Ñ X"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "Генератар фрактальнай мапы: Ð–ÑƒÐ»Ñ–Ñ W"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Генератар фрактальнай мапы: Ñ–Ñ‚Ñрацыі"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Генератар фрактальнай мапы: фрактал"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr "Генератар фрактальнай мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ глыбіні запаўнÑльніка"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Генератар фрактальнай мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ пÑчоры2"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Генератар фрактальнай мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ пÑчоры1"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Генератар фрактальнай мапы: ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ñчор"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Генератар плоÑкай мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ мÑÑцоваÑці"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Генератар плоÑкай мапы: Ð³Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð²Ñлікай пÑчоры"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr "Генератар плоÑкай мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ глыбіні запаўнÑльніка"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "Генератар плоÑкай мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ пÑчоры2"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "Генератар плоÑкай мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ пÑчоры1"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Генератар плоÑкай мапы: ÑˆÑ‹Ñ€Ñ‹Ð½Ñ Ð¿Ñчоры"
-
-#~ msgid "Mapgen biome humidity noise parameters"
-#~ msgstr "Генератар мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ вільготнаÑці біёма"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Генератар мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ змÑшÑÐ½Ð½Ñ Ð²Ñ–Ð»ÑŒÐ³Ð¾Ñ‚Ð½Ð°Ñці біёма"
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Генератар мапы: ÑˆÑƒÐ¼Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ цеплыні біёму"
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Вызначае форму мÑÑцоваÑці.\n"
-#~ "Тры лікі Ñž дужках кантралююць маштаб Ñ€Ñльефу Ñ– павінны быць аднолькавымі."
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Кіруе памерам пуÑтынь Ñ– плÑжаў у генератары мапаў 6.\n"
-#~ "Калі параметр «snowbiomes» уключаны, то «mgv6_freq_desert» ігнаруецца."
-
-#~ msgid "Plus"
-#~ msgstr "ПлюÑ"
-
-#~ msgid "Period"
-#~ msgstr "ПерыÑд"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Minus"
-#~ msgstr "МінуÑ"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Kana"
-#~ msgstr "Кана"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Final"
-#~ msgstr "Канец"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "Comma"
-#~ msgstr "КоÑка"
-
-#~ msgid "Capital"
-#~ msgstr "Caps Lock"
-
-#~ msgid "Attn"
-#~ msgstr "Увага"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Схаваць змеÑÑ‚ пакета модаў"
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Y-узровень вышÑйшага (на вÑршыні Ñкалы) Ñ€Ñльефу."
+msgstr "Таймаўт cURL"
#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
+#~ "If enabled together with fly mode, makes move directions relative to the "
+#~ "player's pitch."
#~ msgstr ""
-#~ "Ці падтрымліваць ÑÑ‚Ð°Ñ€Ñ‹Ñ Ñерверы з пратаколам да 25.\n"
-#~ "Уключыце, калі хочаце злучыцца з Ñерверамі 0.4.12 Ñ– ÑтарÑй.\n"
-#~ "Серверы пачынаючы з 0.4.13 будуць працаваць, Ñерверы 0.4.12-dev магчыма "
-#~ "будуць.\n"
-#~ "ÐдключÑнне гÑтага лепш абароніць ваш пароль."
-
-#~ msgid "Water Features"
-#~ msgstr "ÐÑабліваÑці вады"
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Параметры даліны"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "ВыкарыÑтоўвае MIP-Ñ‚ÑкÑтураванне Ð´Ð»Ñ Ð¼Ð°ÑˆÑ‚Ð°Ð±Ð°Ð²Ð°Ð½Ð½Ñ Ñ‚ÑкÑтур. Можа трохі "
-#~ "павÑлічыць прадукцыйнаÑць."
-
-#~ msgid "Use key"
-#~ msgstr "Клавіша ўжываннÑ"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Драйвер Ñ€ÑндÑрынга Ð´Ð»Ñ Irrlicht."
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "ВышынÑ, пры Ñкой Ñ‚Ñмпература паніжаецца на 20 °C"
+#~ "Калі ўключана адначаÑова з Ñ€Ñжымам палёту, то вызначае напрамак руху "
+#~ "адноÑна кроку гульца."
-#~ msgid "Support older servers"
-#~ msgstr "Падтрымка Ñтарых Ñервераў"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Памер кавалка, Ñкі будзе згенераваны за раз, зададзены у блоках мапы (16 "
-#~ "вузлоў)."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Шум ракі. РÑкі размешчаны блізка да нулÑ"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Ðазва генератара мапы, Ñкі будзе выкарыÑтоўвацца пры ÑтварÑнні новага "
-#~ "Ñвету.\n"
-#~ "ГÑта можна пераазначыць пры ÑтварÑнні Ñвету Ñž галоўным меню."
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "URL ÑпіÑу модаў Ñž краме"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "URL Ñпампоўкі модаў Ñž краме"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "URL дÑталізацыі модаў Ñž краме"
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "МакÑімум адначаÑовай адпраўкі блокаў у цÑлым"
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr ""
-#~ "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць блокаў, ÑÐºÑ–Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ адпраўлены адначаÑова, на "
-#~ "аднаго кліента."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr ""
-#~ "МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць блокаў, ÑÐºÑ–Ñ Ð¼Ð¾Ð³ÑƒÑ†ÑŒ адпраўлены адначаÑова, у цÑлым."
-
-#~ msgid "Massive caves form here."
-#~ msgstr "МаÑÑ–ÑžÐ½Ñ‹Ñ Ð¿Ñчоры ўтвараюцца тут."
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Шум маÑіўнай пÑчоры"
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Ð“Ð»Ñ‹Ð±Ñ–Ð½Ñ Ð¼Ð°Ñіўнай пÑчоры"
+#~ msgid "Projecting dungeons"
+#~ msgstr "Праектаванне падзÑмеллÑÑž"
#~ msgid ""
#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
+#~ "'ridges' enables the rivers.\n"
+#~ "Flags that are not enabled are not modified from the default.\n"
#~ "Flags starting with 'no' are used to explicitly disable them."
#~ msgstr ""
-#~ "ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° мапы 7.\n"
-#~ "Параметр «ridges» (грÑбені) уключае Ñ€Ñкі.\n"
-#~ "Ð’Ñ‹Ñпы, што лÑцÑць, ÑкÑÐ¿ÐµÑ€Ñ‹Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñž цÑперашні Ñ‡Ð°Ñ Ñ– могуць змÑніцца.\n"
-#~ "Параметры, ÑÐºÑ–Ñ Ð½Ðµ пазначаны Ñž радку, не адрозніваюцца ад агаданых "
-#~ "значÑннÑÑž.\n"
-#~ "Параметры, ÑÐºÑ–Ñ Ð¿Ð°Ñ‡Ñ‹Ð½Ð°ÑŽÑ†Ñ†Ð° з «no», выкарыÑтоўваюцца Ð´Ð»Ñ Ñўнага адключÑннÑ."
+#~ "Ðтрыбуты генерацыі мапы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° мапы 7.\n"
+#~ "Параметр \"ridges\" (хрыбты) ўключае Ñ€Ñкі.\n"
+#~ "ÐÑÐ²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ прадвызначана не змÑнÑюцца.\n"
+#~ "Параметры, што пачынаюцца з \"no\", выкарыÑтоўваюцца Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÑннÑ."
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "ÐдмыÑÐ»Ð¾Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° далін.\n"
-#~ "«altitude_chill» робіць больш выÑÐ¾ÐºÑ–Ñ ÑƒÐ·Ð²Ñ‹ÑˆÑˆÑ‹ больш халоднымі, што можа\n"
-#~ "выклікаць ÑкладанаÑці Ð´Ð»Ñ Ð±Ñ–Ñ‘Ð¼Ñƒ.\n"
-#~ "«humid_rivers» змÑнÑе вільготнаÑць вакол Ñ€Ñк Ñ– Ñž раёнах, дзе вада мае\n"
-#~ "Ñ‚ÑндÑнцыю збірацца, што можа перашкодзіць далікатным біёмам.\n"
-#~ "Параметры, ÑÐºÑ–Ñ Ð½Ðµ пазначаны Ñž радку, не адрозніваюцца ад агаданых "
-#~ "значÑннÑÑž.\n"
-#~ "Параметры, ÑÐºÑ–Ñ Ð¿Ð°Ñ‡Ñ‹Ð½Ð°ÑŽÑ†Ñ†Ð° з «no», выкарыÑтоўваюцца Ð´Ð»Ñ Ñўнага адключÑннÑ."
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "Ð’Ñ‹Ñтуп падзÑмеллÑÑž па-над Ñ€Ñльефам."
-#~ msgid "Main menu mod manager"
-#~ msgstr "Менеджар модаў у галоўным меню"
+#~ msgid "Waving Water"
+#~ msgstr "ХвалÑванне вады"
-#~ msgid "Main menu game manager"
-#~ msgstr "Менеджар гульнÑÑž у галоўным меню"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Y верхнÑга ліміту лавы Ñž шырокіх пÑчорах."
-#~ msgid "Lava Features"
-#~ msgstr "ÐÑабліваÑці лавы"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Клавіша Ð´Ð»Ñ Ð´Ñ€ÑƒÐºÐ°Ð²Ð°Ð½Ð½Ñ ÑÑ‚Ñкаў адладкі. ВыкарыÑтоўваецца Ð´Ð»Ñ Ñ€Ð°Ñпрацоўкі.\n"
-#~ "ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Клавіша Ð´Ð»Ñ Ð°Ð´ÐºÑ€Ñ‹Ñ†Ñ†Ñ ÐºÐ°Ð½Ñолі чату.\n"
-#~ "ГлÑдзі http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
+#~ msgid "Select Package File:"
+#~ msgstr "Ðбраць файл пакунка:"
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "ІтÑрацыі Ñ€ÑкурÑіўнай функцыі.\n"
-#~ "Кантралюе колькаÑць дробных дÑталÑÑž."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Хак Ð´Ð»Ñ Ð²Ñ‹ÑÑž інвентару"
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "Калі ўключанае, паказаць паведамленне Ñтану Ñервера Ð´Ð»Ñ Ð³ÑƒÐ»ÑŒÑ†Ð¾Ñž, ÑÐºÑ–Ñ "
-#~ "падлучаюцца."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Ðаколькі вÑÐ»Ñ–ÐºÐ°Ñ Ð¿Ð»Ð¾ÑˆÑ‡Ð° блокаў, ÑÐºÐ°Ñ Ð¿Ð°Ð´Ð»Ñгае актыўнаму ўздзеÑнню,\n"
-#~ "Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ñ Ñž блоках мапы (16 вузлоў).\n"
-#~ "Ð”Ð»Ñ Ð°ÐºÑ‚Ñ‹ÑžÐ½Ñ‹Ñ… блокаў загружаюцца аб'екты Ñ– запуÑкаюцца ABM'Ñ‹."
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "ВышынÑ, на Ñкой з'ÑўлÑюцца аблокі."
-
-#~ msgid "General"
-#~ msgstr "ÐÑноўныÑ"
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Як далёка кліент даведваецца аб аб'ектах. Задаецца ў блоках мапы (16 "
-#~ "вузлоў)."
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Поле зроку пры павелічÑнні Ñž градуÑах.\n"
-#~ "Ðеабходна Ð¿Ñ€Ñ‹Ð²Ñ–Ð»ÐµÑ Â«zoom» на Ñерверы."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Поле зроку пры павелічÑнні"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Уключае калыханне пра хадзьбе."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Уключыць калыханне праглÑду"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Ðдключыць escape-паÑлÑдоўнаÑці, напрыклад, размалёўку чату.\n"
-#~ "ВыкарыÑтоўвайце гÑта, калі вы хочаце запуÑціць Ñервер з pre-0.4.14 "
-#~ "кліентамі Ñ– калі вы хочаце адключыць escape-паÑлÑдоўнаÑці, ÑÐºÑ–Ñ "
-#~ "генеруюцца модамі."
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Ðдключыць escape-паÑлÑдоўнаÑці"
-
-#~ msgid "Descending speed"
-#~ msgstr "ХуткаÑць апуÑканнÑ"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "ГлыбінÑ, ніжÑй Ñкой вы знойдзеце маÑÑ–ÑžÐ½Ñ‹Ñ Ð¿Ñчоры."
-
-#~ msgid "Crouch speed"
-#~ msgstr "ХуткаÑць поўзаннÑ"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Стварае Ð½ÐµÐ¿Ñ€Ð°Ð´ÐºÐ°Ð·Ð°Ð»ÑŒÐ½Ñ‹Ñ Ð¿Ð°Ñ‚Ð¾ÐºÑ– вады Ñž пÑчорах.\n"
-#~ "ГÑта можа зрабіць цÑжкім здабычу карыÑных выкапнÑÑž.\n"
-#~ "Ðуль адключае гÑта. (0–10)"
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Стварае Ð½ÐµÐ¿Ñ€Ð°Ð´ÐºÐ°Ð·Ð°Ð»ÑŒÐ½Ñ‹Ñ Ð¿Ð°Ñ‚Ð¾ÐºÑ– лавы Ñž пÑчорах.\n"
-#~ "ГÑта можа зрабіць цÑжкім здабычу карыÑных выкапнÑÑž.\n"
-#~ "Ðуль адключае гÑта. (0–10)"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "БеÑперапынны рух ўперад (толькі Ð´Ð»Ñ Ñ‚ÑÑтаваннÑ)."
-
-#~ msgid "Console key"
-#~ msgstr "Клавіша канÑолі"
-
-#~ msgid "Cloud height"
-#~ msgstr "Ð’Ñ‹ÑˆÑ‹Ð½Ñ Ð½Ñ–Ð¶Ð½Ñй мÑжы аблокаў"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "ПÑчоры Ñ– тунÑлі ўтвараюцца на Ñкрыжаванні двух шумаў"
-
-#~ msgid "Autorun key"
-#~ msgstr "Клавіша аўтабегу"
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Прыблізны (X,Y,Z) маштаб фракталаў у вузлах."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Калі вы хочаце ананÑаваць Ñвой IPv6 адраÑ, выкарыÑтоўвайце\n"
-#~ "serverlist_url = v6.servers.minetest.net."
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Толькі Ð´Ð»Ñ Ðндроід-ÑÑ–ÑÑ‚Ñм: Спрабуе Ñтварыць Ñ‚ÑкÑтуры інвентара з Ñетак,\n"
-#~ "калі знойдзены візуалізатар, што не падтрымліваецца."
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "ДалёкаÑць дзеÑÐ½Ð½Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ‚Ð°Ñ€Ð° актыўных блокаў"
-
-#~ msgid "Prior"
-#~ msgstr "ПапÑÑ€Ñдні"
-
-#~ msgid "Next"
-#~ msgstr "ÐаÑтупны"
-
-#~ msgid "Use"
-#~ msgstr "Ужыць"
-
-#~ msgid "Print stacks"
-#~ msgstr "Друкаваць ÑÑ‚Ñк"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "ГучнаÑць 100 %"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "ГучнаÑць 0 %"
-
-#~ msgid "No information available"
-#~ msgstr "ÐÑма звеÑтак"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "ТÑкÑтураванне нармалÑмі"
-
-#~ msgid "Play Online"
-#~ msgstr "Граць анлайн"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Выдаліць абраны модпак"
-
-#~ msgid "Local Game"
-#~ msgstr "Ð›Ð°ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ"
-
-#~ msgid "re-Install"
-#~ msgstr "пераўÑталÑваць"
-
-#~ msgid "Unsorted"
-#~ msgstr "Без ÑартаваннÑ"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "ПаÑпÑхова ÑžÑталÑваны:"
-
-#~ msgid "Shortname:"
-#~ msgstr "ÐšÐ°Ñ€Ð¾Ñ‚ÐºÐ°Ñ Ð½Ð°Ð·Ð²Ð°:"
-
-#~ msgid "Rating"
-#~ msgstr "РÑйтынг"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Старонка $1 з $2"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "ПадгульнÑÐ²Ñ‹Ñ Ð¼Ð¾Ð´Ñ‹"
-
-#~ msgid "Select path"
-#~ msgstr "Ðбраць шлÑÑ…"
-
-#~ msgid "Possible values are: "
-#~ msgstr "ÐœÐ°Ð³Ñ‡Ñ‹Ð¼Ñ‹Ñ Ð·Ð½Ð°Ñ‡Ñнні: "
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Калі лаÑка, увÑдзіце ÑÐ¿Ñ–Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ñž, падзеленых коÑкамі."
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "Пры жаданні можа быць дабаўлена лакунарнаÑць праз коÑку."
+#~ msgid "Content Store"
+#~ msgstr "Крама дадаткаў"
#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
+#~ "Map generation attributes specific to Mapgen Carpathian.\n"
+#~ "Flags that are not enabled are not modified from the default.\n"
+#~ "Flags starting with 'no' are used to explicitly disable them."
#~ msgstr ""
-#~ "Фармат: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Фармат: у дужках 3 лікі праз коÑку."
+#~ "Ðтрыбуты генерацыі мапы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° мапы \"Карпаты\".\n"
+#~ "ÐÑÐ²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ñ‹ прадвызначана не змÑнÑюцца.\n"
+#~ "Ðтрыбуты, што пачынаюцца з \"no\", выкарыÑтоўваюцца Ð´Ð»Ñ Ñ–Ñ… выключÑннÑ."
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "«$1» — некарÑктны параметр."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "КінематаграфічнаÑць"
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Дадзены Ñвет без назвы або не абрана гульнÑ"
-
-#~ msgid "Enable MP"
-#~ msgstr "Уключыць МП"
-
-#~ msgid "Disable MP"
-#~ msgstr "Ðдключыць МП"
-
-#, fuzzy
#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
+#~ "Map generation attributes specific to Mapgen v5.\n"
+#~ "Flags that are not enabled are not modified from the default.\n"
+#~ "Flags starting with 'no' are used to explicitly disable them."
#~ msgstr ""
-#~ "КолькаÑць патокаў, ÑÐºÑ–Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваюцца Ð´Ð»Ñ Ð²Ñ‹Ñ‚Ð²Ð¾Ñ€Ñ‡Ð°Ñці.\n"
-#~ "Пакіньце пуÑтым або павÑлічце гÑта значÑнне Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑÑ‚Ð°Ð½Ð½Ñ Ð½ÐµÐºÐ°Ð»ÑŒÐºÑ–Ñ… "
-#~ "патокаў.\n"
-#~ "Ðа мультыпрацÑÑарных ÑÑ–ÑÑ‚Ñмах гÑта значна палепшыць хуткаÑць генерацыі "
-#~ "мапы,\n"
-#~ "але за кошт злёгку памылковых пÑчор."
-
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Закрыць краму"
+#~ "Ðтрыбуты генерацыі мапы Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð°Ñ€Ð° мапы 5.\n"
+#~ "ÐÑÐ²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ñ‹ прадвызначана не змÑнÑюцца.\n"
+#~ "Ðтрыбуты, што пачынаюцца з 'no' выкарыÑтоўваюцца Ð´Ð»Ñ Ñ–Ñ… выключÑннÑ."
diff --git a/po/ca/minetest.po b/po/ca/minetest.po
index 382a5d719..1d6c1015e 100644
--- a/po/ca/minetest.po
+++ b/po/ca/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Catalan (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/minetest/"
"minetest/ca/>\n"
"Language: ca\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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -25,7 +25,7 @@ msgstr "Has mort."
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "S'ha produït un error en un script Lua, com per exemple un mod."
#: builtin/fstk/ui.lua
@@ -127,14 +127,29 @@ msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Dependències opcionals:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No game description provided."
msgstr "Cap descripció del mod disponible"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Sense dependències."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No modpack description provided."
msgstr "Cap descripció del mod disponible"
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Dependències opcionals:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Dependències opcionals:"
@@ -529,11 +544,6 @@ msgstr "Reanomenar"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "Selecciona el fitxer del mod:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "Desinstal·lar el mod seleccionat"
@@ -828,12 +838,13 @@ msgid "Waving Leaves"
msgstr "Moviment de les Fulles"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Moviment de Plantes"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Moviment de les Fulles"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Onatge"
+msgid "Waving Plants"
+msgstr "Moviment de Plantes"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1604,11 +1615,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1732,10 +1743,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Activar Cinematogràfic"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "Activar volar"
@@ -1768,6 +1775,11 @@ msgid "Toggle noclip"
msgstr "Activar noclip"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Activar ràpid"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "Premsa una tecla"
@@ -1884,6 +1896,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "Núvols 3D"
@@ -1914,6 +1930,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1967,6 +1987,10 @@ msgid "Acceleration in air"
msgstr "Acceleració en l'aire"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "Active Block Modifiers"
msgstr "Rang del bloc actiu"
@@ -2192,7 +2216,7 @@ msgstr "Mapat de relleu"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2283,6 +2307,11 @@ msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "Missatge d'error"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2455,6 +2484,10 @@ msgstr ""
"queda inalterat."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Controla el pendent o la profunditat de les depressions de llac."
@@ -2515,6 +2548,11 @@ msgid "Debug info toggle key"
msgstr "Tecla alternativa per a la informació de la depuració"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Nivell de registre de depuració"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Nivell de registre de depuració"
@@ -2523,6 +2561,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Pas de servidor dedicat"
@@ -2607,10 +2649,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2633,6 +2687,12 @@ msgid "Deprecated Lua API handling"
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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "Profunditat davall la qual trobaràs grans coves."
@@ -2654,7 +2714,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2703,6 +2763,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Soroll de cova #1"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -3016,6 +3081,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3248,6 +3320,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3498,6 +3588,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3527,6 +3625,10 @@ msgid "Inc. volume key"
msgstr "Tecla de la consola"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4503,7 +4605,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4577,6 +4679,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4588,7 +4697,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4647,6 +4756,11 @@ msgstr "Generador de mapes plans"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Generador de mapes"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Generador de mapes"
@@ -4732,6 +4846,12 @@ 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 ""
"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)"
@@ -4917,10 +5037,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4936,7 +5054,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4988,16 +5106,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5151,10 +5271,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5239,6 +5355,14 @@ msgid "Rightclick repetition interval"
msgstr "Interval de repetició del click dret"
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -5252,6 +5376,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5560,6 +5688,10 @@ msgid "Sneaking speed"
msgstr "Velocitat d'escalada"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5878,10 +6010,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5985,6 +6118,10 @@ msgid "Varies steepness of cliffs."
msgstr "Controla la pendent i alçada dels turons."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -6034,10 +6171,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -6062,16 +6207,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Onatge"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Moviment de les Fulles"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Onatge"
#: src/settings_translation_file.cpp
msgid ""
@@ -6107,10 +6255,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -6197,10 +6341,6 @@ msgid "Y of upper limit of large caves."
msgstr "Límit absolut de cues emergents"
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -6245,231 +6385,8 @@ msgid "cURL timeout"
msgstr ""
#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Tancar repositori"
-
-#~ msgid "Disable MP"
-#~ msgstr "Desactivar MP"
-
-#~ msgid "Enable MP"
-#~ msgstr "Activar MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "No s'ha donat un nom al món o no s'ha seleccionat ningun"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" no és un indicador vàlid."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr ""
-#~ "El format és 3 números separats per comes i aquests dins de parèntesis."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Format: <offset> <escala> (<extensió X>, <extensió Y> , <extensión Z>), "
-#~ "<llavor>, <octaves>, <persistència>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Opcionalment, el paràmetre \"lacunarity\" pot ser annexat separant "
-#~ "mitjançant una coma."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Si us plau, introduïu una llista d'indicadors separada per comes."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Els possibles valors són: "
-
-#~ msgid "Select path"
-#~ msgstr "Seleccioneu la ruta"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Mods del subjoc"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Pàgina $1 de $2"
-
-#~ msgid "Rating"
-#~ msgstr "Classificació"
-
-#~ msgid "Shortname:"
-#~ msgstr "Nom curt:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Instal·lat amb èxit:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Sense ordenar"
-
-#~ msgid "re-Install"
-#~ msgstr "Reinstal·lar"
-
-#~ msgid "Local Game"
-#~ msgstr "Joc local"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Desinstal·lar el paquet de mods seleccionat"
-
-#~ msgid "Play Online"
-#~ msgstr "Jugar en línia"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Mapping normal."
-
-#~ msgid "No information available"
-#~ msgstr "Sense informació disponible"
-
-#~ msgid "Print stacks"
-#~ msgstr "Imprimir piles"
-
-#~ msgid "Use"
-#~ msgstr "Utilitzar"
-
-#~ msgid "Next"
-#~ msgstr "Següent"
-
-#~ msgid "Prior"
-#~ msgstr "Anterior"
-
-#, fuzzy
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Rang del bloc actiu"
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Anunciar a aquesta llista de servidors.\n"
-#~ "Si vols anunciar el teu direcció ipv6, fes servir serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Aproximar (X, Y, Z) escala del fractal en els nodes."
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Coves i túnels es formen en la intersecció dels dos sorolls"
-
-#~ msgid "Cloud height"
-#~ msgstr "Alçada del núvol"
-
-#~ msgid "Console key"
-#~ msgstr "Tecla de la consola"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Avanç continu (sols utilitzat per a testing)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Crea característiques imprevisibles de la lava en coves.\n"
-#~ "Aquestes poden fer difícil minar. Zero els inhabilita (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Crea característiques imprevisibles de l'aigua en coves.\n"
-#~ "Aquestes poden fer difícil minar. Zero els inhabilita (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Velocitat al ajupir-se"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Profunditat davall la qual podràs trobar coves gegants."
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Camp de visió mentre s'usa el zoom (en graus)\n"
-#~ "Això requereix el privilegi \"zoom\" en el servidor."
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Tecla Inventari"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Menú principal del gestor de mods"
-
-#~ msgid "Use key"
-#~ msgstr "Utilitza la tecla"
-
-#~ msgid "Water Features"
-#~ msgstr "Característiques de l'aigua"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Ocultar contingut MP"
-
-#~ msgid "Attn"
-#~ msgstr "Atentament"
-
-#~ msgid "Capital"
-#~ msgstr "Bloq Maj"
-
-#~ msgid "Comma"
-#~ msgstr "Coma"
-
-#, fuzzy
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Fi"
-
-#, fuzzy
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#, fuzzy
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#, fuzzy
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Menys"
-
-#, fuzzy
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Període"
-
-#~ msgid "Plus"
-#~ msgstr "Més"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Controla la mida dels deserts i platges a Mapgen v6.\n"
-#~ "Quan \"snowbiomes\" estan activats 'mgv6_freq_desert' és ignorat."
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Amplada de les coves del generador de mapes plans"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Generador de mapes"
-
-#~ msgid "No of course not!"
-#~ msgstr "No, per descomptat que no!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Llista de servidors públics"
-
-#~ msgid "No!!!"
-#~ msgstr "No!!!"
+#~ msgid "Select Package File:"
+#~ msgstr "Selecciona el fitxer del mod:"
-#~ msgid "Advanced Settings"
-#~ msgstr "Configuració avançada"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Activar Cinematogràfic"
diff --git a/po/cs/minetest.po b/po/cs/minetest.po
index f81d3c734..599f8015b 100644
--- a/po/cs/minetest.po
+++ b/po/cs/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Czech (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Czech <https://hosted.weblate.org/projects/minetest/minetest/"
"cs/>\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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -25,11 +25,10 @@ msgstr "Zemřel jsi."
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "Nastala chyba v Lua skriptu, což může být např. mod:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Nastala chyba:"
@@ -98,18 +97,16 @@ msgid "Disable all"
msgstr "Vypnout vše"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "Vypnuto"
+msgstr "Zakázat balíÄek modifikací"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "Zapnout vše"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "PÅ™ejmenovat balíÄek modů:"
+msgstr "Povolit balíÄek modifikací"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
@@ -126,14 +123,29 @@ msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Volitelné závislosti:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No game description provided."
msgstr "Mod nemá popis"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Žádné závislosti."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No modpack description provided."
msgstr "Mod nemá popis"
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Volitelné závislosti:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Volitelné závislosti:"
@@ -153,7 +165,7 @@ msgstr "zapnuto"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "VÅ¡echny balíÄky"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
@@ -165,14 +177,12 @@ msgid "Back to Main Menu"
msgstr "Hlavní nabídka"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Downloading and installing $1, please wait..."
-msgstr "Stahuji $1, prosím Äekejte..."
+msgstr "Stahuji a instaluji $1, prosím Äekejte..."
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "Selhala instalace $1 do $2"
+msgstr "Selhalo stažení $1"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -194,7 +204,7 @@ msgstr ""
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Žádné výsledky"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -202,18 +212,16 @@ msgid "Search"
msgstr "Hledat"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
-msgstr "Balíky textur"
+msgstr "BalíÄky textur"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "Instalovat"
+msgstr "Odinstalovat"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "Aktualizovat"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -375,7 +383,7 @@ msgstr "Vybrat soubor s modem:"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
-msgstr "Zohbrazit technické názvy"
+msgstr "Zobrazit technické názvy"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must be at least $1."
@@ -524,11 +532,6 @@ msgstr "Přejmenovat"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "Vybrat soubor s modem:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "Odinstalovat vybraný mod"
@@ -819,12 +822,13 @@ msgid "Waving Leaves"
msgstr "Vlnění listů"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Vlnění rostlin"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Vlnění bloků"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Vlnění vody"
+msgid "Waving Plants"
+msgstr "Vlnění rostlin"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1587,11 +1591,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1714,10 +1718,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Plynulá kamera"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "Létání"
@@ -1750,6 +1750,11 @@ msgid "Toggle noclip"
msgstr "Duch"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Turbo"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "stiskni klávesu"
@@ -1865,6 +1870,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3D mraky"
@@ -1898,6 +1907,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1950,6 +1963,10 @@ msgid "Acceleration in air"
msgstr "Zrychlení ve vzduchu"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Active Block Modifiery"
@@ -2183,7 +2200,7 @@ msgstr "Bump mapování"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2270,6 +2287,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Zpráva o havárii"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Práh pouštního šumu"
@@ -2437,6 +2459,10 @@ msgstr ""
"nebo den."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Stanovuje strmost/hloubku jezerních prohlubní."
@@ -2498,6 +2524,11 @@ msgid "Debug info toggle key"
msgstr "Klávesa pro zobrazení ladících informací"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Práh pouštního šumu"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Úroveň minimální důležitosti ladících informací"
@@ -2506,6 +2537,10 @@ msgid "Dec. volume key"
msgstr "Klávesa snížení hlasitosti"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Délka serverového kroku"
@@ -2599,10 +2634,25 @@ msgid "Defines the base ground level."
msgstr "UrÄuje lesní oblasti a hustotu stromového porostu."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "UrÄuje lesní oblasti a hustotu stromového porostu."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr "UrÄuje maximální posun hráÄe v blocích (0 = neomezený)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "UrÄuje makroskopickou strukturu koryta Å™eky."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "UrÄuje oblasti, kde stromy nesou plody."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "UrÄuje lesní oblasti a hustotu stromového porostu."
@@ -2628,6 +2678,12 @@ msgid "Deprecated Lua API handling"
msgstr "Zacházení se zastaralým Lua API"
#: 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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "Hloubka pod kterou najdete velké jeskyně."
@@ -2649,9 +2705,10 @@ msgid "Desert noise threshold"
msgstr "Práh pouštního šumu"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"Pouště se objeví v místech, kde 'np_biome' přesahuje tuto hodnotu.\n"
"Pokud je zapnutý nový systém biomů, toto nastavení nemá vliv."
@@ -2702,6 +2759,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Šum hřbetů"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -3055,6 +3117,13 @@ msgid "Font size"
msgstr "Velikost písma"
#: 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 "Format of screenshots."
msgstr "Formát snímků obrazovky."
@@ -3313,6 +3382,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Domácí stránka serveru. Bude zobrazena v seznamu serverů."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Klávesa pro následující věc v liště předmětů"
@@ -3625,6 +3712,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr "Jestliže je toto nastaveno, hráÄi se budou oživovat na uvedeném místÄ›."
@@ -3656,6 +3751,10 @@ msgid "Inc. volume key"
msgstr "Klávesa zvýšení hlasitosti"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4602,7 +4701,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "Rychlost sestupu"
#: src/settings_translation_file.cpp
@@ -4676,6 +4775,20 @@ msgstr ""
#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen flat.\n"
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
+msgstr ""
+"Globální parametry generování mapy.\n"
+"V mapgenu v6 ovládal příznak 'decorations' všechny dekorace kromě\n"
+"stromů a tropické trávy. V ostatních mapgenech tento příznak řídí\n"
+"všechny dekorace.\n"
+"Neuvedené příznaky zůstávají ve výchozím stavu.\n"
+"Příznaky zaÄínající na 'no' slouží k zakázání možnosti."
+
+#: 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 ""
"Globální parametry generování mapy.\n"
@@ -4694,7 +4807,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"Globální parametry generování mapy.\n"
@@ -4759,6 +4872,11 @@ msgstr "Mapgen plochy"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Mapgen údolí"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Mapgen v5"
@@ -4843,6 +4961,12 @@ 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 ""
"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)"
@@ -5029,10 +5153,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5048,7 +5170,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5100,16 +5222,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5264,10 +5388,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5352,6 +5472,16 @@ msgstr "Interval opakování pravého kliknutí"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "Hloubka řeky"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Hloubka řeky"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "Hloubka řeky"
@@ -5366,6 +5496,11 @@ msgid "River size"
msgstr "Velikost řeky"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Hloubka řeky"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5674,6 +5809,10 @@ msgid "Sneaking speed"
msgstr "Rychlost chůze"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Zvuk"
@@ -5987,10 +6126,11 @@ msgstr "Podvzorkování"
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -6095,6 +6235,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -6144,10 +6288,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Rychlost chůze"
#: 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"
msgstr "Hladina vody"
@@ -6172,16 +6324,19 @@ msgid "Waving water"
msgstr "Vlnění vody"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Výška vodních vln"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Délka vodních vln"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Rychlost vodních vln"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Rychlost vodních vln"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Délka vodních vln"
#: src/settings_translation_file.cpp
msgid ""
@@ -6217,10 +6372,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -6305,10 +6456,6 @@ msgid "Y of upper limit of large caves."
msgstr "Maximální poÄet emerge front"
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -6352,435 +6499,12 @@ msgstr "cURL limit paralelních stahování"
msgid "cURL timeout"
msgstr "cURL timeout"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Zavřít obchod"
-
-#~ msgid "Disable MP"
-#~ msgstr "Vypnout balíÄek"
-
-#~ msgid "Enable MP"
-#~ msgstr "Zapnout balíÄek"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Nebyla vybrána podhra nebo název"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" není platný příznak."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Formát jsou tÅ™i Äísla uvnitÅ™ závorek oddÄ›lená Äárkami."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formát: <posun>, <měřítko>, (<šířeníX>, <šířeníY>, <šířeníZ>), <seed>, "
-#~ "<oktávy>, <perzistence>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "Lakunarita může být specifikována spolu s pÅ™edcházející Äárkou."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Prosím zadejte Äárkami oddÄ›lený seznam příznaků."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Možné hodnoty jsou: "
-
-#~ msgid "Select path"
-#~ msgstr "Vyberte cestu"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Mody uvnitÅ™ podhry"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Strana $1 z $2"
-
-#~ msgid "Rating"
-#~ msgstr "Hodnocení"
-
-#~ msgid "Shortname:"
-#~ msgstr "Zkratka:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Úspěšně nainstalováno:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Neřazené"
-
-#~ msgid "re-Install"
-#~ msgstr "Přeinstalovat"
-
-#~ msgid "Local Game"
-#~ msgstr "Místní hra"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Odinstalovat zvolený balíÄek"
-
-#~ msgid "Play Online"
-#~ msgstr "Online hra"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normálový mapping"
-
-#~ msgid "No information available"
-#~ msgstr "Informace nejsou dostupné"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Hlasitost nastavena na 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Hlasitost nastavena na 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Vypsat hromádky"
-
-#~ msgid "Use"
-#~ msgstr "Použít"
-
-#~ msgid "Next"
-#~ msgstr "Další"
-
-#~ msgid "Prior"
-#~ msgstr "Předchozí"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Interval pro Active Block Modifiery"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Pouze Android: Pokusí se vytvořit inventářové textury z geom. sítě,\n"
-#~ "pokud nebyl nalezen žádný podporovaný render."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Zveřejnit do tohoto seznamu serverů.\n"
-#~ "Jestliže chcete zveřejnit vaši ipv6 adresu, použijte serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Přibližná (X,Y,Z) škála fraktálů. Jednotkou je blok."
-
-#~ msgid "Autorun key"
-#~ msgstr "Klávesa Autorun"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Jeskyně a tunely vznikají v průniku daných dvou šumů"
-
-#~ msgid "Cloud height"
-#~ msgstr "Výška mraků"
-
-#~ msgid "Console key"
-#~ msgstr "Klávesa konzole"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Neustálý pohyb vpřed (jen pro testování)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Vytváří v jeskyních nepředvídané lávové útvary, které mohou ztížit "
-#~ "těžbu.\n"
-#~ "Platný rozsah je 0-10, nula znamená zákaz."
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Vytváří v jeskyních nepředvídané vodní útvary, které mohou ztížit těžbu.\n"
-#~ "Platný rozsah je 0-10, nula znamená zákaz."
-
-#~ msgid "Crouch speed"
-#~ msgstr "Rychlost při plížení"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Hloubka pod kterou najdete obrovské jeskyně."
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Zakázat escape sekvence"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Zakázat eskape sekvence, tzn. barevný chat.\n"
-#~ "Hodí se, pokud provozujete server pro klienty starší než 0.4.14 a proto "
-#~ "chcete zakázat\n"
-#~ "eskape sekvence generované mody."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Zapnout pohupování pohledu"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Zapne pohupování pohledu při chůzi."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Úhel pohledu při zoomu"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Zorné pole při postupném přibližování.\n"
-#~ "Vyžaduje na serveru přidělené právo \"zoom\"."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Maximální vzdálenost, ve které klienti vÄ›dí o blocích, urÄená\n"
-#~ "v mapblocích (16 bloků)."
-
-#~ msgid "General"
-#~ msgstr "Hlavní"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Výška, ve které se zobrazují mraky."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Jak velká je oblast, ve které jsou bloky aktivní, daná v mapblocích (16 "
-#~ "bloků).\n"
-#~ "V aktivních blocích jsou objekty naÄtené a ABM spouÅ¡tÄ›ny."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "Když zapnuto, zobrazit hráÄi po pÅ™ipojení stavovou hlášku serveru."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Hack obrázků inventáře"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Iterace rekurzivní funkce.\n"
-#~ "UrÄuje množství drobných detailů."
-
-#~ msgid "Lava Features"
-#~ msgstr "Vlastnosti lávy"
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Hloubka obrovské jeskyně"
-
-#~ msgid "Support older servers"
-#~ msgstr "Podpora starších serverů"
-
-#~ msgid "Use key"
-#~ msgstr "Klávesa použít"
-
-#~ msgid "Water Features"
-#~ msgstr "Vlastnosti vody"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Skrýt obsahy balíÄků"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Klávesa velkého písmene"
-
-#~ msgid "Comma"
-#~ msgstr "Čárka"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Final"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Mínus"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "TeÄka"
-
-#~ msgid "Plus"
-#~ msgstr "Plus"
-
-#, fuzzy
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Mapgen plochy"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Mapgen plochy"
-
-#, fuzzy
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Mapgen v5"
+#~ msgid "Waving Water"
+#~ msgstr "Vlnění vody"
#, fuzzy
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Mapgen v7"
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr "Detailní profilovací data modů. UžiteÄné pro vývojáře modů."
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "Detailní profilování modů"
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "UžiteÄné pro vývojáře modů."
-
-#~ msgid "No of course not!"
-#~ msgstr "Jistě že ne!"
+#~ msgid "Select Package File:"
+#~ msgstr "Vybrat soubor s modem:"
-#~ msgid "Public Serverlist"
-#~ msgstr "Seznam veřejných serverů"
-
-#~ msgid "No!!!"
-#~ msgstr "Ne!!!"
-
-#~ msgid "\""
-#~ msgstr "\""
-
-#~ msgid "If enabled, "
-#~ msgstr "Je-li povoleno, "
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "Aby se zmÄ›na ovladaÄe projevila, restartujte Minetest"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr ""
-#~ "Levý klik: Přesunout všechny předměty, Pravý klik: Přesunout jeden předmět"
-
-#~ msgid "Add mod:"
-#~ msgstr "Přidat mod:"
-
-#~ msgid "MODS"
-#~ msgstr "MODY"
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "BALÃÄŒKY TEXTUR"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "HRA JEDNOHO HRÃÄŒE"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "KoneÄná voda"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "PÅ™ednaÄíst textury pÅ™edmÄ›tů"
-
-#~ msgid "SETTINGS"
-#~ msgstr "NASTAVENÃ"
-
-#~ msgid "Password"
-#~ msgstr "Heslo"
-
-#~ msgid "Name"
-#~ msgstr "Jméno"
-
-#~ msgid "START SERVER"
-#~ msgstr "MÃSTNÃ SERVER"
-
-#~ msgid "CLIENT"
-#~ msgstr "KLIENT"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Přidat mod"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Odstranit vybraný mod"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "UPRAVIT HRU"
-
-#~ msgid "new game"
-#~ msgstr "nová hra"
-
-#~ msgid "Mods:"
-#~ msgstr "Mody:"
-
-#~ msgid "GAMES"
-#~ msgstr "HRY"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "Gamemgr: Nepovedlo se zkopírovat mod \"$1\" do hry \"$2\""
-
-#~ msgid "Downloading"
-#~ msgstr "Stahuji"
-
-#~ msgid " MB/s"
-#~ msgstr " MB/s"
-
-#~ msgid " KB/s"
-#~ msgstr " KB/s"
-
-#~ msgid "Touch free target"
-#~ msgstr "Středový kurzor"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "Měřítko aplikované na prvky menu: "
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "PÅ™ednaÄíst inventářové textury"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "PokroÄilá nastavení"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Globální parametry generování mapy.\n"
-#~ "V mapgenu v6 ovládal příznak 'decorations' všechny dekorace kromě\n"
-#~ "stromů a tropické trávy. V ostatních mapgenech tento příznak řídí\n"
-#~ "všechny dekorace.\n"
-#~ "Neuvedené příznaky zůstávají ve výchozím stavu.\n"
-#~ "Příznaky zaÄínající na 'no' slouží k zakázání možnosti."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Globální parametry generování mapy.\n"
-#~ "V mapgenu v6 ovládal příznak 'decorations' všechny dekorace kromě\n"
-#~ "stromů a tropické trávy. V ostatních mapgenech tento příznak řídí\n"
-#~ "všechny dekorace.\n"
-#~ "Neuvedené příznaky zůstávají ve výchozím stavu.\n"
-#~ "Příznaky zaÄínající na 'no' slouží k zakázání možnosti."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Globální parametry generování mapy.\n"
-#~ "V mapgenu v6 ovládal příznak 'decorations' všechny dekorace kromě\n"
-#~ "stromů a tropické trávy. V ostatních mapgenech tento příznak řídí\n"
-#~ "všechny dekorace.\n"
-#~ "Neuvedené příznaky zůstávají ve výchozím stavu.\n"
-#~ "Příznaky zaÄínající na 'no' slouží k zakázání možnosti."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Plynulá kamera"
diff --git a/po/da/minetest.po b/po/da/minetest.po
index b91fa5274..600eb042a 100644
--- a/po/da/minetest.po
+++ b/po/da/minetest.po
@@ -1,11 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Danish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-10 03:57+0000\n"
-"Last-Translator: Muhammad Rifqi Priyo Susanto "
-"<muhammadrifqipriyosusanto@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Danish <https://hosted.weblate.org/projects/minetest/minetest/"
"da/>\n"
"Language: da\n"
@@ -13,24 +12,22 @@ 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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
msgstr "Genopstå"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "Du døde."
+msgstr "Du døde"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "Der skete en fejt i Lua scriptet, så som et mod:"
+msgid "An error occurred in a Lua script:"
+msgstr "Der skete en fejl i Lua scriptet, muligvis af et mod:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Der skete en fejl:"
@@ -99,21 +96,18 @@ msgid "Disable all"
msgstr "Deaktivér alle"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "Deaktiveret"
+msgstr "Deaktiver samlingen af mods"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "Aktivér alle"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "Omdøb Modpack:"
+msgstr "Aktiver samlingen af mods"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
@@ -127,13 +121,27 @@ msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Valgfrie afhængigheder:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr "Der er ikke nogen beskrivelse af tilgængelig af det valgte mod"
+msgstr "Der er ikke nogen beskrivelse af tilgængelig af det valgte spil."
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Ingen afhængigheder."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "Der er ikke nogen beskrivelse af tilgængelig af det valgte mod"
+msgstr ""
+"Der er ikke nogen beskrivelse af tilgængelig af den valgte samling af mods."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Valgfrie afhængigheder:"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -154,26 +162,23 @@ msgstr "aktiveret"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "Alle pakker"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
msgstr "Tilbage"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "Hovedmenu"
+msgstr "Tilbage til hovedmenuen"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Downloading and installing $1, please wait..."
-msgstr "Henter $1, vent venligst..."
+msgstr "Henter og installerer $1, vent venligst..."
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "Kunne ikke installere $1 til $2"
+msgstr "Kunne ikke hente $1"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -191,11 +196,11 @@ msgstr "Mods"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Der var ingen pakker at hente"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Der er ingen resultater at vise"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -203,18 +208,16 @@ msgid "Search"
msgstr "Søg"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
msgstr "Teksturpakker"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "Installer"
+msgstr "Afinstaller"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "Opdater"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -225,9 +228,8 @@ msgid "Create"
msgstr "Skab"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Hent et underspil, såsom minetest_game fra minetest.net"
+msgstr "Hent et spil, såsom Minetest Game fra minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -242,9 +244,8 @@ msgid "Mapgen"
msgstr "Mapgen"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "Afstands vælg"
+msgstr "Intet spil valgt"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -260,9 +261,8 @@ msgid "World name"
msgstr "Verdens navn"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "Du har ikke installeret nogle subgames."
+msgstr "Du har ikke installeret nogle spil."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -301,15 +301,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"Denne samling af mods har et specifik navn defineret i sit modpack.conf "
+"hvilket vil overskrive enhver omdøbning her."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(Der er ikke nogen beskrivelse af denne indstilling)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Lyde"
+msgstr "Todimensionelle lyde"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -338,7 +339,7 @@ msgstr "Sikkerhed"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Oktaver"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
@@ -346,7 +347,7 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Persistance"
-msgstr ""
+msgstr "Persistens"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -362,17 +363,15 @@ msgstr "Gendan standard"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
-msgstr ""
+msgstr "Skala"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "Kortmappe"
+msgstr "Vælg mappe"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "Vælg mod fil:"
+msgstr "Vælg fil"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
@@ -388,154 +387,130 @@ msgstr "Værdien må ikke være større end $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "X spredning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Y spredning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Z spredning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "Absolut værdi"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Standard spil"
+msgstr "Standard"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "aktiveret"
+msgstr "$1 (aktiveret)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "3D-tilstand"
+msgstr "$1 mods"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
msgstr "Kunne ikke installere $1 til $2"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find real mod name for: $1"
msgstr "Installer mod: Kunne ikke finde det rigtige mod-navn for: $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
-msgstr "Installer mod: Kunne ikke finde passende mappe navn for modpack $1"
+msgstr ""
+"Installer mod: Kunne ikke finde passende mappe navn for samling af mods $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
msgstr ""
-"\n"
-"Installer mod: filtypen \"$1\" er enten ikke understøttet, ellers er arkivet "
+"Installer mod: Filtypen \"$1\" er enten ikke understøttet, ellers er arkivet "
"korrupt"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: file: \"$1\""
msgstr "Installer mod: Fil: \"$1\""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr "Installer mod: Kunne ikke finde passende mappe navn for modpack $1"
+msgstr "Kan ikke finde en korrekt mod eller samling af mods"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "Kunne ikke installere $1 til $2"
+msgstr "Kan ikke installere $1 som en teksturpakke"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "Kunne ikke installere $1 til $2"
+msgstr "Kan ikke installere $1 som et spil"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a mod as a $1"
-msgstr "Kunne ikke installere $1 til $2"
+msgstr "Kan ikke installere $1 som et mod"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "Kunne ikke installere $1 til $2"
+msgstr "Kan ikke installere $1 som en samling af mods"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+msgstr "Gennemse online indhold"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "Fortsæt"
+msgstr "Indhold"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Disable Texture Pack"
-msgstr "Vælg teksturpakke:"
+msgstr "Deaktiver teksturpakke"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Information:"
-msgstr "Information om mod:"
+msgstr "Information:"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Installed Packages:"
-msgstr "Installerede mods:"
+msgstr "Installerede pakker:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
msgstr "Ingen afhængigheder."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "Der er ikke nogen beskrivelse af tilgængelig af det valgte mod"
+msgstr "Der er ikke nogen beskrivelse af tilgængelig af den valgte pakke"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
msgstr "Omdøb"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Vælg mod fil:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
-msgstr "Afinstaller det valgte mod"
+msgstr "Afinstaller den valgte pakke"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "Teksturpakker"
+msgstr "Anvend teksturpakker"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -543,7 +518,7 @@ msgstr "Aktive bidragere"
#: builtin/mainmenu/tab_credits.lua
msgid "Core Developers"
-msgstr "Hoved udviklere"
+msgstr "Primære udviklere"
#: builtin/mainmenu/tab_credits.lua
msgid "Credits"
@@ -555,10 +530,9 @@ msgstr "Tidligere bidragere"
#: builtin/mainmenu/tab_credits.lua
msgid "Previous Core Developers"
-msgstr "Tidligere hoved udviklere"
+msgstr "Tidligere primære udviklere"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Announce Server"
msgstr "Meddelelsesserver"
@@ -583,7 +557,6 @@ msgid "Host Game"
msgstr "Vær vært for spil"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Host Server"
msgstr "Host Server"
@@ -824,12 +797,13 @@ msgid "Waving Leaves"
msgstr "Bølgende blade"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Bølgende planter"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Bølgende blade"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Bølgende vand"
+msgid "Waving Plants"
+msgstr "Bølgende planter"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1593,11 +1567,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1720,10 +1694,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Aktiver filmisk"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "Omstil flyvning"
@@ -1756,6 +1726,11 @@ msgid "Toggle noclip"
msgstr "Omstil fylde"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Omstil hurtig"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "Tryk på en tast"
@@ -1870,6 +1845,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3D-skyer"
@@ -1903,6 +1882,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1956,6 +1939,10 @@ msgid "Acceleration in air"
msgstr "Acceleration i luft"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Aktive blokændringer"
@@ -2181,7 +2168,7 @@ msgstr "Bumpmapping"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2274,6 +2261,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Nedbrudsbesked"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Ørkenstøjtærskel"
@@ -2444,6 +2436,10 @@ msgstr ""
"helst forbliver uændret."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Kontrollerer hældning/dybe for sødybder."
@@ -2503,6 +2499,11 @@ msgid "Debug info toggle key"
msgstr "Tast til aktivering af fejlsøgningsinfo"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Ørkenstøjtærskel"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Logniveau for fejlsøgning"
@@ -2512,6 +2513,10 @@ msgid "Dec. volume key"
msgstr "Dec. lydstyrketasten"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Dedikeret server-trin"
@@ -2599,11 +2604,25 @@ msgid "Defines the base ground level."
msgstr "Definerer træområder og trætæthed."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Definerer træområder og trætæthed."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Definerer den maksimale spillerflytningsafstand i blokke (0 = ubegrænset)."
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Definerer områder, hvor træerne har æbler."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Definerer træområder og trætæthed."
@@ -2626,6 +2645,12 @@ msgid "Deprecated Lua API handling"
msgstr "Forældet Lua API-håndtering"
#: 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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "Dybde hvorunder du kan finde store huler."
@@ -2649,7 +2674,7 @@ msgstr "Ørkenstøjtærskel"
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2699,6 +2724,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Ridge støj"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -3057,6 +3087,13 @@ msgid "Font size"
msgstr "Skriftstørrelse"
#: 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 "Format of screenshots."
msgstr "Format for skærmbilleder."
@@ -3322,6 +3359,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Hjemmeside for serveren, som vist i serverlisten."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3596,6 +3651,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
"Hvis aktiveret, så vil spillere altid (gen)starte ved den angivne position."
@@ -3629,6 +3692,10 @@ msgid "Inc. volume key"
msgstr "Øg lydstyrketasten"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4697,7 +4764,7 @@ msgstr "Køfjernelsestid for væske"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "Synkehastighed for væske"
#: src/settings_translation_file.cpp
@@ -4777,6 +4844,18 @@ msgstr ""
#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen flat.\n"
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
+msgstr ""
+"Kortoprettelsesattributter specifikke for Mapgen flat.\n"
+"Undtagelsesvis kan søer og bakker tilføjes til den flade verden.\n"
+"Flag som ikke er specificeret i flag-strengen ændres ikke fra standarden.\n"
+"Flag der starter med »no« bruges til eksplicit at deaktivere dem."
+
+#: 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 ""
"Kortoprettelsesattributter specifikke for Mapgen flat.\n"
@@ -4793,7 +4872,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"Tilknyttes Mapgen v6 generation attributter specifikke.\n"
@@ -4862,6 +4941,11 @@ msgstr "Fraktral for Mapgen"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Flade flag for Mapgen"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Mapgen v5"
@@ -4949,6 +5033,12 @@ 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 ""
"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)"
@@ -5137,10 +5227,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5156,7 +5244,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5208,16 +5296,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5371,10 +5461,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5461,6 +5547,16 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "Floddybde"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Floddybde"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "Floddybde"
@@ -5475,6 +5571,11 @@ msgid "River size"
msgstr "Flodstørrelse"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Floddybde"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5793,6 +5894,10 @@ msgid "Sneaking speed"
msgstr "Ganghastighed"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Lyd"
@@ -6111,10 +6216,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -6220,6 +6326,10 @@ msgid "Varies steepness of cliffs."
msgstr "Varierer stejlhed af klipper."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -6269,10 +6379,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Ganghastighed"
#: 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"
msgstr "Vandstand"
@@ -6297,16 +6415,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Bølgende vand"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Bølgende blade"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Bølgende vand"
#: src/settings_translation_file.cpp
msgid ""
@@ -6342,10 +6463,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -6430,10 +6547,6 @@ msgid "Y of upper limit of large caves."
msgstr "Absolut begrænsning af fremkomstkøer"
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -6477,597 +6590,8 @@ msgstr ""
msgid "cURL timeout"
msgstr "cURL-tidsudløb"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Luk marked"
-
-#~ msgid "Disable MP"
-#~ msgstr "Deaktivér MP"
-
-#~ msgid "Enable MP"
-#~ msgstr "Aktivér MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Intet navn på verden angivet eller intet spil valgt"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" er ikke en gyldig indstilling."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Formatet er 3 tal, adskilt af kommaer, og omgivet af parenteser."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Format: <forskydning>, <skalering>, (<udbredelseX>, <udbredelseY>, "
-#~ "<udbredelseZ>), <kim>, <oktaver>, <vedholdenhed>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "Valgfrit kan »lacunarity'en« tilføjes med et foranstillet komma."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr ""
-#~ "Indtast venligst en liste af indstillinger som er adskilt med kommaer."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Mulige værdier er: "
-
-#~ msgid "Select path"
-#~ msgstr "Vælg sti"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Underspil-mods"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Side $1 af $2"
-
-#~ msgid "Rating"
-#~ msgstr "Bedømmelse"
-
-#~ msgid "Shortname:"
-#~ msgstr "Kort navn:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Succesfuldt installeret:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Usorteret"
-
-#~ msgid "re-Install"
-#~ msgstr "geninstaller"
-
-#~ msgid "Local Game"
-#~ msgstr "Lokalt spil"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Afinstaller den valgte modpack"
-
-#~ msgid "Play Online"
-#~ msgstr "Spil over nettet"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normal oversættelse"
-
-#~ msgid "No information available"
-#~ msgstr "Der er ikke nogen information tilgængelig"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Lydstyrke ændret til 0 %"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Lydstyrke ændret til 100 %"
-
-#~ msgid "Print stacks"
-#~ msgstr "Udskriv stakke"
-
-#~ msgid "Use"
-#~ msgstr "Brug"
-
-#~ msgid "Next"
-#~ msgstr "Næste"
-
-#~ msgid "Prior"
-#~ msgstr "Foregående"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Aktivt blokændringsinterval"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Kun Android-systemer: Forsøger at generere lagerteksturer ud fra masker,\n"
-#~ "når der ikke blev fundet en understøttet render."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Meddel på denne serverliste\n"
-#~ "Hvis du ønsker at annoncere din ipv6-adresse, så brug serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Omtrentlig (X, Y, Z) fraktalskala i knudepunkter."
-
-#~ msgid "Autorun key"
-#~ msgstr "Tast til automatisk løb"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Huler og tunneler dannes ved skæringspunktet for de to støjkilder"
-
-#~ msgid "Cloud height"
-#~ msgstr "Skyhøjde"
-
-#~ msgid "Console key"
-#~ msgstr "Konsoltast"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Kontinuerlig bevægelse fremad (bruges kun til test)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr " "
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Opretter uforudsigelige vandfunktioner i huler.\n"
-#~ "Disse kan gøre vanskeliggøre minedrift. Nul deaktiverer dem (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Krybehastighed"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Dybde hvorunder du finder kæmpestore huler."
-
-#~ msgid "Descending speed"
-#~ msgstr "Faldende hastighed"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Deaktiver undvigesekvenser"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Deaktiver undvigesekvenser, f.eks. snak-farvelægning.\n"
-#~ "Brug denne hvis du ønsker at afvikle en server med pre-0.4.14-klienter og "
-#~ "du ønsker\n"
-#~ "at deaktivere undvigesekvenserne oprettet af mod'er."
-
-#, fuzzy
-#~ msgid "Enable view bobbing"
-#~ msgstr "Aktivér visning af bobbing"
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Zoom for visningsområde"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Visningsområde under zoom i grader.\n"
-#~ "Dette kræver privilegiet »zoom« på serveren."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Fra hvor langt væk klinter ved om objekter, angivet i kortblokke (16 "
-#~ "knudepunkter)."
-
-#~ msgid "General"
-#~ msgstr "Generelt"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Højde hvor skyer fremkommer."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Hvordan store områder af blokke påvirkes af det aktive blokindhold, "
-#~ "angivet i mapblocks (16 knudepunkter).\n"
-#~ "I aktive blokke bliver objekter indlæst og ABM'er afviklet."
-
-#, fuzzy
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "Hvis aktiveret, viser serveren statusbesked på spiller forbindelse."
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Lager billede hack"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Gennemløb for den rekursive funktion.\n"
-#~ "Kontrollerer mængden af små detaljer."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tast til at åbne snakkekonsollen (chat).\n"
-#~ "Se http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tast til at udskrive fejlsøgningsstakke. Brugt til udvikling.\n"
-#~ "Se http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Lavafunktioner"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Hovedmenus spilhåndtering"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Hovedmenus mod-håndtering"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kortoprettelsesattributer specifik for Mapgen Valleys.\n"
-#~ "»altitude_chill« gør højere områder koldere, hvilket kan medføre "
-#~ "habitatproblemstillinger.\n"
-#~ "»humid_rivers« ændrer fugtighed omkring floder og i områder hvor vand har "
-#~ "tendens til at samle sig,\n"
-#~ "det kan influere med ømtålelige habitatter.\n"
-#~ "Flag som ikke er specificeret i flag-strengen ændres ikke fra "
-#~ "standarden.\n"
-#~ "Flag der starter med »no« bruges til eksplicit at deaktivere dem."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kortoprettelsesattributter specifikek til Mapgen v7.\n"
-#~ "Flaget »ridges« kontroller floderne.\n"
-#~ "Flag som ikke er specificeret i flag-strengen ændres ikke fra "
-#~ "standarden.\n"
-#~ "Flag der starter med »no« bruges til eksplicit at deaktivere dem."
-
-#~ msgid "Support older servers"
-#~ msgstr "Understøt ældre servere"
-
-#~ msgid "Use key"
-#~ msgstr "Brug-tast"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Skjul mp indhold"
-
-#~ msgid "Attn"
-#~ msgstr "Giv agt"
-
-#~ msgid "Capital"
-#~ msgstr "Store bogstaver"
-
-#~ msgid "Comma"
-#~ msgstr "Komma"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Endelig"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Minus"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Punktum"
-
-#~ msgid "Plus"
-#~ msgstr "Plus"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Kontroller størrelse for ørkener og strande i Mapgen v6.\n"
-#~ "Når snebiomer er aktiveret ignoreres »mgv6_freq_desert«."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Bestemmer terrænform.\n"
-#~ "De tre tal i parenteser kontrollerer skalaen for\n"
-#~ "terrænet, de tre tal skal være identiske."
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Støjparametre til biotopvarme for Mapgen"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Støjparametre til biotopfugtighedsblanding for Mapgen"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Mapgen - flad hulebredde"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "Støjparametre til flade cave1 for Mapgen"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "Støjparametre til flade cave2 for Mapgen"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr "Mapgen - støjparametre for flad fyldstofdybde"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Flad stor hule-dybde for Mapgen"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Støjparametre til flad terræn for Mapgen"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Mapgen - fraktal hulebredde"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Støjparametre for Mapgen fraktal grotte1"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Støjparametre for Mapgen fraktal grotte2"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr "Mapgen - støjparametre for fraktal fyldstofdybde"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Mapgen fraktal fraktal"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Mapgen fraktaliterationer"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "Mapgen fraktal Julia w"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "Mapgen fraktal Julia x"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Mapgen fraktal Julia y"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Mapgen fraktal Julia z"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Mapgen fraktal forskydning"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Mapgen fraktal skalering"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Støjparametre for Mapgen fraktal havbund"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Mapgen fraktal udsnit w"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Mapgen v5 grottebredde"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "Støjparametre for Mapgen v5 grotte1"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "Støjparametre for Mapgen v5 grotte2"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Støjparametre for Mapgen v5 faktor"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr "Mapgen v5 - støjparametre for fyldstofdybde"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Mapgen v5 – støjparametre for højde"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Mapgen v6 – støjparametre for æbletræer"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Mapgen v6 – strandhyppighed"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Mapgen v6 – støjparametre for strand"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Mapgen v6 – støjparametre for økosystem"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Mapgen v6 – støjparametre for grotter"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Mapgen v6 – ørkenhyppighed"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr "Mapgen v7 - støjparametre for fyldstofdybde"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Mapgen v7 – støjparametre for højdevalg"
-
-#~ msgid "No of course not!"
-#~ msgstr "Nej selvfølgelig ikke!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Offentlig serverliste"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "aktiveret"
-
-#, fuzzy
-#~ msgid "Password"
-#~ msgstr "Gammelt kodeord"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "For-indlæs elementernes grafik"
-
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Advarsel: nogle modifikationer er endnu ikke konfigureret.\n"
-#~ "De vil blive aktiveret som standard når du gemmer konfigurationen. "
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "Advarsel: nogle konfigurerede modifikationer mangler.\n"
-#~ "Deres indstillinger vil blive fjernet når du gemmer konfigurationen. "
-
-#~ msgid "Delete map"
-#~ msgstr "Slet mappen"
-
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "Standard bindinger:\n"
-#~ "- WASD: bevægelse\n"
-#~ "- Venstre musetast: grav/slå\n"
-#~ "- Højre musetast: anbring/brug\n"
-#~ "- Musehjul: vælg genstand\n"
-#~ "- 0...9: vælg genstand\n"
-#~ "- Shift: snige\n"
-#~ "- R: omstil se alle indlæste klumper\n"
-#~ "- I: beholdning\n"
-#~ "- ESC: denne menu\n"
-#~ "- T: snak\n"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Mislykkedes i at slette alle verdenens filer"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Kan ikke konfigurere verden: ingenting valgt"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Kan ikke skabe verden: ingen spil fundet"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Filer som slettes"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Kan ikke slette verden: ingenting valgt"
-
-#~ msgid "Address required."
-#~ msgstr "Adresse påkrævet."
-
-#~ msgid "Create world"
-#~ msgstr "Skab verden"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Lad adresse-feltet være tomt for at starte en lokal server."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Vis favoritter"
+#~ msgid "Select Package File:"
+#~ msgstr "Vælg pakke fil:"
-#~ msgid "Show Public"
-#~ msgstr "Vis offentlig"
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Kan ikke skabe verden: navnet indeholder ugyldige bogstaver"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Advarsel: konfigurationen er ikke sammenhængende. "
-
-#~ msgid "Configuration saved. "
-#~ msgstr "Konfiguration gemt. "
-
-#~ msgid "is required by:"
-#~ msgstr "er påkrævet af:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr "Venstre klik: flyt alle enheder. Højre klik: flyt en enkelt enhed"
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Ned"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Avancerede indstillinger"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kortoprettelsesattributter specifikek til Mapgen v5.\n"
-#~ "Flag som ikke er specificeret i flag-strengen ændres ikke fra "
-#~ "standarden.\n"
-#~ "Flag der starter med »no« bruges til eksplicit at deaktivere dem."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kortoprettelsesattributter specifikek til Mapgen v5.\n"
-#~ "Flag som ikke er specificeret i flag-strengen ændres ikke fra "
-#~ "standarden.\n"
-#~ "Flag der starter med »no« bruges til eksplicit at deaktivere dem."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kortoprettelsesattributter specifikek til Mapgen v5.\n"
-#~ "Flag som ikke er specificeret i flag-strengen ændres ikke fra "
-#~ "standarden.\n"
-#~ "Flag der starter med »no« bruges til eksplicit at deaktivere dem."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Aktiver filmisk"
diff --git a/po/de/minetest.po b/po/de/minetest.po
index 14b6bd165..3e6d79408 100644
--- a/po/de/minetest.po
+++ b/po/de/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: German (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-23 11:18+0000\n"
-"Last-Translator: Wuzzy <almikes@aol.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: German <https://hosted.weblate.org/projects/minetest/minetest/"
"de/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -23,7 +23,8 @@ msgid "You died"
msgstr "Sie sind gestorben"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Es ist ein Fehler in einem Lua-Skript aufgetreten, z.B. in einer Mod:"
#: builtin/fstk/ui.lua
@@ -119,13 +120,28 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Optionale 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."
+
+#: 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:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Optionale Abhängigkeiten:"
@@ -245,7 +261,7 @@ msgstr "Weltname"
#: builtin/mainmenu/dlg_create_world.lua
msgid "You have no games installed."
-msgstr "Sie haben keine Spiele installiert."
+msgstr "Es sind keine Spiele installiert."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -426,7 +442,7 @@ msgstr ""
#: builtin/mainmenu/pkgmgr.lua
msgid "Install: Unsupported file type \"$1\" or broken archive"
msgstr ""
-"Installieren: Nicht unterstützter Dateityp „$1“ oder fehlerhaftes Archiv"
+"Installation: Nicht unterstützter Dateityp „$1“ oder fehlerhaftes Archiv"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install: file: \"$1\""
@@ -485,10 +501,6 @@ msgid "Rename"
msgstr "Umbenennen"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "Paket-Datei auswählen:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Paket deinstallieren"
@@ -762,7 +774,7 @@ msgstr "Tone-Mapping"
#: builtin/mainmenu/tab_settings.lua
msgid "Touchthreshold: (px)"
-msgstr "Berührungsempfindlichkeit (px):"
+msgstr "Berührungsempfindlichkeit: (px)"
#: builtin/mainmenu/tab_settings.lua
msgid "Trilinear Filter"
@@ -773,12 +785,13 @@ msgid "Waving Leaves"
msgstr "Wehende Blätter"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Wehende Pflanzen"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Wehende Blöcke"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Wasserwellen"
+msgid "Waving Plants"
+msgstr "Wehende Pflanzen"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -901,12 +914,10 @@ msgid "- Server Name: "
msgstr "- Servername: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
msgstr "Vorwärtsautomatik deaktiviert"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
msgstr "Vorwärtsautomatik aktiviert"
@@ -1521,13 +1532,13 @@ msgid "Register and Join"
msgstr "Registrieren und beitreten"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
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 "
@@ -1651,10 +1662,6 @@ msgid "Special"
msgstr "Spezial"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Filmmodus umschalten"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "HUD an/aus"
@@ -1683,6 +1690,11 @@ msgid "Toggle noclip"
msgstr "Geistmodus"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Chat an/aus"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "Taste drücken"
@@ -1804,23 +1816,25 @@ msgid "2D noise that controls the shape/size of step mountains."
msgstr "2-D-Rauschen, welches die Form/Größe von Stufenbergen steuert."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
msgstr ""
"2-D-Rauschen, welches die Größe/Vorkommen von gezahnten Bergketten steuert."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of rolling hills."
msgstr "2-D-Rauschen, welches die Größe/Vorkommen von sanften Hügeln steuert."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of step mountain ranges."
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."
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3-D-Wolken"
@@ -1857,6 +1871,10 @@ msgstr ""
"Variationen."
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1917,6 +1935,10 @@ msgid "Acceleration in air"
msgstr "Beschleunigung in der Luft"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Active Block Modifiers"
@@ -2058,16 +2080,12 @@ msgstr ""
"In Kartenblöcken (16 Blöcke) angegeben."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
msgstr "Vorwärtsautomatiktaste"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically jump up single-node obstacles."
-msgstr ""
-"Automatisch bei 1 Block hohen Hindernissen springen.\n"
-"Typ: bool"
+msgstr "Automatisch bei 1 Block hohen Hindernissen springen."
#: src/settings_translation_file.cpp
msgid "Automatically report to the serverlist."
@@ -2146,8 +2164,9 @@ msgid "Bumpmapping"
msgstr "Bumpmapping"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2220,7 +2239,6 @@ msgid "Center of light curve mid-boost."
msgstr "Mitte der Lichtkurven-Mittenverstärkung."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Changes the main menu UI:\n"
"- Full: Multiple singleplayer worlds, game choice, texture pack chooser, "
@@ -2234,8 +2252,7 @@ msgstr ""
"usw.\n"
"- Simple: Eine Einzelspielerwelt, keine Spiel- oder Texturenpaketauswahl. "
"Könnte\n"
-"für kleinere Bildschirme nötig sein.\n"
-"- Auto: „Simple“ auf Android, „full“ für alles andere."
+"für kleinere Bildschirme nötig sein."
#: src/settings_translation_file.cpp
msgid "Chat key"
@@ -2246,6 +2263,11 @@ msgid "Chat message count limit"
msgstr "Max. Anzahl Chatnachrichten"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "Max. Chatnachrichtenlänge"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr "Chatnachrichten-Kick-Schwellwert"
@@ -2331,6 +2353,15 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"so see a full list at https://content.minetest.net/help/content_flags/"
msgstr ""
+"Kommagetrennte Liste von Flags für Dinge, die im Inhaltespeicher verborgen "
+"werden sollten.\n"
+"„nonfree“ kann benutzt werden, um Pakete, die nicht als „freie Software“ "
+"nach\n"
+"der Definition der Free Software Foundation gelten, zu verbergen.\n"
+"Sie können auch Inhaltseinstufungen festlegen.\n"
+"Diese Flags sind von Minetestversionen unabhängig,\n"
+"für eine vollständige Liste gehen Sie auf:\n"
+"https://content.minetest.net/help/content_flags/"
#: src/settings_translation_file.cpp
msgid ""
@@ -2381,12 +2412,11 @@ msgstr "Konsolenhöhe"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "ContentDB: Schwarze Liste"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Inhalt"
+msgstr "ContentDB-URL"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2417,6 +2447,10 @@ msgstr ""
"unverändert."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Steuert die Steilheit/Tiefe von Seesenken."
@@ -2478,6 +2512,11 @@ 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"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Debugausgabelevel"
@@ -2486,6 +2525,10 @@ msgid "Dec. volume key"
msgstr "Leiser-Taste"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Taktung dedizierter Server"
@@ -2580,12 +2623,27 @@ 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."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Setzt die maximale Distanz, in der die Spieler übertragen werden,\n"
"in Kartenblöcken (0 = unbegrenzt)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "Definiert große Flusskanalformationen."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Definiert Gebiete, in denen Bäume Äpfel tragen."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Definiert Baumgebiete und Baumdichte."
@@ -2612,6 +2670,12 @@ msgid "Deprecated Lua API handling"
msgstr "Veraltete Lua-API-Handhabung"
#: 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 "Depth below which you'll find giant caverns."
msgstr "Tiefe, unter der man große Höhlen finden wird."
@@ -2632,9 +2696,10 @@ 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 new biome system is enabled, this is ignored."
+"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."
@@ -2684,6 +2749,11 @@ msgid "Dungeon minimum Y"
msgstr "Verlies: Min. Y"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Verlies: Min. Y"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2725,13 +2795,16 @@ msgstr "Schaltet zufällige Steuerung ein (nur zum Testen verwendet)."
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Registrierungsbestätigung aktivieren"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Registrierungsbestätigung aktivieren, wenn zu einem\n"
+"Server verbunden wird. Falls deaktiviert, wird ein neues\n"
+"Benutzerkonto automatisch registriert."
#: src/settings_translation_file.cpp
msgid ""
@@ -3043,6 +3116,13 @@ msgid "Font size"
msgstr "Schriftgröße"
#: 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 "Format of screenshots."
msgstr "Dateiformat von Bildschirmfotos."
@@ -3176,7 +3256,6 @@ msgid "Global callbacks"
msgstr "Globale Rückruffunktionen"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Global map generation attributes.\n"
"In Mapgen v6 the 'decorations' flag controls all decorations except trees\n"
@@ -3185,11 +3264,7 @@ msgstr ""
"Globale Kartengenerierungsattribute.\n"
"Im Kartengenerator v6 wird das „decorations“-Flag alle Dekorationen außer\n"
"Bäume und Dschungelgras beinflussen, in allen anderen Kartengeneratoren\n"
-"wird es alle Dekorationen beinflussen.\n"
-"Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-"werden von der Standardeinstellung unverändert gelassen.\n"
-"Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-"zu deaktivieren."
+"wird es alle Dekorationen beinflussen."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
@@ -3310,6 +3385,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Homepage des Servers. Wird in der Serverliste angezeigt."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Taste für nächsten Ggnstd. in Schnellleiste"
@@ -3562,13 +3655,12 @@ msgstr ""
"Aktivieren Sie dies nur, wenn Sie wissen, was sie tun."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
-"Wenn dies zusammen mit dem Flugmodus aktiviert wird, werden "
-"Bewegungsrichtungen relativ zum Nick des Spielers sein."
+"Falls aktiviert, werden Bewegungsrichtungen relativ zum Nick des Spielers "
+"beim Fliegen oder Schwimmen sein."
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
@@ -3597,6 +3689,14 @@ msgstr ""
"get_node-Aufrufe auf diese Distanz vom Spieler zum Block begrenzt sein."
#: 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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
"Falls dies gesetzt ist, werden Spieler immer an der gegebenen\n"
@@ -3632,6 +3732,10 @@ msgid "Inc. volume key"
msgstr "Lauter-Taste"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4406,13 +4510,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 ""
-"Taste zum Umschalten des Nick-Flugmodus.\n"
+"Taste zum Umschalten des Nick-Bewegungsmodus.\n"
"Siehe http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4668,7 +4771,8 @@ msgid "Liquid queue purge time"
msgstr "Aufräumzeit für Flüssigkeitswarteschlange"
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+#, fuzzy
+msgid "Liquid sinking"
msgstr "Flüssigkeitssinkgeschwindigkeit"
#: src/settings_translation_file.cpp
@@ -4733,9 +4837,9 @@ msgstr "Kartenverzeichnis"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr ""
+"Kartengenerierungsattribute speziell für den Carpathian-Kartengenerator."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen Valleys.\n"
"'altitude_chill': Reduces heat with altitude.\n"
@@ -4744,7 +4848,7 @@ msgid ""
"to become shallower and occasionally dry.\n"
"'altitude_dry': Reduces humidity with altitude."
msgstr ""
-"Kartengeneratorattribute speziell für den Täler-Kartengenerator.\n"
+"Kartengenerierungsattribute speziell für den Täler-Kartengenerator.\n"
"„altitude_chill“: Reduziert Hitze mit der Höhe.\n"
"„humid_rivers“: Erhöht Luftfeuchte um Flüsse und Wasserbecken.\n"
"„vary_river_depth“: Falls aktiviert, werden eine niedrige Luftfeuchte und\n"
@@ -4756,43 +4860,45 @@ msgstr ""
#, 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."
+
+#: 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 ""
"Kartengenerierungsattribute speziell für den flachen Kartengenerator.\n"
-"Zu einer flachen Welt können gelegentliche Seen und Hügel hinzugefügt "
-"werden.\n"
-"Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-"werden von der Standardeinstellung unverändert gelassen.\n"
-"Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-"zu deaktivieren."
+"Zu einer flachen Welt können gelegentliche Seen und Hügel hinzugefügt werden."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+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"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
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.\n"
-"Flags, welche in der Flags-Zeichenkette nicht angegeben sind, werden von\n"
-"der Standardeinstellung unverändert gelassen.\n"
-"Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit zu\n"
-"deaktivieren."
+"und das „jungles“-Flag wird ignoriert."
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Kartengenerierungsattribute speziell für den Kartengenerator v7.\n"
+"„ridges“ aktiviert die Flüsse."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4839,6 +4945,11 @@ msgid "Mapgen Fractal"
msgstr "Fraktale-Kartengenerator"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Flags spezifisch für flachen Kartengenerator"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr "V5-Kartengenerator"
@@ -4920,6 +5031,12 @@ msgstr "Maximale Breite der Schnellleiste"
#: 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 ""
"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)"
@@ -5138,15 +5255,13 @@ msgstr "Ton verstummen"
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
"Name des Kartengenerators, der für neue Welten benutzt werden soll.\n"
"Wird eine Welt im Hauptmenü erstellt, wird diese Einstellung überschrieben.\n"
-"Aktuelle stabile Kartengeneratoren:\n"
-"v5, v6, v7 (außer Schwebeländer), flat, singlenode.\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."
@@ -5171,7 +5286,8 @@ msgstr ""
"Spieler angezeigt."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+#, fuzzy
+msgid "Near clipping plane"
msgstr "Vordere Clippingebene"
#: src/settings_translation_file.cpp
@@ -5224,19 +5340,34 @@ msgid "Number of emerge threads"
msgstr "Anzahl der Erzeugerthreads"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
+"Anzahl der zu verwendeten Erzeugerthreads.\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"
+"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"
+"in „on_generated“ ausgeführt wird.\n"
+"Für viele Benutzer wird die optimale Einstellung wohl die „1“ sein."
#: src/settings_translation_file.cpp
msgid ""
@@ -5254,7 +5385,7 @@ msgstr "Anzahl der Parallax-Occlusion-Iterationen."
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Online-Inhaltespeicher"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5334,14 +5465,12 @@ msgid "Physics"
msgstr "Physik"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move key"
-msgstr "Nick-Flugtaste"
+msgstr "Nick-Bewegungstaste"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move mode"
-msgstr "Nick-Bewegungsmodus aktiviert"
+msgstr "Nick-Bewegungsmodus"
#: src/settings_translation_file.cpp
msgid ""
@@ -5413,10 +5542,6 @@ msgid "Profiling"
msgstr "Profiling"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-msgstr "Herausragende Verliese"
-
-#: 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 "
@@ -5468,7 +5593,6 @@ msgid "Report path"
msgstr "Berichtspfad"
#: src/settings_translation_file.cpp
-#, fuzzy
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"
@@ -5489,7 +5613,8 @@ msgstr ""
"READ_ITEMDEFS: 4 (deaktiviert clientseitigen Aufruf von get_item_def)\n"
"READ_NODEDEFS: 8 (deaktiviert clientseitigen Aufruf von get_node_def)\n"
"LOOKUP_NODES_LIMIT: 16 (begrenzt clientseitigen Aufruf von\n"
-"get_node auf csm_restriction_noderange)"
+"get_node auf csm_restriction_noderange)\n"
+"READ_PLAYERINFO: 32 (deaktiviert clientseitigen Aufruf von get_player_names)"
#: src/settings_translation_file.cpp
msgid "Ridge mountain spread noise"
@@ -5516,6 +5641,16 @@ msgid "Rightclick repetition interval"
msgstr "Rechtsklick-Wiederholungsrate"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel depth"
+msgstr "Flusstiefe"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Flusstiefe"
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr "Flusstiefe"
@@ -5528,6 +5663,11 @@ msgid "River size"
msgstr "Flussgröße"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Flusstiefe"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Rollback-Aufzeichnung"
@@ -5870,6 +6010,10 @@ msgid "Sneaking speed"
msgstr "Schleichgeschwindigkeit"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Ton"
@@ -6016,7 +6160,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "Die URL für den Inhaltespeicher"
#: src/settings_translation_file.cpp
msgid ""
@@ -6265,11 +6409,13 @@ msgid "Undersampling"
msgstr "Unterabtastung"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"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"
@@ -6391,6 +6537,10 @@ msgid "Varies steepness of cliffs."
msgstr "Varriiert die Steilheit von Klippen."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Vertikale Bildschirmsynchronisation."
@@ -6445,10 +6595,18 @@ msgstr ""
"Die Weite liegt grob zwischen -2 und 2."
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Gehgeschwindigkeit"
#: 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"
msgstr "Meeresspiegel"
@@ -6473,16 +6631,19 @@ msgid "Waving water"
msgstr "Wasserwellen"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Wasserwellenhöhe"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Wasserwellenlänge"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Wasserwellengeschwindigkeit"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Wasserwellengeschwindigkeit"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Wasserwellenlänge"
#: src/settings_translation_file.cpp
msgid ""
@@ -6542,10 +6703,6 @@ msgstr ""
"Dafür muss Minetest mit FreeType-Unterstüzung kompiliert worden sein."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr "Ob Verliese manchmal aus dem Gelände herausragen."
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
"Ob Blocktexturanimationen pro Kartenblock desynchronisiert sein sollten."
@@ -6651,10 +6808,6 @@ msgid "Y of upper limit of large caves."
msgstr "Y-Wert der Obergrenze von großen Höhlen."
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr "Y-Wert der Obergrenze von Lava in großen Höhlen."
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr "Y-Entfernung, über welche Hohlräume zu voller Größe expandieren."
@@ -6700,1120 +6853,20 @@ msgstr "cURL-Parallel-Begrenzung"
msgid "cURL timeout"
msgstr "cURL-Zeitüberschreitung"
-#~ msgid "Content Store"
-#~ msgstr "Inhaltespeicher"
-
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Anzahl der zu benutzenden Erzeugerthreads.\n"
-#~ "Lassen Sie dieses Feld frei oder setzen Sie es auf 0, oder erhöhen Sie "
-#~ "diese\n"
-#~ "Zahl, um mehrere Threads zu verwenden.\n"
-#~ "Auf Mehrprozessorsystemen wird dies die Geschwindigkeit der\n"
-#~ "Kartengenerierung auf Kosten von leicht fehlerhaften Höhlen stark erhöhen."
-
-#~ msgid "Pitch fly mode"
-#~ msgstr "Nick-Flugmodus"
-
-#~ msgid "Show non-free packages"
-#~ msgstr "Unfreie Pakete anzeigen"
-
-#~ msgid ""
-#~ "Show packages in the content store that do not qualify as 'free "
-#~ "software'\n"
-#~ "as defined by the Free Software Foundation."
-#~ msgstr ""
-#~ "Pakete im Inhaltespeicher anzeigen, die nicht als freie Software nach "
-#~ "der\n"
-#~ "Definition der Free Software Foundation gelten."
-
-#~ msgid "Disable MP"
-#~ msgstr "MP deaktivieren"
-
-#~ msgid "Enable MP"
-#~ msgstr "MP aktivieren"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Kein Weltname gegeben oder kein Spiel ausgewählt"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "„$1“ ist kein gültiger Bitschalter."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr ""
-#~ "Das Format besteht aus 3 mit Komma getrennten Zahlen, die sich\n"
-#~ "in Klammern befinden."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Format: <Offset>, <Skalierung>, (<AusbreitungX>, <AusbreitungY>, "
-#~ "<AusbreitungZ>),\n"
-#~ "<Seed>, <Oktaven>, <Persistenz>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Optional kann die Lückenhaftigkeit, mit einem weiteren Komma abgetrennt, "
-#~ "angehängt\n"
-#~ "werden."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Bitte geben Sie eine mit Kommata getrennte Liste von Flags an."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Mögliche Werte sind: "
-
-#~ msgid "Select path"
-#~ msgstr "Pfad auswählen"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Spiel-Mods"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Seite $1 von $2"
-
-#~ msgid "Rating"
-#~ msgstr "Bewertung"
-
-#~ msgid "Shortname:"
-#~ msgstr "Kurzname:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Erfolgreich installiert:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Unsortiert"
-
-#~ msgid "re-Install"
-#~ msgstr "Erneut installieren"
-
-#~ msgid "Local Game"
-#~ msgstr "Lokales Spiel"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Ausgewähltes Modpack deinstallieren"
-
-#~ msgid "Play Online"
-#~ msgstr "Online spielen"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normalmapping"
-
-#~ msgid "No information available"
-#~ msgstr "Keine Informationen vorhanden"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Lautstärke auf 0% gesetzt"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Lautstärke auf 100% gesetzt"
-
-#~ msgid "Print stacks"
-#~ msgstr "Stack ausgeben"
-
-#~ msgid "Use"
-#~ msgstr "Benutzen"
-
-#~ msgid "Next"
-#~ msgstr "Bild runter"
-
-#~ msgid "Prior"
-#~ msgstr "Bild hoch"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Active-Block-Modifier-Intervall"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Nur für Androidsysteme: Versucht, Inventartexturen aus 3-D-Modellen\n"
-#~ "zu erzeugen, wenn kein unterstützender Render gefunden wurde."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Meldet den Server in der Serverliste.\n"
-#~ "Wenn ein IPv6-Server angemeldet werden soll, muss serverlist_url auf\n"
-#~ "v6.servers.minetest.net gesetzt werden."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Julia-Menge: Approximative (X,Y,Z)-Skalierungen in Blöcken."
-
-#~ msgid "Autorun key"
-#~ msgstr "Automatisch-gehen-Taste"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Höhlen und Tunnel bilden sich am Schnittpunkt der zwei Rauschen"
-
-#~ msgid "Cloud height"
-#~ msgstr "Wolkenhöhe"
-
-#~ msgid "Console key"
-#~ msgstr "Konsolentaste"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Kontinuierliches Vorwärtsbewegen (nur zum Testen verwendet)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Erstellt unvorhersehbare Lavakammern in Höhlen.\n"
-#~ "Sie können das Graben erschweren. Null deaktiviert sie. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Erstellt unvorhersehbare Wasserkammern in Höhlen.\n"
-#~ "Sie können das Graben erschweren. Null deaktiviert sie. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Schleichgeschwindigkeit"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Tiefe, unter der man gigantische Höhlen finden wird."
-
-#~ msgid "Descending speed"
-#~ msgstr "Abstiegsgeschwindigkeit"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Escape-Sequenzen deaktivieren"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Escape-Sequenzen deaktivieren, z.B. Chatfarben.\n"
-#~ "Benutzen Sie dies, falls Sie einen Server laufen lassen möchten, der "
-#~ "Clients vor\n"
-#~ "0.4.14 bedienen soll und Sie die von Mods generierten Escape-Sequenzen\n"
-#~ "deaktivieren wollen."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Wackeln der Ansicht aktivieren"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Aktiviert die Auf- und Abbewegung der Ansicht beim Gehen."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Sichtfeld für Zoom"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Sichtfeld beim Zoomen, in Grad.\n"
-#~ "Dazu wird das „zoom“-Privileg auf dem Server benötigt."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Maximale Entfernung, in der Clients über die Existenz von Objekte "
-#~ "wissen,\n"
-#~ "in Kartenblöcken (16 Blöcke) angegeben."
-
-#~ msgid "General"
-#~ msgstr "Allgemein"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Höhe, in der Wolken auftauchen."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Wie groß das Gebiet ist, in dem Kartenblöcke aktiv sind, in Kartenblöcken "
-#~ "(16 Blöcke)\n"
-#~ "angegeben.\n"
-#~ "In aktiven Kartenblöcken werden Objekte geladen und ABMs ausgeführt."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "Falls aktiviert, wird die Serverstatusmeldung beim Verbinden angezeigt."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Inventarbild-Hack"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Iterationen der rekursiven Funktion.\n"
-#~ "Steuert die Skalierung mit einem sehr hohem Detailgrad."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Taste, um die Chat-Konsole im Spiel zu öffnen.\n"
-#~ "Siehe http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Taste, um die Debug-Stacks auszugeben. Für die Entwicklung benutzt.\n"
-#~ "Siehe http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Lavakammern"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Hauptmenü-Spiel-Manager"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Hauptmenü-Mod-Manager"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kartengenerierungsattribute speziell für den Kartengenerator „Täler“.\n"
-#~ "„altitude_chill“ macht höhere Höhen kälter, was ein paar Biomprobleme "
-#~ "hervorrufen\n"
-#~ "könnte.\n"
-#~ "„humid_rivers“ modifiert die Luftfeuchtigkeit um Flüssen und in Gebieten, "
-#~ "wo sich\n"
-#~ "Wasser ansammeln würde; es könnte fein abgestimmte Biomen "
-#~ "beeinträchtigen.\n"
-#~ "Die Flags-Zeichenkette modifiert den Standardwert der Engine.\n"
-#~ "Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-#~ "werden von der Standardeinstellung unverändert gelassen.\n"
-#~ "Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-#~ "zu deaktivieren."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kartengenerierungsattribute speziell für Kartengenerator v7.\n"
-#~ "Das „ridges“-Flag aktviert die Flüsse.\n"
-#~ "Schwebeländer (engl. „floatlands“) sind momentan experimentell\n"
-#~ "und können in Zukunft geändert werden.\n"
-#~ "Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-#~ "werden von der Standardeinstellung unverändert gelassen.\n"
-#~ "Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-#~ "zu deaktivieren."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Gigantische Höhlen tiefe"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Rauschen für gigantische Höhlen"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "An dieser Tiefe und darunter bilden sich gigantische Höhlen."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr "Maximale Gesamtanzahl der Blöcke, die gleichzeitig gesendet werden."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr ""
-#~ "Maximale Anzahl der Blöcke, die gleichzeitig je Client gesendet werden."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Max. gleichzeitig versendete Blöcke (gesamt)"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "Modspeicher: Details-URL"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "Modspeicher: Download-URL"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Modspeicher: Listen-URL"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Name des Kartengenerators, der für die Erstellung neuer Welten\n"
-#~ "verwendet werden soll. Mit der Erstellung einer Welt im Hauptmenü\n"
-#~ "wird diese Einstellung überschrieben."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Flussrauschen – Flüsse erscheinen in der Nähe von null"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Größe der Chunks, die gleichzeitig vom Kartengenerator erzeugt werden,\n"
-#~ "in Kartenblöcken (16×16×16 Blöcke)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Ältere Server unterstützen"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "Die Höhe, ab der die Temperatur um 20 °C fällt"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Das Render-Backend für Irrlicht."
-
-#~ msgid "Use key"
-#~ msgstr "Benutztaste"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Mip-Mapping benutzen, um Texturen zu skalieren. Kann die Performanz\n"
-#~ "leicht erhöhen."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "C-Täler-Flags"
-
-#~ msgid "Water Features"
-#~ msgstr "Wasserkammern"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Ob ältere Server vor Protokollversion 25 unterstützt werden sollen.\n"
-#~ "Aktivieren Sie dies, falls Sie sich mit Servern der Version 0.4.12 und\n"
-#~ "davor verbinden möchten. Server ab 0.4.13 werden funktionieren,\n"
-#~ "Server der Version 0.4.12-dev könnten funktionieren.\n"
-#~ "Die Deaktivierung dieser Einstellung wird Ihr Passwort besser schützen."
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Y-Höhe von erhöhtem Gelände (Oberseite von Klippen)."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Modpacks verstecken"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Feststellen"
-
-#~ msgid "Comma"
-#~ msgstr "Komma"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Final"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Minus"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Punkt"
-
-#~ msgid "Plus"
-#~ msgstr "Plus"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Verändert die Größe der Wüsten und Strände im\n"
-#~ "Kartengenerator v6. Falls Schneebiome aktiviert sind, wird\n"
-#~ "„mgv6_freq_desert“ ignoriert."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Legt die Geländeform fest.\n"
-#~ "Die 3 Zahlen in Klammern steuern die Skalierung des\n"
-#~ "Geländes, die 3 Zahlen sollten gleich sein."
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Biomhitzen-Rauschparameter"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Biomluftfeuchtigkeitsübergangs-Rauschparameter"
-
-#~ msgid "Mapgen biome humidity noise parameters"
-#~ msgstr "Biomluftfeuchtigkeits-Rauschparameter"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Höhlenbreite für den flachen Kartengenerator"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "cave1-Rauschparameter für flachen Kartengenerator"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "cave2-Rauschparameter für flachen Kartengenerator"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr "Fülltiefenrauschparameter für flachen Kartengenerator"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Tiefe für große Höhlen für den flachen Kartengenerator"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Gelände-Rauschparameter für flachen Kartengenerator"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Höhlenbreite für den Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "cave1-Rauschparameter für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "cave2-Rauschparameter für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr "Fülltiefenrauschparameter für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Fraktale-Kartengenerator-Fraktal"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Iterationen für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "w-Parameter für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "x-Parameter für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "y-Parameter für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "z-Parameter für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Versatz für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Skalierung für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Meeresgrundrauschparameter für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "w-Ausschnitt für Fraktale-Kartengenerator"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Höhlenbreite für v5-Kartengenerator"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "cave1-Höhlen-Rauschparameter für v5-Kartengenerator"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "cave2-Höhlen-Rauschparameter für v5-Kartengenerator"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Faktor-Rauschparameter für v5-Kartengenerator"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr "Fülltiefen-Rauschparameter für v5-Kartengenerator"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Höhen-Rauschparameter für v5-Kartengenerator"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Apfelbaum-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Strandhäufigkeit für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Strand-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Biom-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Höhlen-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Wüsten-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 mud noise parameters"
-#~ msgstr "Schlamm-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 steepness noise parameters"
-#~ msgstr "Steilheits-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 terrain altitude noise parameters"
-#~ msgstr "Geländehöhen-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 terrain base noise parameters"
-#~ msgstr "Basisgelände-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v6 trees noise parameters"
-#~ msgstr "Baum-Rauschparameter für v6-Kartengenerator"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Höhlenbreite für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 cave1 noise parameters"
-#~ msgstr "cave1-Höhlen-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 cave2 noise parameters"
-#~ msgstr "cave2-Höhlen-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr "Fülltiefen-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Höhenauswahl-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 mountain noise parameters"
-#~ msgstr "Berg-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 ridge noise parameters"
-#~ msgstr "Fluss-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 ridge water noise parameters"
-#~ msgstr "Flusswasser-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 terrain altitude noise parameters"
-#~ msgstr "Geländehöhen-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 terrain base noise parameters"
-#~ msgstr "Basisgelände-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid "Mapgen v7 terrain persistation noise parameters"
-#~ msgstr "Geländepersistenz-Rauschparameter für v7-Kartengenerator"
-
-#~ msgid ""
-#~ "Noise parameters for biome API temperature, humidity and biome blend."
-#~ msgstr ""
-#~ "Rauschparameter für Temperatur-, Luftfeuchtigkeits- und Biomübergänge\n"
-#~ "in der Biom-API."
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Wo der Kartengenerator aufhört.\n"
-#~ "Bitte beachten Sie:\n"
-#~ "- Begrenzt auf 31000 (größere Werte sind wirkungslos).\n"
-#~ "- Der Kartengenerator arbeitet in Gruppen von 80×80×80 Blöcken\n"
-#~ " (5×5×5 Kartenblöcke).\n"
-#~ "- Diese Gruppen haben einen Abstand von [-32, -32] Blöcken vom "
-#~ "Ursprung.\n"
-#~ "- Nur Gruppen, welche innerhalb der von map_generation_limit "
-#~ "definierten Grenze\n"
-#~ " liegen, werden erzeugt."
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr "Detaillierte Mod-Profildaten. Nützlich für Mod-Entwickler."
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "Detailliertes Mod-Profiling"
-
-#~ msgid ""
-#~ "How many blocks are flying in the wire simultaneously for the whole "
-#~ "server."
-#~ msgstr ""
-#~ "Wie viele Kartenblöcke gleichzeitig für den gesamten Server auf der "
-#~ "Leitung unterwegs sind."
-
-#~ msgid "How many blocks are flying in the wire simultaneously per client."
-#~ msgstr ""
-#~ "Wie viele Kartenblöcke gleichzeitig pro Client auf der Leitung unterwegs "
-#~ "sind."
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Nützlich für Mod-Entwickler."
-
-#~ msgid "No of course not!"
-#~ msgstr "Nein, natürlich nicht!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Öffentliche Serverliste"
-
-#~ msgid "No!!!"
-#~ msgstr "Nein!!!"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them.\n"
-#~ "\"altitude_chill\" makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "\"humid_rivers\" modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool. It may interfere with delicately adjusted "
-#~ "biomes."
-#~ msgstr ""
-#~ "Kartengenerierungsattribute speziell für den Täler-Kartengenerator.\n"
-#~ "Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-#~ "werden von der Standardeinstellung unverändert gelassen.\n"
-#~ "Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-#~ "zu deaktivieren.\n"
-#~ "„altitude_chill“ macht höhere Höhen kälter, was zu einigen Biomproblemen "
-#~ "führen könnte.\n"
-#~ "„humid_rivers“ modifiziert die Luftfeuchtigkeit um Flüssen und in "
-#~ "Gebieten, in denen das Wasser sich in Pfützen ansammeln würde.\n"
-#~ "Dies könnte mit fein abgestimmten Biomen zu Konflikten führen."
-
-#, fuzzy
-#~ msgid "\""
-#~ msgstr "â€"
-
-#~ msgid "Enable a bit lower water surface, so it doesn't "
-#~ msgstr "Senkt ein bisschen den Wasserspiegel, so tut es nicht "
-
-#~ msgid "If enabled, "
-#~ msgstr "Wenn aktiviert, "
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "Neustart nach Ändern des Treibers erforderlich"
-
-#~ msgid "Downloading"
-#~ msgstr "Lade herunter"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr "Linksklick: Alle Items bewegen, Rechtsklick: Einzelnes Item bewegen"
-
-#~ msgid "is required by:"
-#~ msgstr "wird benötigt von:"
-
-#~ msgid "Configuration saved. "
-#~ msgstr "Konfiguration gespeichert. "
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Warnung: Konfiguration nicht konsistent. "
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Kann Welt nicht erstellen: Name enthält ungültige Zeichen"
-
-#~ msgid "Show Public"
-#~ msgstr "Zeige öffentliche"
-
-#~ msgid "Show Favorites"
-#~ msgstr "Zeige Favoriten"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Lasse die Adresse frei um einen eigenen Server zu starten."
-
-#~ msgid "Create world"
-#~ msgstr "Welt erstellen"
-
-#~ msgid "Address required."
-#~ msgstr "Adresse benötigt."
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Kann Welt nicht löchen: Nichts ausgewählt"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Zu löschende Dateien"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Kann Welt nicht erstellen: Keine Spiele gefunden"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Kann Welt nicht konfigurieren: Nichts ausgewählt"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Es konnten nicht alle Welt Dateien gelöscht werden"
-
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "Steuerung:\n"
-#~ "- WASD: Gehen\n"
-#~ "- Linksklick: Graben/Schlagen\n"
-#~ "- Rechtsklick: Platzieren\n"
-#~ "- Mausrad: Item auswählen\n"
-#~ "- 0...9: Item auswählen\n"
-#~ "- Shift: Schleichen\n"
-#~ "- R: alle geladenen Blöcke anzeigen (wechseln)\n"
-#~ "- I: Inventar\n"
-#~ "- T: Chat\n"
-
-#~ msgid "Delete map"
-#~ msgstr "Karte löschen"
-
-#~ msgid "KEYBINDINGS"
-#~ msgstr "TASTEN EINST."
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "Warnung: Einige konfigurierte Mods fehlen.\n"
-#~ "Mod Einstellungen werden gelöscht wenn die Konfiguration gespeichert "
-#~ "wird. "
+#~ msgid "Projecting dungeons"
+#~ msgstr "Herausragende Verliese"
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Warnung: Einige Mods sind noch nicht konfiguriert.\n"
-#~ "Sie werden aktiviert wenn die Konfiguration gespeichert wird. "
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "Ob Verliese manchmal aus dem Gelände herausragen."
-#~ msgid "Add mod:"
-#~ msgstr "Modifikation hinzufügen:"
+#~ msgid "Waving Water"
+#~ msgstr "Wasserwellen"
-#~ msgid "MODS"
-#~ msgstr "MODS"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Y-Wert der Obergrenze von Lava in großen Höhlen."
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "TEXTUREN PAKETE"
+#~ msgid "Select Package File:"
+#~ msgstr "Paket-Datei auswählen:"
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "EINZELSPIELER"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "Endliches Wasser"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Lade Inventarbilder vor"
-
-#~ msgid "SETTINGS"
-#~ msgstr "EINSTELLUNGEN"
-
-#~ msgid "Password"
-#~ msgstr "Passwort"
-
-#~ msgid "Name"
-#~ msgstr "Name"
-
-#~ msgid "START SERVER"
-#~ msgstr "SERVER STARTEN"
-
-#~ msgid "CLIENT"
-#~ msgstr "CLIENT"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Mod hinzufügen"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Ausgewählte Mod löschen"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "SPIEL ÄNDERN"
-
-#~ msgid "new game"
-#~ msgstr "neues Spiel"
-
-#~ msgid "Mods:"
-#~ msgstr "Mods:"
-
-#~ msgid "GAMES"
-#~ msgstr "SPIELE"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "Gamemgr: Kann mod \"$1\" nicht in Spiel \"$2\" kopieren"
-
-#~ msgid " MB/s"
-#~ msgstr " MB/s"
-
-#~ msgid " KB/s"
-#~ msgstr " KB/s"
-
-#~ msgid "Touch free target"
-#~ msgstr "Berührungsfreies Ziel"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "Auf Menüelemente angewandter Skalierfaktor: "
-
-#~ msgid "Wanted FPS"
-#~ msgstr "Gewünschte Bildwiederholrate"
-
-#~ msgid "Vertical spawn range"
-#~ msgstr "Vertikaler Startpunktbereich"
-
-#~ msgid "Vertical initial window size."
-#~ msgstr "Anfängliche Fensterhöhe."
-
-#~ msgid ""
-#~ "The allowed adjustment range for the automatic rendering range "
-#~ "adjustment.\n"
-#~ "Set this to be equal to viewing range minimum to disable the auto-"
-#~ "adjustment algorithm."
-#~ msgstr ""
-#~ "Die erlaubte Anpassungsreichweite für die automatische Render-"
-#~ "Reichweitenanpassung.\n"
-#~ "Setzen Sie den Wert auf den gleichen Wert wie die minimale Sichtweite, um "
-#~ "den automatischen\n"
-#~ "Anpassungsalgorithmus zu deaktivieren."
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "Texturen vorgenerieren"
-
-#~ msgid ""
-#~ "Pre-generate all item visuals used in the inventory.\n"
-#~ "This increases startup time, but runs smoother in-game.\n"
-#~ "The generated textures can easily exceed your VRAM, causing artifacts in "
-#~ "the inventory."
-#~ msgstr ""
-#~ "Alle Itembilder im Inventar vor dem Spielstart erzeugen.\n"
-#~ "Dies erhöht die Vorbereitungszeit, wird aber zu einem flüssigerem Spiel "
-#~ "führen.\n"
-#~ "Die erzeugten Texturen können Ihr VRAM leicht überlasten, was Artefakte "
-#~ "im Inventar\n"
-#~ "verursachen kann."
-
-#~ msgid "New style water"
-#~ msgstr "Wasser im neuen Stil"
-
-#~ msgid ""
-#~ "Minimum wanted FPS.\n"
-#~ "The amount of rendered stuff is dynamically set according to this. and "
-#~ "viewing range min and max."
-#~ msgstr ""
-#~ "Minimal gewünschte Bildwiederholrate.\n"
-#~ "Die Anzahl der berechneten Dinge wird anhand dieses Werts dynamisch "
-#~ "angepasst; auch\n"
-#~ "die minimale und maximale Sichtweite werden angepasst."
-
-#~ msgid ""
-#~ "Maximum distance above water level for player spawn.\n"
-#~ "Larger values result in spawn points closer to (x = 0, z = 0).\n"
-#~ "Smaller values may result in a suitable spawn point not being found,\n"
-#~ "resulting in a spawn at (0, 0, 0) possibly buried underground."
-#~ msgstr ""
-#~ "Höchstabstand über dem Meeresspiegel für den Spieler-\n"
-#~ "startpunkt. Größere Werte führen zu Startpunkten näher an\n"
-#~ "(x = 0, z = 0). Kleinere Werte können dazu führen, dass kein\n"
-#~ "brauchbarer Startpunkt gefunden wird, was wiederum zu einem\n"
-#~ "Startpunkt bei (0, 0, 0) führt, der möglicherweise im Untergrund\n"
-#~ "eingegraben ist."
-
-#~ msgid "Mapgen fractal mandelbrot slice w"
-#~ msgstr "Mandelbrot-w-Ausschnitt für Fraktale-Kartenerzeuger"
-
-#~ msgid "Mapgen fractal mandelbrot scale"
-#~ msgstr "Mandelbrotskalierung für Fraktale-Kartenerzeuger"
-
-#~ msgid "Mapgen fractal mandelbrot offset"
-#~ msgstr "Mandelbrotversatz für Fraktale-Kartenerzeuger"
-
-#~ msgid "Mapgen fractal mandelbrot iterations"
-#~ msgstr "Mandelbrotiterationen für Fraktale-Kartenerzeuger"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen fractal.\n"
-#~ "'julia' selects a julia set to be generated instead of a mandelbrot set.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kartengenerierungsattribute, die speziell für den Fraktale-\n"
-#~ "Kartenerzeuger sind.\n"
-#~ "„julia“ wählt für die Erzeugung eine Julia-Menge statt einer\n"
-#~ "Mandelbrotmenge aus.\n"
-#~ "Bitschalter, welche in der Bitschalterzeichenkette nicht angegeben sind,\n"
-#~ "werden von der Standardeinstellung unverändert gelassen.\n"
-#~ "Bitschalter, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-#~ "zu deaktivieren."
-
-#~ msgid ""
-#~ "Mandelbrot set: W co-ordinate of the generated 3D slice of the 4D shape.\n"
-#~ "Range roughly -2 to 2."
-#~ msgstr ""
-#~ "Madnelbrotmenge: W-Koordinate des generierten 3D-Ausschnitts der 4D-"
-#~ "Form.\n"
-#~ "Die Weite liegt grob zwischen -2 und 2."
-
-#~ msgid ""
-#~ "Mandelbrot set: Iterations of the recursive function.\n"
-#~ "Controls scale of finest detail."
-#~ msgstr ""
-#~ "Mandelbrotmenge: Iterationen der rekursiven Funktion.\n"
-#~ "Steuert die Skalierung mit einem sehr hohem Detailgrad."
-
-#~ msgid "Mandelbrot set: Approximate (X,Y,Z) scales in nodes."
-#~ msgstr "Mandelbrotmenge: Approximative (X,Y,Z)-Skalierungen in Nodes."
-
-#~ msgid ""
-#~ "Mandelbrot set: (X,Y,Z) offsets from world centre.\n"
-#~ "Range roughly -2 to 2, multiply by m_scale for offsets in nodes."
-#~ msgstr ""
-#~ "Mandelbrotmenge: (X,Y,Z)-Versatz vom Mittelpunkt der Welt.\n"
-#~ "Reichweite liegt grob von -2 bis 2, wird mit m_scale für\n"
-#~ "Versätze in Nodes multipliziert."
-
-#~ msgid ""
-#~ "Key for increasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Taste zur Erhöhung der Sichtweite. Verändert die minimale Sichtweite.\n"
-#~ "Siehe http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for decreasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Taste zur Reduzierung der Sichtweite. Verändert die minimale Sichtweite.\n"
-#~ "Siehe http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Julia set: W value determining the 4D shape.\n"
-#~ "Range roughly -2 to 2."
-#~ msgstr ""
-#~ "Julia-Menge: W-Wert, der die 4D-Form festlegt.\n"
-#~ "Weite liegt grob zwischen -2 und 2."
-
-#~ msgid ""
-#~ "Julia set: (X,Y,Z) offsets from world centre.\n"
-#~ "Range roughly -2 to 2, multiply by j_scale for offsets in nodes."
-#~ msgstr ""
-#~ "Julia-Menge: (X,Y,Z)-Versatz vom Mittelpunkt der Welt.\n"
-#~ "Reichweite liegt grob von -2 bis 2, wird mit j_scale für Versätze in\n"
-#~ "Nodes multipliziert."
-
-#~ msgid "Enable selection highlighting for nodes (disables selectionbox)."
-#~ msgstr "Blöcke bei Auswahl aufleuchten lassen (Deaktiviert die Auswahlbox)."
-
-#~ msgid ""
-#~ "Enable a bit lower water surface, so it doesn't \"fill\" the node "
-#~ "completely.\n"
-#~ "Note that this is not quite optimized and that smooth lighting on the\n"
-#~ "water surface doesn't work with this."
-#~ msgstr ""
-#~ "Eine etwas niedrigere Wasseroberfläche aktivieren, damit der Node\n"
-#~ "nicht vollständig „gefüllt“ wird. Beachten Sie, dass dies nicht wirklich\n"
-#~ "optimiert wurde, und dass weiches Licht auf der Wasseroberfläche\n"
-#~ "nicht mit dieser Einstellung funktioniert."
-
-#~ msgid "Item textures..."
-#~ msgstr "Inventarbilder ..."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag controls the rivers.\n"
-#~ "The default flags set in the engine are: mountains, ridges\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kartengenerierungsattribute speziell für den Kartengenerator v7.\n"
-#~ "Das „ridges“-Flag steuert die Flüsse.\n"
-#~ "Die von der Engine standardmäßig gesetzten Flags lauten:\n"
-#~ "„mountains, ridges“.\n"
-#~ "Die Flags-Zeichenkette modifiert den Standardwert der Engine.\n"
-#~ "Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-#~ "werden von der Standardeinstellung unverändert gelassen.\n"
-#~ "Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-#~ "zu deaktivieren."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen flat.\n"
-#~ "Occasional lakes and hills can be added to the flat world.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kartengenerierungsattribute speziell für den flachen Kartengenerator.\n"
-#~ "Gelegentlich werden Seen und Hügel zur flachen Welt hinzugefügt.\n"
-#~ "Die von der Engine standardmäßig gesetzten Flags sind: keine.\n"
-#~ "Die Flags-Zeichenkette modifiert den Standardwert der Engine.\n"
-#~ "Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-#~ "werden von der Standardeinstellung unverändert gelassen.\n"
-#~ "Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-#~ "zu deaktivieren."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Erweiterte Einstellungen"
-
-#~ msgid "View"
-#~ msgstr "Anzeigen"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kartengenerierungsattribute speziell für Kartengenerator v7.\n"
-#~ "„ridges“ aktiviert die Flüsse.\n"
-#~ "Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-#~ "werden von der Standardeinstellung unverändert gelassen.\n"
-#~ "Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-#~ "zu deaktivieren."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kartengenerierungsattribute speziell für Kartengenerator v5.\n"
-#~ "Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-#~ "werden von der Standardeinstellung unverändert gelassen.\n"
-#~ "Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-#~ "zu deaktivieren."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Kartengenerierungsattribute speziell für Kartengenerator Carpathian.\n"
-#~ "Flags, welche in der Flags-Zeichenkette nicht angegeben sind,\n"
-#~ "werden von der Standardeinstellung unverändert gelassen.\n"
-#~ "Flags, welche mit „no“ beginnen, werden benutzt, um sie explizit\n"
-#~ "zu deaktivieren."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Filmmodus umschalten"
diff --git a/po/dv/minetest.po b/po/dv/minetest.po
index 7486e6dd9..2f252435d 100644
--- a/po/dv/minetest.po
+++ b/po/dv/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Dhivehi (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Dhivehi <https://hosted.weblate.org/projects/minetest/"
"minetest/dv/>\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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -24,7 +24,7 @@ msgstr "Þ‰Þ¦ÞƒÞªÞˆÞ©"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "Þ‰Þ®Þ‘Þ¬Þ‡Þ°ÞŠÞ¦Þ‹Þ¦ ÞÞªÞ‡Þ­ ÞÞ°Þ†Þ°ÞƒÞ¨Þ•Þ°Þ“Þ¬Þ‡Þ°ÞŽÞ¦Þ‡Þ¨ Þ‰Þ¦Þ‡Þ°ÞÞ¦ÞÞ¦Þ‡Þ¬Þ‡Þ° Þ–Þ¬Þ€Þ¨Þ‡Þ°Þ–Þ¬:"
#: builtin/fstk/ui.lua
@@ -118,13 +118,28 @@ msgid "Mod:"
msgstr "Þ‰Þ®Þ‘Þ°:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+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 "Þ‡Þ¬Þ‡Þ°ÞˆÞ¬ÞÞ° Þ‘Þ¨Þ•Þ¬Þ‚Þ°Þ‘Þ¬Þ‚Þ°ÞÞ©Þ‡Þ¬Þ‡Þ° ނެތް."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr ""
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "ÞÞ§Þ’Þ¨Þ‰ÞªÞ‚Þ«Þ‚Þ° Þ‘Þ¨Þ•Þ¬Þ‚Þ°Þ‘Þ¬Þ‚Þ°Þީތައް:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "ÞÞ§Þ’Þ¨Þ‰ÞªÞ‚Þ«Þ‚Þ° Þ‘Þ¨Þ•Þ¬Þ‚Þ°Þ‘Þ¬Þ‚Þ°Þީތައް:"
@@ -492,11 +507,6 @@ msgstr "Þ‚Þ¦Þ‚Þ°Þ„Þ¦Þ‹Þ¦ÞÞªÞ†ÞªÞƒÞ­"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "Þ‰Þ®Þ‘Þ°ÞŽÞ¬ ÞŠÞ¦Þ‡Þ¨ÞÞ° އިހްތިޔާރުކުރޭ:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "އިހްތިޔާރުކުރެވިފައިވާ Þ‰Þ®Þ‘Þ° Þ‘Þ¨ÞÞ©Þ“Þ°Þ†ÞªÞƒÞ­"
@@ -783,11 +793,11 @@ msgid "Waving Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
+msgid "Waving Liquids"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
+msgid "Waving Plants"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -1523,11 +1533,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1644,10 +1654,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr ""
@@ -1676,6 +1682,10 @@ msgid "Toggle noclip"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr ""
@@ -1782,6 +1792,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr ""
@@ -1812,6 +1826,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1852,6 +1870,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -2062,7 +2084,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2147,6 +2169,10 @@ msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2304,6 +2330,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2362,6 +2392,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2370,6 +2404,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2452,10 +2490,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2478,6 +2528,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2498,7 +2554,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2546,6 +2602,10 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2856,6 +2916,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3080,6 +3147,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3330,6 +3415,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3358,6 +3451,10 @@ msgid "Inc. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4122,7 +4219,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4195,6 +4292,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4206,7 +4310,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4264,6 +4368,11 @@ msgstr "Þ‰Þ¬Þ•Þ°Þ–Þ¬Þ‚Þ°"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Þ‰Þ¬Þ•Þ°Þ–Þ¬Þ‚Þ°"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Þ‰Þ¬Þ•Þ°Þ–Þ¬Þ‚Þ°"
@@ -4347,6 +4456,12 @@ 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 ""
"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)"
@@ -4531,10 +4646,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4553,7 +4666,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4605,16 +4718,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4766,10 +4881,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4853,6 +4964,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -4865,6 +4984,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5147,6 +5270,10 @@ msgid "Sneaking speed"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5455,10 +5582,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5561,6 +5689,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5610,10 +5742,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5638,15 +5778,15 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+msgid "Waving water wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water length"
+msgid "Waving water wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
+msgid "Waving water wavelength"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5683,10 +5823,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5770,10 +5906,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5817,66 +5949,6 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
-#~ msgid "Enable MP"
-#~ msgstr "Þ‡Þ¬Þ‰Þ°.Þ•Þ© Þ–Þ¦Þ‡Þ°ÞÞ§"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "ދުނިޔެއެއްގެ ނަމެއް ދެއްވިފައެއް ނެތް ނުވަތަ ގޭމެއް އިހްތިޔާރުކުރެއްވިފައެއް ނެތް"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" Þ‡Þ¦Þ†Þ© ÞÞ¦Þ‡Þ°Þ€Þ¦ Þ‹Þ¨Þ‹Þ¦Þ‡Þ¬Þ‡Þ° Þ‚Þ«Þ‚Þ°."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "ފޯމެޓަކީ ބްރެކެޓްތެރޭގައި، ކޮމާއިން ވަކިކުރެވިފައިވާ 3 އަދަދު."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Þ†Þ®Þ‰Þ§Þ‡Þ¨Þ‚Þ° ÞˆÞ¦Þ†Þ¨Þ†ÞªÞƒÞ¬ÞˆÞ¨ÞŠÞ¦Þ‡Þ¨ÞˆÞ§ ދިދަތަކުގެ ÞÞ¨ÞÞ°Þ“Þ¬Þ‡Þ° ÞÞ¨Þ”ÞªÞ‡Þ°ÞˆÞ§."
-
-#~ msgid "Possible values are: "
-#~ msgstr "ވެދާނެ އަދަދުތަކަކީ: "
-
-#~ msgid "Select path"
-#~ msgstr "މަގު އިހްތިޔާރުކުރޭ"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "ÞÞ¦Þ„Þ°ÞŽÞ­Þ‰Þ° މޮޑްތައް"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "$2ÞŽÞ¬ ÞÞ¦ÞŠÞ°Þ€Þ§ 1$"
-
-#~ msgid "Rating"
-#~ msgstr "ÞˆÞ¦Þ‚Þ¦ÞˆÞ¦ÞƒÞª"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Þ†Þ§Þ‰Þ¨Þ”Þ§Þ„ÞªÞ†Þ®ÞÞ° Þ‡Þ¦Þ…Þ§ÞŠÞ¦Þ‡Þ¨:"
-
-#~ msgid "Unsorted"
-#~ msgstr "ތަރުތީބުނުކޮÞÞ°"
-
-#~ msgid "re-Install"
-#~ msgstr "Þ‡Þ¦ÞÞªÞ‚Þ° Þ‡Þ¦Þ…Þ§"
-
-#~ msgid "Local Game"
-#~ msgstr "ÞÞ¯Þ†Þ¦ÞÞ° ÞŽÞ­Þ‰Þ¬Þ‡Þ¦"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "އިހްތިޔާރުކުރެވިފައިވާ Þ‰Þ®Þ‘Þ°Þ•Þ¬Þ†Þ° Þ‘Þ¨ÞÞ©Þ“Þ°Þ†ÞªÞƒÞ­"
-
-#~ msgid "Play Online"
-#~ msgstr "Þ‡Þ®Þ‚Þ°ÞÞ¦Þ‡Þ¨Þ‚Þ°Þ†Þ®ÞÞ° Þ†ÞªÞšÞ­"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Þ‰Þ¬Þ‡Þ¨Þ‚Þ° Þ‰Þ¬Þ‚Þ« ÞŽÞ­Þ‰Þ° Þ‰Þ¬Þ‚Þ­Þ–Þ¦ÞƒÞ¬"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Þ‰Þ¬Þ‡Þ¨Þ‚Þ° Þ‰Þ¬Þ‚Þ« Þ‰Þ®Þ‘Þ° Þ‰Þ¬Þ‚Þ­Þ–Þ¦ÞƒÞª"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "އާ ދުނިޔެއެއް ހަދާއިރު ބޭނުންކުރަންވީ މެޕް ޖެނެރޭޓަރ،\n"
-#~ "Þ‰Þ¬Þ‡Þ¨Þ‚Þ° Þ‰Þ¬Þ‚Þ« Þ‡Þ¨Þ‚Þ° Þ‹ÞªÞ‚Þ¨Þ”Þ¬Þ‡Þ¬Þ‡Þ° Þ‡ÞªÞŠÞ¦Þ‡Þ°Þ‹Þ§Þ‡Þ¨ÞƒÞª Þ‰Þ©ÞŽÞ¬ Þ‰Þ¦Þ‡Þ°Þ—Þ¦ÞÞ° Þ„Þ§ÞƒÞª Þ€Þ¨Þ‚ÞŽÞ§Þ‚Þ¬."
-
-#~ msgid "Hide mp content"
-#~ msgstr "mp ge thakethi foruvaa"
+#, fuzzy
+#~ msgid "Select Package File:"
+#~ msgstr "Þ‰Þ®Þ‘Þ°ÞŽÞ¬ ÞŠÞ¦Þ‡Þ¨ÞÞ° އިހްތިޔާރުކުރޭ:"
diff --git a/po/el/minetest.po b/po/el/minetest.po
new file mode 100644
index 000000000..18e4b8a14
--- /dev/null
+++ b/po/el/minetest.po
@@ -0,0 +1,5893 @@
+msgid ""
+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 <EMAIL@ADDRESS>\n"
+"Language-Team: Greek <https://hosted.weblate.org/projects/minetest/minetest/"
+"el/>\n"
+"Language: el\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.9-dev\n"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "Respawn"
+msgstr ""
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "You died"
+msgstr "Πέθανες"
+
+#: builtin/fstk/ui.lua
+#, fuzzy
+msgid "An error occurred in a Lua script:"
+msgstr "Ένα σφάλμα Ï€Ïοέκυψε σε ένα σενάÏιο Lua, όπως ένα mod:"
+
+#: builtin/fstk/ui.lua
+msgid "An error occurred:"
+msgstr "ΠαÏουσιάστηκε σφάλμα:"
+
+#: builtin/fstk/ui.lua
+msgid "Main menu"
+msgstr "ΚÏÏιο μενοÏ"
+
+#: builtin/fstk/ui.lua
+msgid "Ok"
+msgstr "Οκ"
+
+#: builtin/fstk/ui.lua
+msgid "Reconnect"
+msgstr "ΕπανασÏνδεση"
+
+#: builtin/fstk/ui.lua
+msgid "The server has requested a reconnect:"
+msgstr "Ο διακομιστής ζήτησε επανασÏνδεση:"
+
+#: builtin/mainmenu/common.lua src/client/game.cpp
+msgid "Loading..."
+msgstr "ΦόÏτωση..."
+
+#: builtin/mainmenu/common.lua
+msgid "Protocol version mismatch. "
+msgstr "Ασυμφωνία έκδοσης Ï€Ïωτοκόλλου. "
+
+#: builtin/mainmenu/common.lua
+msgid "Server enforces protocol version $1. "
+msgstr "Ο διακομιστής επιβάλλει το Ï€Ïωτόκολλο έκδοσης $1. "
+
+#: builtin/mainmenu/common.lua
+msgid "Server supports protocol versions between $1 and $2. "
+msgstr "Ο διακομιστής υποστηÏίζει εκδόσεις Ï€Ïωτοκόλλων Î¼ÎµÏ„Î±Î¾Ï $1 και $2. "
+
+#: builtin/mainmenu/common.lua
+msgid "Try reenabling public serverlist and check your internet connection."
+msgstr ""
+"Δοκιμάστε να ενεÏγοποιήσετε ξανά τη δημόσια λίστα διακομιστών και ελέγξτε τη "
+"σÏνδεσή σας στο διαδίκτυο."
+
+#: builtin/mainmenu/common.lua
+msgid "We only support protocol version $1."
+msgstr "ΥποστηÏίζουμε μόνο το Ï€Ïωτόκολλο έκδοσης $1."
+
+#: builtin/mainmenu/common.lua
+msgid "We support protocol versions between version $1 and $2."
+msgstr "ΥποστηÏίζουμε τις εκδόσεις Ï€Ïωτοκόλλων Î¼ÎµÏ„Î±Î¾Ï Ï„Î·Ï‚ έκδοσης $1 και $2."
+
+#: 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 builtin/mainmenu/tab_content.lua
+msgid "Dependencies:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable modpack"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable modpack"
+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_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 game description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No hard dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No modpack description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional 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/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
+msgid "Save"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "World:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "All packages"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back to Main Menu"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Downloading and installing $1, please wait..."
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Failed to download $1"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Install"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No packages could be retrieved"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No results"
+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 "Texture packs"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Uninstall"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Update"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "A world named \"$1\" already exists"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Create"
+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 "Download one from minetest.net"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Game"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Mapgen"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "No game selected"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Seed"
+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 "World name"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "You have no games installed."
+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 "Rename Modpack:"
+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_settings_advanced.lua
+msgid "(No description of setting given)"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "2D Noise"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "< Back to Settings page"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Browse"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Disabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Edit"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Lacunarity"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Octaves"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Persistance"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid integer."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid number."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Restore Default"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
+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 "Show technical names"
+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 "X"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "absvalue"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 (Enabled)"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 mods"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Failed to install $1 to $2"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find real mod name for: $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: file: \"$1\""
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to find a valid mod or modpack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a $1 as a texture pack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a game as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a mod as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a modpack as a $1"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Browse online content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Disable Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Information:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Installed Packages:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "No dependencies."
+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 "Uninstall Package"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Use Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Active Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Credits"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Announce Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Bind Address"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Configure"
+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 Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Host Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Name/Password"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "New"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "No world created or selected!"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Play Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Port"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Select World:"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Server Port"
+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 "Connect"
+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 "Del. Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
+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 "Ping"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "PvP enabled"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "3D Clouds"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "4x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "8x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "All Settings"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Antialiasing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Are you sure to reset your singleplayer world?"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Autosave Screen Size"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bump Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Connected Glass"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Fancy Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Generate Normal Maps"
+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 "No"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Mipmap"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Highlighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Outlining"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "None"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Water"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Parallax Occlusion"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Particles"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Reset singleplayer world"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Screen:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Settings"
+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 "Simple Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Smooth Lighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Texturing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "To enable shaders the OpenGL driver needs to be used."
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Tone Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Touchthreshold: (px)"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Trilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Liquids"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Plants"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Yes"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Config mods"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Main"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Start Singleplayer"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Connection timed out."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Done!"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Loading textures..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Rebuilding shaders..."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Connection error (timed out?)"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Could not find or load game \""
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Invalid gamespec."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Main Menu"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "No world selected and no address provided. Nothing to do."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Player name too long."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Please choose a name!"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided password file failed to open: "
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided world path doesn't exist: "
+msgstr ""
+
+#: src/client/fontengine.cpp
+msgid "needs_fallback_font"
+msgstr ""
+
+#: src/client/game.cpp
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Address: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Creative Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Damage: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Port: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Public: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- PvP: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Server Name: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Change Password"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Client side scripting is disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Connecting to server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Continue"
+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 "Creating client..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Creating server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info and profiler graph hidden"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info, profiler graph, and wireframe hidden"
+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
+msgid "Disabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Enabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to Menu"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to OS"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fast 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 "Fly mode disabled"
+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 "Fog disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fog enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game info:"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game paused"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Hosting server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Item definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "KiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Media..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "MiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap hidden"
+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 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 "Noclip 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 "Node definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Off"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "On"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Profiler graph shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Remote server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Resolving address..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Shutting down..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Singleplayer"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound Volume"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound muted"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound unmuted"
+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 maximum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at minimum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Volume changed to %d%%"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Wireframe shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Zoom currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Profiler hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Apps"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Backspace"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Caps Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "End"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Erase EOF"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Execute"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Help"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Home"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Accept"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Convert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Escape"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Mode Change"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Nonconvert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Insert"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Left"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Num Lock"
+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 "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 "OEM Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Pause"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Play"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Print"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Return"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Scroll Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Select"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Sleep"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Snapshot"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Space"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Tab"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 1"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 2"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Zoom"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
+msgid "Passwords do not match!"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp
+msgid "Register and Join"
+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/guiFormSpecMenu.cpp
+msgid "Proceed"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "\"Special\" = climb down"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Autoforward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Automatic jumping"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Backward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Change camera"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Chat"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Console"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Double tap \"jump\" to toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Drop"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Forward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Jump"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Key already in use"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Local command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Mute"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Next item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Prev. item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Range select"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Screenshot"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Sneak"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Special"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle HUD"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle chat log"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fast"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fog"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle minimap"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Change"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Confirm Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "New Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Exit"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Muted"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr ""
+
+#: src/gui/modalMenu.cpp
+msgid "Enter "
+msgstr ""
+
+#: src/network/clientpackethandler.cpp
+msgid "LANG_CODE"
+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 ""
+"(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 ""
+"(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 ""
+"(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 ""
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of ridged mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of rolling hills."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of step mountains."
+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 "2D noise that controls the size/occurrence of rolling hills."
+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 "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D clouds"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining giant caverns."
+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 "3D noise defining structure of river canyon walls."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+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 ""
+"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 "A message to be displayed to all clients when the server crashes."
+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 "ABM interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Absolute limit of emerge queues"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration in air"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block management interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
+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 "Adds particles when digging a node."
+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 ""
+"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 "Advanced"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Altitude chill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Always fly and fast"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ambient occlusion gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amount of messages a player may send per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amplifies the valleys."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Anisotropic filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce to this serverlist."
+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 "Apple trees noise"
+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 "Ask to reconnect after crash"
+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 "Automatic forward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically jump up single-node obstacles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically report to the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autosave screen size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autoscaling mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Backward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base terrain height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bilinear filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bind address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome API temperature and humidity noise parameters"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Block send optimize distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Build inside player"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Builtin"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bumpmapping"
+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 "Camera smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera smoothing in cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera update toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave noise"
+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 "Cave width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern taper"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern upper limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Center of light curve mid-boost."
+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 "Chat key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message count limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message kick threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message max length"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chatcommands"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chunk size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Clean transparent textures"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client and Server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client modding"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side modding restrictions"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side node lookup range restriction"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Climbing speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cloud radius"
+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 "Clouds in menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Colored fog"
+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 ""
+
+#: 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 ""
+"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 "Command key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect glass"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect to external media server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connects glass if supported by node."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console alpha"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB URL"
+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 "Controls"
+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 "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/depth of lake depressions."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/height of hills."
+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 "Controls width of tunnels, a smaller value creates wider tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crash message"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Creative"
+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 "Crosshair color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "DPI"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Damage"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Darkness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug info toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dec. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dedicated server step"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default acceleration"
+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 "Default password"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default report format"
+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 ""
+"Defines areas of floatland smooth terrain.\n"
+"Smooth floatlands occur when noise > 0."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas where trees have apples."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas with sandy beaches."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain and steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines full size of caverns, smaller values create larger caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines large-scale river channel structure."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines location and terrain of optional hills and lakes."
+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 "Defines the base ground level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines tree areas and tree density."
+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 "Delay in sending blocks after building"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Delay showing tooltips, stated in milliseconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Deprecated Lua API handling"
+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 "Depth below which you'll find giant caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Depth below which you'll find large caves."
+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 "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 "Desynchronize block animation"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Digging particles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disable anticheat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disallow empty passwords"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Domain name of server, to be displayed in the serverlist."
+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 "Drop item key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dump the mapgen debug information."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon maximum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon minimum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+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 "Enable VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable console window"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable creative mode for new created maps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable joysticks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod channels support."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable players getting damage and dying."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable random user input (only used for testing)."
+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 ""
+"Enable smooth lighting with simple ambient occlusion.\n"
+"Disable for speed or for different looks."
+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 ""
+"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 ""
+"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 ""
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables animation of inventory items."
+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 "Enables caching of facedir rotated meshes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables filmic tone mapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables minimap."
+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 ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Engine profiling data print interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Entity methods"
+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 "FPS in pause menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "FSAA"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Factor noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fall bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fallback font"
+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 "Fallback font size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode acceleration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode speed"
+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 "Field of view"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Field of view in degrees."
+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 "Filler depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filler depth noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filmic tone mapping"
+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 "Filtering"
+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 "First of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed map seed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed virtual joystick"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain density"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain exponent"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fly key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Flying"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog start"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow"
+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 "Font shadow offset, if 0 then shadow will not be drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size"
+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 "Format of screenshots."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Forward key"
+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 "Fractal type"
+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 "FreeType fonts"
+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 ""
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+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 "Full screen"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Full screen BPP"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter txr2img"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Generate normalmaps"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Global callbacks"
+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 "Gradient of light curve at maximum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gradient of light curve at minimum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Graphics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gravity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HTTP mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD scale factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD toggle key"
+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 ""
+"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 "Heat blend noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Heat noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height select noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "High-precision FPU"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness3 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness4 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Homepage of server, to be displayed in the serverlist."
+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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 10 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 11 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 12 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 13 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 14 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 15 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 16 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 17 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 18 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 19 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 2 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 20 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 21 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 22 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 23 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 24 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 25 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 26 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 27 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 28 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 29 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 3 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 30 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 31 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 32 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 4 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 5 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 6 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 7 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 8 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 9 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "How deep to make rivers."
+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 "How wide to make rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Humidity blend noise"
+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 "IPv6"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 support."
+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 ""
+"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 ""
+"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 ""
+"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 ""
+"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
+"down and\n"
+"descending."
+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 "If enabled, disable cheat prevention in multiplayer."
+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 ""
+"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."
+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 ""
+"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 ""
+"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 "If this is set, players will always (re)spawn at the given position."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ignore world errors"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "In-Game"
+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 "In-game chat console background color (R,G,B)."
+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 "Inc. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+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 "Instrument chatcommands on registration."
+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 ""
+"Instrument the action function of Active Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Instrument the action function of Loading Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrument the methods of entities on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrumentation"
+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 "Interval of sending time of day to clients."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory items animations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory key"
+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 "Item entity TTL"
+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 "Joystick ID"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick button repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick frustum sensitivity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick type"
+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 ""
+"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 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 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 x"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia z"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jump key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jumping speed"
+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 ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 11th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 13th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 15th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 17th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 19th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 21st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 23rd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 25th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 27th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 29th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 31st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the eighth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the first hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for selecting the ninth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the second hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the sixth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the third hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for toggling the display of chat.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling the display of fog.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"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 ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 "Kick players who sent more than X messages per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Language"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lava depth"
+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 "Left key"
+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 "Length of time between Active Block Modifier (ABM) execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between NodeTimer execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between active block management cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Level of logging to be written to debug.txt:\n"
+"- <nothing> (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 "Light curve mid boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost spread"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lightness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues on disk"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues to generate"
+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 ""
+"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 "Liquid fluidity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid fluidity smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid loop max"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid queue purge time"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid sinking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update interval in seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update tick"
+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 "Loading Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lower Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu script"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu style"
+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 "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Makes all liquids opaque"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map directory"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation attributes specific to Mapgen Carpathian."
+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 ""
+"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 ""
+"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 "Map generation attributes specific to Mapgen v5."
+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 ""
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map save interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generation delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock unload timeout"
+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 "Mapgen Flat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen Flat specific flags"
+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 "Mapgen V5"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V5 specific flags"
+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 "Mapgen V7"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V7 specific flags"
+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 "Mapgen debug"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block generate distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block send distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max liquids processed per step."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. clearobjects extra blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. packets per iteration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS when game is paused."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum forceloaded blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum hotbar width"
+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 ""
+"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 "Maximum number of blocks that can be queued for loading."
+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 ""
+"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 "Maximum number of forceloaded mapblocks."
+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 ""
+"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 "Maximum number of players that can be connected simultaneously."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of recent chat messages to show"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of statically stored objects in a block."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum objects per block"
+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 "Maximum simultaneous block sends per client"
+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 "Maximum time in ms a file download (e.g. a mod download) may take."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum users"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Menus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mesh cache"
+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 "Method used to highlight selected object."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap scan height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum texture size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mipmapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mod channels"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Modifies the size of the hudbar elements."
+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 "Mountain height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain variation noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain zero level"
+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 "Mud noise"
+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 "Mute key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mute sound"
+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 ""
+"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 ""
+"Name of the server, to be displayed when players join and in the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Near clipping plane"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Network"
+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 "New users need to input this password."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Node highlighting"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "NodeTimer interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noises"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps sampling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps strength"
+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 ""
+"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 "Number of parallax occlusion iterations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Online Content Repository"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Opaque liquids"
+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 "Overall bias of parallax occlusion effect, usually scale/2."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Overall scale of parallax occlusion effect."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion bias"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion iterations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion scale"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion strength"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to TrueTypeFont or bitmap."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to save screenshots at."
+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 "Path to texture directory. All textures are first searched from here."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pause on lost window focus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Physics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move mode"
+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 "Player name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player versus player"
+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 ""
+"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 "Prevent mods from doing insecure things like running shell commands."
+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 "Privileges that players with basic_privs can grant"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiling"
+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 "Raises terrain to make valleys around the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Random input"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Range select key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Recent Chat Messages"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote media"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote port"
+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 "Replaces the default main menu with a custom one."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Report path"
+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 "Ridge mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge underwater noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridged mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Right key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rightclick repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rollback recording"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hill size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hills spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Round minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Safe digging and placing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sandy beaches occur when np_beach exceeds this value."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save the map received by the client on disk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save window size automatically when modified."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Saving map received from server"
+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 "Screen height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screen width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot folder"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot format"
+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 "Seabed 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 "Second of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box border color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box width"
+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 "Server / Singleplayer"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server description"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server port"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server side occlusion culling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist file"
+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 "Set the maximum character length of a chat message sent by clients."
+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 ""
+"Set to true enables waving plants.\n"
+"Requires shaders to be enabled."
+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 "Shader path"
+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 "Shadow limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shape of the minimap. Enabled = round, disabled = square."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show debug info"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show entity selection boxes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shutdown message"
+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 ""
+"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 "Slice w"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Slope and fill work together to modify the heights."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale humidity variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale temperature variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooth lighting"
+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 "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooths rotation of camera. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sneak key"
+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 "Sound"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key for climbing/descending"
+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 ""
+"Spread of light curve mid-boost.\n"
+"Standard deviation of the mid-boost gaussian."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Static spawnpoint"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Steepness noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of generated normalmaps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of light curve mid-boost."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of parallax."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strict protocol checking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strip color codes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Synchronous SQLite"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Temperature variation for biomes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain alternative noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain higher noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain noise"
+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 ""
+"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 "Terrain persistence noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Texture path"
+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 "The URL for the content repository"
+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 "The depth of dirt or other biome filler node."
+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 "The identifier of the joystick to use"
+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 "The network interface that the server listens on."
+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 ""
+"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 ""
+"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 ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
+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 ""
+"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 ""
+"The time in seconds it takes between repeated events\n"
+"when holding down a joystick button combination."
+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 "The type of joystick"
+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 "Third of 4 2D noises that together define hill/mountain range height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "This font will be used for certain languages."
+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 "Time of day when a new world is started, in millihours (0-23999)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time send interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Timeout for client to remove unused map data from memory."
+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 "Toggle camera mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Tooltip delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Touch screen threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trees noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trilinear filtering"
+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 "Trusted mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Typical maximum height, above and below midpoint, of floatland mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "URL to the server list displayed in the Multiplayer Tab."
+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 "Unlimited player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Unload unused server data"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Upper Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use 3D cloud look instead of flat."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use a cloud animation for the main menu background."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use bilinear filtering when scaling textures."
+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 "Use trilinear filtering when scaling textures."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VSync"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley fill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley profile"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley slope"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of biome filler depth."
+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 "Variation of maximum mountain height (in nodes)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of number of caves."
+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 "Varies depth of biome surface nodes."
+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 "Varies steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical screen synchronization."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Video driver"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View distance in nodes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range decrease key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range increase key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View zoom key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Viewing range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Virtual joystick triggers aux button"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Volume"
+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 "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Walking 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 "Water level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Water surface level of the world."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving Nodes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving leaves"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wavelength"
+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 ""
+"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 ""
+"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 ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Whether node texture animations should be desynchronized per mapblock."
+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 "Whether to allow players to damage and kill each other."
+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 "Whether to fog out the end of the visible area."
+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 "Width component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Width of the selection box lines around nodes."
+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 ""
+"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 "World start time"
+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 "World-aligned textures mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y of flat ground."
+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 "Y of upper limit of large caves."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-distance over which caverns expand to full size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of average terrain surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of cavern upper limit."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of floatland midpoint and lake surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of higher terrain that creates cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of lower terrain and seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level to which floatland shadows extend."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL file download timeout"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL parallel limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL timeout"
+msgstr ""
diff --git a/po/eo/minetest.po b/po/eo/minetest.po
index e773d6c36..d9630fc17 100644
--- a/po/eo/minetest.po
+++ b/po/eo/minetest.po
@@ -1,11 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Esperanto (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-08 11:13+0000\n"
-"Last-Translator: Muhammad Rifqi Priyo Susanto "
-"<muhammadrifqipriyosusanto@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Esperanto <https://hosted.weblate.org/projects/minetest/"
"minetest/eo/>\n"
"Language: eo\n"
@@ -13,24 +12,22 @@ 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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
msgstr "RenaskiÄi"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "Vi mortis."
+msgstr "Vi mortis"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "Eraro okazis en Lua skripto, kiel modifo:"
+msgid "An error occurred in a Lua script:"
+msgstr "Eraro okazis en Lua-skripto, kiel ekzemple modifaĵo:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Eraro okazis:"
@@ -52,7 +49,7 @@ msgstr "La servilo petis rekonekton:"
#: builtin/mainmenu/common.lua src/client/game.cpp
msgid "Loading..."
-msgstr "ÅœargiÄanta…"
+msgstr "Ŝargante…"
#: builtin/mainmenu/common.lua
msgid "Protocol version mismatch. "
@@ -77,7 +74,7 @@ msgstr "Ni nur subtenas protokolan version $1."
#: builtin/mainmenu/common.lua
msgid "We support protocol versions between version $1 and $2."
-msgstr "Ni subtenas protokolajn versiojn inter versio $1 kaj $2."
+msgstr "Ni subtenas protokolajn versiojn inter versioj $1 kaj $2."
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_delete_content.lua
@@ -95,44 +92,54 @@ msgstr "Dependas de:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable all"
-msgstr "MalÅalti modifaron"
+msgstr "MalÅalti ĉiujn"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "MalÅaltita"
+msgstr "MalÅalti modifaĵaron"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "Ŝalti ĉiujn"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "Alinomi modifaron:"
+msgstr "Ŝalti modifaĵaron"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
-"Malsukcesis aktivigi 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 "Modifo:"
+msgstr "Modifaĵo:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Malnepraj dependaĵoj:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr "Neniu modifa priskribo disponeblas"
+msgstr "Neniu priskribo de ludo estas donita."
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Sen dependaĵoj."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "Neniu modifa priskribo disponeblas"
+msgstr "Neniu priskrib ode modifaĵaro estas donita."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Malnepraj dependaĵoj:"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -153,26 +160,23 @@ msgstr "Åaltita"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "Ĉiuj pakaĵoj"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
-msgstr "Retro"
+msgstr "Reen"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "Ĉefmenuo"
+msgstr "Reen al ĉefmenuo"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Downloading and installing $1, please wait..."
-msgstr "ElÅutas $1, bonvolu atendi…"
+msgstr "ElÅutante kaj instalante $1, bonvolu atendi…"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "Fiaskis instali $1 al $2"
+msgstr "Malsukcesis elÅuti $1"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -186,15 +190,15 @@ msgstr "Instali"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Mods"
-msgstr "Modifoj"
+msgstr "Modifaĵoj"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Neniujn pakaĵojn eblis ricevi"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Neniuj rezultoj"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -202,31 +206,28 @@ msgid "Search"
msgstr "Serĉi"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
msgstr "Teksturaroj"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "Instali"
+msgstr "Malinstali"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+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"
msgstr "Krei"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "ElÅutu subludon, ekzemple minetest_game, el minetest.net"
+msgstr "ElÅuti ludon, ekzemple minetest_game, el minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -241,9 +242,8 @@ msgid "Mapgen"
msgstr "Mondogenerilo"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "ÅœanÄi vidodistancon"
+msgstr "Neniu ludo estas elektita"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -260,13 +260,12 @@ msgid "World name"
msgstr "Nomo de mondo"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "Neniuj subludoj instalitas."
+msgstr "Vi havas neniujn instalitajn ludojn."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
-msgstr "Ĉu vi certas 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,18 +274,16 @@ msgid "Delete"
msgstr "Forigi"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: failed to delete \"$1\""
-msgstr "Modmgr: fiaskis forigi \"$1\""
+msgstr "pkgmgr: malskucesis forigi « $1 »"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: invalid path \"$1\""
-msgstr "Modmgr: malvalida modifo-dosierindiko \"$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"
@@ -294,22 +291,23 @@ msgstr "Akcepti"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Rename Modpack:"
-msgstr "Alinomi modifaron:"
+msgstr "Alinomi modifaĵaron:"
#: 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 ""
+"Ĉi tiu modifaĵaro havas malimplican nomon en sia dosiero modpack.conf, kiu "
+"transpasos ĉiun alinomon ĉi tiean."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
-msgstr "(sen priskribo)"
+msgstr "(Neniu priskribo de agordo estas donita)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Bruo"
+msgstr "2D-a bruo"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -332,13 +330,12 @@ msgid "Enabled"
msgstr "Åœaltita"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Lacunarity"
-msgstr "Sekureco"
+msgstr "Interspacoj"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Oktavoj"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
@@ -346,7 +343,7 @@ msgstr "DeÅovo"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Persistance"
-msgstr ""
+msgstr "Persisteco"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -358,21 +355,19 @@ msgstr "Bonvolu enigi validan nombron."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
-msgstr "RestaÅ­ri implicitan"
+msgstr "Restarigi normon"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
msgstr "Skalo"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "Selekti modifan dosieron:"
+msgstr "Elekti dosierujon"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "Selekti modifan dosieron:"
+msgstr "Elekti dosieron"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
@@ -388,159 +383,132 @@ msgstr "La valoro devas esti pli ol $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "X-disiÄo"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Y-disiÄo"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Z-disiÄo"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "absoluta valoro"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Implicita ludo"
+msgstr "normoj"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "faciligita"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "Åœaltita"
+msgstr "$1 (Åœaltita)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "3D reÄimo"
+msgstr "$1 modifaĵoj"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
-msgstr "Fiaskis instali $1 al $2"
+msgstr "Malsukcesis instali $1 al $2"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find real mod name for: $1"
-msgstr "Instali modifon: Ne povis trovi veran modifonomon por $1"
+msgstr "Instali modifaĵon: Ne povas trovi veran nomon de modifaĵo por: $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr ""
-"Instali modifon: Ne povis trovi Äustan dosierujan nomon por modifaro $1"
+"Instali modifaĵon: Ne povas trovi Äustan dosierujan nomon por modifaro $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"Instali Modifon: malsubtenata dosiertipo \"$1\" aÅ­ rompiÄata arkivo"
+msgstr "Instalo: Nesubtenata dosierspeco « $1 » aŭ rompita arĥivo"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: file: \"$1\""
-msgstr "Instali modifon: dosiero \"$1\""
+msgstr "Instali: dosiero: « $1 »"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr ""
-"Instali modifon: Ne povis trovi Äustan dosierujan nomon por modifaro $1"
+msgstr "Ne povas trovi validan modifaĵon aŭ modifaĵaron"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "Fiaskis instali $1 al $2"
+msgstr "Malsukcesis instali $1 kiel teksturaron"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "Fiaskis instali $1 al $2"
+msgstr "Malsukcesis instali ludon kiel $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a mod as a $1"
-msgstr "Fiaskis instali $1 al $2"
+msgstr "Malsukcesis instali modifaĵon kiel $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "Fiaskis instali $1 al $2"
+msgstr "Malsukcesis instali modifaĵaron kiel $1"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+msgstr "Foliumi enretan enhavon"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "DaÅ­rigi"
+msgstr "Enhavo"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Disable Texture Pack"
-msgstr "Selekti teksturaron:"
+msgstr "MalÅalti teksturaron"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Information:"
-msgstr "Modifaj informoj:"
+msgstr "Informoj:"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Installed Packages:"
-msgstr "Instalantaj modifoj:"
+msgstr "Instalantaj pakaĵoj:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
msgstr "Sen dependaĵoj."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "Neniu modifa priskribo disponeblas"
+msgstr "Neniu priskribo de pakaĵo disponeblas"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
msgstr "Alinomi"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Selekti modifan dosieron:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
-msgstr "Malinstali elektitan modifaĵon"
+msgstr "Malinstali pakaĵon"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "Teksturaroj"
+msgstr "Uzi teksturaron"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
-msgstr "Aktivaj kontribuistoj"
+msgstr "Aktivaj kontribuantoj"
#: builtin/mainmenu/tab_credits.lua
msgid "Core Developers"
@@ -576,7 +544,7 @@ msgstr "Kreiva reÄimo"
#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
msgid "Enable Damage"
-msgstr "Åœalti damaÄon"
+msgstr "Åœalti difektadon"
#: builtin/mainmenu/tab_local.lua
msgid "Host Game"
@@ -596,7 +564,7 @@ msgstr "Nova"
#: builtin/mainmenu/tab_local.lua
msgid "No world created or selected!"
-msgstr "Neniu mondo kreitas aÅ­ elektitas!"
+msgstr "Neniu mondo estas kreita aÅ­ elektita!"
#: builtin/mainmenu/tab_local.lua
msgid "Play Game"
@@ -615,9 +583,8 @@ msgid "Server Port"
msgstr "Servila pordo"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Start Game"
-msgstr "Gastigi ludon"
+msgstr "Ekigi ludon"
#: builtin/mainmenu/tab_online.lua
msgid "Address / Port"
@@ -633,20 +600,19 @@ msgstr "Kreiva reÄimo"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Damage enabled"
-msgstr "DamaÄo Åaltitas"
+msgstr "Difektado estas Åaltita"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Del. Favorite"
-msgstr "Forigi Åatatecon"
+msgstr "Forigi Åataton"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Favorite"
msgstr "Åœati"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Join Game"
-msgstr "Gastigi ludon"
+msgstr "AliÄi al ludo"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Name / Password"
@@ -662,7 +628,7 @@ msgstr "Dueloj Åaltitas"
#: builtin/mainmenu/tab_settings.lua
msgid "2x"
-msgstr "2x"
+msgstr "2×"
#: builtin/mainmenu/tab_settings.lua
msgid "3D Clouds"
@@ -670,16 +636,15 @@ msgstr "3D nuboj"
#: builtin/mainmenu/tab_settings.lua
msgid "4x"
-msgstr "4x"
+msgstr "4×"
#: builtin/mainmenu/tab_settings.lua
msgid "8x"
-msgstr "8x"
+msgstr "8×"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Agordoj"
+msgstr "Ĉiuj agordoj"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -687,10 +652,9 @@ msgstr "Glatigo:"
#: builtin/mainmenu/tab_settings.lua
msgid "Are you sure to reset your singleplayer world?"
-msgstr "Ĉu vi certas, ke vi volas nuligi vian solludantan mondon?"
+msgstr "Ĉu vi certas, ke vi volas rekomenci vian unuopan mondon?"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Autosave Screen Size"
msgstr "Memori grandecon de ekrano"
@@ -708,14 +672,13 @@ msgstr "ÅœanÄi klavojn"
#: builtin/mainmenu/tab_settings.lua
msgid "Connected Glass"
-msgstr "Ligata glaco"
+msgstr "Ligata vitro"
#: builtin/mainmenu/tab_settings.lua
msgid "Fancy Leaves"
-msgstr "Ŝikaj foliaĵoj"
+msgstr "Åœikaj folioj"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Generate Normal Maps"
msgstr "Generi Normalmapojn"
@@ -745,7 +708,7 @@ msgstr "Nodaĵa emfazado"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Outlining"
-msgstr "Nodaĵa kadrado"
+msgstr "Kadrado de monderoj"
#: builtin/mainmenu/tab_settings.lua
msgid "None"
@@ -753,11 +716,11 @@ msgstr "Neniu"
#: builtin/mainmenu/tab_settings.lua
msgid "Opaque Leaves"
-msgstr "Opakaj foliaĵoj"
+msgstr "Netravideblaj folioj"
#: builtin/mainmenu/tab_settings.lua
msgid "Opaque Water"
-msgstr "Opaka akvo"
+msgstr "Netravidebla akvo"
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Parallax Occlusion"
@@ -769,7 +732,7 @@ msgstr "Partikloj"
#: builtin/mainmenu/tab_settings.lua
msgid "Reset singleplayer world"
-msgstr "Nuligi solludantan mondon"
+msgstr "Rekomenci unuopan mondon"
#: builtin/mainmenu/tab_settings.lua
msgid "Screen:"
@@ -785,11 +748,11 @@ msgstr "Ombrigiloj"
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders (unavailable)"
-msgstr ""
+msgstr "Ombrigiloj (nehaveblaj)"
#: builtin/mainmenu/tab_settings.lua
msgid "Simple Leaves"
-msgstr "Simplaj foliaĵoj"
+msgstr "Simplaj folioj"
#: builtin/mainmenu/tab_settings.lua
msgid "Smooth Lighting"
@@ -801,16 +764,15 @@ msgstr "Teksturado:"
#: builtin/mainmenu/tab_settings.lua
msgid "To enable shaders the OpenGL driver needs to be used."
-msgstr "Por uzi ombrigilojn, OpenGL-a pelilo estas necesa."
+msgstr "Por uzi ombrigilojn, OpenGL-pelilo estas necesa."
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Tone Mapping"
msgstr "Nuanca mapado"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Touchthreshold: (px)"
-msgstr "TuÅa sojlo (px)"
+msgstr "TuÅa sojlo: (px)"
#: builtin/mainmenu/tab_settings.lua
msgid "Trilinear Filter"
@@ -821,12 +783,13 @@ msgid "Waving Leaves"
msgstr "Ondantaj foliaĵoj"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Ondantaj plantoj"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Ondantaj monderoj"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Ondanta akvo"
+msgid "Waving Plants"
+msgstr "Ondantaj plantoj"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -834,7 +797,7 @@ msgstr "Jes"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Config mods"
-msgstr "Agordi modifojn"
+msgstr "Agordi modifaĵojn"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Main"
@@ -842,39 +805,39 @@ msgstr "Ĉefmenuo"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Start Singleplayer"
-msgstr "Startigi solludanton"
+msgstr "Komenci unuopan ludon"
#: src/client/client.cpp
msgid "Connection timed out."
-msgstr "Konekto eltempiÄas."
+msgstr "Konekto eltempiÄis."
#: src/client/client.cpp
msgid "Done!"
-msgstr "Finita!"
+msgstr "Finite!"
#: src/client/client.cpp
msgid "Initializing nodes"
-msgstr "Pravalorizi nodaĵojn"
+msgstr "Pravalorigante monderojn"
#: src/client/client.cpp
msgid "Initializing nodes..."
-msgstr "Pravalorizi nodaĵojn…"
+msgstr "Pravalorigante monderojn…"
#: src/client/client.cpp
msgid "Loading textures..."
-msgstr "Ŝargi teksturojn…"
+msgstr "Ŝargante teksturojn…"
#: src/client/client.cpp
msgid "Rebuilding shaders..."
-msgstr "Refaru ombrigilojn…"
+msgstr "Refarante ombrigilojn…"
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
-msgstr "Konekteraro (ĉu eltempiÄo?)"
+msgstr "Konekta eraro (ĉu eltempiÄo?)"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game \""
-msgstr "Ne povas trovi aÅ­ Åuti ludon \""
+msgstr "Ne povis trovi aÅ­ Åargi ludon \""
#: src/client/clientlauncher.cpp
msgid "Invalid gamespec."
@@ -886,11 +849,11 @@ msgstr "Ĉefmenuo"
#: src/client/clientlauncher.cpp
msgid "No world selected and no address provided. Nothing to do."
-msgstr "Ne mondo selektas kaj ne adreso provizatas. Nenion fari."
+msgstr "Neniu mondo estas elektita kaj neniu adreso donita. Nenio fareblas."
#: src/client/clientlauncher.cpp
msgid "Player name too long."
-msgstr "Ludanta nomo trolongas."
+msgstr "Ludula nomo estas tro longa."
#: src/client/clientlauncher.cpp
msgid "Please choose a name!"
@@ -898,7 +861,7 @@ msgstr "Bonvolu elekti nomon!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
-msgstr ""
+msgstr "Malsukcesis malfermi donitan pasvortan dosieron: "
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
@@ -906,7 +869,7 @@ msgstr "Donita monda dosierindiko ne ekzistas: "
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr ""
+msgstr "bezonas_rezervan_tiparon"
#: src/client/game.cpp
msgid ""
@@ -914,7 +877,7 @@ msgid ""
"Check debug.txt for details."
msgstr ""
"\n"
-"Reviziu debug.txt por detaloj."
+"Rigardu dosieron debug.txt por detaloj."
#: src/client/game.cpp
msgid "- Address: "
@@ -922,7 +885,7 @@ msgstr "– Adreso: "
#: src/client/game.cpp
msgid "- Creative Mode: "
-msgstr "– Kreema reÄimo: "
+msgstr "– Krea reÄimo: "
#: src/client/game.cpp
msgid "- Damage: "
@@ -949,45 +912,40 @@ msgid "- Server Name: "
msgstr "– Nomo de servilo: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "AntaÅ­en"
+msgstr "Memfara pluigo malÅaltita"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "AntaÅ­en"
+msgstr "Memfara pluigo Åaltita"
#: src/client/game.cpp
msgid "Camera update disabled"
-msgstr ""
+msgstr "Äœisdatigo de vidpunkto malÅaltita"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "DamaÄo Åaltitas"
+msgstr "Äœisdatigo de vidpunkto Åaltita"
#: src/client/game.cpp
msgid "Change Password"
msgstr "ÅœanÄi pasvorton"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode disabled"
-msgstr "Klavo de glata kamerao"
+msgstr "Glita vidpunkto malÅaltita"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode enabled"
-msgstr "Klavo de glata kamerao"
+msgstr "Glita vidpunkto Åaltita"
#: src/client/game.cpp
msgid "Client side scripting is disabled"
-msgstr ""
+msgstr "Klient-flanka skriptado malÅaltita"
#: src/client/game.cpp
msgid "Connecting to server..."
-msgstr "Konekti al servilo…"
+msgstr "Konektante al servilo…"
#: src/client/game.cpp
msgid "Continue"
@@ -1017,7 +975,7 @@ msgstr ""
"– %s: moviÄi maldekstren\n"
"– %s: moviÄi dekstren\n"
"– %s: salti/supreniri\n"
-"– %s: singardiri/malsupreniri\n"
+"– %s: kaÅiri/malsupreniri\n"
"– %s: demeti objekton\n"
"– %s: objektujo\n"
"– Muso: turniÄi/rigardi\n"
@@ -1028,24 +986,23 @@ msgstr ""
#: src/client/game.cpp
msgid "Creating client..."
-msgstr "Krei klienton…"
+msgstr "Kreante klienton…"
#: src/client/game.cpp
msgid "Creating server..."
-msgstr "Krei servilon…"
+msgstr "Kreante servilon…"
#: src/client/game.cpp
msgid "Debug info and profiler graph hidden"
-msgstr ""
+msgstr "Sencimigaj informoj kaj profilila grafikaĵo kaÅitaj"
#: src/client/game.cpp
-#, fuzzy
msgid "Debug info shown"
-msgstr "Sencimiga baskula klavo"
+msgstr "Sencimigaj informoj montritaj"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
-msgstr ""
+msgstr "Sencimigaj informoj, profilila grafikaĵo, kaj dratostaro kaÅitaj"
#: src/client/game.cpp
msgid ""
@@ -1077,11 +1034,11 @@ msgstr ""
#: src/client/game.cpp
msgid "Disabled unlimited viewing range"
-msgstr ""
+msgstr "MalÅaltis senliman vidodistancon"
#: src/client/game.cpp
msgid "Enabled unlimited viewing range"
-msgstr ""
+msgstr "Åœaltis senliman vidodistancon"
#: src/client/game.cpp
msgid "Exit to Menu"
@@ -1092,42 +1049,36 @@ msgid "Exit to OS"
msgstr "Eliri al operaciumo"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode disabled"
-msgstr "Rapido en rapida reÄimo"
+msgstr "Rapidega reÄimo malÅaltita"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
-msgstr "Rapido en rapida reÄimo"
+msgstr "Rapidega reÄimo Åaltita"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
-msgstr ""
+msgstr "Rapidega reÄimo Åaltita (mankas rajto « rapidegi »)"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode disabled"
-msgstr "Rapido en rapida reÄimo"
+msgstr "Fluga reÄimo malÅaltita"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "DamaÄo Åaltitas"
+msgstr "Fluga reÄimo Åaltita"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr ""
+msgstr "Fluga reÄimo Åaltita (mankas rajto « flugi »)"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog disabled"
-msgstr "MalÅaltu modifaron"
+msgstr "Nebulo malÅaltita"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog enabled"
-msgstr "Åaltita"
+msgstr "Nebulo Åaltita"
#: src/client/game.cpp
msgid "Game info:"
@@ -1151,7 +1102,7 @@ msgstr "KiB/s"
#: src/client/game.cpp
msgid "Media..."
-msgstr "Aŭdvidaĵoj..."
+msgstr "Vidaŭdaĵoj…"
#: src/client/game.cpp
msgid "MiB/s"
@@ -1159,49 +1110,47 @@ msgstr "MiB/s"
#: src/client/game.cpp
msgid "Minimap currently disabled by game or mod"
-msgstr ""
+msgstr "Mapeto nuntempe malÅaltita de ludo aÅ­ modifaĵo"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap hidden"
-msgstr "Mapeta klavo"
+msgstr "Mapeto kaÅita"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x1"
-msgstr ""
+msgstr "Mapeto en radara reÄimo, zomo ×1"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x2"
-msgstr ""
+msgstr "Mapeto en radara reÄimo, zomo ×2"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x4"
-msgstr ""
+msgstr "Mapeto en radara reÄimo, zomo ×4"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x1"
-msgstr ""
+msgstr "Mapeto en supraĵa reÄimo, zomo ×1"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x2"
-msgstr ""
+msgstr "Mapeto en supraĵa reÄimo, zomo ×2"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x4"
-msgstr ""
+msgstr "Mapeto en supraĵa reÄimo, zomo ×4"
#: src/client/game.cpp
msgid "Noclip mode disabled"
-msgstr ""
+msgstr "Trapasa reÄimo malÅaltita"
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled"
-msgstr "DamaÄo Åaltitas"
+msgstr "Trapasa reÄimo Åaltita"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
-msgstr ""
+msgstr "Trapasa reÄimo Åaltita (mankas rajto « trapasi »)"
#: src/client/game.cpp
msgid "Node definitions..."
@@ -1217,15 +1166,15 @@ msgstr "Ek"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
-msgstr ""
+msgstr "Celilsekva reÄimo malÅaltita"
#: src/client/game.cpp
msgid "Pitch move mode enabled"
-msgstr ""
+msgstr "Celilsekva reÄimo Åaltita"
#: src/client/game.cpp
msgid "Profiler graph shown"
-msgstr ""
+msgstr "Profilila grafikaĵo montrita"
#: src/client/game.cpp
msgid "Remote server"
@@ -1233,96 +1182,92 @@ msgstr "Fora servilo"
#: src/client/game.cpp
msgid "Resolving address..."
-msgstr "Adrestrovili…"
+msgstr "Serĉante adreson…"
#: src/client/game.cpp
msgid "Shutting down..."
-msgstr "MalÅaltiÄi…"
+msgstr "MalÅaltiÄante…"
#: src/client/game.cpp
msgid "Singleplayer"
-msgstr "Solludanto"
+msgstr "Unuopa ludo"
#: src/client/game.cpp
msgid "Sound Volume"
-msgstr "Sonintenso"
+msgstr "LaÅ­teco"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound muted"
-msgstr "Sonintenso"
+msgstr "Silentigite"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound unmuted"
-msgstr "Sonintenso"
+msgstr "Malsilentigite"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range changed to %d"
-msgstr "LaÅ­teco agorditas al %d%%"
+msgstr "Vidodistanco agordita al %d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at maximum: %d"
-msgstr ""
+msgstr "Vidodistanco je la plejgrando: %d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at minimum: %d"
-msgstr ""
+msgstr "Vidodistanco je la malplejgrando: %d"
#: src/client/game.cpp
#, c-format
msgid "Volume changed to %d%%"
-msgstr "LaÅ­teco agorditas al %d%%"
+msgstr "LaÅ­teco agordita al %d%%"
#: src/client/game.cpp
msgid "Wireframe shown"
-msgstr ""
+msgstr "Dratostaro montrita"
#: src/client/game.cpp
msgid "Zoom currently disabled by game or mod"
-msgstr ""
+msgstr "Zomado nuntempe malÅaltita de ludo aÅ­ modifaĵo"
#: src/client/game.cpp src/gui/modalMenu.cpp
msgid "ok"
msgstr "bone"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Chat hidden"
-msgstr "Babila klavo"
+msgstr "Babilo kaÅita"
#: src/client/gameui.cpp
msgid "Chat shown"
-msgstr ""
+msgstr "Babilo montrita"
#: src/client/gameui.cpp
msgid "HUD hidden"
-msgstr ""
+msgstr "Travida fasado kaÅita"
#: src/client/gameui.cpp
msgid "HUD shown"
-msgstr ""
+msgstr "Travida fasado montrita"
#: src/client/gameui.cpp
msgid "Profiler hidden"
-msgstr ""
+msgstr "Profililo kaÅita"
#: src/client/gameui.cpp
#, c-format
msgid "Profiler shown (page %d of %d)"
-msgstr ""
+msgstr "Profililo montrita (paÄo %d el %d)"
#: src/client/keycode.cpp
msgid "Apps"
msgstr "Aplikaĵoj"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Backspace"
-msgstr "Retro"
+msgstr "Reenklavo"
#: src/client/keycode.cpp
msgid "Caps Lock"
@@ -1362,25 +1307,21 @@ msgstr "Hejmen"
#: src/client/keycode.cpp
msgid "IME Accept"
-msgstr "Akcepti IME"
+msgstr "IME-akcepto"
#: src/client/keycode.cpp
-#, fuzzy
msgid "IME Convert"
-msgstr "IME-Konverto"
+msgstr "IME-konverto"
#: src/client/keycode.cpp
-#, fuzzy
msgid "IME Escape"
-msgstr "IME-Eskapo"
+msgstr "IME-eskapo"
#: src/client/keycode.cpp
-#, fuzzy
msgid "IME Mode Change"
msgstr "IME-reÄimÅanÄo"
#: src/client/keycode.cpp
-#, fuzzy
msgid "IME Nonconvert"
msgstr "IME-nekonverto"
@@ -1426,63 +1367,63 @@ msgstr "Nombra Baskulo"
#: src/client/keycode.cpp
msgid "Numpad *"
-msgstr "Klavareto *"
+msgstr "Klavareta *"
#: src/client/keycode.cpp
msgid "Numpad +"
-msgstr "Klavareto +"
+msgstr "Klavareta +"
#: src/client/keycode.cpp
msgid "Numpad -"
-msgstr "Klavareto -"
+msgstr "Klavareta -"
#: src/client/keycode.cpp
msgid "Numpad ."
-msgstr "Nombra klavaro ."
+msgstr "Klavareta ."
#: src/client/keycode.cpp
msgid "Numpad /"
-msgstr "Klavareto /"
+msgstr "Klavareta /"
#: src/client/keycode.cpp
msgid "Numpad 0"
-msgstr "Klavareto 0"
+msgstr "Klavareta 0"
#: src/client/keycode.cpp
msgid "Numpad 1"
-msgstr "Klavareto 1"
+msgstr "Klavareta 1"
#: src/client/keycode.cpp
msgid "Numpad 2"
-msgstr "Klavareto 2"
+msgstr "Klavareta 2"
#: src/client/keycode.cpp
msgid "Numpad 3"
-msgstr "Klavareto 3"
+msgstr "Klavareta 3"
#: src/client/keycode.cpp
msgid "Numpad 4"
-msgstr "Klavareto 4"
+msgstr "Klavareta 4"
#: src/client/keycode.cpp
msgid "Numpad 5"
-msgstr "Klavareto 5"
+msgstr "Klavareta 5"
#: src/client/keycode.cpp
msgid "Numpad 6"
-msgstr "Klavareto 6"
+msgstr "Klavareta 6"
#: src/client/keycode.cpp
msgid "Numpad 7"
-msgstr "Klavareto 7"
+msgstr "Klavareta 7"
#: src/client/keycode.cpp
msgid "Numpad 8"
-msgstr "Klavareto 8"
+msgstr "Klavareta 8"
#: src/client/keycode.cpp
msgid "Numpad 9"
-msgstr "Klavareto 9"
+msgstr "Klavareta 9"
#: src/client/keycode.cpp
msgid "OEM Clear"
@@ -1490,11 +1431,11 @@ msgstr "OEM Vakigi"
#: src/client/keycode.cpp
msgid "Page down"
-msgstr ""
+msgstr "PaÄon malsupren"
#: src/client/keycode.cpp
msgid "Page up"
-msgstr ""
+msgstr "PaÄon supren"
#: src/client/keycode.cpp
msgid "Pause"
@@ -1542,7 +1483,7 @@ msgstr "Ruluma Baskulo"
#: src/client/keycode.cpp
msgid "Select"
-msgstr "Selekto"
+msgstr "Elekti"
#: src/client/keycode.cpp
msgid "Shift"
@@ -1586,48 +1527,49 @@ msgstr "Pasvortoj ne kongruas!"
#: src/gui/guiConfirmRegistration.cpp
msgid "Register and Join"
-msgstr ""
+msgstr "RegistriÄi kaj aliÄi"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
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."
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
msgstr "DaÅ­rigi"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "\"Special\" = climb down"
-msgstr "«Uzi» = malsupreniri"
+msgstr "« Speciala » = malsupreniri"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Autoforward"
-msgstr "AntaÅ­en"
+msgstr "Memirado"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
-msgstr ""
+msgstr "Memfara saltado"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Backward"
msgstr "MalantaÅ­en"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
-msgstr "ÅœanÄi klavojn"
+msgstr "ÅœanÄi vidpunkton"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
-msgstr "Babili"
+msgstr "Babilo"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Command"
@@ -1639,7 +1581,7 @@ msgstr "Konzolo"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. range"
-msgstr ""
+msgstr "Malgrandigi vidodistancon"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. volume"
@@ -1647,7 +1589,7 @@ msgstr "MallaÅ­tigi"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Double tap \"jump\" to toggle fly"
-msgstr "Dufoja tuÅeto \"salti\" por baskuli flugreÄimon"
+msgstr "Dufoje tuÅetu salton por baskuligi flugan reÄimon"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Drop"
@@ -1659,7 +1601,7 @@ msgstr "AntaÅ­en"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. range"
-msgstr ""
+msgstr "Pligrandigi vidodistancon"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. volume"
@@ -1667,7 +1609,7 @@ msgstr "PlilaÅ­tigi"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inventory"
-msgstr "Inventaro"
+msgstr "Portaĵujo"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Jump"
@@ -1675,12 +1617,12 @@ msgstr "Salti"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Key already in use"
-msgstr "Klavo jam uzatas"
+msgstr "Klavo jam estas uzata"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
msgstr ""
-"Klavagordoj (Se tiu menuo misfunkcias, forigu agordojn el minetest.conf)"
+"Klavagordoj. (Se tiu menuo misfunkcias, forigu agordojn el minetest.conf)"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Local command"
@@ -1708,47 +1650,44 @@ msgstr "Ekrankopio"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Sneak"
-msgstr "Singardiri"
+msgstr "KaÅiri"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Special"
-msgstr ""
+msgstr "Speciala"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Baskuli filmreÄimon"
-
-#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
-msgstr "Baskuli flugreÄimon"
+msgstr "Baskuligi travidan fasadon"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle chat log"
-msgstr "Baskuli rapidreÄimon"
+msgstr "Baskuligi babilan protokolon"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fast"
-msgstr "Baskuli rapidreÄimon"
+msgstr "Baskuligi rapidegan reÄimon"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fly"
-msgstr "Baskuli flugreÄimon"
+msgstr "Baskuligi flugan reÄimon"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle fog"
-msgstr "Baskuli flugreÄimon"
+msgstr "Baskuligi nebulon"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
-msgstr "Baskuli nekolizian reÄimon"
+msgstr "Baskuligi mapeton"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
-msgstr "Baskuli nekolizian reÄimon"
+msgstr "Baskuligi trapasan reÄimon"
+
+#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Baskuligi babilan protokolon"
#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
@@ -1760,7 +1699,7 @@ msgstr "ÅœanÄi"
#: src/gui/guiPasswordChange.cpp
msgid "Confirm Password"
-msgstr "Certigi pasvorton"
+msgstr "Konfirmi pasvorton"
#: src/gui/guiPasswordChange.cpp
msgid "New Password"
@@ -1775,16 +1714,14 @@ msgid "Exit"
msgstr "Foriri"
#: src/gui/guiVolumeChange.cpp
-#, fuzzy
msgid "Muted"
-msgstr "Silentigi"
+msgstr "Silentigita"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
-msgstr "Sonintenso: "
+msgstr "LaÅ­teco: "
#: src/gui/modalMenu.cpp
-#, fuzzy
msgid "Enter "
msgstr "Enigi "
@@ -1797,6 +1734,8 @@ msgid ""
"(Android) Fixes the position of virtual joystick.\n"
"If disabled, virtual joystick will center to first-touch's position."
msgstr ""
+"(Android) Korektas pozicion de virtuala stirstango.\n"
+"Se malÅaltita, virtuala stirstango centriÄos je la unua tuÅo."
#: src/settings_translation_file.cpp
msgid ""
@@ -1804,9 +1743,11 @@ 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 "
+"ĉefa ringo."
#: 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"
@@ -1817,12 +1758,15 @@ msgid ""
"situations.\n"
"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 de "
-"‹scale›.\n"
-"Utilas por movi taÅ­gan naskiÄejon proksimen al (0, 0).\n"
-"La implicita valoro taÅ­gas por aroj de Mandelbrot, Äi devas redaktiÄi por "
-"aroj de Julia.\n"
-"Amplekso proksimume inter -2 kaj 2. Obligu per ‹scale› por deÅovi mondere."
+"(X,Y,Z) deÅovo de fraktalo for de la centro de la mondo en unuoj\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"
+"La normo estas agordita al taÅ­ga naskiÄejo por aroj de Mandelbrot\n"
+"kun la normaj parametroj; Äi eble bezonos alÄustigon por aliaj situacioj.\n"
+"Amplekso proksimume inter -2 kaj 2. Obligu per skalo por deÅovo\n"
+"en monderoj."
#: src/settings_translation_file.cpp
msgid ""
@@ -1834,6 +1778,13 @@ msgid ""
"Default is for a vertically-squashed shape suitable for\n"
"an island, set all 3 numbers equal for the raw shape."
msgstr ""
+"(X,Y,Z) skalo de fraktalo en monderoj.\n"
+"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"
+"La normo estas vertikale Årumpita formo taÅ­ga por insulo;\n"
+"egaligu ĉiujn tri nombrojn por akiri la krudan formon."
#: src/settings_translation_file.cpp
msgid ""
@@ -1845,27 +1796,32 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of ridged mountains."
-msgstr ""
+msgstr "2d-a bruo, kiu regas la formon/grandon de krestaj montoj."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of rolling hills."
-msgstr ""
+msgstr "2d-a bruo, kiu regas la formon/grandon de larÄaj montetoj."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of step mountains."
-msgstr ""
+msgstr "2d-a bruo, kiu regas la formon/grandon de terasaj montoj."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
-msgstr ""
+msgstr "2d-a bruo, kiu regas la grandon/ofton de krestaj montaroj."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of rolling hills."
-msgstr ""
+msgstr "2d-a bruo, kiu regas la grandon/ofton de larÄaj montetoj."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of step mountain ranges."
-msgstr ""
+msgstr "2d-a bruo, kiu regas la grandon/ofton de terasaj montaroj."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "2D noise that locates the river valleys and channels."
+msgstr "2d-a bruo, kiu regas la formon/grandon de larÄaj montetoj."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1873,7 +1829,7 @@ msgstr "3D nuboj"
#: src/settings_translation_file.cpp
msgid "3D mode"
-msgstr "3D reÄimo"
+msgstr "3d-a reÄimo"
#: src/settings_translation_file.cpp
msgid "3D noise defining giant caverns."
@@ -1892,16 +1848,20 @@ msgid "3D noise defining structure of river canyon walls."
msgstr "3d-a bruo difinanta strukturon de riveraj kanjonaj muroj."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "3D noise defining terrain."
-msgstr "3d-a bruo difinanta grandegajn kavernojn."
+msgstr "3d-a bruo difinanta terenon."
#: src/settings_translation_file.cpp
msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
+"3d-a bruo por montaj superelstaraĵoj, rokmuroj, ktp. Plej ofte la etaj "
+"variaĵoj."
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1915,13 +1875,15 @@ msgid ""
"Note that the interlaced mode requires shaders to be enabled."
msgstr ""
"Subteno de 3d-a vido.\n"
-"Nun subtenatas:\n"
+"Nun subtenataj:\n"
"– none: nenia 3d-a eligo.\n"
-"– anaglyph: bluverda/pulpura kolora 3d-o.\n"
+"– anaglyph: bluverde/pulpure kolora 3d-o.\n"
"– interlaced: polarigo de paraj/neparaj linioj.\n"
"– topbottom: dividi ekranon horizontale.\n"
"– sidebyside: dividi ekranon vertikale.\n"
-"– pageflip: kvarbura 3d-o."
+"– crossview: krucokula 3d-o.\n"
+"– pageflip: kvarbufra 3d-o.\n"
+"Rimarku, ke la reÄimo « interlaced » postulas Åaltitajn ombrigilojn."
#: src/settings_translation_file.cpp
msgid ""
@@ -1929,7 +1891,7 @@ msgid ""
"Will be overridden when creating a new world in the main menu."
msgstr ""
"Elektita mapfonto por nova mapo; lasu malplena por hazarda mapfonto.\n"
-"Kreante novan mapon per ĉefmenuo oni transpasos ĉi tion."
+"Kreante novan mondon per ĉefmenuo oni transpasos ĉi tion."
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server crashes."
@@ -1941,33 +1903,35 @@ msgstr "MesaÄo montrota al ĉiuj klientoj post servila malÅaltiÄo."
#: src/settings_translation_file.cpp
msgid "ABM interval"
-msgstr ""
+msgstr "Intertempo de ABM (aktiva modifilo de monderoj)"
#: src/settings_translation_file.cpp
msgid "Absolute limit of emerge queues"
-msgstr "Maksimumo de mond-estigaj vicoj"
+msgstr "Plejgrando de mondestigaj vicoj"
#: src/settings_translation_file.cpp
msgid "Acceleration in air"
-msgstr "RapidiÄo en aero"
+msgstr "Akcelo en aero"
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Active Block Modifiers"
-msgstr "Aktivblokmodifiloj"
+msgstr "Aktivaj modifiloj de monderoj (ABM)"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Active block management interval"
-msgstr "AktivblokmanaÄeradintervalo"
+msgstr "Intertempo de aktiva mastrumilo de monderoj"
#: src/settings_translation_file.cpp
msgid "Active block range"
-msgstr ""
+msgstr "Aktiva amplekso de monderoj"
#: src/settings_translation_file.cpp
msgid "Active object send range"
-msgstr ""
+msgstr "Aktiva senda amplekso de objektoj"
#: src/settings_translation_file.cpp
msgid ""
@@ -1981,7 +1945,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Adds particles when digging a node."
-msgstr "Aldonas partiklojn fosante monderon."
+msgstr "Aldonas partiklojn ĉe fosado de mondero."
#: src/settings_translation_file.cpp
msgid ""
@@ -1997,6 +1961,9 @@ msgid ""
"brighter.\n"
"This setting is for the client only and is ignored by the server."
msgstr ""
+"AlÄustigi la gamaan kodadon al la lumtabeloj. Pli altaj nombroj estas pli "
+"helaj.\n"
+"Ĉi tiu agordo estas klientflanka, kaj serviloj Äin malatentos."
#: src/settings_translation_file.cpp
msgid "Advanced"
@@ -2005,27 +1972,27 @@ msgstr "Specialaj"
#: src/settings_translation_file.cpp
msgid "Alters how mountain-type floatlands taper above and below midpoint."
msgstr ""
+"ÅœanÄas kiel montecaj fluginsuloj maldikiÄas super kaj sub la mezpunkto."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Altitude chill"
msgstr "Alteca malvarmiÄo"
#: src/settings_translation_file.cpp
msgid "Always fly and fast"
-msgstr "Ĉiam flugreÄime kaj rapidreÄime"
+msgstr "Ĉiam en fluga kaj rapida reÄimoj"
#: src/settings_translation_file.cpp
msgid "Ambient occlusion gamma"
-msgstr ""
+msgstr "Gamao de media ombrigo"
#: src/settings_translation_file.cpp
msgid "Amount of messages a player may send per 10 seconds."
-msgstr ""
+msgstr "Kiom da mesaÄoj ludanto rajtas sendi en dek sekundoj."
#: src/settings_translation_file.cpp
msgid "Amplifies the valleys."
-msgstr ""
+msgstr "Plifortigas la valojn."
#: src/settings_translation_file.cpp
msgid "Anisotropic filtering"
@@ -2036,17 +2003,16 @@ msgid "Announce server"
msgstr "Enlistigi servilon"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Announce to this serverlist."
-msgstr "Enlistigi servilon"
+msgstr "Anonci al ĉi tiu servillisto."
#: src/settings_translation_file.cpp
msgid "Append item name"
-msgstr ""
+msgstr "Almeti nomon de portaĵo"
#: src/settings_translation_file.cpp
msgid "Append item name to tooltip."
-msgstr ""
+msgstr "Almeti nomon de portaĵo al Åpruchelplio."
#: src/settings_translation_file.cpp
msgid "Apple trees noise"
@@ -2054,13 +2020,15 @@ msgstr "Bruo de pomujoj"
#: src/settings_translation_file.cpp
msgid "Arm inertia"
-msgstr ""
+msgstr "Braka movofirmo"
#: src/settings_translation_file.cpp
msgid ""
"Arm inertia, gives a more realistic movement of\n"
"the arm when the camera moves."
msgstr ""
+"Braka movofirmo donas pli verecan movadon\n"
+"de la brako dum movo de la vidpunkto."
#: src/settings_translation_file.cpp
msgid "Ask to reconnect after crash"
@@ -2080,20 +2048,26 @@ msgid ""
"optimization.\n"
"Stated in mapblocks (16 nodes)."
msgstr ""
+"Je ĉi tiu distanco, la servilo fervore alÄustigos la nombron de monderoj\n"
+"sendataj al klientoj.\n"
+"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"
+"plibonigon.\n"
+"Donita en mapblokoj (16 monderoj)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
-msgstr "AntaÅ­en"
+msgstr "Memfare antaÅ­en"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
-msgstr ""
+msgstr "Memfare salti unumonderajn barojn."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically report to the serverlist."
-msgstr "AÅ­tomate raporti al la listo de serviloj."
+msgstr "Memfare raporti al la listo de serviloj."
#: src/settings_translation_file.cpp
msgid "Autosave screen size"
@@ -2101,45 +2075,41 @@ msgstr "Memori grandecon de ekrano"
#: src/settings_translation_file.cpp
msgid "Autoscaling mode"
-msgstr ""
+msgstr "ReÄimo de memfara skalado"
#: src/settings_translation_file.cpp
msgid "Backward key"
msgstr "MalantaÅ­en"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base ground level"
-msgstr "Ternivelo"
+msgstr "Baza ternivelo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base terrain height."
-msgstr "Baza alteco de tereno"
+msgstr "Baza alteco de tereno."
#: src/settings_translation_file.cpp
msgid "Basic"
msgstr "Baza"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Basic privileges"
msgstr "Bazaj rajtoj"
#: src/settings_translation_file.cpp
msgid "Beach noise"
-msgstr "Stranda bruo"
+msgstr "Borda bruo"
#: src/settings_translation_file.cpp
msgid "Beach noise threshold"
-msgstr "Sojlo de stranda bruo"
+msgstr "Sojlo de borda bruo"
#: src/settings_translation_file.cpp
msgid "Bilinear filtering"
msgstr "Dulineara filtrado"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Bind address"
msgstr "Bindi adreson"
@@ -2157,7 +2127,7 @@ msgstr "Bitoj bildere (aÅ­ kolornombro) en tutekrana reÄimo."
#: src/settings_translation_file.cpp
msgid "Block send optimize distance"
-msgstr ""
+msgstr "Optimuma distanco de bloko-sendado"
#: src/settings_translation_file.cpp
msgid "Build inside player"
@@ -2169,11 +2139,11 @@ msgstr "Primitivaĵo"
#: src/settings_translation_file.cpp
msgid "Bumpmapping"
-msgstr "Protuberancmapado"
+msgstr "Mapado de elstaraĵoj"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2181,51 +2151,51 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Camera smoothing"
-msgstr ""
+msgstr "Glatigo de vidpunkto"
#: src/settings_translation_file.cpp
msgid "Camera smoothing in cinematic mode"
-msgstr ""
+msgstr "Glatigo de vidpunkto por glita vidpunkto"
#: src/settings_translation_file.cpp
msgid "Camera update toggle key"
-msgstr ""
+msgstr "Baskula klavo de Äisdatigo de vidpunkto"
#: src/settings_translation_file.cpp
msgid "Cave noise"
-msgstr ""
+msgstr "Kaverna bruo"
#: src/settings_translation_file.cpp
msgid "Cave noise #1"
-msgstr ""
+msgstr "Kaverna bruo #1"
#: src/settings_translation_file.cpp
msgid "Cave noise #2"
-msgstr ""
+msgstr "Kaverna bruo #1"
#: src/settings_translation_file.cpp
msgid "Cave width"
-msgstr ""
+msgstr "Kaverna larÄo"
#: src/settings_translation_file.cpp
msgid "Cave1 noise"
-msgstr ""
+msgstr "Kaverna bruo 1"
#: src/settings_translation_file.cpp
msgid "Cave2 noise"
-msgstr ""
+msgstr "Kaverna bruo 2"
#: src/settings_translation_file.cpp
msgid "Cavern limit"
-msgstr ""
+msgstr "Kaverna limo"
#: src/settings_translation_file.cpp
msgid "Cavern noise"
-msgstr ""
+msgstr "Kaverna bruo"
#: src/settings_translation_file.cpp
msgid "Cavern taper"
-msgstr ""
+msgstr "MaldikiÄo de kavernoj"
#: src/settings_translation_file.cpp
msgid "Cavern threshold"
@@ -2233,7 +2203,7 @@ msgstr "Sojlo de kavernoj"
#: src/settings_translation_file.cpp
msgid "Cavern upper limit"
-msgstr ""
+msgstr "Supra limo de kavernoj"
#: src/settings_translation_file.cpp
msgid "Center of light curve mid-boost."
@@ -2254,18 +2224,21 @@ msgid "Chat key"
msgstr "Babila klavo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message count limit"
-msgstr "StatmesaÄo je konektiÄo"
+msgstr "Supra limo de babilaj mesaÄoj"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Plejlongo de babilaj mesaÄoj"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
-msgstr "Sojlo de dezerta bruo"
+msgstr "Sojlo de babilaj mesaÄoj antaÅ­ forpelo"
#: src/settings_translation_file.cpp
msgid "Chat message max length"
-msgstr ""
+msgstr "Plejlongo de babilaj mesaÄoj"
#: src/settings_translation_file.cpp
msgid "Chat toggle key"
@@ -2277,19 +2250,19 @@ msgstr "Babilaj komandoj"
#: src/settings_translation_file.cpp
msgid "Chunk size"
-msgstr ""
+msgstr "Grando de peco"
#: src/settings_translation_file.cpp
msgid "Cinematic mode"
-msgstr "Glata kamerao"
+msgstr "Glita vidpunkto"
#: src/settings_translation_file.cpp
msgid "Cinematic mode key"
-msgstr "Klavo de glata kamerao"
+msgstr "Klavo de glita vidpunkto"
#: src/settings_translation_file.cpp
msgid "Clean transparent textures"
-msgstr ""
+msgstr "Puraj travideblaj teksturoj"
#: src/settings_translation_file.cpp
msgid "Client"
@@ -2301,16 +2274,15 @@ msgstr "Kliento kaj servilo"
#: src/settings_translation_file.cpp
msgid "Client modding"
-msgstr "Klientaj modifaĵoj"
+msgstr "Klienta modifado"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Client side modding restrictions"
-msgstr "Klientaj modifaĵoj"
+msgstr "Limigoj de klient-flanka modifado"
#: src/settings_translation_file.cpp
msgid "Client side node lookup range restriction"
-msgstr ""
+msgstr "Limigoj de amplekso por klientflanka serĉado de monderoj"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
@@ -2346,14 +2318,21 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"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 "
+"difino\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"
+"la plenan liston je https://content.minetest.net/help/content_flags/"
#: 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 ""
-"Listo de modifoj (perkome disigitaj), kiuj rajtas aliri la API-on de HTTP, "
-"kiu\n"
+"Diskomita listo de modifaĵoj, kiuj rajtas aliri la API-on de HTTP, kiu\n"
"ebligas alÅutadon kaj elÅutadon de datenoj al/el la interreto."
#: src/settings_translation_file.cpp
@@ -2361,9 +2340,10 @@ 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 ""
-"Listo de fidataj modifoj (perkome disigitaj), kiuj rajtas aliri nesekurajn\n"
-"funkciajn eĉ kiam modifaĵa sekureco estas Åaltita\n"
-"(per ‹request_insecure_environment()›)."
+"Diskomita listo de fidataj modifaĵoj, kiuj rajtas aliri nesekurajn "
+"funkciojn\n"
+"eĉ kiam modifaĵa sekureco estas Åaltita (per "
+"« request_insecure_environment() »)."
#: src/settings_translation_file.cpp
msgid "Command key"
@@ -2371,23 +2351,23 @@ msgstr "Komanda klavo"
#: src/settings_translation_file.cpp
msgid "Connect glass"
-msgstr "Kunigi vitron"
+msgstr "Kunfandi vitron"
#: src/settings_translation_file.cpp
msgid "Connect to external media server"
-msgstr "Konekti al fora aŭdvidaĵa servilo"
+msgstr "Konekti al fora vidaŭdaĵa servilo"
#: src/settings_translation_file.cpp
msgid "Connects glass if supported by node."
-msgstr "Konektas vitrajn monderojn, se tio eblas."
+msgstr "Kunfandas vitron, se la monderoj tion subtenas."
#: src/settings_translation_file.cpp
msgid "Console alpha"
-msgstr "Travidebleco de konsolo"
+msgstr "Travidebleco de konzolo"
#: src/settings_translation_file.cpp
msgid "Console color"
-msgstr "Konzola koloro"
+msgstr "Koloro de konzolo"
#: src/settings_translation_file.cpp
msgid "Console height"
@@ -2398,9 +2378,8 @@ msgid "ContentDB Flag Blacklist"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "DaÅ­rigi"
+msgstr "URL de la datena deponejo"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2411,38 +2390,42 @@ msgid ""
"Continuous forward movement, toggled by autoforward key.\n"
"Press the autoforward key again or the backwards movement to disable."
msgstr ""
+"Senĉesa antaŭena movado, baskuligata de la memirada klavo.\n"
+"Premu la memiran klavon ree, aÅ­ reeniru por Äin malÅalti."
#: src/settings_translation_file.cpp
msgid "Controls"
msgstr "Stirado"
#: 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 ""
-"Regas daÅ­ron de taga periodo.\n"
-"Ekzemploj: 72 = 20 minutoj, 360 = 4 minutoj, 1 = 24 horoj, 0 = restas tago "
-"aÅ­ nokto."
+"Regas daÅ­ron de tagnokta periodo.\n"
+"Ekzemploj:\n"
+"72 = 20 minutoj, 360 = 4 minutoj, 1 = 24 horoj, 0 = restadas senÅanÄe."
+
+#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
-msgstr "Regas la krutecon/profundecon de lagaj profundaĵoj."
+msgstr "Regas krutecon/profundecon de lagaj profundaĵoj."
#: src/settings_translation_file.cpp
msgid "Controls steepness/height of hills."
msgstr "Regas krutecon/altecon de montetoj."
#: 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 ""
-"Regas densecon de fluginsula munta tereno.\n"
-"Temas pri deÅovo de la ‹np_mountain› brua valoro."
+"Regas densecon de montecaj fluginsuloj.\n"
+"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."
@@ -2455,7 +2438,7 @@ msgstr "Fiaska mesaÄo"
#: src/settings_translation_file.cpp
msgid "Creative"
-msgstr "Kreema"
+msgstr "Krea"
#: src/settings_translation_file.cpp
msgid "Crosshair alpha"
@@ -2482,15 +2465,19 @@ msgid "Damage"
msgstr "Difekto"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Darkness sharpness"
-msgstr "Laga kruteco"
+msgstr "Akreco de mallumo"
#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
msgstr "Sencimiga baskula klavo"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Sojlo de dezerta bruo"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Sencimiga protokola nivelo"
@@ -2499,12 +2486,16 @@ msgid "Dec. volume key"
msgstr "MallaÅ­tiga klavo"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Dediĉita servila paÅo"
#: src/settings_translation_file.cpp
msgid "Default acceleration"
-msgstr "Implicita rapidigo"
+msgstr "Implicita akcelo"
#: src/settings_translation_file.cpp
msgid "Default game"
@@ -2552,19 +2543,15 @@ msgstr "Difinas zonojn kie arboj donas pomojn."
#: src/settings_translation_file.cpp
msgid "Defines areas with sandy beaches."
-msgstr "Difinas zonojn kun sablaj strandoj."
+msgstr "Difinas zonojn kun sablaj bordoj."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain and steepness of cliffs."
-msgstr ""
-"Difinas zonojn de pli alta (krutaĵa) tereno, kaj influas krutecon de "
-"krutaĵoj."
+msgstr "Difinas distribuon de pli alta tereno kaj krutecon de rokmuroj."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain."
-msgstr "Difinas zonojn de ‹terrain_higher› (krutaĵa tereno)."
+msgstr "Difinas distribuon de alta tereno."
#: src/settings_translation_file.cpp
msgid "Defines full size of caverns, smaller values create larger caverns."
@@ -2589,9 +2576,13 @@ msgstr ""
"Pli alta valoro signifas pli glatajn normalmapojn."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines the base ground level."
-msgstr "Difinas arbajn zonojn kaj denson."
+msgstr "Difinas la bazan ternivelon."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Difinas la bazan ternivelon."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
@@ -2599,6 +2590,16 @@ 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."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Difinas zonojn kie arboj donas pomojn."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Difinas arbajn zonojn kaj denson."
@@ -2624,9 +2625,14 @@ msgid "Deprecated Lua API handling"
msgstr "Traktado de evitinda Lua API"
#: src/settings_translation_file.cpp
-#, fuzzy
+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 "Depth below which you'll find giant caverns."
-msgstr "Profundo sub kiu troveblos grandaj kavernoj."
+msgstr "Profundo sub kiu troveblos grandegaj kavernoj."
#: src/settings_translation_file.cpp
msgid "Depth below which you'll find large caves."
@@ -2645,9 +2651,10 @@ 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 new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"Dezertoj estiÄas kiam ‹np_biome› superas ĉi tiun valoron.\n"
"Kiam la nova klimata sistemo aktivas, ĉi tio estas malatentata."
@@ -2685,17 +2692,21 @@ msgid "Drop item key"
msgstr "Demeta klavo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Dump the mapgen debug information."
-msgstr "Ŝuti la sencimigajn informojn de ‹mapgen›."
+msgstr "Ŝuti la sencimigajn informojn de « mapgen »."
#: src/settings_translation_file.cpp
msgid "Dungeon maximum Y"
-msgstr ""
+msgstr "Maksimuma Y de forgeskelo"
#: src/settings_translation_file.cpp
msgid "Dungeon minimum Y"
-msgstr ""
+msgstr "Minimuma Y de forgeskeloj"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Minimuma Y de forgeskeloj"
#: src/settings_translation_file.cpp
msgid ""
@@ -2706,9 +2717,8 @@ msgstr ""
"Tiu ĉi funkcio estas prova kaj la API eble ÅanÄontas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable VBO"
-msgstr "Åœaltu modifaron"
+msgstr "Åœalti VBO(Vertex Buffer Object)"
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2716,21 +2726,19 @@ msgstr "Åœalti konzolan fenestron"
#: src/settings_translation_file.cpp
msgid "Enable creative mode for new created maps."
-msgstr "Åœalti kreeman reÄimon por novaj mapoj."
+msgstr "Åœalti krea reÄimon por novaj mapoj."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable joysticks"
msgstr "Åœalti stirstangojn"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable mod channels support."
-msgstr "Åœalti modifan sekurecon"
+msgstr "Ŝalti subtenon de modifaĵaj kanaloj."
#: src/settings_translation_file.cpp
msgid "Enable mod security"
-msgstr "Åœalti modifan sekurecon"
+msgstr "Ŝalti modifaĵan sekurecon"
#: src/settings_translation_file.cpp
msgid "Enable players getting damage and dying."
@@ -2738,24 +2746,26 @@ msgstr "Åœalti difektadon kaj mortadon de ludantoj."
#: src/settings_translation_file.cpp
msgid "Enable random user input (only used for testing)."
-msgstr "Åœalti hazardan uzantan enigon (nur por testado)."
+msgstr "Åœalti hazardan uzulan enigon (nur por testado)."
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Åœalti konfirmon de registriÄo"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"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."
#: src/settings_translation_file.cpp
msgid ""
"Enable smooth lighting with simple ambient occlusion.\n"
"Disable for speed or for different looks."
msgstr ""
-"Åœalti glatan lumadon kun simpla media ombado.\n"
+"Åœalti glatan lumadon kun simpla media ombrado.\n"
"MalÅaltu por rapido aÅ­ alia aspekto."
#: src/settings_translation_file.cpp
@@ -2766,7 +2776,7 @@ msgid ""
"to new servers, but they may not support all new features that you are "
"expecting."
msgstr ""
-"Åœalti por malpermesi konekton al malnovaj klientoj.\n"
+"Åœalti por malpermesi konekton de malnovaj klientoj.\n"
"Malnovaj klientoj estas kongruaj tiel, ke ili ne fiaskas konektante al novaj "
"serviloj,\n"
"sed eble ili ne subtenos ĉiujn atendatajn funkciojn."
@@ -2791,14 +2801,12 @@ msgstr ""
"Ekzemple: 0 por nenioma balanciÄo, 1.0 por normala, 2.0 por duobla."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
"Ignored if bind_address is set."
msgstr ""
-"Åœalti/malÅalti lanĉon de IPv6 servilo. IPv6 servilo povas esti limigita\n"
-"al IPv6 klientoj, laÅ­ la sistemaj agordoj.\n"
-"Malatentata se ‹bind_address› agorditas."
+"Åœalti/malÅalti ruladon de IPv6-a servilo.\n"
+"Ignorita, se « bindi_adreson » estas agordita."
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
@@ -2811,15 +2819,18 @@ msgid ""
"or need to be auto-generated.\n"
"Requires shaders to be enabled."
msgstr ""
+"Ŝaltas mapadon de elstaraĵoj por teksturoj. Normalmapoj devas veni kun la "
+"teksturaro,\n"
+"aÅ­ estiÄi memfare.\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
-#, fuzzy
msgid "Enables filmic tone mapping"
-msgstr "Åœalti damaÄon"
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Enables minimap."
@@ -2830,6 +2841,8 @@ msgid ""
"Enables on the fly normalmap generation (Emboss effect).\n"
"Requires bumpmapping to be enabled."
msgstr ""
+"Åœaltas dumludan estigadon de normalmapoj (Reliefiga efekto).\n"
+"Bezonas Åaltitan mapadon de elstaraĵoj."
#: src/settings_translation_file.cpp
msgid ""
@@ -2852,6 +2865,8 @@ msgid ""
"Experimental option, might cause visible spaces between blocks\n"
"when set to higher number than 0."
msgstr ""
+"Prova elekteblo; povas estigi videblajn spacojn inter monderoj\n"
+"je nombro super 0."
#: src/settings_translation_file.cpp
msgid "FPS in pause menu"
@@ -2859,7 +2874,7 @@ msgstr "Kadroj sekunde en paÅ­za menuo"
#: src/settings_translation_file.cpp
msgid "FSAA"
-msgstr ""
+msgstr "FSAA(glatigo/anti-aliasing)"
#: src/settings_translation_file.cpp
msgid "Factor noise"
@@ -2902,13 +2917,12 @@ msgid "Fast movement"
msgstr "Rapida moviÄo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Fast movement (via the \"special\" key).\n"
"This requires the \"fast\" privilege on the server."
msgstr ""
-"Rapida moviÄo (per la klavo «uzi»).\n"
-"Ĉi tio postulas la rajton »rapidi« je la servilo."
+"Rapida moviÄo (per la klavo « speciala »).\n"
+"Ĉi tio postulas la rajton « rapidi » en la servilo."
#: src/settings_translation_file.cpp
msgid "Field of view"
@@ -2919,17 +2933,16 @@ msgid "Field of view in degrees."
msgstr "Vidokampo grade."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"File in client/serverlist/ that contains your favorite servers displayed in "
"the\n"
"Multiplayer Tab."
msgstr ""
-"Dosiero en ‹client/serverlist/›, kiu enhavas viajn Åatatajn servilojn "
-"montritajn langeto «Plurludanta»."
+"Dosiero en client/serverlist/ kiu enhavas viajn Åatatajn servilojn "
+"montritajn en la\n"
+"langeto «Plurludanta»."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Filler depth"
msgstr "Profundeco de plenigaĵo"
@@ -2960,18 +2973,17 @@ msgid "Filtering"
msgstr "Filtrado"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of 4 2D noises that together define hill/mountain range height."
-msgstr "Unu el la du 3d-aj bruoj, kiuj kune difinas tunelojn."
+msgstr ""
+"Unua el la 4 2d-aj bruoj, kiuj kune difinas la alton de mont(et)aj krestoj."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of two 3D noises that together define tunnels."
-msgstr "Unu el la du 3d-aj bruoj, kiuj kune difinas tunelojn."
+msgstr "Unua el la du 3d-aj bruoj, kiuj kune difinas tunelojn."
#: src/settings_translation_file.cpp
msgid "Fixed map seed"
-msgstr ""
+msgstr "Fiksa mapa greno"
#: src/settings_translation_file.cpp
msgid "Fixed virtual joystick"
@@ -2994,9 +3006,8 @@ msgid "Floatland mountain density"
msgstr "Denseco de fluginsulaj montoj"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Floatland mountain exponent"
-msgstr "Denseco de fluginsulaj montoj"
+msgstr "Eksponento de fluginsulaj montoj"
#: src/settings_translation_file.cpp
msgid "Floatland mountain height"
@@ -3015,7 +3026,6 @@ msgid "Fog"
msgstr "Nebulo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fog start"
msgstr "Komenco de nebulo"
@@ -3048,6 +3058,13 @@ msgid "Font size"
msgstr "Tipara grandeco"
#: 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 "Format of screenshots."
msgstr "Dosierformo de ekrankopioj."
@@ -3068,48 +3085,41 @@ msgid "Formspec Full-Screen Background Opacity"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec default background color (R,G,B)."
-msgstr "Fonkoloro de la enluda babila konzolo (R,V,B)."
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec default background opacity (between 0 and 255)."
msgstr ""
-"Travidebleco de enluda babila konzolo (maltravidebleco, inter 0 kaj 255)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec full-screen background color (R,G,B)."
-msgstr "Fonkoloro de la enluda babila konzolo (R,V,B)."
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec full-screen background opacity (between 0 and 255)."
msgstr ""
-"Travidebleco de enluda babila konzolo (maltravidebleco, inter 0 kaj 255)."
#: src/settings_translation_file.cpp
msgid "Forward key"
msgstr "AntaÅ­en"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
-msgstr "Unu el la du 3d-aj bruoj, kiuj kune difinas tunelojn."
+msgstr ""
+"Kvara el la 4 2d-aj bruoj, kiuj kune difinas altecon de mont(et)aj krestoj."
#: src/settings_translation_file.cpp
msgid "Fractal type"
-msgstr ""
+msgstr "Speco de fraktalo"
#: src/settings_translation_file.cpp
msgid "Fraction of the visible distance at which fog starts to be rendered"
-msgstr ""
+msgstr "Ono de la videbla distanco, ekde kiu nebulo bildiÄas"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "FreeType fonts"
-msgstr "Tiparoj ‹Freetype›"
+msgstr "Tiparoj « FreeType »"
#: src/settings_translation_file.cpp
msgid ""
@@ -3133,6 +3143,13 @@ 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"
+"\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 "
+"rigardas.\n"
+"(Tio malhelpas subitan malaperon de estuloj el la vido.)"
#: src/settings_translation_file.cpp
msgid "Full screen"
@@ -3198,14 +3215,12 @@ msgid "Ground level"
msgstr "Ternivelo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ground noise"
-msgstr "Bruo de koto"
+msgstr "Tera bruo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "HTTP mods"
-msgstr "HTTP modifoj"
+msgstr "HTTP-modifaĵoj"
#: src/settings_translation_file.cpp
msgid "HUD scale factor"
@@ -3242,7 +3257,7 @@ msgstr "Varmeca bruo"
#: src/settings_translation_file.cpp
msgid "Height component of the initial window size."
-msgstr ""
+msgstr "Alteca parto de la komenca grando de la fenestro."
#: src/settings_translation_file.cpp
msgid "Height noise"
@@ -3265,30 +3280,44 @@ msgid "Hill threshold"
msgstr "Sojlo de montetoj"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness1 noise"
-msgstr "Bruo de kruteco"
+msgstr "Bruo de monteteco 1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness2 noise"
-msgstr "Bruo de kruteco"
+msgstr "Bruo de monteteco 2"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness3 noise"
-msgstr "Bruo de kruteco"
+msgstr "Bruo de monteteco 3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness4 noise"
-msgstr "Bruo de kruteco"
+msgstr "Bruo de monteteco 4"
#: src/settings_translation_file.cpp
msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Sekva objekto en fulmobreto"
@@ -3297,178 +3326,148 @@ msgid "Hotbar previous key"
msgstr "AntaÅ­a objekto en fulmobreto"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 1 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 10 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 10"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 11 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 11"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 12 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 12"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 13 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 13"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 14 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 14"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 15 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 15"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 16 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 16"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 17 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 17"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 18 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 18"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 19 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 19"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 2 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 2"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 20 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 20"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 21 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 21"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 22 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 22"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 23 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 23"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 24 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 24"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 25 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 25"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 26 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 26"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 27 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 27"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 28 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 28"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 29 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 29"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 3 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 30 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 30"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 31 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 31"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 32 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 32"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 4 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 4"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 5 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 6 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 7 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 7"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 8 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 8"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 9 key"
-msgstr "Sekva objekto en fulmobreto"
+msgstr "Klavo de fulmobreta portaĵingo 9"
#: src/settings_translation_file.cpp
msgid "How deep to make rivers."
-msgstr ""
+msgstr "Kiel profundaj fari riverojn."
#: 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 ""
+"Kioman tempon la servilo atendos antaÅ­ delasi neuzatajn mapblokojn.\n"
+"Pli alta valoro estas pli glata, sed uzos pli da tujmemoro."
#: src/settings_translation_file.cpp
msgid "How wide to make rivers."
-msgstr ""
+msgstr "Kiel larÄajn fari riverojn."
#: src/settings_translation_file.cpp
msgid "Humidity blend noise"
@@ -3484,15 +3483,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "IPv6"
-msgstr ""
+msgstr "IPv6"
#: src/settings_translation_file.cpp
msgid "IPv6 server"
-msgstr ""
+msgstr "Servilo kun IPv6"
#: src/settings_translation_file.cpp
msgid "IPv6 support."
-msgstr ""
+msgstr "Subteno de IPv6."
#: src/settings_translation_file.cpp
msgid ""
@@ -3526,13 +3525,12 @@ msgstr ""
"Por tio necesas la rajto «noclip» servile."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
"down and\n"
"descending."
msgstr ""
-"Ŝaltite, klavo «uzi» uzatas anstataŭ klavo «singardiri» por malsupreniro."
+"Åœaltite, klavo « uzi » uzatas anstataÅ­ klavo « kaÅiri » por malsupreniro."
#: src/settings_translation_file.cpp
msgid ""
@@ -3581,6 +3579,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr "Åœaltite, ludantoj ĉiam renaskiÄos je la donita loko."
@@ -3610,6 +3616,10 @@ msgid "Inc. volume key"
msgstr "PlilaÅ­tiga klavo"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -3656,17 +3666,16 @@ msgid "Inventory items animations"
msgstr "Bildmovo de objektoj en objektujo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Inventory key"
-msgstr "Inventaro"
+msgstr "Klavo de portaĵujo"
#: src/settings_translation_file.cpp
msgid "Invert mouse"
-msgstr "Inversigi muson"
+msgstr "Renversi muson"
#: src/settings_translation_file.cpp
msgid "Invert vertical mouse movement."
-msgstr "Inversigi vertikalan movon de muso."
+msgstr "Renversi vertikalan movon de muso."
#: src/settings_translation_file.cpp
msgid "Item entity TTL"
@@ -3686,7 +3695,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Joystick ID"
-msgstr "Identigaĵo de stirstango"
+msgstr "Identigilo de stirstango"
#: src/settings_translation_file.cpp
msgid "Joystick button repetition interval"
@@ -3697,7 +3706,6 @@ msgid "Joystick frustum sensitivity"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Joystick type"
msgstr "Speco de stirstango"
@@ -3751,9 +3759,8 @@ msgid "Julia z"
msgstr "Julia z"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Jump key"
-msgstr "Salti"
+msgstr "Salta klavo"
#: src/settings_translation_file.cpp
msgid "Jumping speed"
@@ -3830,7 +3837,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"
@@ -3838,6 +3844,7 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Klavo por movi la ludanton reen.\n"
+"Aktivigo ankaÅ­ malÅaltos memiradon.\n"
"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3922,288 +3929,262 @@ 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 11-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 12-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 13-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 14-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 15-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 16-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 17-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 18-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 19-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 20-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 21-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 22-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 23-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 24-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 25-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 26-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 27-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 28-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 29-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 30-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 31-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti 32-an portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti okan portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti kvinan portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti unuan portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti antaÅ­an objekton en la fulmobreto.\n"
+"Klavo por elekti kvaran portaĵingon en la fulmobreto.\n"
"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4218,13 +4199,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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti naŭan portaĵingon en la fulmobreto.\n"
"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4239,57 +4219,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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti duan portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti sepan portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti sesan portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti dekan portaĵingon en la fulmobreto.\n"
"Vidu 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 ""
-"Klavo por elekti sekvan objekton en la fulmobreto.\n"
+"Klavo por elekti trian portaĵingon en la fulmobreto.\n"
"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4301,7 +4276,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Klavo por singarda irado.\n"
+"Klavo por kaÅirado.\n"
"AnkaÅ­ uzata por malsupreniro kaj malsuprennaÄo se ‹aux1_descends› estas "
"malÅaltita.\n"
"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
@@ -4328,13 +4303,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 ""
-"Baskula klavo por aÅ­tomata kurado.\n"
+"Baskula klavo por memirado.\n"
"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4344,7 +4318,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Baskula klavo por glata kamerao.\n"
+"Baskula klavo por glita vidpunkto.\n"
"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4384,15 +4358,17 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Baskula klavo por trapasa reÄimo.\n"
+"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
+"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 ""
-"Baskula klavo por rapida reÄimo.\n"
+"Baskula klavo por celilsekva reÄimo.\n"
"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4402,12 +4378,11 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Baskula klavo por kameraa Äisdatigo. Nur uzata por evoluigado.\n"
+"Baskula klavo por vidpunkta Äisdatigo. Nur uzata por evoluigado.\n"
"Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Key for toggling the display of chat.\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
@@ -4428,7 +4403,6 @@ 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."
@@ -4490,7 +4464,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Kick players who sent more than X messages per 10 seconds."
-msgstr ""
+msgstr "Forpeli ludantojn, kiuj sendis pli ol X mesaÄojn en 10 sekundoj."
#: src/settings_translation_file.cpp
msgid "Lake steepness"
@@ -4509,14 +4483,12 @@ msgid "Large cave depth"
msgstr "Profundeco de granda kaverno"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Large chat console key"
-msgstr "Konzola klavo"
+msgstr "Klavo de granda konzolo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Lava depth"
-msgstr "Profundeco de granda kaverno"
+msgstr "Lafo-profundeco"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4535,9 +4507,8 @@ msgstr ""
"– Maltravidebla: malÅalti travideblecon"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Left key"
-msgstr "Maldekstra Menuo"
+msgstr "Maldekstra klavo"
#: src/settings_translation_file.cpp
msgid ""
@@ -4615,7 +4586,7 @@ msgstr ""
"Limigas nombron da samtempaj HTTP-petoj. Afliktas:\n"
"– ElÅuton de aÅ­dvidaĵoj, se la servilo uzas la agordon «remote_media».\n"
"– ElÅuton de listo de serviloj, kaj servila anonco.\n"
-"– ElÅutojn fare de la ĉefmenuo (ekz. modifa administrilo).\n"
+"– ElÅutojn fare de la ĉefmenuo (ekz. modifaĵa administrilo).\n"
"Efektivas nur se la ludo tradukiÄis kun cURL."
#: src/settings_translation_file.cpp
@@ -4636,8 +4607,8 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
-msgstr "Rapido de malsupreniro"
+msgid "Liquid sinking"
+msgstr "Rapideco de malsupreniro de likvo"
#: src/settings_translation_file.cpp
msgid "Liquid update interval in seconds."
@@ -4664,7 +4635,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Lower Y limit of dungeons."
-msgstr ""
+msgstr "Suba Y-limo de forgeskeloj."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -4672,9 +4643,8 @@ msgid "Main menu script"
msgstr "Ĉefmenuo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Main menu style"
-msgstr "Ĉefmenuo"
+msgstr "Stilo de ĉefmenuo"
#: src/settings_translation_file.cpp
msgid ""
@@ -4684,14 +4654,16 @@ msgstr ""
#: 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."
#: src/settings_translation_file.cpp
msgid "Makes all liquids opaque"
-msgstr ""
+msgstr "Igas fluidojn netravideblaj"
#: src/settings_translation_file.cpp
msgid "Map directory"
-msgstr ""
+msgstr "Dosierujo kun mapoj"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
@@ -4706,6 +4678,19 @@ 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"
+"kaj alta varmo.\n"
+"« altitude_dry »: Malpliigas malsekecon laŭ alto."
+
+#: 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 ""
@@ -4721,7 +4706,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4756,83 +4741,73 @@ msgid "Mapblock unload timeout"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian"
-msgstr "Mondogenerilo"
+msgstr "Mondestigilo karpata"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian specific flags"
-msgstr "Mondogenerilo"
+msgstr "Parametroj specialaj por mondestigilo karpata"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat"
-msgstr "Mondogenerilo"
+msgstr "Mondestigilo plata"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat specific flags"
-msgstr "Mondogenerilo"
+msgstr "Parametroj specialaj por mondestigilo plata"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Fractal"
-msgstr "Mondogenerilo"
+msgstr "Mondestigilo fraktala"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Parametroj specialaj por mondestigilo plata"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
-msgstr "Mondogenerilo"
+msgstr "Mondestigilo v5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V5 specific flags"
-msgstr "Mondogenerilo"
+msgstr "Parametroj specialaj por mondestigilo v5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6"
-msgstr "Mondogenerilo"
+msgstr "Mondestigilo v6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6 specific flags"
-msgstr "Mondogenerilo"
+msgstr "Parametroj specialaj por mondestigilo v6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7"
-msgstr "Mondogenerilo"
+msgstr "Mondestigilo v7"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7 specific flags"
-msgstr "Mondogenerilo"
+msgstr "Parametroj specialaj por mondestigilo v7"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Valleys"
-msgstr "Mondogenerilo"
+msgstr "Mondestigilo vala"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Valleys specific flags"
-msgstr "Mondogenerilo"
+msgstr "Parametroj specialaj por mondestigilo vala"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen debug"
-msgstr "Mondogenerilo"
+msgstr "Mapestigila erarserĉilo"
#: src/settings_translation_file.cpp
msgid "Mapgen flags"
-msgstr "Mondogenerilaj parametroj"
+msgstr "Parametroj de mondestigilo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen name"
-msgstr "Mondogenerilo"
+msgstr "Nomo de mondestigilo"
#: src/settings_translation_file.cpp
msgid "Max block generate distance"
@@ -4868,7 +4843,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum hotbar width"
-msgstr "Maksimuma larÄeco de la tujbreto"
+msgstr "Maksimuma larÄo de la fulmobreto"
+
+#: 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 ""
@@ -4926,9 +4907,8 @@ msgid "Maximum number of players that can be connected simultaneously."
msgstr "Maksimuma nombro da ludantoj, kiuj povas konektiÄi samtempe."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum number of recent chat messages to show"
-msgstr "Maksimuma nombro da mondopecoj sendataj entute."
+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."
@@ -4952,7 +4932,7 @@ msgstr "Maksimumaj samtempaj sendoj de mondopecoj po kliento"
#: src/settings_translation_file.cpp
msgid "Maximum size of the out chat queue"
-msgstr ""
+msgstr "Maksimumo da atendantaj elaj mesaÄoj"
#: src/settings_translation_file.cpp
msgid ""
@@ -4969,9 +4949,8 @@ msgid "Maximum users"
msgstr "Maksimuma nombro da uzantoj"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Menus"
-msgstr "Menuo"
+msgstr "Menuoj"
#: src/settings_translation_file.cpp
msgid "Mesh cache"
@@ -4987,7 +4966,7 @@ msgstr "TagmesaÄo montrota al konektantaj ludantoj."
#: src/settings_translation_file.cpp
msgid "Method used to highlight selected object."
-msgstr "Metodo marki elektitan objekton."
+msgstr "Metodo emfazi elektitan objekton."
#: src/settings_translation_file.cpp
msgid "Minimap"
@@ -5066,23 +5045,27 @@ msgstr ""
"Ekzemple: 0 por neniu balancado; 1.0 por normala; 2.0 por duobla."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mute key"
-msgstr "premi klavon"
+msgstr "Silentiga klavo"
#: src/settings_translation_file.cpp
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
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."
#: src/settings_translation_file.cpp
msgid ""
@@ -5101,7 +5084,7 @@ msgid ""
msgstr "Nomo de la servilo, montrota al ludantoj kaj en la listo de serviloj."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5156,16 +5139,18 @@ msgstr "Nombro da mondo-estigaj fadenoj"
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5283,9 +5268,8 @@ msgid "Player transfer distance"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Player versus player"
-msgstr "Ludanto kontraÅ­ ludanto (lkl)"
+msgstr "Ludanto kontraÅ­ ludanto"
#: src/settings_translation_file.cpp
msgid ""
@@ -5315,19 +5299,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Profiler"
-msgstr ""
+msgstr "Profililo"
#: src/settings_translation_file.cpp
msgid "Profiler toggle key"
-msgstr ""
+msgstr "Profilila baskula klavo"
#: src/settings_translation_file.cpp
msgid "Profiling"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-msgstr ""
+msgstr "Profilado"
#: src/settings_translation_file.cpp
msgid ""
@@ -5342,7 +5322,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Random input"
-msgstr ""
+msgstr "Hazarda enigo"
#: src/settings_translation_file.cpp
msgid "Range select key"
@@ -5350,21 +5330,23 @@ msgstr "Klavo por ÅanÄi vidodistancon"
#: src/settings_translation_file.cpp
msgid "Recent Chat Messages"
-msgstr ""
+msgstr "FreÅaj mesaÄoj de babilo"
#: src/settings_translation_file.cpp
msgid "Remote media"
-msgstr ""
+msgstr "Foraj vidaŭdaĵoj"
#: src/settings_translation_file.cpp
msgid "Remote port"
-msgstr ""
+msgstr "Fora pordo"
#: 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 ""
+"Forigi kolorkodojn de envenaj babilaj mesaÄoj\n"
+"Uzu tion por ĉesigi uzon de koloroj en mesaÄoj de ludantoj"
#: src/settings_translation_file.cpp
msgid "Replaces the default main menu with a custom one."
@@ -5416,11 +5398,19 @@ msgstr "Periodo inter ripetoj de dekstra klako"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "River depth"
+msgid "River channel depth"
msgstr "Rivera profundo"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel width"
+msgstr "Rivera profundo"
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr "Rivera profundo"
+
+#: src/settings_translation_file.cpp
msgid "River noise"
msgstr "Rivera bruo"
@@ -5430,6 +5420,11 @@ msgid "River size"
msgstr "Rivera grandeco"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Rivera profundo"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5451,7 +5446,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Sandy beaches occur when np_beach exceeds this value."
-msgstr "Sablaj strandoj 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."
@@ -5459,7 +5454,7 @@ msgstr "Konservi mapon ricevitan fare de la kliento al la disko."
#: src/settings_translation_file.cpp
msgid "Save window size automatically when modified."
-msgstr ""
+msgstr "Memori fenestran grandon post ties ÅanÄo."
#: src/settings_translation_file.cpp
msgid "Saving map received from server"
@@ -5506,23 +5501,22 @@ msgid ""
"1 means worst quality; 100 means best quality.\n"
"Use 0 for default quality."
msgstr ""
-"Ekrankopia kvalito. Nur uzata por la dosierformo «JPEG».\n"
+"Ekrankopia kvalito. Nur uzata por la dosierformo « JPEG ».\n"
"1 estas plej malaltkvalita; 100 estas plej altkvalita.\n"
"Uzu 0 por implicita kvalito."
#: src/settings_translation_file.cpp
msgid "Seabed noise"
-msgstr ""
+msgstr "Bruo de marplanko"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of 4 2D noises that together define hill/mountain range height."
-msgstr "Unu el la du 3d-aj bruoj, kiuj kune difinas tunelojn."
+msgstr ""
+"Dua el la kvar 2d-aj bruoj, kiuj kune difinas altecon de mont(et)aj krestoj."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of two 3D noises that together define tunnels."
-msgstr "Unu el la du 3d-aj bruoj, kiuj kune difinas tunelojn."
+msgstr "Dua el la du 3d-aj bruoj, kiuj kune difinas tunelojn."
#: src/settings_translation_file.cpp
msgid "Security"
@@ -5534,15 +5528,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Selection box border color (R,G,B)."
-msgstr ""
+msgstr "Limkoloro de elektujo"
#: src/settings_translation_file.cpp
msgid "Selection box color"
-msgstr ""
+msgstr "Koloro de elektujo"
#: src/settings_translation_file.cpp
msgid "Selection box width"
-msgstr ""
+msgstr "LarÄo de elektujo"
#: src/settings_translation_file.cpp
msgid ""
@@ -5569,7 +5563,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Server / Singleplayer"
-msgstr "Servilo / Unuludanta"
+msgstr "Servilo / Unuopa"
#: src/settings_translation_file.cpp
msgid "Server URL"
@@ -5608,16 +5602,21 @@ msgid ""
"Set the language. Leave empty to use the system language.\n"
"A restart is required after changing this."
msgstr ""
+"Agordi la lingvon. Lasu malplena por uzi la sisteman.\n"
+"Rerulo necesas post la ÅanÄo."
#: src/settings_translation_file.cpp
msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
+"Agordi maksimuman longon de babilaj mesaÄoj (en signoj) sendotaj de klientoj."
#: src/settings_translation_file.cpp
msgid ""
"Set to true enables waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
+"Verigo Åaltas ondantajn foliojn.\n"
+"Bezonas Åaltitajn ombrigilojn."
#: src/settings_translation_file.cpp
msgid ""
@@ -5711,25 +5710,28 @@ msgid ""
"Smooths camera when looking around. Also called look or mouse smoothing.\n"
"Useful for recording videos."
msgstr ""
-"Glitigas la kameraon.\n"
-"Utila por video-registrado."
+"Glitigas movojn de la vidpunkto dum ĉirkaŭrigardado.\n"
+"Utila por registrado de filmoj."
#: src/settings_translation_file.cpp
msgid "Smooths rotation of camera in cinematic mode. 0 to disable."
-msgstr "Glitigas la turnadon de kamerao en filma reÄimo. 0 por malÅalti."
+msgstr "Glatigas la turnadon de vidpunkto en glita reÄimo. 0 por malÅalti."
#: src/settings_translation_file.cpp
msgid "Smooths rotation of camera. 0 to disable."
-msgstr "Glitigas turnadon de la kamerao. 0 por malÅalti."
+msgstr "Glitigas turnadon de la vidpunkto. 0 por malÅalti."
#: src/settings_translation_file.cpp
msgid "Sneak key"
-msgstr "Singardira klavo"
+msgstr "KaÅira klavo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Sneaking speed"
-msgstr "Ondantaj foliaĵoj"
+msgstr "Rapido de kaÅiro"
+
+#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Sound"
@@ -5741,9 +5743,8 @@ msgid "Special key"
msgstr "Singardira klavo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key for climbing/descending"
-msgstr "Klavo por supreniri/malsupreniri"
+msgstr "Speciala klavo por supreniri/malsupreniri"
#: src/settings_translation_file.cpp
msgid ""
@@ -5799,11 +5800,11 @@ msgstr "Severa kontrolo de protokoloj"
#: src/settings_translation_file.cpp
msgid "Strip color codes"
-msgstr ""
+msgstr "Forpreni kolorkodojn"
#: src/settings_translation_file.cpp
msgid "Synchronous SQLite"
-msgstr "Sinkrona SQLite"
+msgstr "Akorda SQLite"
#: src/settings_translation_file.cpp
msgid "Temperature variation for biomes."
@@ -5818,9 +5819,8 @@ msgid "Terrain base noise"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Terrain height"
-msgstr "Alteco de tero"
+msgstr "Alteco de tereno"
#: src/settings_translation_file.cpp
msgid "Terrain higher noise"
@@ -5861,6 +5861,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 ""
+"Teksturoj sur mondero povas laÅ­i aÅ­ la monderon aÅ­ la mondon.\n"
+"La unua reÄimo pli taÅ­gas por maÅinoj, mebloj, ktp., kaj la dua donas\n"
+"pli bonan similecon kun ĉirkaÅ­o al Åtupoj kaj etblokoj.\n"
+"Sed ĉar tiu ĉi eblo estas nova, kaj malnovaj serviloj ne povas Äin uzi,\n"
+"ĉi tiu elekteblo bezonigas Äin por kelkaj specoj de monderoj. Tio ĉi tamen\n"
+"estas EKSPERIMENTA, kaj eble ne funkcios bone."
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
@@ -5953,6 +5959,7 @@ msgid ""
"right\n"
"mouse button."
msgstr ""
+"Tempo (en sekundoj) inter ripetaj klakoj dum premo de la dekstra musbutono."
#: src/settings_translation_file.cpp
msgid "The type of joystick"
@@ -5972,7 +5979,7 @@ msgstr "Unu el la du 3d-aj bruoj, kiuj kune difinas tunelojn."
#: src/settings_translation_file.cpp
msgid "This font will be used for certain languages."
-msgstr ""
+msgstr "Tiu ĉi tiparo uziÄos por iuj lingvoj."
#: src/settings_translation_file.cpp
msgid ""
@@ -5982,7 +5989,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Time of day when a new world is started, in millihours (0-23999)."
-msgstr ""
+msgstr "Tagtempo kiam nova mondo ekas, en hormilonoj (0–23999)."
#: src/settings_translation_file.cpp
msgid "Time send interval"
@@ -5994,7 +6001,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Timeout for client to remove unused map data from memory."
-msgstr ""
+msgstr "Tempolimo por forigi neuzatajn mapajn datumojn de klienta memoro."
#: src/settings_translation_file.cpp
msgid ""
@@ -6003,19 +6010,22 @@ msgid ""
"This determines how long they are slowed down after placing or removing a "
"node."
msgstr ""
+"Por malpliigi retprokraston, transsendoj de menderoj malrapidiÄas kiam "
+"ludanto ion\n"
+"konstruas. Ĉi tio decidas, kiom longe ili malrapidos post meto aŭ forigo de "
+"mondero."
#: src/settings_translation_file.cpp
msgid "Toggle camera mode key"
-msgstr "Baskula klavo de kameraa reÄimo"
+msgstr "Baskula klavo de vidpunkta reÄimo"
#: src/settings_translation_file.cpp
msgid "Tooltip delay"
msgstr "Åœpruchelpila prokrasto"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Touch screen threshold"
-msgstr "Sojlo de stranda bruo"
+msgstr "Sojlo de tuÅekrano"
#: src/settings_translation_file.cpp
msgid "Trees noise"
@@ -6053,11 +6063,13 @@ msgid "Undersampling"
msgstr "Subspecimenado"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"Subspecimenado similas uzon de malgranda ekrandistingivo, sed Äi nur\n"
"efektivas en la ludo, lasante la fasadon senÅanÄa.\n"
@@ -6073,7 +6085,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Upper Y limit of dungeons."
-msgstr ""
+msgstr "Supra Y-limo de forgeskeloj."
#: src/settings_translation_file.cpp
msgid "Use 3D cloud look instead of flat."
@@ -6107,12 +6119,10 @@ msgid "VBO"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "VSync"
-msgstr "Vertikala sinkronigo"
+msgstr "Vertikala akordigo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley depth"
msgstr "Profundeco de valoj"
@@ -6168,12 +6178,16 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
#: src/settings_translation_file.cpp
msgid "Video driver"
-msgstr ""
+msgstr "Videa pelilo"
#: src/settings_translation_file.cpp
msgid "View bobbing factor"
@@ -6181,32 +6195,31 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "View distance in nodes."
-msgstr ""
+msgstr "Vidodistanco mondere."
#: src/settings_translation_file.cpp
msgid "View range decrease key"
-msgstr ""
+msgstr "Klavo por malgrandigi vidodistancon"
#: src/settings_translation_file.cpp
msgid "View range increase key"
-msgstr ""
+msgstr "Klavo por pligrandigi vidodistancon"
#: src/settings_translation_file.cpp
msgid "View zoom key"
-msgstr ""
+msgstr "Vidpunkta zoma klavo"
#: src/settings_translation_file.cpp
msgid "Viewing range"
-msgstr ""
+msgstr "Vidodistanco"
#: src/settings_translation_file.cpp
msgid "Virtual joystick triggers aux button"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Volume"
-msgstr "Sonintenso"
+msgstr "LaÅ­teco"
#: src/settings_translation_file.cpp
msgid ""
@@ -6218,21 +6231,28 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
-msgstr "Ondantaj foliaĵoj"
+msgstr "Rapido de irado"
#: src/settings_translation_file.cpp
-msgid "Water level"
+msgid "Walking, flying and climbing speed in fast mode, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Water level"
+msgstr "Akvonivelo"
+
+#: src/settings_translation_file.cpp
msgid "Water surface level of the world."
-msgstr ""
+msgstr "Nivelo de la akvonivelo tra la mondo."
#: src/settings_translation_file.cpp
msgid "Waving Nodes"
-msgstr "Ondantaj nodaĵoj"
+msgstr "Ondantaj monderoj"
#: src/settings_translation_file.cpp
msgid "Waving leaves"
@@ -6248,18 +6268,18 @@ msgstr "Ondanta akvo"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water height"
-msgstr "Ondanta akvo"
+msgid "Waving water wave height"
+msgstr "Alto de ondanta akvo"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water length"
-msgstr "Ondanta akvo"
+msgid "Waving water wave speed"
+msgstr "Rapido de ondanta akvo"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water speed"
-msgstr "Ondanta akvo"
+msgid "Waving water wavelength"
+msgstr "Longo de ondanta akvo"
#: src/settings_translation_file.cpp
msgid ""
@@ -6295,10 +6315,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -6320,7 +6336,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Whether to fog out the end of the visible area."
-msgstr ""
+msgstr "Ĉu nebuli finon de la videbla areo."
#: src/settings_translation_file.cpp
msgid ""
@@ -6333,7 +6349,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Width of the selection box lines around nodes."
-msgstr ""
+msgstr "LarÄo de linioj de la elektujo ĉirkaÅ­ monderoj."
#: src/settings_translation_file.cpp
msgid ""
@@ -6378,14 +6394,8 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y of upper limit of large caves."
-msgstr "Y de supera limo de grandaj kvazaÅ­-hazardaj kavernoj."
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "Y de supera limo de grandaj kvazaÅ­-hazardaj kavernoj."
+msgstr "Y de supera limo de grandaj kavernoj."
#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
@@ -6397,7 +6407,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Y-level of cavern upper limit."
-msgstr ""
+msgstr "Y-nivelo de kaverna supra limo."
#: src/settings_translation_file.cpp
msgid "Y-level of floatland midpoint and lake surface."
@@ -6413,7 +6423,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Y-level of seabed."
-msgstr ""
+msgstr "Y-nivelo de marplanko."
#: src/settings_translation_file.cpp
msgid "Y-level to which floatland shadows extend."
@@ -6431,349 +6441,18 @@ msgstr ""
msgid "cURL timeout"
msgstr "cURL tempolimo"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Fermi"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Kiom da mondo-estigaj fadenoj uzi. Vakigu aÅ­ kreskigu la nombrod por uzi\n"
-#~ "plurajn fadenojn. Je plur-procesoraj sistemoj, tio rapidigos estigon de "
-#~ "la mapo,\n"
-#~ "kontraÅ­ iom cimaj kavernoj."
-
-#~ msgid "Disable MP"
-#~ msgstr "MalÅaltu modifaron"
-
-#~ msgid "Enable MP"
-#~ msgstr "Åœaltu modifaron"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Neniu mondnomo donitis aÅ­ neniu ludon elektitis"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" ne estas valida parametro."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Formato estas 3 diskomaj nombroj inter krampoj."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formato: <deÅovo>, <skalo>, (<sternoX>, <sternoY>, <sternoZ>), "
-#~ "<mondfonto>, <oktavoj>, <daÅ­reco>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "Mankopleneco aldoneblas kun antaÅ­a komo."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Bonvolu enigi diskoman liston de parametroj."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Eblaj valoroj estas: "
-
-#~ msgid "Select path"
-#~ msgstr "Elektu indikon"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Subludaj modifoj"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "PaÄo $1 de $2"
-
-#~ msgid "Rating"
-#~ msgstr "Takso"
-
-#~ msgid "Shortname:"
-#~ msgstr "Konciza nomo:"
+#~ msgid "Projecting dungeons"
+#~ msgstr "Planante forgeskelojn"
-#~ msgid "Successfully installed:"
-#~ msgstr "Instalis sukcese:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Neordigita"
-
-#~ msgid "re-Install"
-#~ msgstr "Instali denove"
-
-#~ msgid "Local Game"
-#~ msgstr "Loka ludo"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Malinstali selektan modifaron"
-
-#~ msgid "Play Online"
-#~ msgstr "Ludi enrete"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normalmapado"
-
-#~ msgid "No information available"
-#~ msgstr "Neniu informoj disponeblas"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "LaÅ­teco agorditas al 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "LaÅ­teco agorditas al 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Presi stakojn"
-
-#~ msgid "Use"
-#~ msgstr "Uzi"
-
-#~ msgid "Next"
-#~ msgstr "Sekvanto"
-
-#~ msgid "Prior"
-#~ msgstr "AntaÅ­e"
-
-#, fuzzy
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Aktivblokmodifila Intervalo"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Nur por Android: Provos krei objektujajn teksturojn de maÅaro,\n"
-#~ "ne trovinte alian kongruan bildon."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Enlistigi en ĉi tiun liston de serviloj.\n"
-#~ "Se vi volas enlistigi vian IPv6 adreson, uzu serverlist_url = v6.servers."
-#~ "minetest.net."
-
-#~ msgid "Cloud height"
-#~ msgstr "Alteco de nuboj"
-
-#~ msgid "Console key"
-#~ msgstr "Konzola klavo"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Senĉesa moviÄo antaÅ­en (nur por testado)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Kreas neantaÅ­videblaj lafejoj en kavernoj.\n"
-#~ "Tiuj povas malfaciligi fosadon. Nulo ilin malpermesas. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Kreas neantaÅ­videblaj akvejoj en kavernoj.\n"
-#~ "Tiuj povas malfaciligi fosadon. Nulo ilin malpermesas. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Singardira rapido"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Profundo sub kiu troveblos grandegaj kavernoj."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Åœalti vidan balancadon"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Åœaltas balanciÄon dum irado."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Vidokampo zome"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Vidokampo zomante en gradoj.\n"
-#~ "Ĉi tio postulas la rajton «zomi» en la servilo."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "De kiu distanco klientoj scias pri objektoj, mapbloke (po 16 monderoj)."
-
-#~ msgid "General"
-#~ msgstr "Äœenerala"
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "Montras al ludantoj konektitaj mesaÄon pri stato de la servilo."
+#~ msgid "Waving Water"
+#~ msgstr "Ondanta akvo"
#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Inventaro"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Ripetoj de la rikura funkcio.\n"
-#~ "Regas la kvanton da detaletoj."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Klavo por malfermi la babilan konzolon.\n"
-#~ "Vidu http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Atributoj de lafo"
-
-#, fuzzy
-#~ msgid "Main menu mod manager"
-#~ msgstr "Ĉefmenuo"
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr "Maksimuma nombro da mondopecoj sendataj po unu kliento."
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Y de supera limo de grandaj kvazaÅ­-hazardaj kavernoj."
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Maksimumaj samtempaj sendoj de mondopecoj entute"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Nomo de map-estigilo uzota kreante novan mondon.\n"
-#~ "Kreante mondon de ĉefmenuo oni transpasos ĉi tion."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Rivera bruo -- riveroj okazas preskaÅ­ neniam"
-
-#~ msgid "Support older servers"
-#~ msgstr "Subteno por malnovaj serviloj"
-
-#, fuzzy
-#~ msgid "Use key"
-#~ msgstr "premi klavon"
-
-#, fuzzy
-#~ msgid "Water Features"
-#~ msgstr "Aĵaj teksturoj…"
-
-#~ msgid "Hide mp content"
-#~ msgstr "KaÅu modifarojn"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "FiksiÄema klavo"
-
-#~ msgid "Comma"
-#~ msgstr "Komo"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Finalo"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Minuso"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Punkto"
-
-#~ msgid "Plus"
-#~ msgstr "Pluso"
-
-#, fuzzy
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Mondogenerilo"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Mondogenerilo"
-
-#, fuzzy
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Mondogenerilo"
-
-#, fuzzy
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Paralaksa Okludo"
-
-#, fuzzy
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Mondogenerilo"
-
-#, fuzzy
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Mondogenerilo"
-
-#, fuzzy
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Mondogenerilo"
-
-#, fuzzy
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Mondogenerilo"
-
-#, fuzzy
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Mondogenerilo"
-
-#, fuzzy
-#~ msgid "Useful for mod developers."
-#~ msgstr "Eksaj kernprogramistoj"
-
-#~ msgid "No of course not!"
-#~ msgstr "Ne, memkompreneble!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Publika servilolisto"
-
-#~ msgid "No!!!"
-#~ msgstr "Ne!!!"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "Åaltita"
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "Restartigu Minetest-on por efikigi pelilan ÅanÄon"
-
-#~ msgid "Touch free target"
-#~ msgstr "SentuÅa celo"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "Skala faktoro por menuoj "
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "Ŝargi teksturojn…"
+#~ msgid "Select Package File:"
+#~ msgstr "Elekti pakaĵan dosieron:"
-#~ msgid "Advanced Settings"
-#~ msgstr "Pliaj Agordoj"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Baskuligi glitan vidpunkton"
diff --git a/po/es/minetest.po b/po/es/minetest.po
index da998c129..73e0f91d1 100644
--- a/po/es/minetest.po
+++ b/po/es/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Spanish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-23 11:18+0000\n"
-"Last-Translator: Diego Martínez <lkaezadl3@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Spanish <https://hosted.weblate.org/projects/minetest/"
"minetest/es/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -23,7 +23,8 @@ msgid "You died"
msgstr "Has muerto"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Un error ha ocurrido en un script de Lua, tal como en un mod:"
#: builtin/fstk/ui.lua
@@ -119,13 +120,28 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Dependencias opcionales:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
msgstr "La descripción del juego no está disponible"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No hard dependencies"
+msgstr "Sin depenencias."
+
+#: 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:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Dependencias opcionales:"
@@ -190,7 +206,6 @@ msgstr "Sin resultados"
msgid "Search"
msgstr "Buscar"
-# No cabe "Paquetes de texturas".
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Texture packs"
msgstr "Paq. de texturas"
@@ -491,14 +506,9 @@ msgid "Rename"
msgstr "Renombrar"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "Seleccionar el archivo del paquete:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Desinstalar el paquete"
-# No cabe "Paquetes de texturas".
#: builtin/mainmenu/tab_content.lua
msgid "Use Texture Pack"
msgstr "Usar el paqu. de texturas"
@@ -551,7 +561,6 @@ msgstr "Juego anfitrión"
msgid "Host Server"
msgstr "Servidor anfitrión"
-# Los dos puntos son intencionados.
#: builtin/mainmenu/tab_local.lua
msgid "Name/Password"
msgstr "Nombre / contraseña"
@@ -782,12 +791,13 @@ msgid "Waving Leaves"
msgstr "Movimiento de Hojas"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Movimiento de Plantas"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Movimiento de hojas"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Oleaje"
+msgid "Waving Plants"
+msgstr "Movimiento de Plantas"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1532,13 +1542,13 @@ msgid "Register and Join"
msgstr "Registrarse y unirse"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
"Te vas unir al servidor en %1$s1 con el nombre \"%2$s2\" por primera vez. "
"Cuando procedas, se creará una nueva cuenta en este servidor usando tus "
@@ -1661,10 +1671,6 @@ msgid "Special"
msgstr "Especial"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Activar cinemático"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "Alternar el HUD"
@@ -1693,6 +1699,11 @@ msgid "Toggle noclip"
msgstr "Activar noclip"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Alternar el registro del chat"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "pulsa una tecla"
@@ -1712,7 +1723,6 @@ msgstr "Contraseña nueva"
msgid "Old Password"
msgstr "Contraseña anterior"
-# Es en el menú de sonido. Salir suena muy fuerte.
#: src/gui/guiVolumeChange.cpp
msgid "Exit"
msgstr "Cerrar"
@@ -1832,6 +1842,11 @@ msgstr ""
"inclinadas."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "2D noise that locates the river valleys and channels."
+msgstr "Ruido 2D para controlar la forma/tamaño de las colinas."
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "Nubes 3D"
@@ -1866,6 +1881,10 @@ msgstr ""
"variaciones, normalmente."
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1922,6 +1941,10 @@ msgid "Acceleration in air"
msgstr "Aceleración en el aire"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Modificadores de bloques activos"
@@ -2155,8 +2178,9 @@ msgid "Bumpmapping"
msgstr "Mapeado de relieve"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2250,6 +2274,11 @@ msgid "Chat message count limit"
msgstr "Límite de mensajes de chat"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "Longitud máx. de mensaje de chat"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr "Umbral de expulsión por mensajes"
@@ -2418,6 +2447,10 @@ msgstr ""
"queda inalterado."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Controla lo escarpado/profundo de las depresiones."
@@ -2480,6 +2513,11 @@ msgid "Debug info toggle key"
msgstr "Tecla alternativa para la información de la depuración"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Umbral de ruido del desierto"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Nivel de registro de depuración"
@@ -2488,6 +2526,10 @@ msgid "Dec. volume key"
msgstr "Dec. tecla de volumen"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Intervalo de servidor dedicado"
@@ -2578,12 +2620,27 @@ msgid "Defines the base ground level."
msgstr "Define el nivel base del terreno."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Define el nivel base del terreno."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Define la distancia máxima de envío de jugadores, en bloques (0 = sin "
"límite)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "Define la estructura del canal fluvial a gran escala."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Define las áreas donde los árboles tienen manzanas."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Define las áreas de árboles y densidad de árboles."
@@ -2610,6 +2667,12 @@ msgid "Deprecated Lua API handling"
msgstr "Manejo de funciones de Lua obsoletas"
#: 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 "Depth below which you'll find giant caverns."
msgstr "Profundidad en la cual comienzan las grandes cuevas."
@@ -2630,9 +2693,10 @@ msgid "Desert noise threshold"
msgstr "Umbral de ruido del desierto"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"Los desiertos se dan cuando np_biome excede este valor.\n"
"Cuando el nuevo sistema de biomas está habilitado, esto es ignorado."
@@ -2683,6 +2747,11 @@ msgid "Dungeon minimum Y"
msgstr "Mazmorras, mín. Y"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Mazmorras, mín. Y"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2724,13 +2793,15 @@ msgstr "Habilitar entrada aleatoria (solo usar para pruebas)."
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Habilitar confirmación de registro"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Habilita la confirmación de registro cuando se conecte al servidor.\n"
+"Si está desactivada, la nueva cuenta se registrará automáticamente."
#: src/settings_translation_file.cpp
msgid ""
@@ -3029,6 +3100,13 @@ msgid "Font size"
msgstr "Tamaño de fuente"
#: 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 "Format of screenshots."
msgstr "Formato de capturas de pantalla."
@@ -3286,6 +3364,24 @@ msgstr ""
"Página de inicio del servidor, que se mostrará en la lista de servidores."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Tecla de siguiente barra rápida"
@@ -3590,6 +3686,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr "Si se activa, los jugadores siempre reaparecerán en la posición dada."
@@ -3622,6 +3726,10 @@ msgid "Inc. volume key"
msgstr "Tecla de la consola"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4623,7 +4731,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "Velocidad de descenso"
#: src/settings_translation_file.cpp
@@ -4698,6 +4806,23 @@ msgstr ""
#, 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 del generador de mapas globales.\n"
+"En el generador de mapas V6 la opción (o marcador) \"decorations\" controla "
+"todos los elementos decorativos excepto los árboles y la hierba de la "
+"jungla, en todos los otros generadores de mapas esta opción controla todas "
+"las decoraciones.\n"
+"Las opciones que no son incluidas en el texto con la cadena de opciones no "
+"serán modificadas y mantendrán su valor por defecto.\n"
+"Las opciones que comienzan con el prefijo \"no\" son utilizadas para "
+"inhabilitar esas opciones."
+
+#: 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 ""
"Atributos del generador de mapas globales.\n"
@@ -4719,7 +4844,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"Atributos del generador de mapas globales.\n"
@@ -4789,6 +4914,11 @@ msgstr "Generador de mapas"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Banderas planas de Mapgen"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Generador de mapas"
@@ -4877,6 +5007,12 @@ 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 ""
"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)"
@@ -5064,10 +5200,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5083,7 +5217,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5135,16 +5269,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5304,10 +5440,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5393,6 +5525,16 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "Profundidad del relleno"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Profundidad del relleno"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "Profundidad del relleno"
@@ -5406,6 +5548,11 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Profundidad del relleno"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5715,6 +5862,10 @@ msgid "Sneaking speed"
msgstr "Velocidad del caminar"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5825,7 +5976,6 @@ msgstr ""
msgid "Terrain persistence noise"
msgstr ""
-# No cabe "Paquetes de texturas".
#: src/settings_translation_file.cpp
msgid "Texture path"
msgstr "Ruta de la textura"
@@ -6030,10 +6180,11 @@ msgstr "Renderizado:"
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -6138,6 +6289,10 @@ msgid "Varies steepness of cliffs."
msgstr "Controla lo escarpado/alto de las colinas."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -6187,10 +6342,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Velocidad del caminar"
#: 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"
msgstr ""
@@ -6216,17 +6379,19 @@ msgid "Waving water"
msgstr "Oleaje en el agua"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Altura de las ondulaciones del agua"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Waving water length"
-msgstr "Oleaje en el agua"
+msgid "Waving water wave speed"
+msgstr "Velocidad del oleaje en el agua"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Velocidad del oleaje en el agua"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Oleaje en el agua"
#: src/settings_translation_file.cpp
msgid ""
@@ -6262,10 +6427,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -6350,10 +6511,6 @@ msgid "Y of upper limit of large caves."
msgstr "Limite absoluto de colas emergentes"
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -6397,445 +6554,11 @@ msgstr ""
msgid "cURL timeout"
msgstr "Tiempo de espera de cURL"
-# En el menú principal de mods pone repositorio no tienda.
-#~ msgid "Content Store"
-#~ msgstr "Tienda de contenidos"
-
-#~ msgid "Disable MP"
-#~ msgstr "Desactivar paquete"
-
-#~ msgid "Enable MP"
-#~ msgstr "Activar paquete"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "No se ha dado un nombre al mundo o no se ha seleccionado uno."
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" no es un indicador válido."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr ""
-#~ "El formato es 3 números separados por comas y éstos dentro de paréntesis."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formato: <offset> <escala> (<extensión X>, <extensión Y> , <extensión "
-#~ "Z>), <semilla>, <octavas>, <persistencia>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Opcionalmente, el parámetro \"lacunarity\" puede ser anexado separándolo "
-#~ "mediante una coma."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Por favor, introduzca una lista de indicadores separados por comas."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Los valores posibles son: "
-
-#~ msgid "Select path"
-#~ msgstr "Seleccionar ruta"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Mods de subjuego"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Página $1 de $2"
-
-#~ msgid "Rating"
-#~ msgstr "Clasificación"
-
-#~ msgid "Shortname:"
-#~ msgstr "Nombre corto:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Instalado con éxito:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Sin ordenar"
-
-#~ msgid "re-Install"
-#~ msgstr "Reinstalar"
-
-#~ msgid "Local Game"
-#~ msgstr "Juego local"
-
-# El nombre completo no cabe.
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Desinstalar el paquete seleccionado"
-
-#~ msgid "Play Online"
-#~ msgstr "Jugar en línea"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Mapeado de relieve"
-
-#~ msgid "No information available"
-#~ msgstr "Sin información disponible"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Volumen cambiado al 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Volumen cambiado al 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Imprimir pilas"
-
-#~ msgid "Use"
-#~ msgstr "Usar"
-
-#~ msgid "Next"
-#~ msgstr "Siguiente"
-
-#~ msgid "Prior"
-#~ msgstr "Anterior"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Intervalo de modificador de bloques activos"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Solo sistemas Android: Intenta crear una textura desde malla\n"
-#~ "cuando no se ha encontrado un render soportado."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Anunciar a esta lista de servidores.\n"
-#~ "Si deseas anunciar tu dirección ipv6, usa serverlist_url = v6.servers."
-#~ "minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Escala aproximada (X,Y,Z) del fractal en nodos."
-
-#~ msgid "Autorun key"
-#~ msgstr "Tecla de Auto Ejecutar"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Formar cuevas y túneles en la intersección de dos ruidos"
+#~ msgid "Waving Water"
+#~ msgstr "Oleaje"
-#~ msgid "Cloud height"
-#~ msgstr "Altura de la nube"
+#~ msgid "Select Package File:"
+#~ msgstr "Seleccionar el archivo del paquete:"
-#~ msgid "Console key"
-#~ msgstr "Tecla de la consola"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Avance continuo (sólo utilizado para la testing)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Crea características de lava impredecibles en cuevas.\n"
-#~ "Pueden hacer la minería más difícil. Cero lo deshabilita. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Crea características de agua impredecibles en cuevas.\n"
-#~ "Pueden hacer la minería más difícil. Cero lo deshabilita. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Velocidad al agacharse"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Profundidad en la cual comienzan cuevas enormes."
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Desactivar secuencias de escape"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Deshabilita las secuencias de escape, por ejemplo: colorear el chat.\n"
-#~ "Usa esto si tu quieres correr un servidor con clientes pre-0.4.14 y "
-#~ "quieres deshabilitar\n"
-#~ "las secuencias de escape generadas por los mods."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Movimiento de cámara en movimiento"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Habilita la vista balanceada al caminar."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Campo visual del zoom"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Campo de vision mientras se usa el Zoom en grados.\n"
-#~ "Esto requiere el privilegio \"zoom\" en el servidor."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Desde cuán lejos los clientes saben acerca de otros objetos,\n"
-#~ "especificado en bloques de mapa (mapblocks, 16 nodos)."
-
-#~ msgid "General"
-#~ msgstr "General"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Altura sobre la cual están apareciendo las nubes."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Tamaño de área de bloques que está sujeto al bloque activo, indicado en "
-#~ "mapblocks (16 nodos).\n"
-#~ "En los bloques activos, los objetos se cargan y se ejecutan los ABMs."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "Si está habilitado, muestra el mensaje de estado del servidor en la "
-#~ "conexión del jugador."
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Tecla Inventario"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Iteraciones de la función recursiva.\n"
-#~ "Controla la cantidad de detalles finos."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tecla para abrir la consola de chat.\n"
-#~ "Véase http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tecla para imprimir pilas de depuración. Utilizada para desarrollo.\n"
-#~ "Véase http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Menú principal del gestor de mods"
-
-#~ msgid "Use key"
-#~ msgstr "Usa la tecla"
-
-#, fuzzy
-#~ msgid "Water Features"
-#~ msgstr "Texturas de objetos..."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Ocultar contenido"
-
-#~ msgid "Attn"
-#~ msgstr "Atentamente"
-
-#~ msgid "Capital"
-#~ msgstr "Bloq Mayús"
-
-#~ msgid "Comma"
-#~ msgstr "Coma"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Final"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Menos"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Punto"
-
-#~ msgid "Plus"
-#~ msgstr "Más"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Controla el tamaño de desiertos y playas en Mapgen v6.\n"
-#~ "Cuando snowbiomes están activados 'mgv6_freq_desert' se ignora."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Determina la forma del terreno.\n"
-#~ "Los tres números entre paréntesis controlan la escala\n"
-#~ "del terreno, y deben ser iguales."
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Anchura de cuevas planas de Mapgen"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Generador de mapas"
-
-#, fuzzy
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Generador de mapas"
-
-#, fuzzy
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Oclusión de paralaje"
-
-#, fuzzy
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Generador de mapas"
-
-#, fuzzy
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Generador de mapas"
-
-#, fuzzy
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Generador de mapas"
-
-#, fuzzy
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Generador de mapas"
-
-#, fuzzy
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Generador de mapas"
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr ""
-#~ "Datos detallados de perfilación de mod. Útil para desarrolladores de mods."
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "Perfilador detallado de los mods"
-
-#~ msgid ""
-#~ "How many blocks are flying in the wire simultaneously for the whole "
-#~ "server."
-#~ msgstr "Cantidad de bloques que flotan simultáneamente en todo el servidor."
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Útil para los desarrolladores de mods."
-
-#~ msgid "No of course not!"
-#~ msgstr "¡No, claro que no!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Lista de servidores públicos"
-
-#~ msgid "No!!!"
-#~ msgstr "¡¡¡No!!!"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "Activado"
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr ""
-#~ "Reinicia minetest para que los cambios en el controlador tengan efecto"
-
-#~ msgid " MB/s"
-#~ msgstr " MB/s"
-
-#~ msgid " KB/s"
-#~ msgstr " KB/s"
-
-#~ msgid "Touch free target"
-#~ msgstr "Tocar para interactuar"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "Factor de escala aplicado a los elementos del menú: "
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "Precarga de las texturas del inventario"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Configuración Avanzada"
-
-#~ msgid "View"
-#~ msgstr "Ver"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos del generador de mapas globales.\n"
-#~ "En el generador de mapas V6 la opción (o marcador) \"decorations\" "
-#~ "controla todos los elementos decorativos excepto los árboles y la hierba "
-#~ "de la jungla, en todos los otros generadores de mapas esta opción "
-#~ "controla todas las decoraciones.\n"
-#~ "Las opciones que no son incluidas en el texto con la cadena de opciones "
-#~ "no serán modificadas y mantendrán su valor por defecto.\n"
-#~ "Las opciones que comienzan con el prefijo \"no\" son utilizadas para "
-#~ "inhabilitar esas opciones."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos del generador de mapas globales.\n"
-#~ "En el generador de mapas V6 la opción (o marcador) \"decorations\" "
-#~ "controla todos los elementos decorativos excepto los árboles y la hierba "
-#~ "de la jungla, en todos los otros generadores de mapas esta opción "
-#~ "controla todas las decoraciones.\n"
-#~ "Las opciones que no son incluidas en el texto con la cadena de opciones "
-#~ "no serán modificadas y mantendrán su valor por defecto.\n"
-#~ "Las opciones que comienzan con el prefijo \"no\" son utilizadas para "
-#~ "inhabilitar esas opciones."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos del generador de mapas globales.\n"
-#~ "En el generador de mapas V6 la opción (o marcador) \"decorations\" "
-#~ "controla todos los elementos decorativos excepto los árboles y la hierba "
-#~ "de la jungla, en todos los otros generadores de mapas esta opción "
-#~ "controla todas las decoraciones.\n"
-#~ "Las opciones que no son incluidas en el texto con la cadena de opciones "
-#~ "no serán modificadas y mantendrán su valor por defecto.\n"
-#~ "Las opciones que comienzan con el prefijo \"no\" son utilizadas para "
-#~ "inhabilitar esas opciones."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Activar cinemático"
diff --git a/po/et/minetest.po b/po/et/minetest.po
index 0e64ec4e9..d2a659cd2 100644
--- a/po/et/minetest.po
+++ b/po/et/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Estonian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Estonian <https://hosted.weblate.org/projects/minetest/"
"minetest/et/>\n"
"Language: et\n"
@@ -12,24 +12,22 @@ 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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
msgstr "Ärka ellu"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "Sa surid."
+msgstr "Said surma"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "Lue skriptis ilmnes viga; nagu näiteks mod:"
+msgid "An error occurred in a Lua script:"
+msgstr "Lue skriptis ilmnes viga; näiteks MOD-is:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Ilmnes viga:"
@@ -90,53 +88,63 @@ msgid "Cancel"
msgstr "Tühista"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Dependencies:"
-msgstr "Sõltub:"
+msgstr "Sõltuvused:"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable all"
-msgstr "Keela MP"
+msgstr "Keela kõik"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "Lülita kõik välja"
+msgstr "Keela MOD-i pakk"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "Luba kõik"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "Luba kõik"
+msgstr "Luba MOD-i pakk"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
-"Mod \"$1\" kasutamine nurjus, sest ta sisaldab keelatud sümboleid. Lubatud "
-"on ainult märgid [a-z0-9_]."
+"Tõrge MOD-i \"$1\" lubamisel, kuna sisaldab keelatud sümboleid. Lubatud on "
+"ainult [a-z0-9_] märgid."
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Valikulised sõltuvused:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr ""
+msgstr "Mängule pole kirjeldust saadaval."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No hard dependencies"
+msgstr "Valikulised sõltuvused:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr ""
+msgstr "MOD-i pakile pole kirjeldust saadaval."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Valikulised sõltuvused:"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
-msgstr ""
+msgstr "Valikulised sõltuvused:"
#: builtin/mainmenu/dlg_config_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
@@ -153,25 +161,23 @@ msgstr "Sisse lülitatud"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "Kõik pakid"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
msgstr "Tagasi"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "Menüü"
+msgstr "Tagasi peamenüüsse"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Downloading and installing $1, please wait..."
-msgstr ""
+msgstr "Palun oota $1 allalaadimist ja paigaldamist…"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "$1 paigaldamine $2 nurjus"
+msgstr "$1 allalaadimine nurjus"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -180,38 +186,37 @@ msgstr "Mängud"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Install"
-msgstr ""
+msgstr "Paigalda"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Mods"
-msgstr ""
+msgstr "MOD-id"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Ei õnnestunud ühtki pakki vastu võtta"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Tulemused puuduvad"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
msgid "Search"
-msgstr ""
+msgstr "Otsi"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
-msgstr "Vali graafika:"
+msgstr "Tekstuuri pakid"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Uninstall"
-msgstr ""
+msgstr "Eemalda"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "Uuenda"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -222,9 +227,8 @@ msgid "Create"
msgstr "Loo"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Laadi alla alammäng, näiteks minetest_game, aadressilt minetest.net"
+msgstr "Lae alla mäng: näiteks „Minetest Game“, aadressilt: minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -239,9 +243,8 @@ msgid "Mapgen"
msgstr "Kaardi generaator"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "Kauguse valik"
+msgstr "Mäng valimata"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -257,13 +260,12 @@ msgid "World name"
msgstr "Maailma nimi"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "Sa ei ole alammänge paigaldanud."
+msgstr "Sul pole ühtki mängu paigaldatud."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
-msgstr ""
+msgstr "Kindlasti kustutad „$1“?"
#: builtin/mainmenu/dlg_delete_content.lua
#: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua
@@ -273,15 +275,15 @@ msgstr "Kustuta"
#: builtin/mainmenu/dlg_delete_content.lua
msgid "pkgmgr: failed to delete \"$1\""
-msgstr ""
+msgstr "PakiHaldur: Nurjus „$1“ kustutamine"
#: builtin/mainmenu/dlg_delete_content.lua
msgid "pkgmgr: invalid path \"$1\""
-msgstr ""
+msgstr "PakiHaldur: väär asukoht „$1“"
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
-msgstr "Kas kustutada maailm \"$1\"?"
+msgstr "Kustutad maailma \"$1\"?"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Accept"
@@ -289,43 +291,43 @@ msgstr "Nõustu"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Rename Modpack:"
-msgstr ""
+msgstr "Nimetad ümber MOD-i paki:"
#: 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 ""
+"Selle MOD-i pakk nimi on määratud oma „modpack.conf“ failid, mis asendab "
+"siinse ümber nimetamise."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
-msgstr ""
+msgstr "(Kirjeldus seadistusele puudub)"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "2D Noise"
-msgstr ""
+msgstr "2-mõõtmeline müra"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
-msgstr ""
+msgstr "< Tagasi lehele „Seaded“"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Browse"
-msgstr ""
+msgstr "Sirvi"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Disabled"
-msgstr "Lülita kõik välja"
+msgstr "Keelatud"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Edit"
-msgstr ""
+msgstr "Muuda"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Enabled"
-msgstr "Sisse lülitatud"
+msgstr "Lubatud"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Lacunarity"
@@ -508,11 +510,6 @@ msgid "Rename"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Vali modifikatsiooni fail:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr ""
@@ -832,12 +829,12 @@ msgstr "Uhked puud"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
-msgid "Waving Plants"
+msgid "Waving Liquids"
msgstr "Uhked puud"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
-msgid "Waving Water"
+msgid "Waving Plants"
msgstr "Uhked puud"
#: builtin/mainmenu/tab_settings.lua
@@ -1587,11 +1584,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1717,11 +1714,6 @@ msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
-msgid "Toggle Cinematic"
-msgstr "Lülita kiirus sisse"
-
-#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
msgstr "Lülita lendamine sisse"
@@ -1753,6 +1745,11 @@ msgid "Toggle noclip"
msgstr "Lülita läbi seinte minek sisse"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Lülita kiirus sisse"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "Vajuta nuppu"
@@ -1860,6 +1857,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "3D clouds"
msgstr "3D pilved"
@@ -1891,6 +1892,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1931,6 +1936,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -2144,7 +2153,7 @@ msgstr "Väga hea kvaliteet"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2232,6 +2241,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Põlvkonna kaardid"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Põlvkonna kaardid"
@@ -2401,6 +2415,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2462,6 +2480,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2470,6 +2492,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2552,10 +2578,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2578,6 +2616,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2598,7 +2642,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2650,6 +2694,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Põlvkonna kaardid"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2964,6 +3013,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3194,6 +3250,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3444,6 +3518,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3474,6 +3556,10 @@ msgid "Inc. volume key"
msgstr "Konsool"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4244,7 +4330,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4318,6 +4404,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4329,7 +4422,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4390,6 +4483,11 @@ msgstr "Põlvkonna kaardid"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Põlvkonna kaardid"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Põlvkonna kaardid"
@@ -4481,6 +4579,12 @@ 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 ""
"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)"
@@ -4668,10 +4772,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4687,7 +4789,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4739,16 +4841,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4901,10 +5005,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4991,6 +5091,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -5004,6 +5112,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5295,6 +5407,10 @@ msgid "Sneaking speed"
msgstr "Hiilimine"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5607,10 +5723,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5713,6 +5830,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5763,10 +5884,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5792,16 +5921,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Uhked puud"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Uhked puud"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Uhked puud"
#: src/settings_translation_file.cpp
msgid ""
@@ -5837,10 +5969,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5924,10 +6052,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5971,270 +6095,10 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
-#~ msgid "Disable MP"
-#~ msgstr "Keela MP"
-
-#~ msgid "Enable MP"
-#~ msgstr "Luba MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "No nimi või no mäng valitud"
-
-#, fuzzy
-#~ msgid "Select path"
-#~ msgstr "Vali"
-
-#~ msgid "Shortname:"
-#~ msgstr "Lühike nimi:"
-
-#, fuzzy
-#~ msgid "Local Game"
-#~ msgstr "Alusta mängu"
-
-#, fuzzy
-#~ msgid "Normal Mapping"
-#~ msgstr "Väga hea kvaliteet"
-
-#~ msgid "Print stacks"
-#~ msgstr "Prindi kogused"
-
-#~ msgid "Use"
-#~ msgstr "Tegevus"
-
-#~ msgid "Next"
-#~ msgstr "Järgmine"
-
-#~ msgid "Prior"
-#~ msgstr "Eelnev"
-
-#, fuzzy
-#~ msgid "Console key"
-#~ msgstr "Konsool"
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Seljakott"
-
-#, fuzzy
-#~ msgid "Main menu mod manager"
-#~ msgstr "Menüü"
-
-#, fuzzy
-#~ msgid "Use key"
-#~ msgstr "Vajuta nuppu"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Peida mod. pakkide sisu"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Caps Lock"
-
-#~ msgid "Comma"
-#~ msgstr "Koma"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Viimane"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Miinus"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Punkt"
-
-#~ msgid "Plus"
-#~ msgstr "Pluss"
-
-#, fuzzy
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Põlvkonna kaardid"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Põlvkonna kaardid"
-
-#, fuzzy
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Põlvkonna kaardid"
-
-#, fuzzy
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Põlvkonna kaardid"
-
-#, fuzzy
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Põlvkonna kaardid"
-
-#, fuzzy
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Põlvkonna kaardid"
-
-#, fuzzy
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Põlvkonna kaardid"
-
-#, fuzzy
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Põlvkonna kaardid"
-
-#, fuzzy
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Põlvkonna kaardid"
-
-#, fuzzy
-#~ msgid "Useful for mod developers."
-#~ msgstr "Põhiline arendaja"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Avalikud serverid"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "Sisse lülitatud"
-
-#~ msgid "GAMES"
-#~ msgstr "MÄNGUD"
-
-#~ msgid "new game"
-#~ msgstr "uus mängu"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "MUUDA MÄNGU"
-
-#, fuzzy
-#~ msgid "Remove selected mod"
-#~ msgstr "Eemalda valitud muutus"
-
-#, fuzzy
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Lisama muutus"
-
-#~ msgid "Name"
-#~ msgstr "Nimi"
-
-#~ msgid "Password"
-#~ msgstr "Parool"
-
-#~ msgid "SETTINGS"
-#~ msgstr "Seaded"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Lae asjade visuaale"
-
-#, fuzzy
-#~ msgid "Finite Liquid"
-#~ msgstr "Löppev vedelik"
-
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Hoiatus: Mõned modifikatsioonid pole sätitud veel.\n"
-#~ "Need lülitatakse sisse kohe pärast sätete salvestamist."
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "Hoiatus: Mõned konfigureeritud modifikatsioonid on kaotsi läinud.\n"
-#~ "Nende sätted kustutatakse kui salvestada konfiguratsioon."
-
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "Algsed nupusätted:\n"
-#~ "- WASD: Kõnni\n"
-#~ "- Vasak hiireklõps: Kaeva/löö\n"
-#~ "- Parem hiireklõps: Aseta/kasuta\n"
-#~ "- Hiireratas: Vali asi\n"
-#~ "- 0...9: Vali asi\n"
-#~ "- Shift: Hiili\n"
-#~ "- R: Vaheta nägemiskaugust\n"
-#~ "- I: Seljakott\n"
-#~ "- ESC: Menüü\n"
-#~ "- T: Jututupa\n"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Kõigi maailma failide kustutamine ebaõnnestus"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Maailma konfigureerimine ebaõnnestus: Pole midagi valitud"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Maailma loomine ebaõnnestus: Mängu ei leitud"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Failid mida kustutada"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Maailma kustutamine ebaõnnestus: Maailma pole valitud"
-
-#~ msgid "Address required."
-#~ msgstr "IP on vajalkik."
-
-#~ msgid "Create world"
-#~ msgstr "Loo maailm"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Jäta IP lahter tühjaks et alustada LAN serverit."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Näita lemmikuid"
-
-#~ msgid "Show Public"
-#~ msgstr "Näita avalikke"
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Maailma loomine ebaõnnestus: Nimes esineb keelatud tähti"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Hoiatus: Konfiguratsioon pole kindel."
-
-#~ msgid "Configuration saved. "
-#~ msgstr "Konfiguratsioon salvestatud. "
-
-#~ msgid "is required by:"
-#~ msgstr "Seda vajavad:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr ""
-#~ "Vasak hiireklõps: Liiguta kõiki asju, Parem hiireklõps: Liiguta üksikut "
-#~ "asja"
-
#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Alla"
+#~ msgid "Select Package File:"
+#~ msgstr "Vali modifikatsiooni fail:"
#, fuzzy
-#~ msgid "Advanced Settings"
-#~ msgstr "Sätted"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Lülita kiirus sisse"
diff --git a/po/fil/minetest.po b/po/fil/minetest.po
new file mode 100644
index 000000000..3bf95e45e
--- /dev/null
+++ b/po/fil/minetest.po
@@ -0,0 +1,5891 @@
+msgid ""
+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 <EMAIL@ADDRESS>\n"
+"Language-Team: Filipino <https://hosted.weblate.org/projects/minetest/"
+"minetest/fil/>\n"
+"Language: fil\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 != 2 && n != 3 && (n % 10 == 4 "
+"|| n % 10 == 6 || n % 10 == 9);\n"
+"X-Generator: Weblate 3.9-dev\n"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "Respawn"
+msgstr ""
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "You died"
+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 "Main menu"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "Ok"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "Reconnect"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "The server has requested a reconnect:"
+msgstr ""
+
+#: builtin/mainmenu/common.lua src/client/game.cpp
+msgid "Loading..."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Protocol version mismatch. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Server enforces protocol version $1. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Server supports protocol versions between $1 and $2. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Try reenabling public serverlist and check your internet connection."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "We only support protocol version $1."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "We support protocol versions between version $1 and $2."
+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 builtin/mainmenu/tab_content.lua
+msgid "Dependencies:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable modpack"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable modpack"
+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_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 game description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No hard dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No modpack description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional 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/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
+msgid "Save"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "World:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "All packages"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back to Main Menu"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Downloading and installing $1, please wait..."
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Failed to download $1"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Install"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No packages could be retrieved"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No results"
+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 "Texture packs"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Uninstall"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Update"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "A world named \"$1\" already exists"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Create"
+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 "Download one from minetest.net"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Game"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Mapgen"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "No game selected"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Seed"
+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 "World name"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "You have no games installed."
+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 "Rename Modpack:"
+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_settings_advanced.lua
+msgid "(No description of setting given)"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "2D Noise"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "< Back to Settings page"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Browse"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Disabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Edit"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Lacunarity"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Octaves"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Persistance"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid integer."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid number."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Restore Default"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
+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 "Show technical names"
+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 "X"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "absvalue"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 (Enabled)"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 mods"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Failed to install $1 to $2"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find real mod name for: $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: file: \"$1\""
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to find a valid mod or modpack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a $1 as a texture pack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a game as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a mod as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a modpack as a $1"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Browse online content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Disable Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Information:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Installed Packages:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "No dependencies."
+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 "Uninstall Package"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Use Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Active Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Credits"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Announce Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Bind Address"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Configure"
+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 Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Host Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Name/Password"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "New"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "No world created or selected!"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Play Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Port"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Select World:"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Server Port"
+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 "Connect"
+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 "Del. Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
+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 "Ping"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "PvP enabled"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "3D Clouds"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "4x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "8x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "All Settings"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Antialiasing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Are you sure to reset your singleplayer world?"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Autosave Screen Size"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bump Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Connected Glass"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Fancy Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Generate Normal Maps"
+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 "No"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Mipmap"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Highlighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Outlining"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "None"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Water"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Parallax Occlusion"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Particles"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Reset singleplayer world"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Screen:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Settings"
+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 "Simple Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Smooth Lighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Texturing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "To enable shaders the OpenGL driver needs to be used."
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Tone Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Touchthreshold: (px)"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Trilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Liquids"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Plants"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Yes"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Config mods"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Main"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Start Singleplayer"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Connection timed out."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Done!"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Loading textures..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Rebuilding shaders..."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Connection error (timed out?)"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Could not find or load game \""
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Invalid gamespec."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Main Menu"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "No world selected and no address provided. Nothing to do."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Player name too long."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Please choose a name!"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided password file failed to open: "
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided world path doesn't exist: "
+msgstr ""
+
+#: src/client/fontengine.cpp
+msgid "needs_fallback_font"
+msgstr ""
+
+#: src/client/game.cpp
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Address: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Creative Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Damage: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Port: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Public: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- PvP: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Server Name: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Change Password"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Client side scripting is disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Connecting to server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Continue"
+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 "Creating client..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Creating server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info and profiler graph hidden"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info, profiler graph, and wireframe hidden"
+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
+msgid "Disabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Enabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to Menu"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to OS"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fast 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 "Fly mode disabled"
+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 "Fog disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fog enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game info:"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game paused"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Hosting server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Item definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "KiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Media..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "MiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap hidden"
+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 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 "Noclip 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 "Node definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Off"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "On"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Profiler graph shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Remote server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Resolving address..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Shutting down..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Singleplayer"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound Volume"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound muted"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound unmuted"
+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 maximum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at minimum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Volume changed to %d%%"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Wireframe shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Zoom currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Profiler hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Apps"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Backspace"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Caps Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "End"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Erase EOF"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Execute"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Help"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Home"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Accept"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Convert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Escape"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Mode Change"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Nonconvert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Insert"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Left"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Num Lock"
+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 "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 "OEM Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Pause"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Play"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Print"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Return"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Scroll Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Select"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Sleep"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Snapshot"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Space"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Tab"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 1"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 2"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Zoom"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
+msgid "Passwords do not match!"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp
+msgid "Register and Join"
+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/guiFormSpecMenu.cpp
+msgid "Proceed"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "\"Special\" = climb down"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Autoforward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Automatic jumping"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Backward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Change camera"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Chat"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Console"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Double tap \"jump\" to toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Drop"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Forward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Jump"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Key already in use"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Local command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Mute"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Next item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Prev. item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Range select"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Screenshot"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Sneak"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Special"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle HUD"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle chat log"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fast"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fog"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle minimap"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Change"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Confirm Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "New Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Exit"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Muted"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr ""
+
+#: src/gui/modalMenu.cpp
+msgid "Enter "
+msgstr ""
+
+#: src/network/clientpackethandler.cpp
+msgid "LANG_CODE"
+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 ""
+"(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 ""
+"(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 ""
+"(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 ""
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of ridged mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of rolling hills."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of step mountains."
+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 "2D noise that controls the size/occurrence of rolling hills."
+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 "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D clouds"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining giant caverns."
+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 "3D noise defining structure of river canyon walls."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+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 ""
+"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 "A message to be displayed to all clients when the server crashes."
+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 "ABM interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Absolute limit of emerge queues"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration in air"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block management interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
+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 "Adds particles when digging a node."
+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 ""
+"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 "Advanced"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Altitude chill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Always fly and fast"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ambient occlusion gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amount of messages a player may send per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amplifies the valleys."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Anisotropic filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce to this serverlist."
+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 "Apple trees noise"
+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 "Ask to reconnect after crash"
+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 "Automatic forward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically jump up single-node obstacles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically report to the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autosave screen size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autoscaling mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Backward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base terrain height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bilinear filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bind address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome API temperature and humidity noise parameters"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Block send optimize distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Build inside player"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Builtin"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bumpmapping"
+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 "Camera smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera smoothing in cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera update toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave noise"
+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 "Cave width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern taper"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern upper limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Center of light curve mid-boost."
+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 "Chat key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message count limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message kick threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message max length"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chatcommands"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chunk size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Clean transparent textures"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client and Server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client modding"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side modding restrictions"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side node lookup range restriction"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Climbing speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cloud radius"
+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 "Clouds in menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Colored fog"
+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 ""
+
+#: 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 ""
+"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 "Command key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect glass"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect to external media server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connects glass if supported by node."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console alpha"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB URL"
+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 "Controls"
+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 "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/depth of lake depressions."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/height of hills."
+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 "Controls width of tunnels, a smaller value creates wider tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crash message"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Creative"
+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 "Crosshair color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "DPI"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Damage"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Darkness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug info toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dec. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dedicated server step"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default acceleration"
+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 "Default password"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default report format"
+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 ""
+"Defines areas of floatland smooth terrain.\n"
+"Smooth floatlands occur when noise > 0."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas where trees have apples."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas with sandy beaches."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain and steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines full size of caverns, smaller values create larger caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines large-scale river channel structure."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines location and terrain of optional hills and lakes."
+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 "Defines the base ground level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines tree areas and tree density."
+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 "Delay in sending blocks after building"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Delay showing tooltips, stated in milliseconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Deprecated Lua API handling"
+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 "Depth below which you'll find giant caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Depth below which you'll find large caves."
+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 "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 "Desynchronize block animation"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Digging particles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disable anticheat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disallow empty passwords"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Domain name of server, to be displayed in the serverlist."
+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 "Drop item key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dump the mapgen debug information."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon maximum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon minimum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+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 "Enable VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable console window"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable creative mode for new created maps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable joysticks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod channels support."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable players getting damage and dying."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable random user input (only used for testing)."
+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 ""
+"Enable smooth lighting with simple ambient occlusion.\n"
+"Disable for speed or for different looks."
+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 ""
+"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 ""
+"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 ""
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables animation of inventory items."
+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 "Enables caching of facedir rotated meshes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables filmic tone mapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables minimap."
+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 ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Engine profiling data print interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Entity methods"
+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 "FPS in pause menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "FSAA"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Factor noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fall bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fallback font"
+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 "Fallback font size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode acceleration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode speed"
+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 "Field of view"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Field of view in degrees."
+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 "Filler depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filler depth noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filmic tone mapping"
+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 "Filtering"
+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 "First of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed map seed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed virtual joystick"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain density"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain exponent"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fly key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Flying"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog start"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow"
+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 "Font shadow offset, if 0 then shadow will not be drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size"
+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 "Format of screenshots."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Forward key"
+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 "Fractal type"
+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 "FreeType fonts"
+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 ""
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+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 "Full screen"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Full screen BPP"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter txr2img"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Generate normalmaps"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Global callbacks"
+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 "Gradient of light curve at maximum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gradient of light curve at minimum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Graphics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gravity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HTTP mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD scale factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD toggle key"
+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 ""
+"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 "Heat blend noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Heat noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height select noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "High-precision FPU"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness3 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness4 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Homepage of server, to be displayed in the serverlist."
+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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 10 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 11 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 12 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 13 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 14 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 15 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 16 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 17 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 18 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 19 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 2 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 20 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 21 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 22 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 23 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 24 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 25 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 26 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 27 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 28 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 29 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 3 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 30 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 31 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 32 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 4 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 5 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 6 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 7 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 8 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 9 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "How deep to make rivers."
+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 "How wide to make rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Humidity blend noise"
+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 "IPv6"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 support."
+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 ""
+"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 ""
+"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 ""
+"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 ""
+"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
+"down and\n"
+"descending."
+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 "If enabled, disable cheat prevention in multiplayer."
+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 ""
+"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."
+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 ""
+"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 ""
+"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 "If this is set, players will always (re)spawn at the given position."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ignore world errors"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "In-Game"
+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 "In-game chat console background color (R,G,B)."
+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 "Inc. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+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 "Instrument chatcommands on registration."
+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 ""
+"Instrument the action function of Active Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Instrument the action function of Loading Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrument the methods of entities on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrumentation"
+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 "Interval of sending time of day to clients."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory items animations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory key"
+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 "Item entity TTL"
+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 "Joystick ID"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick button repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick frustum sensitivity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick type"
+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 ""
+"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 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 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 x"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia z"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jump key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jumping speed"
+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 ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 11th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 13th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 15th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 17th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 19th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 21st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 23rd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 25th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 27th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 29th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 31st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the eighth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the first hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for selecting the ninth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the second hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the sixth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the third hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for toggling the display of chat.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling the display of fog.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"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 ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 "Kick players who sent more than X messages per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Language"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lava depth"
+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 "Left key"
+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 "Length of time between Active Block Modifier (ABM) execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between NodeTimer execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between active block management cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Level of logging to be written to debug.txt:\n"
+"- <nothing> (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 "Light curve mid boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost spread"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lightness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues on disk"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues to generate"
+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 ""
+"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 "Liquid fluidity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid fluidity smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid loop max"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid queue purge time"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid sinking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update interval in seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update tick"
+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 "Loading Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lower Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu script"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu style"
+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 "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Makes all liquids opaque"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map directory"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation attributes specific to Mapgen Carpathian."
+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 ""
+"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 ""
+"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 "Map generation attributes specific to Mapgen v5."
+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 ""
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map save interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generation delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock unload timeout"
+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 "Mapgen Flat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen Flat specific flags"
+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 "Mapgen V5"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V5 specific flags"
+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 "Mapgen V7"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V7 specific flags"
+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 "Mapgen debug"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block generate distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block send distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max liquids processed per step."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. clearobjects extra blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. packets per iteration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS when game is paused."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum forceloaded blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum hotbar width"
+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 ""
+"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 "Maximum number of blocks that can be queued for loading."
+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 ""
+"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 "Maximum number of forceloaded mapblocks."
+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 ""
+"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 "Maximum number of players that can be connected simultaneously."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of recent chat messages to show"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of statically stored objects in a block."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum objects per block"
+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 "Maximum simultaneous block sends per client"
+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 "Maximum time in ms a file download (e.g. a mod download) may take."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum users"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Menus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mesh cache"
+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 "Method used to highlight selected object."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap scan height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum texture size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mipmapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mod channels"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Modifies the size of the hudbar elements."
+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 "Mountain height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain variation noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain zero level"
+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 "Mud noise"
+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 "Mute key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mute sound"
+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 ""
+"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 ""
+"Name of the server, to be displayed when players join and in the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Near clipping plane"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Network"
+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 "New users need to input this password."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Node highlighting"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "NodeTimer interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noises"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps sampling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps strength"
+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 ""
+"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 "Number of parallax occlusion iterations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Online Content Repository"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Opaque liquids"
+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 "Overall bias of parallax occlusion effect, usually scale/2."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Overall scale of parallax occlusion effect."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion bias"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion iterations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion scale"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion strength"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to TrueTypeFont or bitmap."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to save screenshots at."
+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 "Path to texture directory. All textures are first searched from here."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pause on lost window focus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Physics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move mode"
+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 "Player name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player versus player"
+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 ""
+"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 "Prevent mods from doing insecure things like running shell commands."
+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 "Privileges that players with basic_privs can grant"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiling"
+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 "Raises terrain to make valleys around the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Random input"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Range select key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Recent Chat Messages"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote media"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote port"
+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 "Replaces the default main menu with a custom one."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Report path"
+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 "Ridge mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge underwater noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridged mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Right key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rightclick repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rollback recording"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hill size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hills spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Round minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Safe digging and placing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sandy beaches occur when np_beach exceeds this value."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save the map received by the client on disk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save window size automatically when modified."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Saving map received from server"
+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 "Screen height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screen width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot folder"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot format"
+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 "Seabed 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 "Second of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box border color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box width"
+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 "Server / Singleplayer"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server description"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server port"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server side occlusion culling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist file"
+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 "Set the maximum character length of a chat message sent by clients."
+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 ""
+"Set to true enables waving plants.\n"
+"Requires shaders to be enabled."
+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 "Shader path"
+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 "Shadow limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shape of the minimap. Enabled = round, disabled = square."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show debug info"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show entity selection boxes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shutdown message"
+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 ""
+"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 "Slice w"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Slope and fill work together to modify the heights."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale humidity variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale temperature variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooth lighting"
+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 "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooths rotation of camera. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sneak key"
+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 "Sound"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key for climbing/descending"
+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 ""
+"Spread of light curve mid-boost.\n"
+"Standard deviation of the mid-boost gaussian."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Static spawnpoint"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Steepness noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of generated normalmaps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of light curve mid-boost."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of parallax."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strict protocol checking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strip color codes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Synchronous SQLite"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Temperature variation for biomes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain alternative noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain higher noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain noise"
+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 ""
+"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 "Terrain persistence noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Texture path"
+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 "The URL for the content repository"
+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 "The depth of dirt or other biome filler node."
+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 "The identifier of the joystick to use"
+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 "The network interface that the server listens on."
+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 ""
+"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 ""
+"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 ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
+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 ""
+"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 ""
+"The time in seconds it takes between repeated events\n"
+"when holding down a joystick button combination."
+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 "The type of joystick"
+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 "Third of 4 2D noises that together define hill/mountain range height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "This font will be used for certain languages."
+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 "Time of day when a new world is started, in millihours (0-23999)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time send interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Timeout for client to remove unused map data from memory."
+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 "Toggle camera mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Tooltip delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Touch screen threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trees noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trilinear filtering"
+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 "Trusted mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Typical maximum height, above and below midpoint, of floatland mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "URL to the server list displayed in the Multiplayer Tab."
+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 "Unlimited player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Unload unused server data"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Upper Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use 3D cloud look instead of flat."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use a cloud animation for the main menu background."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use bilinear filtering when scaling textures."
+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 "Use trilinear filtering when scaling textures."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VSync"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley fill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley profile"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley slope"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of biome filler depth."
+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 "Variation of maximum mountain height (in nodes)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of number of caves."
+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 "Varies depth of biome surface nodes."
+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 "Varies steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical screen synchronization."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Video driver"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View distance in nodes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range decrease key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range increase key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View zoom key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Viewing range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Virtual joystick triggers aux button"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Volume"
+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 "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Walking 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 "Water level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Water surface level of the world."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving Nodes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving leaves"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wavelength"
+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 ""
+"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 ""
+"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 ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Whether node texture animations should be desynchronized per mapblock."
+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 "Whether to allow players to damage and kill each other."
+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 "Whether to fog out the end of the visible area."
+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 "Width component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Width of the selection box lines around nodes."
+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 ""
+"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 "World start time"
+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 "World-aligned textures mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y of flat ground."
+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 "Y of upper limit of large caves."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-distance over which caverns expand to full size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of average terrain surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of cavern upper limit."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of floatland midpoint and lake surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of higher terrain that creates cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of lower terrain and seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level to which floatland shadows extend."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL file download timeout"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL parallel limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL timeout"
+msgstr ""
diff --git a/po/fr/minetest.po b/po/fr/minetest.po
index 65612b9ff..cec173e3d 100644
--- a/po/fr/minetest.po
+++ b/po/fr/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: French (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-13 13:11+0000\n"
-"Last-Translator: Enzo Degraeve <enzodeg40@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: French <https://hosted.weblate.org/projects/minetest/minetest/"
"fr/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -24,13 +24,12 @@ msgstr "Vous êtes mort"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "Une erreur est survenue dans un script Lua, il peut s’agir d’un mod :"
+msgid "An error occurred in a Lua script:"
+msgstr "Une erreur est survenue dans un script Lua (comme un mod) :"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
-msgstr "Une erreur est survenue :"
+msgstr "Une erreur est survenue :"
#: builtin/fstk/ui.lua
msgid "Main menu"
@@ -109,12 +108,11 @@ msgid "Enable modpack"
msgstr "Activer le pack de mods"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
-"Échec du chargement du mod \"$1\" car il contient des caractères non-"
+"Échec du chargement du mod « $1 » car il contient des caractères non "
"autorisés.\n"
"Seuls les caractères alphanumériques [a-z0-9_] sont autorisés."
@@ -123,13 +121,28 @@ msgid "Mod:"
msgstr "Mod :"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "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."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "Aucune description fournie pour le pack de mods."
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Dépendances optionnelles :"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Dépendances optionnelles :"
@@ -183,7 +196,7 @@ msgstr "Mods"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Aucun paquet n'a pu être récupéré"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
@@ -215,9 +228,8 @@ msgid "Create"
msgstr "Créer"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Téléchargez un jeu, comme minetest_game, depuis minetest.net"
+msgstr "Téléchargez un jeu comme Minetest Game depuis minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -287,15 +299,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"Ce pack de mods a un nom explicitement donné dans son fichier modpack.conf ; "
+"il écrasera tout renommage effectué ici."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(Aucune description donnée de l'option)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Bruits"
+msgstr "Bruit 2D"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -318,22 +331,20 @@ msgid "Enabled"
msgstr "Activé"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Lacunarity"
-msgstr "Sécurité"
+msgstr "Lacunarité"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Octaves"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
msgstr "Décallage"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Persistance"
-msgstr "Distance de transfert du joueur"
+msgstr "Persistence"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -373,49 +384,47 @@ msgstr "La valeur doit être inférieure à $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "Écart X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Écart Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Écart Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "Valeur absolue"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Jeu par défaut"
+msgstr "par défaut"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "réaliste (easing)"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
msgstr "$1 (Activé)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr " mods"
+msgstr "$1 mods"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
@@ -495,10 +504,6 @@ msgid "Rename"
msgstr "Renommer"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "Sélectionner le fichier du mod :"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Désinstaller le paquet"
@@ -643,9 +648,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Réglages"
+msgstr "Tous les paramètres"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -785,12 +789,13 @@ msgid "Waving Leaves"
msgstr "Feuilles ondulantes"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Plantes ondulantes"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Environnement mouvant"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Eau ondulante"
+msgid "Waving Plants"
+msgstr "Plantes ondulantes"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -869,9 +874,8 @@ msgid "Provided world path doesn't exist: "
msgstr "Le chemin du monde spécifié n'existe pas : "
#: src/client/fontengine.cpp
-#, fuzzy
msgid "needs_fallback_font"
-msgstr "nécessite une police de remplacement"
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -914,14 +918,12 @@ msgid "- Server Name: "
msgstr "- Nom du serveur : "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "Transferts automatiques désactivés"
+msgstr "Marche automatique désactivée"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "Transferts automatiques activés"
+msgstr "Marche automatique activée"
#: src/client/game.cpp
msgid "Camera update disabled"
@@ -1167,11 +1169,11 @@ msgstr "Activé"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
-msgstr "Mode de mouvement saccadé désactivé"
+msgstr "Mode de mouvement à direction libre désactivé"
#: src/client/game.cpp
msgid "Pitch move mode enabled"
-msgstr "Mode de mouvement saccadé activé"
+msgstr "Mode de mouvement à direction libre activé"
#: src/client/game.cpp
msgid "Profiler graph shown"
@@ -1531,13 +1533,13 @@ msgid "Register and Join"
msgstr "S'enregistrer et rejoindre"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
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éé "
@@ -1659,10 +1661,6 @@ msgid "Special"
msgstr "Spécial"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Mode cinématique"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "Afficher/retirer l'interface"
@@ -1691,6 +1689,11 @@ msgid "Toggle noclip"
msgstr "Mode sans collision"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Afficher/retirer le canal de discussion"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "appuyez sur une touche"
@@ -1812,21 +1815,23 @@ msgid "2D noise that controls the shape/size of step mountains."
msgstr "Bruit 2D contrôlant la forme et taille du pas des montagnes."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
msgstr "Bruit 2D contrôlant la taille/fréquence des chaînes de montagnes."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of rolling hills."
msgstr "Bruit 2D contrôlant la taille et la fréquence des collines arrondies."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr "Bruit 2D contrôlant la taille et la fréquence des plateaux montagneux."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "2D noise that locates the river valleys and channels."
+msgstr "Bruit 2D contrôlant la forme et la taille des collines arrondies."
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "Nuages 3D"
@@ -1860,7 +1865,10 @@ msgstr ""
"Bruit 3D pour les surplombs, falaises, etc. Généralement peu de variations."
#: src/settings_translation_file.cpp
-#, fuzzy
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1874,14 +1882,14 @@ msgid ""
"Note that the interlaced mode requires shaders to be enabled."
msgstr ""
"Support 3D.\n"
-"Actuellement supporté :\n"
-"- aucun : pas de sortie 3D.\n"
-"- anaglyphe : couleur 3D bleu turquoise/violet.\n"
-"- entrelacé : polarisation basée sur des lignes avec support de l'écran.\n"
-"- horizontal : partage haut/bas de l'écran.\n"
-"- vertical : séparation côte à côte de l'écran.\n"
+"Actuellement supporté :\n"
+"- aucun : pas de sortie 3D.\n"
+"- anaglyphe : couleur 3D bleu turquoise/violet.\n"
+"- entrelacé : polarisation basée sur des lignes avec support de l'écran.\n"
+"- horizontal : partage haut/bas de l'écran.\n"
+"- vertical : séparation côte à côte de l'écran.\n"
"- vue mixte : 3D binoculaire.\n"
-"- pageflip: 3D basé sur quadbuffer.\n"
+"- pageflip : 3D basé sur quadbuffer.\n"
"Notez que le mode entrelacé nécessite que les shaders soient activés."
#: src/settings_translation_file.cpp
@@ -1916,6 +1924,10 @@ msgid "Acceleration in air"
msgstr "Accélération en l'air"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Modificateurs de bloc actif"
@@ -2060,16 +2072,12 @@ msgstr ""
"Définie en mapblocks (16 nœuds)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
-msgstr "Touche de mouvement automatique"
+msgstr "Touche de marche automatique"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically jump up single-node obstacles."
-msgstr ""
-"Saute automatiquement sur les obstacles d'un seul bloc de haut.\n"
-"type: bool"
+msgstr "Saute automatiquement sur les obstacles d'un bloc de haut."
#: src/settings_translation_file.cpp
msgid "Automatically report to the serverlist."
@@ -2148,8 +2156,9 @@ msgid "Bumpmapping"
msgstr "Bump mapping"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2220,7 +2229,6 @@ msgid "Center of light curve mid-boost."
msgstr "Milieu de la courbe de lumière mi-boost."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Changes the main menu UI:\n"
"- Full: Multiple singleplayer worlds, game choice, texture pack chooser, "
@@ -2229,7 +2237,7 @@ msgid ""
"be\n"
"necessary for smaller screens."
msgstr ""
-"Change l’interface du menu principal :\n"
+"Change l’interface du menu principal :\n"
"- Complet : Mondes solo, choix du jeu, sélecteur du pack de textures, "
"etc.\n"
"- Simple : un monde solo, pas de sélecteurs de jeu ou de pack de textures. "
@@ -2246,6 +2254,11 @@ 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"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr "Seuil de messages de discussion avant déconnexion forcée"
@@ -2331,6 +2344,13 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"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"
+"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"
+"consultez la liste complète à l'adresse https://content.minetest.net/help/"
+"content_flags/"
#: src/settings_translation_file.cpp
msgid ""
@@ -2382,12 +2402,11 @@ msgstr "Hauteur de la console"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "Drapeaux ContentDB en liste noire"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Contenu"
+msgstr "Adresse de la ContentDB"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2418,6 +2437,10 @@ msgstr ""
"quoi éternellement."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Contrôle l'élévation/profondeur des dépressions lacustres."
@@ -2480,6 +2503,11 @@ 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"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Niveau de détails des infos de débogage"
@@ -2488,6 +2516,10 @@ msgid "Dec. volume key"
msgstr "Touche pour diminuer le volume"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Intervalle de mise à jour des objets sur le serveur"
@@ -2579,12 +2611,27 @@ msgid "Defines the base ground level."
msgstr "Définit le niveau du sol de base."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Définit le niveau du sol de base."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Détermine la distance maximale de transfert du joueur en mapblocks (0 = "
"illimité)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "Définit la structure des canaux fluviaux à grande échelle."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Définit des zones où les arbres ont des pommes."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Définit des zones avec arbres et leur densité."
@@ -2611,6 +2658,12 @@ msgid "Deprecated Lua API handling"
msgstr "Traitement d'API Lua obsolète(s)"
#: 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 "Depth below which you'll find giant caverns."
msgstr "Profondeur en-dessous de laquelle se trouvent les grandes cavernes."
@@ -2629,9 +2682,10 @@ msgid "Desert noise threshold"
msgstr "Limite de bruit pour le désert"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"Des déserts apparaissent lorsque np_biome dépasse cette valeur.\n"
"Avec le nouveau système de biomes, ce paramètre est ignoré."
@@ -2681,6 +2735,11 @@ msgid "Dungeon minimum Y"
msgstr "Minimum Y des donjons"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Minimum Y des donjons"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2723,13 +2782,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Activer la confirmation d'enregistrement"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Active la confirmation d'enregistrement lorsque vous vous connectez à un "
+"serveur.\n"
+"Si cette option est désactivée, le nouveau compte sera créé automatiquement."
#: src/settings_translation_file.cpp
msgid ""
@@ -2774,14 +2836,11 @@ msgstr ""
"Par exemple : 0 = pas de mouvement, 1 = normal, 2 = double."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
"Ignored if bind_address is set."
msgstr ""
"Active/désactive l'usage d'un serveur IPv6.\n"
-"Un serveur IPv6 peut être restreint aux clients IPv6, selon leur "
-"configuration système.\n"
"Ignoré si bind_address est activé."
#: src/settings_translation_file.cpp
@@ -2949,12 +3008,12 @@ msgid "Filtering"
msgstr "Filtrage"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of 4 2D noises that together define hill/mountain range height."
-msgstr "Le premier des deux bruits 3D qui définissent ensemble les tunnels."
+msgstr ""
+"Le premier des 4 bruits 2D qui définissent la hauteur des collines et "
+"montagnes."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of two 3D noises that together define tunnels."
msgstr "Le premier des deux bruits 3D qui définissent ensemble les tunnels."
@@ -3037,6 +3096,13 @@ msgid "Font size"
msgstr "Taille de la police"
#: 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 "Format of screenshots."
msgstr "Format de captures d'écran."
@@ -3077,9 +3143,10 @@ msgid "Forward key"
msgstr "Avancer"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
-msgstr "Le premier des deux bruits 3D qui définissent ensemble les tunnels."
+msgstr ""
+"Le quatrième des 4 bruits 2D qui définissent la hauteur des collines et "
+"montagnes."
#: src/settings_translation_file.cpp
msgid "Fractal type"
@@ -3110,7 +3177,6 @@ msgstr ""
"(16^3 blocs)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"From how far clients know about objects, stated in mapblocks (16 nodes).\n"
"\n"
@@ -3118,13 +3184,13 @@ 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 ""
-"De la distance parcourue par les clients à propos des objets, indiquée dans "
-"mapblocks (16 nœuds)\n"
+"Distance maximale à laquelle les clients ont connaissance des objets, "
+"indiquée en mapblocks (16 nœuds).\n"
"\n"
"Si vous définissez une valeur supérieure à active_block_range, le serveur\n"
-"maintenir les objets actifs jusqu’à cette distance dans la direction\n"
-"Le joueur cherche. (Cela peut éviter que des mobs disparaissent soudainement "
-"de la vue)"
+"va maintenir les objets actifs jusqu’à cette distance dans la direction où\n"
+"un joueur regarde. (Cela peut éviter que des mobs disparaissent soudainement "
+"de la vue.)"
#: src/settings_translation_file.cpp
msgid "Full screen"
@@ -3163,21 +3229,16 @@ msgid "Global callbacks"
msgstr "Rappels globaux"
#: 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 ""
"Attributs de génération de terrain globaux.\n"
-"Dans le générateur de terrain V6, le drapeau 'décorations' contrôle toutes "
+"Dans le générateur de terrain v6, le signal ‹décorations› contrôle toutes "
"les décorations sauf les arbres\n"
-"et l'herbe de la jungle, dans tous les autres générateurs de terrain, ce "
-"drapeau contrôle toutes les décorations.\n"
-"La chaîne de drapeaux modifie les paramètres par défaut du moteur.\n"
-"Les drapeaux qui ne sont spécifiés dans le champ gardent leurs valeurs par "
-"défaut.\n"
-"Les drapeaux commençant par \"non\" sont désactivés."
+"et l’herbe de la jungle, dans tous les autres générateurs de terrain, ce "
+"signal contrôle toutes les décorations."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
@@ -3204,9 +3265,8 @@ msgid "Ground noise"
msgstr "Bruit pour la boue"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "HTTP mods"
-msgstr "HTTP mods"
+msgstr "Mods HTTP"
#: src/settings_translation_file.cpp
msgid "HUD scale factor"
@@ -3278,30 +3338,44 @@ msgid "Hill threshold"
msgstr "Seuil des collines"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness1 noise"
-msgstr "Bruit pour les pentes"
+msgstr "Bruit de collines1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness2 noise"
-msgstr "Bruit pour les pentes"
+msgstr "Bruit de colline2"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness3 noise"
-msgstr "Bruit pour les pentes"
+msgstr "Bruit de colline3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness4 noise"
-msgstr "Bruit pour les pentes"
+msgstr "Bruit de collines4"
#: src/settings_translation_file.cpp
msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Adresse web du serveur affichée sur la liste des serveurs."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Touche suivant sur la barre d'actions"
@@ -3310,167 +3384,134 @@ msgid "Hotbar previous key"
msgstr "Touche précédent sur la barre d'actions"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 1 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 1 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 10 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 10 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 11 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 11 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 12 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 12 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 13 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 13 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 14 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 14 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 15 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 15 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 16 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 16 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 17 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 17 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 18 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 18 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 19 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 19 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 2 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 2 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 20 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 20 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 21 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 21 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 22 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 22 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 23 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 23 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 24 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 24 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 25 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 25 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 26 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 26 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 27 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 27 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 28 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 28 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 29 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 29 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 3 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 3 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 30 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 30 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 31 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 31 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 32 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 32 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 4 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 4 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 5 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 5 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 6 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 6 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 7 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 7 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 8 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 8 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 9 key"
-msgstr "Touche suivant sur la barre d'actions"
+msgstr "Touche de l'emplacement 9 de la barre d'action"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How deep to make rivers."
msgstr "Quelle profondeur pour faire des rivières."
@@ -3485,9 +3526,8 @@ msgstr ""
"mémoire."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How wide to make rivers."
-msgstr "Largeur des rivières"
+msgstr "Quelle largeur doivent avoir les rivières."
#: src/settings_translation_file.cpp
msgid "Humidity blend noise"
@@ -3585,13 +3625,12 @@ msgstr ""
"Activer seulement si vous sachez ce que vous faites."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
-"Si activé en même temps que le mode de vol, rend les directions du mouvement "
-"relatives au tangage de l'utilisateur."
+"Si activé en même temps que le mode de vol, la direction du vol dépendra de "
+"la rotation verticle (lacet) du joueur."
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
@@ -3620,6 +3659,14 @@ msgstr ""
"à la distance entre le joueur et le node."
#: 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 "If this is set, players will always (re)spawn at the given position."
msgstr "Détermine les coordonnées où les joueurs vont toujours réapparaître."
@@ -3648,6 +3695,10 @@ msgid "Inc. volume key"
msgstr "Touche d'augmentation de volume"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -3754,7 +3805,6 @@ msgid "Joystick type"
msgstr "Type de manette"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Julia set only.\n"
"W component of hypercomplex constant.\n"
@@ -3763,45 +3813,46 @@ msgid ""
"Range roughly -2 to 2."
msgstr ""
"Réglage Julia uniquement.\n"
-"Composant W de la constante hypercomplexe.\n"
-"N'a aucun effet sur fractales 3D.\n"
-"Portée environ -2 et 2."
+"La composante W de la constante hypercomplexe.\n"
+"Transforme la forme de la fractale.\n"
+"N'a aucun effet sur les fractales 3D.\n"
+"Portée environ -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 ""
-"Série Julia uniquement: composant X de la constante \"hypercomplex\" "
-"déterminant la forme Julia.\n"
-"Portée environ -2 et 2."
+"Série Julia uniquement.\n"
+"La composante X de la constante hypercomplexe.\n"
+"Transforme la forme de la fractale.\n"
+"Portée environ -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 ""
-"Série Julia uniquement: composante Y de la constante \"hypercomplex\" "
-"determinant la forme Julia.\n"
-"La portée est d'environ -2 à 2."
+"Série Julia uniquement.\n"
+"La composante Y de la constante hypercomplexe.\n"
+"Transforme la forme de la fractale.\n"
+"Portée environ -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 ""
-"Série Julia uniquement: composante Z de la constante \"hypercomplex\" "
-"déterminant la forme Julia.\n"
-"La portée est d'environ -2 à 2."
+"Série Julia uniquement.\n"
+"La composante Z de la constante hypercomplexe.\n"
+"Transforme la forme de la fractale.\n"
+"Portée environ -2 à 2."
#: src/settings_translation_file.cpp
msgid "Julia w"
@@ -3898,15 +3949,14 @@ msgstr ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
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 ""
-"Touche pour reculer le joueur.\n"
-"Désactive également l'autoforward, lorsqu'il est actif.\n"
+"Touche pour faire reculer le joueur.\n"
+"Désactive également l’avance auto., lorsqu’elle est active.\n"
"Voir http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4001,277 +4051,252 @@ msgstr ""
"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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 12ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 13ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 14ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 15ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 16ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 17ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 18ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 19ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 20ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 21ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 22ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 23ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 24ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 30ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 26ᵉ case des la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 27ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 28ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 29ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 30ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 31ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la 32ᵉ case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la huitième case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la cinquième case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la première case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner l'item précédent dans la barre d'action.\n"
+"Touche pour sélectionner la quatrième case de la barre d'action.\n"
"Voir http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4286,13 +4311,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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la neuvième case de la barre d'action.\n"
"Voir http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4307,46 +4331,42 @@ 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la deuxième case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la septième case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la sixième case de la barre d'action.\n"
"Voir 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 ""
-"Touche pour sélectionner le prochain item dans la barre d'action.\n"
+"Touche pour sélectionner la dixième case de la barre d'action.\n"
"Voir http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4455,13 +4475,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 ""
-"Touche pour passer en mode vole.\n"
+"Toucher pour passer en mode de direction libre.\n"
"Voir http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4597,10 +4616,11 @@ msgid ""
"- Simple: only outer faces, if defined special_tiles are used\n"
"- Opaque: disable transparency"
msgstr ""
-"Apparence des feuilles d'arbres :\n"
-"- Détaillée : toutes les faces sont visibles\n"
-"- Simple : seulement les faces externes sont visibles\n"
-"- Opaque : désactive la transparence entre les feuilles"
+"Apparence des feuilles d’arbres :\n"
+"— Détaillée : toutes les faces sont visibles\n"
+"— Simple : seulement les faces externes, si des « special_tiles » sont "
+"définies\n"
+"— Opaque : désactive la transparence"
#: src/settings_translation_file.cpp
msgid "Left key"
@@ -4616,16 +4636,14 @@ msgstr ""
"réseau."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
-msgstr "Durée entre les cycles d’exécution ABM"
+msgstr "Durée entre les cycles d’exécution du Modificateur de bloc actif (ABM)"
#: src/settings_translation_file.cpp
msgid "Length of time between NodeTimer execution cycles"
msgstr "Durée entre les cycles d’exécution NodeTimer"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between active block management cycles"
msgstr "Temps entre les cycles de gestion des blocs actifs"
@@ -4715,7 +4733,8 @@ msgid "Liquid queue purge time"
msgstr "Délais de nettoyage d'une file de liquide"
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+#, fuzzy
+msgid "Liquid sinking"
msgstr "Vitesse d'écoulement du liquide"
#: src/settings_translation_file.cpp
@@ -4779,10 +4798,9 @@ msgstr "Répertoire de la carte du monde"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "Attributs spécifiques au Mapgen Carpathian."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen Valleys.\n"
"'altitude_chill': Reduces heat with altitude.\n"
@@ -4792,50 +4810,56 @@ msgid ""
"'altitude_dry': Reduces humidity with altitude."
msgstr ""
"Attributs de génération du monde spécifiques au générateur Valleys.\n"
-"‘altitude_chill’ : Réduit la chaleur avec l’altitude.\n"
-"‘humid_rivers’ : Augmente l’humidité autour des rivières et les mares.\n"
-"‘vary_river_depth’ : Si activé, une humidité basse et une forte chaleur "
-"peuvent rendre\n"
+"‹altitude_chill› : Réduit la chaleur avec l’altitude.\n"
+"‹humid_rivers› : Augmente l’humidité autour des rivières.\n"
+"‹vary_river_depth› : Si activé, une humidité basse et une forte chaleur "
+"rendent\n"
"les rivières moins profondes et parfois asséchées.\n"
-"‘altitude_dry’ : Réduit l’humidité avec l’altitude."
+"‹altitude_dry› : Réduit l’humidité avec l’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 ""
+"Attributs spécifiques au Mapgen v7.\n"
+"'crêtes' activent les rivières."
+
+#: 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 ""
-"Attributs de terrain spécifiques à Mapgen flat.\n"
-"Des lacs et des collines occasionnels peuvent être ajoutés au monde plat.\n"
-"Les drapeaux qui ne sont spécifiés dans le champ ne sont pas modifiés par "
-"défaut.\n"
-"Les drapeaux commençant par \"non\" sont désactivés explicitement."
+"Attributs de terrain spécifiques au générateur plat.\n"
+"Des lacs et des collines occasionnels peuvent être ajoutés au monde plat."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+msgstr "Attributs spécifiques au 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 new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
-"Attributs de génération du monde spécifiques à Mapgen v6.\n"
-"Quand les terrains neigeux sont activés avec le drapeau \"snowbiomes\",\n"
-"les jungles sont activées automatiquement, les drapeaux \"jungles\" sont "
-"ignorés.\n"
-"Les drapeaux qui ne sont spécifiés dans le champ gardent leurs valeurs par "
-"défaut.\n"
-"Les drapeaux commençant par \"no\" sont désactivés explicitement."
+"Attributs de génération du monde spécifiques au générateur v6.\n"
+"Le signal ‹snowbiomes› active le nouveau système de 5 biomes.\n"
+"Quand le nouveau système est activé les jungles sont automatiquement "
+"activées et\n"
+"le signal ‹jungles› est ignoré."
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Attributs spécifiques au Mapgen v7.\n"
+"'crêtes' activent les rivières."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4854,46 +4878,46 @@ msgid "Mapblock mesh generation delay"
msgstr "Délai de génération des maillages de MapBlocks"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock mesh generator's MapBlock cache size in MB"
-msgstr "Taille du cache du générateur de meshes pour les mapblocks"
+msgstr "Taille du cache du générateur de maillage pour les MapBloc en Mio"
#: src/settings_translation_file.cpp
msgid "Mapblock unload timeout"
msgstr "Délais d'interruption du déchargement des mapblocks"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian"
-msgstr "Générateur de terrain Fractal"
+msgstr "Générateur de terrain Carpatien"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian specific flags"
-msgstr "Drapeaux spécifiques du générateur de terrain plat"
+msgstr "Signaux spécifiques au générateur de terrain Carpatien"
#: src/settings_translation_file.cpp
msgid "Mapgen Flat"
msgstr "Générateur de terrain plat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat specific flags"
-msgstr "Drapeaux spécifiques du générateur de terrain plat"
+msgstr "Signaux spécifiques au générateur de terrain plat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Fractal"
msgstr "Générateur de terrain Fractal"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Signaux spécifiques au générateur de terrain plat"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr "Générateur de terrain V5"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Mapgen V5 specific flags"
-msgstr "Drapeaux spécifiques au Mapgen v5"
+msgstr "Signaux spécifiques au générateur v5"
#: src/settings_translation_file.cpp
msgid "Mapgen V6"
@@ -4902,7 +4926,7 @@ msgstr "Générateur de terrain V6"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Mapgen V6 specific flags"
-msgstr "Drapeaux spécifiques au Mapgen v6"
+msgstr "Signaux spécifiques au générateur v6"
#: src/settings_translation_file.cpp
msgid "Mapgen V7"
@@ -4911,16 +4935,15 @@ msgstr "Générateur de terrain v7"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Mapgen V7 specific flags"
-msgstr "Drapeaux spécifiques au Mapgen v7"
+msgstr "Signaux spécifiques au générateur v7"
#: src/settings_translation_file.cpp
msgid "Mapgen Valleys"
msgstr "Générateur de terrain Vallées"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Valleys specific flags"
-msgstr "Drapeaux spécifiques du générateur de terrain plat"
+msgstr "Signaux spécifiques au générateur de terrain Valleys"
#: src/settings_translation_file.cpp
msgid "Mapgen debug"
@@ -4972,6 +4995,12 @@ msgstr "Largeur maximale de la barre d'inventaire"
#: 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 ""
"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)"
@@ -5140,14 +5169,12 @@ msgid "Mountain noise"
msgstr "Bruit pour les montagnes"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain variation noise"
-msgstr "Bruit de hauteur des montagnes"
+msgstr "Bruit de variation des montagnes"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain zero level"
-msgstr "Bruit pour les montagnes"
+msgstr "Niveau de base des montagnes"
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity"
@@ -5182,20 +5209,18 @@ msgstr "Couper le son"
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
"Nom du générateur de terrain qui sera utilisé à la création d’un nouveau "
"monde.\n"
"Créer un nouveau monde depuis le menu principal ignorera ceci.\n"
"Les générateurs actuellement stables sont :\n"
-"v5, v6, v7 (sauf îles flottantes), plat, bloc unique.\n"
+"v5, v6, v7 (sauf îles flottantes), bloc unique.\n"
"‹stable› signifie que la génération d’un monde préexistant ne sera pas "
"changée\n"
"dans le futur. Notez cependant que les biomes sont définis par les jeux et "
-"peuvent être sujets de changement."
+"peuvent être sujets à changement."
#: src/settings_translation_file.cpp
msgid ""
@@ -5215,7 +5240,8 @@ msgstr ""
"joueurs se connectent."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+#, fuzzy
+msgid "Near clipping plane"
msgstr "Plan à proximité"
#: src/settings_translation_file.cpp
@@ -5267,19 +5293,35 @@ msgid "Number of emerge threads"
msgstr "Nombre de tâches en cours"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
+"Nombre de threads à utiliser.\n"
+"Rien ou 0 :\n"
+"— Sélection automatique. Le nombre de threads sera\n"
+"« nombre de processeurs − 2 », avec une limite inférieure de 1.\n"
+"Toute autre valeur :\n"
+"— Spécifie le nombre de threads, avec une limite inférieure de 1.\n"
+"Avertissement : Augmenter le nombre de threads augmente la génération du "
+"terrain du moteur\n"
+"mais cela peut nuire à la performance du jeu en interférant avec d’autres.\n"
+"processus, en particulier en mode solo ou lors de l’exécution du code Lua en "
+"mode\n"
+"« on_generated ».\n"
+"Pour de nombreux utilisateurs, le réglage optimal peut être « 1 »."
#: src/settings_translation_file.cpp
msgid ""
@@ -5299,7 +5341,7 @@ msgstr "Nombre d'itérations sur l'occlusion parallaxe."
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Dépôt de contenu en ligne"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5377,14 +5419,12 @@ msgid "Physics"
msgstr "Physique"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move key"
-msgstr "Voler"
+msgstr "Touche de vol libre"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move mode"
-msgstr "Mode de mouvement saccadé activé"
+msgstr "Mode de mouvement libre"
#: src/settings_translation_file.cpp
msgid ""
@@ -5403,9 +5443,8 @@ msgid "Player transfer distance"
msgstr "Distance de transfert du joueur"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Player versus player"
-msgstr "Mode combat"
+msgstr "Joueur contre joueur"
#: src/settings_translation_file.cpp
msgid ""
@@ -5431,14 +5470,13 @@ msgstr ""
"système)."
#: 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 ""
-"Imprime les données de profilage du moteur à intervalles réguliers. 0 = "
-"désactivation.\n"
-"Utile pour les développeurs."
+"Affiche les données de profilage du moteur à intervalles réguliers (en "
+"secondes).\n"
+"0 = désactivé. Utile pour les développeurs."
#: src/settings_translation_file.cpp
msgid "Privileges that players with basic_privs can grant"
@@ -5459,10 +5497,6 @@ msgid "Profiling"
msgstr "Profilage"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-msgstr "Projection des donjons"
-
-#: 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 "
@@ -5537,9 +5571,8 @@ msgstr ""
"csm_restriction_noderange)"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridge mountain spread noise"
-msgstr "Bruit pour les crêtes sous l'eau"
+msgstr "Bruit pour l'espacement des crêtes de montagnes"
#: src/settings_translation_file.cpp
msgid "Ridge noise"
@@ -5550,9 +5583,8 @@ msgid "Ridge underwater noise"
msgstr "Bruit pour les crêtes sous l'eau"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridged mountain size noise"
-msgstr "Bruit pour les crêtes sous l'eau"
+msgstr "Bruit pour la taille des crêtes de montagne"
#: src/settings_translation_file.cpp
msgid "Right key"
@@ -5563,19 +5595,33 @@ msgid "Rightclick repetition interval"
msgstr "Intervalle de répétition du clic droit"
#: src/settings_translation_file.cpp
-msgid "River depth"
+#, fuzzy
+msgid "River channel depth"
msgstr "Profondeur des rivières"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel width"
+msgstr "Profondeur des rivières"
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr "Profondeur des rivières"
+
+#: src/settings_translation_file.cpp
msgid "River noise"
-msgstr "Bruit des rivières"
+msgstr "Bruit pour les rivières"
#: src/settings_translation_file.cpp
msgid "River size"
msgstr "Taille des rivières"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Profondeur des rivières"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Enregistrement des actions"
@@ -5614,7 +5660,6 @@ msgid "Saving map received from server"
msgstr "Sauvegarder le monde du serveur"
#: 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"
@@ -5622,12 +5667,13 @@ msgid ""
"pixels when scaling down, at the cost of blurring some\n"
"edge pixels when images are scaled by non-integer sizes."
msgstr ""
-"Mise à l'échelle du GUI par une valeur spécifique de l'utilisateur.\n"
+"Met à l'échelle l'interface par une valeur spécifiée par l'utilisateur,\n"
+"à l'aide d'un filtre au plus proche avec anticrénelage.\n"
"Cela va lisser certains bords grossiers, et mélanger les pixels en réduisant "
"l'échelle\n"
"au détriment d'un effet de flou sur des pixels en bordure quand les images "
"sont\n"
-"misent à l'échelle par des valeurs non-entières."
+"mises à l'échelle par des valeurs fractionnelles."
#: src/settings_translation_file.cpp
msgid "Screen height"
@@ -5664,14 +5710,14 @@ msgid "Seabed noise"
msgstr "Bruit pour les fonds marins"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of 4 2D noises that together define hill/mountain range height."
-msgstr "Deuxième de 2 bruits 3D qui définissent ensemble des tunnels."
+msgstr ""
+"Deuxième des 4 bruits 2D qui définissent ensemble la taille des collines et "
+"montagnes."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of two 3D noises that together define tunnels."
-msgstr "Deuxième de 2 bruits 3D qui définissent ensemble des tunnels."
+msgstr "Deuxième des 2 bruits 3D qui définissent ensemble les tunnels."
#: src/settings_translation_file.cpp
msgid "Security"
@@ -5694,7 +5740,6 @@ msgid "Selection box width"
msgstr "Epaisseur des bords de sélection"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Selects one of 18 fractal types.\n"
"1 = 4D \"Roundy\" mandelbrot set.\n"
@@ -5716,7 +5761,7 @@ msgid ""
"17 = 4D \"Mandelbulb\" mandelbrot set.\n"
"18 = 4D \"Mandelbulb\" julia set."
msgstr ""
-"Choix de 18 fractales provenant de 9 formules.\n"
+"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"
@@ -5878,7 +5923,6 @@ msgid "Slice w"
msgstr "Largeur de part"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Slope and fill work together to modify the heights."
msgstr ""
"La pente et le remplissage fonctionnent ensemble pour modifier les hauteurs."
@@ -5923,6 +5967,10 @@ msgid "Sneaking speed"
msgstr "Vitesse d'accroupissement"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Audio"
@@ -5966,14 +6014,12 @@ msgid "Steepness noise"
msgstr "Bruit pour les pentes"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Step mountain size noise"
-msgstr "Bruit pour les montagnes"
+msgstr "Bruit pour la taille des montagnes en escalier"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Step mountain spread noise"
-msgstr "Bruit pour les montagnes"
+msgstr "Bruit pour l’étalement des montagnes en escalier"
#: src/settings_translation_file.cpp
msgid "Strength of generated normalmaps."
@@ -6004,9 +6050,8 @@ msgid "Temperature variation for biomes."
msgstr "Variation de température pour les biomes."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Terrain alternative noise"
-msgstr "Bruit pour l'altitude du terrain"
+msgstr "Bruit alternatif pour le terrain"
#: src/settings_translation_file.cpp
msgid "Terrain base noise"
@@ -6061,10 +6106,17 @@ msgid ""
"this option allows enforcing it for certain node types. Note though that\n"
"that is considered EXPERIMENTAL and may not work properly."
msgstr ""
+"Les textures sur un nœud peuvent être alignées soit sur le nœud, soit sur le "
+"monde. L'ancien mode convient mieux aux machines, aux meubles, etc. ce "
+"dernier rend les escaliers et les microblocs mieux adaptés à "
+"l'environnement. Cependant, comme cette possibilité est nouvelle, elle ne "
+"peut donc pas être utilisée par les anciens serveurs, cette option permet de "
+"l'appliquer pour certains types de nœuds. Notez cependant que c'est "
+"considéré comme EXPERIMENTAL et peut ne pas fonctionner correctement."
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "L'URL du dépôt de contenu en ligne"
#: src/settings_translation_file.cpp
msgid ""
@@ -6075,9 +6127,10 @@ msgstr ""
"lorsque la commande `/profiler save [format]` est entrée sans format."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "The depth of dirt or other biome filler node."
-msgstr "La profondeur de la terre ou autre matériau"
+msgstr ""
+"La profondeur de la terre ou autre matériau de remplissage dépendant du "
+"biome."
#: src/settings_translation_file.cpp
msgid ""
@@ -6091,10 +6144,9 @@ msgid "The identifier of the joystick to use"
msgstr "L'identifiant de la manette à utiliser"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
-"La longueur en pixels qu'il faut pour que l'interaction de l'écran tactile "
+"La longueur en pixels qu'il faut pour que l'interaction avec l'écran tactile "
"commence."
#: src/settings_translation_file.cpp
@@ -6136,6 +6188,12 @@ msgid ""
"On other platforms, OpenGL is recommended, and it’s the only driver with\n"
"shader support currently."
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."
#: src/settings_translation_file.cpp
msgid ""
@@ -6198,11 +6256,17 @@ msgid ""
"enabled. Also the vertical distance over which humidity drops by 10 if\n"
"'altitude_dry' is enabled."
msgstr ""
+"La distance verticale sur laquelle la chaleur diminue de 20 si "
+"« altitude_chill » est\n"
+"activé. Également la distance verticale sur laquelle l’humidité diminue de "
+"10 si\n"
+"« altitude_dry » est activé."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Third of 4 2D noises that together define hill/mountain range height."
-msgstr "Le premier des deux bruits 3D qui définissent ensemble les tunnels."
+msgstr ""
+"Le troisième des 4 bruits 2D qui définissent ensemble la hauteur des "
+"collines et montagnes."
#: src/settings_translation_file.cpp
msgid "This font will be used for certain languages."
@@ -6284,12 +6348,11 @@ msgid "Trusted mods"
msgstr "Mods sécurisés"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Typical maximum height, above and below midpoint, of floatland mountains."
msgstr ""
"Hauteur maximum typique, au-dessus et au-dessous du point médian, du terrain "
-"de montagne du flotteur."
+"de montagne flottantes."
#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
@@ -6300,11 +6363,13 @@ msgid "Undersampling"
msgstr "Sous-échantillonage"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"Le sous-échantillonage ressemble à l'utilisation d'une définition d'écran\n"
"plus faible, mais il ne s'applique qu'au rendu 3D, gardant l'interface "
@@ -6426,6 +6491,10 @@ msgid "Varies steepness of cliffs."
msgstr "Contrôle l'élévation/hauteur des falaises."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Synchronisation verticale de la fenêtre de jeu."
@@ -6458,16 +6527,14 @@ msgid "Viewing range"
msgstr "Plage de visualisation"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Virtual joystick triggers aux button"
-msgstr "Manettes virtual déclenche le bouton aux"
+msgstr "Joystick virtuel déclenche le bouton aux"
#: src/settings_translation_file.cpp
msgid "Volume"
msgstr "Volume du son"
#: 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"
@@ -6475,16 +6542,25 @@ msgid ""
"Has no effect on 3D fractals.\n"
"Range roughly -2 to 2."
msgstr ""
-"Série Julia : coordonnée W de la couche 3D de la forme 4D.\n"
+"Coordonnée W de la couche 3D de la forme 4D.\n"
"Détermine la tranche 3D de la forme 4D qui est générée.\n"
+"Transforme la forme de la fractale.\n"
"N'a aucun effet sur les fractales 3D.\n"
-"La portée est environ entre -2 et 2."
+"La portée est d'environ -2 à 2."
+
+#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Vitesse de marche"
#: 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"
msgstr "Niveau de l'eau"
@@ -6509,16 +6585,19 @@ msgid "Waving water"
msgstr "Vagues"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Hauteur des vagues"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Durée du mouvement des liquides"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Vitesse de mouvement des liquides"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Vitesse de mouvement des liquides"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Durée du mouvement des liquides"
#: src/settings_translation_file.cpp
msgid ""
@@ -6556,19 +6635,20 @@ msgid ""
"This is also used as the base node texture size for world-aligned\n"
"texture autoscaling."
msgstr ""
-"En utilisant le filtrage bilinéaire / trilinéaire / anisotrope, les textures "
-"de basse résolution\n"
-"peuvent être floues en agrandissant automatiquement les textures avec une "
-"interpolation précise\n"
-"pour préserver les pixels hasardeux.\n"
-"\n"
-"Ceci détermine la taille de la texture minimale pour les textures agrandies. "
-"Les valeurs plus hautes rendent\n"
-"les textures plus détaillées, mais nécessitent plus de mémoire.\n"
-"Les valeurs en puissance de 2 sont recommandées. Définir une valeur "
+"En utilisant le filtrage bilinéaire/trilinéaire/anisotrope, les textures de "
+"basse résolution\n"
+"peuvent être floutées, agrandissez-les donc automatiquement avec "
+"l'interpolation du plus proche voisin\n"
+"pour garder des pixels nets. Ceci détermine la taille de la texture "
+"minimale\n"
+"pour les textures agrandies ; les valeurs plus hautes rendent les textures "
+"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 un effet visible sauf si le filtrage bilinéaire / trilinéaire / "
-"anisotrope est activé."
+"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."
#: src/settings_translation_file.cpp
msgid ""
@@ -6578,10 +6658,6 @@ msgstr ""
"le support Freetype."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr "Si les donjons font parfois saillie du terrain."
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr "Détermine la désynchronisation des textures animées par mapblock."
@@ -6643,7 +6719,6 @@ msgstr ""
"Inutile si démarré depuis le menu."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "World start time"
msgstr "Heure de début du monde"
@@ -6656,6 +6731,16 @@ msgid ""
"See also texture_min_size.\n"
"Warning: This option is EXPERIMENTAL!"
msgstr ""
+"Les textures alignées sur le monde peuvent être mises à l'échelle pour "
+"couvrir plusieurs nœuds. Cependant,\n"
+"le serveur peut ne pas envoyer l'échelle que vous voulez, surtout si vous "
+"utilisez\n"
+"un pack de textures spécialement conçu ; avec cette option, le client "
+"essaie\n"
+"de déterminer l'échelle automatiquement en fonction de la taille de la "
+"texture.\n"
+"Voir aussi texture_min_size.\n"
+"Avertissement : Cette option est EXPÉRIMENTALE !"
#: src/settings_translation_file.cpp
msgid "World-aligned textures mode"
@@ -6670,6 +6755,8 @@ msgid ""
"Y of mountain density gradient zero level. Used to shift mountains "
"vertically."
msgstr ""
+"Y du niveau zéro du gradient de densité de la montagne. Utilisé pour "
+"déplacer les montagnes verticalement."
#: src/settings_translation_file.cpp
msgid "Y of upper limit of large caves."
@@ -6677,11 +6764,6 @@ msgstr ""
"Coordonnée Y de la limite supérieure des grandes grottes pseudo-aléatoires."
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-"Coordonnée Y de la limite supérieure des grandes grottes pseudo-aléatoires."
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr "La distance Y jusqu'à laquelle la caverne peut s'étendre."
@@ -6698,14 +6780,12 @@ msgid "Y-level of floatland midpoint and lake surface."
msgstr "Hauteur (Y) du point de flottaison et de la surface des lacs."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of higher terrain that creates cliffs."
-msgstr "Hauteur (Y) du plus bas terrain et lits de lac."
+msgstr "Hauteur Y du plus haut terrain qui crée des falaises."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of lower terrain and seabed."
-msgstr "Hauteur (Y) du plus bas terrain et lits de lac."
+msgstr "Hauteur Y du plus bas terrain et des fonds marins."
#: src/settings_translation_file.cpp
msgid "Y-level of seabed."
@@ -6727,1099 +6807,22 @@ msgstr "Limite parallèle de cURL"
msgid "cURL timeout"
msgstr "Délais d'interruption de cURL"
-#~ msgid "Content Store"
-#~ msgstr "Magasin de contenu"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Nombre de tâches en cours à utiliser. Laisser ce champ vide, ou augmenter "
-#~ "cette valeur\n"
-#~ "pour utiliser le multi-tâches. Sur des systèmes multi-processeurs, cela "
-#~ "va améliorer grandement\n"
-#~ "la génération de terrain au détriment de quelques altérations de grottes."
-
-#~ msgid "Pitch fly mode"
-#~ msgstr "Mode de vol dirigé par le regard"
-
-#~ msgid "Show non-free packages"
-#~ msgstr "Afficher les paquets non libres"
-
-#~ msgid ""
-#~ "Show packages in the content store that do not qualify as 'free "
-#~ "software'\n"
-#~ "as defined by the Free Software Foundation."
-#~ msgstr ""
-#~ "Afficher les packages dans le magasin de contenu qui ne sont pas "
-#~ "qualifiés de «logiciels libres»\n"
-#~ "tel que défini par la Free Software Foundation."
-
-#~ msgid "Disable MP"
-#~ msgstr "Désactiver le modpack"
-
-#~ msgid "Enable MP"
-#~ msgstr "Activer le modpack"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Nom du monde manquant ou aucun jeu sélectionné"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" n'est pas un drapeau valide."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr ""
-#~ "Le format est composé de 3 nombres séparés par des virgules et entre "
-#~ "parenthèses."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Format : <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Éventuellement, l'option \"lacunarity\" peut être jointe par une virgule "
-#~ "d'en-tête."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Veuillez séparer les drapeaux par des virgules dans la liste."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Les valeurs possibles sont : "
-
-#~ msgid "Select path"
-#~ msgstr "Sélectionner un chemin"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Mods de sous-jeu"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Page $1 de $2"
-
-#~ msgid "Rating"
-#~ msgstr "Évaluation"
-
-#~ msgid "Shortname:"
-#~ msgstr "Nom court :"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Installé avec succès :"
-
-#~ msgid "Unsorted"
-#~ msgstr "Non-trié"
-
-#~ msgid "re-Install"
-#~ msgstr "Réinstaller"
-
-#~ msgid "Local Game"
-#~ msgstr "Jeu local"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Désinstaller le pack de mods sélectionné"
-
-#~ msgid "Play Online"
-#~ msgstr "Jouer en ligne"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Mappage de texture"
-
-#~ msgid "No information available"
-#~ msgstr "Pas d'information disponible"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Volume mis à 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Volume mis à 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Afficher les stacks"
-
-#~ msgid "Use"
-#~ msgstr "Utiliser"
-
-#~ msgid "Next"
-#~ msgstr "Suivant"
-
-#~ msgid "Prior"
-#~ msgstr "Précédent"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Intervalle du modificateur de bloc actif"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Android uniquement: Essaye de créer des textures d'inventaire à partir "
-#~ "des meshes\n"
-#~ "quand aucun gestionnaire de rendu n'est trouvé."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Annoncer à la liste des serveurs publics.\n"
-#~ "Si vous voulez annoncer votre adresse IPv6, utilisez serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Série Julia: échelles (X,Y,Z) en blocs."
-
-#~ msgid "Autorun key"
-#~ msgstr "Touche pour courir"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Les grottes et tunnels se forment à l'intersection de deux bruits"
-
-#~ msgid "Cloud height"
-#~ msgstr "Hauteur des nuages"
-
-#~ msgid "Console key"
-#~ msgstr "Console de jeu"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Mouvement avant permanent (seulement utilisé pour des tests)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Crée des zones imprévisibles de lave dans les caves.\n"
-#~ "Elles rendent le minage plus difficile. 0 les désactivent. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Crée des zones aquatiques imprévisibles dans les caves.\n"
-#~ "Elles rendent le minage plus difficile. 0 les désactivent. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Vitesse du joueur en position accroupie"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Profondeur en-dessous duquel se trouvent des caves massives."
-
-#~ msgid "Descending speed"
-#~ msgstr "Vitesse de descente du joueur"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Désactive les séquences d'échappement"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Désactive les séquences d'échappement. ex : chat coloré.\n"
-#~ "Utilisez cette option si vous voulez exécuter un serveur avec des clients "
-#~ "antérieurs à la 0. 4. 14 et que vous souhaitez désactiver\n"
-#~ "les séquences d'échappement générées par les mods."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Mouvement de tête"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Active les mouvements de tête lors d'un déplacement."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Champ de vision du zoom"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Champ de vision en degrés pendant le zoom. \n"
-#~ "Ceci nécessite le privilège \"zoom\" sur le serveur."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Distance maximale d'envoi de données sur les objets aux clients, établie "
-#~ "en mapblocks (16^3 blocs)."
-
-#~ msgid "General"
-#~ msgstr "Général"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Hauteur des nuages dans le jeu."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Largeur des aires de mapblocks qui sont sujets à être gardés actifs, "
-#~ "établie en mapblocks (16^3 blocs).\n"
-#~ "Les mapblocks actifs sont chargés et les ABMs y sont actifs."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "Si activé, afficher le message de statut du serveur lorsqu'un joueur se "
-#~ "connecte."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Hack d'image d'inventaire"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Itérations de la fonction récursive.\n"
-#~ "Contrôle la quantité de détails fins."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Touche pour ouvrir la console de chat.\n"
-#~ "Voir http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Touche pour afficher les infos de débogage. Utilisé pour le "
-#~ "développement.\n"
-#~ "Voir http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Fonctionnalités de la lave"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Gestionnaire du menu principal du jeu"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Gestionnaire du menu principal du mod"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributs spécifiques au générateur de terrain: Mapgen Valleys.\n"
-#~ "Le paramètre: 'altitude_chill' provoque un refroidissement à des "
-#~ "altitudes élevées, ce qui cause des problèmes dans les biomes.\n"
-#~ "Le paramètre 'humid_rivers' modifie l'humidité autour des rivières et "
-#~ "dans les zones où l'eau est assez présente,\n"
-#~ "cela peut interférer avec des biomes ajustés délicatement.\n"
-#~ "La chaîne de drapeaux modifie les paramètres par défaut du moteur.\n"
-#~ "Les drapeaux qui ne sont spécifiés dans le champ gardent leurs valeurs "
-#~ "par défaut.\n"
-#~ "Les drapeaux commençant par \"non\" sont utilisés pour désactiver de "
-#~ "manière explicite."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributs de terrain spécifiques au Mapgen V7.\n"
-#~ "Le drapeau 'des crêtes' contrôle les rivières.\n"
-#~ "Les terrains flottants sont actuellement experimentaux et sujets à des "
-#~ "changements.\n"
-#~ "Les drapeaux qui ne sont pas spécifiés dans la chaîne de drapeau ne sont "
-#~ "pas modifiés par rapport à la valeur par défaut.\n"
-#~ "Les drapeaux commençant par \"non\" sont désactivés explicitement."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Profondeur des caves massives"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Bruit des caves massives"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Forme des caves massives."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr "Nombre maximal de blocs pouvant être envoyés simultanément."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr ""
-#~ "Nombre maximal de blocs pouvant être envoyés simultanément par client."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Nombre maximal de blocs simultanés envoyés"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "URL des détails du magasin de mods"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "URL de téléchargement du magasin de mods"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "URL de liste des mods du magasin de mods"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Nom du générateur de terrain à utiliser lorsque de la création d'un "
-#~ "nouveau monde.\n"
-#~ "Créer un nouveau monde dans le menu va annuler ce paramètre."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Bruit des rivières -- les rivières se forment près de zéro"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr "Taille des chunks à générer, établie en mapblocks (16^3 blocs)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Fonctionne sur d'anciens serveurs"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "L'altitude à laquelle la température descend de 20°C"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Le pilote vidéo pour Irrlicht."
-
-#~ msgid "Use key"
-#~ msgstr "Utiliser"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Utilisation du mip-mapping. Peut augmenter légèrement les performances."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Drapeaux de Valleys C"
-
-#~ msgid "Water Features"
-#~ msgstr "Caractéristiques de l'eau"
+#~ msgid "Projecting dungeons"
+#~ msgstr "Projection des donjons"
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Supporte les anciens serveurs antérieurs au protocole version 25.\n"
-#~ "A activer si vous souhaitez vous connecter aux serveurs version 0.4.12 et "
-#~ "antérieure.\n"
-#~ "Les serveurs démarrant en 0.4.13 vont fonctionner, pas ceux en 0.4.12-"
-#~ "dev.\n"
-#~ "La désactivation de cette option permettra de mieux protéger votre mot de "
-#~ "passe."
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Hauteur (Y) du plus haut terrain (falaise)."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Cacher le contenu du mod"
-
-#~ msgid "Attn"
-#~ msgstr "Attente"
-
-#~ msgid "Capital"
-#~ msgstr "Verr Maj"
-
-#~ msgid "Comma"
-#~ msgstr "Virgule"
-
-#~ msgid "CrSel"
-#~ msgstr "Vider sélection"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Final"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Moins"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Point"
-
-#~ msgid "Plus"
-#~ msgstr "Plus"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Taille des déserts et plages dans Mapgen V6.\n"
-#~ "Quand les environnements neigeux sont activés, le paramètre de fréquence "
-#~ "des déserts dans Mapgen V6 est ignoré."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Détermine la forme du terrain.\n"
-#~ "Les 3 nombres entre parenthèses contrôlent l'échelle du terrain,\n"
-#~ "ces nombres doivent être identiques."
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Mapgen : paramètres de bruit de la température"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Mapgen : paramètres de mélange de l'humidité"
-
-#~ msgid "Mapgen biome humidity noise parameters"
-#~ msgstr "Mapgen : paramètres de bruit de l'humidité"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Ampleur de grotte du générateur de terrain plat"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "Générateur de terrain plat: paramètres de bruit grotte1"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "Générateur de terrain plat: paramètres de bruit grotte2"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr "Générateur de terrain plat: paramètres de bruit sur la profondeur"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Profondeur des grandes grottes du générateur de terrain plat"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Paramètres de bruit du générateur de terrain plat"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Ampleur des grottes du générateur de terrain Julia"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Mapgen V5 : paramètres de bruit cave1"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Mapgen V5 : paramètre de bruit cave2"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr "Mapgen V5 : paramètres de bruit sur la profondeur"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Drapeaux des fractales du générateur de terrain"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Itérations du générateur de terrain julia"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "Mapgen Julia : fractale W"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "Mapgen Julia : fractale X"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Mapgen Julia : fractale Y"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Mapgen Julia : fractale Z"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Générateur de terrain Julia: décalages fractals"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Générateur de terrain Julia: échelles fractales"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr ""
-#~ "Paramètres de bruit du fond marin pour le générateur de terrain julia"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Générateur de terrain Julia: couche fractale W"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Ampleur des grottes du générateur de terrain V5"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "Paramètres du bruit cave1 du générateur de terrain v5"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "Paramètres du bruit cave2 du générateur de terrain v5"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Paramètres du facteur de dispersion du générateur de terrain v5"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr ""
-#~ "Paramètres du bruit de la profondeur de remplissage du générateur de "
-#~ "terrain v5"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Paramètres du bruit en altitude du générateur de terrain v5"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Paramètres du bruit des pommiers du générateur de terrain v6"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Mapgen V6 : fréquence des plages"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Mapgen V6 : paramètres de bruit des plages"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Mapgen V6 : paramètres de bruit des biomes"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Mapgen V6 : paramètres de bruit des caves"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Mapgen V6 : fréquence des déserts"
-
-#~ msgid "Mapgen v6 mud noise parameters"
-#~ msgstr "Mapgen V6 : paramètres de bruit de la vase"
-
-#~ msgid "Mapgen v6 steepness noise parameters"
-#~ msgstr "Mapgen V6 : paramètres de bruit des pentes"
-
-#~ msgid "Mapgen v6 terrain altitude noise parameters"
-#~ msgstr "Mapgen V6 : paramètres de bruit de l'altitude du terrain"
-
-#~ msgid "Mapgen v6 terrain base noise parameters"
-#~ msgstr "Mapgen V6 : paramètres de bruit du terrain de base"
-
-#~ msgid "Mapgen v6 trees noise parameters"
-#~ msgstr "Mapgen V6 : paramètres de bruit des arbres"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Ampleur des grottes du générateur de terrain: Mapgen V7"
-
-#~ msgid "Mapgen v7 cave1 noise parameters"
-#~ msgstr "Mapgen V7 : paramètres de bruit cave1"
-
-#~ msgid "Mapgen v7 cave2 noise parameters"
-#~ msgstr "Mapgen V7 : paramètres de bruit cave2"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr "Mapgen V7 : paramètres de bruit sur la profondeur"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Mapgen V7 : paramètres de sélection de la hauteur du bruit"
-
-#~ msgid "Mapgen v7 mountain noise parameters"
-#~ msgstr "Mapgen V7 : paramètres de bruit des montagnes"
-
-#~ msgid "Mapgen v7 ridge noise parameters"
-#~ msgstr "Mapgen V7 : paramètres de bruit des rivières"
-
-#~ msgid "Mapgen v7 ridge water noise parameters"
-#~ msgstr "Mapgen V7 : paramètres de bruit de l'eau des rivières"
-
-#~ msgid "Mapgen v7 terrain altitude noise parameters"
-#~ msgstr "Mapgen V7 : paramètres de bruit de l'altitude du terrain"
-
-#~ msgid "Mapgen v7 terrain base noise parameters"
-#~ msgstr "Mapgen V7 : paramètres du bruit du terrain de base"
-
-#~ msgid "Mapgen v7 terrain persistation noise parameters"
-#~ msgstr "Mapgen V7 : paramètres du bruit de la persistance du terrain"
-
-#~ msgid ""
-#~ "Noise parameters for biome API temperature, humidity and biome blend."
-#~ msgstr ""
-#~ "Paramètres de bruit pour la température, l'humidité et le mélange de "
-#~ "biomes."
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Limite de la génération de terrain.\n"
-#~ "Notes :\n"
-#~ "- Limite absolue à 31000 (une valeur supérieure n'a aucun effet).\n"
-#~ "- La génération de terrain fonctionne par groupes de 80^3 blocs (= 5^3 "
-#~ "mapblocks).\n"
-#~ "- Ces groupes ont un décalage de -32, -32 blocs depuis leur origine.\n"
-#~ "- Seuls les groupes intégrant les limites définies par "
-#~ "map_generation_limit sont générées"
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr ""
-#~ "Profil détaillé des données du mod. Utile pour les développeurs de mods."
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "Profil détaillé des mods"
-
-#~ msgid ""
-#~ "How many blocks are flying in the wire simultaneously for the whole "
-#~ "server."
-#~ msgstr "Nombre maximum de mapblocks simultanés envoyés sur le serveur."
-
-#~ msgid "How many blocks are flying in the wire simultaneously per client."
-#~ msgstr "Nombre maximum de mapblocks simultanés envoyés par client."
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Utile pour les développeurs de mods."
-
-#~ msgid "No of course not!"
-#~ msgstr "Non, bien sûr que non !"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Liste de serveurs publics"
-
-#~ msgid "No!!!"
-#~ msgstr "Non !"
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "Si les donjons font parfois saillie du terrain."
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them.\n"
-#~ "\"altitude_chill\" makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "\"humid_rivers\" modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool. It may interfere with delicately adjusted "
-#~ "biomes."
-#~ msgstr ""
-#~ "Attributs généraux de la génération de terrain.\n"
-#~ "Les drapeaux qui ne sont spécifiés dans leur champ respectif gardent "
-#~ "leurs valeurs par défaut."
-
-#~ msgid "\""
-#~ msgstr "\""
-
-#~ msgid "Enable a bit lower water surface, so it doesn't "
-#~ msgstr ""
-#~ "Rend l'eau légèrement plus basse, de façon à ce qu'elle ne submerge pas "
-#~ "le bloc complètement.\n"
-#~ "Note : cette fonctionnalité est assez expérimentale et l'éclairage doux "
-#~ "ne fonctionne pas dessus. "
-
-#~ msgid "If enabled, "
-#~ msgstr "Si activé, "
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "Redémarrez Minetest pour que le changement du pilote prenne effet"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "Gamemgr : Impossible de copier le mod \"$1\" dans le jeu \"$2\""
-
-#~ msgid "GAMES"
-#~ msgstr "JEUX"
-
-#~ msgid "Mods:"
-#~ msgstr "Mods :"
-
-#~ msgid "new game"
-#~ msgstr "nouveau jeu"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "MODIFIER LE JEU"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Supprimer le mod sélectionné"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Ajouter un mod"
-
-#~ msgid "CLIENT"
-#~ msgstr "CLIENT"
-
-#~ msgid "START SERVER"
-#~ msgstr "DÉMARRER LE SERVEUR"
-
-#~ msgid "Name"
-#~ msgstr "Nom"
-
-#~ msgid "Password"
-#~ msgstr "Mot de passe"
-
-#~ msgid "SETTINGS"
-#~ msgstr "PARAMÈTRES"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Précharger les objets"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "Liquides limités"
+#~ msgid "Waving Water"
+#~ msgstr "Eau ondulante"
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "PARTIE SOLO"
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "PACKS DE TEXTURES"
-
-#~ msgid "MODS"
-#~ msgstr "MODS"
-
-#~ msgid "Add mod:"
-#~ msgstr "Ajouter un mod :"
-
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Attention : certains mods ne sont pas encore configurés.\n"
-#~ "Ils seront activés par défaut quand vous enregistrerez la configuration. "
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
+#~ msgid "Y of upper limit of lava in large caves."
#~ msgstr ""
-#~ "Attention : certains mods configurés sont introuvables.\n"
-#~ "Leurs réglages seront effacés quand vous enregistrerez la configuration. "
-
-#~ msgid "Delete map"
-#~ msgstr "Supprimer la carte"
-
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "Touches par défaut :\n"
-#~ "- ZQSD : se déplacer\n"
-#~ "- Clic gauche : creuser bloc\n"
-#~ "- Clic droite : insérer bloc\n"
-#~ "- Roulette : sélectionner objet\n"
-#~ "- 0...9 : sélectionner objet\n"
-#~ "- Shift : déplacement prudent\n"
-#~ "- R : active la vue de tous les blocs\n"
-#~ "- I : inventaire\n"
-#~ "- Échap : ce menu\n"
-#~ "- T : discuter\n"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Tous les fichiers du monde n'ont pu être supprimés"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Impossible de configurer ce monde : aucune sélection active"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Impossible de créer le monde : aucun jeu n'est présent"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Fichiers à supprimer"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Impossible de supprimer le monde : rien n'est sélectionné"
-
-#~ msgid "Address required."
-#~ msgstr "Adresse requise."
-
-#~ msgid "Create world"
-#~ msgstr "Créer un monde"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Laisser l'adresse vide pour lancer un serveur local."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Voir les serveurs favoris"
-
-#~ msgid "Show Public"
-#~ msgstr "Voir les serveurs publics"
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr ""
-#~ "Impossible de créer le monde : le nom contient des caractères invalides"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Attention : configuration incorrecte. "
-
-#~ msgid "Configuration saved. "
-#~ msgstr "Configuration enregistrée. "
+#~ "Coordonnée Y de la limite supérieure des grandes grottes pseudo-"
+#~ "aléatoires."
-#~ msgid "is required by:"
-#~ msgstr "est requis par :"
+#~ msgid "Select Package File:"
+#~ msgstr "Sélectionner le fichier du mod :"
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr ""
-#~ "Clic gauche : déplacer tous les objets -- Clic droit : déplacer un objet"
-
-#~ msgid " MB/s"
-#~ msgstr " Mo/s"
-
-#~ msgid " KB/s"
-#~ msgstr " Ko/s"
-
-#~ msgid "Downloading"
-#~ msgstr "Téléchargement"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "Taille appliquée aux menus : "
-
-#~ msgid "Wanted FPS"
-#~ msgstr "FPS minimum"
-
-#~ msgid "Vertical spawn range"
-#~ msgstr "Portée verticale du spawn"
-
-#~ msgid "Vertical initial window size."
-#~ msgstr "Largeur initiale de la fenêtre de jeu."
-
-#~ msgid ""
-#~ "The allowed adjustment range for the automatic rendering range "
-#~ "adjustment.\n"
-#~ "Set this to be equal to viewing range minimum to disable the auto-"
-#~ "adjustment algorithm."
-#~ msgstr ""
-#~ "Distance d'affichage maximum.\n"
-#~ "Définir cette valeur égale à la distance de vue minimum pour désactiver\n"
-#~ "l'auto-ajustement dynamique de la distance d'affichage."
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "Pré-chargement des textures d'inventaire"
-
-#~ msgid ""
-#~ "Pre-generate all item visuals used in the inventory.\n"
-#~ "This increases startup time, but runs smoother in-game.\n"
-#~ "The generated textures can easily exceed your VRAM, causing artifacts in "
-#~ "the inventory."
-#~ msgstr ""
-#~ "Pré-générer tous les visuels d'items utilisés dans l'inventaire.\n"
-#~ "Cela augmente le temps de démarrage, mais rend les inventaires plus "
-#~ "fluides.\n"
-#~ "Les textures générées peuvent facilement déborder votre VRAM, causant des "
-#~ "bugs dans votre inventaire."
-
-#~ msgid "New style water"
-#~ msgstr "Nouveau style de liquide"
-
-#~ msgid ""
-#~ "Minimum wanted FPS.\n"
-#~ "The amount of rendered stuff is dynamically set according to this. and "
-#~ "viewing range min and max."
-#~ msgstr ""
-#~ "Images par seconde (FPS) minimum.\n"
-#~ "Le niveau de rendu est dynamiquement adapté selon ce paramètre et la "
-#~ "distance de vue (minimale et maximale)."
-
-#~ msgid ""
-#~ "Maximum distance above water level for player spawn.\n"
-#~ "Larger values result in spawn points closer to (x = 0, z = 0).\n"
-#~ "Smaller values may result in a suitable spawn point not being found,\n"
-#~ "resulting in a spawn at (0, 0, 0) possibly buried underground."
-#~ msgstr ""
-#~ "Distance maximum au-dessus du niveau de l'eau où le joueur apparaît.\n"
-#~ "Des valeurs plus grandes aboutissent à des locations plus proches de (x = "
-#~ "0, z = 0).\n"
-#~ "Des valeurs plus petites peut résulter à une location de spawn non-"
-#~ "trouvée, résultant\n"
-#~ "à une location située à (0, 0, 0) probablement enterrée sous le sol."
-
-#~ msgid "Mapgen fractal mandelbrot slice w"
-#~ msgstr "Mapgen Mandelbrot : couche fractale W"
-
-#~ msgid "Mapgen fractal mandelbrot scale"
-#~ msgstr "Mapgen Mandelbrot : échelles fractales"
-
-#~ msgid "Mapgen fractal mandelbrot offset"
-#~ msgstr "Mapgen Mandelbrot : décalages fractals"
-
-#~ msgid "Mapgen fractal mandelbrot iterations"
-#~ msgstr "Mapgen Mandelbrot : itérations fractales"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen fractal.\n"
-#~ "'julia' selects a julia set to be generated instead of a mandelbrot set.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributs de terrain spécifiques à Mapgen V7.\n"
-#~ "'ridges' sont les rivières.\n"
-#~ "Les drapeaux qui ne sont spécifiés dans le champ gardent leurs valeurs "
-#~ "par défaut.\n"
-#~ "Les drapeaux commençant par \"non\" sont désactivés."
-
-#~ msgid ""
-#~ "Mandelbrot set: W co-ordinate of the generated 3D slice of the 4D shape.\n"
-#~ "Range roughly -2 to 2."
-#~ msgstr ""
-#~ "Série Mandelbrot : coordonnée W de la couche 3D de la forme 4D.\n"
-#~ "La portée est environ entre -2 et 2."
-
-#~ msgid ""
-#~ "Mandelbrot set: Iterations of the recursive function.\n"
-#~ "Controls scale of finest detail."
-#~ msgstr ""
-#~ "Série Mandelbrot : itérations de la fonction récursive.\n"
-#~ "Contrôle l'échelle du détail le plus subtil."
-
-#~ msgid "Mandelbrot set: Approximate (X,Y,Z) scales in nodes."
-#~ msgstr "Série Mandelbrot : échelles (X,Y,Z) en blocs."
-
-#~ msgid ""
-#~ "Mandelbrot set: (X,Y,Z) offsets from world centre.\n"
-#~ "Range roughly -2 to 2, multiply by m_scale for offsets in nodes."
-#~ msgstr ""
-#~ "Série Mandelbrot : décalages (X,Y,Z) à partir du centre du monde.\n"
-#~ "La portée est environ entre -2 et 2. Multiplier par m_scale pour décaler "
-#~ "en nombre de blocs."
-
-#~ msgid ""
-#~ "Key for increasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Touche pour augmenter la distance de vue. Modifie la distance de vue "
-#~ "minimale.\n"
-#~ "Voir http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for decreasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Touche pour réduire la distance de vue. Modifie la distance de vue "
-#~ "minimale.\n"
-#~ "Voir http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Julia set: W value determining the 4D shape.\n"
-#~ "Range roughly -2 to 2."
-#~ msgstr ""
-#~ "Série Julia : valeur W déterminant la forme 4D.\n"
-#~ "La portée est environ entre -2 et 2."
-
-#~ msgid ""
-#~ "Julia set: (X,Y,Z) offsets from world centre.\n"
-#~ "Range roughly -2 to 2, multiply by j_scale for offsets in nodes."
-#~ msgstr ""
-#~ "Série Julia : décalages (X,Y,Z) à partir du centre du monde.\n"
-#~ "La portée est environ entre -2 et 2. Multiplier par j_scale pour décaler "
-#~ "en nombre de blocs."
-
-#~ msgid "Enable selection highlighting for nodes (disables selectionbox)."
-#~ msgstr ""
-#~ "Active l'éclairage des blocs pointés (et supprime les bordures noires de "
-#~ "sélection)."
-
-#~ msgid ""
-#~ "Enable a bit lower water surface, so it doesn't \"fill\" the node "
-#~ "completely.\n"
-#~ "Note that this is not quite optimized and that smooth lighting on the\n"
-#~ "water surface doesn't work with this."
-#~ msgstr ""
-#~ "Rend la surface de l'eau légèrement plus basse, de façon à ce qu'elle ne "
-#~ "submerge pas\n"
-#~ "entièrement le bloc voisin.\n"
-#~ "Cette fonctionnalité est encore expérimentale et la lumière douce "
-#~ "n’apparaît pas à la\n"
-#~ "surface de l'eau."
-
-#~ msgid "Item textures..."
-#~ msgstr "Textures d'items..."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag controls the rivers.\n"
-#~ "The default flags set in the engine are: mountains, ridges\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributs spécifiques à Mapgen V7.\n"
-#~ "Le drapeau 'des crêtes' contrôle les rivières.\n"
-#~ "Les drapeaux par défaut définis dans le moteur sont: montagnes, crêtes.\n"
-#~ "La chaîne de drapeaux modifie les paramètres par défaut du moteur.\n"
-#~ "Les drapeaux qui ne sont spécifiés dans le champ gardent leurs valeurs "
-#~ "par défaut.\n"
-#~ "Les drapeaux commençant par \"non\" sont désactivés."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen flat.\n"
-#~ "Occasional lakes and hills can be added to the flat world.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributs de terrain spécifiques au générateur de carte plate.\n"
-#~ "Lacs et collines peuvent partiellement être ajoutés à un monde plat.\n"
-#~ "Aucun drapeau par défaut défini dans le moteur.\n"
-#~ "La chaîne de drapeaux modifie les paramètres par défaut du moteur.\n"
-#~ "Les drapeaux qui ne sont pas spécifiés dans le champ gardent leurs "
-#~ "valeurs par défaut.\n"
-#~ "Les drapeaux commençant par \"non\" sont désactivés."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Réglages avancés"
-
-#~ msgid "View"
-#~ msgstr "Voir"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributs de génération du monde spécifiques au Mapgen V5.\n"
-#~ "Les drapeaux qui ne sont pas spécifiés dans la chaîne de drapeau ne sont "
-#~ "pas modifiés par rapport à la valeur par défaut.\n"
-#~ "Les drapeaux commençant par \"no\" sont désactivés explicitement."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributs de génération du monde spécifiques au Mapgen V5.\n"
-#~ "Les drapeaux qui ne sont pas spécifiés dans la chaîne de drapeau ne sont "
-#~ "pas modifiés par rapport à la valeur par défaut.\n"
-#~ "Les drapeaux commençant par \"no\" sont désactivés explicitement."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributs de génération du monde spécifiques au Mapgen V5.\n"
-#~ "Les drapeaux qui ne sont pas spécifiés dans la chaîne de drapeau ne sont "
-#~ "pas modifiés par rapport à la valeur par défaut.\n"
-#~ "Les drapeaux commençant par \"no\" sont désactivés explicitement."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Mode cinématique"
diff --git a/po/he/minetest.po b/po/he/minetest.po
index d9eac1b3a..746a68d36 100644
--- a/po/he/minetest.po
+++ b/po/he/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Hebrew (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-23 13:16+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Hebrew <https://hosted.weblate.org/projects/minetest/minetest/"
"he/>\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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -25,7 +25,7 @@ msgstr ""
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "×ירעה שגי××” בקוד לו××” (Lua), כנר××” ב×חד המודי×:"
#: builtin/fstk/ui.lua
@@ -125,13 +125,26 @@ msgid "Mod:"
msgstr "מוד:"
#: builtin/mainmenu/dlg_config_world.lua
+msgid "No (optional) dependencies"
+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 "תלוי ב:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr ""
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional dependencies"
+msgstr ""
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr ""
@@ -497,10 +510,6 @@ msgid "Rename"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr ""
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr ""
@@ -794,11 +803,11 @@ msgid "Waving Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
+msgid "Waving Liquids"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
+msgid "Waving Plants"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -1523,11 +1532,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1643,10 +1652,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr ""
@@ -1675,6 +1680,10 @@ msgid "Toggle noclip"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr ""
@@ -1781,6 +1790,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr ""
@@ -1811,6 +1824,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1851,6 +1868,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -2057,7 +2078,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2142,6 +2163,10 @@ msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2300,6 +2325,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2359,6 +2388,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2367,6 +2400,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2447,10 +2484,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2473,6 +2522,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2493,7 +2548,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2542,6 +2597,10 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2853,6 +2912,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3078,6 +3144,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3328,6 +3412,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3356,6 +3448,10 @@ msgid "Inc. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4120,7 +4216,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4193,6 +4289,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4204,7 +4307,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4262,6 +4365,11 @@ msgstr "מנוע מפות"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "מנוע מפות"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "מנוע מפות"
@@ -4345,6 +4453,12 @@ 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 ""
"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)"
@@ -4529,10 +4643,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4548,7 +4660,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4600,16 +4712,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4761,10 +4875,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4848,6 +4958,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -4860,6 +4978,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5142,6 +5264,10 @@ msgid "Sneaking speed"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5450,10 +5576,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5556,6 +5683,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5605,10 +5736,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5633,15 +5772,15 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+msgid "Waving water wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water length"
+msgid "Waving water wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
+msgid "Waving water wavelength"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5678,10 +5817,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5765,10 +5900,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5811,31 +5942,3 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "cURL timeout"
msgstr ""
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "×œ× × ×‘×—×¨ ×©× ×œ×¢×•×œ× ×ו ש××£ מפעיל משחק ×œ× × ×‘×—×¨"
-
-#~ msgid "Rating"
-#~ msgstr "דירוג"
-
-#~ msgid "Shortname:"
-#~ msgstr "×©× ×§×¦×¨:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "הותקן בהצלחה:"
-
-#~ msgid "re-Install"
-#~ msgstr "התקן מחדש"
-
-#, fuzzy
-#~ msgid "Local Game"
-#~ msgstr "התחל משחק"
-
-#~ msgid "No of course not!"
-#~ msgstr "×œ× ×‘×¨×•×¨ של×!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "רשימת ×©×¨×ª×™× ×¤×•×ž×‘×™"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "הגדרות מתקדמות"
diff --git a/po/hu/minetest.po b/po/hu/minetest.po
index 26caeeeed..100c07761 100644
--- a/po/hu/minetest.po
+++ b/po/hu/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Hungarian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-24 14:18+0000\n"
-"Last-Translator: Jatek R <rrjatek@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Hungarian <https://hosted.weblate.org/projects/minetest/"
"minetest/hu/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -23,11 +23,11 @@ msgid "You died"
msgstr "Meghaltál"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Hiba történt egy Lua parancsfájlban (egy mod-ban):"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Hiba történt:"
@@ -108,7 +108,6 @@ msgid "Enable modpack"
msgstr "Modok engedélyezése"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
@@ -121,13 +120,28 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Választható függőségek:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
msgstr "Nincs elérhető mód leírás."
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No hard dependencies"
+msgstr "Nincsenek függőségek."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "Nincs elérhető mód leírás."
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Választható függőségek:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Választható függőségek:"
@@ -213,7 +227,6 @@ msgid "Create"
msgstr "Létrehozás"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
msgstr "Aljáték (mint a minetest_game) letöltése a minetest.net címről"
@@ -347,7 +360,7 @@ msgstr "Alapértelmezés visszaállítása"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
-msgstr ""
+msgstr "Mérték"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Select directory"
@@ -374,33 +387,35 @@ msgid "X"
msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
msgid "X spread"
-msgstr ""
+msgstr "x méret"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
msgid "Y spread"
-msgstr ""
+msgstr "y méret"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
msgid "Z spread"
-msgstr ""
+msgstr "Z méret"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Alapértelmezett játék"
+msgstr "Alapértelmezettek"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
@@ -488,10 +503,6 @@ msgid "Rename"
msgstr "Ãtnevezés"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "csomag fájl kiválasztása:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Csomag eltávolítása"
@@ -776,12 +787,13 @@ msgid "Waving Leaves"
msgstr "Hullámzó levelek"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Hullámzó növények"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Hullámzó blokkok"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Hullámzó víz"
+msgid "Waving Plants"
+msgstr "Hullámzó növények"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -861,7 +873,7 @@ msgstr "A megadott útvonalon nem létezik világ: "
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr ""
+msgstr "Tartalék szövegtípus szükséges"
#: src/client/game.cpp
msgid ""
@@ -904,7 +916,6 @@ msgid "- Server Name: "
msgstr "- Kiszolgáló neve: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
msgstr "automata elöre kikapcsolva"
@@ -1526,13 +1537,13 @@ msgid "Register and Join"
msgstr "regisztrálás, és belépés"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
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 "
@@ -1654,10 +1665,6 @@ msgid "Special"
msgstr "speciál"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Váltás „mozi†módba"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "HUD BE/KI"
@@ -1686,6 +1693,11 @@ msgid "Toggle noclip"
msgstr "Váltás noclip-re"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "csevegés log KI/BE"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "Nyomj meg egy gombot"
@@ -1808,6 +1820,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3D felhők"
@@ -1841,6 +1857,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1892,6 +1912,10 @@ msgid "Acceleration in air"
msgstr "Gyorsulás levegőben"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Aktív blokk módosítók"
@@ -2118,7 +2142,7 @@ msgstr "Bumpmappolás"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2204,6 +2228,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Üzenet összeomláskor"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Sivatag zajának küszöbszintje"
@@ -2371,6 +2400,10 @@ msgstr ""
"változatlan marad."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "A tavak süllyedésének meredekségét/mélységét állítja."
@@ -2434,6 +2467,11 @@ msgid "Debug info toggle key"
msgstr "Hibakereső infó váltás gomb"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Sivatag zajának küszöbszintje"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Hibakereső napló szint"
@@ -2442,6 +2480,10 @@ msgid "Dec. volume key"
msgstr "Hangerő csökk. gomb"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Dedikált szerver lépés"
@@ -2537,12 +2579,27 @@ msgid "Defines the base ground level."
msgstr "Az erdős területeket és a fák sűrűségét szabályozza."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Az erdős területeket és a fák sűrűségét szabályozza."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"A maximális távolság, aminél a játékosok látják egymást,\n"
"blokkokban megadva (0 = korlátlan)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "A nagy léptékű folyómeder-struktúrát határozza meg."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Azokat a területeket adja meg, ahol a fák almát teremnek."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Az erdős területeket és a fák sűrűségét szabályozza."
@@ -2567,6 +2624,12 @@ msgid "Deprecated Lua API handling"
msgstr "Elavult Lua API kezelése"
#: 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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "A mélység, ami alatt nagy terjedelmű barlangokat találsz majd."
@@ -2588,9 +2651,10 @@ msgid "Desert noise threshold"
msgstr "Sivatag zajának küszöbszintje"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"Sivatag akkor keletkezik, ha az np_biome meghaladja ezt az értéket.\n"
"Ha az új biome rendszer engedélyezve van, akkor ez mellőzésre kerül."
@@ -2641,6 +2705,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Barlang zaj"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2953,9 +3022,8 @@ msgid "Fog"
msgstr "Köd"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fog start"
-msgstr "Köd indítás"
+msgstr "Köd indító határa"
#: src/settings_translation_file.cpp
msgid "Fog toggle key"
@@ -2986,6 +3054,13 @@ msgid "Font size"
msgstr "Betűtípus mérete"
#: 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 "Format of screenshots."
msgstr "Képernyőmentések formátuma."
@@ -3234,6 +3309,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr "A szerver honlapja, ami a szerverlistában megjelenik."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3507,6 +3600,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
"Ha be van állítva, a játékosok mindig a megadott pozícióban élednek újra (és "
@@ -3540,6 +3641,10 @@ msgid "Inc. volume key"
msgstr "Hangerő növ. gomb"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4566,7 +4671,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "Folyadék süllyedés"
#: src/settings_translation_file.cpp
@@ -4644,6 +4749,21 @@ msgstr ""
#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen flat.\n"
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
+msgstr ""
+"Térkép generálási jellemzők csak a Flat (lapos) térképgenerátor esetében.\n"
+"Esetenkénti tavak és dombok generálása a lapos világba.\n"
+"The default flags set in the engine are: none\n"
+"The flags string modifies the engine defaults.\n"
+"Flags that are not specified in the flag string are not modified from the "
+"default.\n"
+"Flags starting with \"no\" are used to explicitly disable them."
+
+#: 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 ""
"Térkép generálási jellemzők csak a Flat (lapos) térképgenerátor esetében.\n"
@@ -4663,7 +4783,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"Térképgenerálási jellemzők csak a v6 térképgenerátor esetében.\n"
@@ -4734,6 +4854,11 @@ msgstr "Fractal térképgenerátor"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Flat (lapos) térképgenerátor domb meredekség"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Térkép generátor v5"
@@ -4821,6 +4946,12 @@ msgstr "Maximum hotbar szélesség"
#: 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 ""
"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)"
@@ -5023,10 +5154,8 @@ msgstr "hang némitás"
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5047,7 +5176,7 @@ msgstr ""
"csatlakoznak."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5099,16 +5228,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5268,10 +5399,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5358,6 +5485,16 @@ msgstr "Jobb kattintás ismétlés időköz"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "Folyó mélység"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Folyó mélység"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "Folyó mélység"
@@ -5372,6 +5509,11 @@ msgid "River size"
msgstr "Folyó méret"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Folyó mélység"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5706,6 +5848,10 @@ msgid "Sneaking speed"
msgstr "Járás sebessége"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Hang"
@@ -6042,10 +6188,11 @@ msgstr "Renderelés:"
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -6153,6 +6300,10 @@ msgid "Varies steepness of cliffs."
msgstr "A dombok meredekségét/magasságát állítja."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Függőleges képernyő szinkronizálás."
@@ -6205,10 +6356,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Járás sebessége"
#: 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"
msgstr "Vízszint"
@@ -6233,16 +6392,19 @@ msgid "Waving water"
msgstr "Hullámzó víz"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Hullámzó víz magassága"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Hullámzó víz szélessége"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Hullámzó víz sebessége"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Hullámzó víz sebessége"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Hullámzó víz szélessége"
#: src/settings_translation_file.cpp
msgid ""
@@ -6281,10 +6443,6 @@ msgstr ""
"támogatás."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -6374,10 +6532,6 @@ msgid "Y of upper limit of large caves."
msgstr "A világgeneráló szálak számának abszolút határa"
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -6421,662 +6575,11 @@ msgstr "cURL párhuzamossági korlát"
msgid "cURL timeout"
msgstr "cURL időkorlátja"
-#~ msgid "Content Store"
-#~ msgstr "tartalom raktár"
-
-#~ msgid "Disable MP"
-#~ msgstr "MP letiltása"
-
-#~ msgid "Enable MP"
-#~ msgstr "MP engedélyezése"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Nincs megadva a világ neve, vagy nincs kiválasztva játék"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "A(z) „$1†nem érvényes jelölő."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "A formátum: 3 szám vesszőkkel elválasztva, zárójelek között."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formátum: <eltolás>, <méretezés>, (<X terjedelem>, <Y terjedelem>, <Z "
-#~ "terjedelem>), <seed>, <oktávok>, <állandóság>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Opcionálisan a hézagosság is hozzáfűzhető egy vesszővel elválasztva."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Ãrd be a jelzÅ‘k vesszÅ‘vel elválasztott listáját."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Lehetséges értékek: "
-
-#~ msgid "Select path"
-#~ msgstr "Útvonal kiválasztása"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Aljáték modjai"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "$1/$2 oldal"
-
-#~ msgid "Rating"
-#~ msgstr "Értékelés"
-
-#~ msgid "Shortname:"
-#~ msgstr "Rövid név:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Sikeresen telepítve:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Rendezetlen"
-
-#~ msgid "re-Install"
-#~ msgstr "újratelepítés"
-
-#~ msgid "Local Game"
-#~ msgstr "Helyi játék"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Kiválasztott modpakk eltávolítása"
-
-#~ msgid "Play Online"
-#~ msgstr "Online játék"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normál mapping"
-
-#~ msgid "No information available"
-#~ msgstr "Nincs elérhető információ"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Hang elnémítva"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Maximális hangerő"
-
-#~ msgid "Print stacks"
-#~ msgstr "Vermek kiírása"
-
-#~ msgid "Use"
-#~ msgstr "Használat"
-
-#~ msgid "Next"
-#~ msgstr "Következő"
-
-#~ msgid "Prior"
-#~ msgstr "Elsődleges"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Aktív blokk módosító időköze"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Csak Android rendszerek: Megpróbált modellből eszköztár ikont készíteni, "
-#~ "de nem található támogatott megjelenítő."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Kihirdetés a szerverlistára.\n"
-#~ "Ha ki akarod hirdetni az ipv6 címedet, használd ezt: serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "A fraktál becsült (X,Y,Z) mérete kockákban."
-
-#~ msgid "Autorun key"
-#~ msgstr "Automatikus futtatás billentyű"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "A barlangok és alagutak a két zaj metszetében keletkeznek"
-
-#~ msgid "Cloud height"
-#~ msgstr "Felhő magasság"
-
-#~ msgid "Console key"
-#~ msgstr "Konzol gomb"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Folyamatos mozgás előre (csak tesztelésre használatos)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Kiszámíthatatlanná teszi a láva viselkedését a barlangokban.\n"
-#~ "Ez megnehezítheti a bányászatot. Nulla érték kikapcsolja. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Kiszámíthatatlanná teszi a víz viselkedését a barlangokban.\n"
-#~ "Ez megnehezítheti a bányászatot. Nulla érték kikapcsolja. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Sebesség guggoláskor"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "A mélység, ami alatt masszív barlangokat találsz majd."
-
-#~ msgid "Descending speed"
-#~ msgstr "Ereszkedés sebessége"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Escape szekvenciák tiltása"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Letilja az escape szekvenciákat, például a csevegés színezését.\n"
-#~ "Használd ezt, ha egy szervert akarsz futtatni pre-0.4.14 kliensekkel, és "
-#~ "le akarod tiltani\n"
-#~ "a modok által generált escape szekvenciákat."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "nézet billegés engedélyezés"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "A nézet billegésének engedélyezése járás közben."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Látótér zoomoláskor"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Látótér zoomolás közben, fokokban.\n"
-#~ "Szükséges hozzá a \"zoom\" jogosultság a szerveren."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Milyen távolságból szereznek tudomást az objektumokról a kliensek, "
-#~ "térképblokkokban megadva (16 blokk)."
-
-#~ msgid "General"
-#~ msgstr "Ãltalános"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "A felhők megjelenésének magassága."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "Ha engedélyezve van, napi üzenetet mutat a csatlakozó játékosoknak."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Eszköztár kép hack"
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Gomb a csevegő konzol megnyitásához.\n"
-#~ "Lásd: http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Láva jellemzők"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Főmenü játék kezelő"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Főmenü mod kezelő"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Térkép generálási jellemzők a Mapgen Valleys esetében.\n"
-#~ "Az 'altitude_chill' a magasabb helyeket hűvösebbé teszi, ami biome "
-#~ "problémákat okozhat.\n"
-#~ "A 'humid_rivers' a folyók környéki páratartalmat módosítja, és ott, ahol "
-#~ "medencék alakulnak ki,\n"
-#~ "ütközhet a finoman beállított biome-okkal.\n"
-#~ "The default flags set in the engine are: altitude_chill, humid_rivers\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Térkép generálási jellemzők csak a Flat (lapos) térképgenerátor "
-#~ "esetében.\n"
-#~ "Esetenkénti tavak és dombok generálása a lapos világba.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Masszív barlang mélység"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Masszív barlangok innentől."
-
-#, fuzzy
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr "Maximum blokkok száma, amik sorban állhatnak betöltésre."
-
-#, fuzzy
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Egyidejűleg küldött térképblokkok maximális száma összesen"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "Mod áruház részletek URL"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "Mod áruház letöltés URL"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Mod áruház mod lista URL"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "A használni kívánt térképgenerátor neve új világ létrehozásakor.\n"
-#~ "A főmenüben történő világ létrehozás ezt felülírja."
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Az egyszerre generált térképblokkok mérete, térképblokkokban megadva (16 "
-#~ "blokk)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Régebbi szerverek támogatása"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "A magasság, ahol a hőmérséklet 20 fokkal csökken"
-
-#~ msgid "Use key"
-#~ msgstr "Használat gomb"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Mip mapping használata a textúrák méretezéséhez. Kicsit növelheti a "
-#~ "teljesítményt."
-
-#~ msgid "Water Features"
-#~ msgstr "Víz jellemzők"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Modpakk tartalom elrejtés"
-
-#, fuzzy
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Nagybetű"
-
-#~ msgid "Comma"
-#~ msgstr "Vessző"
-
-#, fuzzy
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#, fuzzy
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Befejezés"
-
-#, fuzzy
-#~ msgid "Junja"
-#~ msgstr "Junjaa"
-
-#, fuzzy
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#, fuzzy
-#~ msgid "Kanji"
-#~ msgstr "Kanjii"
-
-#~ msgid "Minus"
-#~ msgstr "Mínusz"
-
-#, fuzzy
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Pont"
-
-#~ msgid "Plus"
-#~ msgstr "Plusz"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Sivatagok és tengerpartok mérete a v6 térképgenerátorban.\n"
-#~ "Amikor a havas területek engedélyezve vannak, 'mgv6_freq_desert' "
-#~ "figyelmen kívül hagyva."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "A terep alakját határozza meg.\n"
-#~ "A 3 szám a zárójelben határozza meg a terep \n"
-#~ "méretarányát, a 3 számnak meg kell egyeznie."
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Flat (lapos) térképgenerátor barlang szélesség"
+#~ msgid "Waving Water"
+#~ msgstr "Hullámzó víz"
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Flat (lapos) térképgenerátor nagy barlang mélység"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Fractal térképgenerátor barlang szélesség"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "v5 térképgenerátor barlang szélesség"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "V6 térképgenerátor tengerpart gyakoriság"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "V6 térképgenerátor sivatag gyakoriság"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "v7 térképgenerátor barlang szélesség"
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Hol áll meg a térkép generálás.\n"
-#~ "Fontos:\n"
-#~ "- 31000 -re van korlátozva (ha magasabbra állítjuk, nem lesz "
-#~ "eredménye).\n"
-#~ "- A térképgenerátor 80x80x80-as csoportokban dolgozik (5x5x5-ös térkép "
-#~ "blokkok).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr "Részletes mod profil adat. Mod fejlesztőknek hasznos."
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Mod fejlesztőknek hasznos."
-
-#~ msgid "No of course not!"
-#~ msgstr "Persze, hogy nem!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Nyilvános szerverlista"
-
-#~ msgid "No!!!"
-#~ msgstr "Nem!!!"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them.\n"
-#~ "\"altitude_chill\" makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "\"humid_rivers\" modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool. It may interfere with delicately adjusted "
-#~ "biomes."
-#~ msgstr ""
-#~ "Térkép generálási jellemzők csak a Valleys térképgenerátor esetében.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them.\n"
-#~ "\"altitude_chill\" makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "\"humid_rivers\" modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool. It may interfere with delicately adjusted "
-#~ "biomes."
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "Engedélyez"
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "A driver változások életbe lépéséhez indítsd újra a Minetestet"
-
-#, fuzzy
-#~ msgid "Password"
-#~ msgstr "Régi jelszó"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Előretöltött tárgy láthatóság"
-
-#, fuzzy
-#~ msgid "Finite Liquid"
-#~ msgstr "Végtelen folyadék"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Hiba az összes világ törlése közben"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Nem sikerült a világ beállítása: Nincs kiválasztva"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Nem sikerült a világot létrehozni: Nem található a játék"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "A fájl törölve lett"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Nem törölhető a világ: Nincs kiválasztva"
-
-#~ msgid "Address required."
-#~ msgstr "Cím szükséges."
-
-#~ msgid "Create world"
-#~ msgstr "Világ létrehozása"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Hagyd el a nevét, hogy helyi szervert indíts."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Kedvencek mutatása"
-
-#~ msgid "Show Public"
-#~ msgstr "Publikus mutatása"
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Nem sikerült a világ létrehozása: A névben nem jó karakterek vannak"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Figyelem: A beállítások nem egyformák. "
-
-#~ msgid "Configuration saved. "
-#~ msgstr "Beállítások mentve. "
-
-#~ msgid "is required by:"
-#~ msgstr "kell neki:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr "Ball gomb: Tárgyak mozgatása, Jobb gomb: egy tárgyat mozgat"
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Le"
-
-#, fuzzy
-#~ msgid "Touch free target"
-#~ msgstr "Touch free target"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "A méretarány alkalmazva a menü elemekre: "
+#~ msgid "Select Package File:"
+#~ msgstr "csomag fájl kiválasztása:"
-#~ msgid "Wanted FPS"
-#~ msgstr "Kívánt FPS"
-
-#~ msgid "Vertical spawn range"
-#~ msgstr "Az (újra)éledés függőleges irányú területe"
-
-#~ msgid "Vertical initial window size."
-#~ msgstr "Függőleges kezdeti ablak méret."
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "Eszköztár textúráinak előtöltése"
-
-#~ msgid "New style water"
-#~ msgstr "Új stílusú víz"
-
-#, fuzzy
-#~ msgid ""
-#~ "Minimum wanted FPS.\n"
-#~ "The amount of rendered stuff is dynamically set according to this. and "
-#~ "viewing range min and max."
-#~ msgstr ""
-#~ "Minimum kívánt FPS.\n"
-#~ "A renderelt cuccok mennyisége dinamikusan ez alapján állítódik be (és a "
-#~ "látórerület min és max)."
-
-#~ msgid ""
-#~ "Maximum distance above water level for player spawn.\n"
-#~ "Larger values result in spawn points closer to (x = 0, z = 0).\n"
-#~ "Smaller values may result in a suitable spawn point not being found,\n"
-#~ "resulting in a spawn at (0, 0, 0) possibly buried underground."
-#~ msgstr ""
-#~ "Maximum távolság a vízszinttől, ahol a játékosok újraéledhetnek/"
-#~ "megjelenhetnek csatlakozáskor (spawn).\n"
-#~ "Magasabb értékek közelebb visznek az (x = 0, z = 0)-hoz.\n"
-#~ "Alacsonyabb értékek azt eredményezhetik, hogy nem lesz megfelelő pont a "
-#~ "feléledéshez,\n"
-#~ "(0,0,0) pozícióban történő feléledést, ami valószínűleg a föld alatt lesz."
-
-#~ msgid ""
-#~ "Key for increasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "A látóterület növelésének gombja. A minimum látótávolságot módosítja.\n"
-#~ "Lásd: http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for decreasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "A látóterület csökkentésének gombja. A minimum látóterületet módosítja.\n"
-#~ "Lásd: http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Enable selection highlighting for nodes (disables selectionbox)."
-#~ msgstr ""
-#~ "Kijelölés kiemelés (kivilágítás) engedélyezése a blokkoknál (letiltja a "
-#~ "kijelölődobozt)."
-
-#~ msgid ""
-#~ "Enable a bit lower water surface, so it doesn't \"fill\" the node "
-#~ "completely.\n"
-#~ "Note that this is not quite optimized and that smooth lighting on the\n"
-#~ "water surface doesn't work with this."
-#~ msgstr ""
-#~ "Kicsivel alacsonyabb víz felszín engedélyezése, hogy ne töltse meg "
-#~ "teljesen a blokkot.\n"
-#~ "Megjegyzés: ez nem teljesen optimalizált, és a simított megvilágítás\n"
-#~ "így nem működik a víz felszínén."
-
-#~ msgid "Item textures..."
-#~ msgstr "Elem textúrák..."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Speciális beállítások"
-
-#~ msgid "View"
-#~ msgstr "Nézet"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Térkép generálási jellemzők csak a Flat (lapos) térképgenerátor "
-#~ "esetében.\n"
-#~ "Esetenkénti tavak és dombok generálása a lapos világba.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Térkép generálási jellemzők csak a Flat (lapos) térképgenerátor "
-#~ "esetében.\n"
-#~ "Esetenkénti tavak és dombok generálása a lapos világba.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Térkép generálási jellemzők csak a Flat (lapos) térképgenerátor "
-#~ "esetében.\n"
-#~ "Esetenkénti tavak és dombok generálása a lapos világba.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Váltás „mozi†módba"
diff --git a/po/id/minetest.po b/po/id/minetest.po
index 91ce4a8a6..83ccf065e 100644
--- a/po/id/minetest.po
+++ b/po/id/minetest.po
@@ -1,11 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Indonesian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-09 03:04+0000\n"
-"Last-Translator: Muhammad Rifqi Priyo Susanto "
-"<muhammadrifqipriyosusanto@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Indonesian <https://hosted.weblate.org/projects/minetest/"
"minetest/id/>\n"
"Language: id\n"
@@ -13,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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -25,11 +24,10 @@ msgstr "Anda mati"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "Sebuah galat terjadi pada salah satu skrip Lua, misalnya satu mod:"
+msgid "An error occurred in a Lua script:"
+msgstr "Sebuah galat terjadi pada suatu skrip Lua, misalnya satu mod:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Sebuah galat terjadi:"
@@ -47,7 +45,7 @@ msgstr "Sambung ulang"
#: builtin/fstk/ui.lua
msgid "The server has requested a reconnect:"
-msgstr "Peladen ini meminta untuk menyambung ulang:"
+msgstr "Server ini meminta untuk menyambung ulang:"
#: builtin/mainmenu/common.lua src/client/game.cpp
msgid "Loading..."
@@ -59,17 +57,16 @@ msgstr "Versi protokol tidak sesuai. "
#: builtin/mainmenu/common.lua
msgid "Server enforces protocol version $1. "
-msgstr "Peladen mengharuskan protokol versi $1. "
+msgstr "Server mengharuskan protokol versi $1. "
#: builtin/mainmenu/common.lua
msgid "Server supports protocol versions between $1 and $2. "
-msgstr "Peladen mendukung protokol antara versi $1 dan versi $2. "
+msgstr "Server mendukung protokol antara versi $1 dan versi $2. "
#: builtin/mainmenu/common.lua
msgid "Try reenabling public serverlist and check your internet connection."
msgstr ""
-"Coba nyalakan ulang daftar peladen publik dan periksa sambungan internet "
-"Anda."
+"Coba nyalakan ulang daftar server publik dan periksa sambungan internet Anda."
#: builtin/mainmenu/common.lua
msgid "We only support protocol version $1."
@@ -110,7 +107,6 @@ msgid "Enable modpack"
msgstr "Nyalakan paket mod"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
@@ -123,13 +119,28 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Tidak harus bergantung pada:"
+
+#: 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."
+
+#: 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:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Tidak harus bergantung pada:"
@@ -183,7 +194,7 @@ msgstr "Mod"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Tidak ada paket yang dapat diambil"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
@@ -215,9 +226,8 @@ msgid "Create"
msgstr "Buat"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Unduh sebuah permainan, misalnya minetest_game, dari minetest.net"
+msgstr "Unduh sebuah permainan, misalnya Minetest Game, dari minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -287,15 +297,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"Paket mod ini memiliki nama tersurat yang diberikan dalam modpack.conf yang "
+"akan menimpa penamaan ulang yang ada."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(Tidak ada keterangan pengaturan yang diberikan)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Noise"
+msgstr "Noise 2D"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -318,22 +329,20 @@ msgid "Enabled"
msgstr "Diaktifkan"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Lacunarity"
-msgstr "Keamanan"
+msgstr "Lacunarity (celah)"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Oktav"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
msgstr "Pergeseran"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Persistance"
-msgstr "Jarak pemindahan pemain"
+msgstr "Persistensi"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -373,49 +382,47 @@ msgstr "Nilai tidak boleh lebih besar dari $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "Persebaran X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Persebaran Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Persebaran Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "Nilai mutlak"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Permainan bawaan"
+msgstr "bawaan"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "kehalusan (eased)"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
msgstr "$1 (Dinyalakan)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr " mod"
+msgstr "$1 mod"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
@@ -492,10 +499,6 @@ msgid "Rename"
msgstr "Ganti nama"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "Pilih berkas paket:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Copot paket"
@@ -640,9 +643,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Pengaturan"
+msgstr "Semua pengaturan"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -781,12 +783,13 @@ msgid "Waving Leaves"
msgstr "Daun Melambai"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Tanaman Berayun"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Nodus melambai"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Air Berombak"
+msgid "Waving Plants"
+msgstr "Tanaman Berayun"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -909,12 +912,10 @@ msgid "- Server Name: "
msgstr "- Nama peladen: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
msgstr "Maju otomatis dimatikan"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
msgstr "Maju otomatis dinyalakan"
@@ -1057,7 +1058,7 @@ msgstr "Mode cepat dinyalakan"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
-msgstr "Mode cepat dinyalakan (catatan: tanpa izin 'fast')"
+msgstr "Mode cepat dinyalakan (catatan: tanpa izin \"fast\")"
#: src/client/game.cpp
msgid "Fly mode disabled"
@@ -1069,7 +1070,7 @@ msgstr "Mode terbang dinyalakan"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr "Mode terbang dinyalakan (catatan: tanpa izin 'fly')"
+msgstr "Mode terbang dinyalakan (catatan: tanpa izin \"fly\")"
#: src/client/game.cpp
msgid "Fog disabled"
@@ -1149,7 +1150,7 @@ msgstr "Mode tembus blok dinyalakan"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
-msgstr "Mode tembus blok dinyalakan (catatan: tanpa izin 'noclip')"
+msgstr "Mode tembus blok dinyalakan (catatan: tanpa izin \"noclip\")"
#: src/client/game.cpp
msgid "Node definitions..."
@@ -1262,7 +1263,7 @@ msgstr "Profiler ditampilkan (halaman %d dari %d)"
#: src/client/keycode.cpp
msgid "Apps"
-msgstr "Apps"
+msgstr "Aplikasi"
#: src/client/keycode.cpp
msgid "Backspace"
@@ -1529,13 +1530,13 @@ msgid "Register and Join"
msgstr "Daftar dan gabung"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
"Anda akan bergabung dengan peladen %1$s dengan nama \"%2$s\" untuk pertama "
"kalinya. Jika Anda melanjutkan, akun baru yang telah Anda isikan akan dibuat "
@@ -1658,10 +1659,6 @@ msgid "Special"
msgstr "Spesial"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Mode sinema"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "Alih HUD"
@@ -1690,6 +1687,11 @@ msgid "Toggle noclip"
msgstr "Tembus nodus"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Alih log obrolan"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "tekan tombol"
@@ -1759,13 +1761,13 @@ msgid ""
"situations.\n"
"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes."
msgstr ""
-"Pergeseran (X,Y,Z) fraktal dari tengah dunia dalam satuan 'scale'.\n"
+"Pergeseran (X,Y,Z) fraktal dari tengah dunia dalam satuan \"scale\".\n"
"Dapat digunakan untuk memindahkan titik yang diinginkan ke (0, 0)\n"
-"untuk membuat titik bangkit atau untuk 'zum masuk' pada titik yang\n"
-"diinginkan dengan menaikkan 'scale'.\n"
+"untuk membuat titik bangkit atau untuk \"zum masuk\" pada titik yang\n"
+"diinginkan dengan menaikkan \"scale\".\n"
"Nilai bawaan telah diatur agar cocok untuk mandelbrot set dengan\n"
"parameter bawaan, butuh diganti untuk keadaan lain.\n"
-"Jangkauan sekitar -2 ke 2. Kalikan dengan 'scale' untuk pergeseran dalam\n"
+"Jangkauan sekitar -2 ke 2. Kalikan dengan \"scale\" untuk pergeseran dalam\n"
"nodus."
#: src/settings_translation_file.cpp
@@ -1782,7 +1784,7 @@ msgstr ""
"Ukuran fraktal sebenarnya bisa jadi 2 hingga 3 kali lebih besar.\n"
"Angka-angka ini dapat dibuat sangat besar, fraktal tidak harus\n"
"cukup di dalam dunia.\n"
-"Naikkan nilai ini untuk 'zum' ke dalam detail dari fraktal.\n"
+"Naikkan nilai ini untuk \"zum\" ke dalam detail dari fraktal.\n"
"Nilai bawaannya untuk bentuk pipih vertikal yang cocok\n"
"untuk pulau, atur ketiga angka menjadi sama untuk bentuk mentah."
@@ -1807,21 +1809,23 @@ msgid "2D noise that controls the shape/size of step mountains."
msgstr "Noise 2D yang mengatur bentuk/ukuran teras gunung."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
msgstr "Noise 2D yang mengatur ukuran/kemunculan punggung pegunungan."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of rolling hills."
msgstr "Noise 2D yang mengatur ukuran/kemunculan perbukitan."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr "Noise 2D yang mengatur ukuran/kemunculan teras pegunungan."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "2D noise that locates the river valleys and channels."
+msgstr "Noise 2D yang mengatur bentuk/ukuran perbukitan."
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "Awan 3D"
@@ -1855,6 +1859,10 @@ msgstr ""
"Noise 3D untuk gunung menggantung, tebing, dll. Biasanya variasi kecil."
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1909,6 +1917,10 @@ msgid "Acceleration in air"
msgstr "Percepatan di udara"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Pengubah Blok Aktif"
@@ -2048,16 +2060,12 @@ msgstr ""
"Dalam satuan blok peta (16 nodus)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
msgstr "Tombol maju otomatis"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically jump up single-node obstacles."
-msgstr ""
-"Lompati otomatis halangan satu nodus.\n"
-"type: bool"
+msgstr "Lompati otomatis halangan satu nodus."
#: src/settings_translation_file.cpp
msgid "Automatically report to the serverlist."
@@ -2097,7 +2105,7 @@ msgstr "Noise pantai"
#: src/settings_translation_file.cpp
msgid "Beach noise threshold"
-msgstr "Batas noise pantai"
+msgstr "Ambang batas noise pantai"
#: src/settings_translation_file.cpp
msgid "Bilinear filtering"
@@ -2136,8 +2144,9 @@ msgid "Bumpmapping"
msgstr "Bumpmapping"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2197,7 +2206,7 @@ msgstr "Gua lancip"
#: src/settings_translation_file.cpp
msgid "Cavern threshold"
-msgstr "Batas gua besar"
+msgstr "Ambang batas gua besar"
#: src/settings_translation_file.cpp
msgid "Cavern upper limit"
@@ -2208,7 +2217,6 @@ msgid "Center of light curve mid-boost."
msgstr "Titik tengah penguatan tengah kurva cahaya."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Changes the main menu UI:\n"
"- Full: Multiple singleplayer worlds, game choice, texture pack chooser, "
@@ -2219,10 +2227,8 @@ msgid ""
msgstr ""
"Mengubah antarmuka menu utama:\n"
"- Full: Banyak dunia pemain tunggal, pilih permainan, paket tekstur, dll.\n"
-"- Simple: Satu dunia pemain tunggal, tanpa pilihan permainan atau paket "
-"tekstur.\n"
-"Cocok untuk layar kecil.\n"
-"- Auto: Simple untuk Android, full untuk lainnya."
+"- Simple: Satu dunia pemain tunggal, tanpa pilihan permainan atau paket\n"
+"tekstur. Cocok untuk layar kecil."
#: src/settings_translation_file.cpp
msgid "Chat key"
@@ -2233,8 +2239,13 @@ msgid "Chat message count limit"
msgstr "Batas jumlah pesan obrolan"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "Panjang maksimum pesan obrolan"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
-msgstr "Batas jumlah pesan sebelum dikeluarkan"
+msgstr "Ambang batas jumlah pesan sebelum ditendang keluar"
#: src/settings_translation_file.cpp
msgid "Chat message max length"
@@ -2318,15 +2329,23 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"so see a full list at https://content.minetest.net/help/content_flags/"
msgstr ""
+"Daftar yang dipisahkan dengan koma dari flag yang akan disembunyikan dalam "
+"gudang konten.\n"
+"\"nonfree\" dapat digunakan untuk menyembunyikan paket yang tidak tergolong\n"
+"\"perangkat lunak bebas gratis\" seperti yang ditetapkan oleh Free Software "
+"Foundation.\n"
+"Anda juga dapat menentukan sensor konten.\n"
+"Flag-flag ini tidak bergantung pada versi Minetest,\n"
+"maka lihat daftar lengkap di https://content.minetest.net/help/content_flags/"
#: 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 ""
-"Daftar yang dipisahkan koma dari mod yang dibolehkan untuk mengakses\n"
-"HTTP API, membolehkan mereka untuk mengunggah dan mengunduh data\n"
-"ke/dari internet."
+"Daftar yang dipisahkan dengan koma dari mod yang dibolehkan untuk\n"
+"mengakses HTTP API, membolehkan mereka untuk mengunggah dan\n"
+"mengunduh data ke/dari internet."
#: src/settings_translation_file.cpp
msgid ""
@@ -2367,12 +2386,11 @@ msgstr "Tombol konsol"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "Daftar Hitam Flag ContentDB"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Konten"
+msgstr "URL ContentDB"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2402,6 +2420,10 @@ msgstr ""
"berubah."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Mengatur kecuraman/kedalaman lekukan danau."
@@ -2415,7 +2437,7 @@ msgid ""
"Is a noise offset added to the 'mgv7_np_mountain' noise value."
msgstr ""
"Atur kepadatan floatland berbentuk gunung.\n"
-"Merupakan pergeseran yang ditambahkan ke nilai noise 'mgv7_np_mountain'."
+"Merupakan pergeseran yang ditambahkan ke nilai noise \"mgv7_np_mountain\"."
#: src/settings_translation_file.cpp
msgid "Controls width of tunnels, a smaller value creates wider tunnels."
@@ -2462,6 +2484,11 @@ msgid "Debug info toggle key"
msgstr "Tombol info awakutu"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Ambang batas noise gurun"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Tingkat log awakutu"
@@ -2470,6 +2497,10 @@ msgid "Dec. volume key"
msgstr "Tombol turunkan volume"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Langkah peladen khusus"
@@ -2560,11 +2591,26 @@ msgid "Defines the base ground level."
msgstr "Mengatur ketinggian dasar tanah."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Mengatur ketinggian dasar tanah."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Menentukan jarak maksimal perpindahan pemain dalam blok (0 = tak terbatas)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "Menetapkan struktur saluran sungai skala besar."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Menetapkan daerah tempat pohon punya apel."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Menetapkan daerah pohon dan kepadatan pohon."
@@ -2590,6 +2636,12 @@ msgid "Deprecated Lua API handling"
msgstr "Penanganan Lua API usang"
#: 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 "Depth below which you'll find giant caverns."
msgstr "Kedalaman minimal tempat Anda akan menemukan gua besar."
@@ -2607,12 +2659,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Desert noise threshold"
-msgstr "Batasan noise gurun"
+msgstr "Ambang batas noise gurun"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"Gurun muncul saat np_biome melebihi nilai ini.\n"
"Saat sistem bioma baru digunakan, ini diabaikan."
@@ -2662,6 +2715,11 @@ msgid "Dungeon minimum Y"
msgstr "Y minimum dungeon"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Y minimum dungeon"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2703,13 +2761,15 @@ msgstr "Gunakan masukan pengguna acak (hanya digunakan untuk pengujian)."
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Nyalakan konfirmasi pendaftaran"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Nyalakan konfirmasi pendaftaran saat menyambung ke peladen.\n"
+"Jika dimatikan, akun baru akan didaftarkan otomatis."
#: src/settings_translation_file.cpp
msgid ""
@@ -3006,6 +3066,13 @@ msgid "Font size"
msgstr "Ukuran fon"
#: 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 "Format of screenshots."
msgstr "Format tangkapan layar."
@@ -3126,18 +3193,15 @@ msgid "Global callbacks"
msgstr "Callback global"
#: 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 ""
"Atribut pembuatan peta global.\n"
-"Dalam pembuat peta v6, flag 'decorations' mengatur semua hiasan kecuali\n"
+"Dalam pembuat peta v6, flag \"decorations\" mengatur semua hiasan kecuali\n"
"pohon dan rumput rimba. Dalam pembuat peta lain, flag ini mengatur\n"
-"semua dekorasi.\n"
-"Flag yang tidak dinyalakan tidak berubah dari bawaan.\n"
-"Flag yang dimulai dengan 'no' digunakan untuk mematikannya."
+"semua dekorasi."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
@@ -3232,7 +3296,7 @@ msgstr "Kecuraman bukit"
#: src/settings_translation_file.cpp
msgid "Hill threshold"
-msgstr "Batasan bukit"
+msgstr "Ambang batas bukit"
#: src/settings_translation_file.cpp
msgid "Hilliness1 noise"
@@ -3255,6 +3319,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Halaman awal peladen, ditampilkan pada daftar peladen."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Tombol hotbar selanjutnya"
@@ -3504,13 +3586,12 @@ msgstr ""
"Hanya nyalakan ini jika Anda tahu yang Anda lakukan."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
-"Jika dinyalakan bersama dengan mode terbang, menyebabkan arah gerak sesuai "
-"pandangan pemain."
+"Jika dinyalakan, menyebabkan arah gerak sesuai pandangan pemain saat terbang "
+"atau menyelam."
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
@@ -3538,6 +3619,14 @@ msgstr ""
"get_node dibatasi hingga sejauh ini dari pemain ke nodus."
#: 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 "If this is set, players will always (re)spawn at the given position."
msgstr "Jika diatur, pemain akan bangkit (ulang) pada posisi yang diberikan."
@@ -3568,6 +3657,10 @@ msgid "Inc. volume key"
msgstr "Tombol konsol"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4341,13 +4434,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 ""
-"Tombol untuk beralih mode terbang sesuai pandang.\n"
+"Tombol untuk beralih mode gerak sesuai pandang.\n"
"Lihat http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4451,7 +4543,7 @@ msgstr "Kecuraman danau"
#: src/settings_translation_file.cpp
msgid "Lake threshold"
-msgstr "Batasan danau"
+msgstr "Ambang batas danau"
#: src/settings_translation_file.cpp
msgid "Language"
@@ -4598,7 +4690,8 @@ msgid "Liquid queue purge time"
msgstr "Waktu pembersihan antrean cairan"
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+#, fuzzy
+msgid "Liquid sinking"
msgstr "Kecepatan tenggelam dalam cairan"
#: src/settings_translation_file.cpp
@@ -4660,10 +4753,9 @@ msgstr "Direktori peta"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "Atribut pembuatan peta khusus untuk pembuat peta Carpathian."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen Valleys.\n"
"'altitude_chill': Reduces heat with altitude.\n"
@@ -4673,47 +4765,54 @@ msgid ""
"'altitude_dry': Reduces humidity with altitude."
msgstr ""
"Atribut khusus pembuat peta Valleys.\n"
-"'altitude_chill': Mengurangi suhu seiring ketinggian.\n"
-"'humid_rivers': Meningkatkan kelembapan di sekitar sungai dan danau.\n"
-"'vary_river_depth': Jika dinyalakan, cuaca kering dan panas menyebabkan\n"
+"\"altitude_chill\": Mengurangi suhu seiring ketinggian.\n"
+"\"humid_rivers\": Meningkatkan kelembapan di sekitar sungai dan danau.\n"
+"\"vary_river_depth\": Jika dinyalakan, cuaca kering dan panas menyebabkan\n"
"sungai menjadi lebih dangkal dan terkadang kering.\n"
-"'altitude_dry': Mengurangi kelembapan seiring ketinggian."
+"\"altitude_dry\": Mengurangi 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 pembuatan peta khusus untuk pembuat peta v7.\n"
+"\"ridges\" menyalakan sungai."
+
+#: 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 ""
"Atribut pembuatan peta khusus untuk pembuat peta flat.\n"
-"Beberapa danau dan bukit dapat ditambahkan ke dunia datar.\n"
-"Flag yang tidak dinyalakan tidak berubah dari bawaan.\n"
-"Flag yang dimulai dengan 'no' digunakan untuk mematikannya."
+"Beberapa danau dan bukit dapat ditambahkan ke dunia datar."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+msgstr "Atribut pembuatan peta khusus untuk pembuat peta 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 new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"Atribut pembuatan peta khusus untuk pembuat peta v6.\n"
-"Flag 'snowbiomes' menyalakan sistem 5 bioma yang baru.\n"
+"Flag \"snowbiomes\" menyalakan sistem 5 bioma yang baru.\n"
"Saat sistem bioma baru dipakai, hutan rimba otomatis dinyalakan dan\n"
-"flag 'jungle' diabaikan.\n"
-"Flag yang tidak dinyalakan tidak berubah dari bawaan.\n"
-"Flag yang dimulai dengan 'no' digunakan untuk mematikannya."
+"flag \"jungle\" diabaikan."
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Atribut pembuatan peta khusus untuk pembuat peta v7.\n"
+"\"ridges\" menyalakan sungai."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4760,6 +4859,11 @@ msgid "Mapgen Fractal"
msgstr "Pembuat peta fraktal"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Flag khusus pembuat peta flat"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr "Pembuat peta v5"
@@ -4841,6 +4945,12 @@ msgstr "Lebar maksimum hotbar"
#: 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 ""
"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)"
@@ -5046,16 +5156,15 @@ msgstr "Bisukan suara"
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
"Nama dari pembuat peta yang digunakan saat membuat dunia baru.\n"
"Pembuatan dunia lewat menu utama akan menimpa ini.\n"
"Pembuat peta yang stabil saat ini:\n"
"v5, v6, v7 (kecuali floatland), flat, singlenode.\n"
-"'stabil' berarti bentuk medan pada dunia yang telah ada tidak akan berubah\n"
+"\"stabil\" berarti bentuk medan pada dunia yang telah ada tidak akan "
+"berubah\n"
"pada masa depan. Catat bahwa bioma diatur oleh permainan dan dapat berubah."
#: src/settings_translation_file.cpp
@@ -5076,7 +5185,8 @@ msgstr ""
"Nama peladen, ditampilkan saat pemain bergabung dan pada daftar peladen."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+#, fuzzy
+msgid "Near clipping plane"
msgstr "Bidang dekat"
#: src/settings_translation_file.cpp
@@ -5128,19 +5238,33 @@ msgid "Number of emerge threads"
msgstr "Jumlah utas kemunculan"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
+"Jumlah utas kemunculan yang dipakai.\n"
+"Kosong atau nilai 0:\n"
+"- Pemilihan otomatis. Utas kemunculan akan berjumlah\n"
+"- 'jumlah prosesor - 2', dengan batas bawah 1.\n"
+"Nilai lain:\n"
+"- Menentukan jumlah utas kemunculan, dengan batas bawah 1.\n"
+"Peringatan: Penambahan jumlah utas kemunculan mempercepat mesin\n"
+"pembuat peta, tetapi dapat merusak kinerja permainan dengan mengganggu\n"
+"proses lain, terutama dalam pemain tunggal dan/atau saat menjalankan kode\n"
+"Lua dalam \"on_generated\".\n"
+"Untuk kebanyakan pengguna, pengaturan yang cocok adalah \"1\"."
#: src/settings_translation_file.cpp
msgid ""
@@ -5159,7 +5283,7 @@ msgstr "Jumlah pengulangan parallax occlusion."
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Gudang konten daring"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5234,14 +5358,12 @@ msgid "Physics"
msgstr "Fisika"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move key"
-msgstr "Tombol terbang sesuai pandang"
+msgstr "Tombol gerak sesuai pandang"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move mode"
-msgstr "Mode gerak sesuai pandang dinyalakan"
+msgstr "Mode gerak sesuai pandang"
#: src/settings_translation_file.cpp
msgid ""
@@ -5310,10 +5432,6 @@ msgid "Profiling"
msgstr "Profiling"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-msgstr "Dungeon yang menonjol"
-
-#: 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 "
@@ -5364,7 +5482,6 @@ msgid "Report path"
msgstr "Jalur pelaporan"
#: src/settings_translation_file.cpp
-#, fuzzy
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"
@@ -5384,7 +5501,8 @@ msgstr ""
"READ_ITEMDEFS: 4 (cegah pemanggilan get_item_def sisi klien)\n"
"READ_NODEDEFS: 8 (cegah pemanggilan get_node_def sisi klien)\n"
"LOOKUP_NODES_LIMIT: 16 (batasi pemanggilan get_node\n"
-"sisi klien dalam csm_restriction_noderange)"
+"sisi klien dalam csm_restriction_noderange)\n"
+"READ_PLAYERINFO: 32 (cegah pemanggilan get_player_names sisi klien)"
#: src/settings_translation_file.cpp
msgid "Ridge mountain spread noise"
@@ -5411,6 +5529,16 @@ msgid "Rightclick repetition interval"
msgstr "Jarak klik kanan berulang"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel depth"
+msgstr "Kedalaman sungai"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Kedalaman sungai"
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr "Kedalaman sungai"
@@ -5423,6 +5551,11 @@ msgid "River size"
msgstr "Ukuran sungai"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Kedalaman sungai"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Perekaman cadangan"
@@ -5759,6 +5892,10 @@ msgid "Sneaking speed"
msgstr "Kecepatan menyelinap"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Suara"
@@ -5860,7 +5997,7 @@ msgid ""
"Controls proportion of world area covered by hills.\n"
"Adjust towards 0.0 for a larger proportion."
msgstr ""
-"Batas noise medan untuk bukit.\n"
+"Ambang batas noise medan untuk bukit.\n"
"Atur perbandingan dari daerah dunia yang diselimuti bukit.\n"
"Atur menuju 0.0 untuk perbandingan yang lebih besar."
@@ -5870,7 +6007,7 @@ msgid ""
"Controls proportion of world area covered by lakes.\n"
"Adjust towards 0.0 for a larger proportion."
msgstr ""
-"Batas noise medan untuk danau.\n"
+"Ambang batas noise medan untuk danau.\n"
"Atur perbandingan dari daerah dunia yang diselimuti danau.\n"
"Atur menuju 0.0 untuk perbandingan yang lebih besar."
@@ -5900,7 +6037,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "URL dari gudang konten"
#: src/settings_translation_file.cpp
msgid ""
@@ -6031,8 +6168,8 @@ msgid ""
"enabled. Also the vertical distance over which humidity drops by 10 if\n"
"'altitude_dry' is enabled."
msgstr ""
-"Jarak vertikal bagi suhu untuk turun 20 jika 'altitude_chill' dinyalakan.\n"
-"Juga jarak vertikal bagi kelembapan untuk turun 10 jika 'altitude_dry'\n"
+"Jarak vertikal bagi suhu untuk turun 20 jika \"altitude_chill\" dinyalakan.\n"
+"Juga jarak vertikal bagi kelembapan untuk turun 10 jika \"altitude_dry\"\n"
"dinyalakan."
#: src/settings_translation_file.cpp
@@ -6091,7 +6228,7 @@ msgstr "Jeda tooltip"
#: src/settings_translation_file.cpp
msgid "Touch screen threshold"
-msgstr "Batas layar sentuh"
+msgstr "Ambang batas layar sentuh"
#: src/settings_translation_file.cpp
msgid "Trees noise"
@@ -6131,11 +6268,13 @@ msgid "Undersampling"
msgstr "Undersampling"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"Undersampling seperti menggunakan resolusi layar yang lebih rendah, tetapi\n"
"hanya berlaku untuk dunia permainan saja, antarmuka grafis tetap.\n"
@@ -6191,7 +6330,7 @@ msgstr "VBO"
#: src/settings_translation_file.cpp
msgid "VSync"
-msgstr "VSync"
+msgstr "Sinkronisasi Vertikal"
#: src/settings_translation_file.cpp
msgid "Valley depth"
@@ -6244,13 +6383,17 @@ msgid ""
"Defines the 'persistence' value for terrain_base and terrain_alt noises."
msgstr ""
"Merubah kekasaran dari medan.\n"
-"Mengatur nilai 'persistence' dari noise terrain_base dan terrain_alt."
+"Mengatur nilai \"persistence\" dari noise terrain_base dan terrain_alt."
#: src/settings_translation_file.cpp
msgid "Varies steepness of cliffs."
msgstr "Merubah kecuraman tebing."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Sinkronisasi layar vertikal."
@@ -6305,10 +6448,18 @@ msgstr ""
"Jangkauan sekitar -2 ke 2."
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Kecepatan berjalan"
#: 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"
msgstr "Ketinggian air"
@@ -6333,16 +6484,19 @@ msgid "Waving water"
msgstr "Air berombak"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Ketinggian ombak"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Panjang ombak"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Kecepatan ombak"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Kecepatan ombak"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Panjang ombak"
#: src/settings_translation_file.cpp
msgid ""
@@ -6398,10 +6552,6 @@ msgstr ""
"dikompilasi."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr "Apakah dungeon terkadang muncul dari medan."
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr "Apakah animasi tekstur nodus harus tidak disinkronkan tiap blok peta."
@@ -6502,10 +6652,6 @@ msgid "Y of upper limit of large caves."
msgstr "Batas atas Y untuk gua besar."
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr "Batas atas Y untuk lava dalam gua besar."
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr "Jarak Y dari gua besar untuk meluas ke ukuran penuh."
@@ -6547,542 +6693,22 @@ msgstr "Batas cURL paralel"
#: src/settings_translation_file.cpp
msgid "cURL timeout"
-msgstr "Waktu habis cURL"
-
-#~ msgid "Content Store"
-#~ msgstr "Toko konten"
-
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Jumlah utas kemunculan untuk dipakai.\n"
-#~ "Buat nilai ini kosong atau nol, atau naikkan angka ini untuk menggunakan "
-#~ "banyak utas.\n"
-#~ "Pada sistem multiprosesor, ini akan mempercepat pembuatan peta dengan "
-#~ "gua\n"
-#~ "yang sedikit kacau."
-
-#~ msgid "Pitch fly mode"
-#~ msgstr "Mode terbang sesuai pandang"
-
-#~ msgid "Show non-free packages"
-#~ msgstr "Tampilkan paket nonbebas"
-
-#~ msgid ""
-#~ "Show packages in the content store that do not qualify as 'free "
-#~ "software'\n"
-#~ "as defined by the Free Software Foundation."
-#~ msgstr ""
-#~ "Tampilkan paket dalam toko konten yang tidak termasuk 'perangkat lunak "
-#~ "bebas'\n"
-#~ "seperti yang telah ditentukan Free Software Foundation."
-
-#~ msgid "Disable MP"
-#~ msgstr "Tidak pakai PM"
-
-#~ msgid "Enable MP"
-#~ msgstr "Pakai PM"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Tidak ada dunia atau permainan yang dipilih"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" bukan sebuah flag yang sah."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Ditulis dalam 3 angka yang dipisahkan koma dan diberi tanda kurung."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Penulisan: <pergeseran>, <skala>, (<spreadX>, <spreadY>, <spreadZ>), "
-#~ "<seed>, <octaves>, <persistence>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Lacunarity (celah, tidak harus) dapat ditambahkan dengan diawali tanda "
-#~ "koma."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Silakan masukan daftar flag yang dipisahkan dengan tanda koma."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Nilai yang mungkin adalah: "
-
-#~ msgid "Select path"
-#~ msgstr "Pilih jalur"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Mod Subpermainan"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Halaman $1 dari $2"
-
-#~ msgid "Rating"
-#~ msgstr "Peringkat"
-
-#~ msgid "Shortname:"
-#~ msgstr "Nama pendek:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Berhasil dipasang:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Tidak diurutkan"
-
-#~ msgid "re-Install"
-#~ msgstr "Pasang ulang"
-
-#~ msgid "Local Game"
-#~ msgstr "Permainan Lokal"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Copot pemasangan paket mod terpilih"
-
-#~ msgid "Play Online"
-#~ msgstr "Main Daring"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normal Mapping"
-
-#~ msgid "No information available"
-#~ msgstr "Tidak ada informasi tersedia"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Volume diubah ke 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Volume diubah ke 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Cetak tumpukan"
-
-#~ msgid "Use"
-#~ msgstr "Pakai"
-
-#~ msgid "Next"
-#~ msgstr "Next"
-
-#~ msgid "Prior"
-#~ msgstr "Prior"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Jarak Pengubah Blok Aktif"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Sistem Android saja: Mencoba membuat tekstur inventaris dari mesh\n"
-#~ "saat tidak ditemukan render yang didukung."
+msgstr "Waktu habis untuk cURL"
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Mengumumkan kepada daftar peladen ini.\n"
-#~ "Jika Anda ingin mengumumkan alamat IPv6 Anda,\n"
-#~ "gunakan serverlist_url = v6.servers.minetest.net."
+#~ msgid "Projecting dungeons"
+#~ msgstr "Dungeon yang menonjol"
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Memperkirakan skala (X,Y,Z) fraktal pada nodus."
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "Apakah dungeon terkadang muncul dari medan."
-#~ msgid "Autorun key"
-#~ msgstr "Tombol lari otomatis"
+#~ msgid "Waving Water"
+#~ msgstr "Air Berombak"
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Gua dan terowongan terbentuk di persimpangan antara dua noise"
-
-#~ msgid "Cloud height"
-#~ msgstr "Tinggi awan"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Batas atas Y untuk lava dalam gua besar."
-#~ msgid "Console key"
-#~ msgstr "Tombol konsol"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Gerakan maju terus-menerus (hanya digunakan untuk pengujian)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Membuat lava yang tidak dapat diprediksi di dalam gua.\n"
-#~ "Ini dapat menyebabkan penambangan menjadi sulit. Nol menonaktifkannya. "
-#~ "(0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Membuat air yang tidak dapat diprediksi di dalam gua.\n"
-#~ "Ini dapat menyebabkan penambangan menjadi sulit. Nol menonaktifkannya. "
-#~ "(0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Kecepatan jalan merunduk"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Kedalaman minimal di mana Anda akan menemukan gua raksasa."
-
-#~ msgid "Descending speed"
-#~ msgstr "Pengurangan kecepatan"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Tidak menggunakan karakter kabur"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Tidak menggunakan karakter kabur (escape sequences), misal: pewarnaan "
-#~ "obrolan.\n"
-#~ "Gunakan ini jika Anda ingin menjalankan peladen dengan klien pra-0.4.14 "
-#~ "dan\n"
-#~ "Anda ingin menonaktifkan karakter kabur yang dihasilkan oleh mods."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Gunakan view bobbing"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Aktifkan view bobbing saat berjalan."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Bidang pandang untuk zoom"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Bidang pandang saat zoom dalam derajat.\n"
-#~ "Membutuhkan izin \"zoom\" pada peladen."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Dari seberapa jauh klien tahu tentang objek, dalam satuan blok peta (16 "
-#~ "nodus)."
-
-#~ msgid "General"
-#~ msgstr "Umum"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Ketinggian dimana awan muncul."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Seberapa besar daerah blok yang menjadi blok aktif, dalam satuan blok "
-#~ "peta (16 nodus).\n"
-#~ "Dalam blok aktif objek dimuat dan ABM berjalan."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "Jika dibolehkan, menampilkan pesan keadaan peladen ke pemain yang "
-#~ "tersambung."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Tombol inventaris"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Perulangan dari fungsi rekursif.\n"
-#~ "Mengatur jumlah kehalusan detail."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tombol untuk membuka konsol obrolan.\n"
-#~ "Lihat http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tombol untuk mencetak tumpukan debug. Digunakan untuk pengembangan.\n"
-#~ "Lihat http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Fitur Lava"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Pengelola permainan menu utama"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Pengelola mod menu utama"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atribut pembuatan peta khusus untuk pembuat peta Valleys.\n"
-#~ "'altitude_chill' menyebabkan semakin tinggi semakin dingin, yang dapat "
-#~ "menyebabkan masalah bioma.\n"
-#~ "'humid_rivers' mengubah kelembapan sekitar sungai dan dalam daerah dimana "
-#~ "air cenderung berkumpul,\n"
-#~ "dapat menabrak dengan bioma yang sudah sesuai.\n"
-#~ "Flag yang tidak ditulis dalam teks flag tidak akan berubah dari bawaan.\n"
-#~ "Flag dimulai dengan 'no' digunakan untuk mempertegas tidak memakainya."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atribut pembuatan peta khusus untuk pembuat peta v7.\n"
-#~ "Flag 'ridges' mengaktifkan sungai.\n"
-#~ "Floatland masih tahap percobaan dan masih dapat berubah.\n"
-#~ "Flag yang tidak ditulis dalam teks flag tidak akan berubah dari bawaan.\n"
-#~ "Flag dimulai dengan 'no' digunakan untuk mempertegas tidak memakainya."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Kedalaman gua raksasa"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Noise gua raksasa"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Gua raksasa dibentuk di sini."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr "Jumlah blok paling banyak yang dikirim bersamaan seluruhnya."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr "Jumlah blok paling banyak yang dikirim bersamaan tiap klien."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Jumlah maksimal total blok yang dikirim serentak"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "Toko Mod: URL detail"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "Toko Mod: URL unduh"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Toko Mod: URL daftar mod"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Nama dari pembuat peta yang digunakan saat membuat dunia baru.\n"
-#~ "Membuat dunia dari menu utama akan merubah ini."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Noise sungai -- sungai muncul dekat nol"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Ukuran chunk yang dibuat dalam satu waktu oleh pembuat peta, dalam satuan "
-#~ "blok peta (16 nodus)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Dukung peladen lawas"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "Ketinggian saat suhu turun sebesar 20C"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Backend rendering untuk Irrlicht."
-
-#~ msgid "Use key"
-#~ msgstr "Tombol gunakan"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Gunakan mip mapping untuk mengubah ukuran tekstur. Dapat sedikit "
-#~ "mengurangi performa."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Flag Valleys C"
-
-#~ msgid "Water Features"
-#~ msgstr "Corak air"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Apakah mendukung peladen lawas sebelum protokol versi 25.\n"
-#~ "Nyalakan jika Anda ingin menyambung ke peladen 0.4.12 atau sebelumnya.\n"
-#~ "Peladen versi 0.4.13 ke atas akan bekerja, versi 0.4.12-dev mungkin "
-#~ "bekerja.\n"
-#~ "Menonaktifkan pilihan ini akan melindungi kata sandi Anda lebih baik."
+#~ msgid "Select Package File:"
+#~ msgstr "Pilih berkas paket:"
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Ketinggian Y dari medan yang lebih tinggi (puncak tebing)."
-
-#~ msgid "Hide mp content"
-#~ msgstr ""
-#~ "Sembunyikan\n"
-#~ "konten pm"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Caps Lock"
-
-#~ msgid "Comma"
-#~ msgstr "Koma"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Final"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Kurang"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Titik"
-
-#~ msgid "Plus"
-#~ msgstr "Tambah"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Mengatur ukuran padang gurun dan pantai dalam Mapgen v6.\n"
-#~ "Jika snowbiomes di aktifkan 'mgv6_freq_desert' akan diabaikan."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Menentukan bentuk tanah.\n"
-#~ "3 angka dalam kurung mengatur skala dari bentuk\n"
-#~ "tanah, ketiganya harus sama."
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Frekuensi pantai pada generator peta v6"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Frekuensi padang gurun pada generator peta v6"
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Berguna untuk pengembang mod."
-
-#~ msgid "No of course not!"
-#~ msgstr "Tentu tidak!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Daftar Server Publik"
-
-#~ msgid "No!!!"
-#~ msgstr "Tidak!!!"
-
-#~ msgid "\""
-#~ msgstr "\""
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "diaktifkan"
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "Mulai ulang minetest untuk beralih ke driver yang dipilih"
-
-#~ msgid " MB/s"
-#~ msgstr " MB/detik"
-
-#~ msgid " KB/s"
-#~ msgstr " KB/detik"
-
-#~ msgid "Downloading"
-#~ msgstr "Mengunduh"
-
-#~ msgid "Touch free target"
-#~ msgstr "Bebas sentuhan"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "Faktor skala yang diatur untuk elemen menu: "
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "Memuat tekstur..."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Pengaturan lanjutan"
-
-#~ msgid "View"
-#~ msgstr "Lihat"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atribut pembuatan peta khusus untuk pembuat peta v7.\n"
-#~ "'ridges' menyalakan sungai.\n"
-#~ "Flag yang tidak dinyalakan tidak berubah dari bawaan.\n"
-#~ "Flag yang dimulai dengan 'no' digunakan untuk mematikannya."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atribut pembuatan peta khusus untuk pembuat peta v5.\n"
-#~ "Flag yang tidak dinyalakan tidak berubah dari bawaan.\n"
-#~ "Flag yang dimulai dengan 'no' digunakan untuk mematikannya."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atribut pembuatan peta khusus untuk pembuat peta Carpathian.\n"
-#~ "Flag yang tidak dinyalakan tidak berubah dari bawaan.\n"
-#~ "Flag yang dimulai dengan 'no' digunakan untuk mematikannya."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Mode sinema"
diff --git a/po/it/minetest.po b/po/it/minetest.po
index 8017684a5..f215ec022 100644
--- a/po/it/minetest.po
+++ b/po/it/minetest.po
@@ -1,11 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Italian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-09 17:33+0000\n"
-"Last-Translator: Muhammad Rifqi Priyo Susanto "
-"<muhammadrifqipriyosusanto@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Italian <https://hosted.weblate.org/projects/minetest/"
"minetest/it/>\n"
"Language: it\n"
@@ -13,26 +12,24 @@ 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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
-msgstr "Ricomparire"
+msgstr "Ricompari"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "Siete mort*."
+msgstr "Sei morto"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "È avvenuto un errore in uno script Lua, come un mod.:"
+msgid "An error occurred in a Lua script:"
+msgstr "È successo un errore in uno script Lua, come un mod:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
-msgstr "È avvenuto un errore:"
+msgstr "È successo un errore:"
#: builtin/fstk/ui.lua
msgid "Main menu"
@@ -44,11 +41,11 @@ msgstr "OK"
#: builtin/fstk/ui.lua
msgid "Reconnect"
-msgstr "Riconnettersi"
+msgstr "Riconnettiti"
#: builtin/fstk/ui.lua
msgid "The server has requested a reconnect:"
-msgstr "Il server ha chiesto una riconnessione:"
+msgstr "Il server ha richiesto una riconnessione:"
#: builtin/mainmenu/common.lua src/client/game.cpp
msgid "Loading..."
@@ -56,21 +53,21 @@ msgstr "Caricamento..."
#: builtin/mainmenu/common.lua
msgid "Protocol version mismatch. "
-msgstr "La versione di protocollo non coincide. "
+msgstr "La versione del protocollo non coincide. "
#: builtin/mainmenu/common.lua
msgid "Server enforces protocol version $1. "
-msgstr "Il server obbliga la versione di protocollo $1. "
+msgstr "Il server impone la versione $1 del protocollo. "
#: builtin/mainmenu/common.lua
msgid "Server supports protocol versions between $1 and $2. "
-msgstr "Il server supporta versioni di protocollo tra $1 and $2. "
+msgstr "Il server supporta versioni di protocollo comprese tra la $1 e la $2. "
#: builtin/mainmenu/common.lua
msgid "Try reenabling public serverlist and check your internet connection."
msgstr ""
-"Provate ad abilitare nuovamente l'elenco dei server pubblici e controllate "
-"la vostra connessione a internet."
+"Prova a riabilitare l'elenco dei server pubblici e controlla la tua "
+"connessione internet."
#: builtin/mainmenu/common.lua
msgid "We only support protocol version $1."
@@ -78,7 +75,7 @@ msgstr "Supportiamo solo la versione $1 del protocollo."
#: builtin/mainmenu/common.lua
msgid "We support protocol versions between version $1 and $2."
-msgstr "Supportiamo le versioni del protocollo tra la $1 e la $2."
+msgstr "Supportiamo solo le versioni di protocollo comprese tra la $1 e la $2."
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_delete_content.lua
@@ -88,7 +85,7 @@ msgstr "Supportiamo le versioni del protocollo tra la $1 e la $2."
#: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp
#: src/gui/guiPasswordChange.cpp
msgid "Cancel"
-msgstr "Annullare"
+msgstr "Annulla"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Dependencies:"
@@ -96,44 +93,54 @@ msgstr "Dipendenze:"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Disable all"
-msgstr "Disattivarli tutti"
+msgstr "Disattiva tutto"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "Disattivat*"
+msgstr "Disabilita pacchetto mod"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
-msgstr "Attivarli tutti"
+msgstr "Abilita tutto"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "Rinominare il pacchetto di moduli:"
+msgstr "Abilita pacchetto mod"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
-"È fallita l'attivazione del mod. \"$1\" perché contiene caratteri non "
-"ammessi. Solo i caratteri [a-z0-9_] sono ammessi."
+"Impossibile abilitare il mod \"$1\" poiché contiene caratteri non ammessi. "
+"Sono ammessi solo i caratteri [a-z0-9_]."
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
-msgstr "Mod.:"
+msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Dipendenze facoltative:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr "Nessuna descrizione disponibile."
+msgstr "Non è stata fornita nessuna descrizione del gioco."
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Nessuna dipendenza."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "Nessuna descrizione disponibile."
+msgstr "Non è stata fornita nessuna descrizione del pacchetto mod."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Dipendenze facoltative:"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -142,7 +149,7 @@ msgstr "Dipendenze facoltative:"
#: builtin/mainmenu/dlg_config_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
msgid "Save"
-msgstr "Salvare"
+msgstr "Salva"
#: builtin/mainmenu/dlg_config_world.lua
msgid "World:"
@@ -154,26 +161,23 @@ msgstr "abilitato"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "Tutti i pacchetti"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
msgstr "Indietro"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "Menu principale"
+msgstr "Torna al Menu Principale"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Downloading and installing $1, please wait..."
-msgstr "Scaricamento di $1, per piacere aspettate..."
+msgstr "Scaricamento e installazione di $1, attendere prego..."
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "È fallita l'installazione di $1 in $2"
+msgstr "Impossibile scaricere $1"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -182,56 +186,53 @@ msgstr "Giochi"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Install"
-msgstr "Installare"
+msgstr "Installa"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Mods"
-msgstr "Moduli"
+msgstr "Mod"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Non è stato possibile recuperare alcun pacchetto"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Nessun risultato"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
msgid "Search"
-msgstr "Cercare"
+msgstr "Cerca"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
msgstr "Pacchetti di immagini"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "Installare"
+msgstr "Disinstalla"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "Aggiorna"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
-msgstr "Esiste già un mondo chiamato \"$1\""
+msgstr "Un mondo chiamato \"$1\" esiste già"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Create"
-msgstr "Creare"
+msgstr "Crea"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Scaricare un gioco, come minetest_game, da minetest.net"
+msgstr "Scarica un gioco, per esempio Minetest Game, da minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
-msgstr "Scaricarne uno da minetest.net"
+msgstr "Scaricane uno da minetest.net"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Game"
@@ -242,48 +243,43 @@ msgid "Mapgen"
msgstr "Generatore mappa"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "Scelta raggio"
+msgstr "Nessun gioco selezionato"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Seed"
-msgstr "Seme casuale"
+msgstr "Seme"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
-msgstr ""
-"Avvertimento: il minimal development test è inteso per sviluppatrici/tori."
+msgstr "Avvertimento: il Minimal Development Test è rivolto agli sviluppatori."
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
msgstr "Nome del mondo"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "Non avete giochi installati."
+msgstr "Non hai nessun gioco installato."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
-msgstr "Siete cert* di volere cancellare \"$1\"?"
+msgstr "Sei sicuro di volere cancellare \"$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 "Cancellare"
+msgstr "Cancella"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: failed to delete \"$1\""
-msgstr "Modmgr: è fallita la cancellazione di \"$1\""
+msgstr "pkgmgr: non è stato possibile cancellare \"$1\""
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: invalid path \"$1\""
-msgstr "Modmgr: percorso del mod. non valido \"$1\""
+msgstr "pkgmgr: percorso non valido \"$1\""
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
@@ -291,94 +287,91 @@ msgstr "Cancellare il mondo \"$1\"?"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Accept"
-msgstr "Accettare"
+msgstr "Accetta"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Rename Modpack:"
-msgstr "Rinominare il pacchetto di moduli:"
+msgstr "Rinomina il pacchetto mod:"
#: 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 ""
+"Questo pacchetto mod ha un nome esplicito datogli nel suo modpack.conf che "
+"ignorerà qualsiasi rinominazione qui effettuata."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
-msgstr "(Non è stata fornita nessuna descrizione dell'impostazione.)"
+msgstr "(Nessuna descrizione o impostazione data)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Rumori"
+msgstr "Rumore 2D"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
-msgstr "< Impostazioni semplici"
+msgstr "< Torna alla Pag. impostazioni"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Browse"
-msgstr "Visualizzare"
+msgstr "Mostra"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Disabled"
-msgstr "Disattivat*"
+msgstr "Disabilitato"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Edit"
-msgstr "Modificare"
+msgstr "Modifica"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Enabled"
msgstr "Abilitat*"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Lacunarity"
-msgstr "Sicurezza"
+msgstr "Lacunarità"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Ottave"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
msgstr "Spostamento"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Persistance"
-msgstr "Distanza di trasferimento dell* utente"
+msgstr "Persistenza"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
-msgstr "Per favore inserite un intero valido."
+msgstr "Per favore inserisci un intero valido."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid number."
-msgstr "Per favore inserite un numero valido."
+msgstr "Per favore inserisci un numero valido."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
-msgstr "Ripristinare"
+msgstr "Ripristina predefiniti"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
msgstr "Scala"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "Cartella della mappa"
+msgstr "Scegli la cartella"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "Scegliere il file del mod.:"
+msgstr "Scegli il file"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
-msgstr "Mostrare i nomi tecnici"
+msgstr "Mostra i nomi tecnici"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must be at least $1."
@@ -386,169 +379,141 @@ msgstr "Il valore deve essere almeno $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must not be larger than $1."
-msgstr "Il valore non deve essere più grande di $1."
+msgstr "Il valore non deve essere maggiore di $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "Propagazione X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Propagazione Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Propagazione Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "val.ass."
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Gioco predefinito"
+msgstr "predefiniti"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "semplificato"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "Abilitat*"
+msgstr "$1 (Abilitato)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "Modalità 3D"
+msgstr "$1 mod"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
-msgstr "È fallita l'installazione di $1 in $2"
+msgstr "Impossibile installare $1 in $2"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find real mod name for: $1"
-msgstr "Installazione mod., impossibile trovare il vero nome del mod. per: $1"
+msgstr "Installa mod: Impossibile trovare il nome reale del mod per: $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr ""
-"Installazione mod.: impossibile trovare un nome di cartella adatto per il "
-"pacchetto di mod. $1"
+"Installa mod: Impossibile trovare un nome cartella adatto per il pacchetto "
+"mod $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"Installazione mod.: \"$1\" tipo di file non supportato o archivio danneggiato"
+msgstr "Installa: Tipo di file non supportato \"$1\" o archivio danneggiato"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: file: \"$1\""
-msgstr "Installazione mod., file: \"$1\""
+msgstr "Install: File: \"$1\""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr ""
-"Installazione mod.: impossibile trovare un nome di cartella adatto per il "
-"pacchetto di mod. $1"
+msgstr "Impossibile trovare un mod o un pacchetto mod valido"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "È fallita l'installazione di $1 in $2"
+msgstr "Impossibile installare un $1 come un pacchetto di immagini"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "È fallita l'installazione di $1 in $2"
+msgstr "Impossibile installare un gioco come un $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a mod as a $1"
-msgstr "È fallita l'installazione di $1 in $2"
+msgstr "Impossibile installare un mod come un $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "È fallita l'installazione di $1 in $2"
+msgstr "Impossibile installare un pacchetto mod come un $1"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+msgstr "Mostra contenuti in linea"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "Proseguire"
+msgstr "Contenuti"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Disable Texture Pack"
-msgstr "Scegliete un pacchetto di immagini:"
+msgstr "Disabilita pacchetto di immagini"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Information:"
-msgstr "Informazioni sul modulo:"
+msgstr "Informazioni:"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Installed Packages:"
-msgstr "Moduli installati:"
+msgstr "Pacchetti installati:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
msgstr "Nessuna dipendenza."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "Nessuna descrizione disponibile."
+msgstr "Nessuna descrizione disponibile per il pacchetto"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
-msgstr "Rinominare"
+msgstr "Rinomina"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Scegliere il file del mod.:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
-msgstr "Disinstallare il mod. scelto"
+msgstr "Disinstalla pacchetto"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "Pacchetti di immagini"
+msgstr "Utilizza pacchetto di immagini"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
-msgstr "Collaboratrici/tori attivi"
+msgstr "Contributori attivi"
#: builtin/mainmenu/tab_credits.lua
msgid "Core Developers"
-msgstr "Sviluppatrici/tori principali"
+msgstr "Sviluppatori principali"
#: builtin/mainmenu/tab_credits.lua
msgid "Credits"
@@ -556,11 +521,11 @@ msgstr "Riconoscimenti"
#: builtin/mainmenu/tab_credits.lua
msgid "Previous Contributors"
-msgstr "Collaboratrici/tori precedenti"
+msgstr "Contributori precedenti"
#: builtin/mainmenu/tab_credits.lua
msgid "Previous Core Developers"
-msgstr "Sviluppatrici/tori principali precedenti"
+msgstr "Sviluppatori principali precedenti"
#: builtin/mainmenu/tab_local.lua
msgid "Announce Server"
@@ -572,7 +537,7 @@ msgstr "Legare indirizzo"
#: builtin/mainmenu/tab_local.lua
msgid "Configure"
-msgstr "Configurare"
+msgstr "Configura"
#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
msgid "Creative Mode"
@@ -580,15 +545,15 @@ msgstr "Modalità creativa"
#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
msgid "Enable Damage"
-msgstr "Abilitare il ferimento"
+msgstr "Abilita il ferimento"
#: builtin/mainmenu/tab_local.lua
msgid "Host Game"
-msgstr "Ospitare un gioco"
+msgstr "Ospita un gioco"
#: builtin/mainmenu/tab_local.lua
msgid "Host Server"
-msgstr "Ospitare un server"
+msgstr "Ospita un server"
#: builtin/mainmenu/tab_local.lua
msgid "Name/Password"
@@ -600,11 +565,11 @@ msgstr "Nuovo"
#: builtin/mainmenu/tab_local.lua
msgid "No world created or selected!"
-msgstr "Nessun mondo creato o scelto!"
+msgstr "Nessun mondo creato o selezionato!"
#: builtin/mainmenu/tab_local.lua
msgid "Play Game"
-msgstr "Avviare il gioco"
+msgstr "Avvia il gioco"
#: builtin/mainmenu/tab_local.lua
msgid "Port"
@@ -612,7 +577,7 @@ msgstr "Porta"
#: builtin/mainmenu/tab_local.lua
msgid "Select World:"
-msgstr "Scelta del mondo:"
+msgstr "Seleziona mondo:"
#: builtin/mainmenu/tab_local.lua
msgid "Server Port"
@@ -620,7 +585,7 @@ msgstr "Porta del server"
#: builtin/mainmenu/tab_local.lua
msgid "Start Game"
-msgstr "Avviare il gioco"
+msgstr "Comincia gioco"
#: builtin/mainmenu/tab_online.lua
msgid "Address / Port"
@@ -628,7 +593,7 @@ msgstr "Indirizzo / Porta"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Connect"
-msgstr "Connettersi"
+msgstr "Connettiti"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Creative mode"
@@ -647,9 +612,8 @@ msgid "Favorite"
msgstr "Preferito"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Join Game"
-msgstr "Ospitare un gioco"
+msgstr "Entra in un gioco"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Name / Password"
@@ -661,7 +625,7 @@ msgstr "Ping"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "PvP enabled"
-msgstr "UcU abilitato"
+msgstr "PvP abilitato"
#: builtin/mainmenu/tab_settings.lua
msgid "2x"
@@ -680,9 +644,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Impostazioni"
+msgstr "Tutte le impostazioni"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -690,10 +653,9 @@ msgstr "Antialiasing:"
#: builtin/mainmenu/tab_settings.lua
msgid "Are you sure to reset your singleplayer world?"
-msgstr "Siete cert* di volere azzerare il vostro mondo locale?"
+msgstr "Sei sicuro di azzerare il tuo mondo locale?"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Autosave Screen Size"
msgstr "Salvare dim. finestra"
@@ -707,7 +669,7 @@ msgstr "Bump Mapping"
#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
msgid "Change Keys"
-msgstr "Modificare i tasti"
+msgstr "Cambia i tasti"
#: builtin/mainmenu/tab_settings.lua
msgid "Connected Glass"
@@ -715,12 +677,11 @@ msgstr "Vetro contiguo"
#: builtin/mainmenu/tab_settings.lua
msgid "Fancy Leaves"
-msgstr "Foglie decorative"
+msgstr "Foglie di qualità"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Generate Normal Maps"
-msgstr "Generare normalmap"
+msgstr "Genera Normal Map"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap"
@@ -740,7 +701,7 @@ msgstr "Nessun filtro"
#: builtin/mainmenu/tab_settings.lua
msgid "No Mipmap"
-msgstr "Nessun mipmap"
+msgstr "Nessuna mipmap"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Highlighting"
@@ -748,7 +709,7 @@ msgstr "Evidenz. nodo"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Outlining"
-msgstr "Bordatura nodo"
+msgstr "Profilo nodo"
#: builtin/mainmenu/tab_settings.lua
msgid "None"
@@ -772,7 +733,7 @@ msgstr "Particelle"
#: builtin/mainmenu/tab_settings.lua
msgid "Reset singleplayer world"
-msgstr "Azzerare il mondo locale"
+msgstr "Azzera mondo locale"
#: builtin/mainmenu/tab_settings.lua
msgid "Screen:"
@@ -784,11 +745,11 @@ msgstr "Impostazioni"
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Shaders"
-msgstr "Shader"
+msgstr "Shaders"
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders (unavailable)"
-msgstr ""
+msgstr "Shaders (non disponibili)"
#: builtin/mainmenu/tab_settings.lua
msgid "Simple Leaves"
@@ -800,20 +761,19 @@ msgstr "Illuminaz. uniforme"
#: builtin/mainmenu/tab_settings.lua
msgid "Texturing:"
-msgstr "Immagini:"
+msgstr "Resa immagini:"
#: builtin/mainmenu/tab_settings.lua
msgid "To enable shaders the OpenGL driver needs to be used."
-msgstr "È necessario usare il driver OpenGL per abilitare gli shader."
+msgstr "Per abilitare gli shader si deve usare il driver OpenGL."
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Tone Mapping"
msgstr "Tone Mapping"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Touchthreshold: (px)"
-msgstr "Soglia di tocco (px)"
+msgstr "Soglia tocco: (px)"
#: builtin/mainmenu/tab_settings.lua
msgid "Trilinear Filter"
@@ -824,12 +784,13 @@ msgid "Waving Leaves"
msgstr "Foglie ondeggianti"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Piante ondeggianti"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Nodi ondeggianti"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Acqua ondeggiante"
+msgid "Waving Plants"
+msgstr "Piante ondeggianti"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -837,7 +798,7 @@ msgstr "Sì"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Config mods"
-msgstr "Config. mod."
+msgstr "Config mod"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Main"
@@ -845,11 +806,11 @@ msgstr "Principale"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Start Singleplayer"
-msgstr "Avviare gioco locale"
+msgstr "Avvia in locale"
#: src/client/client.cpp
msgid "Connection timed out."
-msgstr "La connessione è scaduta."
+msgstr "Connessione scaduta."
#: src/client/client.cpp
msgid "Done!"
@@ -857,23 +818,23 @@ msgstr "Fatto!"
#: src/client/client.cpp
msgid "Initializing nodes"
-msgstr "Inizializzazione dei nodi"
+msgstr "Inizializzazione nodi"
#: src/client/client.cpp
msgid "Initializing nodes..."
-msgstr "Inizializzazione dei nodi..."
+msgstr "Inizializzazione nodi..."
#: src/client/client.cpp
msgid "Loading textures..."
-msgstr "Caricamento delle immagini..."
+msgstr "Caricamento immagini..."
#: src/client/client.cpp
msgid "Rebuilding shaders..."
-msgstr "Ricostruzione degli shader..."
+msgstr "Ricostruzione shader..."
#: src/client/clientlauncher.cpp
msgid "Connection error (timed out?)"
-msgstr "Errore di connessione (è scaduta?)"
+msgstr "Errore di connessione (scaduta?)"
#: src/client/clientlauncher.cpp
msgid "Could not find or load game \""
@@ -881,7 +842,7 @@ msgstr "Impossibile trovare o caricare il gioco \""
#: src/client/clientlauncher.cpp
msgid "Invalid gamespec."
-msgstr "Spec. di gioco non valida"
+msgstr "Spec. gioco non valida."
#: src/client/clientlauncher.cpp
msgid "Main Menu"
@@ -889,29 +850,27 @@ msgstr "Menu principale"
#: src/client/clientlauncher.cpp
msgid "No world selected and no address provided. Nothing to do."
-msgstr ""
-"Non è stato scelto nessun mondo e non è stato fornito\n"
-"nessun indirizzo. Non si può fare niente."
+msgstr "Nessun mondo selezionato e nessun indirizzo fornito. Nulla da fare."
#: src/client/clientlauncher.cpp
msgid "Player name too long."
-msgstr "Nome dell* utente troppo lungo."
+msgstr "Nome giocatore troppo lungo."
#: src/client/clientlauncher.cpp
msgid "Please choose a name!"
-msgstr "Per piacere scegliete un nome!"
+msgstr "Per favore scegli un nome!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
-msgstr ""
+msgstr "Impossibile aprire il file password fornito: "
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
-msgstr "Il percorso fornito del mondo non esiste: "
+msgstr "Il percorso fornito per il mondo non esiste: "
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr ""
+msgstr "richiede_font_ripiego"
#: src/client/game.cpp
msgid ""
@@ -919,7 +878,7 @@ msgid ""
"Check debug.txt for details."
msgstr ""
"\n"
-"Controllate debug.txt per i dettagli."
+"Controlla debug.txt per i dettagli."
#: src/client/game.cpp
msgid "- Address: "
@@ -947,49 +906,43 @@ msgstr "- Pubblico: "
#: src/client/game.cpp
msgid "- PvP: "
-msgstr "- UcU: "
+msgstr "- PvP: "
#: src/client/game.cpp
msgid "- Server Name: "
-msgstr "- Nome del server: "
+msgstr "- Nome server: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "Tasto avanti"
+msgstr "Avanzamento automatico disabilitato"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "Tasto avanti"
+msgstr "Avanzamento automatico abilitato"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update disabled"
-msgstr "Tasto di (dis)attivazione dell'aggiornamento della telecamera"
+msgstr "Aggiornamento telecamera disabilitato"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "Tasto di (dis)attivazione dell'aggiornamento della telecamera"
+msgstr "Aggiornamento telecamera abilitato"
#: src/client/game.cpp
msgid "Change Password"
-msgstr "Cambiare la password"
+msgstr "Cambia password"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode disabled"
-msgstr "Tasto modalità cinematic"
+msgstr "Modalità cinematica disabilitata"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode enabled"
-msgstr "Tasto modalità cinematic"
+msgstr "Modalità cinematica abilitata"
#: src/client/game.cpp
msgid "Client side scripting is disabled"
-msgstr ""
+msgstr "Scripting su lato client disabilitato"
#: src/client/game.cpp
msgid "Connecting to server..."
@@ -997,7 +950,7 @@ msgstr "Connessione al server..."
#: src/client/game.cpp
msgid "Continue"
-msgstr "Proseguire"
+msgstr "Continua"
#: src/client/game.cpp
#, c-format
@@ -1018,40 +971,39 @@ msgid ""
"- %s: chat\n"
msgstr ""
"Controlli:\n"
-"- %s: avanzare\n"
-"- %s: indietreggiare\n"
-"- %s: muoversi a sinistra\n"
-"- %s: muoversi a destra\n"
-"- %s: saltare/arrampicarsi\n"
-"- %s: strisciare/scendere\n"
-"- %s: lasciare un oggetto\n"
+"- %s: avanza\n"
+"- %s: arretra\n"
+"- %s: sinistra\n"
+"- %s: destra\n"
+"- %s: salta/arrampica\n"
+"- %s: striscia/scendi\n"
+"- %s: butta oggetto\n"
"- %s: inventario\n"
-"- Mouse: girarsi/guardare\n"
-"- Mouse sinistro: scavare/colpire\n"
-"- Mouse destro: mettere/usare\n"
-"- Rotella mouse: scegliere un oggetto\n"
-"- %s: area messaggi\n"
+"- Mouse: gira/guarda\n"
+"- Mouse sx: scava/colpisci\n"
+"- Mouse dx: piazza/usa\n"
+"- Rotella mouse: scegli oggetto\n"
+"- %s: chat\n"
#: src/client/game.cpp
msgid "Creating client..."
-msgstr "Creazione del client..."
+msgstr "Creazione client..."
#: src/client/game.cpp
msgid "Creating server..."
-msgstr "Creazione del server..."
+msgstr "Creazione server..."
#: src/client/game.cpp
msgid "Debug info and profiler graph hidden"
-msgstr ""
+msgstr "Info di debug e grafico profiler nascosti"
#: src/client/game.cpp
-#, fuzzy
msgid "Debug info shown"
-msgstr "Tasto di (dis)attivazione delle informazioni di debug"
+msgstr "Info debug mostrate"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
-msgstr ""
+msgstr "Info debug, grafico profiler, e struttura nascosti"
#: src/client/game.cpp
msgid ""
@@ -1069,75 +1021,69 @@ msgid ""
" --> place single item to slot\n"
msgstr ""
"Controlli predefiniti:\n"
-"Menu non visibile:\n"
-"- tocco singolo: attiva il pulsante\n"
-"- tocco doppio: mettere/usare\n"
-"- trascinare il dito: guardarsi attorno\n"
+"Nessun menu visibile:\n"
+"- tocco singolo: attiva pulsante\n"
+"- tocco doppio; piazza/usa\n"
+"- trascina: guarda attorno\n"
"Menu/Inventario visibile:\n"
-"- tocco doppio (fuori):\n"
-" --> chiudere\n"
-"- tocco su gruppo, tocco su casella:\n"
-" --> spostare un gruppo\n"
-"- toccare e trascinare, tocco col 2° dito\n"
-" --> mettere un solo oggetto nella casella\n"
+"- tocco doppio (esterno):\n"
+" -->chiudi\n"
+"- tocco pila, tocco casella:\n"
+" --> sposta pila\n"
+"- tocco e trascina, tocco 2° dito\n"
+" --> piazza singolo oggetto in casella\n"
#: src/client/game.cpp
msgid "Disabled unlimited viewing range"
-msgstr ""
+msgstr "Raggio visivo illimitato disabilitato"
#: src/client/game.cpp
msgid "Enabled unlimited viewing range"
-msgstr ""
+msgstr "Raggio visivo illimitato abilitato"
#: src/client/game.cpp
msgid "Exit to Menu"
-msgstr "Tornare al menu"
+msgstr "Torna al menu"
#: src/client/game.cpp
msgid "Exit to OS"
-msgstr "Tornare al s.o."
+msgstr "Torna al S.O."
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode disabled"
-msgstr "Velocità della modalità veloce"
+msgstr "Modalità rapida disabilitata"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
-msgstr "Velocità della modalità veloce"
+msgstr "Modalità rapida abilitata"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
-msgstr ""
+msgstr "Modalità rapida abilitata (nota: niente privilegio 'fast')"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode disabled"
-msgstr "Velocità della modalità veloce"
+msgstr "Modalità volo disabilitata"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "Ferimento abilitato"
+msgstr "Modalità volo abilitata"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr ""
+msgstr "Modalità volo abilitata (nota: niente privilegio 'fly')"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog disabled"
-msgstr "Disatt. pacch."
+msgstr "Nebbia disabilitata"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog enabled"
-msgstr "abilitato"
+msgstr "Nebbia abilitata"
#: src/client/game.cpp
msgid "Game info:"
-msgstr "Informazioni sul gioco:"
+msgstr "Info gioco:"
#: src/client/game.cpp
msgid "Game paused"
@@ -1149,7 +1095,7 @@ msgstr "Server ospite"
#: src/client/game.cpp
msgid "Item definitions..."
-msgstr "Definizioni dell'oggetto..."
+msgstr "Definizioni oggetti..."
#: src/client/game.cpp
msgid "KiB/s"
@@ -1165,73 +1111,71 @@ msgstr "MiB/s"
#: src/client/game.cpp
msgid "Minimap currently disabled by game or mod"
-msgstr ""
+msgstr "Minimappa attualmente disabilitata dal gioco o da una mod"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap hidden"
-msgstr "Tasto minimappa"
+msgstr "Minimappa nascosta"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x1"
-msgstr ""
+msgstr "Minimappa in modalità radar, ingrandimento x1"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x2"
-msgstr ""
+msgstr "Minimappa in modalità radar, ingrandimento x2"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x4"
-msgstr ""
+msgstr "Minimappa in modalità radar, ingrandimento x4"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x1"
-msgstr ""
+msgstr "Minimappa in modalità superficie, ingrandimento x1"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x2"
-msgstr ""
+msgstr "Minimappa in modalità superficie, ingrandimento x2"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x4"
-msgstr ""
+msgstr "Minimappa in modalità superficie, ingrandimento x4"
#: src/client/game.cpp
msgid "Noclip mode disabled"
-msgstr ""
+msgstr "Modalità incorporea disabilitata"
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled"
-msgstr "Ferimento abilitato"
+msgstr "Modalità incorporea abilitata"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
-msgstr ""
+msgstr "Modalità incorporea abilitata (nota: niente privilegio 'noclip')"
#: src/client/game.cpp
msgid "Node definitions..."
-msgstr "Definizioni del nodo..."
+msgstr "Definizioni nodi..."
#: src/client/game.cpp
msgid "Off"
-msgstr "Disattivat*"
+msgstr "Disattivato"
#: src/client/game.cpp
msgid "On"
-msgstr "Attiv*"
+msgstr "Attivato"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
-msgstr ""
+msgstr "Modalità movimento inclinazione disabilitata"
#: src/client/game.cpp
msgid "Pitch move mode enabled"
-msgstr ""
+msgstr "Modalità movimento inclinazione abilitata"
#: src/client/game.cpp
msgid "Profiler graph shown"
-msgstr ""
+msgstr "Grafico profiler visualizzato"
#: src/client/game.cpp
msgid "Remote server"
@@ -1239,11 +1183,11 @@ msgstr "Server remoto"
#: src/client/game.cpp
msgid "Resolving address..."
-msgstr "Risoluzione dell'indirizzo..."
+msgstr "Risoluzione indirizzo..."
#: src/client/game.cpp
msgid "Shutting down..."
-msgstr "Spegnimento..."
+msgstr "Chiusura..."
#: src/client/game.cpp
msgid "Singleplayer"
@@ -1251,89 +1195,84 @@ msgstr "Gioco locale"
#: src/client/game.cpp
msgid "Sound Volume"
-msgstr "Volume audio"
+msgstr "Volume suono"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound muted"
-msgstr "Volume audio"
+msgstr "Suono disattivato"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound unmuted"
-msgstr "Volume audio"
+msgstr "Suono attivato"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range changed to %d"
-msgstr "Volume modificato a %d%%"
+msgstr "Raggio visivo cambiato a %d"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range is at maximum: %d"
-msgstr "Distanza minima di visibilità"
+msgstr "Il raggio visivo è al massimo: %d"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range is at minimum: %d"
-msgstr "Distanza minima di visibilità"
+msgstr "Il raggio visivo è al minimo: %d"
#: src/client/game.cpp
#, c-format
msgid "Volume changed to %d%%"
-msgstr "Volume modificato a %d%%"
+msgstr "Volume cambiato a %d%%"
#: src/client/game.cpp
msgid "Wireframe shown"
-msgstr ""
+msgstr "Struttura visualizzata"
#: src/client/game.cpp
msgid "Zoom currently disabled by game or mod"
-msgstr ""
+msgstr "Ingrandimento attualmente disabilitato dal gioco o da un mod"
#: src/client/game.cpp src/gui/modalMenu.cpp
msgid "ok"
msgstr "va bene"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Chat hidden"
-msgstr "Tasto della messaggistica"
+msgstr "Chat nascosta"
#: src/client/gameui.cpp
msgid "Chat shown"
-msgstr ""
+msgstr "Chat visualizzata"
#: src/client/gameui.cpp
msgid "HUD hidden"
-msgstr ""
+msgstr "Visore nascosto"
#: src/client/gameui.cpp
msgid "HUD shown"
-msgstr ""
+msgstr "Visore visualizzato"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Profiler hidden"
-msgstr "Generatore di profili"
+msgstr "Profiler nascosto"
#: src/client/gameui.cpp
#, c-format
msgid "Profiler shown (page %d of %d)"
-msgstr ""
+msgstr "Profiler visualizzato (pagina %d di %d)"
#: src/client/keycode.cpp
msgid "Apps"
msgstr "App"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Backspace"
msgstr "Indietro"
#: src/client/keycode.cpp
msgid "Caps Lock"
-msgstr "Bloc. maiusc."
+msgstr "Blocca maiusc."
#: src/client/keycode.cpp
msgid "Clear"
@@ -1377,7 +1316,7 @@ msgstr "IME Convert"
#: src/client/keycode.cpp
msgid "IME Escape"
-msgstr "IME Escape"
+msgstr "Esc"
#: src/client/keycode.cpp
msgid "IME Mode Change"
@@ -1397,7 +1336,7 @@ msgstr "Sinistra"
#: src/client/keycode.cpp
msgid "Left Button"
-msgstr "Pulsante sin."
+msgstr "Pulsante sinistro"
#: src/client/keycode.cpp
msgid "Left Control"
@@ -1405,15 +1344,15 @@ msgstr "Ctrl sinistro"
#: src/client/keycode.cpp
msgid "Left Menu"
-msgstr "Menu sin."
+msgstr "Alt sinistro"
#: src/client/keycode.cpp
msgid "Left Shift"
-msgstr "Maiusc sin."
+msgstr "Maiusc sinistro"
#: src/client/keycode.cpp
msgid "Left Windows"
-msgstr "Windows sin."
+msgstr "Windows sinistro"
#: src/client/keycode.cpp
msgid "Menu"
@@ -1421,83 +1360,83 @@ msgstr "Menu"
#: src/client/keycode.cpp
msgid "Middle Button"
-msgstr "Pulsante cen."
+msgstr "Pulsante centrale"
#: src/client/keycode.cpp
msgid "Num Lock"
-msgstr "Tastierino"
+msgstr "Bloc Num"
#: src/client/keycode.cpp
msgid "Numpad *"
-msgstr "* tastierino"
+msgstr "Tastierino *"
#: src/client/keycode.cpp
msgid "Numpad +"
-msgstr "+ tastierino"
+msgstr "Tastierino +"
#: src/client/keycode.cpp
msgid "Numpad -"
-msgstr "- tastierino"
+msgstr "Tastierino -"
#: src/client/keycode.cpp
msgid "Numpad ."
-msgstr ". tastierino"
+msgstr "Tastierino ."
#: src/client/keycode.cpp
msgid "Numpad /"
-msgstr "/ tastierino"
+msgstr "Tastierino /"
#: src/client/keycode.cpp
msgid "Numpad 0"
-msgstr "0 tastierino"
+msgstr "Tastierino 0"
#: src/client/keycode.cpp
msgid "Numpad 1"
-msgstr "1 tastierino"
+msgstr "Tastierino 1"
#: src/client/keycode.cpp
msgid "Numpad 2"
-msgstr "2 tastierino"
+msgstr "Tastierino 2"
#: src/client/keycode.cpp
msgid "Numpad 3"
-msgstr "3 tastierino"
+msgstr "Tastierino 3"
#: src/client/keycode.cpp
msgid "Numpad 4"
-msgstr "4 tastierino"
+msgstr "Tastierino 4"
#: src/client/keycode.cpp
msgid "Numpad 5"
-msgstr "5 tastierino"
+msgstr "Tastierino 5"
#: src/client/keycode.cpp
msgid "Numpad 6"
-msgstr "6 tastierino"
+msgstr "Tastierino 6"
#: src/client/keycode.cpp
msgid "Numpad 7"
-msgstr "7 tastierino"
+msgstr "Tastierino 7"
#: src/client/keycode.cpp
msgid "Numpad 8"
-msgstr "8 tastierino"
+msgstr "Tastierino 8"
#: src/client/keycode.cpp
msgid "Numpad 9"
-msgstr "9 tastierino"
+msgstr "Tastierino 9"
#: src/client/keycode.cpp
msgid "OEM Clear"
-msgstr "OEM Clear"
+msgstr "OEM Canc"
#: src/client/keycode.cpp
msgid "Page down"
-msgstr ""
+msgstr "Pag. giù"
#: src/client/keycode.cpp
msgid "Page up"
-msgstr ""
+msgstr "Pag. su"
#: src/client/keycode.cpp
msgid "Pause"
@@ -1521,7 +1460,7 @@ msgstr "Destra"
#: src/client/keycode.cpp
msgid "Right Button"
-msgstr "Pulsante des."
+msgstr "Pusante detro"
#: src/client/keycode.cpp
msgid "Right Control"
@@ -1529,15 +1468,15 @@ msgstr "Ctrl destro"
#: src/client/keycode.cpp
msgid "Right Menu"
-msgstr "Menu des."
+msgstr "Menu destro"
#: src/client/keycode.cpp
msgid "Right Shift"
-msgstr "Maiusc des."
+msgstr "Maiusc destro"
#: src/client/keycode.cpp
msgid "Right Windows"
-msgstr "Windows des."
+msgstr "Windows destro"
#: src/client/keycode.cpp
msgid "Scroll Lock"
@@ -1557,7 +1496,7 @@ msgstr "Sospensione"
#: src/client/keycode.cpp
msgid "Snapshot"
-msgstr "Istantanea"
+msgstr "Stampa"
#: src/client/keycode.cpp
msgid "Space"
@@ -1581,56 +1520,58 @@ msgstr "Pulsante X 2"
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
msgid "Zoom"
-msgstr "Zoom"
+msgstr "Ingrandimento"
#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
msgid "Passwords do not match!"
-msgstr "Le password non coincidono!"
+msgstr "Le password non corrispondono!"
#: src/gui/guiConfirmRegistration.cpp
msgid "Register and Join"
-msgstr ""
+msgstr "Registrati e accedi"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
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 "
+"credenziali.\n"
+"Per favore reinserisci la tua password e premi Registrati e accedi per "
+"confermare la creazione dell'account, o premi Annulla per interrompere."
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
-msgstr "Procedere"
+msgstr "Prosegui"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "\"Special\" = climb down"
-msgstr "\"Usare\" = scendere"
+msgstr "\"Speciale\" = scendi"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Autoforward"
-msgstr "Avanzare"
+msgstr "Avanzam. autom."
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
-msgstr ""
+msgstr "Salto automatico"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Backward"
-msgstr "Indietreggiare"
+msgstr "Indietreggia"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
-msgstr "Modificare i tasti"
+msgstr "Cambia vista"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
-msgstr "Messaggistica"
+msgstr "Chat"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Command"
@@ -1641,34 +1582,32 @@ msgid "Console"
msgstr "Console"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Dec. range"
-msgstr "Raggio visivo"
+msgstr "Diminuisci raggio"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. volume"
-msgstr "Dim. volume"
+msgstr "Diminuisci volume"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Double tap \"jump\" to toggle fly"
-msgstr "Cliccare \"saltare\" 2v. per volare"
+msgstr "Doppio \"salta\" per scegliere il volo"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Drop"
-msgstr "Lasciare"
+msgstr "Butta"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Forward"
-msgstr "Avanzare"
+msgstr "Avanza"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Inc. range"
-msgstr "Raggio visivo"
+msgstr "Aumenta raggio"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. volume"
-msgstr "Aum. volume"
+msgstr "Aumenta volume"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inventory"
@@ -1676,16 +1615,16 @@ msgstr "Inventario"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Jump"
-msgstr "Saltare"
+msgstr "Salta"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Key already in use"
-msgstr "Tasto già in uso"
+msgstr "Tasto già usato"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
msgstr ""
-"Assegnazione dei tasti. (Se il menu si guasta, toglieteli da minetest.conf)"
+"Associamenti tasti. (Se questo menu si incasina, togli roba da minetest.conf)"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Local command"
@@ -1697,63 +1636,60 @@ msgstr "Silenzio"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Next item"
-msgstr "Ogg. succ."
+msgstr "Oggetto successivo"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Prev. item"
-msgstr "Ogg. prec."
+msgstr "Oggetto precedente"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Range select"
-msgstr "Scelta raggio"
+msgstr "Selezione raggio"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Screenshot"
-msgstr "Istantanea"
+msgstr "Schermata"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Sneak"
-msgstr "Strisciare"
+msgstr "Striscia"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Special"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Cinematic Sì/No"
+msgstr "Speciale"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
-msgstr "Volo Sì/No"
+msgstr "Scegli visore"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle chat log"
-msgstr "Corsa Sì/No"
+msgstr "Scegli registro chat"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fast"
-msgstr "Corsa Sì/No"
+msgstr "Scegli rapido"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fly"
-msgstr "Volo Sì/No"
+msgstr "Scegli volo"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle fog"
-msgstr "Volo Sì/No"
+msgstr "Scegli nebbia"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
-msgstr "Incorporeo Sì/No"
+msgstr "Scegli minimappa"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
-msgstr "Incorporeo Sì/No"
+msgstr "Scegli incorporea"
+
+#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Scegli registro chat"
#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
@@ -1761,11 +1697,11 @@ msgstr "premi il tasto"
#: src/gui/guiPasswordChange.cpp
msgid "Change"
-msgstr "Modificare"
+msgstr "Cambia"
#: src/gui/guiPasswordChange.cpp
msgid "Confirm Password"
-msgstr "Confermare la password"
+msgstr "Conferma la password"
#: src/gui/guiPasswordChange.cpp
msgid "New Password"
@@ -1777,20 +1713,19 @@ msgstr "Vecchia password"
#: src/gui/guiVolumeChange.cpp
msgid "Exit"
-msgstr "Uscire"
+msgstr "Uscita"
#: src/gui/guiVolumeChange.cpp
-#, fuzzy
msgid "Muted"
-msgstr "Silenzio"
+msgstr "Silenziato"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
-msgstr "Volume audio: "
+msgstr "Volume suono: "
#: src/gui/modalMenu.cpp
msgid "Enter "
-msgstr "Invio "
+msgstr "Inserisci "
#: src/network/clientpackethandler.cpp
msgid "LANG_CODE"
@@ -1801,6 +1736,9 @@ msgid ""
"(Android) Fixes the position of virtual joystick.\n"
"If disabled, virtual joystick will center to first-touch's position."
msgstr ""
+"(Android) Fissa la posizione del joytick virtuale.\n"
+"Se disabilitato, il joystick sarà centrato alla\n"
+"posizione del primo tocco."
#: src/settings_translation_file.cpp
msgid ""
@@ -1808,9 +1746,11 @@ msgid ""
"If enabled, virtual joystick will also tap \"aux\" button when out of main "
"circle."
msgstr ""
+"(Android) Usa il joystick virtuale per attivare il pulsante \"aux\".\n"
+"Se abilitato, inoltre il joystick virtuale premerà il pulsante \"aux\" "
+"quando fuori dal cerchio principale."
#: 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"
@@ -1821,14 +1761,17 @@ msgid ""
"situations.\n"
"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes."
msgstr ""
-"(X, Y, Z) spostamento del frattale dal centro del mondo in unità di "
-"'scala'.\n"
-"Usato per muovere un'area di terreno basso adeguato alla comparsa vicino a "
-"(0, 0).\n"
-"I valori predefiniti sono adatti alle serie mandelbrot, richiedono modifiche "
-"per le serie julia.\n"
-"Spazia pressapoco tra -2 e 2. Moltiplicate per 'scala' per ottenere lo "
-"spostamento in nodi."
+"Spostamento (X,Y,Z) del frattale dal centro del mondo in\n"
+"unità di \"scala\".\n"
+"Può essere usato per spostare un punto desiderato a (0,0)\n"
+"per creare un punto di comparsa adatto, o per consentire\n"
+"l'ingrandimento su di un punto desiderato per mezzo\n"
+"dell'aumento della \"scala\".\n"
+"Il valore predefinito è regolato per un punto di comparsa\n"
+"opportuno con le serie Mandelbrot che usino i parametri\n"
+"predefiniti, potrebbe richiedere modifiche in altre situazioni.\n"
+"Varia grossomodo da -2 a 2. Si moltiplichi per \"scala\" per\n"
+"lo spostamento in nodi."
#: src/settings_translation_file.cpp
msgid ""
@@ -1840,38 +1783,55 @@ msgid ""
"Default is for a vertically-squashed shape suitable for\n"
"an island, set all 3 numbers equal for the raw shape."
msgstr ""
+"Scala (X,Y,Z) del frattale in nodi.\n"
+"La dimensione effettiva del frattale sarà due o tre volte\n"
+"più grande.\n"
+"Questi numeri possono essere impostati su valori molto\n"
+"alti, il frattale non deve necessariamente rientrare nel\n"
+"mondo.\n"
+"Li si aumenti per \"ingrandire\" nel dettaglio del frattale.\n"
+"Il valore predefinito è per una forma schiacciata\n"
+"verticalmente, adatta a un'isola, si impostino tutti e tre\n"
+"i numeri sullo stesso valore per la forma grezza."
#: src/settings_translation_file.cpp
msgid ""
"0 = parallax occlusion with slope information (faster).\n"
"1 = relief mapping (slower, more accurate)."
msgstr ""
-"0 = parallax occlusion con informazione di inclinazione (più rapida).\n"
-"1 = mappatura di rilievo (più lenta, più accurata)."
+"0 = occlusione di parallasse con informazione di inclinazione (più veloce).\n"
+"1 = relief mapping (più lenta, più accurata)."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of ridged mountains."
-msgstr ""
+msgstr "Rumore 2D che controlla forma/dimensione delle montagne con dirupi."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of rolling hills."
-msgstr ""
+msgstr "Rumore 2D che controlla forma/dimensione delle colline in serie."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of step mountains."
-msgstr ""
+msgstr "Rumore 2D che controlla forma/dimensione delle montagne a terrazza."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
msgstr ""
+"Rumore 2D che controlla forma/comparsa delle file di montagne con dirupi."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of rolling hills."
-msgstr ""
+msgstr "Rumore 2D che controlla forma/comparsa delle colline in serie."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of step mountain ranges."
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."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1891,23 +1851,27 @@ msgid ""
"Also defines structure of floatland mountain terrain."
msgstr ""
"Rumore 3D che definisce struttura e altezza delle montagne.\n"
-"Stabilisce anche la struttura del terreno montano delle isole fluttuanti."
+"Definisce anche la struttura del terreno montano delle terre fluttuanti."
#: src/settings_translation_file.cpp
msgid "3D noise defining structure of river canyon walls."
-msgstr "Rumore 3D che definisce la struttura dei muri dei canyon fluviali."
+msgstr "Rumore 3D che definisce la struttura dei muri dei canyon dei fiumi."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "3D noise defining terrain."
-msgstr "Rumore 3D che definisce le caverne giganti."
+msgstr "Rumore 3D che definisce il terreno."
#: src/settings_translation_file.cpp
msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
+"Rumore 3D per sporgenze, dirupi, ecc. delle montagne. Normalmente piccole "
+"variazioni."
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1922,21 +1886,23 @@ msgid ""
msgstr ""
"Supporto 3D.\n"
"Attualmente supportati:\n"
-"- none (nessuno): nessun output 3D.\n"
-"- anaglyph (anaglifo): 3D in colori ciano/magenta.\n"
-"- interlaced (intrecciato): supporto per polarizzazione schermo\n"
-" basata su linea pari/dispari.\n"
-"- topbottom: divisione dello schermo in superiore/inferiore.\n"
-"- sidebyside: divisione dello schermo in fianco a fianco.\n"
-"- pageflip: 3D basato su buffer quadruplo."
+"- nessuno: nessuna resa 3D.\n"
+"- anaglifo: 3D a colori ciano/magenta.\n"
+"- intrecciato: supporto polarizzazione schermo basato sulle linee pari/"
+"dispari.\n"
+"- sopra-sotto: divide lo schermo sopra-sotto.\n"
+"- fianco-a-fianco: divide lo schermo fianco a fianco.\n"
+"- vista incrociata: 3D a occhi incrociati.\n"
+"- inversione pagina: 3D basato su quadbuffer.\n"
+"Si noti che la modalità intrecciata richiede l'abilitazione degli shader."
#: 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 ""
-"Un seme predefinito per la nuova mappa, lasciate vuoto per uno casuale.\n"
-"Verrà ignorato alla creazione di un nuovo mondo nel menu principale."
+"Un seme prescelto per una nuova mappa, lascialo vuoto per uno casuale.\n"
+"Sarà ignorato quando si crea un nuovo mondo nel menu principale."
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server crashes."
@@ -1945,37 +1911,39 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server shuts down."
-msgstr "Un messaggio da mostrare a tutti i client quando il server si spegne."
+msgstr "Un messaggio da mostrare a tutti i client quando il server chiude."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ABM interval"
-msgstr "Intervallo di salvataggio della mappa"
+msgstr "Intervallo ABM"
#: src/settings_translation_file.cpp
msgid "Absolute limit of emerge queues"
-msgstr "Limite assoluto di code 'emerge'"
+msgstr "Limite assoluto di code emerge"
#: src/settings_translation_file.cpp
msgid "Acceleration in air"
msgstr "Accelerazione in aria"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
-msgstr "Modificatori dei blocchi attivi (ABM)"
+msgstr "Modificatori dei blocchi attivi"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Active block management interval"
-msgstr "Intervallo della gestione del blocco attivo"
+msgstr "Intervallo di gestione dei blocchi attivi"
#: src/settings_translation_file.cpp
msgid "Active block range"
-msgstr "Portata del blocco attivo"
+msgstr "Raggio dei blocchi attivi"
#: src/settings_translation_file.cpp
msgid "Active object send range"
-msgstr "Portata di invio dell'oggetto attivo"
+msgstr "Raggio di invio degli oggetti attivi"
#: src/settings_translation_file.cpp
msgid ""
@@ -1984,21 +1952,21 @@ msgid ""
"Note that the address field in the main menu overrides this setting."
msgstr ""
"Indirizzo a cui connettersi.\n"
-"Lasciatelo vuoto per avviare un server locale.\n"
-"Si noti che il campo dell'indirizzo nel menu principale scavalca questa "
+"Lascialo vuoto per avviare un server locale.\n"
+"Si noti che il campo indirizzo nel menu principale sovrascrive questa "
"impostazione."
#: src/settings_translation_file.cpp
msgid "Adds particles when digging a node."
-msgstr "Aggiunge delle particelle quando si scava un nodo."
+msgstr "Aggiunge particelle quando scavi un nodo."
#: src/settings_translation_file.cpp
msgid ""
"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k "
"screens."
msgstr ""
-"Adatta la configurazione dpi al vostro schermo (non X11/solo Android) ad es. "
-"per schermi 4k."
+"Regola la configurazione dpi per il tuo schermo (solo non X11/Android) per "
+"es. per schermi 4K."
#: src/settings_translation_file.cpp
msgid ""
@@ -2006,8 +1974,8 @@ msgid ""
"brighter.\n"
"This setting is for the client only and is ignored by the server."
msgstr ""
-"Adatta la codifica di gamma per le tabelle di illuminazione.\n"
-"Numeri superiori corrispondono a una luminosità maggiore.\n"
+"Regola la codifica della gamma per le tabelle della luce. Numeri maggiori "
+"sono più chiari.\n"
"Questa impostazione è solo per il client ed è ignorata dal server."
#: src/settings_translation_file.cpp
@@ -2017,15 +1985,16 @@ msgstr "Avanzate"
#: src/settings_translation_file.cpp
msgid "Alters how mountain-type floatlands taper above and below midpoint."
msgstr ""
+"Modifica il restringimento superiore e inferiore rispetto al punto mediano "
+"delle terre fluttuanti di tipo montagnoso."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Altitude chill"
-msgstr "Congelamento da altitudine"
+msgstr "Raffreddamento altitudine"
#: src/settings_translation_file.cpp
msgid "Always fly and fast"
-msgstr "Sempre volo veloce"
+msgstr "Sempre volo e veloce"
#: src/settings_translation_file.cpp
msgid "Ambient occlusion gamma"
@@ -2033,33 +2002,31 @@ msgstr "Gamma dell'occlusione ambientale"
#: src/settings_translation_file.cpp
msgid "Amount of messages a player may send per 10 seconds."
-msgstr ""
+msgstr "Numero di messaggi che un giocatore può inviare ogni 10sec."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Amplifies the valleys."
-msgstr "Ingrandisce le vallate"
+msgstr "Allarga le vallate."
#: src/settings_translation_file.cpp
msgid "Anisotropic filtering"
-msgstr "Filtro anisotropico"
+msgstr "Filtraggio anisotropico"
#: src/settings_translation_file.cpp
msgid "Announce server"
msgstr "Rendere noto il server"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Announce to this serverlist."
-msgstr "Rendere noto il server"
+msgstr "Annuncia a questo elenco di server."
#: src/settings_translation_file.cpp
msgid "Append item name"
-msgstr ""
+msgstr "Posponi nome oggetto"
#: src/settings_translation_file.cpp
msgid "Append item name to tooltip."
-msgstr ""
+msgstr "Posponi nome oggetto a suggerimenti."
#: src/settings_translation_file.cpp
msgid "Apple trees noise"
@@ -2067,20 +2034,22 @@ msgstr "Rumore dei meli"
#: src/settings_translation_file.cpp
msgid "Arm inertia"
-msgstr ""
+msgstr "Inerzia del braccio"
#: src/settings_translation_file.cpp
msgid ""
"Arm inertia, gives a more realistic movement of\n"
"the arm when the camera moves."
msgstr ""
+"Inerzia del braccio, dà un movimento più\n"
+"realistico al braccio quando si muove la\n"
+"visuale."
#: src/settings_translation_file.cpp
msgid "Ask to reconnect after crash"
-msgstr "Chiedere di riconnettersi dopo un crash"
+msgstr "Chiedi di riconnettersi dopo un crash"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"At this distance the server will aggressively optimize which blocks are sent "
"to\n"
@@ -2094,30 +2063,27 @@ msgid ""
"optimization.\n"
"Stated in mapblocks (16 nodes)."
msgstr ""
-"A questa distanza il server ottimizzerà aggressivamente quali blocchi sono "
+"A questa distanza il server ottimizzerà aggressivamente quali blocchi sono\n"
"inviati ai client.\n"
-"Piccoli valori potenzialmente migliorano molto la resa, al prezzo di errori "
-"di rendering visibili.\n"
-"(Alcuni blocchi non verranno visualizzati sott'acqua e nelle caverne, così "
-"come a volte sulla\n"
-"terra.) Impostare un valore maggiore di max_block_sens_distance disattiva "
-"questa\n"
-"ottimizzazione.\n"
-"Definita in blocchi mappa (16 nodi)"
+"Potenzialmente valori piccoli migliorano molto le prestazioni, al costo di\n"
+"difetti di disegno visibili (alcuni blocchi non saranno disegnati sott'acqua "
+"e\n"
+"nelle grotte, come a volte sul terreno).\n"
+"Impostarla a un valore maggiore di max_block_send_distance disabilita\n"
+"questa ottimizzazione.\n"
+"Fissata in blocchi mappa (16 nodi)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
-msgstr "Tasto avanti"
+msgstr "Tasto di avanzamento automatico"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
-msgstr ""
+msgstr "Salta automaticamente su ostacoli di un nodo singolo."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically report to the serverlist."
-msgstr "Rapporto automatico all'elenco dei server."
+msgstr "Fa rapporto automatico all'elenco dei server."
#: src/settings_translation_file.cpp
msgid "Autosave screen size"
@@ -2125,38 +2091,35 @@ msgstr "Salvare dim. finestra"
#: src/settings_translation_file.cpp
msgid "Autoscaling mode"
-msgstr ""
+msgstr "Modalità scalamento automatico"
#: src/settings_translation_file.cpp
msgid "Backward key"
msgstr "Tasto per indietreggiare"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base ground level"
-msgstr "Livello del terreno"
+msgstr "Livello base del terreno"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base terrain height."
-msgstr "Altezza base del terreno"
+msgstr "Altezza base del terreno."
#: src/settings_translation_file.cpp
msgid "Basic"
-msgstr "Basilare"
+msgstr "Base"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Basic privileges"
msgstr "Privilegi di base"
#: src/settings_translation_file.cpp
msgid "Beach noise"
-msgstr "Rumore della spiaggia"
+msgstr "Rumore delle spiagge"
#: src/settings_translation_file.cpp
msgid "Beach noise threshold"
-msgstr "Soglia del rumore della spiaggia"
+msgstr "Soglia del rumore delle spiagge"
#: src/settings_translation_file.cpp
msgid "Bilinear filtering"
@@ -2168,24 +2131,23 @@ msgstr "Lega indirizzo"
#: src/settings_translation_file.cpp
msgid "Biome API temperature and humidity noise parameters"
-msgstr "Parametri del rumore di temperatura e umidità dell'API dei biomi"
+msgstr "Parametri di rumore dell'API dei biomi per temperatura e umidità"
#: src/settings_translation_file.cpp
msgid "Biome noise"
-msgstr "Rumore del bioma"
+msgstr "Rumore biomi"
#: src/settings_translation_file.cpp
msgid "Bits per pixel (aka color depth) in fullscreen mode."
-msgstr "Bit per pixel (cioè profondità di colore) in modalità schermo intero."
+msgstr "Bit per pixel (o profondità di colore) in modalità schermo intero."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Block send optimize distance"
msgstr "Distanza di ottimizzazione dell'invio dei blocchi"
#: src/settings_translation_file.cpp
msgid "Build inside player"
-msgstr "Costruzione sul posto"
+msgstr "Costruisci dentro giocatore"
#: src/settings_translation_file.cpp
msgid "Builtin"
@@ -2196,12 +2158,17 @@ msgid "Bumpmapping"
msgstr "Bumpmapping"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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"
+"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."
#: src/settings_translation_file.cpp
msgid "Camera smoothing"
@@ -2213,7 +2180,7 @@ msgstr "Fluidità della telecamera in modalità cinematic"
#: src/settings_translation_file.cpp
msgid "Camera update toggle key"
-msgstr "Tasto di (dis)attivazione dell'aggiornamento della telecamera"
+msgstr "Tasto di scelta dell'aggiornamento della telecamera"
#: src/settings_translation_file.cpp
msgid "Cave noise"
@@ -2256,13 +2223,12 @@ msgid "Cavern threshold"
msgstr "Soglia della caverna"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Cavern upper limit"
-msgstr "Limite della caverna"
+msgstr "Limite superiore della caverna"
#: src/settings_translation_file.cpp
msgid "Center of light curve mid-boost."
-msgstr ""
+msgstr "Centro dell'aumento mediano della curva della luce."
#: src/settings_translation_file.cpp
msgid ""
@@ -2273,32 +2239,41 @@ msgid ""
"be\n"
"necessary for smaller screens."
msgstr ""
+"Cambia l'UI del menu principale:\n"
+"- Completa: mondi locali multipli, scelta del gioco, selettore pacchetti "
+"grafici, ecc.\n"
+"- Semplice: un mondo locale, nessun selettore di gioco o pacchetti "
+"grafici.\n"
+"Potrebbe servire per gli schermi più piccoli."
#: src/settings_translation_file.cpp
msgid "Chat key"
-msgstr "Tasto della messaggistica"
+msgstr "Tasto della chat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message count limit"
-msgstr "Messaggio di stato alla connessione"
+msgstr "Numero limite dei messaggi di chat"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Lunghezza massima dei messaggi di chat"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
-msgstr "Soglia di rumore del deserto"
+msgstr "Limite dei messaggi di chat per l'espulsione"
#: src/settings_translation_file.cpp
msgid "Chat message max length"
-msgstr ""
+msgstr "Lunghezza massima dei messaggi di chat"
#: src/settings_translation_file.cpp
msgid "Chat toggle key"
-msgstr "Tasto di (dis)attivazione della messaggistica"
+msgstr "Tasto di scelta della chat"
#: src/settings_translation_file.cpp
msgid "Chatcommands"
-msgstr "Comandi della messaggistica"
+msgstr "Comandi della chat"
#: src/settings_translation_file.cpp
msgid "Chunk size"
@@ -2306,7 +2281,7 @@ msgstr "Dimensione del pezzo"
#: src/settings_translation_file.cpp
msgid "Cinematic mode"
-msgstr "Modalità cinematic"
+msgstr "Modalità cinematica"
#: src/settings_translation_file.cpp
msgid "Cinematic mode key"
@@ -2329,13 +2304,12 @@ msgid "Client modding"
msgstr "Modifica del client"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Client side modding restrictions"
-msgstr "Modifica del client"
+msgstr "Restrizioni delle modifiche del client"
#: src/settings_translation_file.cpp
msgid "Client side node lookup range restriction"
-msgstr ""
+msgstr "Restrizione dell'area di ricerca dei nodi su lato client"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
@@ -2371,14 +2345,23 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"so see a full list at https://content.minetest.net/help/content_flags/"
msgstr ""
+"Elenco separato da virgole di valori da nascondere nel deposito dei "
+"contenuti.\n"
+"\"nonfree\" può essere usato per nascondere pacchetti che non si "
+"qualificano\n"
+"come \"software libero\", così come definito dalla Free Software "
+"Foundation.\n"
+"Puoi anche specificare la classificazione dei contenuti.\n"
+"Questi valori sono indipendenti dalle versioni Minetest,\n"
+"si veda un elenco completo qui https://content.minetest.net/help/"
+"content_flags/"
#: 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 ""
-"Elenco separato da virgole di mod. a cui è permesso l'accesso alle API "
-"HTTP,\n"
+"Elenco separato da virgole di mod a cui è permesso l'accesso alle API HTTP,\n"
"che gli permettono di caricare e scaricare dati su/da internet."
#: src/settings_translation_file.cpp
@@ -2386,7 +2369,7 @@ 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 ""
-"Elenco separato da virgole dei mod. fidati ai quali è permesso l'accesso\n"
+"Elenco separato da virgole dei mod fidati ai quali è permesso l'accesso\n"
"a funzioni non sicure anche quando è attiva la sicurezza dei moduli\n"
"(tramite request_insecure_environment()."
@@ -2396,7 +2379,7 @@ msgstr "Tasto comando"
#: src/settings_translation_file.cpp
msgid "Connect glass"
-msgstr "Connettere i vetri"
+msgstr "Unire i vetri"
#: src/settings_translation_file.cpp
msgid "Connect to external media server"
@@ -2404,7 +2387,7 @@ msgstr "Connessione a un server multimediale esterno"
#: src/settings_translation_file.cpp
msgid "Connects glass if supported by node."
-msgstr "I vetri vengono connessi se il nodo lo supporta."
+msgstr "Unione vetri se il nodo lo supporta."
#: src/settings_translation_file.cpp
msgid "Console alpha"
@@ -2420,12 +2403,11 @@ msgstr "Altezza della console"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "Lista nera dei valori per il ContentDB"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Proseguire"
+msgstr "URL ContentDB"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2436,21 +2418,27 @@ msgid ""
"Continuous forward movement, toggled by autoforward key.\n"
"Press the autoforward key again or the backwards movement to disable."
msgstr ""
+"Avanzamento continuo, scelto dal tasto avanzamento automatico.\n"
+"Premi nuovamente il tasto avanzamento automatico o il tasto di\n"
+"arretramento per disabilitarlo."
#: src/settings_translation_file.cpp
msgid "Controls"
msgstr "Controlli"
#: 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 ""
"Controlla la durata del ciclo giorno/notte.\n"
-"Esempi: 72 = 20min, 360 = 4min, 1 = 24ore, 0 = giorno/notte/ecc. restano "
-"invariati."
+"Esempi:\n"
+"72 = 20min, 360 = 4min, 1 = 24ore, 0 = giorno/notte/ecc. restano invariati."
+
+#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
@@ -2461,13 +2449,12 @@ msgid "Controls steepness/height of hills."
msgstr "Controlla la ripidità/altezza delle colline."
#: 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 ""
-"Controlla la densità di terreno montano sulle isole fluttuanti.\n"
-"È uno spostamento aggiunto al valore del rumore di 'np_mountain'."
+"Controlla la densità delle terre fluttuanti di tipo montuoso.\n"
+"È uno spostamento di rumore aggiunto al valore del rumore 'mgv7_np_mountain'."
#: src/settings_translation_file.cpp
msgid "Controls width of tunnels, a smaller value creates wider tunnels."
@@ -2497,7 +2484,7 @@ msgstr "Colore del mirino"
#: src/settings_translation_file.cpp
msgid "Crosshair color (R,G,B)."
-msgstr "Colore del mirino (R, G, B)."
+msgstr "Colore del mirino (R,G,B)."
#: src/settings_translation_file.cpp
msgid "DPI"
@@ -2508,13 +2495,17 @@ msgid "Damage"
msgstr "Ferimento"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Darkness sharpness"
-msgstr "Ripidità dei laghi"
+msgstr "Nitidezza dell'oscurità"
#: src/settings_translation_file.cpp
msgid "Debug info toggle key"
-msgstr "Tasto di (dis)attivazione delle informazioni di debug"
+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"
#: src/settings_translation_file.cpp
msgid "Debug log level"
@@ -2525,8 +2516,12 @@ msgid "Dec. volume key"
msgstr "Tasto dim. volume"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
-msgstr "Passo del server dedicato"
+msgstr "Passo dedicato del server"
#: src/settings_translation_file.cpp
msgid "Default acceleration"
@@ -2561,7 +2556,7 @@ msgid ""
"Default timeout for cURL, stated in milliseconds.\n"
"Only has an effect if compiled with cURL."
msgstr ""
-"Scadenza predefinita per cURL, espressa in millisecondi.\n"
+"Scadenza predefinita per cURL, fissata in millisecondi.\n"
"Ha effetto solo se Minetest è stato compilato con cURL."
#: src/settings_translation_file.cpp
@@ -2569,8 +2564,8 @@ msgid ""
"Defines areas of floatland smooth terrain.\n"
"Smooth floatlands occur when noise > 0."
msgstr ""
-"Definisce aree di terreno agevole nelle isole fluttuanti.\n"
-"Le isole fluttuanti armoniose avvengono quando il rumore è > 0."
+"Definisce aree di terreno uniforme nelle terre fluttuanti.\n"
+"Le terre fluttuanti uniformi avvengono quando il rumore è > 0."
#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
@@ -2581,22 +2576,19 @@ msgid "Defines areas with sandy beaches."
msgstr "Definisce aree con spiagge sabbiose."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain and steepness of cliffs."
msgstr ""
-"Definisce aree di terreno elevato (cime dei picchi) e influisce sulla "
-"ripidità dei picchi."
+"Definisce la distribuzione del terreno superiore e la ripidità dei dirupi."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain."
-msgstr "Definisce aree di 'terrain_higher' (terreno in cima ai picchi)."
+msgstr "Definisce la distribuzione del terreno più alto."
#: src/settings_translation_file.cpp
msgid "Defines full size of caverns, smaller values create larger caverns."
msgstr ""
"Definisce la dimensione completa delle caverne, valori minori creano caverne "
-"più ampie."
+"più grandi."
#: src/settings_translation_file.cpp
msgid "Defines large-scale river channel structure."
@@ -2615,15 +2607,29 @@ msgstr ""
"Un valore maggiore dà normalmap più uniformi."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines the base ground level."
-msgstr "Definisce aree boschive e densità degli alberi."
+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."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
-"Stabilisce la distanza massima di trasferimento del personaggio in blocchi "
-"(0 = illimitata)."
+"Definisce la distanza massima di trasferimento del personaggio in blocchi (0 "
+"= 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."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Definisce aree in cui gli alberi hanno le mele."
#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
@@ -2645,37 +2651,43 @@ msgstr "Ritardo dell'invio dei blocchi dopo la costruzione"
#: src/settings_translation_file.cpp
msgid "Delay showing tooltips, stated in milliseconds."
-msgstr "Ritardo nella comparsa dei suggerimenti, espresso in millisecondi."
+msgstr "Ritardo nella comparsa dei suggerimenti, fissato in millisecondi."
#: src/settings_translation_file.cpp
msgid "Deprecated Lua API handling"
msgstr "Gestione delle API Lua deprecate"
#: src/settings_translation_file.cpp
-#, fuzzy
+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 "Depth below which you'll find giant caverns."
-msgstr "Profondità sotto cui troverete caverne ampie."
+msgstr "Profondità sotto cui troverete caverne enormi."
#: src/settings_translation_file.cpp
msgid "Depth below which you'll find large caves."
-msgstr "Profondità sotto cui troverete caverne ampie."
+msgstr "Profondità sotto cui troverete caverne grandi."
#: src/settings_translation_file.cpp
msgid ""
"Description of server, to be displayed when players join and in the "
"serverlist."
msgstr ""
-"Descrizione del server, da mostrarsi all'accesso delle/degli utenti e "
-"nell'elenco dei server."
+"Descrizione del server, da mostrarsi all'accesso dell'utente e nell'elenco "
+"dei server."
#: src/settings_translation_file.cpp
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 new biome system is enabled, this is ignored."
+"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."
@@ -2690,7 +2702,7 @@ msgstr "Particelle di scavo"
#: src/settings_translation_file.cpp
msgid "Disable anticheat"
-msgstr "Disattivare anti-trucchi"
+msgstr "Disattiva anti-trucchi"
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
@@ -2702,29 +2714,32 @@ msgstr "Nome di dominio del server, da mostrarsi nell'elenco dei server."
#: src/settings_translation_file.cpp
msgid "Double tap jump for fly"
-msgstr "Doppio \"saltare\" per volare"
+msgstr "Doppio \"salta\" per volare"
#: src/settings_translation_file.cpp
msgid "Double-tapping the jump key toggles fly mode."
-msgstr ""
-"Premendo due volte il tasto di salto si (dis)attiva la modalità di volo."
+msgstr "Premendo due volte il tasto di salto si sceglie la modalità di volo."
#: src/settings_translation_file.cpp
msgid "Drop item key"
-msgstr "Tasto lasciare oggetto"
+msgstr "Tasto butta oggetto"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Dump the mapgen debug information."
-msgstr "Pubblica le informazioni di debug del generatore della mappa."
+msgstr "Scarica le informazioni di debug del generatore della mappa."
#: src/settings_translation_file.cpp
msgid "Dungeon maximum Y"
-msgstr ""
+msgstr "Y massimo dei sotterranei"
#: src/settings_translation_file.cpp
msgid "Dungeon minimum Y"
-msgstr ""
+msgstr "Y minimo dei sotterranei"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Y minimo dei sotterranei"
#: src/settings_translation_file.cpp
msgid ""
@@ -2747,22 +2762,20 @@ msgid "Enable creative mode for new created maps."
msgstr "Abilitare la modalità creativa per le nuove mappe create."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable joysticks"
msgstr "Abilitare i joystick"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable mod channels support."
-msgstr "Attivare la sicurezza moduli"
+msgstr "Abilita il supporto canali mod."
#: src/settings_translation_file.cpp
msgid "Enable mod security"
-msgstr "Attivare la sicurezza moduli"
+msgstr "Abilita la sicurezza moduli"
#: src/settings_translation_file.cpp
msgid "Enable players getting damage and dying."
-msgstr "Abilitare ferimento e morte dei personaggi."
+msgstr "Abilita il ferimento e la morte dei giocatori."
#: src/settings_translation_file.cpp
msgid "Enable random user input (only used for testing)."
@@ -2772,13 +2785,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Abilita conferma registrazione"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Abilita la conferma della registrazione quando ci si connette al server.\n"
+"Se disabilitata, i nuovi account saranno registrati automaticamente."
#: src/settings_translation_file.cpp
msgid ""
@@ -2796,11 +2811,11 @@ msgid ""
"to new servers, but they may not support all new features that you are "
"expecting."
msgstr ""
-"Attivare per impedire ai client obsoleti di connettersi.\n"
+"Abilitare per impedire ai client obsoleti di connettersi.\n"
"I client più vecchi sono compatibili nel senso che non andranno in crash "
"alla\n"
"connessione ai nuovi server, ma potrebbero non supportare tutte le nuove\n"
-"caratteristiche che vi aspettate."
+"caratteristiche che ti aspetti."
#: src/settings_translation_file.cpp
msgid ""
@@ -2824,14 +2839,12 @@ msgstr ""
"Per esempio: 0 per nessun ondeggiamento, 1.0 per normale, 2.0 per doppio."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
"Ignored if bind_address is set."
msgstr ""
-"Attiva/disattiva l'esecuzione di un server IPv6. Un server IPv6 può essere\n"
-"limitato ai client IPv6, dipendentemente dalla configurazione del sistema.\n"
-"Ignorato se è impostato bind_address."
+"Abilita/Disabilita l'esecuzione di un server IPv6.\n"
+"Ignorata se si imposta bind_address."
#: src/settings_translation_file.cpp
msgid "Enables animation of inventory items."
@@ -2845,8 +2858,8 @@ msgid ""
"Requires shaders to be enabled."
msgstr ""
"Attiva il bumpmapping per le immagini. È necessario fornire le normalmap con "
-"il pacchetto\n"
-"di immagini, o devono essere generate automaticamente.\n"
+"il\n"
+"pacchetto di immagini, o devono essere generate automaticamente.\n"
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
@@ -2879,7 +2892,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Engine profiling data print interval"
-msgstr "Intervallo di stampa dei dati di profilo del motore"
+msgstr "Intervallo di stampa dei dati di profilo del motore di gioco"
#: src/settings_translation_file.cpp
msgid "Entity methods"
@@ -2942,12 +2955,11 @@ msgid "Fast movement"
msgstr "Movimento rapido"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Fast movement (via the \"special\" key).\n"
"This requires the \"fast\" privilege on the server."
msgstr ""
-"Movimento rapido (tramite il tasto usare).\n"
+"Movimento rapido (tramite il tasto \"speciale\").\n"
"Richiede il privilegio \"fast\" sul server."
#: src/settings_translation_file.cpp
@@ -2959,17 +2971,16 @@ msgid "Field of view in degrees."
msgstr "Campo visivo in gradi."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"File in client/serverlist/ that contains your favorite servers displayed in "
"the\n"
"Multiplayer Tab."
msgstr ""
-"File in client/serverlist/ contenente i vostri server preferiti\n"
-"mostrati nella scheda di gioco in rete."
+"File in client/serverlist/ contenente i tuoi server preferiti mostrati "
+"nella\n"
+"scheda di gioco in rete."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Filler depth"
msgstr "Profondità dello riempitore"
@@ -2982,7 +2993,6 @@ msgid "Filmic tone mapping"
msgstr "Filmic tone mapping"
#: 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"
@@ -3002,12 +3012,12 @@ msgid "Filtering"
msgstr "Filtraggio"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of 4 2D noises that together define hill/mountain range height."
-msgstr "Primo di due rumori 3D che insieme definiscono le gallerie."
+msgstr ""
+"Primo di 4 rumori 2D che insieme definiscono l'intervallo di altezza "
+"collinare/montuoso."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of two 3D noises that together define tunnels."
msgstr "Primo di due rumori 3D che insieme definiscono le gallerie."
@@ -3017,32 +3027,31 @@ msgstr "Seme fisso della mappa"
#: src/settings_translation_file.cpp
msgid "Fixed virtual joystick"
-msgstr ""
+msgstr "Joystick virtuale fisso"
#: src/settings_translation_file.cpp
msgid "Floatland base height noise"
-msgstr "Rumore base dell'altezza delle isole fluttuanti"
+msgstr "Rumore base dell'altezza delle terre fluttuanti"
#: src/settings_translation_file.cpp
msgid "Floatland base noise"
-msgstr "Rumore base delle isole fluttuanti"
+msgstr "Rumore base delle terre fluttuanti"
#: src/settings_translation_file.cpp
msgid "Floatland level"
-msgstr "Livello delle isole fluttuanti"
+msgstr "Livello delle terre fluttuanti"
#: src/settings_translation_file.cpp
msgid "Floatland mountain density"
-msgstr "Densità montuosa delle isole fluttuanti"
+msgstr "Densità montuosa delle terre fluttuanti"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Floatland mountain exponent"
-msgstr "Densità montuosa delle isole fluttuanti"
+msgstr "Densità montuosa delle terre fluttuanti"
#: src/settings_translation_file.cpp
msgid "Floatland mountain height"
-msgstr "Altezza delle montagne delle isole fluttuanti"
+msgstr "Altezza delle montagne delle terre fluttuanti"
#: src/settings_translation_file.cpp
msgid "Fly key"
@@ -3057,13 +3066,12 @@ msgid "Fog"
msgstr "Nebbia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fog start"
-msgstr "Inizio della nebbia"
+msgstr "Inizio nebbia"
#: src/settings_translation_file.cpp
msgid "Fog toggle key"
-msgstr "Tasto (dis)attivazione nebbia"
+msgstr "Tasto scelta nebbia"
#: src/settings_translation_file.cpp
msgid "Font path"
@@ -3071,7 +3079,7 @@ msgstr "Percorso del carattere"
#: src/settings_translation_file.cpp
msgid "Font shadow"
-msgstr "Ombreggiatura del carattere"
+msgstr "Ombreggiatura carattere"
#: src/settings_translation_file.cpp
msgid "Font shadow alpha"
@@ -3079,70 +3087,69 @@ msgstr "Trasparenza dell'ombreggiatura del carattere"
#: src/settings_translation_file.cpp
msgid "Font shadow alpha (opaqueness, between 0 and 255)."
-msgstr "Trasparenza dell'ombreggiatura del carattere (opacità, tra 0 e 255)."
+msgstr "Trasparenza ombreggiatura carattere (opacità, tra 0 e 255)."
#: src/settings_translation_file.cpp
msgid "Font shadow offset, if 0 then shadow will not be drawn."
msgstr ""
-"Spostamento dell'ombra del carattere, se 0 allora l'ombra non verrà "
-"disegnata."
+"Spostamento ombreggiatura carattere, se 0 allora l'ombra non sarà disegnata."
#: src/settings_translation_file.cpp
msgid "Font size"
msgstr "Dimensione del carattere"
#: 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 "Format of screenshots."
-msgstr "Formato delle istantanee."
+msgstr "Formato delle schermate."
#: src/settings_translation_file.cpp
msgid "Formspec Default Background Color"
-msgstr ""
+msgstr "Colore di sfondo predefinito delle finestre"
#: src/settings_translation_file.cpp
msgid "Formspec Default Background Opacity"
-msgstr ""
+msgstr "Opacità di sfondo predefinita delle finestre"
#: src/settings_translation_file.cpp
msgid "Formspec Full-Screen Background Color"
-msgstr ""
+msgstr "Colore di sfondo delle finestre a tutto schermo"
#: src/settings_translation_file.cpp
msgid "Formspec Full-Screen Background Opacity"
-msgstr ""
+msgstr "Opacità dello sfondo delle finestre a tutto schermo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec default background color (R,G,B)."
-msgstr "Colore dello sfondo della console dei messaggi nel gioco (R, G, B)."
+msgstr "Colore di sfondo predefinito delle finestre (R,G,B)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec default background opacity (between 0 and 255)."
-msgstr ""
-"Trasparenza dello sfondo della console dei messaggi nel gioco (opacità, tra "
-"0 e 255)."
+msgstr "Opacità di sfondo predefinita delle finestre (tra 0 e 255)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec full-screen background color (R,G,B)."
-msgstr "Colore dello sfondo della console dei messaggi nel gioco (R, G, B)."
+msgstr "Colore di sfondo delle finestre a tutto schermo (R,G,B)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec full-screen background opacity (between 0 and 255)."
-msgstr ""
-"Trasparenza dello sfondo della console dei messaggi nel gioco (opacità, tra "
-"0 e 255)."
+msgstr "Opacità dello sfondo delle finestre a tutto schermo (tra 0 e 255)."
#: src/settings_translation_file.cpp
msgid "Forward key"
msgstr "Tasto avanti"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
-msgstr "Primo di due rumori 3D che insieme definiscono le gallerie."
+msgstr ""
+"Quarto di 4 rumori 2D che insieme definiscono l'intervallo di altezza "
+"collinare/montuoso."
#: src/settings_translation_file.cpp
msgid "Fractal type"
@@ -3154,23 +3161,22 @@ msgstr ""
"Frazione della distanza visibile alla quale si comincia a disegnare la nebbia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "FreeType fonts"
-msgstr "Caratteri freetype"
+msgstr "Caratteri FreeType"
#: src/settings_translation_file.cpp
msgid ""
"From how far blocks are generated for clients, stated in mapblocks (16 "
"nodes)."
msgstr ""
-"Da che distanza vengono generati i blocchi per i client, espressa in blocchi "
+"Da che distanza vengono generati i blocchi per i client, fissata in blocchi "
"mappa (16 nodi)."
#: src/settings_translation_file.cpp
msgid ""
"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
msgstr ""
-"Da che distanza i blocchi sono inviati ai client, espressa in blocchi mappa "
+"Da che distanza i blocchi sono inviati ai client, fissata in blocchi mappa "
"(16 nodi)."
#: src/settings_translation_file.cpp
@@ -3181,6 +3187,13 @@ 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 ""
+"Da che distanza il client sa degli oggetti, fissata in blocchi mappa (16 "
+"nodi).\n"
+"\n"
+"Impostarla maggiore di active_block_range provocherà il mantenimento\n"
+"degli oggetti attivi, fino a questa distanza, da parte del server, nella\n"
+"direzione in cui guarda il giocatore. (Ciò può impedire l'improvvisa\n"
+"scomparsa dei mob)"
#: src/settings_translation_file.cpp
msgid "Full screen"
@@ -3219,27 +3232,23 @@ msgid "Global callbacks"
msgstr "Callback globali"
#: 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 ""
"Attributi globali di generazione della mappa.\n"
-"In Mapgen v6 l'opzione 'decorations' controlla tutte le decorazioni\n"
+"In Mapgen v6 il valore 'decorations' controlla tutte le decorazioni\n"
"eccetto alberi ed erba della giungla, in tutti gli altri questa opzione\n"
-"controlla tutte le decorazioni.\n"
-"Le opzioni non specificate nella stringa mantengono l'impostazione "
-"predefinita.\n"
-"Le opzioni che iniziano con 'no' sono usate per disattivarle espressamente."
+"controlla tutte le decorazioni."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
-msgstr ""
+msgstr "Gradiente della curva della luce al livello massimo di luce."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at minimum light level."
-msgstr ""
+msgstr "Gradiente della curva della luce al livello minimo di luce."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3254,12 +3263,10 @@ msgid "Ground level"
msgstr "Livello del terreno"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ground noise"
-msgstr "Rumore del fango"
+msgstr "Rumore del terreno"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "HTTP mods"
msgstr "Moduli HTTP"
@@ -3269,7 +3276,7 @@ msgstr "Fattore di scala del visore"
#: src/settings_translation_file.cpp
msgid "HUD toggle key"
-msgstr "Tasto di (dis)attivazione del visore"
+msgstr "Tasto di scelta del visore"
#: src/settings_translation_file.cpp
msgid ""
@@ -3279,13 +3286,12 @@ msgid ""
"- error: abort on usage of deprecated call (suggested for mod developers)."
msgstr ""
"Gestione delle chiamate deprecate alle API Lua:\n"
-"- legacy (ereditaria): (prova a) simulare il vecchio\n"
-" comportamento (predefinito per i "
-"rilasci).\n"
-"- log (registro): simula e registra la traccia della chiamata\n"
-" deprecata (predefinito per il debug).\n"
-"- error (errore): abortire all'uso della chiamata deprecata\n"
-" (suggerito per lo sviluppo di moduli)."
+"- legacy (ereditaria): (prova a) simulare il vecchio comportamento "
+"(predefinito per i rilasci).\n"
+"- log (registro): simula e registra la traccia della chiamata deprecata "
+"(predefinito per il debug).\n"
+"- error (errore): interrompere all'uso della chiamata deprecata (suggerito "
+"per lo sviluppo di moduli)."
#: src/settings_translation_file.cpp
msgid ""
@@ -3334,30 +3340,44 @@ msgid "Hill threshold"
msgstr "Soglia delle colline"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness1 noise"
-msgstr "Rumore della ripidità"
+msgstr "Rumore della collinarità1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness2 noise"
-msgstr "Rumore della ripidità"
+msgstr "Rumore della collinarità2"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness3 noise"
-msgstr "Rumore della ripidità"
+msgstr "Rumore della collinarità3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness4 noise"
-msgstr "Rumore della ripidità"
+msgstr "Rumore della collinarità4"
#: src/settings_translation_file.cpp
msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Sito del server, da mostrarsi nell'elenco dei server."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Tasto successivo della barra di scelta rapida"
@@ -3366,169 +3386,136 @@ msgid "Hotbar previous key"
msgstr "Tasto precedente della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 1 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 1 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 10 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 10 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 11 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 11 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 12 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 12 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 13 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 13 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 14 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 14 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 15 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 15 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 16 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 16 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 17 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 17 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 18 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 18 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 19 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 19 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 2 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 2 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 20 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 20 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 21 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 21 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 22 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 22 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 23 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 23 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 24 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 24 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 25 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 25 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 26 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 26 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 27 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 27 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 28 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 28 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 29 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 29 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 3 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 3 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 30 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 30 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 31 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 31 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 32 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 32 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 4 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 4 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 5 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 5 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 6 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 6 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 7 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 7 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 8 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 8 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 9 key"
-msgstr "Tasto successivo della barra di scelta rapida"
+msgstr "Tasto riquadro 9 della barra di scelta rapida"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How deep to make rivers."
-msgstr "Quanto fare profondi i fiumi"
+msgstr "Quanto fare profondi i fiumi."
#: src/settings_translation_file.cpp
msgid ""
@@ -3539,9 +3526,8 @@ msgstr ""
"Con un valore più alto sarà più fluido, ma userà più RAM."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How wide to make rivers."
-msgstr "Quanto fare larghi i fiumi"
+msgstr "Quanto fare larghi i fiumi."
#: src/settings_translation_file.cpp
msgid "Humidity blend noise"
@@ -3573,16 +3559,15 @@ msgid ""
"to not waste CPU power for no benefit."
msgstr ""
"Se i FPS dovessero superare questo, limitarli con la sospensione\n"
-"per non sprecare la potenza della CPU senza beneficio."
+"per non sprecare la potenza della CPU senza alcun beneficio."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If disabled, \"special\" key is used to fly fast if both fly and fast mode "
"are\n"
"enabled."
msgstr ""
-"Se disattivata, si usa il tasto \"usare\" per volare velocemente,\n"
+"Se disabilitata, si usa il tasto \"speciale\" per volare velocemente,\n"
"se le modalità volo e corsa sono entrambe attive."
#: src/settings_translation_file.cpp
@@ -3593,8 +3578,8 @@ msgid ""
"invisible\n"
"so that the utility of noclip mode is reduced."
msgstr ""
-"Se attivata il sever effettuerà l'occlusion culling dei blocchi mappa\n"
-"basandosi sulla posizione degli occhi del personaggio. Questo può\n"
+"Se abilitata il sever effettuerà l'occlusion culling dei blocchi mappa\n"
+"basandosi sulla posizione degli occhi del giocatore. Questo può\n"
"ridurre del 50-80% il numero dei blocchi inviati al client. Il client non\n"
"riceverà più i blocchi più invisibili cosicché l'utilità della modalità\n"
"incorporea è ridotta."
@@ -3605,18 +3590,17 @@ msgid ""
"nodes.\n"
"This requires the \"noclip\" privilege on the server."
msgstr ""
-"Se attivata assieme al volo, il personaggio può volare attraverso i nodi "
+"Se abilitata assieme al volo, il giocatore può volare attraverso i nodi "
"solidi.\n"
"Richiede il privilegio \"noclip\" sul server."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
"down and\n"
"descending."
msgstr ""
-"Se attivata, si usa il tasto \"usare\" invece di \"strisciare\" per "
+"Se abilitata, si usa il tasto \"speciale\" invece di \"striscia\" per "
"arrampicarsi o scendere."
#: src/settings_translation_file.cpp
@@ -3624,32 +3608,34 @@ msgid ""
"If enabled, actions are recorded for rollback.\n"
"This option is only read when server starts."
msgstr ""
-"Se attivata, le azioni sono registrate per il ripristino.\n"
+"Se abilitata, le azioni sono registrate per il ripristino.\n"
"Questa opzione viene letta solo all'avvio del server."
#: src/settings_translation_file.cpp
msgid "If enabled, disable cheat prevention in multiplayer."
-msgstr "Se attivata, disabilita la protezione anti-trucchi nel gioco in rete."
+msgstr "Se abilitata, disabilita la protezione anti-trucchi nel gioco in rete."
#: 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 ""
-"Se attivata, i dati non validi del mondo non provocheranno lo\n"
+"Se abilitata, i dati non validi del mondo non provocheranno lo\n"
"spegnimento del server.\n"
-"Attivatela solo se sapete cosa state facendo."
+"Attivala solo se sai cosa stai facendo."
#: src/settings_translation_file.cpp
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
+"Se abilitata, rende le direzioni di movimento relative all'inclinazione del "
+"giocatore quando vola o nuota."
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
msgstr ""
-"Se attivata, le/i nuovi utenti non possono accedere con una password vuota."
+"Se abilitata, i nuovi giocatori non possono accedere con una password vuota."
#: src/settings_translation_file.cpp
msgid ""
@@ -3657,8 +3643,8 @@ msgid ""
"you stand.\n"
"This is helpful when working with nodeboxes in small areas."
msgstr ""
-"Se attivata, potrete mettere i blocchi nel punto (piedi + livello oculare) "
-"in cui siete.\n"
+"Se abilitata, puoi mettere i blocchi nel punto (piedi + livello oculare) in "
+"cui sei.\n"
"Questo è utile quando si lavora con nodebox in aree piccole."
#: src/settings_translation_file.cpp
@@ -3667,11 +3653,21 @@ msgid ""
"limited\n"
"to this distance from the player to the node."
msgstr ""
+"Se la restrizione CSM per il raggio dei nodi è abilitata, le chiamate "
+"get_node\n"
+"sono limitate a questa distanza dal giocatore al nodo."
#: src/settings_translation_file.cpp
-msgid "If this is set, players will always (re)spawn at the given position."
+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 ""
-"Se impostata, le/gli utenti (ri)compariranno sempre alla posizione data."
+
+#: src/settings_translation_file.cpp
+msgid "If this is set, players will always (re)spawn at the given position."
+msgstr "Se impostata, i giocatori (ri)compariranno sempre alla posizione data."
#: src/settings_translation_file.cpp
msgid "Ignore world errors"
@@ -3684,33 +3680,36 @@ msgstr "Nel gioco"
#: src/settings_translation_file.cpp
msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
msgstr ""
-"Trasparenza dello sfondo della console dei messaggi nel gioco (opacità, tra "
-"0 e 255)."
+"Trasparenza dello sfondo della console di chat nel gioco (opacità, tra 0 e "
+"255)."
#: src/settings_translation_file.cpp
msgid "In-game chat console background color (R,G,B)."
-msgstr "Colore dello sfondo della console dei messaggi nel gioco (R, G, B)."
+msgstr "Colore dello sfondo della console di chat nel gioco (R,G,B)."
#: src/settings_translation_file.cpp
msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
-msgstr ""
-"Altezza della console dei messaggi nel gioco, tra 0.1 (10%) e 1.0 (100%)."
+msgstr "Altezza della console di chat nel gioco, tra 0.1 (10%) e 1.0 (100%)."
#: src/settings_translation_file.cpp
msgid "Inc. volume key"
msgstr "Tasto aum. volume"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
msgstr ""
-"Predisposizione incorporata.\n"
-"Questo normalmente serve solo a sviluppatrici/tori del motore di gioco"
+"Predisporre incorporate.\n"
+"Questo normalmente serve solo ai contributori principali"
#: src/settings_translation_file.cpp
msgid "Instrument chatcommands on registration."
-msgstr "Predisporre i comandi della messaggistica alla registrazione."
+msgstr "Predisporre i comandi della chat alla registrazione."
#: src/settings_translation_file.cpp
msgid ""
@@ -3718,7 +3717,7 @@ msgid ""
"(anything you pass to a minetest.register_*() function)"
msgstr ""
"Predisporre le funzioni globali di callback alla registrazione.\n"
-"(qualsiasi cosa passiate a una funzione minetest.register_*())"
+"(qualsiasi cosa tu passi a una funzione minetest.register_*())"
#: src/settings_translation_file.cpp
msgid ""
@@ -3745,7 +3744,7 @@ msgstr "Predisposizione"
#: src/settings_translation_file.cpp
msgid "Interval of saving important changes in the world, stated in seconds."
msgstr ""
-"Intervallo di salvataggio dei cambiamenti importanti nel mondo, espresso in "
+"Intervallo di salvataggio dei cambiamenti importanti nel mondo, fissato in "
"secondi."
#: src/settings_translation_file.cpp
@@ -3783,6 +3782,11 @@ msgid ""
"increases processing load.\n"
"At iterations = 20 this mapgen has a similar load to mapgen V7."
msgstr ""
+"Iterazioni della funzione ricorrente.\n"
+"Aumentarle aumenta l'ammontare del dettaglio fine, ma\n"
+"aumenta anche il carico di elaborazione.\n"
+"A iterazioni = 20 questo generatore di mappe ha un carico\n"
+"simile al generatore di mappe v7."
#: src/settings_translation_file.cpp
msgid "Joystick ID"
@@ -3794,15 +3798,13 @@ msgstr "Intervallo di ripetizione del pulsante del joystick"
#: src/settings_translation_file.cpp
msgid "Joystick frustum sensitivity"
-msgstr "Sensibilità del frustum del joystick"
+msgstr "Sensibilità del tronco del joystick"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Joystick type"
msgstr "Tipo di joystick"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Julia set only.\n"
"W component of hypercomplex constant.\n"
@@ -3810,46 +3812,47 @@ msgid ""
"Has no effect on 3D fractals.\n"
"Range roughly -2 to 2."
msgstr ""
-"Solo serie julia: componente W della costante iper-complessa determinante la "
-"forma julia.\n"
-"Non ha effetto sui frattali in 3D.\n"
-"Spazia pressapoco tra -2 e 2."
+"Solo serie Julia.\n"
+"Componente W della costante super complessa.\n"
+"Altera la forma del frattale.\n"
+"Non ha effetto su frattali 3D.\n"
+"Spazia grossomodo da -2 a 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 ""
-"Solo serie julia: componente X della costante iper-complessa determinante la "
-"forma julia.\n"
-"Spazia pressapoco tra -2 e 2."
+"Solo serie Julia.\n"
+"Componente X della costante supercomplessa.\n"
+"Altara la forma del frattale.\n"
+"Spazia grossomodo da -2 a 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 ""
-"Solo serie julia: componente Y della costante iper-complessa determinante la "
-"forma julia.\n"
-"Spazia pressapoco tra -2 e 2."
+"Solo serie Julia.\n"
+"Componente Y della costante supercomplessa.\n"
+"Altera la forma del frattale.\n"
+"Spazia grossomodo da -2 a 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 ""
-"Solo serie julia: componente Z della costante iper-complessa determinante la "
-"forma julia.\n"
-"Spazia pressapoco tra -2 e 2."
+"Solo serie Julia.\n"
+"Componente Z della costante supercomplessa.\n"
+"Altera la forma del frattale.\n"
+"Spazia grossomodo da -2 a 2."
#: src/settings_translation_file.cpp
msgid "Julia w"
@@ -3869,7 +3872,7 @@ msgstr "Julia z"
#: src/settings_translation_file.cpp
msgid "Jump key"
-msgstr "Tasto saltare"
+msgstr "Tasto salta"
#: src/settings_translation_file.cpp
msgid "Jumping speed"
@@ -3901,7 +3904,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per lasciare l'oggetto corrente.\n"
+"Tasto per buttare l'oggetto attualmente selezionato.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3946,14 +3949,14 @@ msgstr ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
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 ""
-"Tasto per fare indietreggiare il personaggio.\n"
+"Tasto per muovere indietro il giocatore.\n"
+"Disabiliterà anche l'avanzamento automatico, quando attivo.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3963,7 +3966,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per fare avanzare il personaggio.\n"
+"Tasto per muovere in avanti il giocatore.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3973,7 +3976,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per spostare a sinistra il personaggio.\n"
+"Tasto per muovere a sinistra il giocatore.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3983,7 +3986,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per spostare a destra il personaggio.\n"
+"Tasto per muovere a destra il giocatore.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3993,7 +3996,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per azzerare il volume del gioco.\n"
+"Tasto per silenziare il gioco.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4003,7 +4006,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per aprire la finestra di messaggistica per inserire comandi.\n"
+"Tasto per aprire la finestra di chat per inserire comandi.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4013,7 +4016,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per aprire la finestra di messaggistica per inserire comandi locali.\n"
+"Tasto per aprire la finestra di chat per inserire comandi locali.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4023,7 +4026,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per aprire la finestra di messaggistica.\n"
+"Tasto per aprire la finestra di chat.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4038,288 +4041,262 @@ 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere l'11° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 12° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 13° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 14° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 15° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 16° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 17° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 18° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 19° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 20° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 21° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 22° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 23° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 24° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 25° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 26° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 27° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 28° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 29° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 30° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 31° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il 32° riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere l'ottavo riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il quinto riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il primo riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto precedente nella barra di scelta rapida.\n"
+"Tasto per scegliere il quarto riquadro della barra di scelta rapida.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4334,13 +4311,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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il nono riquadro della barra di scelta rapida.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4355,57 +4331,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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il secondo riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il settimo riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il sesto riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il decimo riquadro della barra di scelta rapida.\n"
"Si veda 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 ""
-"Tasto per scegliere l'oggetto successivo nella barra di scelta rapida.\n"
+"Tasto per scegliere il terzo riquadro della barra di scelta rapida.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4439,18 +4410,17 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per scattare istantanee.\n"
+"Tasto per scattare schermate.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Key for toggling autoforward.\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare la corsa automatica.\n"
+"Tasto per scegliere l'avanzamento automatico.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4460,7 +4430,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare la modalità cinematic.\n"
+"Tasto per scegliere la modalità cinematic.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4470,7 +4440,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare la visualizzazione della minimappa.\n"
+"Tasto per scegliere la visualizzazione della minimappa.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4480,7 +4450,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare la modalità veloce.\n"
+"Tasto per scegliere la modalità veloce.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4490,7 +4460,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare il volo.\n"
+"Tasto per scegliere il volo.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4500,18 +4470,17 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare la modalità incorporea.\n"
+"Tasto per scegliere la modalità incorporea.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"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 ""
-"Tasto per attivare la modalità incorporea.\n"
+"Tasto per scegliere la modalità di movimento di pendenza.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4521,19 +4490,18 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto di attivazione dell'aggiornamento della telecamera. Usato solo per lo "
+"Tasto di scelta dell'aggiornamento della telecamera. Usato solo per lo "
"sviluppo.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"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 ""
-"Tasto per attivare la visualizzazione della messaggistica.\n"
+"Tasto per scegliere la visualizzazione della chat.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4543,18 +4511,17 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare la visualizzazione delle informazioni di debug.\n"
+"Tasto per scegliere la visualizzazione delle informazioni di debug.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"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 ""
-"Tasto per attivare la visualizzazione della nebbia.\n"
+"Tasto per scegliere la visualizzazione della nebbia.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4564,7 +4531,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare la visualizzazione del visore.\n"
+"Tasto per scegliere la visualizzazione del visore.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4574,8 +4541,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare la visualizzazione della console grande di "
-"messaggistica.\n"
+"Tasto per scegliere la visualizzazione della console grande di chat.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4585,7 +4551,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare la visualizzazione del generatore di profili. Usato per "
+"Tasto per scegliere la visualizzazione del generatore di profili. Usato per "
"lo sviluppo.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4596,7 +4562,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per attivare il raggio visivo illimitato.\n"
+"Tasto per scegliere il raggio visivo illimitato.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4606,13 +4572,14 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tasto per usare lo zoom visivo quando possibile.\n"
+"Tasto per usare l'ingrandimento della visuale quando possibile.\n"
"Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid "Kick players who sent more than X messages per 10 seconds."
msgstr ""
+"Allontana i giocatori che hanno inviato più di X messaggi in 10 secondi."
#: src/settings_translation_file.cpp
msgid "Lake steepness"
@@ -4628,16 +4595,15 @@ msgstr "Lingua"
#: src/settings_translation_file.cpp
msgid "Large cave depth"
-msgstr "Profondità delle caverne ampie"
+msgstr "Profondità delle caverne grandi"
#: src/settings_translation_file.cpp
msgid "Large chat console key"
-msgstr "Tasto console grande di messaggistica"
+msgstr "Tasto console grande di chat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Lava depth"
-msgstr "Profondità delle caverne ampie"
+msgstr "Profondità della lava"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4651,38 +4617,37 @@ msgid ""
"- Opaque: disable transparency"
msgstr ""
"Stile foglie:\n"
-"- Fancy (decorativo): tutte le facce sono visibili\n"
-"- Simple (semplice): solo le facce esterne,\n"
-" se impostate, si usano le special_tiles.\n"
-"- Opaque (opaco): disabilita la trasparenza"
+"- Di qualità: tutte le facce sono visibili\n"
+"- Semplice: solo le facce esterne, se sono usate le special_tiles "
+"definite\n"
+"- Opache: disabilita la trasparenza"
#: src/settings_translation_file.cpp
msgid "Left key"
msgstr "Tasto sin."
#: 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 ""
-"Lunghezza di uno scatto del server e intervallo a cui gli oggetti\n"
+"Durata di uno scatto del server e intervallo con cui gli oggetti\n"
"sono aggiornati in generale sulla rete."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
-msgstr "Intervallo di tempo tra l'esecuzione dei cicli ABM"
+msgstr ""
+"Durata di tempo tra i cicli di esecuzione dei modificatori dei blocchi "
+"attivi (ABM)"
#: src/settings_translation_file.cpp
msgid "Length of time between NodeTimer execution cycles"
msgstr "Intervallo di tempo tra l'esecuzione dei cicli del NodeTimer"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between active block management cycles"
-msgstr "Tempo tra cicli di gestione del blocco attivo"
+msgstr "Durata di tempo tra cicli di gestione del blocco attivo"
#: src/settings_translation_file.cpp
msgid ""
@@ -4706,27 +4671,27 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Light curve mid boost"
-msgstr ""
+msgstr "Aumento mediano della curva di luce"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost center"
-msgstr ""
+msgstr "Centro dell'aumento mediano della curva di luce"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost spread"
-msgstr ""
+msgstr "Diffusione dell'aumento mediano della curva di luce"
#: src/settings_translation_file.cpp
msgid "Lightness sharpness"
-msgstr ""
+msgstr "Nitidezza della luminosità"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
-msgstr "Limite di code 'emerge' su disco"
+msgstr "Limite di code emerge su disco"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues to generate"
-msgstr "Limite di code 'emerge' da generare"
+msgstr "Limite di code emerge da generare"
#: src/settings_translation_file.cpp
msgid ""
@@ -4735,10 +4700,10 @@ msgid ""
"Value is stored per-world."
msgstr ""
"Limite della generazione della mappa, in nodi, in tutte e sei le direzioni "
-"da (0, 0, 0).\n"
-"Sono generati solo i pezzi di mappa completamente all'interno del limite del "
-"generatore\n"
-"di mappe.\n"
+"da (0,0,0).\n"
+"Sono generati solo i pezzi di mappa completamente all'interno del limite "
+"del\n"
+"generatore di mappe.\n"
"Il valore è immagazzinato per ciascun mondo."
#: src/settings_translation_file.cpp
@@ -4753,7 +4718,7 @@ msgstr ""
"- Recupero dei file multimediali se il server usa l'impostazione "
"remote_media.\n"
"- Scaricamento dell'elenco dei server e annuncio del server.\n"
-"- Scaricamenti effettuati dal menu principale (es. il gestore mod.).\n"
+"- Scaricamenti effettuati dal menu principale (per es. il gestore mod.).\n"
"Ha effetto solo se compilato con cURL."
#: src/settings_translation_file.cpp
@@ -4762,7 +4727,7 @@ msgstr "Fluidità del liquido"
#: src/settings_translation_file.cpp
msgid "Liquid fluidity smoothing"
-msgstr "Omogeinizzazione della fluidità del liquido"
+msgstr "Omogeneizzazione della fluidità del liquido"
#: src/settings_translation_file.cpp
msgid "Liquid loop max"
@@ -4774,8 +4739,8 @@ msgstr "Tempo di svuotamento della coda del liquido"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
-msgstr "Velocità di caduta del liquido"
+msgid "Liquid sinking"
+msgstr "Velocità di affondamento del liquido"
#: src/settings_translation_file.cpp
msgid "Liquid update interval in seconds."
@@ -4798,35 +4763,34 @@ msgstr ""
"Caricare il generatore di profili del gioco per raccogliere dati di "
"profilo.\n"
"Fornisce un comando /profiler per accedere al profilo compilato.\n"
-"Utile per sviluppatrici/tori di moduli e operatrici/tori di server."
+"Utile per sviluppatori di moduli e operatori di server."
#: src/settings_translation_file.cpp
msgid "Loading Block Modifiers"
-msgstr "Modificatori del blocco in caricamento (LBM)"
+msgstr "Modificatori del blocco in caricamento"
#: src/settings_translation_file.cpp
msgid "Lower Y limit of dungeons."
-msgstr ""
+msgstr "Limite inferiore Y dei sotterranei."
#: src/settings_translation_file.cpp
msgid "Main menu script"
msgstr "Script del menu principale"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Main menu style"
-msgstr "Script del menu principale"
+msgstr "Stile del menu principale"
#: src/settings_translation_file.cpp
msgid ""
"Make fog and sky colors depend on daytime (dawn/sunset) and view direction."
msgstr ""
-"Fare in modo che i colori di cielo e nebbia dipendano da\n"
-"ora del giorno (alba/tramonto) e direzione visiva."
+"Far sì che i colori di nebbia e cielo dipendano da ora del giorno (alba/"
+"tramonto) e direzione della visuale."
#: src/settings_translation_file.cpp
msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles."
-msgstr "Fa lavorare DirectX con LuaJIT. Disattivare se provoca problemi."
+msgstr "Fa lavorare DirectX con LuaJIT. Disabilitare se provoca problemi."
#: src/settings_translation_file.cpp
msgid "Makes all liquids opaque"
@@ -4839,6 +4803,8 @@ msgstr "Cartella della mappa"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr ""
+"Attributi di generazione della mappa specifici del generatore di mappe "
+"Carpathian."
#: src/settings_translation_file.cpp
msgid ""
@@ -4849,44 +4815,58 @@ msgid ""
"to become shallower and occasionally dry.\n"
"'altitude_dry': Reduces humidity with altitude."
msgstr ""
+"Attributi di generazione della mappa specifici del generatore di mappe "
+"Valleys.\n"
+"\"altitude_chill\": riduce il calore con l'altitudine.\n"
+"\"humid_rivers\": aumenta l'umidità attorno ai fiumi.\n"
+"\"vary_river_depth\": se abilitato, bassa umidità e calore alto provocano\n"
+"l'abbassamento del livello dei fiumi e saltuariamente le secche.\n"
+"\"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."
+
+#: 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 ""
-"Attributi di generazione della mappa specifici del Mapgen flat.\n"
-"Si possono aggiungere laghi e colline saltuari al mondo piatto.\n"
-"Le opzioni non specificate nella stringa mantengono l'impostazione "
-"predefinita.\n"
-"Le opzioni che iniziano con 'no' sono usate per disattivarle espressamente."
+"Attributi di generazione della mappa specifici del generatore di mappe "
+"Flat.\n"
+"Al mondo piatto si possono aggiungere laghi e colline occasionali."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
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"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
-"Attributi di generazione della mappa specifici per Mapgen v6.\n"
-"L'opzione 'snowbiomes' abilita il nuovo sistema di bioma 5.\n"
+"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 l'opzione 'jungles' è ignorata.\n"
-"Le opzioni non specificate nella stringa mantengono l'impostazione "
-"predefinita.\n"
-"Le opzioni che iniziano con 'no' sono usate per disattivarle espressamente."
+"automaticamente e il valore \"jungles\" è ignorato."
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Attributi di generazione della mappa specifici del generatore di mappe v7.\n"
+"\"ridges\" abilita i fiumi."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4898,84 +4878,76 @@ msgstr "Intervallo di salvataggio della mappa"
#: src/settings_translation_file.cpp
msgid "Mapblock limit"
-msgstr "Limite del blocco mappa"
+msgstr "Limite dei blocchi mappa"
#: src/settings_translation_file.cpp
msgid "Mapblock mesh generation delay"
msgstr "Ritardo di generazione della mesh del blocco mappa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock mesh generator's MapBlock cache size in MB"
-msgstr "Dim. in MB della cache blocco mappa del gen. mesh"
+msgstr "Dimensione in MB del generatore mesh del blocco mappa"
#: src/settings_translation_file.cpp
msgid "Mapblock unload timeout"
msgstr "Scadenza dello scaricamento del blocco mappa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian"
-msgstr "Mapgen fractal"
+msgstr "Generatore mappe Carpathian"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian specific flags"
-msgstr "Impostazioni specifiche del Mapgen flat"
+msgstr "Valori specifici del generatore di mappe Carpathian"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat"
-msgstr "Mapgen flat"
+msgstr "Generatore mappe Flat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat specific flags"
-msgstr "Impostazioni specifiche del Mapgen flat"
+msgstr "Valori specifici del generatore di mappe Flat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Fractal"
-msgstr "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"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
-msgstr "Mapgen v5"
+msgstr "Generatore di mappe v5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V5 specific flags"
-msgstr "Valori specifici del Mapgen v5"
+msgstr "Valori specifici del generatore di mappe v5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6"
-msgstr "Mapgen v6"
+msgstr "Generatore di mappe v6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6 specific flags"
-msgstr "Valori specifici del Mapgen v6"
+msgstr "Valori specifici del generatore di mappe v6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7"
-msgstr "Mapgen v7"
+msgstr "Generatore di mappe v7"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7 specific flags"
-msgstr "Valori specifici del Mapgen v7"
+msgstr "Valori specifici del generatore di mappe v7"
#: src/settings_translation_file.cpp
msgid "Mapgen Valleys"
-msgstr "Mapgen Valleys"
+msgstr "Generatore di mappe Valleys"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Valleys specific flags"
-msgstr "Impostazioni specifiche del Mapgen flat"
+msgstr "Valori specifici del generatore di mappe Valleys"
#: src/settings_translation_file.cpp
msgid "Mapgen debug"
@@ -5027,10 +4999,19 @@ msgstr "Larghezza massima della barra di scelta rapida"
#: 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 ""
"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 ""
+"Numero massimo di blocchi inviati simultaneamente per client.\n"
+"Il conto totale massimo è calcolato dinamicamente:\n"
+"tot_max = arrotonda((N°client + max_utenti) * per_client / 4)"
#: src/settings_translation_file.cpp
msgid "Maximum number of blocks that can be queued for loading."
@@ -5043,7 +5024,7 @@ msgid ""
"Set to blank for an appropriate amount to be chosen automatically."
msgstr ""
"Numero massimo di blocchi da accodarsi che devono essere generati.\n"
-"Lasciare vuoto per fare in modo che venga scelto automaticamente un\n"
+"Lascia vuoto per fare in modo che venga scelto automaticamente un\n"
"ammontare adeguato."
#: src/settings_translation_file.cpp
@@ -5052,7 +5033,7 @@ msgid ""
"Set to blank for an appropriate amount to be chosen automatically."
msgstr ""
"Numero massimo di blocchi da accodarsi che devono essere caricati da file.\n"
-"Lasciare vuoto per fare in modo che venga scelto automaticamente un\n"
+"Lascia vuoto per fare in modo che venga scelto automaticamente un\n"
"ammontare adeguato."
#: src/settings_translation_file.cpp
@@ -5064,8 +5045,8 @@ msgid ""
"Maximum number of mapblocks for client to be kept in memory.\n"
"Set to -1 for unlimited amount."
msgstr ""
-"Numero massimo di blocchi mappa da tenere nella memoria del client.\n"
-"Impostare a -1 per una quantità illimitata."
+"Numero massimo di blocchi mappa per il client da tenere in memoria.\n"
+"Imposta a -1 per una quantità illimitata."
#: src/settings_translation_file.cpp
msgid ""
@@ -5073,21 +5054,20 @@ msgid ""
"try reducing it, but don't reduce it to a number below double of targeted\n"
"client number."
msgstr ""
-"Numero massimo di pacchetti inviati per passo di invio, se avete una "
-"connessione lenta\n"
-"provate a ridurlo, ma non riducetelo a un numero inferiore al doppio del "
+"Numero massimo di pacchetti inviati per passo di invio, se hai una "
+"connessione\n"
+"lenta prova a ridurlo, ma non ridurlo a un numero inferiore al doppio del "
"numero\n"
"dei client interessati."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum number of players that can be connected simultaneously."
-msgstr "Numero massimo di utenti che possono connettersi contemporaneamente."
+msgstr ""
+"Numero massimo di giocatori che possono essere connessi simultaneamente."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum number of recent chat messages to show"
-msgstr "Numero massimo di blocchi mappa caricati a forza."
+msgstr "Numero massimo di messaggi recenti della chat da visualizzare"
#: src/settings_translation_file.cpp
msgid "Maximum number of statically stored objects in a block."
@@ -5108,27 +5088,30 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum simultaneous block sends per client"
-msgstr "Numero massimo di invii simultanei di blocchi per ciascun client"
+msgstr "Invii simultanei massimi di blocchi per client"
#: src/settings_translation_file.cpp
msgid "Maximum size of the out chat queue"
-msgstr ""
+msgstr "Dimensione massima della coda esterna della chat"
#: 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 ""
+"Dimensione massima della coda esterna della chat.\n"
+"0 per disabilitare l'accodamento e -1 per rendere illimitata la dimensione "
+"della coda."
#: src/settings_translation_file.cpp
msgid "Maximum time in ms a file download (e.g. a mod download) may take."
msgstr ""
"Tempo massimo in ms che può richiedere lo scaricamento di un file (es. un "
-"mod.)."
+"mod)."
#: src/settings_translation_file.cpp
msgid "Maximum users"
-msgstr "Utenti massim*"
+msgstr "Utenti massimi"
#: src/settings_translation_file.cpp
msgid "Menus"
@@ -5144,7 +5127,7 @@ msgstr "Messaggio del giorno"
#: src/settings_translation_file.cpp
msgid "Message of the day displayed to players connecting."
-msgstr "Messaggio del giorno da mostrarsi alle/agli utenti che si connettono."
+msgstr "Messaggio del giorno mostrato ai giocatori che si connettono."
#: src/settings_translation_file.cpp
msgid "Method used to highlight selected object."
@@ -5163,9 +5146,8 @@ msgid "Minimap scan height"
msgstr "Altezza di scansione della minimappa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Minimum texture size"
-msgstr "Dimensione minima dell'immagine per i filtri"
+msgstr "Dimensione minima dell'immagine"
#: src/settings_translation_file.cpp
msgid "Mipmapping"
@@ -5173,7 +5155,7 @@ msgstr "Mipmapping"
#: src/settings_translation_file.cpp
msgid "Mod channels"
-msgstr ""
+msgstr "Canali mod"
#: src/settings_translation_file.cpp
msgid "Modifies the size of the hudbar elements."
@@ -5189,21 +5171,19 @@ msgstr "Dimensione del carattere a spaziatura fissa"
#: src/settings_translation_file.cpp
msgid "Mountain height noise"
-msgstr "Rumore dell'altezza delle montagne"
+msgstr "Rumore dell'altezza montana"
#: src/settings_translation_file.cpp
msgid "Mountain noise"
-msgstr "Rumore delle montagne"
+msgstr "Rumore montano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain variation noise"
-msgstr "Rumore dell'altezza delle montagne"
+msgstr "Rumore di variazione montano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain zero level"
-msgstr "Rumore delle montagne"
+msgstr "Livello zero montano"
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity"
@@ -5231,17 +5211,23 @@ msgstr "Tasto silenzio"
#: src/settings_translation_file.cpp
msgid "Mute sound"
-msgstr ""
+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"
-"Current stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- 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."
#: src/settings_translation_file.cpp
msgid ""
@@ -5249,21 +5235,22 @@ msgid ""
"When running a server, clients connecting with this name are admins.\n"
"When starting from the main menu, this is overridden."
msgstr ""
-"Nome dell'utente.\n"
+"Nome del giocatore.\n"
"Quando si esegue un server, i client che si connettono con questo nome\n"
-"sono amministratrici/tori.\n"
-"Quando si avvia dal menu principale, questa impostazione viene scavalcata."
+"sono amministratori.\n"
+"Quando si avvia dal menu principale, questo viene scavalcato."
#: src/settings_translation_file.cpp
msgid ""
"Name of the server, to be displayed when players join and in the serverlist."
msgstr ""
-"Nome del server, da mostrarsi quando accedono delle/degli utenti e "
-"nell'elenco dei server."
+"Nome del server, da mostrare quando si connettono i giocatori e nell'elenco "
+"dei server."
#: src/settings_translation_file.cpp
-msgid "Near plane"
-msgstr ""
+#, fuzzy
+msgid "Near clipping plane"
+msgstr "Piano vicino"
#: src/settings_translation_file.cpp
msgid "Network"
@@ -5279,11 +5266,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "New users need to input this password."
-msgstr "Le/I nuov* utenti devono inserire questa password."
+msgstr "I nuovi utenti devono immettere questa password."
#: src/settings_translation_file.cpp
msgid "Noclip"
-msgstr "Incorporea"
+msgstr "Incorporeo"
#: src/settings_translation_file.cpp
msgid "Noclip key"
@@ -5314,19 +5301,34 @@ msgid "Number of emerge threads"
msgstr "Numero di thread emerge"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'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 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"
+"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"
+"Per molti utenti l'impostazione ottimale può essere \"1\"."
#: src/settings_translation_file.cpp
msgid ""
@@ -5341,11 +5343,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Number of parallax occlusion iterations."
-msgstr "Numero di iterazioni di parallax occlusion."
+msgstr "Numero di iterazioni dell'occlusione di parallasse."
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Deposito dei contenuti in linea"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5357,16 +5359,18 @@ msgid ""
"formspec is\n"
"open."
msgstr ""
+"Apre il menu di pausa quando si perde la messa a fuoco della finestra. Non\n"
+"mette in pausa se è aperta una finestra di dialogo."
#: src/settings_translation_file.cpp
msgid "Overall bias of parallax occlusion effect, usually scale/2."
msgstr ""
-"Deviazione complessiva dell'effetto di parallax occlusion, solitamente "
+"Deviazione complessiva dell'effetto di occlusione di parallasse, solitamente "
"scala/2."
#: src/settings_translation_file.cpp
msgid "Overall scale of parallax occlusion effect."
-msgstr "Scala globale dell'effetto di parallax occlusion."
+msgstr "Scala globale dell'effetto di occlusione di parallasse."
#: src/settings_translation_file.cpp
msgid "Parallax occlusion"
@@ -5374,24 +5378,23 @@ msgstr "Parallax Occlusion"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion bias"
-msgstr "Deviazione della parallax occlusion"
+msgstr "Deviazione dell'occlusione di parallasse"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion iterations"
-msgstr "Iterazioni parallax occlusion"
+msgstr "Iterazioni dell'occlusione di parallasse"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion mode"
-msgstr "Modalità parallax occlusion"
+msgstr "Modalità dell'occlusione di parallasse"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion scale"
-msgstr "Scala parallax occlusion"
+msgstr "Scala dell'occlusione di parallasse"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion strength"
-msgstr "Intensità parallax occlusion"
+msgstr "Intensità dell'occlusione di parallasse"
#: src/settings_translation_file.cpp
msgid "Path to TrueTypeFont or bitmap."
@@ -5399,7 +5402,7 @@ msgstr "Percorso del carattere TrueType o bitmap."
#: src/settings_translation_file.cpp
msgid "Path to save screenshots at."
-msgstr "Percorso dove salvare le istantanee."
+msgstr "Percorso dove salvare le schermate."
#: src/settings_translation_file.cpp
msgid ""
@@ -5407,7 +5410,7 @@ msgid ""
"used."
msgstr ""
"Percorso della cartella degli shader. Se non se ne stabilisce nessuno,\n"
-"verrà usata quella predefinita."
+"verrà usato quello predefinito."
#: src/settings_translation_file.cpp
msgid "Path to texture directory. All textures are first searched from here."
@@ -5417,41 +5420,39 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
-msgstr ""
+msgstr "Pausa alla perdita di fuoco della finestra"
#: src/settings_translation_file.cpp
msgid "Physics"
msgstr "Fisica"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move key"
-msgstr "Tasto volo"
+msgstr "Modalità movimento pendenza"
#: src/settings_translation_file.cpp
msgid "Pitch move mode"
-msgstr ""
+msgstr "Modalità movimento pendenza"
#: 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 ""
-"Il personaggio può volare senza essere soggetto alla gravità.\n"
-"Richiede il privilegio \"fly\" sul server."
+"Il giocatore può volare senza essere soggetto alla gravità.\n"
+"Ciò richiede il privilegio \"fly\" sul server."
#: src/settings_translation_file.cpp
msgid "Player name"
-msgstr "Nome dell* utente"
+msgstr "Nome del giocatore"
#: src/settings_translation_file.cpp
msgid "Player transfer distance"
-msgstr "Distanza di trasferimento dell* utente"
+msgstr "Distanza di trasferimento del giocatore"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Player versus player"
-msgstr "Utente contro Utente"
+msgstr "Giocatore contro giocatore"
#: src/settings_translation_file.cpp
msgid ""
@@ -5467,26 +5468,29 @@ 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 ""
+"Impedisce la ripetizione di scavo e posizionamento quando si tengono "
+"premuti\n"
+"i pulsanti del mouse.\n"
+"Abilitalo quando scavi o piazzi troppo spesso per caso."
#: src/settings_translation_file.cpp
msgid "Prevent mods from doing insecure things like running shell commands."
msgstr ""
-"Impedisce che i mod. facciano cose non sicure come eseguire comandi della "
+"Impedisce che i mod facciano cose non sicure come eseguire comandi della "
"shell."
#: 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 ""
-"Stampare i dati di profilo del motore a intervalli regolari (in secondi).\n"
-"0 = disabilitato. Utile per le/gli sviluppatrici/tori."
+"Stampare i dati di profilo del motore di gioco a intervalli regolari (in "
+"secondi).\n"
+"0 = disabilita. Utile per gli sviluppatori."
#: src/settings_translation_file.cpp
msgid "Privileges that players with basic_privs can grant"
-msgstr ""
-"Privilegi che possono essere assegnati dalle/dagli utenti con basic_privs"
+msgstr "Privilegi che i giocatori con basic_privs possono concedere"
#: src/settings_translation_file.cpp
msgid "Profiler"
@@ -5494,32 +5498,26 @@ msgstr "Generatore di profili"
#: src/settings_translation_file.cpp
msgid "Profiler toggle key"
-msgstr "Tasto di (dis)attivazione del generatore di profili"
+msgstr "Tasto di scelta del generatore di profili"
#: src/settings_translation_file.cpp
msgid "Profiling"
msgstr "Generazione di profili"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 ""
-"Raggio dell'area delle nuvole espresso in numero di 64 nodi quadrati "
-"nuvola.\n"
+"Raggio dell'area delle nuvole fissato in numero di 64 nodi quadrati nuvola.\n"
"Valori maggiori di 26 cominceranno a produrre interruzioni appuntite agli "
"angoli\n"
"delle aree nuvola."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Raises terrain to make valleys around the rivers."
-msgstr "Solleva il terreno per creare vallate attorno ai fiumi"
+msgstr "Solleva il terreno per creare vallate attorno ai fiumi."
#: src/settings_translation_file.cpp
msgid "Random input"
@@ -5527,11 +5525,11 @@ msgstr "Dati in ingresso casuali"
#: src/settings_translation_file.cpp
msgid "Range select key"
-msgstr "Tasto di selezione del raggio"
+msgstr "Tasto di scelta del raggio"
#: src/settings_translation_file.cpp
msgid "Recent Chat Messages"
-msgstr ""
+msgstr "Messaggi di chat recenti"
#: src/settings_translation_file.cpp
msgid "Remote media"
@@ -5546,6 +5544,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 ""
+"Leva i codici di colore dai messaggi di chat in arrivo\n"
+"Usalo per impedire ai giocatori di usare i colori nei loro messaggi"
#: src/settings_translation_file.cpp
msgid "Replaces the default main menu with a custom one."
@@ -5568,11 +5568,22 @@ msgid ""
"csm_restriction_noderange)\n"
"READ_PLAYERINFO: 32 (disable get_player_names call client-side)"
msgstr ""
+"Restringe l'accesso di certe funzioni lato-client sui server.\n"
+"Combina i valori byte sottostanti per restringere le caratteristiche\n"
+"lato-client, o imposta a 0 per nessuna restrizione:\n"
+"LOAD_CLIENT_MODS: 1 (disabilita il caricamento di mod forniti dal client)\n"
+"CHAT_MESSAGES: 2 (disabilita la chiamata di send_chat_message su lato-"
+"client)\n"
+"READ_ITEMDEFS: 4 (disabilita la chiamata di get_item_def su lato-client)\n"
+"READ_NODEDEFS: 8 (disabilita la chiamata di get_node_def su lato-client)\n"
+"LOOKUP_NODES_LIMIT: 16 (limita la chiamata get_node su lato-client a\n"
+"csm_restriction_noderange)\n"
+"READ_PLAYERINFO: 32 (disabilita la chiamata di get_player_names su lato-"
+"client)"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridge mountain spread noise"
-msgstr "Rumore sottomarino dei crinali"
+msgstr "Diffusione del rumore dei crinali montani"
#: src/settings_translation_file.cpp
msgid "Ridge noise"
@@ -5583,9 +5594,8 @@ msgid "Ridge underwater noise"
msgstr "Rumore sottomarino dei crinali"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridged mountain size noise"
-msgstr "Rumore sottomarino dei crinali"
+msgstr "Dimensione del rumore dei crinali montani"
#: src/settings_translation_file.cpp
msgid "Right key"
@@ -5597,30 +5607,42 @@ msgstr "Intervallo di ripetizione del click destro"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "River depth"
+msgid "River channel depth"
msgstr "Profondità dei fiumi"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel width"
+msgstr "Profondità dei fiumi"
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr "Profondità dei fiumi"
+
+#: src/settings_translation_file.cpp
msgid "River noise"
msgstr "Rumore dei fiumi"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River size"
msgstr "Dimensione dei fiumi"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Profondità dei fiumi"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Registrazione di ripristino"
#: src/settings_translation_file.cpp
msgid "Rolling hill size noise"
-msgstr ""
+msgstr "Rumore della dimensione delle colline in serie"
#: src/settings_translation_file.cpp
msgid "Rolling hills spread noise"
-msgstr ""
+msgstr "Rumore della diffusione delle colline in serie"
#: src/settings_translation_file.cpp
msgid "Round minimap"
@@ -5628,12 +5650,12 @@ msgstr "Minimappa rotonda"
#: src/settings_translation_file.cpp
msgid "Safe digging and placing"
-msgstr ""
+msgstr "Scavo e piazzamento sicuri"
#: src/settings_translation_file.cpp
msgid "Sandy beaches occur when np_beach exceeds this value."
msgstr ""
-"Quando np_beach eccede questo valore si verificano le spaggie sabbiose."
+"Quando np_beach eccede questo valore si verificano le spiagge sabbiose."
#: src/settings_translation_file.cpp
msgid "Save the map received by the client on disk."
@@ -5642,13 +5664,13 @@ msgstr "Salvare su disco la mappa ricevuta dal client."
#: src/settings_translation_file.cpp
msgid "Save window size automatically when modified."
msgstr ""
+"Salvare automaticamente la dimensione della finestra quando viene modificata."
#: src/settings_translation_file.cpp
msgid "Saving map received from server"
-msgstr "Salvataggio mappa ricevuta dal server"
+msgstr "Salvataggio della mappa ricevuta dal server"
#: 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"
@@ -5673,15 +5695,15 @@ msgstr "Larghezza dello schermo"
#: src/settings_translation_file.cpp
msgid "Screenshot folder"
-msgstr "Cartella delle istantanee"
+msgstr "Cartella delle schermate"
#: src/settings_translation_file.cpp
msgid "Screenshot format"
-msgstr "Formato delle istantanee"
+msgstr "Formato delle schermate"
#: src/settings_translation_file.cpp
msgid "Screenshot quality"
-msgstr "Qualità dell'istantanea"
+msgstr "Qualità delle schermate"
#: src/settings_translation_file.cpp
msgid ""
@@ -5689,36 +5711,35 @@ msgid ""
"1 means worst quality; 100 means best quality.\n"
"Use 0 for default quality."
msgstr ""
-"Qialità dell'istantanea. Usata solo per il formato JPEG.\n"
+"Qualità delle schermate. Usata solo per il formato JPEG.\n"
"1 significa qualità peggiore, 100 significa qualità migliore.\n"
-"Usate 0 per la qualità predefinita."
+"Usa 0 per la qualità predefinita."
#: src/settings_translation_file.cpp
msgid "Seabed noise"
msgstr "Rumore del fondale marino"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of 4 2D noises that together define hill/mountain range height."
-msgstr "Secondo di 2 rumori 3D che assieme definiscono le gallerie."
+msgstr ""
+"Secondo di 4 rumori 2D che insieme definiscono l'intervallo di altezza "
+"collinare/montuoso."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of two 3D noises that together define tunnels."
-msgstr "Secondo di 2 rumori 3D che assieme definiscono le gallerie."
+msgstr "Secondo di due rumori 3D che assieme definiscono le gallerie."
#: src/settings_translation_file.cpp
msgid "Security"
msgstr "Sicurezza"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
msgstr "Si veda http://www.sqlite.org/pragma.html#pragma_synchronous"
#: src/settings_translation_file.cpp
msgid "Selection box border color (R,G,B)."
-msgstr "Colore del bordo del riquadro di selezione (R, G, B)."
+msgstr "Colore del bordo del riquadro di selezione (R,G,B)."
#: src/settings_translation_file.cpp
msgid "Selection box color"
@@ -5729,7 +5750,6 @@ msgid "Selection box width"
msgstr "Larghezza del riquadro di selezione"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Selects one of 18 fractal types.\n"
"1 = 4D \"Roundy\" mandelbrot set.\n"
@@ -5751,25 +5771,25 @@ msgid ""
"17 = 4D \"Mandelbulb\" mandelbrot set.\n"
"18 = 4D \"Mandelbulb\" julia set."
msgstr ""
-"Scelta di 18 frattali da 9 formule.\n"
-"1 = 4D \"Arrotondato\" serie mandelbrot.\n"
-"2 = 4D \"Arrotondato\" serie julia.\n"
-"3 = 4D \"Squadrato\" serie mandelbrot.\n"
-"4 = 4D \"Squadrato\" serie julia.\n"
-"5 = 4D \"Cugino Mandy\" serie mandelbrot.\n"
-"6 = 4D \"Cugino Mandy\" serie julia.\n"
-"7 = 4D \"Variazione\" serie mandelbrot.\n"
-"8 = 4D \"Variazione\" serie julia.\n"
-"9 = 3D \"Mandelbrot/Mandelbar\" serie mandelbrot.\n"
-"10 = 3D \"Mandelbrot/Mandelbar\" serie julia.\n"
-"11 = 3D \"Albero di Natale\" serie mandelbrot.\n"
-"12 = 3D \"Albero di Natale\" serie julia.\n"
-"13 = 3D \"Mandelbulb\" serie mandelbrot.\n"
-"14 = 3D \"Mandelbulb\" serie julia.\n"
-"15 = 3D \"Coseno Mandelbulb\" serie mandelbrot.\n"
-"16 = 3D \"Coseno Mandelbulb\" serie julia.\n"
-"17 = 4D \"Mandelbulb\" serie mandelbrot.\n"
-"18 = 4D \"Mandelbulb\" serie julia."
+"Seleziona uno dei 18 tipi di frattale.\n"
+"1 = 4D serie Mandelbrot \"arrotondata\".\n"
+"2 = 4D serie Julia \"arrotondata\".\n"
+"3 = 4D serie Mandelbrot \"squadrata\".\n"
+"4 = 4D serie Julia \"squadrata\".\n"
+"5 = 4D serie Mandelbrot \"cugino Mandy\".\n"
+"6 = 4D serie Julia \"cugino Mandy\".\n"
+"7 = 4D serie Mandelbrot \"variazione\".\n"
+"8 = 4D serie Julia \"variazione\".\n"
+"9 = 3D serie Mandelbrot \"Mandelbrot/Mandelbar\".\n"
+"10 = 3D serie Julia \"Mandelbrot/Mandelbar\".\n"
+"11 = 3D serie Mandelbrot \"Albero di Natale\".\n"
+"12 = 3D serie Julia \"Albero di Natale\".\n"
+"13 = 3D serie Mandelbrot \"Mandelbulb\".\n"
+"14 = 3D serie Julia \"Mandelbulb\".\n"
+"15 = 3D serie Mandelbrot \"coseno Mandelbulb\".\n"
+"16 = 3D serie Julia \"coseno Mandelbulb\".\n"
+"17 = 4D serie Mandelbrot \"Mandelbulb\".\n"
+"18 = 4D serie Julia \"Mandelbulb\"."
#: src/settings_translation_file.cpp
msgid "Server / Singleplayer"
@@ -5812,19 +5832,21 @@ msgid ""
"Set the language. Leave empty to use the system language.\n"
"A restart is required after changing this."
msgstr ""
-"Impostate la lingua. Lasciate vuoto per usare la lingua di sistema.\n"
+"Imposta la Lingua. Lascia vuoto per usare la Lingua di sistema.\n"
"Dopo avere modificato questa impostazione è necessario il riavvio."
#: src/settings_translation_file.cpp
msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
+"Imposta la lunghezza massima di caratteri di un messaggio di chat inviato "
+"dai client."
#: src/settings_translation_file.cpp
msgid ""
"Set to true enables waving leaves.\n"
"Requires shaders to be enabled."
msgstr ""
-"Impostata su Attivat* abilita le foglie ondeggianti.\n"
+"Impostata su vero abilita le foglie ondeggianti.\n"
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
@@ -5832,7 +5854,7 @@ msgid ""
"Set to true enables waving plants.\n"
"Requires shaders to be enabled."
msgstr ""
-"Impostata su Attivat* abilita le piante ondeggianti.\n"
+"Impostata su vero abilita le piante ondeggianti.\n"
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
@@ -5840,7 +5862,7 @@ msgid ""
"Set to true enables waving water.\n"
"Requires shaders to be enabled."
msgstr ""
-"Impostata su Attivat* abilita l'acqua ondeggiante.\n"
+"Impostata su vero abilita l'acqua ondeggiante.\n"
"Necessita l'attivazione degli shader."
#: src/settings_translation_file.cpp
@@ -5848,7 +5870,6 @@ msgid "Shader path"
msgstr "Percorso shader"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Shaders allow advanced visual effects and may increase performance on some "
"video\n"
@@ -5856,8 +5877,9 @@ msgid ""
"This only works with the OpenGL video backend."
msgstr ""
"Gli shader permettono l'utilizzo di effetti visivi avanzati e potrebbero "
-"aumentare la resa su\n"
-"alcune schede video. Ciò funziona solo col supporto video OpenGL."
+"aumentare\n"
+"le prestazioni su alcune schede video.\n"
+"Ciò funziona solo col supporto video OpenGL."
#: src/settings_translation_file.cpp
msgid "Shadow limit"
@@ -5865,11 +5887,11 @@ msgstr "Limite dell'ombra"
#: src/settings_translation_file.cpp
msgid "Shape of the minimap. Enabled = round, disabled = square."
-msgstr "Forma della minimappa. Attivat* = rotonda, disattivat* = quadrata."
+msgstr "Forma della minimappa. Abilitata = rotonda, disabilitata = quadrata."
#: src/settings_translation_file.cpp
msgid "Show debug info"
-msgstr "Mostrare le informazioni di debug"
+msgstr "Mostra le informazioni di debug"
#: src/settings_translation_file.cpp
msgid "Show entity selection boxes"
@@ -5877,7 +5899,7 @@ msgstr "Mostrare le aree di selezione delle entità"
#: src/settings_translation_file.cpp
msgid "Shutdown message"
-msgstr "Messaggio di spegnimento"
+msgstr "Messaggio di chiusura"
#: src/settings_translation_file.cpp
msgid ""
@@ -5888,6 +5910,13 @@ msgid ""
"Altering this value is for special usage, leaving it unchanged is\n"
"recommended."
msgstr ""
+"Dimensione dei pezzi di mappa generati dal generatore mappe, fissata in\n"
+"blocchi mappa (16 nodi).\n"
+"AVVERTIMENTO!: non c'è nessun vantaggio, e ci sono diversi pericoli,\n"
+"nell'aumentare questo valore al di sopra di 5.\n"
+"Ridurre questo valore aumenta la densità di grotte e sotterranei.\n"
+"L'alterazione di questo valore è per uso speciale, si raccomanda di\n"
+"lasciarlo invariato."
#: src/settings_translation_file.cpp
msgid ""
@@ -5904,9 +5933,8 @@ msgid "Slice w"
msgstr "Fetta w"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Slope and fill work together to modify the heights."
-msgstr "Pendenza e riempimento lavorano assieme per modificare le altezze"
+msgstr "Pendenza e riempimento lavorano assieme per modificare le altezze."
#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
@@ -5943,26 +5971,27 @@ msgstr "Rende fluida la rotazione della telecamera. 0 per disattivare."
#: src/settings_translation_file.cpp
msgid "Sneak key"
-msgstr "Tasto strisciare"
+msgstr "Tasto striscia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Sneaking speed"
-msgstr "Velocità di passo"
+msgstr "Velocità di strisciamento"
+
+#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Audio"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key"
-msgstr "Tasto strisciare"
+msgstr "Tasto speciale"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key for climbing/descending"
-msgstr "Tasto usare per arrampicarsi/scendere"
+msgstr "Tasto speciale per arrampicarsi/scendere"
#: src/settings_translation_file.cpp
msgid ""
@@ -5973,9 +6002,8 @@ msgid ""
msgstr ""
"Specifica l'URL da cui il client recupera i file multimediali invece di "
"usare UDP.\n"
-"$filename dovrebbe essere accessibile da $remote_media$filename tramite "
-"cURL\n"
-"(ovviamente, remote_media dovrebbe finire con una barra).\n"
+"$filename dovrebbe essere accessibile da $remote_media$filename tramite\n"
+"cURL (ovviamente, remote_media dovrebbe finire con una barra).\n"
"I file che non sono presenti saranno recuperati nel solito modo."
#: src/settings_translation_file.cpp
@@ -5983,6 +6011,8 @@ msgid ""
"Spread of light curve mid-boost.\n"
"Standard deviation of the mid-boost gaussian."
msgstr ""
+"Diffusione dell'aumento mediano della curva di luce.\n"
+"Scostamento tipo dell'aumento mediano gaussiano."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -5993,14 +6023,12 @@ msgid "Steepness noise"
msgstr "Rumore della ripidità"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Step mountain size noise"
-msgstr "Rumore delle montagne"
+msgstr "Rumore della dimensione del passo montano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Step mountain spread noise"
-msgstr "Rumore delle montagne"
+msgstr "Rumore della diffusione del passo montano"
#: src/settings_translation_file.cpp
msgid "Strength of generated normalmaps."
@@ -6008,19 +6036,19 @@ msgstr "Intensità delle normalmap generate."
#: src/settings_translation_file.cpp
msgid "Strength of light curve mid-boost."
-msgstr ""
+msgstr "Intensità dell'aumento mediano della curva di luce."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
-msgstr "Intensità di parallax."
+msgstr "Intensità della parallasse."
#: src/settings_translation_file.cpp
msgid "Strict protocol checking"
-msgstr "Controllo rigido del protocollo"
+msgstr "Controllo severo del protocollo"
#: src/settings_translation_file.cpp
msgid "Strip color codes"
-msgstr ""
+msgstr "Elimina i codici di colore"
#: src/settings_translation_file.cpp
msgid "Synchronous SQLite"
@@ -6031,7 +6059,6 @@ msgid "Temperature variation for biomes."
msgstr "Variazione di temperatura per i biomi."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Terrain alternative noise"
msgstr "Rumore alternativo del terreno"
@@ -6040,13 +6067,12 @@ msgid "Terrain base noise"
msgstr "Rumore di base del terreno"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Terrain height"
-msgstr "Altezza terreno"
+msgstr "Altezza del terreno"
#: src/settings_translation_file.cpp
msgid "Terrain higher noise"
-msgstr "Rumore più alto del terreno"
+msgstr "Rumore superiore del terreno"
#: src/settings_translation_file.cpp
msgid "Terrain noise"
@@ -6058,8 +6084,8 @@ msgid ""
"Controls proportion of world area covered by hills.\n"
"Adjust towards 0.0 for a larger proportion."
msgstr ""
-"Limite di rumore del terreno per le colline.\n"
-"Controlla la porzione d'area del mondo coperta da colline.\n"
+"Soglia di rumore del terreno per le colline.\n"
+"Controlla la porzione d'area del mondo ricoperta da colline.\n"
"Aggiustare verso 0.0 per una porzione più ampia."
#: src/settings_translation_file.cpp
@@ -6068,8 +6094,8 @@ msgid ""
"Controls proportion of world area covered by lakes.\n"
"Adjust towards 0.0 for a larger proportion."
msgstr ""
-"Limite di rumore del terreno per i laghi.\n"
-"Controlla la porzione d'area del mondo coperta da laghi.\n"
+"Soglia di rumore del terreno per i laghi.\n"
+"Controlla la porzione d'area del mondo ricoperta da laghi.\n"
"Aggiustare verso 0.0 per una porzione più ampia."
#: src/settings_translation_file.cpp
@@ -6089,10 +6115,18 @@ msgid ""
"this option allows enforcing it for certain node types. Note though that\n"
"that is considered EXPERIMENTAL and may not work properly."
msgstr ""
+"Le immagini su un nodo possono essere allineate sia al nodo che al mondo.\n"
+"Il primo modo si addice meglio a cose come macchine, arredamento, ecc.,\n"
+"mentre il secondo fa sì che scale e microblocchi si adattino meglio ai "
+"dintorni.\n"
+"Comunque, dato che questa possibilità è nuova, automaticamente potrebbe\n"
+"non essere usata dai server più vecchi, questa opzione consente di imporla\n"
+"per alcuni tipi di nodo. Si noti però che questa è considerata SPERIMENTALE\n"
+"e potrebbe non funzionare bene."
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "L'URL per il deposito dei contenuti"
#: src/settings_translation_file.cpp
msgid ""
@@ -6100,12 +6134,11 @@ msgid ""
"when calling `/profiler save [format]` without format."
msgstr ""
"Il formato predefinito in cui si salvano i profili,\n"
-"quando si chiama `/profiler save [format]` senza formato."
+"quando si chiama \"/profiler save [format]\" senza formato."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "The depth of dirt or other biome filler node."
-msgstr "La profondità della terra o altri riempitori"
+msgstr "La profondità della terra o altri riempitori del bioma."
#: src/settings_translation_file.cpp
msgid ""
@@ -6120,7 +6153,7 @@ msgstr "L'identificatore del joystick da usare"
#: src/settings_translation_file.cpp
msgid "The length in pixels it takes for touch screen interaction to start."
-msgstr ""
+msgstr "La distanza in pixel richiesta per avviare l'interazione touch screen."
#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
@@ -6131,7 +6164,7 @@ msgid ""
"The privileges that new users automatically get.\n"
"See /privs in game for a full list on your server and mod configuration."
msgstr ""
-"I privilegi ricevuti automaticamente dalle/dai nuov* utenti.\n"
+"I privilegi ricevuti automaticamente dai nuovi utenti.\n"
"Si veda /privs in gioco per un elenco completo sul vostro server e la "
"configurazione dei mod."
@@ -6145,6 +6178,12 @@ msgid ""
"maintained.\n"
"This should be configured together with active_object_range."
msgstr ""
+"Il raggio del volume di blocchi attorno ciascun giocatore che è soggetto\n"
+"alle cose del blocco attivo, fissata in blocchi mappa (16 nodi).\n"
+"Nei blocchi attivi vengono caricati gli oggetti ed eseguiti gli ABM.\n"
+"Questo è anche la distanza minima in cui sono mantenuti gli oggetti attivi "
+"(mob).\n"
+"Questo dovrebbe essere configurato assieme ad active_object_range."
#: src/settings_translation_file.cpp
msgid ""
@@ -6155,6 +6194,13 @@ msgid ""
"On other platforms, OpenGL is recommended, and it’s the only driver with\n"
"shader support currently."
msgstr ""
+"Il back-end di rendering per Irrlicht.\n"
+"Dopo averlo cambiato è necessario un riavvio.\n"
+"Nota: su Android, si resti con OGLES1 se incerti! Altrimenti l'app potrebbe "
+"non\n"
+"partire.\n"
+"Su altre piattaforme, si raccomanda OpenGL, ed è attualmente l'unico driver\n"
+"con supporto degli shader."
#: src/settings_translation_file.cpp
msgid ""
@@ -6188,7 +6234,7 @@ msgstr ""
"Il tempo (in secondi) in cui la coda dei liquidi può crescere oltre alla "
"capacità\n"
"di elaborazione finché viene fatto un tentativo di diminuirne la dimensione\n"
-"scaricando gli oggetti della vecchia coda. Un valore 0 disattiva questa "
+"scaricando gli oggetti della vecchia coda. Un valore di 0 disabilita la "
"funzionalità."
#: src/settings_translation_file.cpp
@@ -6200,7 +6246,6 @@ msgstr ""
"si tiene premuta una combinazione di pulsanti del joystick."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"The time in seconds it takes between repeated right clicks when holding the "
"right\n"
@@ -6219,27 +6264,34 @@ msgid ""
"enabled. Also the vertical distance over which humidity drops by 10 if\n"
"'altitude_dry' is enabled."
msgstr ""
+"La distanza verticale alla quale il calore crolla di 20 se \"altitude_chill"
+"\"\n"
+"è abilitata. È anche la distanza verticale su cui l'umidità crolla di 10\n"
+"se \"altitude_dry\" è abilitata."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Third of 4 2D noises that together define hill/mountain range height."
-msgstr "Primo di due rumori 3D che insieme definiscono le gallerie."
+msgstr ""
+"Terzo di 4 rumori 2D che insieme definiscono l'intervallo di altezza "
+"collinare/montuoso."
#: src/settings_translation_file.cpp
msgid "This font will be used for certain languages."
-msgstr "Questo carattere sarà usato per certe lingue."
+msgstr "Questo carattere sarà usato per certe Lingue."
#: 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 ""
-"Tempo di vita in secondi per le entità oggetto (oggetti lasciati a terra).\n"
-"Impostandola a -1 si disattiva questa caratteristica."
+"Tempo di vita in secondi per le entità oggetto (oggetti buttati).\n"
+"Impostandola a -1 disabilita la caratteristica."
#: src/settings_translation_file.cpp
msgid "Time of day when a new world is started, in millihours (0-23999)."
msgstr ""
+"Ora del giorno in cui è avviato un nuovo mondo, in millesimi di ora "
+"(0-23999)."
#: src/settings_translation_file.cpp
msgid "Time send interval"
@@ -6252,7 +6304,7 @@ msgstr "Velocità del tempo"
#: src/settings_translation_file.cpp
msgid "Timeout for client to remove unused map data from memory."
msgstr ""
-"Scadenza per i client per rimuovere dalla memoria dati mappa inutilizzati."
+"Scadenza per il client per rimuovere dalla memoria dati mappa inutilizzati."
#: src/settings_translation_file.cpp
msgid ""
@@ -6261,24 +6313,23 @@ msgid ""
"This determines how long they are slowed down after placing or removing a "
"node."
msgstr ""
-"Per ridurre il ritardo, i trasferimenti di blocchi sono rallentati quando "
-"un* utente sta\n"
-"costruendo qualcosa. Questo stabilisce per quanto a lungo sono rallentati "
-"dopo avere\n"
-"posizionato o rimosso un nodo."
+"Per ridurre il ritardo, i trasferimenti di blocchi sono rallentati quando un "
+"giocatore\n"
+"sta costruendo qualcosa. Ciò determina per quanto a lungo sono rallentati "
+"dopo\n"
+"avere posizionato o rimosso un nodo."
#: src/settings_translation_file.cpp
msgid "Toggle camera mode key"
-msgstr "Tasto di cambio modalità telecamera"
+msgstr "Tasto di scelta della modalità telecamera"
#: src/settings_translation_file.cpp
msgid "Tooltip delay"
msgstr "Ritardo dei suggerimenti"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Touch screen threshold"
-msgstr "Soglia del rumore della spiaggia"
+msgstr "Soglia del touch screen"
#: src/settings_translation_file.cpp
msgid "Trees noise"
@@ -6294,8 +6345,8 @@ msgid ""
"False = 128\n"
"Useable to make minimap smoother on slower machines."
msgstr ""
-"Attivat* = 256\n"
-"Disattivat* = 128\n"
+"Vero = 256\n"
+"Falso = 128\n"
"Utilizzabile per rendere più fluida la minimappa su macchine più lente."
#: src/settings_translation_file.cpp
@@ -6303,12 +6354,11 @@ msgid "Trusted mods"
msgstr "Moduli fidati"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Typical maximum height, above and below midpoint, of floatland mountains."
msgstr ""
-"Altezza massima tipica, sopra e sotto il punto medio, del terreno montano "
-"delle isole fluttuanti."
+"Altezza massima tipica, sopra e sotto il punto medio, delle montagne dei "
+"terreni fluttuanti."
#: src/settings_translation_file.cpp
msgid "URL to the server list displayed in the Multiplayer Tab."
@@ -6319,22 +6369,24 @@ msgid "Undersampling"
msgstr "Sotto-campionamento"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"Il sotto-campionamento è simile all'uso di una risoluzione schermo "
"inferiore,\n"
"ma è applicato solo al mondo di gioco, mantenendo intatta l'interfaccia "
"utente.\n"
-"Dovrebbe dare un significativo aumento di resa al costo di immagini meno\n"
-"dettagliate."
+"Dovrebbe dare un aumento di prestazioni significativo al costo di immagini\n"
+"meno dettagliate."
#: src/settings_translation_file.cpp
msgid "Unlimited player transfer distance"
-msgstr "Distanza di trasferimento utente illimitata"
+msgstr "Distanza di trasferimento giocatore illimitata"
#: src/settings_translation_file.cpp
msgid "Unload unused server data"
@@ -6342,7 +6394,7 @@ msgstr "Scaricare i dati server inutilizzati"
#: src/settings_translation_file.cpp
msgid "Upper Y limit of dungeons."
-msgstr ""
+msgstr "Livello Y superiore dei sotterranei."
#: src/settings_translation_file.cpp
msgid "Use 3D cloud look instead of flat."
@@ -6355,12 +6407,12 @@ msgstr "Usare un'animazione con le nuvole per lo sfondo del menu principale."
#: src/settings_translation_file.cpp
msgid "Use anisotropic filtering when viewing at textures from an angle."
msgstr ""
-"Utilizzare il filtro anisotropico quando si guardano le immagini da un "
-"angolo visivo."
+"Usare il filtraggio anisotropico quando si guardano le immagini da "
+"un'angolazione."
#: src/settings_translation_file.cpp
msgid "Use bilinear filtering when scaling textures."
-msgstr "Utilizzare il filtro bilineare quando si ridimensionano le immagini."
+msgstr "Usare il filtraggio bilineare quando si ridimensionano le immagini."
#: src/settings_translation_file.cpp
msgid ""
@@ -6368,54 +6420,52 @@ msgid ""
"especially when using a high resolution texture pack.\n"
"Gamma correct downscaling is not supported."
msgstr ""
+"Usare il mip mapping per ridimensionare le immagini. Potrebbe aumentare\n"
+"leggermente le prestazioni, specialmente quando si usa un pacchetto di\n"
+"immagini ad alta risoluzione.\n"
+"La correzione gamma del downscaling non è supportata."
#: src/settings_translation_file.cpp
msgid "Use trilinear filtering when scaling textures."
-msgstr "Utilizzare il filtro trilineare quando si ridimensionano le immagini."
+msgstr "Usare il filtraggio trilineare quando si ridimensionano le immagini."
#: src/settings_translation_file.cpp
msgid "VBO"
msgstr "VBO"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "VSync"
msgstr "Sincronia verticale"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley depth"
msgstr "Profondità valli"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley fill"
msgstr "Riempimento valli"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley profile"
msgstr "Profilo valli"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley slope"
msgstr "Pendenza valli"
#: src/settings_translation_file.cpp
msgid "Variation of biome filler depth."
-msgstr "Variazione della profondità del riempitore di bioma."
+msgstr "Variazione della profondità del riempitore del bioma."
#: src/settings_translation_file.cpp
msgid "Variation of hill height and lake depth on floatland smooth terrain."
msgstr ""
-"Variazione dell'altezza delle colline, e della profondità dei laghi sul "
-"terreno agevole\n"
-"delle isole fluttuanti."
+"Variazione dell'altezza delle colline, e della profondità dei laghi sul\n"
+"terreno uniforme delle terre fluttuanti."
#: src/settings_translation_file.cpp
msgid "Variation of maximum mountain height (in nodes)."
-msgstr "Variazione massima dell'altezza delle montagne (in nodi)."
+msgstr "Variazione dell'altezza montana massima (in nodi)."
#: src/settings_translation_file.cpp
msgid "Variation of number of caves."
@@ -6439,12 +6489,16 @@ msgid ""
"Defines the 'persistence' value for terrain_base and terrain_alt noises."
msgstr ""
"Varia l'asprezza del terreno.\n"
-"Stabilisce il valore 'persistence' (continuità) dai rumori di terrain_base e "
-"terrain_alt."
+"Determina il valore 'persistence' (continuità) per i rumori di terrain_base "
+"e terrain_alt."
#: src/settings_translation_file.cpp
msgid "Varies steepness of cliffs."
-msgstr "Varia la ripidità dei picchi."
+msgstr "Varia la ripidità dei dirupi."
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
@@ -6472,7 +6526,7 @@ msgstr "Tasto aumento raggio visivo"
#: src/settings_translation_file.cpp
msgid "View zoom key"
-msgstr "Tasto zoom visuale"
+msgstr "Tasto ingrandimento visuale"
#: src/settings_translation_file.cpp
msgid "Viewing range"
@@ -6480,14 +6534,13 @@ msgstr "Raggio visivo"
#: src/settings_translation_file.cpp
msgid "Virtual joystick triggers aux button"
-msgstr ""
+msgstr "Il joystick virtuale attiva il pulsante aux"
#: src/settings_translation_file.cpp
msgid "Volume"
msgstr "Volume"
#: 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"
@@ -6497,12 +6550,21 @@ msgid ""
msgstr ""
"Coordinata W della fetta in 3D generata di un frattale in 4D.\n"
"Determina quale fetta in 3D viene generata della forma in 4D.\n"
+"Altera la forma del frattale.\n"
"Non ha effetto su frattali in 3D.\n"
-"Spazia pressapoco tra -2 e 2."
+"Spazia grossomodo tra -2 e 2."
+
+#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Walking speed"
-msgstr "Velocità di passo"
+msgstr "Velocità di cammino"
+
+#: 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"
@@ -6529,16 +6591,19 @@ msgid "Waving water"
msgstr "Acqua ondeggiante"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Altezza dell'acqua ondeggiante"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Durata di ondeggiamento dell'acqua"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Velocità di ondeggiamento dell'acqua"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Velocità di ondeggiamento dell'acqua"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Durata di ondeggiamento dell'acqua"
#: src/settings_translation_file.cpp
msgid ""
@@ -6546,7 +6611,7 @@ msgid ""
"filtered in software, but some images are generated directly\n"
"to hardware (e.g. render-to-texture for nodes in inventory)."
msgstr ""
-"Quando gui_scaling_filter è su Attivat*, tutte le immagini dell'interfaccia\n"
+"Quando gui_scaling_filter è Vero, tutte le immagini dell'interfaccia\n"
"necessitano il filtraggio software, ma alcune immagini sono generate\n"
"direttamente dall'hardware (es. render-to-texture per i nodi "
"nell'inventario)."
@@ -6558,15 +6623,13 @@ msgid ""
"to the old scaling method, for video drivers that don't\n"
"properly support downloading textures back from hardware."
msgstr ""
-"Quando gui_scaling_filter_txr2img è su Attivat*, copia quelle immagini\n"
-"dall'hardware al software per il ridimensionamento. Quando è su "
-"Disattivat*,\n"
+"Quando gui_scaling_filter_txr2img è Vero, copia quelle immagini\n"
+"dall'hardware al software per il ridimensionamento. Quando è Falso,\n"
"ripiega sul vecchio metodo di ridimensionamento, per i driver video\n"
"che non supportano correttamente lo scaricamento delle immagini\n"
"dall'hardware."
#: 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"
@@ -6578,26 +6641,25 @@ msgid ""
"This is also used as the base node texture size for world-aligned\n"
"texture autoscaling."
msgstr ""
-"Quando si usano i filtri bilineare/trilineare/anisotropico, le immagini di\n"
-"bassa risoluzione possono divenire sfocate, perciò le si aumenta di scala\n"
-"automaticamente con l'interpolazione nearest-neighbour per conservare\n"
-"dei pixel nitidi. Questo imposta la dimensione minima dell'immagine\n"
-"per le immagini aumentate di scala; valori maggiori avranno un aspetto\n"
-"più nitido, ma richiedono più memoria. Si raccomandano le potenze di 2.\n"
-"Impostarla a più di 1 potrebbe non avere un effetto visibile a meno che\n"
-"si siano abilitati i filtri bilineare/trilineare/anisotropico."
+"Quando si usano i filtri bilineare/trilineare/anisotropico, le immagini a\n"
+"bassa risoluzione possono essere sfocate, così si esegue l'upscaling\n"
+"automatico con l'interpolazione nearest-neighbor per conservare\n"
+"pixel precisi. Questo imposta la dimensione minima delle immagini\n"
+"per le immagini upscaled; valori più alti hanno un aspetto più nitido,\n"
+"ma richiedono più memoria. Sono raccomandate le potenze di 2.\n"
+"Impostarla a un valore maggiore di 1 potrebbe non avere un effetto\n"
+"visibile, a meno che il filtraggio bilineare/trilineare/anisotropico sia\n"
+"abilitato.\n"
+"Questo viene anche usato come dimensione di base per le immagini\n"
+"dei nodi per l'autoridimensionamento delle immagini con allineamento\n"
+"relativo al mondo."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Whether FreeType fonts are used, requires FreeType support to be compiled in."
msgstr ""
-"Se si usano caratteri freetype, richiede la compilazione col supporto "
-"freetype."
-
-#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
+"Se si usano caratteri FreeType, richiede la compilazione col supporto "
+"FreeType."
#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
@@ -6610,12 +6672,12 @@ msgid ""
"Whether players are shown to clients without any range limit.\n"
"Deprecated, use the setting player_transfer_distance instead."
msgstr ""
-"Se le/gli utenti vengono mostrat* ai client senza alcun limite di raggio.\n"
-"Deprecata, usate invece l'impostazione player_transfer_distance."
+"Se i giocatori vengono mostrati ai client senza alcun limite di raggio.\n"
+"Deprecata, usa invece l'impostazione player_transfer_distance."
#: src/settings_translation_file.cpp
msgid "Whether to allow players to damage and kill each other."
-msgstr "Se permettere ai personaggi di ferirsi e uccidersi a vicenda."
+msgstr "Se permettere ai giocatori di ferirsi e uccidersi a vicenda."
#: src/settings_translation_file.cpp
msgid ""
@@ -6623,7 +6685,7 @@ msgid ""
"Set this to true if your server is set up to restart automatically."
msgstr ""
"Se chiedere ai client di riconnettersi dopo un crash (Lua).\n"
-"Impostatela su Attivat* se il vostro server è impostato per ripartire "
+"Impostala su Vero se il tuo server è impostato per riavviarsi "
"automaticamente."
#: src/settings_translation_file.cpp
@@ -6642,7 +6704,6 @@ msgid "Width component of the initial window size."
msgstr "Componente larghezza della dimensione iniziale della finestra."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Width of the selection box lines around nodes."
msgstr "Larghezza delle linee dei riquadri di selezione attorno ai nodi."
@@ -6665,9 +6726,8 @@ msgstr ""
"Non necessaria se si avvia dal menu principale."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "World start time"
-msgstr "Nome del mondo"
+msgstr "Ora di avvio del mondo"
#: src/settings_translation_file.cpp
msgid ""
@@ -6678,10 +6738,18 @@ msgid ""
"See also texture_min_size.\n"
"Warning: This option is EXPERIMENTAL!"
msgstr ""
+"Le immagini allineate al mondo possono essere ridimensionate per\n"
+"estendersi su diversi nodi. Comunque, il server potrebbe non inviare\n"
+"la scala che vuoi, specialmente se usi un pacchetto di texture\n"
+"progettato specialmente; con questa opzione, il client prova a\n"
+"stabilire automaticamente la scala basandosi sulla dimensione\n"
+"dell'immagine.\n"
+"Si veda anche texture_min_size.\n"
+"Avvertimento: questa opzione è SPERIMENTALE!"
#: src/settings_translation_file.cpp
msgid "World-aligned textures mode"
-msgstr ""
+msgstr "Modalità immagini allineate al mondo"
#: src/settings_translation_file.cpp
msgid "Y of flat ground."
@@ -6692,16 +6760,12 @@ msgid ""
"Y of mountain density gradient zero level. Used to shift mountains "
"vertically."
msgstr ""
+"Y del livello zero della densità del dislivello montano. Usato per spostare "
+"verticalmente le montagne."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y of upper limit of large caves."
-msgstr "Y del limite superiore delle caverne pseudocasuali ampie."
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "Y del limite superiore delle caverne pseudocasuali ampie."
+msgstr "Y del limite superiore delle caverne grandi."
#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
@@ -6718,18 +6782,16 @@ msgstr "Livello Y del limite superiore delle caverne."
#: src/settings_translation_file.cpp
msgid "Y-level of floatland midpoint and lake surface."
msgstr ""
-"Livello Y del punto medio delle isole fluttuanti e della superficie dei "
+"Livello Y del punto medio delle terre fluttuanti e della superficie dei "
"laghi."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of higher terrain that creates cliffs."
-msgstr "Livello Y del terreno inferiore e dei fondali dei laghi."
+msgstr "Livello Y del terreno superiore che crea dirupi."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of lower terrain and seabed."
-msgstr "Livello Y del terreno inferiore e dei fondali dei laghi."
+msgstr "Livello Y del terreno inferiore e del fondale marino."
#: src/settings_translation_file.cpp
msgid "Y-level of seabed."
@@ -6737,11 +6799,11 @@ msgstr "Livello Y del fondale marino."
#: src/settings_translation_file.cpp
msgid "Y-level to which floatland shadows extend."
-msgstr "Livello Y a cui si estendono le ombre delle isole fluttuanti."
+msgstr "Livello Y a cui si estendono le ombre delle terre fluttuanti."
#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
-msgstr "Scadenza dello scaricamento file tramite cURL"
+msgstr "Scadenza cURL scaricamento file"
#: src/settings_translation_file.cpp
msgid "cURL parallel limit"
@@ -6751,832 +6813,20 @@ msgstr "Limite parallelo cURL"
msgid "cURL timeout"
msgstr "Scadenza cURL"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Chiudere il magazzino"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Numero di thread emerge da usare. Lasciate vuoto questo campo, o "
-#~ "aumentate questo\n"
-#~ "numero per usare thread multipli. Su sistemi multiprocessore, questo "
-#~ "migliorerà molto\n"
-#~ "la velocità del generatore mappa al costo di caverne un po' difettose."
-
-#~ msgid "Disable MP"
-#~ msgstr "Disattivare p.m."
-
-#~ msgid "Enable MP"
-#~ msgstr "Attivare p.m."
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr ""
-#~ "Non è stato dato un nome al mondo o\n"
-#~ "non si è scelto nessun gioco"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" non è un valore valido."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr ""
-#~ "Il formato è: tre numeri separati da virgole e racchiusi tra parentesi."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formato: <spostamento>, <scala>, (<diffusioneX>, <diffusioneY>, "
-#~ "<diffusioneZ>),\n"
-#~ "<seme>, <ottave>, <continuità>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Facoltativamente è possibile posporre la discontinuità anteponendole una "
-#~ "virgola."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Per piacere fornite un elenco di opzioni separate da virgole."
-
-#~ msgid "Possible values are: "
-#~ msgstr "I valori possibili sono: "
-
-#~ msgid "Select path"
-#~ msgstr "Scegliere il percorso"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Moduli del gioco"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Pagina $1 di $2"
-
-#~ msgid "Rating"
-#~ msgstr "Valutazione"
-
-#~ msgid "Shortname:"
-#~ msgstr "Abbreviazione:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Installazione avvenuta con successo:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Non ordinato"
-
-#~ msgid "re-Install"
-#~ msgstr "Re-installare"
+#~ msgid "Projecting dungeons"
+#~ msgstr "Sotterranei protundenti"
-#~ msgid "Local Game"
-#~ msgstr "Gioco locale"
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "Se i sotterranei saltuariamente si protendono dal terreno."
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Disinstallare il p.m. scelto"
-
-#~ msgid "Play Online"
-#~ msgstr "Gioco in rete"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normal Mapping"
+#~ msgid "Waving Water"
+#~ msgstr "Acqua ondeggiante"
-#~ msgid "No information available"
-#~ msgstr "Nessuna informazione disponibile"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Y del limite superiore della lava nelle caverne grandi."
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Volume modificato a 0%"
+#~ msgid "Select Package File:"
+#~ msgstr "Seleziona pacchetto file:"
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Volume modificato a 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Stampa stack"
-
-#~ msgid "Use"
-#~ msgstr "Usare"
-
-#~ msgid "Next"
-#~ msgstr "Pag. giù"
-
-#~ msgid "Prior"
-#~ msgstr "Pag. su"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Intervallo del modificatore del blocco attivo (ABM)"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Solo per sistemi Android: tenta di creare le immagini dell'inventario\n"
-#~ "dalle mesh quando non si trova nessun renderer supportato."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Annunciare a questo elenco di server.\n"
-#~ "Se volete annunciare il vostro indirizzo ipv6, usate serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Scala approssimativa (X, Y, Z) del frattale in nodi."
-
-#~ msgid "Autorun key"
-#~ msgstr "Tasto corsa automatica"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Caverne e gallerie si formano all'intersezione dei due rumori"
-
-#~ msgid "Cloud height"
-#~ msgstr "Altitudine delle nuvole"
-
-#~ msgid "Console key"
-#~ msgstr "Tasto console"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Avanzamento continuo in avanti (utilizzato solo per i test)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Crea tratti caratteristici di lava imprevedibili nelle caverne.\n"
-#~ "Questi possono rendere difficili gli scavi. Zero li disabilita. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Crea tratti caratteristici d'acqua imprevedibili nelle caverne.\n"
-#~ "Questi possono rendere difficili gli scavi. Zero li disabilita. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Velocità di strisciamento"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Profondità sotto cui troverete caverne enormi."
-
-#~ msgid "Descending speed"
-#~ msgstr "Velocità di discesa"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Disabilitare le sequenze di escape"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Disabilita le sequenze di escape, es. testo colorato.\n"
-#~ "Usatela se volete gestire un server con client anteriori alla v. 0.4.14 e "
-#~ "volete\n"
-#~ "disabilitare le sequenze di escape generate dai mod."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Abilitare l'ondeggiamento visivo"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Attiva l'ondeggiamento della visuale quando si cammina."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Campo visivo per lo zoom"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Campo visivo in gradi durante lo zoom.\n"
-#~ "Richiede il privilegio \"zoom\" sul server."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Da che distanza i client sanno degli oggetti, espressa in blocchi mappa "
-#~ "(16 nodi)."
-
-#~ msgid "General"
-#~ msgstr "Generali"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Altezza alla quale appaiono le nuvole."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Ampiezza delle aree di blocchi soggette alle dinamiche dei blocchi "
-#~ "attivi, espressa in blocchi\n"
-#~ "mappa (16 nodi). Nei blocchi attivi vengono caricati gli oggetti ed "
-#~ "eseguiti gli ABM."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "Se attivata, mostra il messaggio di stato del server alla connessione "
-#~ "delle/gli utenti."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Scorciatoia dell'immagine dell'inventario"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Iterazioni della funzione ricorsiva.\n"
-#~ "Controlla l'ammontare di dettaglio fine."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tasto per aprire la console di messaggistica.\n"
-#~ "Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tasto per la stampa degli stack di debug. Usato per lo sviluppo.\n"
-#~ "Si veda http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Tratti distintivi della lava"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Gestore giochi del menu principale"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Gestore moduli del menu principale"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributi di generazione della mappa specifici per Mapgen Valleys.\n"
-#~ "'altitude_chill' rende più fredde le altitudini più elevate, il che "
-#~ "potrebbe causare\n"
-#~ "problemi di bioma.\n"
-#~ "'humid_rivers' modifica l'umidità attorno ai fiumi e in aree dove l'acqua "
-#~ "tenderebbe\n"
-#~ "a stagnare, potrebbe interferire con i biomi finemente regolati.\n"
-#~ "Le opzioni non specificate nella stringa mantengono l'impostazione "
-#~ "predefinita.\n"
-#~ "Le opzioni che iniziano con 'no' sono usate per disattivarle "
-#~ "espressamente."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributi di generazione della mappa specifici per Mapgen v7.\n"
-#~ "L'opzione 'ridges' (crinali) abilita i fiumi.\n"
-#~ "Le isole fluttuanti sono attualmente sperimentali e soggette a "
-#~ "cambiamento.\n"
-#~ "Le opzioni non specificate nella stringa mantengono l'impostazione "
-#~ "predefinita.\n"
-#~ "Le opzioni che iniziano con 'no' sono usate per disattivarle "
-#~ "espressamente."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Profondità delle caverne enormi"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Rumore delle caverne enormi"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Caverne enormi da qui."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr ""
-#~ "Numero massimo di blocchi che sono inviati simultaneamente in totale."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr ""
-#~ "Numero massimo di blocchi che sono inviati simultaneamente a ciascun "
-#~ "client."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Totale massimo di invii simultanei di blocchi"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "URL dei dettagli del deposito mod."
-
-#~ msgid "Modstore download URL"
-#~ msgstr "URL di scaricamento del deposito mod."
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "URL dell'elenco dei mod. del deposito mod."
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Nome del generatore mappa da usare quando si crea un nuovo mondo.\n"
-#~ "Creando un mondo nel menu principale si scavalcherà questa impostazione."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Rumore dei fiumi - i fiumi avvengono vicino a zero"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Dimensione dei pezzi che il generatore mappa deve generare "
-#~ "immediatamente,\n"
-#~ "espressa in blocchi mappa (16 nodi)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Supportare i vecchi server"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "L'altitudine a cui le temperature crollano di 20°C"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Il supporto di rendering per Irrlicht."
-
-#~ msgid "Use key"
-#~ msgstr "Tasto usare"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Utilizzare il mip mapping per ridimensionare le immagini.\n"
-#~ "Potrebbe aumentare leggermente la resa."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Valori °C delle valli"
-
-#~ msgid "Water Features"
-#~ msgstr "Tratti distintivi dell'acqua"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Se supportare o meno i vecchi server antecedenti alla versione\n"
-#~ "25 del protocollo.\n"
-#~ "Abilitatela se volete connettervi a server di versione 0.4.12 e\n"
-#~ "precedenti. I server dalla 0.4.13 funzioneranno, i server 0.4.12-dev\n"
-#~ "potrebbero funzionare.\n"
-#~ "Disattivando questa opzione proteggerete meglio la vostra password."
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Livello Y del terreno d'altura (cime dei picchi)."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Nascondi contenuto dei pacchetti"
-
-#~ msgid "Attn"
-#~ msgstr "Attenzione"
-
-#~ msgid "Capital"
-#~ msgstr "Bloc maiusc"
-
-#~ msgid "Comma"
-#~ msgstr "Virgola"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Finale"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "ì"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Meno"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Punto"
-
-#~ msgid "Plus"
-#~ msgstr "Più"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Controlla la dimensione di spiagge e deserti nel Generatore mappa v.6.\n"
-#~ "Quando sono attivati i biomi di neve 'mgv6_freq_desert' viene ignorato."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Stabilisce la forma del terreno.\n"
-#~ "I tre numeri tra parentesi controllano la scala del\n"
-#~ "terreno, i tre numeri dovrebbero essere identici."
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Param. del gen. mappa del 'rumore' del calore del bioma"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Param. del gen. mappa di misc. del 'rumore' dell'umidità del bioma"
-
-#~ msgid "Mapgen biome humidity noise parameters"
-#~ msgstr "Param. del gen. mappa del 'rumore' dell'umidità del bioma"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Larghezza delle caverne del Generatore mappa piatto"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "Gen. mappa piatto, parametri del 1° 'rumore' delle caverne"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "Gen. mappa piatto, parametri del 2° 'rumore' delle caverne"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr ""
-#~ "Gen. mappa piatto, parametri del 'rumore' dello riempitore di profondità"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Profondità delle caverne grandi del Generatore mappa piatto"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Parametri del 'rumore' del terreno del Generatore mappa piatto"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Gen. mappa frattale, larghezza caverne"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Gen. mappa frattale, parametri del 1° 'rumore' delle caverne"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Gen. mappa frattale, parametri del 2° 'rumore' delle caverne"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr ""
-#~ "Gen. mappa frattale, parametri del 'rumore' dello riempitore di profondità"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Frattale del Generatore mappa frattale"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Iterazioni del Generatore mappa frattale"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "Gen. mappa frattale, julia w"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "Gen. mappa frattale, julia x"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Gen. mappa frattale, julia y"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Gen. mappa frattale, julia z"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Compensazione del Generatore mappa frattale"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Scala del Generatore mappa frattale"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Param. del 'rumore' del fondale marino del Gen. mappa frattale"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Gen. mappa frattale, fetta w"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Gen. mappa v. 5, larghezza caverne"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "Gen. mappa v. 5, parametri del 1° 'rumore' delle caverne"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "Gen. mappa v. 5, parametri del 2° 'rumore' delle caverne"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Gen. mappa v. 5, parametri del 'rumore' di fabbrica"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr ""
-#~ "Gen. mappa v. 5, parametri del 'rumore' dello riempitore di profondità"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Gen. mappa v. 5, parametri 'rumore' dell'altezza"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Gen. mappa v. 6, parametri del 'rumore' degli alberi"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Gen. mappa v. 6, frequenza della spiaggia"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Gen. mappa v. 6, parametri del 'rumore' della spiaggia"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Gen. mappa v. 6, parametri del 'rumore' del bioma"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Gen. mappa v. 6, parametri del 'rumore' delle caverne"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Gen. mappa v. 6, frequenza del deserto"
-
-#~ msgid "Mapgen v6 mud noise parameters"
-#~ msgstr "Gen. mappa v. 6, parametri del 'rumore' del fango"
-
-#~ msgid "Mapgen v6 steepness noise parameters"
-#~ msgstr "Gen. mappa v. 6, parametri del 'rumore' della ripidità"
-
-#~ msgid "Mapgen v6 terrain altitude noise parameters"
-#~ msgstr "Gen. mappa v. 6, parametri del 'rumore' di altitudine del terreno"
-
-#~ msgid "Mapgen v6 terrain base noise parameters"
-#~ msgstr "Gen. mappa v. 6, parametri del 'rumore' di base del terreno"
-
-#~ msgid "Mapgen v6 trees noise parameters"
-#~ msgstr "Gen. mappa v. 6, parametri del 'rumore' degli alberi"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Gen. mappa v. 7, larghezza delle caverne"
-
-#~ msgid "Mapgen v7 cave1 noise parameters"
-#~ msgstr "Gen. mappa v. 7, parametri del 1° 'rumore' delle caverne"
-
-#~ msgid "Mapgen v7 cave2 noise parameters"
-#~ msgstr "Gen. mappa v. 7, parametri del 2° 'rumore' delle caverne"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr "Gen. mappa v. 7, param. del 'rumore' dello riempitore di profondità"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Gen. mappa v. 7, param. del 'rumore' della selezione di altezza"
-
-#~ msgid "Mapgen v7 mountain noise parameters"
-#~ msgstr "Gen. mappa v. 7, param. del 'rumore' delle montagne"
-
-#~ msgid "Mapgen v7 ridge noise parameters"
-#~ msgstr "Gen. mappa v. 7, param. del 'rumore' dei fiumi"
-
-#~ msgid "Mapgen v7 ridge water noise parameters"
-#~ msgstr "Gen. mappa v. 7, param. del 'rumore' dell'acqua dei fiumi"
-
-#~ msgid "Mapgen v7 terrain altitude noise parameters"
-#~ msgstr "Gen. mappa v. 7, param. del 'rumore' di altitudine del terreno"
-
-#~ msgid "Mapgen v7 terrain base noise parameters"
-#~ msgstr "Gen. mappa v. 7, param. del 'rumore' di base del terreno"
-
-#~ msgid "Mapgen v7 terrain persistation noise parameters"
-#~ msgstr "Gen. mappa v. 7, param. del \"rumore\" di continuità del terreno"
-
-#~ msgid ""
-#~ "Noise parameters for biome API temperature, humidity and biome blend."
-#~ msgstr ""
-#~ "Parametri di 'rumore' per l'API di temperatura del bioma, umidità e "
-#~ "fusione di bioma."
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Dove si ferma il generatore mappa.\n"
-#~ "Si noti prego:\n"
-#~ "- Limitato a 31.000 (impostazioni superiori non hanno effetto)\n"
-#~ "- Il generatore mappa lavora in gruppi di 80x80x80 nodi (5x5x5 nodi "
-#~ "mappa).\n"
-#~ "- Quei gruppi hanno una compensazione di -32, -32 nodi dall'origine.\n"
-#~ "- Solo i gruppi che rientrano nel map_generation_limit vengono generati."
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr ""
-#~ "Dati di profilo del mod. dettagliati. Utile per gli sviluppatori di mod."
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "Profilo dettagliato del mod."
-
-#~ msgid ""
-#~ "How many blocks are flying in the wire simultaneously for the whole "
-#~ "server."
-#~ msgstr "Quanti blocchi vengono inviati simultaneamente per l'intero server."
-
-#~ msgid "How many blocks are flying in the wire simultaneously per client."
-#~ msgstr "Quanti blocchi volano nel cavo simultaneamente per ogni client."
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Utile per gli sviluppatori di mod."
-
-#~ msgid "No of course not!"
-#~ msgstr "No, certo che no!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Elenco dei server pubblici"
-
-#~ msgid "No!!!"
-#~ msgstr "No!!!"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them.\n"
-#~ "\"altitude_chill\" makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "\"humid_rivers\" modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool. It may interfere with delicately adjusted "
-#~ "biomes."
-#~ msgstr ""
-#~ "Attributi di generazione della mappa specifici per Generatore mappa "
-#~ "valli.\n"
-#~ "Le impostazioni che non sono specificate nella stringa mantengono i "
-#~ "valori predefiniti.\n"
-#~ "Le impostazioni che iniziano con \"no\" sono usate per disabilitarle "
-#~ "esplicitamente.\n"
-#~ "\"altitude_chill\" rende più fredde le elevazioni maggiori, il che "
-#~ "potrebbe causare problemi ai biomi.\n"
-#~ "\"humid_rivers\" modifica l'umidità attorno ai fiumi e nelle aree in cui "
-#~ "l'acqua tenderebbe a stagnare. Potrebbe interferire con biomi"
-
-#~ msgid "If enabled, "
-#~ msgstr "attivata"
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "Riavviare minetest per rendere effettive le modifiche"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "Gestore del gioco: impossibile il modulo \"$1\" nel gioco \"$2\""
-
-#~ msgid "GAMES"
-#~ msgstr "GIOCHI"
-
-#~ msgid "Mods:"
-#~ msgstr "Moduli:"
-
-#~ msgid "new game"
-#~ msgstr "nuovo gioco"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "MODIFICARE IL GIOCO"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Rimuovere il modulo selezionato"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Aggiungere il modulo"
-
-#~ msgid "CLIENT"
-#~ msgstr "CLIENT"
-
-#~ msgid "START SERVER"
-#~ msgstr "AVVIO SERVER"
-
-#~ msgid "Name"
-#~ msgstr "Nome"
-
-#~ msgid "Password"
-#~ msgstr "Password"
-
-#~ msgid "SETTINGS"
-#~ msgstr "IMPOSTAZIONI"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Precaricare le immagini"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "Liquido limitato"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "GIOC. SING."
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "PACCH. DI IMM."
-
-#~ msgid "MODS"
-#~ msgstr "MODULI"
-
-#~ msgid "Add mod:"
-#~ msgstr "Aggiungere un modulo:"
-
-#~ msgid "Wanted FPS"
-#~ msgstr "FPS desiderati"
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "Precaricamento delle textures dell'inventario"
-
-#~ msgid "Item textures..."
-#~ msgstr "Immagini degli oggetti..."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag controls the rivers.\n"
-#~ "The default flags set in the engine are: mountains, ridges\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributi di generazione della mappa specifici per Generatore mappa v. "
-#~ "6.\n"
-#~ "L'impostazione 'ridges' controlla i fiumi.\n"
-#~ "Le impostazioni predefinite impostate nel motore sono: mountains, ridges\n"
-#~ "La stringa delle impostazioni modifica le impostazioni predefinite del "
-#~ "motore.\n"
-#~ "Le impostazioni che non sono specificate nella stringa mantengono i "
-#~ "valori predefiniti.\n"
-#~ "Le impostazioni che iniziano con \"no\" sono usate per disabilitarle "
-#~ "esplicitamente."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen flat.\n"
-#~ "Occasional lakes and hills can be added to the flat world.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributi di generazione della mappa specifici per Generatore mappa "
-#~ "piatto.\n"
-#~ "Laghi e colline occasionali possono essere aggiunti al mondo piatto.\n"
-#~ "Le impostazioni predefinite impostate nel motore sono: nessuna\n"
-#~ "La stringa delle impostazioni modifica le impostazioni predefinite del "
-#~ "motore.\n"
-#~ "Le impostazioni che non sono specificate nella stringa mantengono i "
-#~ "valori predefiniti.\n"
-#~ "Le impostazioni che iniziano con \"no\" sono usate per disabilitarle "
-#~ "esplicitamente."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Impostazioni avanzate"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributi di generazione della mappa specifici per Mapgen v5.\n"
-#~ "Le opzioni non specificate nella stringa mantengono l'impostazione "
-#~ "predefinita.\n"
-#~ "Le opzioni che iniziano con 'no' sono usate per disattivarle "
-#~ "espressamente."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributi di generazione della mappa specifici per Mapgen v5.\n"
-#~ "Le opzioni non specificate nella stringa mantengono l'impostazione "
-#~ "predefinita.\n"
-#~ "Le opzioni che iniziano con 'no' sono usate per disattivarle "
-#~ "espressamente."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Attributi di generazione della mappa specifici per Mapgen v5.\n"
-#~ "Le opzioni non specificate nella stringa mantengono l'impostazione "
-#~ "predefinita.\n"
-#~ "Le opzioni che iniziano con 'no' sono usate per disattivarle "
-#~ "espressamente."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Scegli cinematica"
diff --git a/po/ja/minetest.po b/po/ja/minetest.po
index a1f26a4be..50662c777 100644
--- a/po/ja/minetest.po
+++ b/po/ja/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Japanese (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-23 11:18+0000\n"
-"Last-Translator: BreadW <toshiharu.uno@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Japanese <https://hosted.weblate.org/projects/minetest/"
"minetest/ja/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -20,11 +20,12 @@ msgstr "リスãƒãƒ¼ãƒ³"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "You died"
-msgstr "ã‚ãªãŸã¯æ­»ã«ã¾ã—ãŸ"
+msgstr "死んã§ã—ã¾ã£ãŸ"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "Mod ãªã©ã® Lua スクリプトã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
+msgstr "Modãªã©ã®Luaスクリプトã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ:"
#: builtin/fstk/ui.lua
msgid "An error occurred:"
@@ -110,20 +111,35 @@ msgid ""
"characters [a-z0-9_] are allowed."
msgstr ""
"許å¯ã•れã¦ã„ãªã„文字ãŒå«ã¾ã‚Œã¦ã„ã‚‹ãŸã‚ã€Mod \"$1\" を有効ã«ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
-"許å¯ã•れるã®ã¯æ–‡å­— [a-z0-9_] ã®ã¿ã§ã™ã€‚"
+"許å¯ã•れる文字㯠[a-z0-9_] ã®ã¿ã§ã™ã€‚"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+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 "ä¾å­˜ãªã—。"
+
+#: 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 "ä»»æ„:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "ä»»æ„:"
@@ -353,7 +369,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."
@@ -449,7 +465,7 @@ msgstr "Modパックを$1ã¨ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr "オンラインコンテンツを見る"
+msgstr "オンラインコンテンツå‚ç…§"
#: builtin/mainmenu/tab_content.lua
msgid "Content"
@@ -480,10 +496,6 @@ msgid "Rename"
msgstr "åå‰ã‚’変更"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠž:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "パッケージを削除"
@@ -541,11 +553,11 @@ msgstr "ホストサーãƒ"
#: builtin/mainmenu/tab_local.lua
msgid "Name/Password"
-msgstr "åå‰ã¨ãƒ‘スワード"
+msgstr "åå‰ / パスワード"
#: builtin/mainmenu/tab_local.lua
msgid "New"
-msgstr "作æˆ"
+msgstr "æ–°è¦ä½œæˆ"
#: builtin/mainmenu/tab_local.lua
msgid "No world created or selected!"
@@ -573,7 +585,7 @@ msgstr "ゲームスタート"
#: builtin/mainmenu/tab_online.lua
msgid "Address / Port"
-msgstr "アドレスã¨ãƒãƒ¼ãƒˆ"
+msgstr "アドレス / ãƒãƒ¼ãƒˆ"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Connect"
@@ -589,7 +601,7 @@ msgstr "ダメージ有効"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Del. Favorite"
-msgstr "ãŠæ°—ã«å…¥ã‚Šã‚’削除"
+msgstr "ãŠæ°—ã«å…¥ã‚Šå‰Šé™¤"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Favorite"
@@ -601,7 +613,7 @@ msgstr "ゲームã«å‚加"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Name / Password"
-msgstr "åå‰ã¨ãƒ‘スワード"
+msgstr "åå‰ / パスワード"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Ping"
@@ -717,7 +729,7 @@ msgstr "パーティクル"
#: builtin/mainmenu/tab_settings.lua
msgid "Reset singleplayer world"
-msgstr "シングルプレイヤーã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã‚’リセット"
+msgstr "ワールドをリセット"
#: builtin/mainmenu/tab_settings.lua
msgid "Screen:"
@@ -768,12 +780,13 @@ msgid "Waving Leaves"
msgstr "æºã‚Œã‚‹è‘‰"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "æºã‚Œã‚‹è‰èб"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "æºã‚Œã‚‹ãƒŽãƒ¼ãƒ‰"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "æºã‚Œã‚‹æ°´"
+msgid "Waving Plants"
+msgstr "æºã‚Œã‚‹è‰èб"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -789,7 +802,7 @@ msgstr "メイン"
#: builtin/mainmenu/tab_simple_main.lua
msgid "Start Singleplayer"
-msgstr "シングルプレイ開始"
+msgstr "シングルプレイスタート"
#: src/client/client.cpp
msgid "Connection timed out."
@@ -845,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: "
@@ -896,22 +909,20 @@ msgid "- Server Name: "
msgstr "- サーãƒå: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
msgstr "自動å‰é€² 無効"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
msgstr "自動å‰é€² 有効"
#: src/client/game.cpp
msgid "Camera update disabled"
-msgstr "カメラ更新無効"
+msgstr "カメラ更新 無効"
#: src/client/game.cpp
msgid "Camera update enabled"
-msgstr "カメラ更新有効"
+msgstr "カメラ更新 有効"
#: src/client/game.cpp
msgid "Change Password"
@@ -958,8 +969,8 @@ msgstr ""
"æ“作:\n"
"- %s: å‰é€²\n"
"- %s: 後退\n"
-"- %s: å·¦\n"
-"- %s: å³\n"
+"- %s: 左移動\n"
+"- %s: å³ç§»å‹•\n"
"- %s: ジャンプ/登る\n"
"- %s: スニーク/é™ã‚Šã‚‹\n"
"- %s: アイテムをè½ã¨ã™\n"
@@ -1020,11 +1031,11 @@ msgstr ""
#: src/client/game.cpp
msgid "Disabled unlimited viewing range"
-msgstr "無制é™ã®è¦–野 無効"
+msgstr "è¦–é‡Žç„¡åˆ¶é™ ç„¡åŠ¹"
#: src/client/game.cpp
msgid "Enabled unlimited viewing range"
-msgstr "無制é™ã®è¦–野 有効"
+msgstr "è¦–é‡Žç„¡åˆ¶é™ æœ‰åŠ¹"
#: src/client/game.cpp
msgid "Exit to Menu"
@@ -1096,11 +1107,11 @@ msgstr "MiB/ç§’"
#: src/client/game.cpp
msgid "Minimap currently disabled by game or mod"
-msgstr "ミニマップã¯ç¾åœ¨ã‚²ãƒ¼ãƒ åˆã¯Modã«ã‚ˆã‚Šç„¡åй"
+msgstr "ミニマップã¯ç¾åœ¨ã‚²ãƒ¼ãƒ ã¾ãŸã¯Modã«ã‚ˆã‚Šç„¡åй"
#: src/client/game.cpp
msgid "Minimap hidden"
-msgstr "ミニマップéžè¡¨ç¤º"
+msgstr "ミニマップ éžè¡¨ç¤º"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x1"
@@ -1301,7 +1312,7 @@ msgstr "IME変æ›"
#: src/client/keycode.cpp
msgid "IME Escape"
-msgstr "Escape"
+msgstr "Esc"
#: src/client/keycode.cpp
msgid "IME Mode Change"
@@ -1317,7 +1328,7 @@ msgstr "Insert"
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
msgid "Left"
-msgstr "å·¦"
+msgstr "左移動"
#: src/client/keycode.cpp
msgid "Left Button"
@@ -1417,11 +1428,11 @@ msgstr "OEM Clear"
#: src/client/keycode.cpp
msgid "Page down"
-msgstr "Page down"
+msgstr "Page Down"
#: src/client/keycode.cpp
msgid "Page up"
-msgstr "Page up"
+msgstr "Page Up"
#: src/client/keycode.cpp
msgid "Pause"
@@ -1429,7 +1440,7 @@ msgstr "Pause"
#: src/client/keycode.cpp
msgid "Play"
-msgstr "プレイ"
+msgstr "Play"
#: src/client/keycode.cpp
msgid "Print"
@@ -1437,11 +1448,11 @@ msgstr "Print"
#: src/client/keycode.cpp
msgid "Return"
-msgstr "エンター"
+msgstr "Enter"
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
msgid "Right"
-msgstr "å³"
+msgstr "å³ç§»å‹•"
#: src/client/keycode.cpp
msgid "Right Button"
@@ -1469,7 +1480,7 @@ msgstr "Scroll Lock"
#: src/client/keycode.cpp
msgid "Select"
-msgstr "é¸æŠžã‚­ãƒ¼"
+msgstr "Select"
#: src/client/keycode.cpp
msgid "Shift"
@@ -1477,7 +1488,7 @@ msgstr "Shift"
#: src/client/keycode.cpp
msgid "Sleep"
-msgstr "スリープ"
+msgstr "Sleep"
#: src/client/keycode.cpp
msgid "Snapshot"
@@ -1485,11 +1496,11 @@ msgstr "Snapshot"
#: src/client/keycode.cpp
msgid "Space"
-msgstr "スペース"
+msgstr "Space"
#: src/client/keycode.cpp
msgid "Tab"
-msgstr "タブ"
+msgstr "Tab"
#: src/client/keycode.cpp
msgid "Up"
@@ -1516,13 +1527,13 @@ msgid "Register and Join"
msgstr "å‚加登録"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
"ã‚ãªãŸã¯ã‚µãƒ¼ãƒ %1$s ã«åå‰ \"%2$s\" ã§åˆã‚ã¦å‚加ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚続行ã™ã‚‹"
"å ´åˆã€\n"
@@ -1645,10 +1656,6 @@ msgid "Special"
msgstr "スペシャル"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "映画風モード切替"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "HUD表示切替"
@@ -1677,6 +1684,11 @@ msgid "Toggle noclip"
msgstr "ã™ã‚ŠæŠœã‘モード切替"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "ãƒãƒ£ãƒƒãƒˆè¡¨ç¤ºåˆ‡æ›¿"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "キー入力待ã¡"
@@ -1747,12 +1759,12 @@ msgid ""
msgstr ""
"(X,Y,Z)'スケール'å˜ä½ã§ã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®ä¸­å¿ƒã‹ã‚‰ã®ãƒ•ラクタルã®ã‚ªãƒ•セット。\n"
"望ã¿ã®ç‚¹ã‚’ (0,0) ã«ç§»å‹•ã—ã¦é©åˆ‡ãªã‚¹ãƒãƒ¼ãƒ³ãƒã‚¤ãƒ³ãƒˆã‚’作æˆã—ãŸã‚Šã€\n"
-"'スケール'を増やã—ã¦æœ›ã¿ã®ç‚¹ã«'ズームイン'ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã§ãã¾"
-"ã™ã€‚\n"
-"è¦å®šã§ã¯è¦å®šã®ãƒ‘ラメータをæŒã¤ãƒžãƒ³ãƒ‡ãƒ«ãƒ–ロー集åˆã®ãŸã‚ã®é©åˆ‡ãªã‚¹ãƒãƒ¼ãƒ³ãƒã‚¤ãƒ³"
-"トã«\n"
-"åˆã‚ã›ã¦èª¿æ•´ã•れã¾ã™ã€ä»–ã®çжæ³ã§å¤‰æ›´ã‚’å¿…è¦ã¨ã™ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。\n"
-"範囲ã¯ãŠã‚ˆã -2 ~ 2 ã§ã™ã€‚ノードã®ã‚ªãƒ•セット㫠'scale' を掛ã‘ã¾ã™ã€‚"
+"'スケール'を増やã—ã¦æœ›ã¿ã®ç‚¹ã«'ズームイン'ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã«\n"
+"使用ã§ãã¾ã™ã€‚\n"
+"è¦å®šã§ã¯è¦å®šã®ãƒ‘ラメータをæŒã¤ãƒžãƒ³ãƒ‡ãƒ«ãƒ–ロー集åˆã®ãŸã‚ã®é©åˆ‡ãª\n"
+"スãƒãƒ¼ãƒ³ãƒã‚¤ãƒ³ãƒˆã«åˆã‚ã›ã¦èª¿æ•´ã•れã¾ã™ã€ä»–ã®çжæ³ã§å¤‰æ›´ã‚’å¿…è¦ã¨ã™ã‚‹\n"
+"ã‹ã‚‚ã—れã¾ã›ã‚“。\n"
+"範囲ã¯ãŠã‚ˆã -2~2 ã§ã™ã€‚ノードã®ã‚ªãƒ•セット㫠'scale' を掛ã‘ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -1786,26 +1798,28 @@ msgstr "尾根ã®å½¢çж/大ãã•を制御ã™ã‚‹2Dノイズ。"
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of rolling hills."
-msgstr "ç·©ã‚„ã‹ã«èµ·ä¼ã—ã¦ã„る丘陵ã®å½¢çж/大ãã•を制御ã™ã‚‹2Dノイズ。"
+msgstr "ゆるやã‹ãªä¸˜ã®å½¢çж/大ãã•を制御ã™ã‚‹2Dノイズ。"
#: src/settings_translation_file.cpp
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ノイズ。"
#: 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ノイズ。"
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1840,6 +1854,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr "å±±ã®å¼µã‚Šå‡ºã—ã€å´–ãªã©ã®3Dノイズ。通常ã¯å°ã•ãªå¤‰åŒ–ã§ã™ã€‚"
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1856,8 +1874,7 @@ msgstr ""
"ç¾åœ¨ã®ã‚µãƒãƒ¼ãƒˆ:\n"
"- none: 3D出力を行ã„ã¾ã›ã‚“。\n"
"- anaglyph: シアン/マゼンタ色ã«ã‚ˆã‚‹3Dã§ã™ã€‚\n"
-"- interlaced: 奇数/å¶æ•°ã®ãƒ©ã‚¤ãƒ³ã‚’ベースã§åå…‰å¼ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã«å¯¾å¿œã—ã¦ã„ã¾"
-"ã™ã€‚\n"
+"- interlaced: 奇数/å¶æ•°ã®ãƒ©ã‚¤ãƒ³ã‚’ベースã§åå…‰å¼ã‚¹ã‚¯ãƒªãƒ¼ãƒ³ã«å¯¾å¿œã€‚\n"
"- topbottom: ç”»é¢ã‚’上下ã§åˆ†å‰²ã—ã¾ã™ã€‚\n"
"- sidebyside: ç”»é¢ã‚’å·¦å³ã§åˆ†å‰²ã—ã¾ã™ã€‚\n"
"- crossview: 交差法ã«ã‚ˆã‚‹3Dã§ã™ã€‚\n"
@@ -1869,8 +1886,7 @@ 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 ""
-"æ–°è¦ãƒžãƒƒãƒ—を作æˆã™ã‚‹éš›ã®åˆæœŸã‚·ãƒ¼ãƒ‰å€¤ã§ã™ã€‚空ã«ã™ã‚‹ã¨ãƒ©ãƒ³ãƒ€ãƒ ã«è¨­å®šã•れã¾"
-"ã™ã€‚\n"
+"æ–°è¦ãƒžãƒƒãƒ—を作æˆã™ã‚‹éš›ã®åˆæœŸã‚·ãƒ¼ãƒ‰å€¤ã€ç©ºã«ã™ã‚‹ã¨ãƒ©ãƒ³ãƒ€ãƒ ã«è¨­å®šã•れã¾ã™ã€‚\n"
"ワールドを新è¦ä½œæˆã™ã‚‹éš›ã«ã‚·ãƒ¼ãƒ‰å€¤ã‚’入力ã™ã‚‹ã¨ä¸Šæ›¸ãã•れã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -1894,6 +1910,10 @@ msgid "Acceleration in air"
msgstr "空中ã§ã®åŠ é€Ÿ"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "アクティブブロックモディファイヤー(ABM)"
@@ -1917,7 +1937,7 @@ msgid ""
msgstr ""
"接続先ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚\n"
"ローカルサーãƒã‚’èµ·å‹•ã™ã‚‹éš›ã¯ç©ºç™½ã«è¨­å®šã—ã¦ãã ã•ã„。\n"
-"メインメニューã®ã‚¢ãƒ‰ãƒ¬ã‚¹æ¬„ã¯ã€ã“ã®è¨­å®šã‚’上書ãã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。"
+"メインメニューã®ã‚¢ãƒ‰ãƒ¬ã‚¹æ¬„ã¯ã“ã®è¨­å®šã‚’上書ãã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。"
#: src/settings_translation_file.cpp
msgid "Adds particles when digging a node."
@@ -2021,27 +2041,22 @@ msgid ""
"optimization.\n"
"Stated in mapblocks (16 nodes)."
msgstr ""
-"ã“ã®è·é›¢ã§ã‚µãƒ¼ãƒã¯ã©ã®ãƒ–ロックをクライアントã¸é€ä¿¡ã™ã‚‹ã‹ã‚’ç©æ¥µçš„ã«æœ€é©åŒ–ã—ã¾"
-"ã™ã€‚\n"
+"ã“ã®è·é›¢ã§ã‚µãƒ¼ãƒã¯ã©ã®ãƒ–ロックをクライアントã¸é€ä¿¡ã™ã‚‹ã‹ã‚’ç©æ¥µçš„ã«\n"
+"最é©åŒ–ã—ã¾ã™ã€‚\n"
"å°ã•ã„値ã«è¨­å®šã™ã‚‹ã¨ã€ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã®è¦–覚的ãªä¸å…·åˆã‚’犠牲ã«ã—ã¦ã€\n"
-"パフォーマンスãŒå¤§å¹…ã«å‘上ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™(ã„ãã¤ã‹ã®ãƒ–ãƒ­ãƒƒã‚¯ã¯æ°´ä¸­ã‚„æ´ž"
-"窟ã€\n"
-"時ã«ã¯é™¸ã®ä¸Šã§ã‚‚レンダリングã•れã¾ã›ã‚“)。\n"
-"max_block_send_distance より大ãã„値ã«è¨­å®šã™ã‚‹ã¨ã€ã“ã®æœ€é©åŒ–ã¯ç„¡åйã«ãªã‚Šã¾"
-"ã™ã€‚ \n"
+"パフォーマンスãŒå¤§å¹…ã«å‘上ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™(ã„ãã¤ã‹ã®ãƒ–ロックã¯\n"
+"æ°´ä¸­ã‚„æ´žçªŸã€æ™‚ã«ã¯é™¸ã®ä¸Šã§ã‚‚レンダリングã•れã¾ã›ã‚“)。\n"
+"max_block_send_distance より大ãã„値ã«è¨­å®šã™ã‚‹ã¨ã€ã“ã®æœ€é©åŒ–ã¯\n"
+"無効ã«ãªã‚Šã¾ã™ã€‚ \n"
"マップブロック(16ノード)ã§è¡¨è¨˜ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
msgstr "自動å‰é€²ã‚­ãƒ¼"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically jump up single-node obstacles."
-msgstr ""
-"自動的ã«1ノードã®éšœå®³ç‰©ã‚’ジャンプã—ã¾ã™ã€‚\n"
-"åž‹: bool"
+msgstr "自動的ã«1ノードã®éšœå®³ç‰©ã‚’ジャンプã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Automatically report to the serverlist."
@@ -2057,7 +2072,7 @@ msgstr "自動拡大縮å°ãƒ¢ãƒ¼ãƒ‰"
#: src/settings_translation_file.cpp
msgid "Backward key"
-msgstr "後キー"
+msgstr "後退キー"
#: src/settings_translation_file.cpp
msgid "Base ground level"
@@ -2065,7 +2080,7 @@ msgstr "基準地上レベル"
#: src/settings_translation_file.cpp
msgid "Base terrain height."
-msgstr "基準地形ã®é«˜ã•ã§ã™ã€‚"
+msgstr "基準地形ã®é«˜ã•。"
#: src/settings_translation_file.cpp
msgid "Basic"
@@ -2120,8 +2135,9 @@ msgid "Bumpmapping"
msgstr "ãƒãƒ³ãƒ—マッピング"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2192,7 +2208,6 @@ 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, "
@@ -2202,12 +2217,10 @@ msgid ""
"necessary for smaller screens."
msgstr ""
"メインメニューUIを変更:\n"
-"- Full: 複数ã®ã‚·ãƒ³ã‚°ãƒ«ãƒ—レイヤーã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã€ã‚²ãƒ¼ãƒ ã®é¸æŠžã€ãƒ†ã‚¯ã‚¹ãƒãƒ£ãƒ‘ック"
-"ã®é¸æŠžã€ãã®ä»–。\n"
-"- Simple: 1ã¤ã®ã‚·ãƒ³ã‚°ãƒ«ãƒ—レイヤーã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã€ã‚²ãƒ¼ãƒ ã‚„テクスãƒãƒ£ãƒ‘ックã®é¸æŠž"
-"ã¯ã‚りã¾ã›ã‚“。\n"
-"å°ã•ã„ç”»é¢ã«ã¯å¿…è¦ã‹ã‚‚ã—れã¾ã›ã‚“。\n"
-"- Auto: Android㯠Simpleã€ãã®ä»–ã¯ã™ã¹ã¦ full ã§ã™ã€‚"
+"- Full: 複数ã®ã‚·ãƒ³ã‚°ãƒ«ãƒ—レイヤーã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã€ã‚²ãƒ¼ãƒ ã®é¸æŠžã€\n"
+"テクスãƒãƒ£ãƒ‘ックã®é¸æŠžã€ãã®ä»–。\n"
+"- Simple: 1ã¤ã®ã‚·ãƒ³ã‚°ãƒ«ãƒ—レイヤーã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã€ã‚²ãƒ¼ãƒ ã‚„\n"
+"テクスãƒãƒ£ãƒ‘ックã®é¸æŠžã¯ã‚りã¾ã›ã‚“。å°ã•ãªç”»é¢ã§å¿…è¦ã‹ã‚‚ã—れã¾ã›ã‚“。"
#: src/settings_translation_file.cpp
msgid "Chat key"
@@ -2218,6 +2231,11 @@ msgid "Chat message count limit"
msgstr "ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸æ•°ã®é™åº¦"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã®æœ€å¤§é•·"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr "ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚­ãƒƒã‚¯ã®ã—ãã„値"
@@ -2303,13 +2321,20 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"so see a full list at https://content.minetest.net/help/content_flags/"
msgstr ""
+"コンテンツリãƒã‚¸ãƒˆãƒªã§éžè¡¨ç¤ºã«ã™ã‚‹ãƒ•ラグã®ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆã€‚\n"
+"\"nonfree\"ã¯ã€ãƒ•リーソフトウェア財団ã«ã‚ˆã£ã¦å®šç¾©ã•れã¦ã„ã‚‹\n"
+"「フリーソフトウェアã€ã¨ã—ã¦èªå®šã•れã¦ã„ãªã„パッケージを隠ã™ãŸã‚ã«\n"
+"使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+"コンテンツã®è©•価を指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚\n"
+"ã“れらã®ãƒ•ラグã¯Minetestã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‹ã‚‰ç‹¬ç«‹ã—ã¦ã„ã¾ã™ã€\n"
+"https://content.minetest.net/help/content_flags/ ã«ã‚る完全ãªãƒªã‚¹ãƒˆå‚ç…§"
#: 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 ""
-"HTTP APIã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•れã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã¨ã®é–“ã§ãƒ‡ãƒ¼ã‚¿ã‚’アップロード\n"
+"HTTP APIã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•れã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒãƒƒãƒˆã§ãƒ‡ãƒ¼ã‚¿ã‚’アップロード\n"
"ãŠã‚ˆã³ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã§ãるよã†ã«ã™ã‚‹Modã®ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆã€‚"
#: src/settings_translation_file.cpp
@@ -2317,9 +2342,9 @@ 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 ""
-"Modã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãŒæœ‰åйã®å ´åˆã§ã‚‚(request_insecure_environment() を介ã—"
-"ã¦ï¼‰\n"
-"安全ã§ãªã„機能ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•れã¦ã„ã‚‹ä¿¡é ¼ã§ãã‚‹Modã®ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆã€‚"
+"Modã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãŒæœ‰åйã®å ´åˆã§ã‚‚ (request_insecure_environment() \n"
+"を介ã—ã¦) 安全ã§ãªã„機能ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒè¨±å¯ã•れã¦ã„ã‚‹ä¿¡é ¼ã§ãã‚‹\n"
+"Modã®ã‚³ãƒ³ãƒžåŒºåˆ‡ã‚Šãƒªã‚¹ãƒˆã€‚"
#: src/settings_translation_file.cpp
msgid "Command key"
@@ -2351,12 +2376,11 @@ msgstr "コンソールã®é«˜ã•"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "コンテンツDBフラグã®ãƒ–ラックリスト"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "コンテンツ"
+msgstr "コンテンツDBã®URL"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2385,6 +2409,10 @@ msgstr ""
"72 = 20分ã€360 = 4分ã€1 = 24時間ã€0 = 昼/夜/変更ã•れã¾ã›ã‚“。"
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "æ¹–ã®çªªã¿ã®é™ºã—ã•/æ·±ã•を制御ã—ã¾ã™ã€‚"
@@ -2445,6 +2473,11 @@ msgid "Debug info toggle key"
msgstr "デãƒãƒƒã‚°æƒ…報切り替ãˆã‚­ãƒ¼"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "砂漠ノイズã®ã—ãã„値"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "デãƒãƒƒã‚°ãƒ­ã‚°ã®ãƒ¬ãƒ™ãƒ«"
@@ -2453,6 +2486,10 @@ msgid "Dec. volume key"
msgstr "音é‡ã‚’下ã’るキー"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "専用サーãƒã‚¹ãƒ†ãƒƒãƒ—"
@@ -2518,8 +2555,7 @@ msgstr "高ã„地形ã®åˆ†å¸ƒã‚’定義ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Defines full size of caverns, smaller values create larger caverns."
-msgstr ""
-"大ããªæ´žçªŸã®ãƒ•ルサイズを定義ã—ã€ã‚ˆã‚Šå°ã•ã„値ã¯ã•らã«å¤§ããªæ´žçªŸã‚’作æˆã—ã¾ã™ã€‚"
+msgstr "大ããªæ´žçªŸã®æœ€å¤§ã‚µã‚¤ã‚ºã‚’定義ã—ã€ã‚ˆã‚Šå°ã•ã„値ã¯ã•らã«å¤§ããªæ´žçªŸã‚’作æˆã€‚"
#: src/settings_translation_file.cpp
msgid "Defines large-scale river channel structure."
@@ -2542,10 +2578,25 @@ msgid "Defines the base ground level."
msgstr "基準地上レベルを定義ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+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 "å¤§è¦æ¨¡ãªæ²³å·æ§‹é€ ã‚’定義ã—ã¾ã™ã€‚"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "木ã«ãƒªãƒ³ã‚´ãŒã‚る地域を定義ã—ã¾ã™ã€‚"
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "木ã®åœ°åŸŸã¨æœ¨ã®å¯†åº¦ã‚’定義ã—ã¾ã™ã€‚"
@@ -2570,6 +2621,12 @@ msgid "Deprecated Lua API handling"
msgstr "廃止予定ã®Lua APIã®å‡¦ç†"
#: 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 "Depth below which you'll find giant caverns."
msgstr "ã“ã‚Œä»¥ä¸‹ã®æ·±ã•ã§å·¨å¤§ãªæ´žçªŸãŒè¦‹ã¤ã‹ã‚Šã¾ã™ã€‚"
@@ -2588,9 +2645,10 @@ msgid "Desert noise threshold"
msgstr "砂漠ノイズã®ã—ãã„値"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"砂漠㯠np_biome ãŒã“ã®å€¤ã‚’è¶…ãˆãŸã¨ãã«å‡ºç¾ã—ã¾ã™ã€‚\n"
"æ–°ã—ã„ãƒã‚¤ã‚ªãƒ¼ãƒ ã‚·ã‚¹ãƒ†ãƒ ã‚’有効ã«ã™ã‚‹ã¨ã€ã“れã¯ç„¡è¦–ã•れã¾ã™ã€‚"
@@ -2640,6 +2698,11 @@ msgid "Dungeon minimum Y"
msgstr "ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ã®æœ€å°Y"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ã®æœ€å°Y"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2649,7 +2712,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable VBO"
-msgstr "有効化"
+msgstr "VBOを有効化"
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2681,13 +2744,15 @@ msgstr "ランダムãªãƒ¦ãƒ¼ã‚¶ãƒ¼å…¥åŠ›ã‚’æœ‰åŠ¹ã«ã—ã¾ã™ (テストã«ã®ã
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "登録確èªã‚’有効化"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"サーãƒã¸ã®æŽ¥ç¶šæ™‚ã«ç™»éŒ²ç¢ºèªã‚’有効ã«ã—ã¾ã™ã€‚\n"
+"無効ã«ã™ã‚‹ã¨ã€æ–°ã—ã„アカウントãŒè‡ªå‹•çš„ã«ç™»éŒ²ã•れã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -2706,9 +2771,9 @@ msgid ""
"expecting."
msgstr ""
"å¤ã„ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒæŽ¥ç¶šã§ããªã„よã†ã«ã—ã¾ã™ã€‚\n"
-"å¤ã„ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯æ–°ã—ã„サーãƒã«æŽ¥ç¶šã—ã¦ã‚‚クラッシュã—ãªã„ã¨ã„ã†æ„味ã§äº’æ›æ€§"
-"ãŒ\n"
-"ã‚りã¾ã™ãŒã€æœŸå¾…ã—ã¦ã„ã‚‹ã™ã¹ã¦ã®æ–°æ©Ÿèƒ½ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“。"
+"å¤ã„ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯æ–°ã—ã„サーãƒã«æŽ¥ç¶šã—ã¦ã‚‚クラッシュã—ãªã„ã¨ã„ã†\n"
+"æ„味ã§äº’æ›æ€§ãŒã‚りã¾ã™ãŒã€æœŸå¾…ã—ã¦ã„ã‚‹ã™ã¹ã¦ã®æ–°æ©Ÿèƒ½ã‚’サãƒãƒ¼ãƒˆ\n"
+"ã—ã¦ã„ã‚‹ã‚ã‘ã§ã¯ã‚りã¾ã›ã‚“。"
#: src/settings_translation_file.cpp
msgid ""
@@ -2717,11 +2782,10 @@ msgid ""
"textures)\n"
"when connecting to the server."
msgstr ""
-"リモートメディアサーãƒã®ä½¿ç”¨ã‚’有効ã«ã—ã¾ã™ (サーãƒã«ã‚ˆã£ã¦æä¾›ã•れã¦ã„ã‚‹å ´"
-"åˆ)。\n"
-"リモートサーãƒã¯ã€ã‚µãƒ¼ãƒã«æŽ¥ç¶šã™ã‚‹ã¨ãã«ãƒ¡ãƒ‡ã‚£ã‚¢ (例ãˆã°ã€ãƒ†ã‚¯ã‚¹ãƒãƒ£) をダウ"
-"ンロード\n"
-"ã™ã‚‹ãŸã‚ã®éžå¸¸ã«é«˜é€Ÿãªæ–¹æ³•ã‚’æä¾›ã—ã¾ã™ã€‚"
+"リモートメディアサーãƒã®ä½¿ç”¨ã‚’有効ã«ã—ã¾ã™ (サーãƒã«ã‚ˆã£ã¦æä¾›\n"
+"ã•れã¦ã„ã‚‹å ´åˆ)。\n"
+"リモートサーãƒã¯ã‚µãƒ¼ãƒã«æŽ¥ç¶šã™ã‚‹ã¨ãã«ãƒ¡ãƒ‡ã‚£ã‚¢ (例ãˆã°ã€ãƒ†ã‚¯ã‚¹ãƒãƒ£) ã‚’\n"
+"ダウンロードã™ã‚‹ãŸã‚ã®éžå¸¸ã«é«˜é€Ÿãªæ–¹æ³•ã‚’æä¾›ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -2750,9 +2814,8 @@ msgid ""
"or need to be auto-generated.\n"
"Requires shaders to be enabled."
msgstr ""
-"テクスãƒãƒ£ã®ãƒãƒ³ãƒ—マッピングを有効ã«ã—ã¾ã™ã€‚法線マップã¯ãƒ†ã‚¯ã‚¹ãƒãƒ£ãƒ‘ックã«"
-"よã£ã¦æä¾›ã•れるã‹ã€\n"
-"ã¾ãŸã¯è‡ªå‹•生æˆã•れる必è¦ãŒã‚りã¾ã™ã€‚\n"
+"テクスãƒãƒ£ã®ãƒãƒ³ãƒ—マッピングを有効ã«ã—ã¾ã™ã€‚法線マップã¯\n"
+"テクスãƒãƒ£ãƒ‘ックã«ã‚ˆã£ã¦æä¾›ã•れるã‹ã¾ãŸã¯è‡ªå‹•生æˆã•れる必è¦ãŒã‚りã¾ã™ã€‚\n"
"ã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ãŒæœ‰åйã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -2891,9 +2954,9 @@ msgid ""
"light edge to transparent textures. Apply this filter to clean that up\n"
"at texture load time."
msgstr ""
-"フィルタ処ç†ã•れãŸãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯ã€RGB値ã¨å®Œå…¨ã«é€æ˜Žãªéš£ã‚Šåˆã†ã‚‚ã®ã¨æ··ãœã‚‹\n"
-"ã“ã¨ãŒã§ãã¾ã™ã€‚PNGオプティマイザã¯é€šå¸¸ã“れを破棄ã—ã¾ã™ã€‚ãã®çµæžœã€é€æ˜Žãª\n"
-"テクスãƒãƒ£ã«å¯¾ã—ã¦æš—ã„ã¾ãŸã¯æ˜Žã‚‹ã„エッジãŒç”Ÿã˜ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚\n"
+"フィルタ処ç†ã•れãŸãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯RGB値ã¨å®Œå…¨ã«é€æ˜Žãªéš£ã‚Šåˆã†ã‚‚ã®ã¨æ··ãœã‚‹\n"
+"ã“ã¨ãŒã§ãã¾ã™ã€‚PNGオプティマイザã¯é€šå¸¸ã“れを破棄ã—ã¾ã™ã€‚ãã®çµæžœã€\n"
+"逿˜Žãªãƒ†ã‚¯ã‚¹ãƒãƒ£ã«å¯¾ã—ã¦æš—ã„ã¾ãŸã¯æ˜Žã‚‹ã„エッジãŒç”Ÿã˜ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚\n"
"ã“ã®ãƒ•ィルタをé©ç”¨ã—ã¦ãƒ†ã‚¯ã‚¹ãƒãƒ£èª­ã¿è¾¼ã¿æ™‚ã«ãれをãれã„ã«ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -2985,6 +3048,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr "スクリーンショットã®ãƒ•ァイル形å¼ã§ã™ã€‚"
@@ -3022,7 +3092,7 @@ msgstr "フォームスペックã®ãƒ•ルスクリーンã®èƒŒæ™¯ä¸é€æ˜Žåº¦ (0
#: src/settings_translation_file.cpp
msgid "Forward key"
-msgstr "å‰ã‚­ãƒ¼"
+msgstr "å‰é€²ã‚­ãƒ¼"
#: src/settings_translation_file.cpp
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
@@ -3045,15 +3115,15 @@ msgid ""
"From how far blocks are generated for clients, stated in mapblocks (16 "
"nodes)."
msgstr ""
-"ã©ã‚Œãらã„ã®è·é›¢ã®ãƒ–ロックã‹ã‚‰ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§ç”Ÿæˆã™ã‚‹ã‹ã€ãƒžãƒƒãƒ—ブロック(16ノー"
-"ド)ã§å®šã‚ã¾ã™ã€‚"
+"ã©ã‚Œãらã„ã®è·é›¢ã®ãƒ–ロックã‹ã‚‰ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã§ç”Ÿæˆã™ã‚‹ã‹ã€\n"
+"マップブロック(16ノード)ã§å®šã‚ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
msgstr ""
-"ã©ã‚Œãらã„ã®è·é›¢ã®ãƒ–ロックã‹ã‚‰ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸é€ä¿¡ã™ã‚‹ã‹ã€ãƒžãƒƒãƒ—ブロック(16ノー"
-"ド)ã§å®šã‚ã¾ã™ã€‚"
+"ã©ã‚Œãらã„ã®è·é›¢ã®ãƒ–ロックã‹ã‚‰ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸é€ä¿¡ã™ã‚‹ã‹ã€\n"
+"マップブロック(16ノード)ã§å®šã‚ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -3063,13 +3133,13 @@ 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"
+"マップブロック(16ノード)ã§å®šã‚ã¾ã™ã€‚\n"
"\n"
-"ã“れを active_block_range よりも大ãã設定ã™ã‚‹ã¨ã€ã‚µãƒ¼ãƒã¯ã“ã®è·é›¢ã¾ã§ãƒ—レー"
-"ヤーãŒè¦‹ã¦ã„ã‚‹æ–¹å‘ã«\n"
-"アクティブãªã‚ªãƒ–ジェクトを維æŒã—ã¾ã™ã€‚(ã“れã«ã‚ˆã‚Šãƒ¢ãƒ–ãŒçªç„¶è¦–野ã‹ã‚‰æ¶ˆãˆã‚‹ã®"
-"ã‚’é¿ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼‰"
+"ã“れを active_block_range よりも大ãã設定ã™ã‚‹ã¨ã€ã‚µãƒ¼ãƒã¯\n"
+"ã“ã®è·é›¢ã¾ã§ãƒ—レーヤーãŒè¦‹ã¦ã„ã‚‹æ–¹å‘ã«\n"
+"アクティブãªã‚ªãƒ–ジェクトを維æŒã—ã¾ã™ã€‚(ã“れã«ã‚ˆã‚Šãƒ¢ãƒ–ãŒçªç„¶\n"
+"視野ã‹ã‚‰æ¶ˆãˆã‚‹ã®ã‚’é¿ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼‰"
#: src/settings_translation_file.cpp
msgid "Full screen"
@@ -3108,19 +3178,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"
-"有効ã«ã•れã¦ã„ãªã„フラグã¯è¦å®šã‹ã‚‰å¤‰æ›´ã•れã¾ã›ã‚“。\n"
-"'no' ã§å§‹ã¾ã‚‹ãƒ•ãƒ©ã‚°ã¯æ˜Žç¤ºçš„ã«ç„¡åйã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚"
+"マップジェãƒãƒ¬ãƒ¼ã‚¿v6ã§ã¯ã€'decorations' ãƒ•ãƒ©ã‚°ã¯æœ¨ã¨ã‚¸ãƒ£ãƒ³ã‚°ãƒ«ã®è‰ã‚’\n"
+"除ãã™ã¹ã¦ã®è£…飾を制御ã—ã¾ã™ãŒã€ä»–ã®ã™ã¹ã¦ã®ãƒžãƒƒãƒ—ジェãƒãƒ¬ãƒ¼ã‚¿ã§ã¯\n"
+"ã“ã®ãƒ•ラグãŒã™ã¹ã¦ã®è£…飾を制御ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
@@ -3165,11 +3231,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 ""
-"éžæŽ¨å¥¨ã® Lua API 呼ã³å‡ºã—ã®å‡¦ç†:\n"
+"廃止予定ã®Lua API呼ã³å‡ºã—ã®å‡¦ç†:\n"
"- legacy: å¤ã„振る舞ã„を模倣ã™ã‚‹(試ã¿ã‚‹) (リリースã®è¦å®šå€¤)。\n"
-"- log: éžæŽ¨å¥¨ã®å‘¼ã³å‡ºã—を模倣ã—ã¦ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’ログã«è¨˜éŒ²ã—ã¾ã™ (デãƒãƒƒ"
-"ã‚°ã®è¦å®šå€¤)。\n"
-"- error: éžæŽ¨å¥¨ã®å‘¼ã³å‡ºã—ã®ä½¿ç”¨ã‚’中止ã—ã¾ã™ (Modé–‹ç™ºè€…ã«æŽ¨å¥¨)。"
+"- log: 廃止予定ã®å‘¼ã³å‡ºã—を模倣ã—ã¦ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’記録 (デãƒãƒƒã‚°ã®è¦å®š"
+"値)。\n"
+"- error: 廃止予定ã®å‘¼ã³å‡ºã—ã®ä½¿ç”¨ã‚’中止ã™ã‚‹ (Modé–‹ç™ºè€…ã«æŽ¨å¥¨)。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3181,8 +3247,8 @@ msgid ""
msgstr ""
"観測記録計測器自体をæŒã¡ã¾ã™: \n"
"*空ã®é–¢æ•°ã‚’計測ã—ã¾ã™ã€‚\n"
-"ã“れã«ã‚ˆã‚Šã‚ªãƒ¼ãƒãƒ¼ãƒ˜ãƒƒãƒ‰ãŒè¦‹ç©ã‚‚られã€è¨ˆæ¸¬å™¨ã¯ (+1関数呼ã³å‡ºã—) を追加ã—ã¾"
-"ã™ã€‚\n"
+"ã“れã«ã‚ˆã‚Šã‚ªãƒ¼ãƒãƒ¼ãƒ˜ãƒƒãƒ‰ãŒè¦‹ç©ã‚‚られã€è¨ˆæ¸¬å™¨ã¯ (+1関数呼ã³å‡ºã—) ã‚’\n"
+"追加ã—ã¾ã™ã€‚\n"
"*統計を更新ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¦ã„るサンプラを計測ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -3203,7 +3269,7 @@ msgstr "高ã•ノイズ"
#: src/settings_translation_file.cpp
msgid "Height select noise"
-msgstr "高ã•ç²¾é¸ãƒŽã‚¤ã‚º"
+msgstr "高ã•é¸æŠžãƒŽã‚¤ã‚º"
#: src/settings_translation_file.cpp
msgid "High-precision FPU"
@@ -3238,6 +3304,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "ホットãƒãƒ¼æ¬¡ã¸ã‚­ãƒ¼"
@@ -3427,9 +3511,8 @@ msgid ""
"are\n"
"enabled."
msgstr ""
-"無効ã«ãªã£ã¦ã„ã‚‹å ´åˆã€é£›è¡Œãƒ¢ãƒ¼ãƒ‰ã¨é«˜é€Ÿç§»å‹•モードã®ä¸¡æ–¹ãŒæœ‰åйã«ãªã£ã¦ã„ã‚‹"
-"ã¨ã€\n"
-"\"スペシャル\"キーを使用ã—ã¦é«˜é€Ÿã§é£›è¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+"無効ã«ãªã£ã¦ã„ã‚‹å ´åˆã€é£›è¡Œãƒ¢ãƒ¼ãƒ‰ã¨é«˜é€Ÿç§»å‹•モードã®ä¸¡æ–¹ãŒæœ‰åйã«ãªã£ã¦\n"
+"ã„ã‚‹ã¨ã€\"スペシャル\"キーを使用ã—ã¦é«˜é€Ÿã§é£›è¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -3440,7 +3523,7 @@ msgid ""
"so that the utility of noclip mode is reduced."
msgstr ""
"有効ã«ã™ã‚‹ã¨ã€ã‚µãƒ¼ãƒã¯ãƒ—レーヤーã®ç›®ã®ä½ç½®ã«åŸºã¥ã„ã¦ãƒžãƒƒãƒ—ブロック\n"
-"オクルージョンカリングを実行ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ä¿¡ã•れる\n"
+"オクルージョンカリングを実行ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«é€ä¿¡ã•れる\n"
"ブロック数を50〜80%減らã™ã“ã¨ãŒã§ãã¾ã™ã€‚ã™ã‚ŠæŠœã‘ãƒ¢ãƒ¼ãƒ‰ã®æœ‰ç”¨æ€§ãŒ\n"
"減るよã†ã«ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ã‚‚ã¯ã‚„ç›®ã«è¦‹ãˆãªã„ã‚‚ã®ã‚’å—ã‘å–りã¾ã›ã‚“。"
@@ -3450,8 +3533,8 @@ msgid ""
"nodes.\n"
"This requires the \"noclip\" privilege on the server."
msgstr ""
-"飛行モードã¨ä¸€ç·’ã«æœ‰åйã«ã•れã¦ã„ã‚‹å ´åˆã€ãƒ—レイヤーã¯å€‹ä½“ノードをã™ã‚ŠæŠœã‘ã¦é£›"
-"ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
+"飛行モードã¨ä¸€ç·’ã«æœ‰åйã«ã•れã¦ã„ã‚‹å ´åˆã€ãƒ—レイヤーã¯å€‹ä½“ノードを\n"
+"ã™ã‚ŠæŠœã‘ã¦é£›ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
"ã“れã«ã¯ã‚µãƒ¼ãƒãƒ¼ä¸Šã« \"noclip\" 特権ãŒå¿…è¦ã§ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -3480,23 +3563,21 @@ 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 ""
-"有効ã«ã—ãŸå ´åˆã€ç„¡åйãªãƒ¯ãƒ¼ãƒ«ãƒ‰ãƒ‡ãƒ¼ã‚¿ã«ã‚ˆã£ã¦ã‚µãƒ¼ãƒãŒã‚·ãƒ£ãƒƒãƒˆãƒ€ã‚¦ãƒ³ã™ã‚‹ã“ã¨ã¯"
-"ã‚りã¾ã›ã‚“。\n"
+"有効ã«ã—ãŸå ´åˆã€ç„¡åйãªãƒ¯ãƒ¼ãƒ«ãƒ‰ãƒ‡ãƒ¼ã‚¿ã«ã‚ˆã£ã¦ã‚µãƒ¼ãƒãŒã‚·ãƒ£ãƒƒãƒˆãƒ€ã‚¦ãƒ³\n"
+"ã™ã‚‹ã“ã¨ã¯ã‚りã¾ã›ã‚“。\n"
"自分ãŒã—ã¦ã„ã‚‹ã“ã¨ãŒã‚ã‹ã£ã¦ã„ã‚‹å ´åˆã®ã¿ã“れを有効ã«ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
-msgstr ""
-"飛行モードã¨ä¸€ç·’ã«æœ‰åйã«ã•れã¦ã„ã‚‹å ´åˆã€ãƒ—レーヤーã®ãƒ”ãƒƒãƒæ–¹å‘ã«ç§»å‹•ã—ã¾ã™ã€‚"
+msgstr "有効ã«ã™ã‚‹ã¨ã€é£›è¡Œä¸­ã¾ãŸã¯æ°´æ³³ä¸­ã«ãƒ—レーヤーã®ãƒ”ãƒƒãƒæ–¹å‘ã«ç§»å‹•ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
msgstr ""
-"有効ã«ã—ãŸå ´åˆã€æ–°ã—ã„プレイヤーã¯ç©ºã®ãƒ‘スワードã§ã‚²ãƒ¼ãƒ ã«å‚加ã™ã‚‹ã“ã¨ã¯\n"
-"ã§ãã¾ã›ã‚“。"
+"有効ã«ã—ãŸå ´åˆã€æ–°ã—ã„プレイヤーã¯ç©ºã®ãƒ‘スワードã§ã‚²ãƒ¼ãƒ ã«å‚加ã™ã‚‹\n"
+"ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3504,8 +3585,8 @@ msgid ""
"you stand.\n"
"This is helpful when working with nodeboxes in small areas."
msgstr ""
-"有効ã«ãªã£ã¦ã„ã‚‹å ´åˆã¯ã€ç«‹ã£ã¦ã„ã‚‹ä½ç½® (è¶³ã¨ç›®ã®é«˜ã•) ã«ãƒ–ロックをé…ç½®ã§ãã¾"
-"ã™ã€‚\n"
+"有効ã«ãªã£ã¦ã„ã‚‹å ´åˆã¯ã€ç«‹ã£ã¦ã„ã‚‹ä½ç½® (è¶³ã¨ç›®ã®é«˜ã•) ã«ãƒ–ロックを\n"
+"é…ç½®ã§ãã¾ã™ã€‚\n"
"ç‹­ã„領域ã§ãƒŽãƒ¼ãƒ‰ãƒœãƒƒã‚¯ã‚¹ã‚’æ“作ã™ã‚‹ã¨ãã«å½¹ç«‹ã¡ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -3518,6 +3599,14 @@ 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 "If this is set, players will always (re)spawn at the given position."
msgstr "ã“れを設定ã™ã‚‹ã¨ã€ãƒ—レーヤーãŒå¸¸ã«ä¸Žãˆã‚‰ã‚ŒãŸå ´æ‰€ã«(リ)スãƒãƒ¼ãƒ³ã—ã¾ã™ã€‚"
@@ -3531,7 +3620,7 @@ msgstr "ゲーム"
#: src/settings_translation_file.cpp
msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
-msgstr "ゲーム内ãƒãƒ£ãƒƒãƒˆã‚³ãƒ³ã‚½ãƒ¼ãƒ«èƒŒæ™¯ã®é€éŽ (ä¸é€æ˜Žã€0 ~ 255 ã®é–“)。"
+msgstr "ゲーム内ãƒãƒ£ãƒƒãƒˆã‚³ãƒ³ã‚½ãƒ¼ãƒ«èƒŒæ™¯ã®é€éŽ (ä¸é€æ˜Žã€0~255ã®é–“)。"
#: src/settings_translation_file.cpp
msgid "In-game chat console background color (R,G,B)."
@@ -3546,6 +3635,10 @@ msgid "Inc. volume key"
msgstr "音é‡ã‚’上ã’るキー"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -3569,15 +3662,15 @@ msgstr ""
msgid ""
"Instrument the action function of Active Block Modifiers on registration."
msgstr ""
-"アクティブブロックモディファイヤー(ABM)ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³é–¢æ•°ãŒç™»éŒ²ã•れるã¨ã™ãã«"
-"計測ã—ã¾ã™ã€‚"
+"アクティブブロックモディファイヤー(ABM)ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³é–¢æ•°ãŒ\n"
+"登録ã•れるã¨ã™ãã«è¨ˆæ¸¬ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
"Instrument the action function of Loading Block Modifiers on registration."
msgstr ""
-"ローディングブロックモディファイヤー(LBM)ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³é–¢æ•°ãŒç™»éŒ²ã•れるã¨ã™ã"
-"ã«è¨ˆæ¸¬ã—ã¾ã™ã€‚"
+"ローディングブロックモディファイヤー(LBM)ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³é–¢æ•°ãŒ\n"
+"登録ã•れるã¨ã™ãã«è¨ˆæ¸¬ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Instrument the methods of entities on registration."
@@ -3628,8 +3721,8 @@ msgid ""
msgstr ""
"å†å¸°é–¢æ•°ã®ç¹°ã‚Šè¿”ã—。\n"
"ã“れを大ããã™ã‚‹ã¨ç´°éƒ¨ã®é‡ãŒå¢—ãˆã¾ã™ãŒã€å‡¦ç†è² è·ã‚‚増ãˆã¾ã™ã€‚\n"
-"繰り返㗠= 20ã§ã¯ã€ã“ã®ãƒžãƒƒãƒ—ジェãƒãƒ¬ãƒ¼ã‚¿ã¯ãƒžãƒƒãƒ—ジェãƒãƒ¬ãƒ¼ã‚¿ V7 ã¨åŒã˜ã‚ˆã†ã«"
-"è² è·ã‚’ã‹ã‘ã¾ã™ã€‚"
+"繰り返㗠= 20ã§ã¯ã€ã“ã®ãƒžãƒƒãƒ—ジェãƒãƒ¬ãƒ¼ã‚¿ã¯ãƒžãƒƒãƒ—ジェãƒãƒ¬ãƒ¼ã‚¿ V7 ã¨\n"
+"åŒã˜ã‚ˆã†ã«è² è·ã‚’ã‹ã‘ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Joystick ID"
@@ -3809,7 +3902,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"プレイヤーをå‰é€²ã™ã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã‚’å‰æ–¹ã¸ç§»å‹•ã™ã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4243,7 +4336,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"一人称ã‹ã‚‰ä¸‰äººç§°ã®é–“ã§ã‚«ãƒ¡ãƒ©ã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"一人称ã‹ã‚‰ä¸‰äººç§°ã®é–“ã§ã‚«ãƒ¡ãƒ©ã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4263,7 +4356,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"自動å‰é€²ã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"自動å‰é€²ã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4273,7 +4366,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"映画風モードを切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"映画風モードを切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4283,7 +4376,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"ミニマップ表示を切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"ミニマップ表示を切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4293,7 +4386,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"高速移動モードを切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"高速移動モードを切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4303,7 +4396,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"飛行モードを切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"飛行モードを切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4313,18 +4406,17 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"ã™ã‚ŠæŠœã‘モードを切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"ã™ã‚ŠæŠœã‘モードを切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"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"
+"ピッãƒç§»å‹•モードを切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4334,7 +4426,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"カメラ更新を切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚開発ã«ã®ã¿ä½¿ç”¨ã•れる\n"
+"カメラ更新を切り替ãˆã‚‹ã‚­ãƒ¼ã€‚開発ã«ã®ã¿ä½¿ç”¨ã•れる\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4344,7 +4436,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"ãƒãƒ£ãƒƒãƒˆè¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"ãƒãƒ£ãƒƒãƒˆè¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4354,7 +4446,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"デãƒãƒƒã‚°æƒ…å ±ã®è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"デãƒãƒƒã‚°æƒ…å ±ã®è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4364,7 +4456,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"霧ã®è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"霧ã®è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4374,7 +4466,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"HUDã®è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"HUDã®è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4384,7 +4476,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"大型ãƒãƒ£ãƒƒãƒˆã‚³ãƒ³ã‚½ãƒ¼ãƒ«è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"大型ãƒãƒ£ãƒƒãƒˆã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã®è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4394,7 +4486,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"観測記録ã®è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚開発ã«ä½¿ç”¨ã•れã¾ã™ã€‚\n"
+"観測記録ã®è¡¨ç¤ºã‚’切り替ãˆã‚‹ã‚­ãƒ¼ã€‚開発ã«ä½¿ç”¨ã•れã¾ã™ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4404,7 +4496,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"無制é™ã®è¦–野を切り替ãˆã‚‹ã‚­ãƒ¼ã§ã™ã€‚\n"
+"無制é™ã®è¦–野を切り替ãˆã‚‹ã‚­ãƒ¼ã€‚\n"
"å‚ç…§ http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4460,7 +4552,7 @@ msgstr ""
"葉ã®ã‚¹ã‚¿ã‚¤ãƒ«:\n"
"- Fancy: ã™ã¹ã¦ã®é¢ãŒè¦‹ãˆã‚‹\n"
"- Simple: special_tiles ãŒå®šç¾©ã•れã¦ã„ã‚‹å ´åˆã¯å¤–å´ã®é¢ã®ã¿\n"
-"- Opaque: 逿˜Žæ€§ã‚’無効"
+"- Opaque: 逿˜Žæ€§ã‚’無効化"
#: src/settings_translation_file.cpp
msgid "Left key"
@@ -4471,8 +4563,7 @@ msgid ""
"Length of a server tick and the interval at which objects are generally "
"updated over\n"
"network."
-msgstr ""
-"サーãƒã®é–“éš”ã®é•·ã•ã¨ã€ã‚ªãƒ–ジェクトãŒé€šå¸¸ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§æ›´æ–°ã•れる間隔。"
+msgstr "サーãƒã®é–“éš”ã®é•·ã•ã¨ã‚ªãƒ–ジェクトãŒé€šå¸¸ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§æ›´æ–°ã•れる間隔。"
#: src/settings_translation_file.cpp
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
@@ -4551,8 +4642,7 @@ msgstr ""
"並列HTTPãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ•°ã‚’制é™ã—ã¾ã™ã€‚影響:\n"
"- サーãƒãŒ remote_media 設定を使用ã—ã¦ã„ã‚‹å ´åˆã¯ãƒ¡ãƒ‡ã‚£ã‚¢ã®å–得。\n"
"- サーãƒä¸€è¦§ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã¨ã‚µãƒ¼ãƒã®å…¬é–‹ã€‚\n"
-"- メインメニューã«ã‚ˆã£ã¦å®Ÿè¡Œã•れãŸãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ï¼ˆä¾‹ãˆã°ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ç®¡"
-"ç†ï¼‰ã€‚\n"
+"- メインメニューã§å®Ÿè¡Œã•れãŸãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ï¼ˆä¾‹ãˆã°ã€ã‚³ãƒ³ãƒ†ãƒ³ãƒ„)。\n"
"cURLã§ã‚³ãƒ³ãƒ‘イルã•れãŸå ´åˆã«ã®ã¿åŠ¹æžœãŒã‚りã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -4572,7 +4662,8 @@ msgid "Liquid queue purge time"
msgstr "液体キューã®ãƒ‘ージ時間"
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+#, fuzzy
+msgid "Liquid sinking"
msgstr "æ¶²ä½“ã®æ²ˆé™é€Ÿåº¦"
#: src/settings_translation_file.cpp
@@ -4632,10 +4723,9 @@ msgstr "マップディレクトリ"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "マップジェãƒãƒ¬ãƒ¼ã‚¿ Carpathian ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen Valleys.\n"
"'altitude_chill': Reduces heat with altitude.\n"
@@ -4646,8 +4736,8 @@ msgid ""
msgstr ""
"マップジェãƒãƒ¬ãƒ¼ã‚¿ Valleys ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
"'altitude_chill': 高度ã¨ã¨ã‚‚ã«ç†±ã‚’減らã—ã¾ã™ã€‚\n"
-"'humid_rivers': æ²³å·å‘¨è¾ºã‚„æ°´ãŒæºœã¾ã‚‹å ´æ‰€ã®æ¹¿åº¦ã‚’高ã‚ã¾ã™ã€‚\n"
-"'vary_river_depth': 有効ã«ãªã£ã¦ã„ã‚‹ã¨ã€ä½Žæ¹¿åº¦ã¨é«˜ç†±ã«ã‚ˆã‚Šæ²³å·ã¯æµ…ããªã‚Šã€\n"
+"'humid_rivers': å·ã®å‘¨è¾ºã®æ¹¿åº¦ã‚’上ã’ã¾ã™ã€‚\n"
+"'vary_river_depth': 有効ã«ãªã£ã¦ã„ã‚‹ã¨ä½Žæ¹¿åº¦ã¨é«˜ç†±ã«ã‚ˆã‚Šå·ã¯æµ…ããªã‚Šã€\n"
"時ã«ã¯ä¹¾ã„ã¦ã—ã¾ã„ã¾ã™ã€‚\n"
"'altitude_dry': 高度ã¨ã¨ã‚‚ã«æ¹¿åº¦ã‚’下ã’ã¾ã™ã€‚"
@@ -4655,37 +4745,44 @@ msgstr ""
#, 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' ã¯å·ãŒã§ãるよã†ã«ã—ã¾ã™ã€‚"
+
+#: 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 ""
"マップジェãƒãƒ¬ãƒ¼ã‚¿ flat ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
-"時折 湖や丘を平らãªãƒ¯ãƒ¼ãƒ«ãƒ‰ã«è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\n"
-"有効ã«ã•れã¦ã„ãªã„フラグã¯ãƒ‡ãƒ•ォルトã‹ã‚‰å¤‰æ›´ã•れã¾ã›ã‚“。\n"
-"'no'ã§å§‹ã¾ã‚‹ãƒ•ãƒ©ã‚°ã¯æ˜Žç¤ºçš„ã«ç„¡åйã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚"
+"æ™‚æŠ˜ã€æ¹–や丘を平らãªãƒ¯ãƒ¼ãƒ«ãƒ‰ã«è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+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"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"マップジェãƒãƒ¬ãƒ¼ã‚¿ v6 ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
-"'snowbiomes' ãƒ•ãƒ©ã‚°ã¯æ–°ã—ã„5ã¤ã®ãƒã‚¤ã‚ªãƒ¼ãƒ ã‚·ã‚¹ãƒ†ãƒ ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚\n"
-"æ–°ã—ã„ãƒã‚¤ã‚ªãƒ¼ãƒ ã‚·ã‚¹ãƒ†ãƒ ãŒæœ‰åйã«ãªã‚‹ã¨ã€ã‚¸ãƒ£ãƒ³ã‚°ãƒ«ãŒè‡ªå‹•çš„ã«æœ‰åйã«ãªã‚Šã€\n"
-"'jungles' フラグã¯ç„¡è¦–ã•れã¾ã™ã€‚\n"
-"有効ã«ã•れã¦ã„ãªã„フラグã¯ãƒ‡ãƒ•ォルトã‹ã‚‰å¤‰æ›´ã•れã¾ã›ã‚“。\n"
-"'no'ã§å§‹ã¾ã‚‹ãƒ•ãƒ©ã‚°ã¯æ˜Žç¤ºçš„ã«ç„¡åйã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚"
+"'snowbiomes' ãƒ•ãƒ©ã‚°ã¯æ–°ã—ã„5ã¤ã®ãƒã‚¤ã‚ªãƒ¼ãƒ ã‚·ã‚¹ãƒ†ãƒ ã‚’有効ã«ã—ã¾ã™ã€‚\n"
+"æ–°ã—ã„ãƒã‚¤ã‚ªãƒ¼ãƒ ã‚·ã‚¹ãƒ†ãƒ ãŒæœ‰åйã«ãªã‚‹ã¨ã‚¸ãƒ£ãƒ³ã‚°ãƒ«ãŒè‡ªå‹•çš„ã«æœ‰åйã«ãªã‚Šã€\n"
+"'jungles' フラグã¯ç„¡è¦–ã•れã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"マップジェãƒãƒ¬ãƒ¼ã‚¿ v7 ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
+"'ridges' ã¯å·ãŒã§ãるよã†ã«ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4732,6 +4829,11 @@ msgid "Mapgen Fractal"
msgstr "マップジェãƒãƒ¬ãƒ¼ã‚¿ Fractal"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "マップジェãƒãƒ¬ãƒ¼ã‚¿ Flat 固有ã®ãƒ•ラグ"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr "マップジェãƒãƒ¬ãƒ¼ã‚¿ V5"
@@ -4813,6 +4915,12 @@ 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 ""
"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)"
@@ -4859,9 +4967,9 @@ msgid ""
"try reducing it, but don't reduce it to a number below double of targeted\n"
"client number."
msgstr ""
-"接続速度ãŒé…ã„å ´åˆã¯ã€é€ä¿¡ã‚¹ãƒ†ãƒƒãƒ—ã”ã¨ã«é€ä¿¡ã•れる最大パケット数を減らã—ã¦ã¿"
-"ã¦ãã ã•ã„。\n"
-"ãŸã ã—ã€å¯¾è±¡ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆæ•°ã®2倿œªæº€ã«æ¸›ã‚‰ã•ãªã„ã§ãã ã•ã„。"
+"接続速度ãŒé…ã„å ´åˆã¯ã€é€ä¿¡ã‚¹ãƒ†ãƒƒãƒ—ã”ã¨ã«é€ä¿¡ã•れる最大パケット数を\n"
+"減らã—ã¦ã¿ã¦ãã ã•ã„。ãŸã ã—ã€å¯¾è±¡ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆæ•°ã®2倿œªæº€ã«æ¸›ã‚‰ã•\n"
+"ãªã„ã§ãã ã•ã„。"
#: src/settings_translation_file.cpp
msgid "Maximum number of players that can be connected simultaneously."
@@ -4901,7 +5009,7 @@ msgid ""
"0 to disable queueing and -1 to make the queue size unlimited."
msgstr ""
"アウトãƒãƒ£ãƒƒãƒˆã‚­ãƒ¥ãƒ¼ã®æœ€å¤§ã‚µã‚¤ã‚ºã€‚\n"
-"キューを無効ã«ã™ã‚‹ã«ã¯ 0ã€ã‚­ãƒ¥ãƒ¼ã‚µã‚¤ã‚ºã‚’無制é™ã«ã™ã‚‹ã«ã¯ -1 を指定ã—ã¾ã™ã€‚"
+"キューを無効ã«ã™ã‚‹ã«ã¯ 0ã€ã‚µã‚¤ã‚ºã‚’無制é™ã«ã™ã‚‹ã«ã¯ -1 を指定ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Maximum time in ms a file download (e.g. a mod download) may take."
@@ -5016,19 +5124,16 @@ msgstr "消音"
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
"æ–°ã—ã„ワールドを作æˆã™ã‚‹ã¨ãã«ä½¿ç”¨ã•れるマップジェãƒãƒ¬ãƒ¼ã‚¿ã®åå‰ã€‚\n"
"メインメニューã§ãƒ¯ãƒ¼ãƒ«ãƒ‰ã‚’作æˆã™ã‚‹ã¨ã€ã“れãŒä¸Šæ›¸ãã•れã¾ã™ã€‚\n"
"ç¾åœ¨å®‰å®šã—ã¦ã„るマップジェãƒãƒ¬ãƒ¼ã‚¿ï¼š\n"
-"v5ã€v6ã€v7(æµ®éŠå¤§é™¸ã‚’除ã)ã€flatã€singlenode。\n"
-"'安定ã—ã¦ã„ã‚‹'ã¨ã¯ã€æ—¢å­˜ã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®åœ°å½¢ãŒå°†æ¥å¤‰æ›´ã•れãªã„ã“ã¨ã‚’æ„味ã—ã¾"
-"ã™ã€‚\n"
-"ãƒã‚¤ã‚ªãƒ¼ãƒ ã¯ã‚²ãƒ¼ãƒ ã«ã‚ˆã£ã¦å®šç¾©ã•れã€ãれã§ã‚‚変更ã•れるå¯èƒ½æ€§ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„"
-"ã—ã¦ãã ã•ã„。"
+"v5ã€v6ã€v7(æµ®éŠå¤§é™¸ã‚’除ã)ã€singlenode。\n"
+"「安定ã—ã¦ã„ã‚‹ã€ã¨ã¯ã€æ—¢å­˜ã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã®åœ°å½¢ãŒå°†æ¥å¤‰æ›´ã•れãªã„ã“ã¨ã‚’\n"
+"æ„味ã—ã¾ã™ã€‚ãƒã‚¤ã‚ªãƒ¼ãƒ ã¯ã‚²ãƒ¼ãƒ ã«ã‚ˆã£ã¦å®šç¾©ã•れã€ãれã«ã‚ˆã£ã¦å¤‰æ›´\n"
+"ã•れるå¯èƒ½æ€§ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。"
#: src/settings_translation_file.cpp
msgid ""
@@ -5037,7 +5142,8 @@ msgid ""
"When starting from the main menu, this is overridden."
msgstr ""
"プレイヤーã®åå‰ã€‚\n"
-"サーãƒã‚’実行ã—ã¦ã„ã‚‹å ´åˆã€ã“ã®åå‰ã§æŽ¥ç¶šã—ã¦ã„るクライアントã¯ç®¡ç†è€…ã§ã™ã€‚\n"
+"サーãƒã‚’実行ã—ã¦ã„ã‚‹å ´åˆã€ã“ã®åå‰ã§æŽ¥ç¶šã—ã¦ã„るクライアントã¯ç®¡ç†è€…\n"
+"ã§ã™ã€‚\n"
"メインメニューã‹ã‚‰èµ·å‹•ã™ã‚‹ã¨ã€ã“れã¯ä¸Šæ›¸ãã•れã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -5046,7 +5152,8 @@ msgid ""
msgstr "プレイヤーãŒå‚加ã—ãŸã¨ãã«ã‚µãƒ¼ãƒä¸€è¦§ã«è¡¨ç¤ºã•れるサーãƒã®åå‰ã€‚"
#: src/settings_translation_file.cpp
-msgid "Near plane"
+#, fuzzy
+msgid "Near clipping plane"
msgstr "è¿‘ãã®é¢"
#: src/settings_translation_file.cpp
@@ -5098,19 +5205,33 @@ msgid "Number of emerge threads"
msgstr "出ç¾ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
+"使用ã™ã‚‹å‡ºç¾ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã€‚\n"
+"空 ã¾ãŸã¯ 0:\n"
+"- è‡ªå‹•é¸æŠžã€‚ 出ç¾ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã¯\n"
+"- 「プロセッサー数 - 2ã€ã€ä¸‹é™ã¯ 1 ã§ã™ã€‚\n"
+"ãã®ä»–ã®å€¤:\n"
+"- 出ç¾ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã‚’指定ã—ã¾ã™ã€ä¸‹é™ã¯ 1 ã§ã™ã€‚\n"
+"警告: 出ç¾ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰æ•°ã‚’増やã™ã¨ã‚¨ãƒ³ã‚¸ãƒ³ã®ãƒžãƒƒãƒ—生æˆé€Ÿåº¦ãŒ\n"
+"上ãŒã‚Šã¾ã™ãŒã€ç‰¹ã«ã‚·ãƒ³ã‚°ãƒ«ãƒ—レイヤーや 'on_generated' ã§\n"
+"Luaコードを実行ã—ã¦ã„ã‚‹å ´åˆã€ä»–ã®ãƒ—ロセスã¨å¹²æ¸‰ã—ã¦ã‚²ãƒ¼ãƒ ã®\n"
+"パフォーマンスを低下ã•ã›ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚\n"
+"多ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã¨ã£ã¦æœ€é©ãªè¨­å®šã¯ '1' ã§ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -5128,7 +5249,7 @@ msgstr "視差é®è”½å復ã®å›žæ•°ã§ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "オンラインコンテンツリãƒã‚¸ãƒˆãƒª"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5188,14 +5309,14 @@ msgid ""
"Path to shader directory. If no path is defined, default location will be "
"used."
msgstr ""
-"シェーダーディレクトリã¸ã®ãƒ‘ス。パスãŒå®šç¾©ã•れã¦ã„ãªã„å ´åˆã¯ã€è¦å®šã®å ´æ‰€ãŒä½¿"
-"用ã•れã¾ã™ã€‚"
+"シェーダーディレクトリã¸ã®ãƒ‘ス。パスãŒå®šç¾©ã•れã¦ã„ãªã„å ´åˆã¯ã€\n"
+"è¦å®šã®å ´æ‰€ãŒä½¿ç”¨ã•れã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
-"テクスãƒãƒ£ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¸ã®ãƒ‘ス。ã™ã¹ã¦ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯æœ€åˆã«ã“ã“ã‹ã‚‰æ¤œç´¢ã•れã¾"
-"ã™ã€‚"
+"テクスãƒãƒ£ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¸ã®ãƒ‘ス。ã™ã¹ã¦ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¯æœ€åˆã«ã“ã“ã‹ã‚‰\n"
+"検索ã•れã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
@@ -5206,14 +5327,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 ""
@@ -5241,15 +5360,15 @@ msgid ""
"Note that the port field in the main menu overrides this setting."
msgstr ""
"(UDP) ã«æŽ¥ç¶šã™ã‚‹ãƒãƒ¼ãƒˆã€‚\n"
-"メインメニューã®ãƒãƒ¼ãƒˆæ¬„ã¯ã€ã“ã®è¨­å®šã‚’上書ãã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。"
+"メインメニューã®ãƒãƒ¼ãƒˆæ¬„ã¯ã“ã®è¨­å®šã‚’上書ãã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。"
#: 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 ""
-"マウスボタンを押ã—ãŸã¾ã¾ã«ã—ã¦ã€æŽ˜ã‚Šä¸‹ã’ãŸã‚Šè¨­ç½®ã—ãŸã‚Šã™ã‚‹ã®ã‚’防ãŽã¾ã™ã€‚\n"
-"æ€ã„ãŒã‘ãšã€ã‚ã¾ã‚Šã«ã‚‚é »ç¹ã«æŽ˜ã£ãŸã‚Šç½®ã„ãŸã‚Šã™ã‚‹ã¨ãã«ã“れを有効ã«ã—ã¾ã™ã€‚"
+"マウスボタンを押ã—ãŸã¾ã¾ã«ã—ã¦æŽ˜ã‚Šä¸‹ã’ãŸã‚Šè¨­ç½®ã—ãŸã‚Šã™ã‚‹ã®ã‚’防ãŽã¾ã™ã€‚\n"
+"æ€ã„ãŒã‘ãšã‚ã¾ã‚Šã«ã‚‚é »ç¹ã«æŽ˜ã£ãŸã‚Šç½®ã„ãŸã‚Šã™ã‚‹ã¨ãã«ã“れを有効ã«ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Prevent mods from doing insecure things like running shell commands."
@@ -5280,10 +5399,6 @@ msgid "Profiling"
msgstr "プロファイリング"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5322,7 +5437,8 @@ msgid ""
"Use this to stop players from being able to use color in their messages"
msgstr ""
"ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‹ã‚‰è‰²ã‚³ãƒ¼ãƒ‰ã‚’å–り除ãã¾ã™\n"
-"ã“れを使用ã—ã¦ã€ãƒ—レイヤーãŒè‡ªåˆ†ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«è‰²ã‚’使用ã§ããªã„よã†ã«ã—ã¾ã™"
+"ã“れを使用ã—ã¦ã€ãƒ—レイヤーãŒè‡ªåˆ†ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«è‰²ã‚’使用ã§ããªã„\n"
+"よã†ã«ã—ã¾ã™"
#: src/settings_translation_file.cpp
msgid "Replaces the default main menu with a custom one."
@@ -5333,7 +5449,6 @@ msgid "Report path"
msgstr "レãƒãƒ¼ãƒˆãƒ‘ス"
#: src/settings_translation_file.cpp
-#, fuzzy
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"
@@ -5346,14 +5461,16 @@ msgid ""
"csm_restriction_noderange)\n"
"READ_PLAYERINFO: 32 (disable get_player_names call client-side)"
msgstr ""
-"サーãƒã§ç‰¹å®šã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´é–¢æ•°ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã™ã‚‹\n"
-"以下㮠byteflags ã‚’åˆã‚ã›ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´ã®æ©Ÿèƒ½ã‚’制é™:\n"
-"LOAD_CLIENT_MODS: 1 (クライアントModã®èª­ã¿è¾¼ã¿ç„¡åй)\n"
-"CHAT_MESSAGES: 2 (クライアントå´ã§ã® send_chat_message 呼ã³å‡ºã—無効)\n"
-"READ_ITEMDEFS: 4 (クライアントå´ã§ã® get_item_def 呼ã³å‡ºã—無効)\n"
-"READ_NODEDEFS: 8 (クライアントå´ã§ã® get_node_def 呼ã³å‡ºã—無効)\n"
+"サーãƒã§ç‰¹å®šã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´æ©Ÿèƒ½ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制é™ã—ã¾ã™ã€‚\n"
+"以下㮠byteflags ã‚’åˆã‚ã›ã¦ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆå´ã®æ©Ÿèƒ½ã‚’制é™ã™ã‚‹ã‹ã€åˆ¶é™ãªã—ã®\n"
+"å ´åˆã¯ 0 ã«è¨­å®šã—ã¾ã™ã€‚\n"
+"LOAD_CLIENT_MODS: 1 (クライアントæä¾›ã®Modã®èª­ã¿è¾¼ã¿ã‚’無効)\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 ã«åˆ¶é™)"
+"csm_restriction_noderange ã«åˆ¶é™)\n"
+"READ_PLAYERINFO: 32 (クライアントå´ã§ã® get_player_names 呼ã³å‡ºã—を無効)"
#: src/settings_translation_file.cpp
msgid "Ridge mountain spread noise"
@@ -5380,6 +5497,16 @@ msgid "Rightclick repetition interval"
msgstr "å³ã‚¯ãƒªãƒƒã‚¯ç¹°ã‚Šè¿”ã—ã®é–“éš”"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel depth"
+msgstr "å·ã®æ·±ã•"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "å·ã®æ·±ã•"
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr "å·ã®æ·±ã•"
@@ -5392,6 +5519,11 @@ msgid "River size"
msgstr "å·ã®ã‚µã‚¤ã‚º"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "å·ã®æ·±ã•"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "ロールãƒãƒƒã‚¯ã®è¨˜éŒ²"
@@ -5437,10 +5569,9 @@ msgid ""
msgstr ""
"ユーザー指定ã®å€¤ã§GUIを拡大縮å°ã—ã¾ã™ã€‚\n"
"GUIを拡大縮å°ã™ã‚‹ã«ã¯ã€æœ€è¿‘å‚補間アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹ãƒ•ィルタを使用ã—ã¾ã™ã€‚\n"
-"ã“れã¯ã€ç”»åƒãŒæ•´æ•°ä»¥å¤–ã®ã‚µã‚¤ã‚ºã§æ‹¡å¤§ç¸®å°ã•れるã¨ãã«ã„ãã¤ã‹ã®ã‚¨ãƒƒã‚¸ãƒ”クセル"
-"ã‚’\n"
-"ã¼ã‹ã™ã“ã¨ã‚’犠牲ã«ã—ã¦ã€ç²—ã„エッジã®ä¸€éƒ¨ã‚’滑らã‹ã«ã—ã€ç¸®å°ã™ã‚‹ã¨ãã«ãƒ”クセル"
-"ã‚’æ··åˆã—ã¾ã™ã€‚"
+"ã“れã¯ã€ç”»åƒãŒæ•´æ•°ä»¥å¤–ã®ã‚µã‚¤ã‚ºã§æ‹¡å¤§ç¸®å°ã•れるã¨ãã«ã„ãã¤ã‹ã®\n"
+"エッジピクセルをã¼ã‹ã™ã“ã¨ã‚’犠牲ã«ã—ã¦ã€ç²—ã„エッジã®ä¸€éƒ¨ã‚’滑らã‹ã«ã—ã€\n"
+"縮å°ã™ã‚‹ã¨ãã«ãƒ”クセルを混åˆã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Screen height"
@@ -5560,7 +5691,7 @@ msgstr "サーãƒã‚¢ãƒ‰ãƒ¬ã‚¹"
#: src/settings_translation_file.cpp
msgid "Server description"
-msgstr "サーãƒãƒãƒ¼ãƒˆ"
+msgstr "サーãƒèª¬æ˜Ž"
#: src/settings_translation_file.cpp
msgid "Server name"
@@ -5572,7 +5703,7 @@ msgstr "サーãƒãƒãƒ¼ãƒˆ"
#: src/settings_translation_file.cpp
msgid "Server side occlusion culling"
-msgstr "サーãƒãƒ¼å´ã®ã‚ªã‚¯ãƒ«ãƒ¼ã‚¸ãƒ§ãƒ³ã‚«ãƒªãƒ³ã‚°"
+msgstr "サーãƒå´ã®ã‚ªã‚¯ãƒ«ãƒ¼ã‚¸ãƒ§ãƒ³ã‚«ãƒªãƒ³ã‚°"
#: src/settings_translation_file.cpp
msgid "Serverlist URL"
@@ -5629,9 +5760,8 @@ msgid ""
"cards.\n"
"This only works with the OpenGL video backend."
msgstr ""
-"シェーダーã¯é«˜åº¦ãªè¦–覚効果をå¯èƒ½ã«ã—ã€ãƒ“デオカードã«ã‚ˆã£ã¦ã¯ãƒ‘フォーマンスãŒ"
-"å‘上ã™ã‚‹\n"
-"å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚\n"
+"シェーダーã¯é«˜åº¦ãªè¦–覚効果をå¯èƒ½ã«ã—ã€ãƒ“デオカードã«ã‚ˆã£ã¦ã¯\n"
+"パフォーマンスãŒå‘上ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚\n"
"ã“れã¯OpenGLビデオãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã§ã®ã¿æ©Ÿèƒ½ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -5665,11 +5795,10 @@ msgid ""
msgstr ""
"マップジェãƒãƒ¬ãƒ¼ã‚¿ã«ã‚ˆã£ã¦ç”Ÿæˆã•れãŸãƒžãƒƒãƒ—ãƒãƒ£ãƒ³ã‚¯ã®ã‚µã‚¤ã‚ºã§ã€\n"
"マップブロック(16ノード)ã§è¡¨ã•れã¾ã™ã€‚\n"
-"警告ï¼: ã“ã®å€¤ã‚’5より大ããã™ã‚‹ã“ã¨ã«ã¯åˆ©ç‚¹ãŒãªãã€ã„ãã¤ã‹ã®å±é™ºãŒã‚りã¾"
-"ã™ã€‚\n"
-"ã“ã®å€¤ã‚’減らã™ã¨æ´žçªŸã¨ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ã®å¯†åº¦ãŒä¸ŠãŒã‚Šã¾ã™ã€‚\n"
-"ã“ã®å€¤ã‚’変更ã™ã‚‹ã®ã¯ç‰¹åˆ¥ãªç”¨é€”ã®ãŸã‚ã§ã™ã€‚変更ã—ãªã„ã§ãŠãã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾"
-"ã™ã€‚"
+"警告ï¼: ã“ã®å€¤ã‚’5より大ããã™ã‚‹ã“ã¨ã«ã¯åˆ©ç‚¹ãŒãªãã€ã„ãã¤ã‹ã®å±é™ºãŒ\n"
+"ã‚りã¾ã™ã€‚ã“ã®å€¤ã‚’減らã™ã¨æ´žçªŸã¨ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ã®å¯†åº¦ãŒä¸ŠãŒã‚Šã¾ã™ã€‚\n"
+"ã“ã®å€¤ã‚’変更ã™ã‚‹ã®ã¯ç‰¹åˆ¥ãªç”¨é€”ã®ãŸã‚ã§ã™ã€‚変更ã—ãªã„ã§ãŠãã“ã¨ã‚’\n"
+"ãŠå‹§ã‚ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -5678,9 +5807,8 @@ msgid ""
"thread, thus reducing jitter."
msgstr ""
"メッシュ生æˆã®ãƒžãƒƒãƒ—ブロックキャッシュサイズ。ã“れを大ããã™ã‚‹ã¨ã€\n"
-"キャッシュヒット率ãŒä¸ŠãŒã‚Šã€ãƒ¡ã‚¤ãƒ³ã‚¹ãƒ¬ãƒƒãƒ‰ã‹ã‚‰ã‚³ãƒ”ーã•ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ãŒæ¸›ã‚‹ãŸ"
-"ã‚ã€\n"
-"ã‚¸ãƒƒã‚¿ãŒæ¸›å°‘ã—ã¾ã™ã€‚"
+"キャッシュヒット率ãŒä¸ŠãŒã‚Šã€ãƒ¡ã‚¤ãƒ³ã‚¹ãƒ¬ãƒƒãƒ‰ã‹ã‚‰ã‚³ãƒ”ーã•れるデータãŒ\n"
+"減るãŸã‚ã€ã‚¸ãƒƒã‚¿ãŒæ¸›å°‘ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Slice w"
@@ -5707,8 +5835,8 @@ msgid ""
"Smooths camera when looking around. Also called look or mouse smoothing.\n"
"Useful for recording videos."
msgstr ""
-"周りを見ã¦ã„ã‚‹ã¨ãã«ã‚«ãƒ¡ãƒ©ã‚’滑らã‹ã«ã—ã¾ã™ã€‚マウススムージングã¨ã‚‚呼ã°ã‚Œã¾"
-"ã™ã€‚\n"
+"周りを見ã¦ã„ã‚‹ã¨ãã«ã‚«ãƒ¡ãƒ©ã‚’滑らã‹ã«ã—ã¾ã™ã€‚マウススムージングã¨ã‚‚\n"
+"呼ã°ã‚Œã¾ã™ã€‚\n"
"ビデオを録画ã™ã‚‹ã¨ãã«ä¾¿åˆ©ã§ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -5728,6 +5856,10 @@ msgid "Sneaking speed"
msgstr "スニーク時ã®é€Ÿåº¦"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "サウンド"
@@ -5860,19 +5992,17 @@ 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"
"ã—ã‹ã—ã€ã“ã®æ©Ÿèƒ½ã¯æ–°ã—ãã€å¤ã„サーãƒã§ã¯ä½¿ç”¨ã§ããªã„å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚\n"
-"ã“ã®ã‚ªãƒ—ションを使用ã™ã‚‹ã¨ç‰¹å®šã®ãƒŽãƒ¼ãƒ‰ã‚¿ã‚¤ãƒ—ã«é©ç”¨ã§ãã¾ã™ã€‚ãŸã ã—ã€ã“れã¯å®Ÿ"
-"験的ãª\n"
-"ã‚‚ã®ã§ã‚ã‚Šã€æ­£ã—ãæ©Ÿèƒ½ã—ãªã„å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚"
+"ã“ã®ã‚ªãƒ—ションを使用ã™ã‚‹ã¨ç‰¹å®šã®ãƒŽãƒ¼ãƒ‰ã‚¿ã‚¤ãƒ—ã«é©ç”¨ã§ãã¾ã™ã€‚ãŸã ã—ã€\n"
+"ã“れã¯å®Ÿé¨“çš„ãªã‚‚ã®ã§ã‚ã‚Šã€æ­£ã—ãæ©Ÿèƒ½ã—ãªã„å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "コンテンツリãƒã‚¸ãƒˆãƒªã®URL"
#: src/settings_translation_file.cpp
msgid ""
@@ -5909,8 +6039,8 @@ msgid ""
"See /privs in game for a full list on your server and mod configuration."
msgstr ""
"æ–°è¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè‡ªå‹•çš„ã«å–å¾—ã™ã‚‹ç‰¹æ¨©ã€‚\n"
-"サーãƒã¨Modã®æ§‹æˆã®å®Œå…¨ãªãƒªã‚¹ãƒˆã«ã¤ã„ã¦ã¯ã€ã‚²ãƒ¼ãƒ å†…ã® /privs ã‚’å‚ç…§ã—ã¦ãã ã•"
-"ã„。"
+"サーãƒã¨Modã®æ§‹æˆã®å®Œå…¨ãªãƒªã‚¹ãƒˆã«ã¤ã„ã¦ã¯ã€ã‚²ãƒ¼ãƒ å†…ã® /privs ã‚’å‚ç…§\n"
+"ã—ã¦ãã ã•ã„。"
#: src/settings_translation_file.cpp
msgid ""
@@ -5925,7 +6055,7 @@ msgstr ""
"アクティブブロックã®å¯¾è±¡ã¨ãªã‚‹å„プレイヤーã®å‘¨å›²ã®ãƒ–ロックã®é‡ã®åŠå¾„ã€\n"
"マップブロック(16ノード)ã§å®šã‚ã¾ã™ã€‚\n"
"アクティブブロックã®ã‚ªãƒ–ジェクトã¯ãƒ­ãƒ¼ãƒ‰ã•れã€ABMãŒå®Ÿè¡Œã•れã¾ã™ã€‚\n"
-"ã“れã¯ã€ã‚¢ã‚¯ãƒ†ã‚£ãƒ–オブジェクト(モブ)ãŒç¶­æŒã•れる最å°ç¯„囲ã§ã‚‚ã‚りã¾ã™ã€‚\n"
+"ã“れã¯ã‚¢ã‚¯ãƒ†ã‚£ãƒ–オブジェクト(モブ)ãŒç¶­æŒã•れる最å°ç¯„囲ã§ã‚‚ã‚りã¾ã™ã€‚\n"
"ã“れ㯠active_object_range ã¨ä¸€ç·’ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -5939,12 +6069,10 @@ msgid ""
msgstr ""
"Irrlichtã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã€‚\n"
"変更後ã¯å†èµ·å‹•ãŒå¿…è¦ã§ã™ã€‚\n"
-"メモ: Androidã§ã¯ã€ä¸æ˜Žãªå ´åˆã¯ OGLES1 を使用ã—ã¦ãã ã•ã„ï¼ ãれ以外ã®å ´åˆã‚¢"
-"プリã¯\n"
-"èµ·å‹•ã«å¤±æ•—ã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚\n"
-"ä»–ã®ãƒ—ラットフォームã§ã¯ã€OpenGL ãŒæŽ¨å¥¨ã•れã¦ãŠã‚Šã€ç¾åœ¨ãれãŒã‚·ã‚§ãƒ¼ãƒ€ãƒ¼ã‚’サ"
-"ãƒãƒ¼ãƒˆ\n"
-"ã™ã‚‹å”¯ä¸€ã®ãƒ‰ãƒ©ã‚¤ãƒã§ã™ã€‚"
+"メモ: Androidã§ã¯ã€ä¸æ˜Žãªå ´åˆã¯ OGLES1 を使用ã—ã¦ãã ã•ã„ï¼ \n"
+"ãれ以外ã®å ´åˆã‚¢ãƒ—リã¯èµ·å‹•ã«å¤±æ•—ã™ã‚‹ã“ã¨ãŒã‚りã¾ã™ã€‚\n"
+"ä»–ã®ãƒ—ラットフォームã§ã¯ã€OpenGL ãŒæŽ¨å¥¨ã•れã¦ãŠã‚Šã€ç¾åœ¨ãれãŒ\n"
+"シェーダーをサãƒãƒ¼ãƒˆã™ã‚‹å”¯ä¸€ã®ãƒ‰ãƒ©ã‚¤ãƒã§ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -5960,7 +6088,7 @@ msgid ""
"set to the nearest valid value."
msgstr ""
"ノードã®ã‚¢ãƒ³ãƒ“エントオクルージョンシェーディングã®å¼·åº¦ï¼ˆæš—ã•)。\n"
-"低ã„ã»ã©æš—ãã€é«˜ã„ã»ã©æ˜Žã‚‹ããªã‚Šã¾ã™ã€‚ã“ã®è¨­å®šã®æœ‰åŠ¹ç¯„å›²ã¯ 0.25~4.0 ã§ã™ã€‚\n"
+"低ã„ã»ã©æš—ãã€é«˜ã„ã»ã©æ˜Žã‚‹ããªã‚Šã¾ã™ã€‚è¨­å®šã®æœ‰åŠ¹ç¯„å›²ã¯ 0.25~4.0 ã§ã™ã€‚\n"
"値ãŒç¯„囲外ã®å ´åˆã¯ã€æœ€ã‚‚è¿‘ã„æœ‰åйãªå€¤ã«è¨­å®šã•れã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -5969,9 +6097,8 @@ 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 ""
-"å¤ã„キューアイテムを出力ã—ã¦ã‚µã‚¤ã‚ºã‚’減らãã†ã¨ã™ã‚‹ã¾ã§ã«ã€æ¶²ä½“キューãŒå‡¦ç†èƒ½"
-"力を\n"
-"è¶…ãˆã¦æ‹¡å¼µã§ãる時間(ç§’å˜ä½)。値 0 ã¯æ©Ÿèƒ½ã‚’無効ã«ã—ã¾ã™ã€‚"
+"å¤ã„キューアイテムを出力ã—ã¦ã‚µã‚¤ã‚ºã‚’減らãã†ã¨ã™ã‚‹ã¾ã§ã«ã€æ¶²ä½“キューãŒ\n"
+"処ç†èƒ½åŠ›ã‚’è¶…ãˆã¦æ‹¡å¼µã§ãる時間(ç§’å˜ä½)。値 0 ã¯æ©Ÿèƒ½ã‚’無効ã«ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -6032,7 +6159,8 @@ msgstr "時間ã®é€Ÿã•"
#: src/settings_translation_file.cpp
msgid "Timeout for client to remove unused map data from memory."
msgstr ""
-"クライアントãŒãƒ¡ãƒ¢ãƒªã‹ã‚‰æœªä½¿ç”¨ã®ãƒžãƒƒãƒ—データを削除ã™ã‚‹ãŸã‚ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã€‚"
+"クライアントãŒãƒ¡ãƒ¢ãƒªã‹ã‚‰æœªä½¿ç”¨ã®ãƒžãƒƒãƒ—データを削除ã™ã‚‹ãŸã‚ã®\n"
+"タイムアウト。"
#: src/settings_translation_file.cpp
msgid ""
@@ -6041,9 +6169,9 @@ msgid ""
"This determines how long they are slowed down after placing or removing a "
"node."
msgstr ""
-"ラグを減らã™ãŸã‚ã«ã€ãƒ—レーヤーãŒä½•ã‹ã‚’設置ã—ã¦ã„ã‚‹ã¨ãブロック転é€ã¯é…ããªã‚Š"
-"ã¾ã™ã€‚\n"
-"ã“れã¯ã€ãƒŽãƒ¼ãƒ‰ã‚’設置ã¾ãŸã¯ç ´å£Šã—ãŸå¾Œã«ã©ã‚Œãらã„é…ããªã‚‹ã‹ã‚’決定ã—ã¾ã™ã€‚"
+"ラグを減らã™ãŸã‚ã«ã€ãƒ—レーヤーãŒä½•ã‹ã‚’設置ã—ã¦ã„ã‚‹ã¨ãブロック転é€ã¯\n"
+"é…ããªã‚Šã¾ã™ã€‚\n"
+"ã“れã¯ãƒŽãƒ¼ãƒ‰ã‚’設置ã¾ãŸã¯ç ´å£Šã—ãŸå¾Œã«ã©ã‚Œãらã„é…ããªã‚‹ã‹ã‚’決定ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Toggle camera mode key"
@@ -6093,15 +6221,18 @@ msgid "Undersampling"
msgstr "アンダーサンプリング"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"アンダーサンプリングã¯ä½Žã„ç”»é¢è§£åƒåº¦ã‚’使用ã™ã‚‹ã®ã¨ä¼¼ã¦ã„ã¾ã™ãŒã€\n"
"GUIã‚’ãã®ã¾ã¾ã«ã—ã¦ã‚²ãƒ¼ãƒ ã®ä¸–界ã«ã®ã¿é©ç”¨ã•れã¾ã™ã€‚\n"
-"ãれã»ã©è©³ç´°ã§ãªã„イメージを犠牲ã«ã—ã¦ãƒ‘フォーマンスをã‹ãªã‚Šé«˜ã‚ã‚‹ã§ã—ょã†ã€‚"
+"ãれã»ã©è©³ç´°ã§ãªã„イメージを犠牲ã«ã—ã¦ãƒ‘フォーマンスをã‹ãªã‚Šé«˜ã‚ã‚‹\n"
+"ã§ã—ょã†ã€‚"
#: src/settings_translation_file.cpp
msgid "Unlimited player transfer distance"
@@ -6125,11 +6256,11 @@ msgstr "メインメニューã®èƒŒæ™¯ã«ã¯é›²ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’使用
#: src/settings_translation_file.cpp
msgid "Use anisotropic filtering when viewing at textures from an angle."
-msgstr "ã‚る角度ã‹ã‚‰ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’見るã¨ãã¯ã€ç•°æ–¹æ€§ãƒ•ィルタリングを使用ã—ã¾ã™ã€‚"
+msgstr "ã‚る角度ã‹ã‚‰ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’見るã¨ãã¯ç•°æ–¹æ€§ãƒ•ィルタリングを使用ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "Use bilinear filtering when scaling textures."
-msgstr "テクスãƒãƒ£ã‚’拡大縮å°ã™ã‚‹å ´åˆã¯ã€ãƒã‚¤ãƒªãƒ‹ã‚¢ãƒ•ィルタリングを使用ã—ã¾ã™ã€‚"
+msgstr "テクスãƒãƒ£ã‚’拡大縮å°ã™ã‚‹å ´åˆã¯ãƒã‚¤ãƒªãƒ‹ã‚¢ãƒ•ィルタリングを使用ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -6137,15 +6268,14 @@ msgid ""
"especially when using a high resolution texture pack.\n"
"Gamma correct downscaling is not supported."
msgstr ""
-"ミップマッピングを使用ã—ã¦ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’拡大縮å°ã—ã¾ã™ã€‚特ã«é«˜è§£åƒåº¦ã®ãƒ†ã‚¯ã‚¹"
-"ãƒãƒ£ãƒ‘ックを\n"
-"使用ã™ã‚‹å ´åˆã¯ã€ãƒ‘フォーマンスãŒã‚ãšã‹ã«å‘上ã™ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚\n"
+"ミップマッピングを使用ã—ã¦ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚’拡大縮å°ã—ã¾ã™ã€‚特ã«é«˜è§£åƒåº¦ã®\n"
+"テクスãƒãƒ£ãƒ‘ックを使用ã™ã‚‹å ´åˆã¯ã€ãƒ‘フォーマンスãŒã‚ãšã‹ã«å‘上ã™ã‚‹\n"
+"å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚\n"
"ガンマ補正縮å°ã¯ã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。"
#: src/settings_translation_file.cpp
msgid "Use trilinear filtering when scaling textures."
-msgstr ""
-"テクスãƒãƒ£ã‚’拡大縮å°ã™ã‚‹å ´åˆã¯ã€ãƒˆãƒ©ã‚¤ãƒªãƒ‹ã‚¢ãƒ•ィルタリングを使用ã—ã¾ã™ã€‚"
+msgstr "テクスãƒãƒ£ã‚’拡大縮å°ã™ã‚‹å ´åˆã¯ãƒˆãƒ©ã‚¤ãƒªãƒ‹ã‚¢ãƒ•ィルタリングを使用ã—ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid "VBO"
@@ -6212,6 +6342,10 @@ msgid "Varies steepness of cliffs."
msgstr "å´–ã®é™ºã—ã•ãŒç•°ãªã‚Šã¾ã™ã€‚"
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "åž‚ç›´ã‚¹ã‚¯ãƒªãƒ¼ãƒ³åŒæœŸã€‚"
@@ -6266,10 +6400,18 @@ msgstr ""
"ãŠãŠã‚ˆã -2~2 ã®ç¯„囲。"
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr "æ°´ä½"
@@ -6294,16 +6436,19 @@ msgid "Waving water"
msgstr "æºã‚Œã‚‹æ°´"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "æ°´ã®æºã‚Œã‚‹é«˜ã•"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "æ°´ã®æºã‚Œã‚‹ä¸ˆ"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "æ°´ã®æºã‚Œã‚‹é€Ÿåº¦"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "æ°´ã®æºã‚Œã‚‹é€Ÿåº¦"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "æ°´ã®æºã‚Œã‚‹ä¸ˆ"
#: src/settings_translation_file.cpp
msgid ""
@@ -6312,9 +6457,9 @@ msgid ""
"to hardware (e.g. render-to-texture for nodes in inventory)."
msgstr ""
"gui_scaling_filter ãŒæœ‰åйãªå ´åˆã€ã™ã¹ã¦ã®GUIイメージã¯ã‚½ãƒ•トウェアã§\n"
-"フィルタ処ç†ã•れる必è¦ãŒã‚りã¾ã™ãŒã€ã„ãã¤ã‹ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã¯ç›´æŽ¥ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã§\n"
-"生æˆã•れã¾ã™(例ãˆã°ã€ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªå†…ã®ãƒŽãƒ¼ãƒ‰ã®ãŸã‚ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã¸ã®\n"
-"レンダリング)。"
+"フィルタ処ç†ã•れる必è¦ãŒã‚りã¾ã™ãŒã€ã„ãã¤ã‹ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã¯ç›´æŽ¥\n"
+"ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã§ç”Ÿæˆã•れã¾ã™(例ãˆã°ã€ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªå†…ã®ãƒŽãƒ¼ãƒ‰ã®ãŸã‚ã®\n"
+"テクスãƒãƒ£ã¸ã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°)。"
#: src/settings_translation_file.cpp
msgid ""
@@ -6323,11 +6468,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 ãŒæœ‰åйãªå ´åˆã€æ‹¡å¤§ç¸®å°ã®ãŸã‚ã«ãれらã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’\n"
-"ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‹ã‚‰ã‚½ãƒ•トウェアã«ã‚³ãƒ”ーã—ã¾ã™ã€‚ 無効ãªå ´åˆã€ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‹ã‚‰ã®ãƒ†"
-"クスãƒãƒ£ã®\n"
-"ダウンロードをé©åˆ‡ã«ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ビデオドライãƒã®ã¨ãã¯ã€å¤ã„æ‹¡å¤§ç¸®å°æ–¹"
-"æ³•ã«æˆ»ã‚Šã¾ã™ã€‚"
+"gui_scaling_filter_txr2img ãŒæœ‰åйãªå ´åˆã€æ‹¡å¤§ç¸®å°ã®ãŸã‚ã«ãれらã®\n"
+"イメージをãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‹ã‚‰ã‚½ãƒ•トウェアã«ã‚³ãƒ”ーã—ã¾ã™ã€‚ 無効ãªå ´åˆã€\n"
+"ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‹ã‚‰ã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã‚’é©åˆ‡ã«ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„\n"
+"ビデオドライãƒã®ã¨ãã¯ã€å¤ã„æ‹¡å¤§ç¸®å°æ–¹æ³•ã«æˆ»ã‚Šã¾ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -6360,14 +6504,10 @@ msgstr ""
"コンパイルã•れã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr "ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ãŒæ™‚折地形ã‹ã‚‰çªå‡ºã™ã‚‹ã‹ã©ã†ã‹ã€‚"
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
-"ノードã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’マップブロックã”ã¨ã«éžåŒæœŸã«ã™ã‚‹ã‹\n"
-"ã©ã†ã‹ã®è¨­å®šã§ã™ã€‚"
+"ノードã®ãƒ†ã‚¯ã‚¹ãƒãƒ£ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’マップブロックã”ã¨ã«éžåŒæœŸã«\n"
+"ã™ã‚‹ã‹ã©ã†ã‹ã®è¨­å®šã§ã™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -6375,7 +6515,7 @@ msgid ""
"Deprecated, use the setting player_transfer_distance instead."
msgstr ""
"プレイヤーãŒç¯„囲制é™ãªã—ã§ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«è¡¨ç¤ºã•れるã‹ã©ã†ã‹ã§ã™ã€‚\n"
-"éžæŽ¨å¥¨ã§ã™ã€‚代ã‚りã«è¨­å®š player_transfer_distance を使用ã—ã¦ãã ã•ã„。"
+"廃止予定ã€ä»£ã‚りã«è¨­å®š player_transfer_distance を使用ã—ã¦ãã ã•ã„。"
#: src/settings_translation_file.cpp
msgid "Whether to allow players to damage and kill each other."
@@ -6386,8 +6526,10 @@ 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 ""
-"(LuaãŒ)クラッシュã—ãŸéš›ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å†æŽ¥ç¶šã‚’è¦æ±‚ã™ã‚‹ã‹ã©ã†ã‹ã®è¨­å®šã§ã™ã€‚\n"
-"サーãƒãŒè‡ªå‹•ã§å†èµ·å‹•ã•れるよã†ã«è¨­å®šã•れã¦ã„ã‚‹ãªã‚‰ã°trueã«è¨­å®šã—ã¦ãã ã•ã„。"
+"(LuaãŒ)クラッシュã—ãŸéš›ã«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«å†æŽ¥ç¶šã‚’è¦æ±‚ã™ã‚‹ã‹ã©ã†ã‹ã®\n"
+"設定ã§ã™ã€‚\n"
+"サーãƒãŒè‡ªå‹•ã§å†èµ·å‹•ã•れるよã†ã«è¨­å®šã•れã¦ã„ã‚‹ãªã‚‰ã° true ã«è¨­å®š\n"
+"ã—ã¦ãã ã•ã„。"
#: src/settings_translation_file.cpp
msgid "Whether to fog out the end of the visible area."
@@ -6414,8 +6556,8 @@ msgid ""
"background.\n"
"Contains the same information as the file debug.txt (default name)."
msgstr ""
-"Windowsã®ã¿: Minetestã¨ä¸€ç·’ã«ãƒãƒƒã‚¯ã‚°ãƒ©ãƒ³ãƒ‰ã§ã‚³ãƒžãƒ³ãƒ‰ãƒ—ロンプトを起動ã—ã¾"
-"ã™ã€‚\n"
+"Windowsã®ã¿: Minetestã¨ä¸€ç·’ã«ãƒãƒƒã‚¯ã‚°ãƒ©ãƒ³ãƒ‰ã§ã‚³ãƒžãƒ³ãƒ‰ãƒ—ロンプトを\n"
+"èµ·å‹•ã—ã¾ã™ã€‚\n"
"debug.txt (既定ã®åå‰) ã¨åŒã˜æƒ…報をå«ã‚“ã§ã„ã¾ã™ã€‚"
#: src/settings_translation_file.cpp
@@ -6423,7 +6565,8 @@ msgid ""
"World directory (everything in the world is stored here).\n"
"Not needed if starting from the main menu."
msgstr ""
-"ワールドをä¿å­˜ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™(å…¨ã¦ã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã¯ã“ã“ã«ä¿å­˜ã•れã¾ã™)。\n"
+"ワールドをä¿å­˜ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™(å…¨ã¦ã®ãƒ¯ãƒ¼ãƒ«ãƒ‰ã¯ã“ã“ã«ä¿å­˜\n"
+"ã•れã¾ã™)。\n"
"メインメニューã‹ã‚‰é–‹å§‹ã™ã‚‹å ´åˆå¿…è¦ã‚りã¾ã›ã‚“。"
#: src/settings_translation_file.cpp
@@ -6439,13 +6582,12 @@ msgid ""
"See also texture_min_size.\n"
"Warning: This option is EXPERIMENTAL!"
msgstr ""
-"整列テクスãƒãƒ£ã¯ã€ã„ãã¤ã‹ã®ãƒŽãƒ¼ãƒ‰ã«ã¾ãŸãŒã‚‹ã‚ˆã†ã«æ‹¡å¤§ç¸®å°ã™ã‚‹ã“ã¨ãŒã§ãã¾"
-"ã™ã€‚\n"
-"ãŸã ã—ã€ç‰¹åˆ¥ã«è¨­è¨ˆã•れãŸãƒ†ã‚¯ã‚¹ãƒãƒ£ãƒ‘ックを使用ã—ã¦ã„ã‚‹å ´åˆã¯ç‰¹ã«ã€\n"
-"サーãƒãƒ¼ã‹ã‚‰å¿…è¦ãªã‚¹ã‚±ãƒ¼ãƒ«ãŒé€ä¿¡ã•れãªã„ã“ã¨ãŒã‚りã¾ã™ã€‚\n"
-"ã“ã®ã‚ªãƒ—ションã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚µã‚¤ã‚ºã«åŸºã¥ã„ã¦è‡ªå‹•çš„ã«ã‚¹ã‚±ãƒ¼ãƒ«"
-"ã‚’\n"
-"決定ã—よã†ã¨ã—ã¾ã™ã€‚\n"
+"整列テクスãƒãƒ£ã¯ã€ã„ãã¤ã‹ã®ãƒŽãƒ¼ãƒ‰ã«ã¾ãŸãŒã‚‹ã‚ˆã†ã«æ‹¡å¤§ç¸®å°ã™ã‚‹\n"
+"ã“ã¨ãŒã§ãã¾ã™ã€‚ãŸã ã—ã€ç‰¹åˆ¥ã«è¨­è¨ˆã•れãŸãƒ†ã‚¯ã‚¹ãƒãƒ£ãƒ‘ックを使用\n"
+"ã—ã¦ã„ã‚‹å ´åˆã¯ç‰¹ã«ã€ã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰å¿…è¦ãªã‚¹ã‚±ãƒ¼ãƒ«ãŒé€ä¿¡ã•れãªã„\n"
+"ã“ã¨ãŒã‚りã¾ã™ã€‚\n"
+"ã“ã®ã‚ªãƒ—ションã§ã¯ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ãƒ†ã‚¯ã‚¹ãƒãƒ£ã‚µã‚¤ã‚ºã«åŸºã¥ã„ã¦\n"
+"自動的ã«ã‚¹ã‚±ãƒ¼ãƒ«ã‚’決定ã—よã†ã¨ã—ã¾ã™ã€‚\n"
"texture_min_size ã‚‚å‚ç…§ã—ã¦ãã ã•ã„。\n"
"警告: ã“ã®ã‚ªãƒ—ションã¯å®Ÿé¨“çš„ãªã‚‚ã®ã§ã™ï¼"
@@ -6468,12 +6610,8 @@ msgid "Y of upper limit of large caves."
msgstr "大ããªæ´žçªŸã®Y高ã•上é™ã€‚"
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr "大ããªæ´žçªŸå†…ã®æº¶å²©ã®Y高ã•上é™ã€‚"
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
-msgstr "大ããªæ´žçªŸãŒãƒ•ãƒ«ã‚µã‚¤ã‚ºã«æ‹¡å¤§ã™ã‚‹Yã®è·é›¢ã€‚"
+msgstr "大ããªæ´žçªŸãŒæœ€å¤§ã‚µã‚¤ã‚ºã«æ‹¡å¤§ã™ã‚‹Yã®è·é›¢ã€‚"
#: src/settings_translation_file.cpp
msgid "Y-level of average terrain surface."
@@ -6515,400 +6653,20 @@ msgstr "cURL並行処ç†åˆ¶é™"
msgid "cURL timeout"
msgstr "cURLタイムアウト"
-#~ msgid "Content Store"
-#~ msgstr "コンテンツストア"
-
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "使用ã™ã‚‹å‡ºç¾ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã®æ•°ã€‚\n"
-#~ "ã“ã®ãƒ•ィールドを空白ã¾ãŸã¯0ã«ã™ã‚‹ã‹ã€ã“ã®æ•°ã‚’増やã—ã¦ãƒžãƒ«ãƒã‚¹ãƒ¬ãƒƒãƒ‰ã‚’使用"
-#~ "ã—ã¾ã™ã€‚\n"
-#~ "マルãƒãƒ—ロセッサシステムã§ã¯ã€å°‘ã—ãƒã‚°ã®å¤šã„洞窟を犠牲ã«ã—ã¦ãƒžãƒƒãƒ—ジェãƒ"
-#~ "レータã®\n"
-#~ "é€Ÿåº¦ã‚’å¤§å¹…ã«æ”¹å–„ã—ã¾ã™ã€‚"
-
-#~ msgid "Pitch fly mode"
-#~ msgstr "ピッãƒé£›è¡Œãƒ¢ãƒ¼ãƒ‰"
-
-#~ msgid "Show non-free packages"
-#~ msgstr "éžãƒ•リーパッケージを表示"
-
-#~ msgid ""
-#~ "Show packages in the content store that do not qualify as 'free "
-#~ "software'\n"
-#~ "as defined by the Free Software Foundation."
-#~ msgstr ""
-#~ "フリーソフトウェア財団ã«ã‚ˆã£ã¦å®šç¾©ã•れã¦ã„ã‚‹ ’フリーソフトウェア' ã¨ã—ã¦\n"
-#~ "èªå®šã•れã¦ã„ãªã„コンテンツストア内ã®ãƒ‘ッケージを表示ã—ã¾ã™ã€‚"
-
-#~ msgid "Disable MP"
-#~ msgstr "Modパック無効化"
-
-#~ msgid "Enable MP"
-#~ msgstr "Modパックを有効化"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "ワールドåãŒå…¥åŠ›ã•れã¦ã„ãªã„ã‹ã€ã‚²ãƒ¼ãƒ ãŒé¸æŠžã•れã¦ã„ã¾ã›ã‚“"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "「$1ã€ã¯æœ‰åйãªãƒ•ラグã§ã¯ã‚りã¾ã›ã‚“。"
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "括弧内ã«3ã¤ã®æ•°å­—をカンマã§åŒºåˆ‡ã£ã¦å…¥åŠ›ã—ã¦ãã ã•ã„。"
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "書å¼: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-
-#, fuzzy
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "空隙性ã®å€¤ã¯ã€å¿…è¦ã«å¿œã˜èª­ã¿ã‚„ã™ãカンマを付ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "フラグã¯ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šã®ãƒªã‚¹ãƒˆå½¢å¼ã§å…¥åŠ›ã—ã¦ãã ã•ã„。"
-
-#~ msgid "Possible values are: "
-#~ msgstr "å¯èƒ½ãªå€¤: "
-
-#~ msgid "Select path"
-#~ msgstr "å ´æ‰€ã‚’é¸æŠž"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "サブゲームã®Mod"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "ページ $1 / $2"
-
-#~ msgid "Rating"
-#~ msgstr "評価"
+#~ msgid "Projecting dungeons"
+#~ msgstr "çªå‡ºã™ã‚‹ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³"
-#~ msgid "Shortname:"
-#~ msgstr "çœç•¥å:"
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "ãƒ€ãƒ³ã‚¸ãƒ§ãƒ³ãŒæ™‚折地形ã‹ã‚‰çªå‡ºã™ã‚‹ã‹ã©ã†ã‹ã€‚"
-#~ msgid "Successfully installed:"
-#~ msgstr "インストールãŒå®Œäº†ã—ã¾ã—ãŸ:"
+#~ msgid "Waving Water"
+#~ msgstr "æºã‚Œã‚‹æ°´"
-#~ msgid "Unsorted"
-#~ msgstr "未分類"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "大ããªæ´žçªŸå†…ã®æº¶å²©ã®Y高ã•上é™ã€‚"
-#~ msgid "re-Install"
-#~ msgstr "å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«"
+#~ msgid "Select Package File:"
+#~ msgstr "ãƒ‘ãƒƒã‚±ãƒ¼ã‚¸ãƒ•ã‚¡ã‚¤ãƒ«ã‚’é¸æŠž:"
-#~ msgid "Local Game"
-#~ msgstr "ローカルゲーム"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "é¸æŠžã—ãŸModパックを削除"
-
-#~ msgid "Play Online"
-#~ msgstr "オンラインプレイ"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "法線マッピング"
-
-#~ msgid "No information available"
-#~ msgstr "情報ãŒã‚りã¾ã›ã‚“"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "音é‡ã‚’ 0% ã«å¤‰æ›´"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "音é‡ã‚’ 100% ã«å¤‰æ›´"
-
-#~ msgid "Print stacks"
-#~ msgstr "スタックã®å‡ºåŠ›"
-
-#~ msgid "Use"
-#~ msgstr "使用"
-
-#~ msgid "Next"
-#~ msgstr "PageDown"
-
-#~ msgid "Prior"
-#~ msgstr "Page Up"
-
-#, fuzzy
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "公開サーãƒã®é€šçŸ¥å…ˆã®ã‚µãƒ¼ãƒä¸€è¦§ã§ã™ã€‚\n"
-#~ "IPv6アドレスを通知ã—ãŸã„å ´åˆã¯ã€serverlist_url = v6.servers.minetest.netã‚’"
-#~ "使用ã—ã¦ãã ã•ã„。"
-
-#, fuzzy
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "ノードã«ãŠã‘るフラクタルã®ãŠãŠã‚ˆãã®(X,Y,Z)ã®å¤§ãã•。"
-
-#~ msgid "Autorun key"
-#~ msgstr "オートランキー"
-
-#, fuzzy
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "洞窟やトンãƒãƒ«ã¯2ã¤ã®ãƒŽã‚¤ã‚ºã®äº¤å·®éƒ¨åˆ†ã«å½¢æˆã•れã¾ã™"
-
-#~ msgid "Cloud height"
-#~ msgstr "雲ã®é«˜ã•"
-
-#~ msgid "Console key"
-#~ msgstr "コンソールキー"
-
-#, fuzzy
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "オートラン (テスト用)。"
-
-#, fuzzy
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "洞窟ã«äºˆæ¸¬ä¸å¯èƒ½ãªæº¶å²©ã‚’生æˆã—ã¾ã™ã€‚\n"
-#~ "ã“れã«ã‚ˆã£ã¦æŽ¡æŽ˜ã‚’難ã—ãã§ãã¾ã™ã€‚ゼロを指定ã™ã‚‹ã¨ç„¡åйã«ãªã‚Šã¾ã™ã€‚(0-10)"
-
-#, fuzzy
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "洞窟ã«äºˆæ¸¬ä¸å¯èƒ½ãªæ°´ã‚’生æˆã—ã¾ã™ã€‚\n"
-#~ "ã“れã«ã‚ˆã£ã¦æŽ¡æŽ˜ã‚’難ã—ãã§ãã¾ã™ã€‚ゼロを指定ã™ã‚‹ã¨ç„¡åйã«ãªã‚Šã¾ã™ã€‚(0-10)"
-
-#, fuzzy
-#~ msgid "Crouch speed"
-#~ msgstr "ã—ゃãŒã¿çŠ¶æ…‹ã®é€Ÿåº¦"
-
-#, fuzzy
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "ã‚ãªãŸãŒå¤§ãã„æ´žç©´ã‚’見ã¤ã‘ã‚‹æ·±ã•。"
-
-#, fuzzy
-#~ msgid "Enable view bobbing"
-#~ msgstr "è½ä¸‹ã«ã‚ˆã‚‹ä¸Šä¸‹ã®æºã‚Œ"
-
-#, fuzzy
-#~ msgid "Field of view for zoom"
-#~ msgstr "視野"
-
-#, fuzzy
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "高速移動 (使用キー)。\n"
-#~ "サーãƒã«ã‚ˆã‚‹ã€Œfastã€æ¨©é™ãŒå¿…è¦ã§ã™ã€‚"
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Mapblock (16ノード) æ•°ã§ã‚ªãƒ–ジェクトã®ãƒ­ãƒ¼ãƒ‰ã‚„ABMã®å®ŸåŠ¹ç­‰ã®æœ‰åŠ¹ã‚¨ãƒªã‚¢ã‚’æŒ‡"
-#~ "定。"
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "インベントリキー"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "メインメニューMod管ç†"
-
-#~ msgid "Use key"
-#~ msgstr "使用キー"
-
-#~ msgid "Water Features"
-#~ msgstr "テクスãƒãƒ£ã‚’設定中"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Modパックã®å†…容をéžè¡¨ç¤º"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Capital"
-
-#~ msgid "Comma"
-#~ msgstr "カンマ"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Final"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "ã‹ãª"
-
-#~ msgid "Kanji"
-#~ msgstr "漢字"
-
-#~ msgid "Minus"
-#~ msgstr "マイナス"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "ピリオド"
-
-#~ msgid "Plus"
-#~ msgstr "プラス"
-
-#, fuzzy
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "ç ‚æ¼ ã®è¦åˆ¶ã‚µã‚¤ã‚ºã¨Mapgen v6ã®ãƒ“ーãƒã€‚\n"
-#~ "snowbiomesãŒè¨±å¯ã•れるã¨ãã€ã€Žmgv6_freq_desertã€ã¯ç„¡è¦–ã•れã¾ã™ã€‚"
-
-#, fuzzy
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "地形形を決定ã—ã¾ã™ã€‚\n"
-#~ "ブラケットã®3番å·ã¯åœ°å½¢ã®ç›®ç››ã‚Šã‚’制御ã—ã¾ã™ã€\n"
-#~ "3番å·ã¯åŒä¸€ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“。"
-
-#, fuzzy
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "マップ生æˆãƒ•ラグ"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "マップ生æˆãƒ•ラグ"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "マップ生æˆãƒ•ラグ"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "視差é®è”½ãƒžãƒƒãƒ”ング"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "マップ生æˆãƒ•ラグ"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "マップ生æˆãƒ•ラグ"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "マップ生æˆãƒ•ラグ"
-
-#, fuzzy
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "ワールドタイプ"
-
-#, fuzzy
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "ワールドタイプ"
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "ã©ã“ã§ãƒžãƒƒãƒ—生æˆã‚’åœæ­¢ã™ã‚‹ã‹ã®è¨­å®šã§ã™ã€‚\n"
-#~ "注æ„:\n"
-#~ "- 最大ã§31000ã§ã™(ã“れ以上ã«è¨­å®šã—ã¦ã‚‚効果ã¯ã‚りã¾ã›ã‚“)。\n"
-#~ "- マップ生æˆã¯80x80x80ノードã®ã‚°ãƒ«ãƒ¼ãƒ—ã§å‹•作ã—ã¾ã™ (5x5x5マップブロッ"
-#~ "ク)。\n"
-#~ "- ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¯åŽŸç‚¹ã‹ã‚‰-32ã€-32ノードã®ã‚ªãƒ•セットãŒã‚りã¾ã™ã€‚\n"
-#~ "- グループã¯map_generation_limit内ã§ç”Ÿæˆã•れãŸã‚‚ã®ã«é™ã‚Šã¾ã™ã€‚"
-
-#, fuzzy
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr "詳細ãªModã®ãƒ—ロファイルデータã§ã™ã€‚Mod開発者ã«ä¾¿åˆ©ã§ã™ã€‚"
-
-#, fuzzy
-#~ msgid "Detailed mod profiling"
-#~ msgstr "詳細ãªModã®ãƒ—ロファイル化"
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Mod開発ã«ä¾¿åˆ©ã€‚"
-
-#~ msgid "No of course not!"
-#~ msgstr "ã„ã„ãˆï¼"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "公開サーãƒä¸€è¦§"
-
-#~ msgid "No!!!"
-#~ msgstr "ã„ã„ãˆï¼ï¼ï¼"
-
-#~ msgid "If enabled, "
-#~ msgstr "有効化ã®å ´åˆ "
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "ドライãƒãƒ¼ã‚’変更ã™ã‚‹ãŸã‚Minetestã‚’å†èµ·å‹•ã—ã¾ã™"
-
-#~ msgid " MB/s"
-#~ msgstr " MB/ç§’"
-
-#~ msgid " KB/s"
-#~ msgstr " KB/ç§’"
-
-#~ msgid "Touch free target"
-#~ msgstr "タッãƒä½ç½®ã‚’自由ã«ã™ã‚‹"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "メニューã®å¤§ãã•ã¨ã—ã¦è¨­å®šã•れã¦ã„る数値: "
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "テクスãƒãƒ£èª­ã¿è¾¼ã¿ä¸­..."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "詳細設定"
-
-#~ msgid "View"
-#~ msgstr "見る"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "マップジェãƒãƒ¬ãƒ¼ã‚¿ v7 ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
-#~ "'ridges' ã¯å·ãŒã§ãるよã†ã«ã—ã¾ã™ã€‚\n"
-#~ "有効ã«ã•れã¦ã„ãªã„フラグã¯ãƒ‡ãƒ•ォルトã‹ã‚‰å¤‰æ›´ã•れã¾ã›ã‚“。\n"
-#~ "'no'ã§å§‹ã¾ã‚‹ãƒ•ãƒ©ã‚°ã¯æ˜Žç¤ºçš„ã«ç„¡åйã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "マップジェãƒãƒ¬ãƒ¼ã‚¿ v5 ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
-#~ "有効ã«ã•れã¦ã„ãªã„フラグã¯ãƒ‡ãƒ•ォルトã‹ã‚‰å¤‰æ›´ã•れã¾ã›ã‚“。\n"
-#~ "'no'ã§å§‹ã¾ã‚‹ãƒ•ãƒ©ã‚°ã¯æ˜Žç¤ºçš„ã«ç„¡åйã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "マップジェãƒãƒ¬ãƒ¼ã‚¿ Carpathian ã«å›ºæœ‰ã®ãƒžãƒƒãƒ—生æˆå±žæ€§ã€‚\n"
-#~ "有効ã«ã•れã¦ã„ãªã„フラグã¯ãƒ‡ãƒ•ォルトã‹ã‚‰å¤‰æ›´ã•れã¾ã›ã‚“。\n"
-#~ "'no'ã§å§‹ã¾ã‚‹ãƒ•ãƒ©ã‚°ã¯æ˜Žç¤ºçš„ã«ç„¡åйã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "映画風モード切替"
diff --git a/po/ja_KS/minetest.po b/po/ja_KS/minetest.po
new file mode 100644
index 000000000..ca5d315ee
--- /dev/null
+++ b/po/ja_KS/minetest.po
@@ -0,0 +1,5890 @@
+msgid ""
+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 <EMAIL@ADDRESS>\n"
+"Language-Team: Japanese (Kansai) <https://hosted.weblate.org/projects/"
+"minetest/minetest/ja_KS/>\n"
+"Language: ja_KS\n"
+"MIME-Version: 1.0\n"
+"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"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "Respawn"
+msgstr ""
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "You died"
+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 "Main menu"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "Ok"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "Reconnect"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "The server has requested a reconnect:"
+msgstr ""
+
+#: builtin/mainmenu/common.lua src/client/game.cpp
+msgid "Loading..."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Protocol version mismatch. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Server enforces protocol version $1. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Server supports protocol versions between $1 and $2. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Try reenabling public serverlist and check your internet connection."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "We only support protocol version $1."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "We support protocol versions between version $1 and $2."
+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 builtin/mainmenu/tab_content.lua
+msgid "Dependencies:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable modpack"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable modpack"
+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_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 game description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No hard dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No modpack description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional 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/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
+msgid "Save"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "World:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "All packages"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back to Main Menu"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Downloading and installing $1, please wait..."
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Failed to download $1"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Install"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No packages could be retrieved"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No results"
+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 "Texture packs"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Uninstall"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Update"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "A world named \"$1\" already exists"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Create"
+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 "Download one from minetest.net"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Game"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Mapgen"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "No game selected"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Seed"
+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 "World name"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "You have no games installed."
+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 "Rename Modpack:"
+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_settings_advanced.lua
+msgid "(No description of setting given)"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "2D Noise"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "< Back to Settings page"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Browse"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Disabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Edit"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Lacunarity"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Octaves"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Persistance"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid integer."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid number."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Restore Default"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
+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 "Show technical names"
+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 "X"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "absvalue"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 (Enabled)"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 mods"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Failed to install $1 to $2"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find real mod name for: $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: file: \"$1\""
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to find a valid mod or modpack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a $1 as a texture pack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a game as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a mod as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a modpack as a $1"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Browse online content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Disable Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Information:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Installed Packages:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "No dependencies."
+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 "Uninstall Package"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Use Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Active Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Credits"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Announce Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Bind Address"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Configure"
+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 Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Host Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Name/Password"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "New"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "No world created or selected!"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Play Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Port"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Select World:"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Server Port"
+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 "Connect"
+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 "Del. Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
+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 "Ping"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "PvP enabled"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "3D Clouds"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "4x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "8x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "All Settings"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Antialiasing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Are you sure to reset your singleplayer world?"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Autosave Screen Size"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bump Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Connected Glass"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Fancy Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Generate Normal Maps"
+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 "No"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Mipmap"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Highlighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Outlining"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "None"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Water"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Parallax Occlusion"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Particles"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Reset singleplayer world"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Screen:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Settings"
+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 "Simple Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Smooth Lighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Texturing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "To enable shaders the OpenGL driver needs to be used."
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Tone Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Touchthreshold: (px)"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Trilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Liquids"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Plants"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Yes"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Config mods"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Main"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Start Singleplayer"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Connection timed out."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Done!"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Loading textures..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Rebuilding shaders..."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Connection error (timed out?)"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Could not find or load game \""
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Invalid gamespec."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Main Menu"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "No world selected and no address provided. Nothing to do."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Player name too long."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Please choose a name!"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided password file failed to open: "
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided world path doesn't exist: "
+msgstr ""
+
+#: src/client/fontengine.cpp
+msgid "needs_fallback_font"
+msgstr ""
+
+#: src/client/game.cpp
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Address: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Creative Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Damage: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Port: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Public: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- PvP: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Server Name: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Change Password"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Client side scripting is disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Connecting to server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Continue"
+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 "Creating client..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Creating server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info and profiler graph hidden"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info, profiler graph, and wireframe hidden"
+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
+msgid "Disabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Enabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to Menu"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to OS"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fast 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 "Fly mode disabled"
+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 "Fog disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fog enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game info:"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game paused"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Hosting server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Item definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "KiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Media..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "MiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap hidden"
+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 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 "Noclip 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 "Node definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Off"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "On"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Profiler graph shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Remote server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Resolving address..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Shutting down..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Singleplayer"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound Volume"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound muted"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound unmuted"
+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 maximum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at minimum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Volume changed to %d%%"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Wireframe shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Zoom currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Profiler hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Apps"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Backspace"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Caps Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "End"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Erase EOF"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Execute"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Help"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Home"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Accept"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Convert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Escape"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Mode Change"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Nonconvert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Insert"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Left"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Num Lock"
+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 "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 "OEM Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Pause"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Play"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Print"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Return"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Scroll Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Select"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Sleep"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Snapshot"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Space"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Tab"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 1"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 2"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Zoom"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
+msgid "Passwords do not match!"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp
+msgid "Register and Join"
+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/guiFormSpecMenu.cpp
+msgid "Proceed"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "\"Special\" = climb down"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Autoforward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Automatic jumping"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Backward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Change camera"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Chat"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Console"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Double tap \"jump\" to toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Drop"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Forward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Jump"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Key already in use"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Local command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Mute"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Next item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Prev. item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Range select"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Screenshot"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Sneak"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Special"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle HUD"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle chat log"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fast"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fog"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle minimap"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Change"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Confirm Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "New Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Exit"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Muted"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr ""
+
+#: src/gui/modalMenu.cpp
+msgid "Enter "
+msgstr ""
+
+#: src/network/clientpackethandler.cpp
+msgid "LANG_CODE"
+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 ""
+"(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 ""
+"(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 ""
+"(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 ""
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of ridged mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of rolling hills."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of step mountains."
+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 "2D noise that controls the size/occurrence of rolling hills."
+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 "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D clouds"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining giant caverns."
+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 "3D noise defining structure of river canyon walls."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+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 ""
+"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 "A message to be displayed to all clients when the server crashes."
+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 "ABM interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Absolute limit of emerge queues"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration in air"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block management interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
+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 "Adds particles when digging a node."
+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 ""
+"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 "Advanced"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Altitude chill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Always fly and fast"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ambient occlusion gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amount of messages a player may send per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amplifies the valleys."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Anisotropic filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce to this serverlist."
+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 "Apple trees noise"
+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 "Ask to reconnect after crash"
+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 "Automatic forward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically jump up single-node obstacles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically report to the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autosave screen size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autoscaling mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Backward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base terrain height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bilinear filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bind address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome API temperature and humidity noise parameters"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Block send optimize distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Build inside player"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Builtin"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bumpmapping"
+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 "Camera smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera smoothing in cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera update toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave noise"
+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 "Cave width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern taper"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern upper limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Center of light curve mid-boost."
+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 "Chat key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message count limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message kick threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message max length"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chatcommands"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chunk size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Clean transparent textures"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client and Server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client modding"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side modding restrictions"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side node lookup range restriction"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Climbing speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cloud radius"
+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 "Clouds in menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Colored fog"
+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 ""
+
+#: 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 ""
+"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 "Command key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect glass"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect to external media server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connects glass if supported by node."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console alpha"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB URL"
+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 "Controls"
+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 "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/depth of lake depressions."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/height of hills."
+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 "Controls width of tunnels, a smaller value creates wider tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crash message"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Creative"
+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 "Crosshair color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "DPI"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Damage"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Darkness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug info toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dec. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dedicated server step"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default acceleration"
+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 "Default password"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default report format"
+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 ""
+"Defines areas of floatland smooth terrain.\n"
+"Smooth floatlands occur when noise > 0."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas where trees have apples."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas with sandy beaches."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain and steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines full size of caverns, smaller values create larger caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines large-scale river channel structure."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines location and terrain of optional hills and lakes."
+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 "Defines the base ground level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines tree areas and tree density."
+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 "Delay in sending blocks after building"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Delay showing tooltips, stated in milliseconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Deprecated Lua API handling"
+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 "Depth below which you'll find giant caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Depth below which you'll find large caves."
+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 "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 "Desynchronize block animation"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Digging particles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disable anticheat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disallow empty passwords"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Domain name of server, to be displayed in the serverlist."
+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 "Drop item key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dump the mapgen debug information."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon maximum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon minimum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+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 "Enable VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable console window"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable creative mode for new created maps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable joysticks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod channels support."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable players getting damage and dying."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable random user input (only used for testing)."
+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 ""
+"Enable smooth lighting with simple ambient occlusion.\n"
+"Disable for speed or for different looks."
+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 ""
+"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 ""
+"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 ""
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables animation of inventory items."
+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 "Enables caching of facedir rotated meshes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables filmic tone mapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables minimap."
+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 ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Engine profiling data print interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Entity methods"
+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 "FPS in pause menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "FSAA"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Factor noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fall bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fallback font"
+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 "Fallback font size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode acceleration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode speed"
+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 "Field of view"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Field of view in degrees."
+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 "Filler depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filler depth noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filmic tone mapping"
+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 "Filtering"
+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 "First of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed map seed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed virtual joystick"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain density"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain exponent"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fly key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Flying"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog start"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow"
+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 "Font shadow offset, if 0 then shadow will not be drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size"
+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 "Format of screenshots."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Forward key"
+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 "Fractal type"
+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 "FreeType fonts"
+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 ""
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+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 "Full screen"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Full screen BPP"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter txr2img"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Generate normalmaps"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Global callbacks"
+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 "Gradient of light curve at maximum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gradient of light curve at minimum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Graphics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gravity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HTTP mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD scale factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD toggle key"
+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 ""
+"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 "Heat blend noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Heat noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height select noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "High-precision FPU"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness3 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness4 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Homepage of server, to be displayed in the serverlist."
+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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 10 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 11 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 12 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 13 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 14 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 15 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 16 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 17 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 18 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 19 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 2 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 20 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 21 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 22 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 23 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 24 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 25 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 26 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 27 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 28 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 29 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 3 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 30 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 31 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 32 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 4 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 5 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 6 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 7 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 8 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 9 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "How deep to make rivers."
+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 "How wide to make rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Humidity blend noise"
+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 "IPv6"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 support."
+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 ""
+"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 ""
+"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 ""
+"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 ""
+"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
+"down and\n"
+"descending."
+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 "If enabled, disable cheat prevention in multiplayer."
+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 ""
+"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."
+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 ""
+"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 ""
+"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 "If this is set, players will always (re)spawn at the given position."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ignore world errors"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "In-Game"
+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 "In-game chat console background color (R,G,B)."
+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 "Inc. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+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 "Instrument chatcommands on registration."
+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 ""
+"Instrument the action function of Active Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Instrument the action function of Loading Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrument the methods of entities on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrumentation"
+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 "Interval of sending time of day to clients."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory items animations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory key"
+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 "Item entity TTL"
+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 "Joystick ID"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick button repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick frustum sensitivity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick type"
+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 ""
+"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 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 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 x"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia z"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jump key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jumping speed"
+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 ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 11th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 13th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 15th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 17th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 19th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 21st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 23rd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 25th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 27th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 29th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 31st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the eighth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the first hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for selecting the ninth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the second hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the sixth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the third hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for toggling the display of chat.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling the display of fog.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"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 ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 "Kick players who sent more than X messages per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Language"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lava depth"
+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 "Left key"
+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 "Length of time between Active Block Modifier (ABM) execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between NodeTimer execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between active block management cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Level of logging to be written to debug.txt:\n"
+"- <nothing> (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 "Light curve mid boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost spread"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lightness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues on disk"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues to generate"
+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 ""
+"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 "Liquid fluidity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid fluidity smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid loop max"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid queue purge time"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid sinking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update interval in seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update tick"
+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 "Loading Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lower Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu script"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu style"
+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 "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Makes all liquids opaque"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map directory"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation attributes specific to Mapgen Carpathian."
+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 ""
+"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 ""
+"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 "Map generation attributes specific to Mapgen v5."
+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 ""
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map save interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generation delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock unload timeout"
+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 "Mapgen Flat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen Flat specific flags"
+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 "Mapgen V5"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V5 specific flags"
+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 "Mapgen V7"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V7 specific flags"
+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 "Mapgen debug"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block generate distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block send distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max liquids processed per step."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. clearobjects extra blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. packets per iteration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS when game is paused."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum forceloaded blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum hotbar width"
+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 ""
+"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 "Maximum number of blocks that can be queued for loading."
+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 ""
+"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 "Maximum number of forceloaded mapblocks."
+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 ""
+"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 "Maximum number of players that can be connected simultaneously."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of recent chat messages to show"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of statically stored objects in a block."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum objects per block"
+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 "Maximum simultaneous block sends per client"
+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 "Maximum time in ms a file download (e.g. a mod download) may take."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum users"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Menus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mesh cache"
+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 "Method used to highlight selected object."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap scan height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum texture size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mipmapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mod channels"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Modifies the size of the hudbar elements."
+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 "Mountain height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain variation noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain zero level"
+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 "Mud noise"
+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 "Mute key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mute sound"
+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 ""
+"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 ""
+"Name of the server, to be displayed when players join and in the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Near clipping plane"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Network"
+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 "New users need to input this password."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Node highlighting"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "NodeTimer interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noises"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps sampling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps strength"
+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 ""
+"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 "Number of parallax occlusion iterations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Online Content Repository"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Opaque liquids"
+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 "Overall bias of parallax occlusion effect, usually scale/2."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Overall scale of parallax occlusion effect."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion bias"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion iterations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion scale"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion strength"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to TrueTypeFont or bitmap."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to save screenshots at."
+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 "Path to texture directory. All textures are first searched from here."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pause on lost window focus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Physics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move mode"
+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 "Player name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player versus player"
+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 ""
+"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 "Prevent mods from doing insecure things like running shell commands."
+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 "Privileges that players with basic_privs can grant"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiling"
+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 "Raises terrain to make valleys around the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Random input"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Range select key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Recent Chat Messages"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote media"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote port"
+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 "Replaces the default main menu with a custom one."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Report path"
+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 "Ridge mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge underwater noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridged mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Right key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rightclick repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rollback recording"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hill size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hills spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Round minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Safe digging and placing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sandy beaches occur when np_beach exceeds this value."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save the map received by the client on disk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save window size automatically when modified."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Saving map received from server"
+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 "Screen height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screen width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot folder"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot format"
+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 "Seabed 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 "Second of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box border color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box width"
+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 "Server / Singleplayer"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server description"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server port"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server side occlusion culling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist file"
+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 "Set the maximum character length of a chat message sent by clients."
+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 ""
+"Set to true enables waving plants.\n"
+"Requires shaders to be enabled."
+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 "Shader path"
+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 "Shadow limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shape of the minimap. Enabled = round, disabled = square."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show debug info"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show entity selection boxes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shutdown message"
+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 ""
+"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 "Slice w"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Slope and fill work together to modify the heights."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale humidity variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale temperature variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooth lighting"
+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 "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooths rotation of camera. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sneak key"
+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 "Sound"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key for climbing/descending"
+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 ""
+"Spread of light curve mid-boost.\n"
+"Standard deviation of the mid-boost gaussian."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Static spawnpoint"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Steepness noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of generated normalmaps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of light curve mid-boost."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of parallax."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strict protocol checking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strip color codes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Synchronous SQLite"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Temperature variation for biomes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain alternative noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain higher noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain noise"
+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 ""
+"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 "Terrain persistence noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Texture path"
+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 "The URL for the content repository"
+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 "The depth of dirt or other biome filler node."
+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 "The identifier of the joystick to use"
+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 "The network interface that the server listens on."
+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 ""
+"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 ""
+"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 ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
+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 ""
+"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 ""
+"The time in seconds it takes between repeated events\n"
+"when holding down a joystick button combination."
+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 "The type of joystick"
+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 "Third of 4 2D noises that together define hill/mountain range height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "This font will be used for certain languages."
+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 "Time of day when a new world is started, in millihours (0-23999)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time send interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Timeout for client to remove unused map data from memory."
+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 "Toggle camera mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Tooltip delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Touch screen threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trees noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trilinear filtering"
+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 "Trusted mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Typical maximum height, above and below midpoint, of floatland mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "URL to the server list displayed in the Multiplayer Tab."
+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 "Unlimited player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Unload unused server data"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Upper Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use 3D cloud look instead of flat."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use a cloud animation for the main menu background."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use bilinear filtering when scaling textures."
+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 "Use trilinear filtering when scaling textures."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VSync"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley fill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley profile"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley slope"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of biome filler depth."
+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 "Variation of maximum mountain height (in nodes)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of number of caves."
+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 "Varies depth of biome surface nodes."
+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 "Varies steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical screen synchronization."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Video driver"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View distance in nodes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range decrease key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range increase key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View zoom key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Viewing range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Virtual joystick triggers aux button"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Volume"
+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 "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Walking 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 "Water level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Water surface level of the world."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving Nodes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving leaves"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wavelength"
+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 ""
+"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 ""
+"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 ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Whether node texture animations should be desynchronized per mapblock."
+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 "Whether to allow players to damage and kill each other."
+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 "Whether to fog out the end of the visible area."
+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 "Width component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Width of the selection box lines around nodes."
+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 ""
+"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 "World start time"
+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 "World-aligned textures mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y of flat ground."
+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 "Y of upper limit of large caves."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-distance over which caverns expand to full size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of average terrain surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of cavern upper limit."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of floatland midpoint and lake surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of higher terrain that creates cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of lower terrain and seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level to which floatland shadows extend."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL file download timeout"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL parallel limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL timeout"
+msgstr ""
diff --git a/po/jbo/minetest.po b/po/jbo/minetest.po
index d60520e08..496bb28b1 100644
--- a/po/jbo/minetest.po
+++ b/po/jbo/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Lojban (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Lojban <https://hosted.weblate.org/projects/minetest/minetest/"
"jbo/>\n"
"Language: jbo\n"
@@ -12,55 +12,56 @@ 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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
-msgstr "gasnu lo nu mi tolcanci"
+msgstr "nu tolcanci"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr ".i do pu morsi"
+msgstr ".i do morsi"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr ""
+".i da poi me la .luuas. ku samtci zo'u la'e di'e nabmi fi tu'a da noi la'a "
+"cu'i se samtcise'a"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
-msgstr "lo selsrera cu pu fasnu:"
+msgstr ".i la'e di'e nabmi"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "Main menu"
-msgstr "lo ralju"
+msgstr "ralju liste"
#: builtin/fstk/ui.lua
msgid "Ok"
msgstr "je'e"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "Reconnect"
-msgstr "samjongau"
+msgstr "nu samjo'e"
#: builtin/fstk/ui.lua
msgid "The server has requested a reconnect:"
-msgstr "le samse'u cu pu cpedu lo nu samjongau"
+msgstr ".i lo samse'u cu cpedu lo nu za'u re'u co'a samjo'e"
#: builtin/mainmenu/common.lua src/client/game.cpp
msgid "Loading..."
msgstr ".i ca'o samymo'i"
#: builtin/mainmenu/common.lua
+#, fuzzy
msgid "Protocol version mismatch. "
-msgstr "le ve judrnporte favatcini na mapti"
+msgstr "le ve judrnporte favatcini na mapti "
#: builtin/mainmenu/common.lua
+#, fuzzy
msgid "Server enforces protocol version $1. "
-msgstr "le samci'ejudri cu jitro lo du'u ve judrnporte favytcini li $1"
+msgstr "le samci'ejudri cu jitro lo du'u ve judrnporte favytcini li $1 "
#: builtin/mainmenu/common.lua
msgid "Server supports protocol versions between $1 and $2. "
@@ -69,6 +70,8 @@ msgstr ""
#: builtin/mainmenu/common.lua
msgid "Try reenabling public serverlist and check your internet connection."
msgstr ""
+".i ko troci lo nu za'u re'u samymo'i lo liste be lo'i samse'u .i ko cipcta "
+"lo do te samjo'e"
#: builtin/mainmenu/common.lua
msgid "We only support protocol version $1."
@@ -86,31 +89,27 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp src/gui/guiKeyChangeMenu.cpp
#: src/gui/guiPasswordChange.cpp
msgid "Cancel"
-msgstr "fitytoltu'i"
+msgstr "nu sisti"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Dependencies:"
-msgstr "nitcu"
+msgstr "se nitcu"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable all"
-msgstr "selpli"
+msgstr "nu ro co'e cu ganda"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "selpli"
+msgstr "nu lo se samtcise'a bakfu cu ganda"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
-msgstr ""
+msgstr "nu ro co'e cu katci"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "selpli"
+msgstr "nu lo se samtcise'a bakfu cu katci"
#: builtin/mainmenu/dlg_config_world.lua
msgid ""
@@ -120,88 +119,102 @@ msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
-msgstr ""
+msgstr "se samtcise'a"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "na'e se nitcu"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr ""
+msgstr ".i no da skicu be lo se kelci ku vlapoi"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No hard dependencies"
+msgstr ".i nitcu no da"
#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr ""
+msgstr ".i no da skicu be lo se samtcise'a ku vlapoi"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "na'e se nitcu"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
-msgstr ""
+msgstr "na'e se nitcu"
#: builtin/mainmenu/dlg_config_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
msgid "Save"
-msgstr "rejgau"
+msgstr "nu vreji"
#: builtin/mainmenu/dlg_config_world.lua
msgid "World:"
-msgstr ""
+msgstr "munje"
#: builtin/mainmenu/dlg_config_world.lua
msgid "enabled"
-msgstr "selpli"
+msgstr "katci"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "cmima lu'i ro bakfu"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
-msgstr ""
+msgstr "nu xruti"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "lo ralju"
+msgstr "nu xruti fi tu'a lo ralju liste"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Downloading and installing $1, please wait..."
-msgstr ""
+msgstr ".i ca'o kibycpa la'o zoi. $1 .zoi je cu samtcise'a ri .i .e'o denpa"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Failed to download $1"
-msgstr ""
+msgstr ".i da nabmi fi lo nu kibycpa la'o zoi. $1 .zoi"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Games"
-msgstr ""
+msgstr "se kelci"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Install"
-msgstr ""
+msgstr "nu samtcise'a"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Mods"
-msgstr ""
+msgstr "se samtcise'a"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr ".i na kakne lo ka ce'u kibycpa su'o bakfu"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr ".i no da ckaji lo se sisku"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
msgid "Search"
-msgstr "sisku"
+msgstr "nu sisku"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Texture packs"
-msgstr ""
+msgstr "jvinu bakfu"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Uninstall"
-msgstr ""
+msgstr "nu to'e samtcise'a"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
@@ -209,59 +222,60 @@ msgstr ""
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
-msgstr ".i lo munje me'e la'o gy.$1.gy. cu zasti"
+msgstr ".i pa munje xa'o cmene zoi zoi. $1 .zoi"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Create"
-msgstr "zbasu"
+msgstr "nu cupra"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download a game, such as Minetest Game, from minetest.net"
msgstr ""
+".i ko kibycpa pa se kelci be mu'u la .maintest. se kelci la'o zoi. minetest."
+"net .zoi"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
-msgstr ""
+msgstr ".i ko kibycpa pa se kelci la'o zoi. minetest.net .zoi"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Game"
-msgstr ""
+msgstr "se kelci"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Mapgen"
-msgstr ""
+msgstr "te cupra lo munje"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "mu'e cuxna fi le'i se kuspe"
+msgstr ".i do cuxna no se kelci"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Seed"
-msgstr "le munje ke cunso namcu"
+msgstr "cunso jai krasi"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
-msgstr ".i .e'unai la'o gy.Minimal Development Test.gy. cu tutci le finti"
+msgstr ".i la'o zoi. Minimal development test .zoi na'o selpli lo favgau .o'i"
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
-msgstr "munje cmene"
+msgstr "cmene lo munje"
#: builtin/mainmenu/dlg_create_world.lua
msgid "You have no games installed."
-msgstr ""
+msgstr ".i do samtcise'a no se kelci"
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
-msgstr ".i xu do je'u djica lo nu vimcu la'o gy.$1.gy."
+msgstr ".i .au ju'o pei do vimcu la'o zoi. $1 .zoi"
#: builtin/mainmenu/dlg_delete_content.lua
#: builtin/mainmenu/dlg_delete_world.lua builtin/mainmenu/tab_local.lua
#: src/client/keycode.cpp
msgid "Delete"
-msgstr "vimcu"
+msgstr "nu vimcu"
#: builtin/mainmenu/dlg_delete_content.lua
msgid "pkgmgr: failed to delete \"$1\""
@@ -273,15 +287,16 @@ msgstr ""
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
-msgstr ".i xu do djica lo nu vimcu lo munje be me'e zoi gy.$1.gy."
+msgstr ".i .au ju'o pei do vimcu la'o zoi. $1 .zoi"
#: builtin/mainmenu/dlg_rename_modpack.lua
+#, fuzzy
msgid "Accept"
msgstr "fitytu'i"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Rename Modpack:"
-msgstr ""
+msgstr "nu basti fi lo ka ce'u cmene lo se samtcise'a bakfu"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid ""
@@ -306,18 +321,16 @@ msgid "Browse"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Disabled"
-msgstr "selpli"
+msgstr "ganda"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Edit"
-msgstr ""
+msgstr "nu bixygau"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Enabled"
-msgstr "selpli"
+msgstr "katci"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Lacunarity"
@@ -341,25 +354,23 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid number."
-msgstr ""
+msgstr ".i ko samci'a pa namcu lerpoi poi drani"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
-msgstr ""
+msgstr "nu xruti fi lo zmiselcu'a"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "cuxna lo munje"
+msgstr "nu cuxna pa datnyveimei"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "cuxna lo munje"
+msgstr "nu cuxna pa datnyvei"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
@@ -367,11 +378,11 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must be at least $1."
-msgstr ""
+msgstr ".i lo namcu cu zmadu .ei li $1"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "The value must not be larger than $1."
-msgstr ""
+msgstr ".i lo namcu cu mleca .ei li $1"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
@@ -410,17 +421,17 @@ msgid "eased"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "selpli"
+msgstr "me la'o zoi. $1 .zoi noi katci"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 mods"
-msgstr ""
+msgstr "se samtcise'a fi la'o zoi. $1 .zoi"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
msgstr ""
+".i da nabmi fi lo nu $1 co'a cmima lo se datnyveimei be la'o zoi. $2 .zoi"
#: builtin/mainmenu/pkgmgr.lua
msgid "Install Mod: Unable to find real mod name for: $1"
@@ -463,37 +474,32 @@ msgid "Browse online content"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "ranji"
+msgstr "se samtcise'a"
#: builtin/mainmenu/tab_content.lua
msgid "Disable Texture Pack"
-msgstr ""
+msgstr "nu lo jvinu bakfu cu ganda"
#: builtin/mainmenu/tab_content.lua
msgid "Information:"
-msgstr ""
+msgstr "datni"
#: builtin/mainmenu/tab_content.lua
msgid "Installed Packages:"
-msgstr ""
+msgstr "ca'o mo'u se samtcise'a"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
-msgstr ""
+msgstr ".i nitcu no da"
#: builtin/mainmenu/tab_content.lua
msgid "No package description available"
-msgstr ""
+msgstr "to'i no da skicu be lo bakfu ku vlapoi toi"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
-msgstr ""
-
-#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr ""
+msgstr "nu basti fi lo ka ce'u cmene"
#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
@@ -584,9 +590,8 @@ msgid "Server Port"
msgstr "lo samtcise'u judrnporte"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Start Game"
-msgstr "cfari fa lo nu kelci"
+msgstr "nu co'a kelci"
#: builtin/mainmenu/tab_online.lua
#, fuzzy
@@ -614,9 +619,8 @@ msgid "Favorite"
msgstr ""
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Join Game"
-msgstr "cfari fa lo nu kelci"
+msgstr "nu co'a kelci kansa"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
#, fuzzy
@@ -658,7 +662,7 @@ msgstr ""
#: builtin/mainmenu/tab_settings.lua
msgid "Are you sure to reset your singleplayer world?"
-msgstr ".i xu do je'u djica lo nu kraga'igau le do za'e pavykelci munje"
+msgstr ".i .au ju'o pei do xruti lo do nonselkansa munje"
#: builtin/mainmenu/tab_settings.lua
msgid "Autosave Screen Size"
@@ -803,12 +807,12 @@ msgstr "lo melbi pezli"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
-msgid "Waving Plants"
-msgstr "lo melbi pezli"
+msgid "Waving Liquids"
+msgstr ".i ca'o samymo'i lo me la'o gy.node.gy."
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
-msgid "Waving Water"
+msgid "Waving Plants"
msgstr "lo melbi pezli"
#: builtin/mainmenu/tab_settings.lua
@@ -1546,11 +1550,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1669,10 +1673,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "mu'e co'a jonai mo'u vofli"
@@ -1705,6 +1705,11 @@ msgid "Toggle noclip"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "mu'e co'a jonai mo'u sutra"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "ko da'ergau le batke"
@@ -1812,6 +1817,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "3D clouds"
msgstr "le bliku dilnu"
@@ -1843,6 +1852,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1883,6 +1896,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -2093,7 +2110,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2179,6 +2196,10 @@ msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2346,6 +2367,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2405,6 +2430,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2413,6 +2442,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2494,10 +2527,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2520,6 +2565,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2540,7 +2591,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2590,6 +2641,10 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2902,6 +2957,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3127,6 +3189,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3377,6 +3457,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3405,6 +3493,10 @@ msgid "Inc. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4172,7 +4264,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4246,6 +4338,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4257,7 +4356,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4312,6 +4411,10 @@ msgid "Mapgen Fractal"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Mapgen Fractal specific flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr ""
@@ -4393,6 +4496,12 @@ 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 ""
"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)"
@@ -4579,10 +4688,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4598,7 +4705,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4650,16 +4757,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4812,10 +4921,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4901,6 +5006,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -4913,6 +5026,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5206,6 +5323,10 @@ msgid "Sneaking speed"
msgstr "za'i masno cadzu"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5516,10 +5637,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5622,6 +5744,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5672,10 +5798,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5702,16 +5836,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "lo melbi pezli"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "lo melbi pezli"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "lo melbi pezli"
#: src/settings_translation_file.cpp
msgid ""
@@ -5747,10 +5884,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5834,10 +5967,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5880,78 +6009,3 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "cURL timeout"
msgstr ""
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "$1 moi le'i papri poi ke'a $1 mei"
-
-#, fuzzy
-#~ msgid "Shortname:"
-#~ msgstr "tordu cmene"
-
-#~ msgid "Unsorted"
-#~ msgstr "kalsa"
-
-#, fuzzy
-#~ msgid "Local Game"
-#~ msgstr "cfari fa lo nu kelci"
-
-#, fuzzy
-#~ msgid "Normal Mapping"
-#~ msgstr "lo puvrmipmepi"
-
-#~ msgid "Use"
-#~ msgstr "mu'e pilno"
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "lo dacti uidje"
-
-#, fuzzy
-#~ msgid "Main menu mod manager"
-#~ msgstr "lo ralju"
-
-#, fuzzy
-#~ msgid "Use key"
-#~ msgstr "ko da'ergau le batke"
-
-#, fuzzy
-#~ msgid "Water Features"
-#~ msgstr ".i ca'o samymo'i le dacti ke tengu datnyvei"
-
-#~ msgid "Attn"
-#~ msgstr "la'o gy.Attn.gy."
-
-#~ msgid "Comma"
-#~ msgstr "slaka bu"
-
-#~ msgid "CrSel"
-#~ msgstr "la'o gy.CrSel.gy."
-
-#~ msgid "ExSel"
-#~ msgstr "la'o gy.ExSel.gy."
-
-#~ msgid "Minus"
-#~ msgstr "vu'u bu"
-
-#~ msgid "PA1"
-#~ msgstr "la'o gy.PA1.gy."
-
-#~ msgid "Period"
-#~ msgstr "denpa bu"
-
-#~ msgid "Plus"
-#~ msgstr "su'i bu"
-
-#~ msgid "No of course not!"
-#~ msgstr "nasai go'i"
-
-#~ msgid "No!!!"
-#~ msgstr "nasai go'i"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "selpli"
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr ".i ca'o samymo'i le tengu datnyvei"
diff --git a/po/kk/minetest.po b/po/kk/minetest.po
index 117f91e19..db633a053 100644
--- a/po/kk/minetest.po
+++ b/po/kk/minetest.po
@@ -1,20 +1,18 @@
-# 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 <EMAIL@ADDRESS>, YEAR.
-#
msgid ""
msgstr ""
-"Project-Id-Version: minetest\n"
+"Project-Id-Version: Kazakh (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\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"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Kazakh <https://hosted.weblate.org/projects/minetest/minetest/"
+"kk/>\n"
"Language: kk\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.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -25,7 +23,7 @@ msgid "You died"
msgstr ""
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr ""
#: builtin/fstk/ui.lua
@@ -117,13 +115,25 @@ msgid "Mod:"
msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
+msgid "No (optional) dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
+msgid "No hard dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr ""
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional dependencies"
+msgstr ""
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr ""
@@ -478,10 +488,6 @@ msgid "Rename"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr ""
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr ""
@@ -766,11 +772,11 @@ msgid "Waving Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
+msgid "Waving Liquids"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
+msgid "Waving Plants"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -1486,11 +1492,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1606,10 +1612,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr ""
@@ -1638,6 +1640,10 @@ msgid "Toggle noclip"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr ""
@@ -1744,6 +1750,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr ""
@@ -1774,6 +1784,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1814,6 +1828,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -2020,7 +2038,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2105,6 +2123,10 @@ msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2261,6 +2283,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2319,6 +2345,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2327,6 +2357,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2407,10 +2441,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2433,6 +2479,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2453,7 +2505,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2501,6 +2553,10 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2811,6 +2867,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3035,6 +3098,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3285,6 +3366,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3313,6 +3402,10 @@ msgid "Inc. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4077,7 +4170,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4149,6 +4242,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4160,7 +4260,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4215,6 +4315,10 @@ msgid "Mapgen Fractal"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Mapgen Fractal specific flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr ""
@@ -4296,6 +4400,12 @@ 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 ""
"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)"
@@ -4480,10 +4590,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4499,7 +4607,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4551,16 +4659,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4712,10 +4822,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4799,6 +4905,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -4811,6 +4925,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5093,6 +5211,10 @@ msgid "Sneaking speed"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5401,10 +5523,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5507,6 +5630,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5556,10 +5683,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5584,15 +5719,15 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+msgid "Waving water wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water length"
+msgid "Waving water wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
+msgid "Waving water wavelength"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5629,10 +5764,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5715,10 +5846,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
diff --git a/po/kn/minetest.po b/po/kn/minetest.po
index 2fe035983..e4045c7a8 100644
--- a/po/kn/minetest.po
+++ b/po/kn/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Kannada (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Kannada <https://hosted.weblate.org/projects/minetest/"
"minetest/kn/>\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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -24,7 +24,7 @@ msgstr "ನೀನೠಸತà³à²¤à³à²¹à³‹à²¦à³†"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "ಒಂದೠಲà³à²µà²¾ ಸà³à²•à³à²°à²¿à²ªà³à²Ÿà³ ನಲà³à²²à²¿ ತಪà³à²ªà²¾à²—ಿದೆ, ಉದಾಹರಣೆ ಮಾಡà³â€à²¨à²²à³à²²à²¿"
#: builtin/fstk/ui.lua
@@ -125,13 +125,28 @@ msgid "Mod:"
msgstr "ಮಾಡà³:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+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 "à²à²šà³à²›à²¿à²• ಅವಲಂಬನೆಗಳà³:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "ಯಾವà³à²¦à³‡ ಮಾಡà³à²ªà³à²¯à²¾à²•ೠವಿವರಣೆ ಕೊಟà³à²Ÿà²¿à²²à³à²²."
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "à²à²šà³à²›à²¿à²• ಅವಲಂಬನೆಗಳà³:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "à²à²šà³à²›à²¿à²• ಅವಲಂಬನೆಗಳà³:"
@@ -486,10 +501,6 @@ msgid "Rename"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr ""
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr ""
@@ -774,11 +785,11 @@ msgid "Waving Leaves"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
+msgid "Waving Liquids"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
+msgid "Waving Plants"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -1494,11 +1505,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1614,10 +1625,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr ""
@@ -1646,6 +1653,10 @@ msgid "Toggle noclip"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr ""
@@ -1752,6 +1763,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr ""
@@ -1782,6 +1797,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1822,6 +1841,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -2028,7 +2051,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2113,6 +2136,10 @@ msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2269,6 +2296,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2327,6 +2358,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2335,6 +2370,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2415,10 +2454,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2441,6 +2492,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2461,7 +2518,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2509,6 +2566,10 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2819,6 +2880,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3043,6 +3111,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3293,6 +3379,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3321,6 +3415,10 @@ msgid "Inc. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4085,7 +4183,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4157,6 +4255,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4168,7 +4273,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4223,6 +4328,10 @@ msgid "Mapgen Fractal"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Mapgen Fractal specific flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr ""
@@ -4304,6 +4413,12 @@ 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 ""
"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)"
@@ -4488,10 +4603,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4507,7 +4620,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4559,16 +4672,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4720,10 +4835,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4807,6 +4918,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -4819,6 +4938,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5101,6 +5224,10 @@ msgid "Sneaking speed"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5409,10 +5536,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5515,6 +5643,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5564,10 +5696,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5592,15 +5732,15 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+msgid "Waving water wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water length"
+msgid "Waving water wave speed"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
+msgid "Waving water wavelength"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5637,10 +5777,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5723,10 +5859,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
diff --git a/po/ko/minetest.po b/po/ko/minetest.po
index 4ac7da742..a530a0845 100644
--- a/po/ko/minetest.po
+++ b/po/ko/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Korean (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Korean <https://hosted.weblate.org/projects/minetest/minetest/"
"ko/>\n"
"Language: ko\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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -25,7 +25,7 @@ msgstr "사ë§í–ˆìŠµë‹ˆë‹¤."
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "Lua 스í¬ë¦½íЏì—서 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. 해당 모드:"
#: builtin/fstk/ui.lua
@@ -124,14 +124,29 @@ msgstr "모드:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "ì„ íƒì ì¸ 모드:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No game description provided."
msgstr "모드 ì„¤ëª…ì´ ì—†ìŠµë‹ˆë‹¤"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "요구사항 ì—†ìŒ."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No modpack description provided."
msgstr "모드 ì„¤ëª…ì´ ì—†ìŠµë‹ˆë‹¤"
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "ì„ íƒì ì¸ 모드:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "ì„ íƒì ì¸ 모드:"
@@ -151,7 +166,7 @@ msgstr "활성화ë¨"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "모든 패키지"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
@@ -188,11 +203,11 @@ msgstr "모드"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "검색할 수 있는 패키지가 없습니다"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "ê²°ê³¼ ì—†ìŒ"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -211,7 +226,7 @@ msgstr "설치"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "ì—…ë°ì´íЏ"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -484,7 +499,7 @@ msgstr "$1ì„ $2ì— ì„¤ì¹˜í•˜ëŠ”ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+msgstr "온ë¼ì¸ 컨í…츠 검색"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
@@ -521,11 +536,6 @@ msgstr "ì´ë¦„ 바꾸기"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "ì„ íƒí•œ 모드 파ì¼:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "ì„ íƒí•œ 모드 ì‚­ì œ"
@@ -785,7 +795,7 @@ msgstr "ì‰ì´ë”"
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders (unavailable)"
-msgstr ""
+msgstr "ì‰ì´ë” (사용할 수 ì—†ìŒ)"
#: builtin/mainmenu/tab_settings.lua
msgid "Simple Leaves"
@@ -821,12 +831,13 @@ msgid "Waving Leaves"
msgstr "움ì§ì´ëŠ” 나뭇잎 효과"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "움ì§ì´ëŠ” ì‹ë¬¼ 효과"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "움ì§ì´ëŠ” Node"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "물결 효과"
+msgid "Waving Plants"
+msgstr "움ì§ì´ëŠ” ì‹ë¬¼ 효과"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1595,11 +1606,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1722,10 +1733,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "시네마틱 스위치"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "비행 스위치"
@@ -1758,6 +1765,11 @@ msgid "Toggle noclip"
msgstr "ìžìœ ì‹œì  스위치"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "ê³ ì† ìŠ¤ìœ„ì¹˜"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "키를 누르세요"
@@ -1865,6 +1877,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3D 구름 효과"
@@ -1895,6 +1911,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1947,6 +1967,10 @@ msgid "Acceleration in air"
msgstr "공중ì—서 ê°€ì†"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "ë¸”ë¡ ìˆ˜ì‹ì–´ 활성"
@@ -2164,7 +2188,7 @@ msgstr "범프맵핑"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2256,6 +2280,11 @@ msgid "Chat message count limit"
msgstr "ì ‘ì† ì‹œ status메시지"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "ì ‘ì† ì‹œ status메시지"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2421,6 +2450,10 @@ msgstr ""
"예: 72 = 20 분, 360 = 4 분, 1 = 24 시간, 0 = 낮/밤/바뀌지 않고 그대로."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "호수 ì¹¨í•˜ì˜ ê²½ì‚¬/깊ì´ë¥¼ ì¡°ì ˆ."
@@ -2479,6 +2512,11 @@ msgid "Debug info toggle key"
msgstr "디버그 정보 토글 키"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "디버그 로그 수준"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "디버그 로그 수준"
@@ -2487,6 +2525,10 @@ msgid "Dec. volume key"
msgstr "볼륨 낮추기 키"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2573,11 +2615,23 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr "블ë¡ì— 최대 플레ì´ì–´ 전송 거리를 ì •ì˜ í•©ë‹ˆë‹¤ (0 = 무제한)."
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2601,6 +2655,12 @@ msgid "Deprecated Lua API handling"
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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "í° ë™êµ´ì„ 발견할 수 있는 깊ì´."
@@ -2623,7 +2683,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2673,6 +2733,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "강 소리"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -3013,6 +3078,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr "Screenshotsì˜ í˜•ì‹ìž…니다."
@@ -3251,6 +3323,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3505,6 +3595,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr "ì ìš©í•  경우, 플레ì´ì–´ëŠ” ì§€ì •ëœ ìœ„ì¹˜ì— í•­ìƒ ìŠ¤í° ë  ê²ƒìž…ë‹ˆë‹¤."
@@ -3536,6 +3634,10 @@ msgid "Inc. volume key"
msgstr "콘솔 키"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4559,7 +4661,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "하강 ì†ë„"
#: src/settings_translation_file.cpp
@@ -4632,6 +4734,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4643,7 +4752,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4703,6 +4812,11 @@ msgstr "Mapgen ì´ë¦„"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Mapgen ì´ë¦„"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "맵젠v5"
@@ -4786,6 +4900,12 @@ msgstr "최대 hotbar í­"
#: 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 ""
"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)"
@@ -4982,10 +5102,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5004,7 +5122,7 @@ msgid ""
msgstr "서버ì´ë¦„ì€ í”Œë ˆì´ì–´ê°€ 서버 ë¦¬ìŠ¤íŠ¸ì— ë“¤ì–´ê°ˆ 때 나타납니다."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5056,16 +5174,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5234,10 +5354,6 @@ msgid "Profiling"
msgstr "프로 파ì¼ë§"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5329,6 +5445,16 @@ msgstr "오른쪽 í´ë¦­ 반복 간격"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "ê°• 깊ì´"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "ê°• 깊ì´"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "ê°• 깊ì´"
@@ -5344,6 +5470,11 @@ msgstr "ê°• í¬ê¸°"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River valley width"
+msgstr "ê°• 깊ì´"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Rollback recording"
msgstr "롤백 레코딩"
@@ -5673,6 +5804,10 @@ msgid "Sneaking speed"
msgstr "걷는 ì†ë„"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "사운드"
@@ -6007,10 +6142,11 @@ msgstr "좌표표집(Undersampling)"
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -6122,6 +6258,10 @@ msgid "Varies steepness of cliffs."
msgstr "ì‚°ì˜ ë†’ì´/경사를 ì¡°ì ˆ."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "세로 화면 ë™ê¸°í™”."
@@ -6175,10 +6315,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr "ë¬¼ì˜ ë†’ì´"
@@ -6204,16 +6352,19 @@ msgid "Waving water"
msgstr "물결 효과"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "물결 높ì´"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "물결 길ì´"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "물결 ì†ë„"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "물결 ì†ë„"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "물결 길ì´"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -6260,10 +6411,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -6354,10 +6501,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -6401,297 +6544,12 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "스토어 닫기"
-
-#~ msgid "Disable MP"
-#~ msgstr "MP(모드팩) 비활성화"
-
-#~ msgid "Enable MP"
-#~ msgstr "MP(모드팩) 활성화"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "ê²Œìž„ì„ ì„ íƒí•˜ì§€ 않았거나 게임 ì´ë¦„ì´ ì—†ìŠµë‹ˆë‹¤"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\"ì€(는) 유효한 플래그가 아닙니다."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "3ê°œì˜ ìˆ˜ê°€ 쉼표와 묶ìŒí‘œë¡œ 구분ë˜ëŠ” 형ì‹ìž…니다."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "형ì‹: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "플래그 목ë¡ì„ 쉼표로 구분하며 입력해주세요."
-
-#~ msgid "Possible values are: "
-#~ msgstr "가능한 값: "
-
-#~ msgid "Select path"
-#~ msgstr "경로 고르기"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "서브게임 모드"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "$2페ì´ì§€ 중 $1"
-
-#~ msgid "Rating"
-#~ msgstr "순위"
-
-#~ msgid "Shortname:"
-#~ msgstr "ì§§ì€ ì´ë¦„:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "설치 완료:"
-
-#~ msgid "Unsorted"
-#~ msgstr "기타"
-
-#~ msgid "re-Install"
-#~ msgstr "재설치"
+#~ msgid "Waving Water"
+#~ msgstr "물결 효과"
#, fuzzy
-#~ msgid "Local Game"
-#~ msgstr "게임 시작"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "ì„ íƒí•œ 모드팩 ì‚­ì œ"
-
-#~ msgid "Play Online"
-#~ msgstr "온ë¼ì¸ 게임"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "노멀 매핑"
-
-#~ msgid "No information available"
-#~ msgstr "정보가 없습니다"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "ë³¼ë¥¨ì´ 0%로 변경ë˜ì—ˆìŠµë‹ˆë‹¤"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "ë³¼ë¥¨ì´ 100%로 변경ë˜ì—ˆìŠµë‹ˆë‹¤"
-
-#~ msgid "Print stacks"
-#~ msgstr "ìŠ¤íƒ ì¶œë ¥"
-
-#~ msgid "Use"
-#~ msgstr "사용"
-
-#~ msgid "Next"
-#~ msgstr "다ìŒ"
-
-#~ msgid "Prior"
-#~ msgstr "ì´ì „"
-
-#, fuzzy
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "ì„œë²„ë¦¬ìŠ¤íŠ¸ì— ë°œí‘œí•©ë‹ˆë‹¤.\n"
-#~ "만약 ë‹¹ì‹ ì˜ Ipv6 주소를 알리기 ì›í•œë‹¤ë©´ serverlist_url = v6.servers."
-#~ "minetest.net ì„ ì‚¬ìš©í•˜ì„¸ìš”."
-
-#~ msgid "Autorun key"
-#~ msgstr "ìžë™ 실행 키"
-
-#~ msgid "Cloud height"
-#~ msgstr "구름 높ì´"
-
-#~ msgid "Console key"
-#~ msgstr "콘솔 높ì´"
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "예측할 수 없는 ìš©ì•”ì„ ë™êµ´ ì•ˆì— ë§Œë“­ë‹ˆë‹¤.\n"
-#~ "ì´ê²ƒì€ ì±„ê´‘ì„ ì–´ë µê²Œ 만들 수 있습니다. 0ì€ ë‚˜íƒ€ë‚˜ì§€ 않습니다. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "예측할 수 없는 ë¬¼ì„ ë™êµ´ ì•ˆì— ë§Œë“­ë‹ˆë‹¤.\n"
-#~ "ì´ê²ƒì€ ì±„ê´‘ì„ ì–´ë µê²Œ 만들 수 있습니다. 0ì€ ë‚˜íƒ€ë‚˜ì§€ 않습니다. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "쭈그리고 앉기 ì†ë„"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "거대한 ë™êµ´ì„ 발견할 수 있는 깊ì´."
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "ì´ìŠ¤ì¼€ì´í”„ 시퀀스 사용 안함"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "ì´ìŠ¤ì¼€ì´í”„ 시퀀스 사용 안함, 예: 채팅 채색.\n"
-#~ "만약 ë‹¹ì‹ ì´ pre-0.4.14í´ë¼ì´ì–¸íŠ¸ë¥¼ 사용하길 ì›í•˜ê±°ë‚˜ ëª¨ë“œì— ì˜í•´ ìƒì„±ë˜ëŠ” "
-#~ "ì´ìŠ¤ì¼€ì´í”„ 시퀀스를 사용하지 않길 ì›í•œë‹¤ë©´ ì´ê²ƒì„ 사용하세요."
-
-#, fuzzy
-#~ msgid "Enable view bobbing"
-#~ msgstr "보기 만료"
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "확대/ì¶•ì†Œì— ëŒ€í•œ 시야"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "확대/ì¶•ì†Œì— ëŒ€í•œ 시야 \n"
-#~ "서버ì—서 \"확대/축소\" ê¶Œí•œì´ í•„ìš”í•©ë‹ˆë‹¤."
-
-#~ msgid "General"
-#~ msgstr "ì¼ë°˜"
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "활성화시, 연결하는 플레ì´ì–´ì—게 서버status메시지가 보여집니다."
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "ì¸ë²¤í† ë¦¬ 키"
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "채팅 ì°½ì„ ì—¬ëŠ” 키입니다.\n"
-#~ "Http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3 참조"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "디버그 무ë”기(stacks) ì¸ì‡„ 키. ê°œë°œì„ ìœ„í•´ 사용ë¨.\n"
-#~ "Http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3 참조"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "주 메뉴 게임 관리ìž"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "주 메뉴 모드 관리ìž"
-
-#~ msgid "Massive cave depth"
-#~ msgstr "거대한 ë™êµ´ 깊ì´"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "거대한 ë™êµ´ ìž¡ìŒ"
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr "í´ë¼ì´ì–¸íЏ 당 ë™ì‹œì— 전송ë˜ëŠ” 블ë¡ì˜ 최대 수입니다."
-
-#~ msgid "Modstore details URL"
-#~ msgstr "Modstore ì •ë³´ URL"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "Modstore 다운로드 URL"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Modstore 모드 리스트 URL"
-
-#, 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."
-#~ msgstr ""
-#~ "새로운 월드를 만들때 사용ë˜ëŠ” ë§µ ìƒì„±ê¸°ì˜ ì´ë¦„입니다.\n"
-#~ "주 메뉴ì—서 새 월드를 만들면 ì ìš©ë  것입니다."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "ê°• 소리 -- ê°•ì´ 0ì— ê°€ê¹Œìš¸ 때 ë°œìƒ"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr "ì •í•´ì§„ 맵블럭(16 nodes), ë§µì  ì— ì˜í•´ í•œë²ˆì— ìƒì„¤ë˜ì–´ì§ˆ ì–‘ì˜ í¬ê¸°."
-
-#~ msgid "Support older servers"
-#~ msgstr "ì˜¤ëž˜ëœ ì„œë²„ ì§€ì›"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "ê¸°ì˜¨ì´ 20C로 떨어지는 ê³ ë„"
-
-#~ msgid "Use key"
-#~ msgstr "키 사용"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "í…스ì³ë¥¼ í¬ê²Œí•˜ê¸° 위해 mip mappingì„ ì‚¬ìš© 합니다. ì„±ëŠ¥ì´ ì•½ê°„ ì¦ê°€í• ê²ë‹ˆ"
-#~ "다."
-
-#, fuzzy
-#~ msgid "Valleys C Flags"
-#~ msgstr "계곡 C 플래그"
-
-#~ msgid "Water Features"
-#~ msgstr "물 특징"
-
-#~ msgid "Hide mp content"
-#~ msgstr "숨겨진 ë§µ 콘í…츠"
-
-#~ msgid "Attn"
-#~ msgstr "담당ìž"
-
-#~ msgid "Capital"
-#~ msgstr "ìžë³¸"
-
-#~ msgid "Comma"
-#~ msgstr "쉼표"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "최종"
-
-#~ msgid "Minus"
-#~ msgstr "마ì´ë„ˆìФ"
-
-#~ msgid "Period"
-#~ msgstr "기간"
-
-#~ msgid "Plus"
-#~ msgstr "플러스"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Mapgen v6ì—서 사막과 í•´ë³€ì˜ í¬ê¸°ë¥¼ 조정합니다.\n"
-#~ "Snowbiomes 사용 하는 ê²½ìš°ì— 'mgv6_freq_desert'ì€ ë¬´ì‹œ ë©ë‹ˆë‹¤."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "지형 ëª¨ì–‘ì„ ê²°ì •í•©ë‹ˆë‹¤.\n"
-#~ "ê´„í˜¸ì•ˆì˜ 3ê°œì˜ ìˆ«ìžëŠ” ì§€í˜•ì˜ ê·œëª¨ë¥¼ 조정합니다.\n"
-#~ "3ê°œì˜ ìˆ«ìžëŠ” ë™ì¼í•´ì•¼ 합니다."
+#~ msgid "Select Package File:"
+#~ msgstr "ì„ íƒí•œ 모드 파ì¼:"
-#~ msgid "Advanced Settings"
-#~ msgstr "고급 설정"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "시네마틱 스위치"
diff --git a/po/ky/minetest.po b/po/ky/minetest.po
index 74a466fb4..29a57ee93 100644
--- a/po/ky/minetest.po
+++ b/po/ky/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Kyrgyz (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Kyrgyz <https://hosted.weblate.org/projects/minetest/minetest/"
"ky/>\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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -24,7 +24,7 @@ msgid "You died"
msgstr "Сиз өлдүңүз."
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr ""
#: builtin/fstk/ui.lua
@@ -123,13 +123,26 @@ msgid "Mod:"
msgstr ""
#: builtin/mainmenu/dlg_config_world.lua
+msgid "No (optional) dependencies"
+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 "көз карандылыктары:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr ""
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional dependencies"
+msgstr ""
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr ""
@@ -502,11 +515,6 @@ msgid "Rename"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Дүйнөнү тандаңыз:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr ""
@@ -826,12 +834,12 @@ msgstr "Кооз бактар"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
-msgid "Waving Plants"
+msgid "Waving Liquids"
msgstr "Кооз бактар"
#: builtin/mainmenu/tab_settings.lua
#, fuzzy
-msgid "Waving Water"
+msgid "Waving Plants"
msgstr "Кооз бактар"
#: builtin/mainmenu/tab_settings.lua
@@ -1595,11 +1603,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1722,11 +1730,6 @@ msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
-msgid "Toggle Cinematic"
-msgstr "Тез баÑууга которуу"
-
-#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
msgstr "Учууга которуу"
@@ -1758,6 +1761,11 @@ msgid "Toggle noclip"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Тез баÑууга которуу"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "баÑкычты баÑыңыз"
@@ -1865,6 +1873,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "3D clouds"
msgstr "3D-булуттар"
@@ -1896,6 +1908,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1936,6 +1952,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -2149,7 +2169,7 @@ msgstr "Mip-текÑтуралоо"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2235,6 +2255,10 @@ msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2405,6 +2429,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2465,6 +2493,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2473,6 +2505,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2554,10 +2590,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2580,6 +2628,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2600,7 +2654,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2650,6 +2704,10 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2964,6 +3022,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3190,6 +3255,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3440,6 +3523,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3470,6 +3561,10 @@ msgid "Inc. volume key"
msgstr "КонÑоль"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4238,7 +4333,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4312,6 +4407,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4323,7 +4425,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4378,6 +4480,10 @@ msgid "Mapgen Fractal"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Mapgen Fractal specific flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr ""
@@ -4459,6 +4565,12 @@ 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 ""
"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)"
@@ -4646,10 +4758,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4665,7 +4775,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4717,16 +4827,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4879,10 +4991,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4968,6 +5076,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -4981,6 +5097,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5272,6 +5392,10 @@ msgid "Sneaking speed"
msgstr "Уурданып баÑуу"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5582,10 +5706,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5688,6 +5813,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5738,10 +5867,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5767,16 +5904,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Кооз бактар"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Кооз бактар"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Кооз бактар"
#: src/settings_translation_file.cpp
msgid ""
@@ -5812,10 +5952,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5899,10 +6035,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5947,166 +6079,9 @@ msgid "cURL timeout"
msgstr ""
#, fuzzy
-#~ msgid "Enable MP"
-#~ msgstr "Баарын күйгүзүү"
-
-#, fuzzy
-#~ msgid "Select path"
-#~ msgstr "Тандоо"
-
-#, fuzzy
-#~ msgid "Shortname:"
-#~ msgstr "Дүйнө аты"
-
-#, fuzzy
-#~ msgid "Local Game"
-#~ msgstr "Оюнду баштоо/туташуу"
-
-#, fuzzy
-#~ msgid "Normal Mapping"
-#~ msgstr "Mip-текÑтуралоо"
-
-#~ msgid "Use"
-#~ msgstr "Колдонуу"
-
-#~ msgid "Next"
-#~ msgstr "Кийинки"
-
-#, fuzzy
-#~ msgid "Console key"
-#~ msgstr "КонÑоль"
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Мүлк-шайман"
-
-#, fuzzy
-#~ msgid "Main menu mod manager"
-#~ msgstr "Башкы меню"
-
-#, fuzzy
-#~ msgid "Use key"
-#~ msgstr "баÑкычты баÑыңыз"
-
-#, fuzzy
-#~ msgid "Water Features"
-#~ msgstr "Буюм текÑтуралары..."
-
-#~ msgid "Capital"
-#~ msgstr "Caps Lock"
-
-#~ msgid "Comma"
-#~ msgstr "Үтүр"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Кана"
-
-#~ msgid "Kanji"
-#~ msgstr "Кандзи"
-
-#~ msgid "Minus"
-#~ msgstr "Кемитүү белгиÑи"
-
-#~ msgid "Period"
-#~ msgstr "Ðйланма Ñан"
-
-#~ msgid "Plus"
-#~ msgstr "Кошуу белгиÑи"
-
-#, fuzzy
-#~ msgid "Public Serverlist"
-#~ msgstr "Жалпылык Ñерверлердин тизмеÑи:"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "күйгүзүлгөн"
-
-#, fuzzy
-#~ msgid "Password"
-#~ msgstr "ЭÑки ÑырÑөз"
-
-#, fuzzy
-#~ msgid "Finite Liquid"
-#~ msgstr "Чектүү Ñуюктук"
-
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "ЖарыÑÐ»Ð°Ð½Ð±Ð°Ñ Ð±Ð°ÑˆÐºÐ°Ñ€ÑƒÑƒ:\n"
-#~ "- WASD: БаÑуу\n"
-#~ "- Сол кнопкаÑÑ‹: казуу/Ñогуу\n"
-#~ "- Оң кнопкаÑÑ‹: коюу/колдонуу\n"
-#~ "- Чычкан дөңгөлөгү: буюмду тандоо\n"
-#~ "- 0...9: буюмду тандоо\n"
-#~ "- Shift: уурданып баÑуу\n"
-#~ "- R: Ð°Ð»Ñ‹Ñ ÐºÐ°Ñ€Ð¾Ð¾\n"
-#~ "- I: мүлк-шайман\n"
-#~ "- ESC: бул меню\n"
-#~ "- T: маек\n"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Бардык дүйнө файлдарын өчүрүү оңунан чыккан жок"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Дүйнөнү ыраÑтоо мүмкүн ÑмеÑ: Эч нерÑе тандалган жок"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Дүйнөнү жаратуу мүмкүн ÑмеÑ: Оюндар табылган жок"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Өчүрүлө турган файлдар"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Дүнөнү жаратуу мүмкүн ÑмеÑ: Эч нерÑе тандалган жок"
-
-#~ msgid "Address required."
-#~ msgstr "Дареги талап кылынат."
-
-#~ msgid "Create world"
-#~ msgstr "Дүйнөнү жаратуу"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Жергиликтүү Ñерверди жүргүзүү үчүн даректи бош калтырыңыз."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Тандалмаларды көрÑөтүү"
-
-#~ msgid "Show Public"
-#~ msgstr "Жалпылыкты көрÑөтүү"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "ЭÑкертүү: Туура ÑÐ¼ÐµÑ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ. "
-
-#~ msgid "Configuration saved. "
-#~ msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñакталды. "
-
-#~ msgid "is required by:"
-#~ msgstr "талап кылынганы:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr "Сол баÑкычы: Бардык буюмдарды ташуу, Оң баÑкычы: Бир буюмду ташуу"
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Ылдый"
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "Жүктөлүүдө..."
+#~ msgid "Select Package File:"
+#~ msgstr "Дүйнөнү тандаңыз:"
#, fuzzy
-#~ msgid "Advanced Settings"
-#~ msgstr "ЫраÑтоолор"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Тез баÑууга которуу"
diff --git a/po/lo/minetest.po b/po/lo/minetest.po
new file mode 100644
index 000000000..9971e84fd
--- /dev/null
+++ b/po/lo/minetest.po
@@ -0,0 +1,5890 @@
+msgid ""
+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 <EMAIL@ADDRESS>\n"
+"Language-Team: Lao <https://hosted.weblate.org/projects/minetest/minetest/lo/"
+">\n"
+"Language: lo\n"
+"MIME-Version: 1.0\n"
+"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"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "Respawn"
+msgstr ""
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "You died"
+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 "Main menu"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "Ok"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "Reconnect"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "The server has requested a reconnect:"
+msgstr ""
+
+#: builtin/mainmenu/common.lua src/client/game.cpp
+msgid "Loading..."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Protocol version mismatch. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Server enforces protocol version $1. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Server supports protocol versions between $1 and $2. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Try reenabling public serverlist and check your internet connection."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "We only support protocol version $1."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "We support protocol versions between version $1 and $2."
+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 builtin/mainmenu/tab_content.lua
+msgid "Dependencies:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable modpack"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable modpack"
+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_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 game description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No hard dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No modpack description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional 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/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
+msgid "Save"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "World:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "All packages"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back to Main Menu"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Downloading and installing $1, please wait..."
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Failed to download $1"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Install"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No packages could be retrieved"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No results"
+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 "Texture packs"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Uninstall"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Update"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "A world named \"$1\" already exists"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Create"
+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 "Download one from minetest.net"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Game"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Mapgen"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "No game selected"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Seed"
+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 "World name"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "You have no games installed."
+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 "Rename Modpack:"
+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_settings_advanced.lua
+msgid "(No description of setting given)"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "2D Noise"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "< Back to Settings page"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Browse"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Disabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Edit"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Lacunarity"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Octaves"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Persistance"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid integer."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid number."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Restore Default"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
+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 "Show technical names"
+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 "X"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "absvalue"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 (Enabled)"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 mods"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Failed to install $1 to $2"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find real mod name for: $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: file: \"$1\""
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to find a valid mod or modpack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a $1 as a texture pack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a game as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a mod as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a modpack as a $1"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Browse online content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Disable Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Information:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Installed Packages:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "No dependencies."
+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 "Uninstall Package"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Use Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Active Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Credits"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Announce Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Bind Address"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Configure"
+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 Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Host Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Name/Password"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "New"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "No world created or selected!"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Play Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Port"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Select World:"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Server Port"
+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 "Connect"
+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 "Del. Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
+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 "Ping"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "PvP enabled"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "3D Clouds"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "4x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "8x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "All Settings"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Antialiasing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Are you sure to reset your singleplayer world?"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Autosave Screen Size"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bump Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Connected Glass"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Fancy Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Generate Normal Maps"
+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 "No"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Mipmap"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Highlighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Outlining"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "None"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Water"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Parallax Occlusion"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Particles"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Reset singleplayer world"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Screen:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Settings"
+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 "Simple Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Smooth Lighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Texturing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "To enable shaders the OpenGL driver needs to be used."
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Tone Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Touchthreshold: (px)"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Trilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Liquids"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Plants"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Yes"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Config mods"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Main"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Start Singleplayer"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Connection timed out."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Done!"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Loading textures..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Rebuilding shaders..."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Connection error (timed out?)"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Could not find or load game \""
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Invalid gamespec."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Main Menu"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "No world selected and no address provided. Nothing to do."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Player name too long."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Please choose a name!"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided password file failed to open: "
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided world path doesn't exist: "
+msgstr ""
+
+#: src/client/fontengine.cpp
+msgid "needs_fallback_font"
+msgstr ""
+
+#: src/client/game.cpp
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Address: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Creative Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Damage: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Port: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Public: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- PvP: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Server Name: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Change Password"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Client side scripting is disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Connecting to server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Continue"
+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 "Creating client..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Creating server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info and profiler graph hidden"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info, profiler graph, and wireframe hidden"
+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
+msgid "Disabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Enabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to Menu"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to OS"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fast 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 "Fly mode disabled"
+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 "Fog disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fog enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game info:"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game paused"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Hosting server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Item definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "KiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Media..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "MiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap hidden"
+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 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 "Noclip 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 "Node definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Off"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "On"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Profiler graph shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Remote server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Resolving address..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Shutting down..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Singleplayer"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound Volume"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound muted"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound unmuted"
+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 maximum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at minimum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Volume changed to %d%%"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Wireframe shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Zoom currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Profiler hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Apps"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Backspace"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Caps Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "End"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Erase EOF"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Execute"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Help"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Home"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Accept"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Convert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Escape"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Mode Change"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Nonconvert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Insert"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Left"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Num Lock"
+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 "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 "OEM Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Pause"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Play"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Print"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Return"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Scroll Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Select"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Sleep"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Snapshot"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Space"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Tab"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 1"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 2"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Zoom"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
+msgid "Passwords do not match!"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp
+msgid "Register and Join"
+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/guiFormSpecMenu.cpp
+msgid "Proceed"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "\"Special\" = climb down"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Autoforward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Automatic jumping"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Backward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Change camera"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Chat"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Console"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Double tap \"jump\" to toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Drop"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Forward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Jump"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Key already in use"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Local command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Mute"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Next item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Prev. item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Range select"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Screenshot"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Sneak"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Special"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle HUD"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle chat log"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fast"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fog"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle minimap"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Change"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Confirm Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "New Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Exit"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Muted"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr ""
+
+#: src/gui/modalMenu.cpp
+msgid "Enter "
+msgstr ""
+
+#: src/network/clientpackethandler.cpp
+msgid "LANG_CODE"
+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 ""
+"(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 ""
+"(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 ""
+"(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 ""
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of ridged mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of rolling hills."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of step mountains."
+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 "2D noise that controls the size/occurrence of rolling hills."
+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 "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D clouds"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining giant caverns."
+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 "3D noise defining structure of river canyon walls."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+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 ""
+"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 "A message to be displayed to all clients when the server crashes."
+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 "ABM interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Absolute limit of emerge queues"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration in air"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block management interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
+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 "Adds particles when digging a node."
+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 ""
+"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 "Advanced"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Altitude chill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Always fly and fast"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ambient occlusion gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amount of messages a player may send per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amplifies the valleys."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Anisotropic filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce to this serverlist."
+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 "Apple trees noise"
+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 "Ask to reconnect after crash"
+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 "Automatic forward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically jump up single-node obstacles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically report to the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autosave screen size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autoscaling mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Backward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base terrain height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bilinear filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bind address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome API temperature and humidity noise parameters"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Block send optimize distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Build inside player"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Builtin"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bumpmapping"
+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 "Camera smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera smoothing in cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera update toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave noise"
+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 "Cave width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern taper"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern upper limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Center of light curve mid-boost."
+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 "Chat key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message count limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message kick threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message max length"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chatcommands"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chunk size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Clean transparent textures"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client and Server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client modding"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side modding restrictions"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side node lookup range restriction"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Climbing speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cloud radius"
+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 "Clouds in menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Colored fog"
+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 ""
+
+#: 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 ""
+"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 "Command key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect glass"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect to external media server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connects glass if supported by node."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console alpha"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB URL"
+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 "Controls"
+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 "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/depth of lake depressions."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/height of hills."
+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 "Controls width of tunnels, a smaller value creates wider tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crash message"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Creative"
+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 "Crosshair color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "DPI"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Damage"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Darkness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug info toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dec. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dedicated server step"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default acceleration"
+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 "Default password"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default report format"
+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 ""
+"Defines areas of floatland smooth terrain.\n"
+"Smooth floatlands occur when noise > 0."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas where trees have apples."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas with sandy beaches."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain and steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines full size of caverns, smaller values create larger caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines large-scale river channel structure."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines location and terrain of optional hills and lakes."
+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 "Defines the base ground level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines tree areas and tree density."
+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 "Delay in sending blocks after building"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Delay showing tooltips, stated in milliseconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Deprecated Lua API handling"
+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 "Depth below which you'll find giant caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Depth below which you'll find large caves."
+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 "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 "Desynchronize block animation"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Digging particles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disable anticheat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disallow empty passwords"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Domain name of server, to be displayed in the serverlist."
+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 "Drop item key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dump the mapgen debug information."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon maximum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon minimum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+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 "Enable VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable console window"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable creative mode for new created maps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable joysticks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod channels support."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable players getting damage and dying."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable random user input (only used for testing)."
+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 ""
+"Enable smooth lighting with simple ambient occlusion.\n"
+"Disable for speed or for different looks."
+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 ""
+"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 ""
+"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 ""
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables animation of inventory items."
+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 "Enables caching of facedir rotated meshes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables filmic tone mapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables minimap."
+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 ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Engine profiling data print interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Entity methods"
+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 "FPS in pause menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "FSAA"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Factor noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fall bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fallback font"
+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 "Fallback font size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode acceleration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode speed"
+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 "Field of view"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Field of view in degrees."
+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 "Filler depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filler depth noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filmic tone mapping"
+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 "Filtering"
+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 "First of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed map seed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed virtual joystick"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain density"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain exponent"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fly key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Flying"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog start"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow"
+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 "Font shadow offset, if 0 then shadow will not be drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size"
+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 "Format of screenshots."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Forward key"
+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 "Fractal type"
+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 "FreeType fonts"
+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 ""
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+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 "Full screen"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Full screen BPP"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter txr2img"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Generate normalmaps"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Global callbacks"
+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 "Gradient of light curve at maximum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gradient of light curve at minimum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Graphics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gravity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HTTP mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD scale factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD toggle key"
+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 ""
+"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 "Heat blend noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Heat noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height select noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "High-precision FPU"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness3 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness4 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Homepage of server, to be displayed in the serverlist."
+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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 10 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 11 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 12 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 13 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 14 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 15 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 16 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 17 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 18 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 19 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 2 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 20 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 21 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 22 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 23 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 24 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 25 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 26 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 27 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 28 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 29 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 3 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 30 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 31 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 32 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 4 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 5 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 6 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 7 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 8 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 9 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "How deep to make rivers."
+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 "How wide to make rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Humidity blend noise"
+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 "IPv6"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 support."
+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 ""
+"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 ""
+"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 ""
+"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 ""
+"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
+"down and\n"
+"descending."
+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 "If enabled, disable cheat prevention in multiplayer."
+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 ""
+"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."
+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 ""
+"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 ""
+"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 "If this is set, players will always (re)spawn at the given position."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ignore world errors"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "In-Game"
+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 "In-game chat console background color (R,G,B)."
+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 "Inc. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+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 "Instrument chatcommands on registration."
+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 ""
+"Instrument the action function of Active Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Instrument the action function of Loading Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrument the methods of entities on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrumentation"
+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 "Interval of sending time of day to clients."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory items animations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory key"
+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 "Item entity TTL"
+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 "Joystick ID"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick button repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick frustum sensitivity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick type"
+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 ""
+"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 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 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 x"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia z"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jump key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jumping speed"
+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 ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 11th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 13th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 15th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 17th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 19th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 21st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 23rd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 25th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 27th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 29th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 31st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the eighth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the first hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for selecting the ninth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the second hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the sixth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the third hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for toggling the display of chat.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling the display of fog.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"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 ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 "Kick players who sent more than X messages per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Language"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lava depth"
+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 "Left key"
+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 "Length of time between Active Block Modifier (ABM) execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between NodeTimer execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between active block management cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Level of logging to be written to debug.txt:\n"
+"- <nothing> (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 "Light curve mid boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost spread"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lightness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues on disk"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues to generate"
+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 ""
+"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 "Liquid fluidity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid fluidity smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid loop max"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid queue purge time"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid sinking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update interval in seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update tick"
+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 "Loading Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lower Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu script"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu style"
+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 "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Makes all liquids opaque"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map directory"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation attributes specific to Mapgen Carpathian."
+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 ""
+"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 ""
+"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 "Map generation attributes specific to Mapgen v5."
+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 ""
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map save interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generation delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock unload timeout"
+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 "Mapgen Flat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen Flat specific flags"
+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 "Mapgen V5"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V5 specific flags"
+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 "Mapgen V7"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V7 specific flags"
+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 "Mapgen debug"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block generate distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block send distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max liquids processed per step."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. clearobjects extra blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. packets per iteration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS when game is paused."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum forceloaded blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum hotbar width"
+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 ""
+"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 "Maximum number of blocks that can be queued for loading."
+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 ""
+"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 "Maximum number of forceloaded mapblocks."
+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 ""
+"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 "Maximum number of players that can be connected simultaneously."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of recent chat messages to show"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of statically stored objects in a block."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum objects per block"
+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 "Maximum simultaneous block sends per client"
+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 "Maximum time in ms a file download (e.g. a mod download) may take."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum users"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Menus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mesh cache"
+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 "Method used to highlight selected object."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap scan height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum texture size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mipmapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mod channels"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Modifies the size of the hudbar elements."
+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 "Mountain height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain variation noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain zero level"
+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 "Mud noise"
+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 "Mute key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mute sound"
+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 ""
+"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 ""
+"Name of the server, to be displayed when players join and in the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Near clipping plane"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Network"
+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 "New users need to input this password."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Node highlighting"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "NodeTimer interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noises"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps sampling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps strength"
+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 ""
+"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 "Number of parallax occlusion iterations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Online Content Repository"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Opaque liquids"
+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 "Overall bias of parallax occlusion effect, usually scale/2."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Overall scale of parallax occlusion effect."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion bias"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion iterations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion scale"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion strength"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to TrueTypeFont or bitmap."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to save screenshots at."
+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 "Path to texture directory. All textures are first searched from here."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pause on lost window focus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Physics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move mode"
+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 "Player name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player versus player"
+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 ""
+"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 "Prevent mods from doing insecure things like running shell commands."
+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 "Privileges that players with basic_privs can grant"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiling"
+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 "Raises terrain to make valleys around the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Random input"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Range select key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Recent Chat Messages"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote media"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote port"
+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 "Replaces the default main menu with a custom one."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Report path"
+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 "Ridge mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge underwater noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridged mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Right key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rightclick repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rollback recording"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hill size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hills spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Round minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Safe digging and placing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sandy beaches occur when np_beach exceeds this value."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save the map received by the client on disk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save window size automatically when modified."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Saving map received from server"
+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 "Screen height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screen width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot folder"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot format"
+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 "Seabed 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 "Second of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box border color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box width"
+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 "Server / Singleplayer"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server description"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server port"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server side occlusion culling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist file"
+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 "Set the maximum character length of a chat message sent by clients."
+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 ""
+"Set to true enables waving plants.\n"
+"Requires shaders to be enabled."
+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 "Shader path"
+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 "Shadow limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shape of the minimap. Enabled = round, disabled = square."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show debug info"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show entity selection boxes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shutdown message"
+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 ""
+"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 "Slice w"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Slope and fill work together to modify the heights."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale humidity variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale temperature variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooth lighting"
+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 "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooths rotation of camera. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sneak key"
+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 "Sound"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key for climbing/descending"
+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 ""
+"Spread of light curve mid-boost.\n"
+"Standard deviation of the mid-boost gaussian."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Static spawnpoint"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Steepness noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of generated normalmaps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of light curve mid-boost."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of parallax."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strict protocol checking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strip color codes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Synchronous SQLite"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Temperature variation for biomes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain alternative noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain higher noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain noise"
+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 ""
+"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 "Terrain persistence noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Texture path"
+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 "The URL for the content repository"
+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 "The depth of dirt or other biome filler node."
+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 "The identifier of the joystick to use"
+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 "The network interface that the server listens on."
+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 ""
+"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 ""
+"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 ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
+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 ""
+"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 ""
+"The time in seconds it takes between repeated events\n"
+"when holding down a joystick button combination."
+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 "The type of joystick"
+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 "Third of 4 2D noises that together define hill/mountain range height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "This font will be used for certain languages."
+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 "Time of day when a new world is started, in millihours (0-23999)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time send interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Timeout for client to remove unused map data from memory."
+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 "Toggle camera mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Tooltip delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Touch screen threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trees noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trilinear filtering"
+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 "Trusted mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Typical maximum height, above and below midpoint, of floatland mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "URL to the server list displayed in the Multiplayer Tab."
+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 "Unlimited player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Unload unused server data"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Upper Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use 3D cloud look instead of flat."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use a cloud animation for the main menu background."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use bilinear filtering when scaling textures."
+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 "Use trilinear filtering when scaling textures."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VSync"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley fill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley profile"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley slope"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of biome filler depth."
+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 "Variation of maximum mountain height (in nodes)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of number of caves."
+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 "Varies depth of biome surface nodes."
+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 "Varies steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical screen synchronization."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Video driver"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View distance in nodes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range decrease key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range increase key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View zoom key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Viewing range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Virtual joystick triggers aux button"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Volume"
+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 "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Walking 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 "Water level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Water surface level of the world."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving Nodes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving leaves"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wavelength"
+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 ""
+"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 ""
+"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 ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Whether node texture animations should be desynchronized per mapblock."
+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 "Whether to allow players to damage and kill each other."
+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 "Whether to fog out the end of the visible area."
+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 "Width component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Width of the selection box lines around nodes."
+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 ""
+"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 "World start time"
+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 "World-aligned textures mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y of flat ground."
+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 "Y of upper limit of large caves."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-distance over which caverns expand to full size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of average terrain surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of cavern upper limit."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of floatland midpoint and lake surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of higher terrain that creates cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of lower terrain and seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level to which floatland shadows extend."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL file download timeout"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL parallel limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL timeout"
+msgstr ""
diff --git a/po/lt/minetest.po b/po/lt/minetest.po
index 719ec991f..91864ca50 100644
--- a/po/lt/minetest.po
+++ b/po/lt/minetest.po
@@ -1,11 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Lithuanian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-10 05:48+0000\n"
-"Last-Translator: Muhammad Rifqi Priyo Susanto "
-"<muhammadrifqipriyosusanto@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Lithuanian <https://hosted.weblate.org/projects/minetest/"
"minetest/lt/>\n"
"Language: lt\n"
@@ -15,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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -28,7 +27,7 @@ msgstr "Jūs numirėte."
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "Klaida įvyko Lua scenarijuje, tokiame kaip papildinys:"
#: builtin/fstk/ui.lua
@@ -130,15 +129,28 @@ msgid "Mod:"
msgstr "Papildinys:"
#: builtin/mainmenu/dlg_config_world.lua
+msgid "No (optional) dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
msgid "No game description provided."
msgstr "Papildinio aprašymas nepateiktas"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Priklauso:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No modpack description provided."
msgstr "Papildinio aprašymas nepateiktas"
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional dependencies"
+msgstr ""
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr ""
@@ -531,11 +543,6 @@ msgstr "Pervadinti"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "Pasirinkite papildinio failÄ…:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "Pašalinti pasirinktą papildinį"
@@ -841,11 +848,12 @@ msgid "Waving Leaves"
msgstr "Nepermatomi lapai"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr ""
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Nepermatomi lapai"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
+msgid "Waving Plants"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -1617,11 +1625,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1743,10 +1751,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Įjungti kinematografinį"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "Įjungti skrydį"
@@ -1779,6 +1783,11 @@ msgid "Toggle noclip"
msgstr "Įjungti noclip"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Įjungti greitą"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "paspauskite klavišą"
@@ -1886,6 +1895,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "3D clouds"
msgstr "TrimaÄiai debesys"
@@ -1917,6 +1930,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1957,6 +1974,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -2167,7 +2188,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2253,6 +2274,10 @@ msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2423,6 +2448,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2483,6 +2512,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2491,6 +2524,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2573,10 +2610,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2599,6 +2648,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2619,7 +2674,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2668,6 +2723,10 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2983,6 +3042,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3210,6 +3276,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3460,6 +3544,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3490,6 +3582,10 @@ msgid "Inc. volume key"
msgstr "Nustatyti klavišus"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4258,7 +4354,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4332,6 +4428,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4343,7 +4446,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4402,6 +4505,11 @@ msgstr "Žemėlapių generavimas"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Žemėlapių generavimas"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Žemėlapių generavimas"
@@ -4487,6 +4595,12 @@ 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 ""
"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)"
@@ -4673,10 +4787,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4692,7 +4804,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4744,16 +4856,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4907,10 +5021,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4995,6 +5105,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -5008,6 +5126,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5302,6 +5424,10 @@ msgid "Sneaking speed"
msgstr "Nustatyti klavišus"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5611,10 +5737,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5717,6 +5844,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5766,10 +5897,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5794,16 +5933,18 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+msgid "Waving water wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Nepermatomi lapai"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Nepermatomi lapai"
#: src/settings_translation_file.cpp
msgid ""
@@ -5839,10 +5980,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5926,10 +6063,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5974,190 +6107,8 @@ msgid "cURL timeout"
msgstr ""
#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Užverti parduotuvę"
-
-#~ msgid "Disable MP"
-#~ msgstr "Išjungti papildinį"
-
-#~ msgid "Enable MP"
-#~ msgstr "Įjungti papildinį"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Nepateiktas joks pasaulio pavadinimas, arba nepasirinktas žaidimas"
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formatas: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-
-#~ msgid "Possible values are: "
-#~ msgstr "Tinkamos reikšmės yra: "
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Puslapis $1 iš $2"
-
-#~ msgid "Rating"
-#~ msgstr "Įvertinimas"
-
-#~ msgid "Shortname:"
-#~ msgstr "Trumpas pavadinimas:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Sėkmingai įdiegta:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Nerikiuota"
-
-#~ msgid "re-Install"
-#~ msgstr "Įdiegti iš naujo"
-
-#, fuzzy
-#~ msgid "Local Game"
-#~ msgstr "Pradėti žaidimą"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Pašalinti pasirinktą papildinį"
-
-#~ msgid "Play Online"
-#~ msgstr "Žaisti Internete"
-
-#~ msgid "No information available"
-#~ msgstr "NÄ—ra pasiekiamos informacijos"
-
-#~ msgid "Print stacks"
-#~ msgstr "Spausdinti rietuves"
-
-#~ msgid "Use"
-#~ msgstr "Naudoti"
+#~ msgid "Select Package File:"
+#~ msgstr "Pasirinkite papildinio failÄ…:"
-#~ msgid "Next"
-#~ msgstr "Kitas"
-
-#~ msgid "Prior"
-#~ msgstr "Ankstesnis"
-
-#, fuzzy
-#~ msgid "Console key"
-#~ msgstr "Nustatyti klavišus"
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Inventorius"
-
-#, fuzzy
-#~ msgid "Main menu mod manager"
-#~ msgstr "Pagrindinis meniu"
-
-#, fuzzy
-#~ msgid "Use key"
-#~ msgstr "paspauskite klavišą"
-
-#, fuzzy
-#~ msgid "Water Features"
-#~ msgstr "Elemento tekstūros..."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Slėpti papild. pakų turinį"
-
-#~ msgid "Capital"
-#~ msgstr "SostinÄ—"
-
-#~ msgid "Comma"
-#~ msgstr "Kablelis"
-
-#~ msgid "Final"
-#~ msgstr "Galutinis"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Minus"
-
-#~ msgid "Period"
-#~ msgstr "Periodas"
-
-#~ msgid "Plus"
-#~ msgstr "Plius"
-
-#, fuzzy
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Žemėlapių generavimas"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Žemėlapių generavimas"
-
-#, fuzzy
-#~ msgid "Useful for mod developers."
-#~ msgstr "Pagrindiniai kūrėjai"
-
-#~ msgid "No of course not!"
-#~ msgstr "Ne, tikrai ne!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Viešų serverių sąrašas"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "įjungtas"
-
-#~ msgid "GAMES"
-#~ msgstr "ŽAIDIMAI"
-
-#~ msgid "Mods:"
-#~ msgstr "Papildiniai:"
-
-#~ msgid "new game"
-#~ msgstr "naujas žaidimas"
-
-#, fuzzy
-#~ msgid "EDIT GAME"
-#~ msgstr "KEISTI ŽAIDIMĄ"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Pašalinti pasirinktą papildinį"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Pridėti papildinį"
-
-#~ msgid "CLIENT"
-#~ msgstr "ŽAISTI TINKLE"
-
-#~ msgid "START SERVER"
-#~ msgstr "PALEISTI SERVERÄ®"
-
-#~ msgid "Name"
-#~ msgstr "Vardas"
-
-#~ msgid "Password"
-#~ msgstr "Slaptažodis"
-
-#~ msgid "SETTINGS"
-#~ msgstr "NUSTATYMAI"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "VIENAS ŽAIDĖJAS"
-
-#~ msgid "MODS"
-#~ msgstr "PAPILDINIAI"
-
-#~ msgid "Add mod:"
-#~ msgstr "Pridėti papildinį:"
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "Įkeliama..."
-
-#, fuzzy
-#~ msgid "Advanced Settings"
-#~ msgstr "Nustatymai"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Įjungti kinematografinį"
diff --git a/po/minetest.pot b/po/minetest.pot
index 5e7d549cd..0c1ee913c 100644
--- a/po/minetest.pot
+++ b/po/minetest.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -30,15 +30,15 @@ msgid "The server has requested a reconnect:"
msgstr ""
#: builtin/fstk/ui.lua
-msgid "Main menu"
+msgid "Reconnect"
msgstr ""
#: builtin/fstk/ui.lua
-msgid "Reconnect"
+msgid "Main menu"
msgstr ""
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr ""
#: builtin/fstk/ui.lua
@@ -93,14 +93,26 @@ msgstr ""
msgid "Mod:"
msgstr ""
-#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
-msgid "Dependencies:"
+#: 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"
@@ -483,10 +495,6 @@ msgid "Uninstall Package"
msgstr ""
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr ""
-
-#: builtin/mainmenu/tab_content.lua
msgid "Content"
msgstr ""
@@ -759,7 +767,7 @@ msgid "Parallax Occlusion"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
+msgid "Waving Liquids"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
@@ -1479,11 +1487,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiConfirmRegistration.cpp
@@ -1563,15 +1571,15 @@ msgid "Change camera"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
+msgid "Toggle minimap"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle minimap"
+msgid "Toggle fly"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle fly"
+msgid "Toggle pitchmove"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
@@ -2846,10 +2854,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -2985,15 +2994,15 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+msgid "Waving water wave height"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water length"
+msgid "Waving water wavelength"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
+msgid "Waving water wave speed"
msgstr ""
#: src/settings_translation_file.cpp
@@ -3068,12 +3077,12 @@ msgid "View distance in nodes."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -4139,6 +4148,17 @@ msgid ""
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 ""
@@ -4277,43 +4297,95 @@ 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 "Liquid sinking speed"
+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
@@ -4321,6 +4393,10 @@ 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 ""
@@ -4681,6 +4757,18 @@ msgid ""
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 ""
@@ -4767,10 +4855,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4814,14 +4900,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-msgstr ""
-
-#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Biome API temperature and humidity noise parameters"
msgstr ""
@@ -4890,7 +4968,9 @@ msgid "Lava depth"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
+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
@@ -4996,6 +5076,14 @@ 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 ""
@@ -5007,7 +5095,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -5018,7 +5106,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5263,6 +5351,30 @@ 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 ""
@@ -5343,6 +5455,14 @@ 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 ""
@@ -5423,6 +5543,17 @@ 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 ""
@@ -5628,10 +5759,6 @@ msgid "The depth of dirt or other biome filler node."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "River noise"
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Terrain height"
msgstr ""
@@ -5724,16 +5851,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
diff --git a/po/ms/minetest.po b/po/ms/minetest.po
index 7c45c9f4a..0796f3dd3 100644
--- a/po/ms/minetest.po
+++ b/po/ms/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Malay (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-14 08:10+0000\n"
-"Last-Translator: Muhammad Nur Hidayat Yasuyoshi <mnh48mail@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Malay <https://hosted.weblate.org/projects/minetest/minetest/"
"ms/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -23,7 +23,8 @@ msgid "You died"
msgstr "Anda telah meninggal"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Berlakunya ralat dalam skrip Lua, contohnya mods:"
#: builtin/fstk/ui.lua
@@ -119,13 +120,28 @@ msgid "Mod:"
msgstr "Mods:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "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."
+
+#: 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:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Kebergantungan pilihan:"
@@ -483,10 +499,6 @@ msgid "Rename"
msgstr "Namakan Semula"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "Pilih Fail Pakej:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Nyahpasang Pakej"
@@ -771,12 +783,13 @@ msgid "Waving Leaves"
msgstr "Daun Bergoyang"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Tumbuhan Bergoyang"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Nod bergoyang"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Air Bergelora"
+msgid "Waving Plants"
+msgstr "Tumbuhan Bergoyang"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -900,12 +913,10 @@ msgid "- Server Name: "
msgstr "- Nama Pelayan: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
msgstr "Pergerakan automatik dilumpuhkan"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
msgstr "Pergerakan automatik dibolehkan"
@@ -1522,13 +1533,13 @@ msgid "Register and Join"
msgstr "Daftar dan Sertai"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
"Anda akan sertai pelayan di %1$s dengan nama \"%2$s\" untuk kali pertama. "
"Jika anda teruskan, akaun baru dengan maklumat anda akan dicipta di pelayan "
@@ -1651,10 +1662,6 @@ msgid "Special"
msgstr "Istimewa"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Togol Sinematik"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "Togol Papar Pandu"
@@ -1683,6 +1690,11 @@ msgid "Toggle noclip"
msgstr "Togol tembus blok"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Togol log sembang"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "tekan kekunci"
@@ -1799,19 +1811,21 @@ msgid "2D noise that controls the shape/size of step mountains."
msgstr "Hingar 2D yang mengawal bentuk/saiz gunung curam."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
-msgstr "Hingar 2D yang mengawal saiz/kejadian jarak gunung rabung."
+msgstr "Hingar 2D yang mengawal saiz/kejadian gunung rabung berjarak."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of rolling hills."
msgstr "Hingar 2D yang mengawal saiz/kejadian bukit."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of step mountain ranges."
-msgstr "Hingar 2D yang mengawal saiz/kejadian jarak gunung curam."
+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."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1846,6 +1860,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
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 ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1898,6 +1916,10 @@ msgid "Acceleration in air"
msgstr "Pecutan dalam udara"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Pengubah Blok Aktif"
@@ -2039,16 +2061,12 @@ msgstr ""
"Nyatakan dalam unit blokpeta (16 nod)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
msgstr "Kekunci autopergerakan"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically jump up single-node obstacles."
-msgstr ""
-"Lompat halangan satu-nod secara automatik.\n"
-"jenis: bool"
+msgstr "Lompat halangan satu-nod secara automatik."
#: src/settings_translation_file.cpp
msgid "Automatically report to the serverlist."
@@ -2127,8 +2145,9 @@ msgid "Bumpmapping"
msgstr "Pemetaan timbul"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2199,7 +2218,6 @@ msgid "Center of light curve mid-boost."
msgstr "Titik tengah tolakan-tengah lengkung cahaya."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Changes the main menu UI:\n"
"- Full: Multiple singleplayer worlds, game choice, texture pack chooser, "
@@ -2209,12 +2227,11 @@ msgid ""
"necessary for smaller screens."
msgstr ""
"Mengubah antara muka menu utama:\n"
-"- Penuh: Banyak dunia pemain perseorangan, pilihan permainan, pek tekstur "
-"dll.\n"
+"- Penuh: Banyak dunia pemain perseorangan, pilihan permainan, pek "
+"tekstur, dll.\n"
"- Mudah: Satu dunia pemain perseorangan, tiada pilihan permainan atau pek "
"tekstur.\n"
-"Mungkin diperlukan untuk skrin yang lebih kecil.\n"
-"- Auto: Mudah di Android, penuh di peranti lain."
+"Mungkin diperlukan untuk skrin yang lebih kecil."
#: src/settings_translation_file.cpp
msgid "Chat key"
@@ -2225,6 +2242,11 @@ 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"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr "Nilai ambang tendang mesej sembang"
@@ -2310,6 +2332,15 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"so see a full list at https://content.minetest.net/help/content_flags/"
msgstr ""
+"Senarai bendera yang ingin disembunyikan dalam repositori kandungan "
+"dipisahkan dengan koma.\n"
+"\"nonfree\" boleh digunakan untuk menyembunyikan pakej yang tidak layak "
+"digelar 'perisian bebas',\n"
+"seperti ditakrifkan oleh Yayasan Perisian Bebas (Free Software Foundation).\n"
+"Anda juga boleh menyatakan klasifikasi kandungan.\n"
+"Bendera-bendera ini tidak bersangkut paut dengan versi Minetest tertentu,\n"
+"jadi anda boleh lihat senarai penuh di https://content.minetest.net/help/"
+"content_flags/"
#: src/settings_translation_file.cpp
msgid ""
@@ -2358,12 +2389,11 @@ msgstr "Ketinggian konsol"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "Senarai Hitam Bendera ContentDB"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Kandungan"
+msgstr "URL ContentDB"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2394,6 +2424,10 @@ msgstr ""
"tidak berubah."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Mengawal kecuraman/kedalaman tekanan rendah tasik."
@@ -2455,6 +2489,11 @@ 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"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Tahap log nyahpepijat"
@@ -2463,6 +2502,10 @@ msgid "Dec. volume key"
msgstr "Kekunci perlahankan bunyi"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Langkah pelayan khusus"
@@ -2552,12 +2595,27 @@ 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."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Mentakrifkan jarak maksimum untuk pemindahan pemain dalam unit blok (0 = "
"tiada had)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "Mentakrifkan struktur saluran sungai berskala besar."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Mentakrifkan kawasan di mana pokok mempunyai epal."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Mentakrifkan kawasan pokok dan ketumpatan pokok."
@@ -2583,6 +2641,12 @@ msgid "Deprecated Lua API handling"
msgstr "Pengendalian API Lua terkecam"
#: 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 "Depth below which you'll find giant caverns."
msgstr "Kedalaman di mana anda akan mula jumpa gua besar."
@@ -2603,9 +2667,10 @@ 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 new biome system is enabled, this is ignored."
+"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."
@@ -2658,6 +2723,11 @@ 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"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2699,13 +2769,15 @@ msgstr "Membolehkan input pengguna secara rawak (hanya untuk percubaan)."
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Bolehkan pengesahan pendaftaran"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Membolehkan pengesahan pendaftaran apabila menyambung kepada pelayan.\n"
+"Jika dilumpuhkan, akaun baru akan didaftarkan secara automatik."
#: src/settings_translation_file.cpp
msgid ""
@@ -3007,6 +3079,13 @@ msgid "Font size"
msgstr "Saiz fon"
#: 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 "Format of screenshots."
msgstr "Format yang digunakan untuk tangkap layar."
@@ -3134,7 +3213,6 @@ msgid "Global callbacks"
msgstr "Panggil balik sejagat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Global map generation attributes.\n"
"In Mapgen v6 the 'decorations' flag controls all decorations except trees\n"
@@ -3143,10 +3221,7 @@ msgstr ""
"Atribut penjanaan peta sejagat.\n"
"Dalam janapeta v6, bendera 'decorations' mengawal semua hiasan kecuali "
"pokok\n"
-"dan rumput hutan, dalam janapeta lain pula bendera ini mengawal semua "
-"hiasan.\n"
-"Bendera yang tidak dibolehkan tidak diubah daripada nilai lalai.\n"
-"Bendera bermula dengan 'no' digunakan untuk betul-betul melumpuhkan mereka."
+"dan rumput hutan, dalam janapeta lain pula bendera ini mengawal semua hiasan."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
@@ -3268,6 +3343,24 @@ msgstr ""
"permainan."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Kekunci item seterusnya dalam hotbar"
@@ -3518,13 +3611,12 @@ msgstr ""
"Hanya bolehkan tetapan ini jika anda tahu apa yang anda lakukan."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
-"Jika dibolehkan bersama-sama mod terbang, ia membuatkan arah pergerakan "
-"relatif dengan pic pemain."
+"Jika dibolehkan, ia membuatkan arah pergerakan relatif dengan pic pemain "
+"apabila terbang atau berenang."
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
@@ -3552,6 +3644,14 @@ msgstr ""
"dihadkan ke jarak ini daripada pemain kepada nod."
#: 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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
"Jika tetapan ini ditetapkan, pemain akan sentiasa dilahirkan (semula) dekat "
@@ -3586,6 +3686,10 @@ msgid "Inc. volume key"
msgstr "Kekunci kuatkan bunyi"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4354,13 +4458,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 ""
-"Kekunci untuk menogol mod terbang pic.\n"
+"Kekunci untuk menogol mod pergerakan pic.\n"
"Lihat http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4612,7 +4715,8 @@ msgid "Liquid queue purge time"
msgstr "Masa pembersihan giliran cecair"
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+#, fuzzy
+msgid "Liquid sinking"
msgstr "Kelajuan lubuk cecair"
#: src/settings_translation_file.cpp
@@ -4675,10 +4779,9 @@ msgstr "Direktori peta"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "Atribut penjanaan peta khusus untuk janapeta Carpathian."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen Valleys.\n"
"'altitude_chill': Reduces heat with altitude.\n"
@@ -4687,10 +4790,10 @@ msgid ""
"to become shallower and occasionally dry.\n"
"'altitude_dry': Reduces humidity with altitude."
msgstr ""
-"Atribut penjanaan peta khusus untuk janapeta lembah (Valleys).\n"
+"Atribut penjanaan peta khusus untuk janapeta Valleys.\n"
"'altitude_chill': Mengurangkan suhu seiring ketinggian.\n"
-"'humid_rivers': Menaikkan kelembapan sekitar sungai dan kolam air.\n"
-"'vary_river_depth': Jika dibolehkan, kelembapan rendah dan suhu tinggu\n"
+"'humid_rivers': Menaikkan kelembapan sekitar sungai.\n"
+"'vary_river_depth': Jika dibolehkan, kelembapan rendah dan suhu tinggi\n"
"menyebabkan sungai menjadi cetek dan kadang-kala kering.\n"
"'altitude_dry': Mengurangkan kelembapan seiring ketinggian."
@@ -4698,38 +4801,45 @@ msgstr ""
#, 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."
+
+#: 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 ""
"Atribut penjanaan peta khusus untuk janapeta Flat.\n"
-"Kadang-kala tasik dan bukit boleh ditambah ke dunia rata.\n"
-"Bendera yang tidak dibolehkan tidak diubah daripada nilai lalai.\n"
-"Bendera bermula dengan 'no' digunakan untuk betul-betul melumpuhkan mereka."
+"Kadang-kala tasik dan bukit boleh ditambah ke dunia rata."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+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"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
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.\n"
-"Bendera yang tidak dibolehkan tidak diubah daripada nilai lalai.\n"
-"Bendera bermula dengan 'no' digunakan untuk betul-betul melumpuhkan mereka."
+"bendera 'jungles' diabaikan."
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Atribut penjanaan peta khusus untuk Janapeta v7.\n"
+"'ridges' membolehkan sungai."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4776,6 +4886,11 @@ msgid "Mapgen Fractal"
msgstr "Fraktal Janapeta"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Bendera khusus Janapeta Flat"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr "Janapeta V5"
@@ -4857,6 +4972,12 @@ msgstr "Lebar hotbar maksima"
#: 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 ""
"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)"
@@ -5063,15 +5184,13 @@ msgstr "Bisukan bunyi"
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
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), flat, singlenode.\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 "
@@ -5097,7 +5216,8 @@ msgstr ""
"senarai pelayan."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+#, fuzzy
+msgid "Near clipping plane"
msgstr "Satah dekat"
#: src/settings_translation_file.cpp
@@ -5149,19 +5269,34 @@ msgid "Number of emerge threads"
msgstr "Jumlah jalur keluar"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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 ""
+"Jumlah jalur timbul untuk digunakan.\n"
+"Kosong atau 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"
+"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"
-"For many users the optimum setting may be '1'."
-msgstr ""
+"Untuk kebanyakan pengguna, tetapan optimum ialah '1'."
#: src/settings_translation_file.cpp
msgid ""
@@ -5180,7 +5315,7 @@ msgstr "Jumlah lelaran oklusi paralaks."
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Repositori Kandungan Dalam Talian"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5257,14 +5392,12 @@ msgid "Physics"
msgstr "Ikut fizik"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move key"
-msgstr "Kekunci terbang pic"
+msgstr "Kekunci pergerakan pic"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move mode"
-msgstr "Mod pergerakan pic dibolehkan"
+msgstr "Mod pergerakan pic"
#: src/settings_translation_file.cpp
msgid ""
@@ -5337,10 +5470,6 @@ msgid "Profiling"
msgstr "Pemprofilan"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-msgstr "Kurungan bawah tanah melunjur"
-
-#: 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 "
@@ -5392,7 +5521,6 @@ msgid "Report path"
msgstr "Laluan laporan"
#: src/settings_translation_file.cpp
-#, fuzzy
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"
@@ -5405,15 +5533,17 @@ msgid ""
"csm_restriction_noderange)\n"
"READ_PLAYERINFO: 32 (disable get_player_names call client-side)"
msgstr ""
-"Hadkan akses sesetengah fungsi pihak klien di pelayan\n"
-"Gabungkan bendera bait di bawah ini untuk mengehadkan ciri-ciri pihak "
-"klien:\n"
-"LOAD_CLIENT_MODS: 1 (melumpuhkan pemuatan mods klien)\n"
+"Hadkan akses sesetengah fungsi pihak klien di pelayan.\n"
+"Gabungkan bendera bait di bawah ini untuk mengehadkan ciri-ciri pihak klien, "
+"atau\n"
+"tetapkan kepada 0 untuk tiada had:\n"
+"LOAD_CLIENT_MODS: 1 (melumpuhkan pemuatan mods pihak klien)\n"
"CHAT_MESSAGES: 2 (melumpuhkan panggilan send_chat_message pihak klien)\n"
"READ_ITEMDEFS: 4 (melumpuhkan panggilan get_item_def pihak klien)\n"
"READ_NODEDEFS: 8 (melumpuhkan panggilan get_node_def pihak klien)\n"
"LOOKUP_NODES_LIMIT: 16 (mengehadkan panggilan get_node pihak klien kepada\n"
-"csm_restriction_noderange)"
+"csm_restriction_noderange)\n"
+"READ_PLAYERINFO: 32 (melumpuhkan panggilan get_player_names pihak klien)"
#: src/settings_translation_file.cpp
msgid "Ridge mountain spread noise"
@@ -5440,6 +5570,16 @@ msgid "Rightclick repetition interval"
msgstr "Selang pengulangan klik kanan"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel depth"
+msgstr "Kedalaman sungai"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Kedalaman sungai"
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr "Kedalaman sungai"
@@ -5452,6 +5592,11 @@ msgid "River size"
msgstr "Saiz sungai"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Kedalaman sungai"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Rakaman gulung balik"
@@ -5792,6 +5937,10 @@ msgid "Sneaking speed"
msgstr "Kelajuan menyelinap"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Bunyi"
@@ -5937,7 +6086,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "URL untuk repositori kandungan"
#: src/settings_translation_file.cpp
msgid ""
@@ -6175,11 +6324,13 @@ msgid "Undersampling"
msgstr "Pensampelan pengurangan"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"Pensampelan pengurangan serupa seperti menggunakan resolusi skrin rendah,\n"
"tetapi ia hanya diaplikasikan kepada dunia permainan sahaja, tidak mengubah "
@@ -6296,6 +6447,10 @@ msgid "Varies steepness of cliffs."
msgstr "Pelbagai kecuraman cenuram."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Penyegerakan menegak skrin."
@@ -6350,10 +6505,18 @@ msgstr ""
"Julat kasarnya -2 sehingga 2."
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Kelajuan berjalan"
#: 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"
msgstr "Aras air"
@@ -6378,16 +6541,19 @@ msgid "Waving water"
msgstr "Air bergelora"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Ketinggian air bergelora"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Panjang air bergelora"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Kelajuan air bergelora"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Kelajuan air bergelora"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Panjang air bergelora"
#: src/settings_translation_file.cpp
msgid ""
@@ -6449,11 +6615,6 @@ msgstr ""
"dikompil bersama."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-"Sama ada kurungan bawah tanah kadang-kala terlunjur daripada rupa bumi."
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
"Sama ada animasi tekstur nod perlu dinyahsegerakkan pada setiap blok peta."
@@ -6560,10 +6721,6 @@ msgid "Y of upper limit of large caves."
msgstr "Had Y pengatas gua besar."
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr "Had Y pengatas lava dalam gua besar."
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr "Jarak Y di mana gua berkembang kepada saiz penuh."
@@ -6607,487 +6764,21 @@ msgstr "Had cURL selari"
msgid "cURL timeout"
msgstr "Had masa cURL"
-#~ msgid "Content Store"
-#~ msgstr "Kedai Kandungan"
-
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Jumlah jalur keluar yang akan digunakan.\n"
-#~ "Kosongkan medan ini atau letak 0, atau naikkan nilai ini untuk "
-#~ "menggunakan\n"
-#~ "pelbagai jalur. Dalam sistem pemproses berbilang, nilai ini boleh "
-#~ "meningkatkan\n"
-#~ "kelajuan penjanaan peta dengan mengorbankan kualiti gua."
-
-#~ msgid "Pitch fly mode"
-#~ msgstr "Mod terbang pic"
-
-#~ msgid "Show non-free packages"
-#~ msgstr "Tunjukkan pakej tidak-bebas"
-
-#~ msgid ""
-#~ "Show packages in the content store that do not qualify as 'free "
-#~ "software'\n"
-#~ "as defined by the Free Software Foundation."
-#~ msgstr ""
-#~ "Tunjukkan pakej dalam kedai kandungan yang tidak layak sebagai 'perisian "
-#~ "bebas'\n"
-#~ "seperti yang ditakrifkan oleh Yayasan Perisian Bebas (Free Software "
-#~ "Foundation)."
-
-#~ msgid "Disable MP"
-#~ msgstr "Melumpuhkan MP"
-
-#~ msgid "Enable MP"
-#~ msgstr "Membolehkan MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Nama dunia tidak diberi atau tiada permainan dipilih"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" bukanlah bendera yang sah."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Formatnya ialah 3 nombor dalam kurungan dipisahkan dengan koma."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Format: <ofset>, <skala>, (<sebarX>, <sebarY>, <sebarZ>), <benih>, "
-#~ "<oktaf>, <penerusan>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "Anda juga boleh tambah lakunariti dengan koma pelopor."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Sila masukkan senarai bendera dipisahkan dengan koma."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Nilai yang boleh digunakan: "
-
-#~ msgid "Select path"
-#~ msgstr "Pilih laluan"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Mods Subpermainan"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Ms. $1 drpd $2"
-
-#~ msgid "Rating"
-#~ msgstr "Rating"
-
-#~ msgid "Shortname:"
-#~ msgstr "Nama Singkat:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Berjaya dipasang:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Tidak bersusun"
-
-#~ msgid "re-Install"
-#~ msgstr "Pasang Semula"
-
-#~ msgid "Local Game"
-#~ msgstr "Permainan Tempatan"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Nyahpasangkan pek mods yang dipilih"
-
-#~ msgid "Play Online"
-#~ msgstr "Main Dalam Talian"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Pemetaan Biasa"
-
-#~ msgid "No information available"
-#~ msgstr "Tiada maklumat tersedia"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Kekuatan bunyi diubah kepada 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Kekuatan bunyi diubah kepada 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Tindanan Cetak"
-
-#~ msgid "Use"
-#~ msgstr "Guna"
-
-#~ msgid "Next"
-#~ msgstr "Bawah Halaman (PgDn)"
-
-#~ msgid "Prior"
-#~ msgstr "Atas Halaman (PgUp)"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Selang masa pengubah blok aktif"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Sistem Android sahaja: Cuba untuk mencipta tekstur inventori daripada\n"
-#~ "jejaring apabila tiada penerjemahan yang disokong dijumpai."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Umumkan ke senarai pelayan ini.\n"
-#~ "Jika anda ingin umumkan alamat IPv6 anda, gunakan serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Skala anggaran (X,Y,Z) fraktal dalam nod."
-
-#~ msgid "Autorun key"
-#~ msgstr "Kekunci berlari auto"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Gua dan terowong yang terbentuk di persimpangan dua hingar"
-
-#~ msgid "Cloud height"
-#~ msgstr "Tinggi awan"
+#~ msgid "Projecting dungeons"
+#~ msgstr "Kurungan bawah tanah melunjur"
-#~ msgid "Console key"
-#~ msgstr "Kekunci konsol"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Sentiasa bergerak ke depan tanpa henti (hanya untuk percubaan)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Mencipta ciri lava yang tidak dapat diramal di dalam gua.\n"
-#~ "Ini boleh menyukarkan penggalian. Kosong melumpuhkan tetapan ini. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Mencipta ciri air yang tidak dapat diramal di dalam gua.\n"
-#~ "Ini boleh menyukarkan penggalian. Kosong melumpuhkan tetapan ini. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Kelajuan mendekam"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Kedalaman di mana anda akan mula jumpa banyak gua."
-
-#~ msgid "Descending speed"
-#~ msgstr "Kelajuan turun"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Melumpuhkan jujukan lepas"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
+#~ msgid "Whether dungeons occasionally project from the terrain."
#~ msgstr ""
-#~ "Melumpuhkan jujukan lepas (escape sequences), cth: pewarnaan sembang.\n"
-#~ "Gunakan ini jika anda ingin menjalankan pelayan dengan klien sebelum "
-#~ "0.4.14 dan\n"
-#~ "anda ingin melumpuhkan jujukan lepas yang dijana oleh mods."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Membolehkan apungan pandang"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Membolehkan apungan pandang ketika berjalan."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Medan pandang untuk zum"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Medan pandang apabila mengezum, dalam darjah sudut.\n"
-#~ "Ini memerlukan keistimewaan \"zum\" dalam pelayan."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Sejauh manakah klien dapat tahu mengenai objek, dinyatakan dalam unit "
-#~ "blokpeta (16 nod)."
-
-#~ msgid "General"
-#~ msgstr "Umum"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Ketinggian di mana awan muncul."
+#~ "Sama ada kurungan bawah tanah kadang-kala terlunjur daripada rupa bumi."
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Berapa luas kawasan blok-blok yang tertakluk kepada barangan blok aktif, "
-#~ "dinyatakan dalam unit blokpeta (16 nod).\n"
-#~ "Dalam blok aktif, objek akan dimuatkan dan ABM akan berjalan."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "Jika dibolehkan, tunjukkan mesej status pelayan ketika pemain berjaya "
-#~ "menyambung."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Godaman imej inventori"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Lelaran fungsi rekursif.\n"
-#~ "Mengawal jumlah perincian halus."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Kekunci untuk membuka konsol sembang.\n"
-#~ "Lihat http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Kekunci untuk mencetak tindanan nyahpepijat. Digunakan untuk "
-#~ "pembangunan.\n"
-#~ "Lihat http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Ciri-Ciri Lava"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Pengurus permainan menu utama"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Pengurus mods menu utama"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Artibut penjanaan peta khusus untuk janapeta Valleys.\n"
-#~ "'altitude_chill' membuatkan ketinggian lebih tinggi lebih sejuk, boleh "
-#~ "menjadi isu biom.\n"
-#~ "'humid_rivers' mengubah kelembapan sekitar sungai dan dalam kawasan di "
-#~ "mana air berkemungkinan mencipta kolam,\n"
-#~ "ia mungkin mengganggu biom yang dilaraskan dengan teliti.\n"
-#~ "Bendera yang tidak dinyatakan dalam rentetan bendera tidak diubah "
-#~ "daripada nilai lalai.\n"
-#~ "Bendera bermula dengan 'no' digunakan untuk betul-betul melumpuhkan "
-#~ "mereka."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atribut penjanaan peta khusus untuk janapeta v7.\n"
-#~ "Bendera 'ridges' membolehkan sungai-sungai dijana.\n"
-#~ "Tanah terapung masih dalam ujikaji ketika ini dan mungkin berubah.\n"
-#~ "Bendera yang tidak dinyatakan dalam rentetan bendera tidak diubah "
-#~ "daripada nilai lalai.\n"
-#~ "Bendera bermula dengan 'no' digunakan untuk betul-betul melumpuhkan "
-#~ "mereka."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Kedalaman gua raksasa"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Hingar gua raksasa"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Banyak gua terbentuk di sini."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr ""
-#~ "Jumlah maksimum kesemua blok-blok yang boleh dihantar serentak dari "
-#~ "pelayan."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr ""
-#~ "Jumlah maksimum untuk blok-blok yang dihantar serentak kepada setiap "
-#~ "klien."
+#~ msgid "Waving Water"
+#~ msgstr "Air Bergelora"
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Jumlah maksimum kesemua blok yang dihantar serentak"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Had Y pengatas lava dalam gua besar."
-#~ msgid "Modstore details URL"
-#~ msgstr "Kedai Mods: URL perincian"
+#~ msgid "Select Package File:"
+#~ msgstr "Pilih Fail Pakej:"
-#~ msgid "Modstore download URL"
-#~ msgstr "Kedai Mods: URL muat turun"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Kedai Mods: URL senarai mods"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Nama penjana peta yang akan digunakan apabila mencipta dunia baru.\n"
-#~ "Mencipta dunia baru melalui menu utama akan mengatasi tetapan ini."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Hingar sungai -- sungai terjadi dekat dengan nilai kosong"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Saiz ketulan untuk dijana serentak oleh janapeta, dinyatakan dalam unit "
-#~ "blokpeta (16 nod)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Sokong pelayan permainan lama"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "Ketinggian di mana suhu jatuh sebanyak 20C"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Penerjemahan bahagian belakang untuk Irrlicht."
-
-#~ msgid "Use key"
-#~ msgstr "Kekunci guna"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Gunakan pemetaan Mip untuk menyesuaikan tekstur. Mungkin boleh "
-#~ "meningkatkan prestasi sedikit."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Bendera C Lembah"
-
-#~ msgid "Water Features"
-#~ msgstr "Ciri-ciri Air"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Pilihan untuk menyokong pelayan permainan lama sebelum protokol versi "
-#~ "25.\n"
-#~ "Bolehkan pilihan jika anda ingin sambung ke pelayan permainan 0.4.12 dan "
-#~ "sebelumnya.\n"
-#~ "Pelayan 0.4.13 ke atas akan berjaya sambung, pelayan 0.4.12-dev mungkin "
-#~ "boleh sambung.\n"
-#~ "Lumpuhkan pilihan ini akan melindungi kata laluan anda dengan lebih baik."
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Aras Y untuk rupa bumi (atas cenuram) yang lebih tinggi."
-
-#~ msgid "Hide mp content"
-#~ msgstr ""
-#~ "Sembunyikan\n"
-#~ "Kandungan MP"
-
-#~ msgid "Capital"
-#~ msgstr "Butang Caps Lock"
-
-#~ msgid "Kana"
-#~ msgstr "Butang Kana"
-
-#~ msgid "Final"
-#~ msgstr "Butang Final"
-
-#~ msgid "Junja"
-#~ msgstr "Butang Junja"
-
-#~ msgid "Kanji"
-#~ msgstr "Butang Kanji"
-
-#~ msgid "Comma"
-#~ msgstr "Koma"
-
-#~ msgid "Minus"
-#~ msgstr "Minus"
-
-#~ msgid "Period"
-#~ msgstr "Noktah"
-
-#~ msgid "Plus"
-#~ msgstr "Plus"
-
-#~ msgid "Attn"
-#~ msgstr "Butang Attn"
-
-#~ msgid "CrSel"
-#~ msgstr "Butang CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "Butang ExSel"
-
-#~ msgid "PA1"
-#~ msgstr "Butang PA1"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Tetapan Mendalam"
-
-#~ msgid "View"
-#~ msgstr "Lihat"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atribut penjanaan peta khusus untuk Janapeta v7.\n"
-#~ "'ridges' membolehkan sungai.\n"
-#~ "Bendera yang tidak dibolehkan tidak diubah daripada nilai lalai.\n"
-#~ "Bendera bermula dengan 'no' digunakan untuk betul-betul melumpuhkan "
-#~ "mereka."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atribut penjanaan peta khusus untuk Janapeta v5.\n"
-#~ "Bendera yang tidak dibolehkan tidak diubah daripada nilai lalai.\n"
-#~ "Bendera bermula dengan 'no' digunakan untuk betul-betul melumpuhkan "
-#~ "mereka."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atribut penjanaan peta khusus untuk janapeta Carpathian.\n"
-#~ "Bendera yang tidak dibolehkan tidak diubah daripada nilai lalai.\n"
-#~ "Bendera bermula dengan 'no' digunakan untuk betul-betul melumpuhkan "
-#~ "mereka."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Togol Sinematik"
diff --git a/po/my/minetest.po b/po/my/minetest.po
new file mode 100644
index 000000000..d0f8bfdc7
--- /dev/null
+++ b/po/my/minetest.po
@@ -0,0 +1,5890 @@
+msgid ""
+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 <EMAIL@ADDRESS>\n"
+"Language-Team: Burmese <https://hosted.weblate.org/projects/minetest/"
+"minetest/my/>\n"
+"Language: my\n"
+"MIME-Version: 1.0\n"
+"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"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "Respawn"
+msgstr ""
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "You died"
+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 "Main menu"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "Ok"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "Reconnect"
+msgstr ""
+
+#: builtin/fstk/ui.lua
+msgid "The server has requested a reconnect:"
+msgstr ""
+
+#: builtin/mainmenu/common.lua src/client/game.cpp
+msgid "Loading..."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Protocol version mismatch. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Server enforces protocol version $1. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Server supports protocol versions between $1 and $2. "
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "Try reenabling public serverlist and check your internet connection."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "We only support protocol version $1."
+msgstr ""
+
+#: builtin/mainmenu/common.lua
+msgid "We support protocol versions between version $1 and $2."
+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 builtin/mainmenu/tab_content.lua
+msgid "Dependencies:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable modpack"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable all"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable modpack"
+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_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 game description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No hard dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No modpack description provided."
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional 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/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
+msgid "Save"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "World:"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "All packages"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back to Main Menu"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Downloading and installing $1, please wait..."
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Failed to download $1"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Install"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No packages could be retrieved"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No results"
+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 "Texture packs"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Uninstall"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Update"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "A world named \"$1\" already exists"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Create"
+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 "Download one from minetest.net"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Game"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Mapgen"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "No game selected"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Seed"
+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 "World name"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "You have no games installed."
+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 "Rename Modpack:"
+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_settings_advanced.lua
+msgid "(No description of setting given)"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "2D Noise"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "< Back to Settings page"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Browse"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Disabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Edit"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Lacunarity"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Octaves"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Persistance"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid integer."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid number."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Restore Default"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
+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 "Show technical names"
+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 "X"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "absvalue"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 (Enabled)"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 mods"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Failed to install $1 to $2"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find real mod name for: $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: file: \"$1\""
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to find a valid mod or modpack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a $1 as a texture pack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a game as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a mod as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a modpack as a $1"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Browse online content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Disable Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Information:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Installed Packages:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "No dependencies."
+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 "Uninstall Package"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Use Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Active Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Credits"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Announce Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Bind Address"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Configure"
+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 Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Host Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Name/Password"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "New"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "No world created or selected!"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Play Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Port"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Select World:"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Server Port"
+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 "Connect"
+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 "Del. Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
+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 "Ping"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "PvP enabled"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "3D Clouds"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "4x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "8x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "All Settings"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Antialiasing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Are you sure to reset your singleplayer world?"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Autosave Screen Size"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bump Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Connected Glass"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Fancy Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Generate Normal Maps"
+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 "No"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Mipmap"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Highlighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Outlining"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "None"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Water"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Parallax Occlusion"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Particles"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Reset singleplayer world"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Screen:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Settings"
+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 "Simple Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Smooth Lighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Texturing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "To enable shaders the OpenGL driver needs to be used."
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Tone Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Touchthreshold: (px)"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Trilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Liquids"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Plants"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Yes"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Config mods"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Main"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Start Singleplayer"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Connection timed out."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Done!"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Loading textures..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Rebuilding shaders..."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Connection error (timed out?)"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Could not find or load game \""
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Invalid gamespec."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Main Menu"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "No world selected and no address provided. Nothing to do."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Player name too long."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Please choose a name!"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided password file failed to open: "
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided world path doesn't exist: "
+msgstr ""
+
+#: src/client/fontengine.cpp
+msgid "needs_fallback_font"
+msgstr ""
+
+#: src/client/game.cpp
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Address: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Creative Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Damage: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Port: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Public: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- PvP: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Server Name: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Change Password"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Client side scripting is disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Connecting to server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Continue"
+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 "Creating client..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Creating server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info and profiler graph hidden"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info, profiler graph, and wireframe hidden"
+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
+msgid "Disabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Enabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to Menu"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to OS"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fast 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 "Fly mode disabled"
+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 "Fog disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fog enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game info:"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game paused"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Hosting server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Item definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "KiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Media..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "MiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap hidden"
+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 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 "Noclip 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 "Node definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Off"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "On"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Profiler graph shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Remote server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Resolving address..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Shutting down..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Singleplayer"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound Volume"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound muted"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound unmuted"
+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 maximum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at minimum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Volume changed to %d%%"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Wireframe shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Zoom currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Profiler hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Apps"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Backspace"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Caps Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "End"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Erase EOF"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Execute"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Help"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Home"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Accept"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Convert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Escape"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Mode Change"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Nonconvert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Insert"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Left"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Num Lock"
+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 "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 "OEM Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Pause"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Play"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Print"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Return"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Scroll Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Select"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Sleep"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Snapshot"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Space"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Tab"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 1"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 2"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Zoom"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
+msgid "Passwords do not match!"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp
+msgid "Register and Join"
+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/guiFormSpecMenu.cpp
+msgid "Proceed"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "\"Special\" = climb down"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Autoforward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Automatic jumping"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Backward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Change camera"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Chat"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Console"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Double tap \"jump\" to toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Drop"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Forward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Jump"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Key already in use"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Local command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Mute"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Next item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Prev. item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Range select"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Screenshot"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Sneak"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Special"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle HUD"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle chat log"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fast"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fog"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle minimap"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Change"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Confirm Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "New Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Exit"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Muted"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr ""
+
+#: src/gui/modalMenu.cpp
+msgid "Enter "
+msgstr ""
+
+#: src/network/clientpackethandler.cpp
+msgid "LANG_CODE"
+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 ""
+"(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 ""
+"(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 ""
+"(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 ""
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of ridged mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of rolling hills."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of step mountains."
+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 "2D noise that controls the size/occurrence of rolling hills."
+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 "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D clouds"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining giant caverns."
+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 "3D noise defining structure of river canyon walls."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+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 ""
+"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 "A message to be displayed to all clients when the server crashes."
+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 "ABM interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Absolute limit of emerge queues"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration in air"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block management interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
+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 "Adds particles when digging a node."
+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 ""
+"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 "Advanced"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Altitude chill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Always fly and fast"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ambient occlusion gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amount of messages a player may send per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amplifies the valleys."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Anisotropic filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce to this serverlist."
+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 "Apple trees noise"
+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 "Ask to reconnect after crash"
+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 "Automatic forward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically jump up single-node obstacles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically report to the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autosave screen size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autoscaling mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Backward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base terrain height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bilinear filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bind address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome API temperature and humidity noise parameters"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Block send optimize distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Build inside player"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Builtin"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bumpmapping"
+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 "Camera smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera smoothing in cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera update toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave noise"
+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 "Cave width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern taper"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern upper limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Center of light curve mid-boost."
+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 "Chat key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message count limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message kick threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message max length"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chatcommands"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chunk size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Clean transparent textures"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client and Server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client modding"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side modding restrictions"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side node lookup range restriction"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Climbing speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cloud radius"
+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 "Clouds in menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Colored fog"
+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 ""
+
+#: 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 ""
+"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 "Command key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect glass"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect to external media server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connects glass if supported by node."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console alpha"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB URL"
+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 "Controls"
+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 "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/depth of lake depressions."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/height of hills."
+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 "Controls width of tunnels, a smaller value creates wider tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crash message"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Creative"
+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 "Crosshair color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "DPI"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Damage"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Darkness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug info toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dec. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dedicated server step"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default acceleration"
+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 "Default password"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default report format"
+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 ""
+"Defines areas of floatland smooth terrain.\n"
+"Smooth floatlands occur when noise > 0."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas where trees have apples."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas with sandy beaches."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain and steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines full size of caverns, smaller values create larger caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines large-scale river channel structure."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines location and terrain of optional hills and lakes."
+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 "Defines the base ground level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines tree areas and tree density."
+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 "Delay in sending blocks after building"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Delay showing tooltips, stated in milliseconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Deprecated Lua API handling"
+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 "Depth below which you'll find giant caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Depth below which you'll find large caves."
+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 "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 "Desynchronize block animation"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Digging particles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disable anticheat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disallow empty passwords"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Domain name of server, to be displayed in the serverlist."
+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 "Drop item key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dump the mapgen debug information."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon maximum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon minimum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+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 "Enable VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable console window"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable creative mode for new created maps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable joysticks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod channels support."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable players getting damage and dying."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable random user input (only used for testing)."
+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 ""
+"Enable smooth lighting with simple ambient occlusion.\n"
+"Disable for speed or for different looks."
+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 ""
+"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 ""
+"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 ""
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables animation of inventory items."
+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 "Enables caching of facedir rotated meshes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables filmic tone mapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables minimap."
+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 ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Engine profiling data print interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Entity methods"
+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 "FPS in pause menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "FSAA"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Factor noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fall bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fallback font"
+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 "Fallback font size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode acceleration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode speed"
+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 "Field of view"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Field of view in degrees."
+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 "Filler depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filler depth noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filmic tone mapping"
+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 "Filtering"
+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 "First of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed map seed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed virtual joystick"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain density"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain exponent"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fly key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Flying"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog start"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow"
+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 "Font shadow offset, if 0 then shadow will not be drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size"
+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 "Format of screenshots."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Forward key"
+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 "Fractal type"
+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 "FreeType fonts"
+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 ""
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+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 "Full screen"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Full screen BPP"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter txr2img"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Generate normalmaps"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Global callbacks"
+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 "Gradient of light curve at maximum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gradient of light curve at minimum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Graphics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gravity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HTTP mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD scale factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD toggle key"
+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 ""
+"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 "Heat blend noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Heat noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height select noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "High-precision FPU"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness3 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness4 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Homepage of server, to be displayed in the serverlist."
+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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 10 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 11 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 12 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 13 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 14 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 15 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 16 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 17 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 18 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 19 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 2 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 20 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 21 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 22 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 23 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 24 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 25 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 26 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 27 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 28 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 29 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 3 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 30 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 31 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 32 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 4 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 5 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 6 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 7 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 8 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 9 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "How deep to make rivers."
+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 "How wide to make rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Humidity blend noise"
+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 "IPv6"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 support."
+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 ""
+"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 ""
+"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 ""
+"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 ""
+"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
+"down and\n"
+"descending."
+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 "If enabled, disable cheat prevention in multiplayer."
+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 ""
+"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."
+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 ""
+"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 ""
+"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 "If this is set, players will always (re)spawn at the given position."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ignore world errors"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "In-Game"
+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 "In-game chat console background color (R,G,B)."
+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 "Inc. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+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 "Instrument chatcommands on registration."
+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 ""
+"Instrument the action function of Active Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Instrument the action function of Loading Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrument the methods of entities on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrumentation"
+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 "Interval of sending time of day to clients."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory items animations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory key"
+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 "Item entity TTL"
+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 "Joystick ID"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick button repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick frustum sensitivity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick type"
+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 ""
+"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 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 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 x"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia z"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jump key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jumping speed"
+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 ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 11th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 13th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 15th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 17th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 19th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 21st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 23rd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 25th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 27th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 29th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 31st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the eighth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the first hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for selecting the ninth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the second hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the sixth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the third hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for toggling the display of chat.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling the display of fog.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"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 ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 "Kick players who sent more than X messages per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Language"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lava depth"
+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 "Left key"
+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 "Length of time between Active Block Modifier (ABM) execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between NodeTimer execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between active block management cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Level of logging to be written to debug.txt:\n"
+"- <nothing> (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 "Light curve mid boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost spread"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lightness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues on disk"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues to generate"
+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 ""
+"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 "Liquid fluidity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid fluidity smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid loop max"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid queue purge time"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid sinking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update interval in seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update tick"
+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 "Loading Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lower Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu script"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu style"
+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 "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Makes all liquids opaque"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map directory"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation attributes specific to Mapgen Carpathian."
+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 ""
+"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 ""
+"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 "Map generation attributes specific to Mapgen v5."
+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 ""
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map save interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generation delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock unload timeout"
+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 "Mapgen Flat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen Flat specific flags"
+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 "Mapgen V5"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V5 specific flags"
+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 "Mapgen V7"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V7 specific flags"
+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 "Mapgen debug"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block generate distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block send distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max liquids processed per step."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. clearobjects extra blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. packets per iteration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS when game is paused."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum forceloaded blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum hotbar width"
+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 ""
+"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 "Maximum number of blocks that can be queued for loading."
+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 ""
+"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 "Maximum number of forceloaded mapblocks."
+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 ""
+"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 "Maximum number of players that can be connected simultaneously."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of recent chat messages to show"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of statically stored objects in a block."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum objects per block"
+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 "Maximum simultaneous block sends per client"
+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 "Maximum time in ms a file download (e.g. a mod download) may take."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum users"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Menus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mesh cache"
+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 "Method used to highlight selected object."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap scan height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum texture size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mipmapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mod channels"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Modifies the size of the hudbar elements."
+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 "Mountain height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain variation noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain zero level"
+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 "Mud noise"
+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 "Mute key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mute sound"
+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 ""
+"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 ""
+"Name of the server, to be displayed when players join and in the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Near clipping plane"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Network"
+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 "New users need to input this password."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Node highlighting"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "NodeTimer interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noises"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps sampling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps strength"
+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 ""
+"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 "Number of parallax occlusion iterations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Online Content Repository"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Opaque liquids"
+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 "Overall bias of parallax occlusion effect, usually scale/2."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Overall scale of parallax occlusion effect."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion bias"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion iterations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion scale"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion strength"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to TrueTypeFont or bitmap."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to save screenshots at."
+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 "Path to texture directory. All textures are first searched from here."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pause on lost window focus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Physics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move mode"
+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 "Player name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player versus player"
+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 ""
+"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 "Prevent mods from doing insecure things like running shell commands."
+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 "Privileges that players with basic_privs can grant"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiling"
+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 "Raises terrain to make valleys around the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Random input"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Range select key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Recent Chat Messages"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote media"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote port"
+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 "Replaces the default main menu with a custom one."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Report path"
+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 "Ridge mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge underwater noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridged mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Right key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rightclick repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rollback recording"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hill size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hills spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Round minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Safe digging and placing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sandy beaches occur when np_beach exceeds this value."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save the map received by the client on disk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save window size automatically when modified."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Saving map received from server"
+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 "Screen height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screen width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot folder"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot format"
+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 "Seabed 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 "Second of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box border color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box width"
+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 "Server / Singleplayer"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server description"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server port"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server side occlusion culling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist file"
+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 "Set the maximum character length of a chat message sent by clients."
+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 ""
+"Set to true enables waving plants.\n"
+"Requires shaders to be enabled."
+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 "Shader path"
+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 "Shadow limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shape of the minimap. Enabled = round, disabled = square."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show debug info"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show entity selection boxes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shutdown message"
+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 ""
+"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 "Slice w"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Slope and fill work together to modify the heights."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale humidity variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale temperature variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooth lighting"
+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 "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooths rotation of camera. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sneak key"
+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 "Sound"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key for climbing/descending"
+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 ""
+"Spread of light curve mid-boost.\n"
+"Standard deviation of the mid-boost gaussian."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Static spawnpoint"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Steepness noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of generated normalmaps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of light curve mid-boost."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of parallax."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strict protocol checking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strip color codes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Synchronous SQLite"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Temperature variation for biomes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain alternative noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain higher noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain noise"
+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 ""
+"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 "Terrain persistence noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Texture path"
+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 "The URL for the content repository"
+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 "The depth of dirt or other biome filler node."
+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 "The identifier of the joystick to use"
+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 "The network interface that the server listens on."
+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 ""
+"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 ""
+"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 ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
+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 ""
+"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 ""
+"The time in seconds it takes between repeated events\n"
+"when holding down a joystick button combination."
+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 "The type of joystick"
+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 "Third of 4 2D noises that together define hill/mountain range height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "This font will be used for certain languages."
+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 "Time of day when a new world is started, in millihours (0-23999)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time send interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Timeout for client to remove unused map data from memory."
+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 "Toggle camera mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Tooltip delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Touch screen threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trees noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trilinear filtering"
+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 "Trusted mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Typical maximum height, above and below midpoint, of floatland mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "URL to the server list displayed in the Multiplayer Tab."
+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 "Unlimited player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Unload unused server data"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Upper Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use 3D cloud look instead of flat."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use a cloud animation for the main menu background."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use bilinear filtering when scaling textures."
+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 "Use trilinear filtering when scaling textures."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VSync"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley fill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley profile"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley slope"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of biome filler depth."
+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 "Variation of maximum mountain height (in nodes)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of number of caves."
+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 "Varies depth of biome surface nodes."
+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 "Varies steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical screen synchronization."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Video driver"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View distance in nodes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range decrease key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range increase key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View zoom key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Viewing range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Virtual joystick triggers aux button"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Volume"
+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 "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Walking 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 "Water level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Water surface level of the world."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving Nodes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving leaves"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wavelength"
+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 ""
+"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 ""
+"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 ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Whether node texture animations should be desynchronized per mapblock."
+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 "Whether to allow players to damage and kill each other."
+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 "Whether to fog out the end of the visible area."
+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 "Width component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Width of the selection box lines around nodes."
+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 ""
+"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 "World start time"
+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 "World-aligned textures mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y of flat ground."
+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 "Y of upper limit of large caves."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-distance over which caverns expand to full size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of average terrain surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of cavern upper limit."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of floatland midpoint and lake surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of higher terrain that creates cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of lower terrain and seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level to which floatland shadows extend."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL file download timeout"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL parallel limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL timeout"
+msgstr ""
diff --git a/po/nb/minetest.po b/po/nb/minetest.po
index 0a6d132ec..0e087fca1 100644
--- a/po/nb/minetest.po
+++ b/po/nb/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Norwegian Bokmål (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-23 00:07+0000\n"
-"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
"minetest/minetest/nb_NO/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -23,7 +23,8 @@ msgid "You died"
msgstr "Du døde"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Det oppstod en feil i et Lua-skriptet, for eksempel i en mod:"
#: builtin/fstk/ui.lua
@@ -119,13 +120,28 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Valgfrie avhengigheter:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
msgstr "Mangler spillbeskrivelse."
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No hard dependencies"
+msgstr "Ingen avhengigheter."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "Ingen modpakke-beskrivelse tilgjengelig."
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Valgfrie avhengigheter:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Valgfrie avhengigheter:"
@@ -211,9 +227,8 @@ msgid "Create"
msgstr "Opprett"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Last ned et spill, for eksempel minetest_game, fra minetest.net"
+msgstr "Last ned et spill, for eksempel Minetest Game, fra minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -283,15 +298,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"Denne modpaken har et forhåndsdefinert navn i modpack.conf som vil "
+"overskrive et eventuelt nytt navn."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(Ingen beskrivelse av gitt)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Grotte2-lyd"
+msgstr "2D-støy"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -315,19 +331,19 @@ msgstr "Aktivert"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Lacunarity"
-msgstr ""
+msgstr "Fraktal tekstur"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Oktaver"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
-msgstr ""
+msgstr "Forskyvning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Persistance"
-msgstr ""
+msgstr "Utholdenhet"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -367,36 +383,35 @@ msgstr "Verdien må ikke være større enn $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "X-spredning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Y-spredning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Z-spredning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "Absoluttverdi"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Forvalgt spill"
+msgstr "Forvalg"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
@@ -407,9 +422,8 @@ msgid "$1 (Enabled)"
msgstr "$1 (Aktivert)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "3D-modus"
+msgstr "$1 mods"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
@@ -424,93 +438,72 @@ msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr "Installer mod: Klarte ikke finne egnet mappenavn for mod-pakke $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"Installer mod: Ustøttet filtype \"$1\" eller ødelagt arkiv"
+msgstr "Installasjon: Ikke-støttet filtype \"$1\" eller ødelagt arkiv"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: file: \"$1\""
-msgstr "Installer mod: Fil \"$1\""
+msgstr "Installasjon: fil \"$1\""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr "Installer mod: klarte ikke finne egnet mappenavn for modpakke $1"
+msgstr "Klarte ikke finne en gyldig mod eller modpakke"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "Klarte ikke å installere $1 til $2"
+msgstr "Klarte ikke å installere $1 som teksturpakke"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "Klarte ikke å installere $1 til $2"
+msgstr "Klarte ikke å installere et spill som $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a mod as a $1"
-msgstr "Klarte ikke å installere $1 til $2"
+msgstr "Klarte ikke å installere mod som en $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "Klarte ikke å installere $1 til $2"
+msgstr "Klarte ikke å installere en modpack som $2"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
msgstr "Utforsk nettbasert innhold"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "Fortsett"
+msgstr "Innhold"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Disable Texture Pack"
-msgstr "Velg teksturpakke:"
+msgstr "Slå av teksturpakke"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Information:"
-msgstr "Modinformasjon:"
+msgstr "Informasjon:"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Installed Packages:"
-msgstr "Installerte modder:"
+msgstr "Installerte pakker:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
msgstr "Ingen avhengigheter."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "Ingen modbeskrivelse tilgjengelig"
+msgstr "Ingen pakkebeskrivelse tilgjengelig"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
msgstr "Gi nytt navn"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Velg modfil:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
-msgstr "Avinstaller valgt mod"
+msgstr "Avinstaller pakke"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "Teksturpakker"
+msgstr "Bruk teksturpakke"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -589,9 +582,8 @@ msgid "Server Port"
msgstr "Tjenerport"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Start Game"
-msgstr "Vær vert for spill"
+msgstr "Start spill"
#: builtin/mainmenu/tab_online.lua
msgid "Address / Port"
@@ -618,9 +610,8 @@ msgid "Favorite"
msgstr "Favoritt"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Join Game"
-msgstr "Vær vert for spill"
+msgstr "Ta del i spill"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Name / Password"
@@ -651,9 +642,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Innstillinger"
+msgstr "Alle innstillinger"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -664,7 +654,6 @@ msgid "Are you sure to reset your singleplayer world?"
msgstr "Er du sikker på at du ønsker å tilbakestille din enkeltspiller-verden?"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Autosave Screen Size"
msgstr "Lagre skjermstørrelse automatisk"
@@ -690,7 +679,7 @@ msgstr "Forseggjorte blader"
#: builtin/mainmenu/tab_settings.lua
msgid "Generate Normal Maps"
-msgstr ""
+msgstr "Generer normale kart"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap"
@@ -734,7 +723,7 @@ msgstr "Diffust vann"
#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
msgid "Parallax Occlusion"
-msgstr ""
+msgstr "Parallakse Okklusjon"
#: builtin/mainmenu/tab_settings.lua
msgid "Particles"
@@ -781,9 +770,8 @@ msgid "Tone Mapping"
msgstr ""
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Touchthreshold: (px)"
-msgstr "Trykketerskel (px)"
+msgstr "Trykkterskel: (px)"
#: builtin/mainmenu/tab_settings.lua
msgid "Trilinear Filter"
@@ -794,12 +782,13 @@ msgid "Waving Leaves"
msgstr "Bølgende blader"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Bølgende planter"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Bølgende blader"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Bølgende vann"
+msgid "Waving Plants"
+msgstr "Bølgende planter"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -871,7 +860,7 @@ msgstr "Velg et navn!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
-msgstr ""
+msgstr "Passordfilen kunne ikke åpnes: "
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
@@ -922,41 +911,36 @@ msgid "- Server Name: "
msgstr "- Tjenernavn: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "Tast for filmatisk tilstand"
+msgstr "Automatisk forover slått av"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "Tast for filmatisk tilstand"
+msgstr "Automatisk forover slått på"
#: src/client/game.cpp
msgid "Camera update disabled"
-msgstr ""
+msgstr "Kameraoppdatering slått av"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "Skade aktivert"
+msgstr "Kameraoppdatering slått på"
#: src/client/game.cpp
msgid "Change Password"
msgstr "Endre passord"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode disabled"
-msgstr "Tast for filmatisk tilstand"
+msgstr "Filmatisk modus avskrudd"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode enabled"
-msgstr "Tast for filmatisk tilstand"
+msgstr "Filmatisk modus påskrudd"
#: src/client/game.cpp
msgid "Client side scripting is disabled"
-msgstr ""
+msgstr "Skripting er slått av på klientside"
#: src/client/game.cpp
msgid "Connecting to server..."
@@ -1037,11 +1021,11 @@ msgstr ""
#: src/client/game.cpp
msgid "Disabled unlimited viewing range"
-msgstr ""
+msgstr "Ubegrenset synsrekkevidde avslått"
#: src/client/game.cpp
msgid "Enabled unlimited viewing range"
-msgstr ""
+msgstr "Ubegrenset synsrekkevidde påslått"
#: src/client/game.cpp
msgid "Exit to Menu"
@@ -1176,7 +1160,7 @@ msgstr "PÃ¥"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
-msgstr ""
+msgstr "Tonehøydeforandringsmodus avskrudd"
#: src/client/game.cpp
msgid "Pitch move mode enabled"
@@ -1217,19 +1201,19 @@ msgid "Sound unmuted"
msgstr "Lydstyrke"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range changed to %d"
-msgstr "Lydstyrke endret til %d%%"
+msgstr "Synsrekkevidde endret til %d%%"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at maximum: %d"
-msgstr ""
+msgstr "Synsrekkevidde er så lang det går an: %d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at minimum: %d"
-msgstr ""
+msgstr "Synsrekkevidde er så kort det går an: %d"
#: src/client/game.cpp
#, c-format
@@ -1541,16 +1525,16 @@ msgstr "Passordene samsvarer ikke!"
#: src/gui/guiConfirmRegistration.cpp
msgid "Register and Join"
-msgstr ""
+msgstr "Registrer og logg inn"
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1569,7 +1553,7 @@ msgstr "Framover"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
-msgstr ""
+msgstr "Automatisk hopping"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Backward"
@@ -1660,19 +1644,16 @@ msgstr "Velg rekkevidde"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Screenshot"
-msgstr ""
+msgstr "Skjermavbildning"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Sneak"
msgstr "Snik"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "Special"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr ""
+msgstr "Spesial"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
@@ -1705,6 +1686,11 @@ msgid "Toggle noclip"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Farget tåke"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "trykk tast"
@@ -1750,6 +1736,9 @@ msgid ""
"(Android) Fixes the position of virtual joystick.\n"
"If disabled, virtual joystick will center to first-touch's position."
msgstr ""
+"(Android) Fastsetter posisjonen for virtuell styrepinne.\n"
+"Hvis avskrudd, vil den virtuelle styrepinnen sentreres til posisjon for "
+"første berøring."
#: src/settings_translation_file.cpp
msgid ""
@@ -1757,6 +1746,9 @@ msgid ""
"If enabled, virtual joystick will also tap \"aux\" button when out of main "
"circle."
msgstr ""
+"(Android) Bruk virtuell styrepinne til å utløse \"aux\"-knapp.\n"
+"Hvis påskrudd, vil virtuell styrepinne ogstå trykke \"aux\"-knapp når den er "
+"utenfor hovedsirkelen."
#: src/settings_translation_file.cpp
msgid ""
@@ -1812,6 +1804,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3D-skyer"
@@ -1842,6 +1838,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1870,8 +1870,9 @@ msgid "A message to be displayed to all clients when the server shuts down."
msgstr "En melding å vise alle klienter når tjeneren slås av."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "ABM interval"
-msgstr ""
+msgstr "ABM-intervall"
#: src/settings_translation_file.cpp
msgid "Absolute limit of emerge queues"
@@ -1882,6 +1883,10 @@ msgid "Acceleration in air"
msgstr "Akselerasjon i luft"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -1952,7 +1957,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Anisotropic filtering"
-msgstr ""
+msgstr "Antisotropisk filtrering"
#: src/settings_translation_file.cpp
msgid "Announce server"
@@ -1987,7 +1992,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Ask to reconnect after crash"
-msgstr ""
+msgstr "Spør om gjentilkobling etter kræsj"
#: src/settings_translation_file.cpp
msgid ""
@@ -2062,7 +2067,7 @@ msgstr "Bilineær filtrering"
#: src/settings_translation_file.cpp
msgid "Bind address"
-msgstr ""
+msgstr "Bindingsadresse"
#: src/settings_translation_file.cpp
msgid "Biome API temperature and humidity noise parameters"
@@ -2082,7 +2087,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Build inside player"
-msgstr ""
+msgstr "Bygg inni spiller"
#: src/settings_translation_file.cpp
msgid "Builtin"
@@ -2094,7 +2099,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2182,6 +2187,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Kræsjmelding"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Grotteterskel"
@@ -2343,6 +2353,10 @@ msgstr ""
"være, forblir uendret."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2401,6 +2415,11 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Strandlydsterskel"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Loggingsnivå for feilsøking"
@@ -2409,6 +2428,10 @@ msgid "Dec. volume key"
msgstr "Tast for senking av lydstyrke"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2490,10 +2513,24 @@ msgid "Defines the base ground level."
msgstr "Definerer treområder og skogstetthet."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Definerer treområder og skogstetthet."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Definerer område der trær har epler."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Definerer treområder og skogstetthet."
@@ -2513,6 +2550,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Deprecated Lua API handling"
+msgstr "Avleggs håndtering av Lua-API"
+
+#: 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
@@ -2536,7 +2579,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2584,6 +2627,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Grottelyd"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2624,13 +2672,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Skru på registerbekreftelse"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Skru på registerbekreftelse ved tilkobling til tjener.\n"
+"Hvis avskrudd, vil en ny konto registres automatisk."
#: src/settings_translation_file.cpp
msgid ""
@@ -2751,7 +2801,7 @@ msgstr "Tilbakefallsskriftstørrelse"
#: src/settings_translation_file.cpp
msgid "Fast key"
-msgstr ""
+msgstr "Hurtigtast"
#: src/settings_translation_file.cpp
msgid "Fast mode acceleration"
@@ -2763,7 +2813,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Fast movement"
-msgstr ""
+msgstr "Rask bevegelse"
#: src/settings_translation_file.cpp
msgid ""
@@ -2773,11 +2823,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Field of view"
-msgstr ""
+msgstr "Synsfelt"
#: src/settings_translation_file.cpp
msgid "Field of view in degrees."
-msgstr ""
+msgstr "Synsfelt i grader"
#: src/settings_translation_file.cpp
msgid ""
@@ -2897,6 +2947,13 @@ msgid "Font size"
msgstr "Skriftstørrelse"
#: 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 "Format of screenshots."
msgstr "Skjermavbildningsformat."
@@ -2934,7 +2991,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Forward key"
-msgstr ""
+msgstr "Forovertast"
#: src/settings_translation_file.cpp
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
@@ -3127,140 +3184,158 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar next key"
+msgid ""
+"Horizontal acceleration in air when jumping or falling,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar previous key"
+msgid ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 1 key"
+msgid ""
+"Horizontal and vertical acceleration on ground or when climbing,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Hotbar next key"
+msgstr "Neste hurtigfelttast"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr "Forrige hurtigfelttast"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr "Første hurtigfelttast"
+
+#: src/settings_translation_file.cpp
msgid "Hotbar slot 10 key"
-msgstr ""
+msgstr "Tiende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 11 key"
-msgstr ""
+msgstr "Ellevte hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 12 key"
-msgstr ""
+msgstr "Tolvte hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 13 key"
-msgstr ""
+msgstr "Trettende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 14 key"
-msgstr ""
+msgstr "Fjortende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 15 key"
-msgstr ""
+msgstr "Femtende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 16 key"
-msgstr ""
+msgstr "Sekstende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 17 key"
-msgstr ""
+msgstr "Syttende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 18 key"
-msgstr ""
+msgstr "Attende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 19 key"
-msgstr ""
+msgstr "Nittende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 2 key"
-msgstr ""
+msgstr "Andre hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 20 key"
-msgstr ""
+msgstr "Tjuende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 21 key"
-msgstr ""
+msgstr "Tjueførste hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 22 key"
-msgstr ""
+msgstr "Tjueandre hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 23 key"
-msgstr ""
+msgstr "Tjuetredje hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 24 key"
-msgstr ""
+msgstr "Tjuefjerde hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 25 key"
-msgstr ""
+msgstr "Tjuefemte hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 26 key"
-msgstr ""
+msgstr "Tjuesjette hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 27 key"
-msgstr ""
+msgstr "Tjuesjuende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 28 key"
-msgstr ""
+msgstr "Tjueåttende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 29 key"
-msgstr ""
+msgstr "Tjueniende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 3 key"
-msgstr ""
+msgstr "Tredje hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 30 key"
-msgstr ""
+msgstr "Trettiende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 31 key"
-msgstr ""
+msgstr "Trettiførste hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 32 key"
-msgstr ""
+msgstr "Trettiandre hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 4 key"
-msgstr ""
+msgstr "Fjerde hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 5 key"
-msgstr ""
+msgstr "Femte hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 6 key"
-msgstr ""
+msgstr "Sjette hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 7 key"
-msgstr ""
+msgstr "Syvende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 8 key"
-msgstr ""
+msgstr "Ã…ttende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 9 key"
-msgstr ""
+msgstr "Niende hurtigfelttast"
#: src/settings_translation_file.cpp
msgid "How deep to make rivers."
@@ -3377,6 +3452,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3405,6 +3488,10 @@ msgid "Inc. volume key"
msgstr "Inkluder lydstyrketast"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -3558,6 +3645,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tast for å redusere synsrekkevidde.\n"
+"Se http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3585,7 +3675,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Tast for økning av visningsområde.\n"
+"Tast for økning av synsrekkevidde.\n"
"Se http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3637,6 +3727,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tast for å bevege spilleren fremover.\n"
+"Se http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3644,6 +3737,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tast for å bevege spilleren til venstre.\n"
+"Se http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3651,6 +3747,9 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tast for å bevege spilleren til høyre.\n"
+"Se http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
msgid ""
@@ -3688,288 +3787,262 @@ msgid ""
msgstr ""
#: 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av ellevte hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tolvte hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av trettende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av fjortende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av femtende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging sekstende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av syttende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av attende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av nittende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjuende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjueførste hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjueandre hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjuetredje hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjuefjerde hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjuefemte hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjuesjette hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjuesyvende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjueåttende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tjueniende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av trettiende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av trettiførste hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av trettiandre hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av åttende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av femte hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av første hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av fjerde hurtigplassfelt.\n"
"Se http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3979,15 +4052,17 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tast for utvelging av neste element i hurtigfeltet.\n"
+"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av niende hurtigplassfelt.\n"
"Se http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -3997,59 +4072,57 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
+"Tast for utvelging av forrige element i hurtigfeltet.\n"
+"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av andre hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av syvende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av sjette hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tiende hurtigplassfelt.\n"
"Se 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 ""
-"Tast for redusering av lydstyrken.\n"
+"Tast for utvelging av tredje hurtigplassfelt.\n"
"Se http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4337,7 +4410,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "Hoppehastighet"
#: src/settings_translation_file.cpp
@@ -4410,6 +4483,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4421,7 +4501,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4479,6 +4559,11 @@ msgstr "Mapgen"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Mapgen"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Mapgen"
@@ -4558,6 +4643,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Maximum hotbar width"
+msgstr "Størst mulige hurtigfeltsbredde"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Maximum liquid resistence. Controls deceleration when entering liquid at\n"
+"high speed."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4621,6 +4712,8 @@ 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 ""
+"Maksimumsproposjon av nåværende vindu brukt til hurtigfelt.\n"
+"Nyttig hvis det er noe å vise til høyre eller venstre for hurtigfeltet."
#: src/settings_translation_file.cpp
msgid "Maximum simultaneous block sends per client"
@@ -4746,10 +4839,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4765,7 +4856,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4817,16 +4908,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4979,10 +5072,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5067,6 +5156,16 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "Elvedybde"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Elvedybde"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "Elvedybde"
@@ -5081,6 +5180,11 @@ msgid "River size"
msgstr "Elvestørrelse"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Elvedybde"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5364,6 +5468,10 @@ msgid "Sneaking speed"
msgstr "Hoppehastighet"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5675,10 +5783,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5781,6 +5890,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5810,7 +5923,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Viewing range"
-msgstr ""
+msgstr "Synsrekkevidde"
#: src/settings_translation_file.cpp
msgid "Virtual joystick triggers aux button"
@@ -5830,10 +5943,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5858,16 +5979,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Bølgende vann"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Bølgende blader"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Bølgende vann"
#: src/settings_translation_file.cpp
msgid ""
@@ -5903,10 +6027,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5990,12 +6110,8 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
-msgstr ""
+msgstr "Y-avstand som en grotte kan øke i størrelse til full størrelse."
#: src/settings_translation_file.cpp
msgid "Y-level of average terrain surface."
@@ -6037,136 +6153,8 @@ msgstr "Maksimal parallellisering i cURL"
msgid "cURL timeout"
msgstr "cURL-tidsgrense"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Lukk butikk"
-
-#~ msgid "Disable MP"
-#~ msgstr "Fjern MP"
-
-#~ msgid "Enable MP"
-#~ msgstr "Aktiver MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Mangler verdensnavn eller intet spill valgt"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" er ikke en gyldig flagge."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Formatet er 3 tall atskilt med komma og innenfor hakeparentesene."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formattet: <forskyvning>, <skala>, (<spreX>, <spreY>, <spreZ>), <seed>, "
-#~ "<oktaver>, <utholdenhet>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "Lacunarity kan eventuelt legges med ledende komma."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Vennligst angi et komma separert liste av flagg."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Mulige verdier er: "
-
-#~ msgid "Select path"
-#~ msgstr "Vis sti"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Y-verdi for øvre grense for lava i store grotter."
-#~ msgid "Page $1 of $2"
-#~ msgstr "Side $1 av $2"
-
-#~ msgid "Rating"
-#~ msgstr "Vurdering"
-
-#~ msgid "Shortname:"
-#~ msgstr "Kortnavnet:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Installasjonen lyktes:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Usortert"
-
-#~ msgid "re-Install"
-#~ msgstr "Reinstaller"
-
-#~ msgid "Local Game"
-#~ msgstr "Lokalt spill"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Avinstaller valgt modpakke"
-
-#~ msgid "Play Online"
-#~ msgstr "Spill på nett"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normal tilknytning"
-
-#~ msgid "No information available"
-#~ msgstr "Ingen informasjon tilgjengelig"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Lydstyrke endret til 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Lydstyrke endret til 100%"
-
-#~ msgid "Use"
-#~ msgstr "Bruk"
-
-#~ msgid "Next"
-#~ msgstr "Neste"
-
-#~ msgid "Prior"
-#~ msgstr "Foregående"
-
-#~ msgid "Cloud height"
-#~ msgstr "Skyhøyde"
-
-#~ msgid "Console key"
-#~ msgstr "Konsolltast"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Smygehastighet"
-
-#~ msgid "General"
-#~ msgstr "Generelt"
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Elvestøy -- elver dukker opp for verdier nær null"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Skjul mp-innhold"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "aktivert"
-
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Advarsel: Noen modifikasjoner er ikke konfigurert enda. \n"
-#~ "De vil bli aktivert som standard når du lagrer konfigurasjonen."
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "Advarsel: Noen konfigurerte modifikasjoner mangler. \n"
-#~ "Instillingene deres vil bli fjernet når du lagrer konfigurasjonen."
-
-#~ msgid "Configuration saved. "
-#~ msgstr "Konfigurasjon lagret. "
-
-#~ msgid "is required by:"
-#~ msgstr "trengs av:"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Avanserte innstillinger"
-
-#~ msgid "View"
-#~ msgstr "Vis"
+#~ msgid "Select Package File:"
+#~ msgstr "Velg pakkefil:"
diff --git a/po/nl/minetest.po b/po/nl/minetest.po
index 4970c2bc4..a0ddd5723 100644
--- a/po/nl/minetest.po
+++ b/po/nl/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Dutch (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-23 11:18+0000\n"
-"Last-Translator: Xaaf Xavi <knightgeekyt@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/minetest/minetest/"
"nl/>\n"
"Language: nl\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -23,7 +23,8 @@ msgid "You died"
msgstr "Je stierf"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Er is een fout opgetreden in een Lua script, zoals dat van een mod:"
#: builtin/fstk/ui.lua
@@ -120,13 +121,28 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Optionele afhankelijkheden:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
msgstr "Geen mod-beschrijving aanwezig."
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No hard dependencies"
+msgstr "Geen afhankelijkheden."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "Geen mod-beschrijving aanwezig."
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Optionele afhankelijkheden:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Optionele afhankelijkheden:"
@@ -330,7 +346,6 @@ msgid "Offset"
msgstr "afstand"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Persistance"
msgstr "Persistentie"
@@ -399,13 +414,12 @@ msgid "absvalue"
msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Standaardspel"
+msgstr "Standaard"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "makkelijker"
#: builtin/mainmenu/pkgmgr.lua
#, fuzzy
@@ -433,32 +447,24 @@ msgstr ""
"Mod installeren: kan geen geschikte map-naam vinden voor modverzameling $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"Mod installeren: niet ondersteund bestandstype \"$1\" of defect archief"
+msgstr "Installeren: niet ondersteund bestandstype \"$1\" of defect archief"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: file: \"$1\""
-msgstr "Mod installeren: bestand: \"$1\""
+msgstr "Installeer: bestand: \"$1\""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr ""
-"Mod installeren: kan geen geschikte map-naam vinden voor modverzameling $1"
+msgstr "Niet mogelijk om geschikte map-naam vinden voor modverzameling $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "Installeren van mod $1 in $2 is mislukt"
+msgstr "Niet mogelijk om een $1 als textuuren pakket te installeren"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "Installeren van mod $1 in $2 is mislukt"
+msgstr "Installeren van een spel als $1 mislukt"
#: builtin/mainmenu/pkgmgr.lua
#, fuzzy
@@ -472,12 +478,11 @@ msgstr "Installeren van mod $1 in $2 is mislukt"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+msgstr "Content op internet bekijken"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "Verder spelen"
+msgstr "Inhoud"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
@@ -485,14 +490,12 @@ msgid "Disable Texture Pack"
msgstr "Selecteer textuurverzameling:"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Information:"
-msgstr "Mod-beschrijving:"
+msgstr "Informatie:"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Installed Packages:"
-msgstr "Geïnstalleerde Mods:"
+msgstr "Geïnstalleerde pakketen:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
@@ -509,11 +512,6 @@ msgstr "Hernoemen"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "Selecteer Modbestand:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "Geselecteerde mod deïnstalleren"
@@ -806,12 +804,13 @@ msgid "Waving Leaves"
msgstr "Bewegende bladeren"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Bewegende planten"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Bewegende nodes"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Golvend water"
+msgid "Waving Plants"
+msgstr "Bewegende planten"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1584,11 +1583,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1714,10 +1713,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Cinematic modus aan/uit"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "Vliegen aan/uit"
@@ -1750,6 +1745,11 @@ msgid "Toggle noclip"
msgstr "Noclip aan/uit"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Snel bewegen aan/uit"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "druk op toets"
@@ -1870,6 +1870,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3D wolken"
@@ -1903,6 +1907,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1961,6 +1969,10 @@ msgid "Acceleration in air"
msgstr "Versnelling in lucht"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Actieve blokken wijzigers (ABMs)"
@@ -2198,7 +2210,7 @@ msgstr "Bumpmapping"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2292,6 +2304,11 @@ msgstr "Status bericht bij verbinding"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Status bericht bij verbinding"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Woestijn ruis drempelwaarde"
@@ -2466,6 +2483,10 @@ msgstr ""
"0 = de kloktijd (dag, nacht, schemering) verandert niet."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Bepaalt steilheid/diepte van meer depressies."
@@ -2529,6 +2550,11 @@ msgid "Debug info toggle key"
msgstr "Toets voor aan/uitzetten debug informatie"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Woestijn ruis drempelwaarde"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Debug logniveau"
@@ -2538,6 +2564,10 @@ msgid "Dec. volume key"
msgstr "Volume verlagen toets"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Tijdsstaplengte van de server"
@@ -2632,6 +2662,11 @@ msgid "Defines the base ground level."
msgstr "Bepaalt de gebieden met bomen en hun dichtheid."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Bepaalt de gebieden met bomen en hun dichtheid."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Maximale afstand (in blokken van 16 nodes) waarbinnen andere spelers "
@@ -2639,6 +2674,16 @@ msgstr ""
"(0 = oneindig ver)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "Bepaalt de grootschalige rivierkanaal structuren."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Bepaalt gebieden met appels in de bomen."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Bepaalt de gebieden met bomen en hun dichtheid."
@@ -2664,6 +2709,12 @@ msgid "Deprecated Lua API handling"
msgstr "Gedrag bij gebruik van verouderde Lua API functies"
#: 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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "Diepte waaronder je grote grotten vind."
@@ -2685,9 +2736,10 @@ msgid "Desert noise threshold"
msgstr "Woestijn ruis drempelwaarde"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"Woestijnen ontstaan wanneer np_biome deze waarde overstijgt.\n"
"Indien het nieuwe biome systeem is ingeschakeld wordt dit genegeerd."
@@ -2739,6 +2791,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Bergen ruis"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -3104,6 +3161,13 @@ msgid "Font size"
msgstr "Lettergrootte"
#: 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 "Format of screenshots."
msgstr "Formaat van screenshots."
@@ -3376,6 +3440,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Home-pagina van de server. Wordt getoond in de serverlijst."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Toets voor volgend gebruikte tool"
@@ -3691,6 +3773,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
"Indien aangeschakeld, dan worden spelers altijd op deze locatie geboren."
@@ -3724,6 +3814,10 @@ msgid "Inc. volume key"
msgstr "Console-toets"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4798,7 +4892,7 @@ msgstr "Inkortingstijd vloeistof-wachtrij"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "Zinksnelheid in vloeistof"
#: src/settings_translation_file.cpp
@@ -4879,6 +4973,19 @@ msgstr ""
#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen flat.\n"
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
+msgstr ""
+"Wereldgenerator instellingen specifiek voor generator 'flat' (vlak).\n"
+"Verspreide meren en heuvels kunnen toegevoegd worden.\n"
+"Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
+"waarde.\n"
+"Zet \"no\" voor een vlag om hem expliciet uit te zetten."
+
+#: 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 ""
"Wereldgenerator instellingen specifiek voor generator 'flat' (vlak).\n"
@@ -4896,7 +5003,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"Wereldgenerator instellingen specifiek voor generator v6.\n"
@@ -4965,6 +5072,11 @@ msgstr "Fractal wereldgenerator"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Vlaggen"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Wereldgenerator v5"
@@ -5054,6 +5166,12 @@ msgstr "Maximale breedte van de 'hotbar'"
#: 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 ""
"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)"
@@ -5269,10 +5387,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5294,7 +5410,7 @@ msgstr ""
"inloggen."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5348,16 +5464,18 @@ msgstr "Aantal 'emerge' threads"
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5530,10 +5648,6 @@ msgid "Profiling"
msgstr "Profileren"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5624,6 +5738,16 @@ msgstr "Rechts-klik herhalingsinterval"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "Diepte van rivieren"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Diepte van rivieren"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "Diepte van rivieren"
@@ -5638,6 +5762,11 @@ msgid "River size"
msgstr "Grootte van rivieren"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Diepte van rivieren"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Opnemen terugrolgegevens"
@@ -5974,6 +6103,10 @@ msgid "Sneaking speed"
msgstr "Loopsnelheid"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Geluid"
@@ -6342,11 +6475,13 @@ msgid "Undersampling"
msgstr "Rendering:"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"Onderbemonstering is gelijkaardig aan het gebruik van een lagere "
"schermresolutie,\n"
@@ -6465,6 +6600,10 @@ msgid "Varies steepness of cliffs."
msgstr "Bepaalt steilheid/hoogte van heuvels."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Vertikale scherm-synchronisatie."
@@ -6520,10 +6659,18 @@ msgstr ""
"Bereik is ongeveer -2 tot 2."
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Loopsnelheid"
#: 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"
msgstr "Waterniveau"
@@ -6548,16 +6695,19 @@ msgid "Waving water"
msgstr "Golvend water"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Golfhoogte van water"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Golflengte van water"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Golfsnelheid van water"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Golfsnelheid van water"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Golflengte van water"
#: src/settings_translation_file.cpp
msgid ""
@@ -6615,10 +6765,6 @@ msgid ""
msgstr "Gebruik freetype fonts. Dit vereist dat freetype ingecompileerd is."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr "Node-animaties in wereldblokken niet synchroniseren."
@@ -6717,11 +6863,6 @@ msgid "Y of upper limit of large caves."
msgstr "Minimale diepte van grote semi-willekeurige grotten."
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "Minimale diepte van grote semi-willekeurige grotten."
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr "Y-afstand waar over grotten uitbreiden tot volle grootte."
@@ -6767,1058 +6908,16 @@ msgstr "Maximaal parallellisme in cURL"
msgid "cURL timeout"
msgstr "cURL timeout"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Winkel sluiten"
+#~ msgid "Waving Water"
+#~ msgstr "Golvend water"
#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Aantal 'emerge' threads. Laat dit leeg, of verhoog dit aantal om meerdere "
-#~ "threads te\n"
-#~ "gebruiken. Dit versnelt de wereldgeneratie op meer-processorsystemen "
-#~ "aanzienlijk\n"
-#~ "maar het kan de vorm van sommige grotten enigszins verstoren."
-
-#~ msgid "Disable MP"
-#~ msgstr "ModVerzameling uitschakelen"
-
-#~ msgid "Enable MP"
-#~ msgstr "Mod Verzameling aanzetten"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Geen wereldnaam opgegeven of geen spel geselecteerd"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" is geen geldige vlag."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr ""
-#~ "Formaat is 3 getallen, gescheiden door komma's en tussen vierkante haken."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formaat: <basiswaarde>, <schaal>, (<X-spreiding>, <Y-spreiding>, <Z-"
-#~ "spreiding>),\n"
-#~ "<kiemgetal>, <octaven>, <persistentie>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Optioneel: de lacunaritie (uit de fractal-meetkunde: een maat voor\n"
-#~ "hoeveelheid en grootte van 'gaten') kan aan het einde toegevoegd worden,\n"
-#~ "voorafgegaan door een komma."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Geef een door komma's gescheiden lijst van vlaggen."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Mogelijke waarden zijn: "
-
-#~ msgid "Select path"
-#~ msgstr "Pad selecteren"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Subspel Mods"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Pagina $1 van $2"
-
-#~ msgid "Rating"
-#~ msgstr "Beoordeling"
-
-#~ msgid "Shortname:"
-#~ msgstr "Korte naam:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Succesvol geïnstalleerd:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Ongesorteerd"
-
-#~ msgid "re-Install"
-#~ msgstr "Opnieuw installeren"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Minimale diepte van grote semi-willekeurige grotten."
#, fuzzy
-#~ msgid "Local Game"
-#~ msgstr "Lokaal Spel"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Geselecteerde modverzameling deïnstalleren"
-
-#~ msgid "Play Online"
-#~ msgstr "Speel Online"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normaal Mappen"
-
-#~ msgid "No information available"
-#~ msgstr "Geen informatie beschikbaar"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Volume veranderd naar 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Volume veranderd naar 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Print debug-stacks"
-
-#~ msgid "Use"
-#~ msgstr "Gebruiken"
-
-#~ msgid "Next"
-#~ msgstr "Volgende"
-
-#~ msgid "Prior"
-#~ msgstr "Vorige"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Actieve blokken wijzigers interval"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Enkel bij Android systemen: Tracht inventaris beelden te maken van object "
-#~ "mazen\n"
-#~ "\n"
-#~ "als er geen ondersteunde afbeelding werd gevonden."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "URL van de serverlijst om aan te melden.\n"
-#~ "Voor het aanmelden van een ipv6 adres bij de minetest serverlijst, "
-#~ "gebruik 'v6.servers.minetest.net'."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Ingeschatte (X,Y,Z) schaal van fractal in nodes."
-
-#~ msgid "Autorun key"
-#~ msgstr "Toets voor automatisch lopen aan/uit"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Grotten en tunnels vormen bij het kruispunt van twee ruis patronen"
-
-#~ msgid "Cloud height"
-#~ msgstr "Hoogte van de wolken"
-
-#~ msgid "Console key"
-#~ msgstr "Console-toets"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Speler loopt continu vooruit (wordt enkel gebruikt voor testen)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Maakt onvoorspelbare lavabronnen in grotten.\n"
-#~ "Dit kan het graven bemoeilijken. Waardes: 0-10; 0 = uit"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Maakt onvoorspelbare waterbronnen in grotten.\n"
-#~ "Dit kan het graven bemoeilijken. Waardes: 0-10; 0 = uit"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Hurk snelheid"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Diepte waaronder je hele grote grotten vind."
-
-#~ msgid "Descending speed"
-#~ msgstr "Daalsnelheid"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Schakel ANSI-codes in text uit"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Schakel ANSI-codes in text uit. ANSI codes worden bijvoorbeeld\n"
-#~ " gebruikt voor kleuren in de chat.\n"
-#~ "Gebruik dit voor een server met clienten met een versie vóór 0.4.14,\n"
-#~ "indien ANSI-codes van mods uitgeschakeld moeten worden."
-
-#, fuzzy
-#~ msgid "Enable view bobbing"
-#~ msgstr "Loopbeweging"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Schakel op en neer gaan bij wandelen in."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Zichthoek bij inzoomen"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Zichthoek bij inzoomen, in graden.\n"
-#~ "Het \"zoom\" voorrecht is vereist op de server."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "De afstand waarop clienten geïnformeerd worden over objecten. In blokken "
-#~ "(16 nodes)."
-
-#~ msgid "General"
-#~ msgstr "Generiek"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Hoogte waarop wolken voorbijdrijven."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Tot op welke afstand van actieve spelers blokken 'actief' zijn. In "
-#~ "blokken (van 16 nodes).\n"
-#~ "In actieve blokken worden objecten geladen (bijv. dieren die rondlopen) "
-#~ "en ABMs uitgevoerd\n"
-#~ "(bijv. groeien van planten)."
-
-#, fuzzy
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "Wanneer ingeschakeld, toon het server status bericht aan spelers die "
-#~ "verbinding maken."
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Rugzak toets"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Aantal iteraties van de recursieve functie.\n"
-#~ "Bepaalt de schaal van de kleinste details."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Toets om de chat-console te openen.\n"
-#~ "Zie http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Toets om debug-stacks te printen. Gebruikt voor ontwikkeling.\n"
-#~ "Zie http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Lava Kenmerken"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Hoofdmenu spelbeheer"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Hoofdmenu modbeheer"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Wereldgenerator instellingen specifiek voor generator "
-#~ "'valleys' (valleien).\n"
-#~ "'altitude_chill' maakt hogere gebieden kouder. Dit kan gevolgen hebben "
-#~ "voor de biomen.\n"
-#~ "'humid_rivers' verhoogt de vochtigheidsgraad bij rivieren en andere "
-#~ "gebieden\n"
-#~ "met water. Dit kan gevolgen hebben voor de zorgvuldig geconfigureerde "
-#~ "biomen.\n"
-#~ "Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
-#~ "waarde.\n"
-#~ "Zet \"no\" voor een vlag om hem expliciet uit te zetten."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Wereldgenerator instellingen specifiek voor generator v7.\n"
-#~ "\"ridges\" zijn rivieren.\n"
-#~ "Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
-#~ "waarde.\n"
-#~ "Zet \"no\" voor een vlag om hem expliciet uit te zetten."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Zeer grote grotten: diepte"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Zeer grote grotten: ruis"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Zeer grote grotten ruis parameters."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr "Maximaal aantal blokken dat in totaal tegelijk verzonden wordt."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr "Maximaal aantal blokken per client dat tegelijk verzonden wordt."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Maximaal simultaan verzonden blokken (totaal)"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "Mod-winkel details URL"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "Mod-winkel download URL"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Mod-winkel mod-lijst URL"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Naam van de wereldgenerator die gebruikt wordt wanneer een nieuwe wereld "
-#~ "gecreëerd wordt.\n"
-#~ "Bij het maken van een nieuwe wereld vanuit het hoofdmenu kan een andere "
-#~ "generator gekozen worden."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr ""
-#~ "Rivier ruis parameters.\n"
-#~ "Rivieren komen voor in de buurt van niveau 0"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Grootte van chunks die per keer gegenereerd worden door de "
-#~ "wereldgenerator in mapblokken (16 nodes)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Ondersteuning voor oudere servers"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "Het hoogteverschil voor een termperatuurverschil van 20°C"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Het Irrlicht backend voor renderen."
-
-#~ msgid "Use key"
-#~ msgstr "Gebruiken toets"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Gebruik mip-mapping om texturen te schalen. Kan een snelheidsverbetering "
-#~ "geven."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Valleien vlaggen"
-
-#~ msgid "Water Features"
-#~ msgstr "Ondergronds water"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Ondersteuning voor oudere servers (vóór protocol versie 25).\n"
-#~ "Schakel dit in voor verbinden met servers versie 0.4.12 en eerder.\n"
-#~ "Voor servers vanaf 0.4.13 is dit niet nodig. Dit geldt ook voor\n"
-#~ "sommige servers versie 0.4.12-dev.\n"
-#~ "Indien dit uit staat, wordt het wachtwoord op een veiligere manier "
-#~ "verzonden."
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Y-niveau van hoger (rotswand-top) terrein."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Verberg MV mods"
-
-#~ msgid "Attn"
-#~ msgstr "SAK"
-
-#~ msgid "Capital"
-#~ msgstr "Hoofdletter"
-
-#~ msgid "Comma"
-#~ msgstr "Komma"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Laatste"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Min"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Punt"
-
-#~ msgid "Plus"
-#~ msgstr "Plus"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Bepaalt de grootte van woestijnen en stranden in de wereld-generator "
-#~ "(mapgen) v6.\n"
-#~ "Als 'snowbiomes' aan staat, wordt deze instelling genegeerd."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Bepaalt de vorm van het terrein.\n"
-#~ "De 3 getallen tussen vierkante haken bepalen de schaal\n"
-#~ "van het terrein. Ze dienen alle drie hetzelfde te zijn."
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Wereldgenerator landschapstemperatuur"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Wereldgenerator landschapsvochtigheidsovergangen"
-
-#~ msgid "Mapgen biome humidity noise parameters"
-#~ msgstr "Wereldgenerator landschapsvochtigheid"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Grot breedte"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "Grotten (1) ruisparameters"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "Grotten (2) ruisparameters"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr "Vuldiepte ruisparameters"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Grote Grotten diepte"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Terrein ruisparameters"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Grot breedte"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Grotten (1) ruisparameters"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Grotten (2) ruisparameters"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr "Vuldiepte ruisparameters"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Fractal"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Aantal iteraties"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "Fractal W"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "Fractal X"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Fractal Y"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Fractal Z"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Centrum-positie"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Schaal"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Zeebodem ruisparameters"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "W-doorsnede"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Grot-breedte"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "Grot 1 ruisparameters"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "Grot 2 ruisparameters"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Ruisparameters factor"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr "Vuldiepte ruisparameters"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Hoogte ruisparameters"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Appelbomen ruisparameters"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Strand frequentie"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Strand ruisparameters"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Landschap ruisparameters"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Grotten ruisparameters"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Woestijn frequentie"
-
-#~ msgid "Mapgen v6 mud noise parameters"
-#~ msgstr "Modder ruisparameters"
-
-#~ msgid "Mapgen v6 steepness noise parameters"
-#~ msgstr "Steilheid ruisparameters"
-
-#~ msgid "Mapgen v6 terrain altitude noise parameters"
-#~ msgstr "Terrein-hoogte ruisparameters"
-
-#~ msgid "Mapgen v6 terrain base noise parameters"
-#~ msgstr "Basisterrein ruisparameters"
-
-#~ msgid "Mapgen v6 trees noise parameters"
-#~ msgstr "Bomen ruisparameters"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Grot-breedte"
-
-#~ msgid "Mapgen v7 cave1 noise parameters"
-#~ msgstr "Grotten (1) ruisparameters"
-
-#~ msgid "Mapgen v7 cave2 noise parameters"
-#~ msgstr "Grotten (2) ruisparameters"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr "Vuldiepte ruisparameters"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Hoogte-selectie ruisparameters"
-
-#~ msgid "Mapgen v7 mountain noise parameters"
-#~ msgstr "Bergen ruisparameters"
-
-#~ msgid "Mapgen v7 ridge noise parameters"
-#~ msgstr "Richel ruisparameters"
-
-#~ msgid "Mapgen v7 ridge water noise parameters"
-#~ msgstr "Ruisparameters"
-
-#~ msgid "Mapgen v7 terrain altitude noise parameters"
-#~ msgstr "Terrein-hoogte ruisparameters"
-
-#~ msgid "Mapgen v7 terrain base noise parameters"
-#~ msgstr "Terrein basis ruisparameters"
-
-#~ msgid "Mapgen v7 terrain persistation noise parameters"
-#~ msgstr "Terrein-'persist' ruisparameters"
-
-#~ msgid ""
-#~ "Noise parameters for biome API temperature, humidity and biome blend."
-#~ msgstr ""
-#~ "Ruisparameters voor landschapstemperaturen, -vochtigheid en -overgangen."
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Grenzen van de wereldgenerator.\n"
-#~ "- Maximale waarde: 31000 (hogere waarden worden niet gehonoreerd).\n"
-#~ "- De wereld wordt standaard gegenereerd per gebied van 80x80x80 nodes\n"
-#~ " (5x5x5 mapblokken).\n"
-#~ "- Coordinaat (0,0,0) bevindt zich zoveel mogelijk in het centrum van "
-#~ "een gebied.\n"
-#~ " Dat betekent dat standaard, het meest centrale gebied begint op "
-#~ "coördinaat (-32,-32,-32)\n"
-#~ "- Enkel gebieden (van standaard 5x5x5 blokken) die geheel vallen "
-#~ "binnen\n"
-#~ " map_generation_limit worden gegenereerd"
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr ""
-#~ "Gedetailleerde profiling-data voor mods. Nuttig voor mod-ontwikkelaars."
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "Gedetailleerde profiling van mods"
-
-#~ msgid ""
-#~ "How many blocks are flying in the wire simultaneously for the whole "
-#~ "server."
-#~ msgstr ""
-#~ "Het aantal blokken dat totaal tegelijk onderweg kan zijn, voor de hele "
-#~ "server."
-
-#~ msgid "How many blocks are flying in the wire simultaneously per client."
-#~ msgstr "Het aantal blokken dat per cliënt tegelijk onderweg kan zijn."
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Nuttig voor mod-ontwikkelaars."
-
-#~ msgid "No of course not!"
-#~ msgstr "Nee, natuurlijk niet!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Publieke Serverlijst"
-
-#~ msgid "No!!!"
-#~ msgstr "Nee!!!"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them.\n"
-#~ "\"altitude_chill\" makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "\"humid_rivers\" modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool. It may interfere with delicately adjusted "
-#~ "biomes."
-#~ msgstr ""
-#~ "Algemene wereldgenerator instellingen.\n"
-#~ "Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
-#~ "waarde.\n"
-#~ "Zet \"no\" voor een vlag om hem expliciet uit te zetten.\n"
-#~ "'trees' en 'flat' zijn enkel van toepassing in mgv6."
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "ingeschakeld"
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "Herstart minetest om de driver te activeren"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "Gamemgr: Kan mod \"$1\" niet naar spel \"$2\" kopiëren"
-
-#~ msgid "GAMES"
-#~ msgstr "SPELLEN"
-
-#~ msgid "Mods:"
-#~ msgstr "Mods:"
-
-#~ msgid "new game"
-#~ msgstr "nieuw spel"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "SPEL AANPASSEN"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Geselecteerde mod verwijderen"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Mod toevoegen"
-
-#~ msgid "CLIENT"
-#~ msgstr "CLIENT"
-
-#~ msgid "START SERVER"
-#~ msgstr "START SERVER"
-
-#~ msgid "Name"
-#~ msgstr "Naam"
-
-#~ msgid "Password"
-#~ msgstr "Wachtwoord"
-
-#~ msgid "SETTINGS"
-#~ msgstr "INSTELLINGEN"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Voorwerpen vooraf laden"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "Eindige vloeistoffen"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "SINGLEPLAYER"
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "TEXTUREN"
-
-#~ msgid "MODS"
-#~ msgstr "MODS"
-
-#~ msgid "Add mod:"
-#~ msgstr "Mod toevoegen:"
-
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Let op: Nog niet alle mods zijn geconfigueerd. \n"
-#~ "De mods zullen automatisch worden ingeschakeld als je de configuratie "
-#~ "bewaard. "
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "LEt op: Sommige ingestelde mods zijn vermist.\n"
-#~ "Hun instellingen worden verwijderd als je de configuratie opslaat. "
+#~ msgid "Select Package File:"
+#~ msgstr "Selecteer Modbestand:"
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "Default Besturing:\n"
-#~ "- WASD: Lopen\n"
-#~ "- Linkermuisknop: Graaf/Sla\n"
-#~ "- Rechtmuisknop: Plaats/Gebruik\n"
-#~ "- Muiswiel: selecteer item\n"
-#~ "- 0...9: selecteer item\n"
-#~ "- Shift: kruipen\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Rugzak\n"
-#~ "- ESC: Menu\n"
-#~ "- T: Chat\n"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Niet alle bestanden zijn verwijderd"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Kan instellingen niet aanpassen: Niets geselecteerd"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Kan geen wereld aanmaken: Geen games gevonden"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Deze bestanden worden verwijderd"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Kan niets verwijderen: Geen wereld geselecteerd"
-
-#~ msgid "Address required."
-#~ msgstr "IP-adres nodig."
-
-#~ msgid "Create world"
-#~ msgstr "Maak wereld aan"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Laat het adres leeg om een lokale server te starten."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Favourieten"
-
-#~ msgid "Show Public"
-#~ msgstr "Publieke server"
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Kan geen nieuwe wereld aanmaken: de naam bevat onjuiste tekens"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Waarschuwing: Instellingen niet consistent. "
-
-#~ msgid "Configuration saved. "
-#~ msgstr "Instellingen bewaard. "
-
-#~ msgid "is required by:"
-#~ msgstr "is benodigd voor:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr ""
-#~ "Linkermuisknop: Verplaats alle items. Rechtermuisknop: Verplaats één item"
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Downloaden"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "Schaal-factor toegepast op menu elementen: "
-
-#~ msgid "Wanted FPS"
-#~ msgstr "Gewenste FPS"
-
-#~ msgid "Vertical spawn range"
-#~ msgstr "Vertikaal geboortegebied"
-
-#~ msgid "Vertical initial window size."
-#~ msgstr "Aanvangshoogte van het window."
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "Laad rugzak-texturen vooraf"
-
-#~ msgid ""
-#~ "Pre-generate all item visuals used in the inventory.\n"
-#~ "This increases startup time, but runs smoother in-game.\n"
-#~ "The generated textures can easily exceed your VRAM, causing artifacts in "
-#~ "the inventory."
-#~ msgstr ""
-#~ "Genereer beelden van objecten in de rugzak vooraf.\n"
-#~ "De start-tijd wordt hierdoor langer, maar het spel wordt vloeiender.\n"
-#~ "Dit kost veel geheugen op de videokaart. Als die onvoldoende geheugen "
-#~ "heeft kan dit resulteren in vreemde effecten."
-
-#~ msgid "New style water"
-#~ msgstr "Nieuw water"
-
-#~ msgid ""
-#~ "Minimum wanted FPS.\n"
-#~ "The amount of rendered stuff is dynamically set according to this. and "
-#~ "viewing range min and max."
-#~ msgstr ""
-#~ "Minimaal gewenste FPS.\n"
-#~ "De hoeveelheid gerenderd materiaal wordt aangepast afhankelijk van deze "
-#~ "waarde, en van de min en max zichtafstanden."
-
-#~ msgid ""
-#~ "Maximum distance above water level for player spawn.\n"
-#~ "Larger values result in spawn points closer to (x = 0, z = 0).\n"
-#~ "Smaller values may result in a suitable spawn point not being found,\n"
-#~ "resulting in a spawn at (0, 0, 0) possibly buried underground."
-#~ msgstr ""
-#~ "Maximum hoogte boven waterniveau waar een speler geboren wordt.\n"
-#~ "Bij hogere waarden zullen de plaatsen dichter bij (x = 0, z = 0) liggen.\n"
-#~ "Bij lagere waarden kan het zijn dat een geschikte plek niet gevonden "
-#~ "wordt,\n"
-#~ "in dat geval wordt de speler geboren op (0, 0, 0), mogelijk onder de "
-#~ "grond."
-
-#~ msgid "Mapgen fractal mandelbrot slice w"
-#~ msgstr "Fractal wereldgenerator mandelbrot w-doorsnede"
-
-#~ msgid "Mapgen fractal mandelbrot scale"
-#~ msgstr "Fractal wereldgenerator mandelbrot schaal"
-
-#~ msgid "Mapgen fractal mandelbrot offset"
-#~ msgstr "Fractal wereldgenerator mandelbrot centrum-afstand"
-
-#~ msgid "Mapgen fractal mandelbrot iterations"
-#~ msgstr "Fractal wereldgenerator mandelbrot iteraties"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen fractal.\n"
-#~ "'julia' selects a julia set to be generated instead of a mandelbrot set.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them."
-#~ msgstr ""
-#~ "Wereldgeneratie instellingen voor de fractal generator.\n"
-#~ "'julia' selecterd een julia-verzameling in plaats van een mandebrot-"
-#~ "verzameling.\n"
-#~ "Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
-#~ "waarde.\n"
-#~ "Zet \"no\" voor een vlag om hem expliciet uit te zetten."
-
-#~ msgid ""
-#~ "Mandelbrot set: Iterations of the recursive function.\n"
-#~ "Controls scale of finest detail."
-#~ msgstr ""
-#~ "Mandelbrot verzameling: Aantal iteraties van de recursieve functie.\n"
-#~ "Bepaalt de schaal van de kleinste details."
-
-#~ msgid "Mandelbrot set: Approximate (X,Y,Z) scales in nodes."
-#~ msgstr "Mandelbrot verzameling: (X,Y,Z) schaal, in nodes (bij benadering)."
-
-#~ msgid ""
-#~ "Mandelbrot set: (X,Y,Z) offsets from world centre.\n"
-#~ "Range roughly -2 to 2, multiply by m_scale for offsets in nodes."
-#~ msgstr ""
-#~ "Mandelbrot verzameling: (X,Y,Z) afstanden vanaf wereld-centrum.\n"
-#~ " Bereik is ongeveer -2 tot 2. Vermenigvuldig met m_scale voor de afstand "
-#~ "in nodes."
-
-#~ msgid ""
-#~ "Key for increasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Toets voor het vergroten van de zichtafstand. Dit verandert de minimale "
-#~ "zichtafstand.\n"
-#~ "Zie http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for decreasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Toets voor het verkleinen van de zichtafstand. Dit verandert de minimale "
-#~ "zichtafstand.\n"
-#~ "Zie http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Julia set: W value determining the 4D shape.\n"
-#~ "Range roughly -2 to 2."
-#~ msgstr ""
-#~ "Juliaverzameling: W-waarde van de 4D vorm.\n"
-#~ "Bereik is ongeveer -2 tot 2."
-
-#~ msgid ""
-#~ "Julia set: (X,Y,Z) offsets from world centre.\n"
-#~ "Range roughly -2 to 2, multiply by j_scale for offsets in nodes."
-#~ msgstr ""
-#~ "Juliaverzameling: (X,Y,X) afstanden van wereld-centrum.\n"
-#~ "Bereik is ongeveer -2 tot 2. Vermenigvuldig met j_scale voor de afstand "
-#~ "in nodes."
-
-#~ msgid "Enable selection highlighting for nodes (disables selectionbox)."
-#~ msgstr "Laat geselecteerde nodes oplichten (schakelt selectie-randen uit)."
-
-#~ msgid ""
-#~ "Enable a bit lower water surface, so it doesn't \"fill\" the node "
-#~ "completely.\n"
-#~ "Note that this is not quite optimized and that smooth lighting on the\n"
-#~ "water surface doesn't work with this."
-#~ msgstr ""
-#~ "Maak de wateroppervlakte iets lager, zodat het niet de hele node vult.\n"
-#~ "Dit is niet echt geoptimaliseerd, en vloeiende belichting van de\n"
-#~ "wateroppervlakte werkt niet als dit is aangeschakeld."
-
-#~ msgid "Item textures..."
-#~ msgstr "Voorwerp-texturen..."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag controls the rivers.\n"
-#~ "The default flags set in the engine are: mountains, ridges\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Wereldgenerator instellingen specified voor generator v6.\n"
-#~ "Indien sneeuwgebieden aanstaan, dan worden oerwouden ook aangezet, en "
-#~ "wordt de \"jungles\" vlag genegeerd.\n"
-#~ "Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
-#~ "waarde.\n"
-#~ "Zet \"no\" voor een vlag om hem expliciet uit te zetten."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen flat.\n"
-#~ "Occasional lakes and hills can be added to the flat world.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Wereldgenerator instellingen specified voor generator v7.\n"
-#~ "\"ridges\" zijn rivieren.\n"
-#~ "Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
-#~ "waarde.\n"
-#~ "Zet \"no\" voor een vlag om hem expliciet uit te zetten."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Geavanceerde Instellingen"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Wereldgenerator instellingen specifiek voor generator v7.\n"
-#~ "\"ridges\" zijn rivieren.\n"
-#~ "Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
-#~ "waarde.\n"
-#~ "Zet \"no\" voor een vlag om hem expliciet uit te zetten."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Wereldgenerator instellingen specifiek voor generator v7.\n"
-#~ "\"ridges\" zijn rivieren.\n"
-#~ "Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
-#~ "waarde.\n"
-#~ "Zet \"no\" voor een vlag om hem expliciet uit te zetten."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Wereldgenerator instellingen specifiek voor generator v7.\n"
-#~ "\"ridges\" zijn rivieren.\n"
-#~ "Vlaggen die niet in de lijst van vlaggen staan, behouden hun standaard-"
-#~ "waarde.\n"
-#~ "Zet \"no\" voor een vlag om hem expliciet uit te zetten."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Cinematic modus aan/uit"
diff --git a/po/nn/minetest.po b/po/nn/minetest.po
new file mode 100644
index 000000000..b341f4187
--- /dev/null
+++ b/po/nn/minetest.po
@@ -0,0 +1,5951 @@
+msgid ""
+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 <EMAIL@ADDRESS>\n"
+"Language-Team: Norwegian Nynorsk <https://hosted.weblate.org/projects/"
+"minetest/minetest/nn/>\n"
+"Language: nn\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.9-dev\n"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "Respawn"
+msgstr "Du har kome at"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "You died"
+msgstr "Du døydde"
+
+#: builtin/fstk/ui.lua
+#, fuzzy
+msgid "An error occurred in a Lua script:"
+msgstr "Ein feil har skjedd med eit Lua manus, slik som ein mod:"
+
+#: builtin/fstk/ui.lua
+msgid "An error occurred:"
+msgstr "Det har skjedd ein feil:"
+
+#: builtin/fstk/ui.lua
+msgid "Main menu"
+msgstr "Hovudmeny"
+
+#: builtin/fstk/ui.lua
+msgid "Ok"
+msgstr "OK"
+
+#: builtin/fstk/ui.lua
+msgid "Reconnect"
+msgstr "Kople attende sambandet"
+
+#: builtin/fstk/ui.lua
+msgid "The server has requested a reconnect:"
+msgstr "Tenarmaskinen ber om å få forbindelsen attende:"
+
+#: builtin/mainmenu/common.lua src/client/game.cpp
+msgid "Loading..."
+msgstr "Laster ned..."
+
+#: builtin/mainmenu/common.lua
+msgid "Protocol version mismatch. "
+msgstr "Protkoll versjon bommert. "
+
+#: builtin/mainmenu/common.lua
+msgid "Server enforces protocol version $1. "
+msgstr "Tenarmaskinen krevjar protokoll versjon $1. "
+
+#: builtin/mainmenu/common.lua
+msgid "Server supports protocol versions between $1 and $2. "
+msgstr "Tenarmaskinen støttar protokoll versjonar mellom $1 og $2. "
+
+#: builtin/mainmenu/common.lua
+msgid "Try reenabling public serverlist and check your internet connection."
+msgstr ""
+"Forsøkje å kople attende den offentlege tenarmaskin-lista og sjekk sambands "
+"koplingen."
+
+#: builtin/mainmenu/common.lua
+msgid "We only support protocol version $1."
+msgstr "Vi støttar berre protokoll versjon $1."
+
+#: builtin/mainmenu/common.lua
+msgid "We support protocol versions between version $1 and $2."
+msgstr "Vi støttar protokoll versjonar mellom $1 og $2."
+
+#: 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 "Avbryt"
+
+#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
+msgid "Dependencies:"
+msgstr "Avhengigheiter:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable all"
+msgstr "Deaktiver allt"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable modpack"
+msgstr "Deaktivere modifikasjons-pakka"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable all"
+msgstr "Aktiver allt"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable modpack"
+msgstr "Aktiver modifikasjons-pakka"
+
+#: 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 ""
+"Fåfengt å aktivere modifikasjon \"$1\" sia den innehald ugyldige teikn. "
+"Berre teikna [a-z0-9_] e tillaten."
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Mod:"
+msgstr "Modifikasjon:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Valgbare avhengigheiter:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No game description provided."
+msgstr "Ikkje nokon spill skildring e sørgja for."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No hard dependencies"
+msgstr "Ikkje nokon avhengigheiter."
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No modpack description provided."
+msgstr "Ikkje noko modifikasjons-pakke skildring e sørgja for."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Valgbare avhengigheiter:"
+
+#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
+msgid "Optional dependencies:"
+msgstr "Valgbare avhengigheiter:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
+msgid "Save"
+msgstr "Lagre"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "World:"
+msgstr "Verda:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "enabled"
+msgstr "Aktivert"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "All packages"
+msgstr "Alle pakker"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back"
+msgstr "Attende"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back to Main Menu"
+msgstr "Attende til hovudmeny"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Downloading and installing $1, please wait..."
+msgstr "Henter og installerer $1, ver vennleg og vent..."
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Failed to download $1"
+msgstr "Fåfengt å laste ned $1"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr "Spel"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Install"
+msgstr "Installer"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr "Modder"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No packages could be retrieved"
+msgstr "Ikkje nokon pakkar kunne bli henta"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No results"
+msgstr "Ikkje noko resultat"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
+msgid "Search"
+msgstr "Søk"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Texture packs"
+msgstr "Teksturpakkar"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Uninstall"
+msgstr "Avinstaller"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Update"
+msgstr "Oppdater"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "A world named \"$1\" already exists"
+msgstr "Ein verd med namnet \"$1\" finns allereie"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Create"
+msgstr "Skap"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Download a game, such as Minetest Game, from minetest.net"
+msgstr "Last ned eit spel, sånn som Minetest spellet, ifrå minetest.net"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Download one from minetest.net"
+msgstr "Last eit ned på minetest.net"
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Game"
+msgstr "Spel"
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Mapgen"
+msgstr "Kart generator"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "No game selected"
+msgstr "Ikkje noko spel valgt"
+
+#: builtin/mainmenu/dlg_create_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Seed"
+msgstr "Frø"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Warning: The minimal development test is meant for developers."
+msgstr "Ã…tvaring: Den minimale utviklings-testen e meint for utviklare."
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "World name"
+msgstr "Verdsnamn"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "You have no games installed."
+msgstr "Du har ikkje installert noko spel."
+
+#: builtin/mainmenu/dlg_delete_content.lua
+msgid "Are you sure you want to delete \"$1\"?"
+msgstr "Er du sikker på at du har lyst til å slette \"$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 "Slett"
+
+#: builtin/mainmenu/dlg_delete_content.lua
+msgid "pkgmgr: failed to delete \"$1\""
+msgstr "pkgmgr: sletting av \"$1\" gjekk ikkje"
+
+#: builtin/mainmenu/dlg_delete_content.lua
+msgid "pkgmgr: invalid path \"$1\""
+msgstr "pkgmgr: ugyldig rute \"$1\""
+
+#: builtin/mainmenu/dlg_delete_world.lua
+msgid "Delete World \"$1\"?"
+msgstr "Slett verd \"$1\"?"
+
+#: builtin/mainmenu/dlg_rename_modpack.lua
+msgid "Accept"
+msgstr "Akseptér"
+
+#: builtin/mainmenu/dlg_rename_modpack.lua
+msgid "Rename Modpack:"
+msgstr "Omdøp Modpakka:"
+
+#: 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 ""
+"Denne modifikasjons-pakka har eit eksplisitt namn i sin modpakke.conf som "
+"vill overstyre all omdøping her."
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "(No description of setting given)"
+msgstr "(Ikkje nokon skildring gjeven)"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "2D Noise"
+msgstr "To-dimensjonal lyd"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "< Back to Settings page"
+msgstr "< Attende til instillinger"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Browse"
+msgstr "Bla gjennom"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Disabled"
+msgstr "Deaktivert"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Edit"
+msgstr "Redigér"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Enabled"
+msgstr "Aktivert"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Lacunarity"
+msgstr "Lacunaritet"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Octaves"
+msgstr "Oktaver"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
+msgstr "Forskyvning"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Persistance"
+msgstr "Persistens"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid integer."
+msgstr "Vennligst putt inn heiltal."
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid number."
+msgstr "Vennligst putt eit fungerande tal."
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Restore Default"
+msgstr "Reetabler det normale"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
+msgstr "Skala"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Select directory"
+msgstr "Velje ein mappe"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Select file"
+msgstr "Velje eit dokument"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Show technical names"
+msgstr "Vis tekniske namn"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "The value must be at least $1."
+msgstr "Verdien må i det minste være $1."
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "The value must not be larger than $1."
+msgstr "Verdien må ikkje være høgare enn $1."
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X"
+msgstr "X"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X spread"
+msgstr "x spreiing"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y"
+msgstr "Y"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y spread"
+msgstr "y spreiing"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z"
+msgstr "Z"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z spread"
+msgstr "Z spreiing"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "absvalue"
+msgstr "Absolutt verdi"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr "Standard"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr "letta"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 (Enabled)"
+msgstr "$1 (Aktivert)"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 mods"
+msgstr "$1 modder"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Failed to install $1 to $2"
+msgstr "Funka ikkje å installere $1 til $2"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find real mod name for: $1"
+msgstr ""
+"Installer modifikasjon: Funka ikkje å finne eit ekte modifikasjons namn for: "
+"$1"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgstr ""
+"Installer Modifikasjon: Funka ikkje å finne ein passande for modpakke $1"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgstr ""
+"Installer: Ikkje-støtta dokument type \"$1\" eller så funker ikkje arkivet"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: file: \"$1\""
+msgstr "Installer: dokument: \"$1\""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to find a valid mod or modpack"
+msgstr "Funka ikkje å finne ein gyldig modifikasjon eller mod-pakke"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a $1 as a texture pack"
+msgstr "Funka ikkje å installere $1 som ein tekstur pakke"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a game as a $1"
+msgstr "Funka ikkje å installere $1 som eit spel"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a mod as a $1"
+msgstr "Funka ikkje å installere modifikasjon som ein $1"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a modpack as a $1"
+msgstr "Funka ikkje å installere mod-pakka som ein $1"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Browse online content"
+msgstr "Bla i nett-innhald"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Content"
+msgstr "Innhald"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Disable Texture Pack"
+msgstr "Deaktivér tekstur pakke"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Information:"
+msgstr "Informasjon:"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Installed Packages:"
+msgstr "Installer pakker:"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "No dependencies."
+msgstr "Ikkje nokon avhengigheiter."
+
+#: builtin/mainmenu/tab_content.lua
+msgid "No package description available"
+msgstr "Ikkje nokon pakke skildring tilgjengelig"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Rename"
+msgstr "Omdøp"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Uninstall Package"
+msgstr "Avinstallér pakka"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Use Texture Pack"
+msgstr "Bruk tekstur pakke"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Active Contributors"
+msgstr "Aktive bidragere"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Core Developers"
+msgstr "Kjerne-utviklere"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Credits"
+msgstr "Medvirkende"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Contributors"
+msgstr "Førre bidragere"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Core Developers"
+msgstr "Førre kjerne-utviklere"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Announce Server"
+msgstr "Annonsér tenarmaskin"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Bind Address"
+msgstr "Blind stad"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Configure"
+msgstr "Konfigurér"
+
+#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Creative Mode"
+msgstr "Kreativ stode"
+
+#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Enable Damage"
+msgstr "Aktivér skading"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Host Game"
+msgstr "Bli husvert"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Host Server"
+msgstr "Bli tenarmaskin's vert"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Name/Password"
+msgstr "Namn/passord"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "New"
+msgstr "Ny"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "No world created or selected!"
+msgstr "Ikkje noko verd skapt eller valgt!"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Play Game"
+msgstr "Ha i gang spel"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Port"
+msgstr "Port"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Select World:"
+msgstr "Vel verd:"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Server Port"
+msgstr "Tenarmaskin port"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Start Game"
+msgstr "Start spel"
+
+#: builtin/mainmenu/tab_online.lua
+msgid "Address / Port"
+msgstr "Stad/port"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Connect"
+msgstr "Kople i hop"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Creative mode"
+msgstr "Kreativ stode"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Damage enabled"
+msgstr "Skade aktivert"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Del. Favorite"
+msgstr "Slett Favoritt"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Favorite"
+msgstr "Favoritt"
+
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
+msgstr "Bli med i spel"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Name / Password"
+msgstr "Namn/Passord"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Ping"
+msgstr "Ping"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "PvP enabled"
+msgstr "Spelar mot spelar aktivert"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
+msgstr "2x"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "3D Clouds"
+msgstr "Tre-dimensjonale skyer"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "4x"
+msgstr "4x"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "8x"
+msgstr "8x"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "All Settings"
+msgstr "Alle instillinger"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Antialiasing:"
+msgstr "Kantutjemning:"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Are you sure to reset your singleplayer world?"
+msgstr "Er du sikker på at du vill tilbakestille enkel-spelar verd?"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Autosave Screen Size"
+msgstr "Automatisk sjerm størrelse"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bilinear Filter"
+msgstr "Bi-lineært filtréring"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bump Mapping"
+msgstr "Dunke kartlegging"
+
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
+msgstr "Endre nykeler"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Connected Glass"
+msgstr "Kopla i hop glass"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Fancy Leaves"
+msgstr "Fancy blader"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Generate Normal Maps"
+msgstr "Generér normale kart"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Mipmap"
+msgstr "Mipkart"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Mipmap + Aniso. Filter"
+msgstr "Mipkart + Aniso. filter"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No"
+msgstr "Nei"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Filter"
+msgstr "Inga filter"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Mipmap"
+msgstr "Ingen Mipkart"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Highlighting"
+msgstr "Knute-fremheving"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Outlining"
+msgstr "Knute-utlinjing"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "None"
+msgstr "Ingen"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Leaves"
+msgstr "Ugjennomsiktige blader"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Water"
+msgstr "Ugjennomsiktig vatn"
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Parallax Occlusion"
+msgstr "Parralax okklusjon"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Particles"
+msgstr "Partikkler"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Reset singleplayer world"
+msgstr "Tilbakegå enkelspelar verd"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Screen:"
+msgstr "Sjerm:"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Settings"
+msgstr "Instillinger"
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Shaders"
+msgstr "Dybdeskaper"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Shaders (unavailable)"
+msgstr "Dybdeskaper (ikkje tilgjengelig)"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Simple Leaves"
+msgstr "Enkle blader"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Smooth Lighting"
+msgstr "Jevn belysning"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Texturing:"
+msgstr "Teksturering:"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "To enable shaders the OpenGL driver needs to be used."
+msgstr "For å aktivere skumrings-effekt så må OpenGL driveren være i bruk."
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Tone Mapping"
+msgstr "Tone kartlegging"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Touchthreshold: (px)"
+msgstr "Berøringsterskel: (px)"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Trilinear Filter"
+msgstr "Tri-lineær filtréring"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Leaves"
+msgstr "Raslende lauv"
+
+#: builtin/mainmenu/tab_settings.lua
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Raslende lauv"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Plants"
+msgstr "Raslende planter"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Yes"
+msgstr "Ja"
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Config mods"
+msgstr "Konfigurer modifikasjoner"
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Main"
+msgstr "Hovud"
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Start Singleplayer"
+msgstr "Start enkeltspelar oppleving"
+
+#: src/client/client.cpp
+msgid "Connection timed out."
+msgstr "Nett-kopling er brutt."
+
+#: src/client/client.cpp
+msgid "Done!"
+msgstr "Ferdig!"
+
+#: src/client/client.cpp
+msgid "Initializing nodes"
+msgstr "Førebur noder"
+
+#: src/client/client.cpp
+msgid "Initializing nodes..."
+msgstr "Førebur node..."
+
+#: src/client/client.cpp
+msgid "Loading textures..."
+msgstr "Lastar teksturar..."
+
+#: src/client/client.cpp
+msgid "Rebuilding shaders..."
+msgstr "Gjennbygger dybdeskaper..."
+
+#: src/client/clientlauncher.cpp
+msgid "Connection error (timed out?)"
+msgstr "Kopling gikk galen (Tidsavbrott?)"
+
+#: src/client/clientlauncher.cpp
+msgid "Could not find or load game \""
+msgstr "Kunne ikkje finne eller ha i gang spelet \""
+
+#: src/client/clientlauncher.cpp
+msgid "Invalid gamespec."
+msgstr "Ugyldig spel-spesifikasjonar."
+
+#: src/client/clientlauncher.cpp
+msgid "Main Menu"
+msgstr "Hovudmeny"
+
+#: src/client/clientlauncher.cpp
+msgid "No world selected and no address provided. Nothing to do."
+msgstr "Ingen verd valgt og ikkje nokon adresse valg. Ikkje noko å gjere."
+
+#: src/client/clientlauncher.cpp
+msgid "Player name too long."
+msgstr "Spelarnamn for langt."
+
+#: src/client/clientlauncher.cpp
+msgid "Please choose a name!"
+msgstr "Ver vennleg og velje eit anna namn!"
+
+#: src/client/clientlauncher.cpp
+msgid "Provided password file failed to open: "
+msgstr "Passord dokumentet du ga går ikkje an å åpne: "
+
+#: src/client/clientlauncher.cpp
+msgid "Provided world path doesn't exist: "
+msgstr "Verds-ruta du ga finnes ikkje: "
+
+#: src/client/fontengine.cpp
+msgid "needs_fallback_font"
+msgstr "Trengar_attoverfall_skriftstype"
+
+#: src/client/game.cpp
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
+"\n"
+"Sjekk problemsøkjar.txt for detaljar."
+
+#: src/client/game.cpp
+msgid "- Address: "
+msgstr "- Adresse: "
+
+#: src/client/game.cpp
+msgid "- Creative Mode: "
+msgstr "- Gude løyving: "
+
+#: src/client/game.cpp
+msgid "- Damage: "
+msgstr "- Skade: "
+
+#: src/client/game.cpp
+msgid "- Mode: "
+msgstr "- modus: "
+
+#: src/client/game.cpp
+msgid "- Port: "
+msgstr "- Port: "
+
+#: src/client/game.cpp
+msgid "- Public: "
+msgstr "- Offentleg: "
+
+#: src/client/game.cpp
+msgid "- PvP: "
+msgstr "- Spelar mot spelar (PvP): "
+
+#: src/client/game.cpp
+msgid "- Server Name: "
+msgstr "- Tenarmaskin namn: "
+
+#: src/client/game.cpp
+msgid "Automatic forward disabled"
+msgstr "Automatiske framsteg er avtatt"
+
+#: src/client/game.cpp
+msgid "Automatic forward enabled"
+msgstr "Automatiske framsteg er i gang"
+
+#: src/client/game.cpp
+msgid "Camera update disabled"
+msgstr "Kamera oppdatering er deaktivert"
+
+#: src/client/game.cpp
+msgid "Camera update enabled"
+msgstr "Kamera oppdatering er aktivert"
+
+#: src/client/game.cpp
+msgid "Change Password"
+msgstr "Byt kodeord"
+
+#: src/client/game.cpp
+msgid "Cinematic mode disabled"
+msgstr "Filmatisk modus er avtatt"
+
+#: src/client/game.cpp
+msgid "Cinematic mode enabled"
+msgstr "Filmatisk modus er i gang"
+
+#: src/client/game.cpp
+msgid "Client side scripting is disabled"
+msgstr "Klient side-skildring er av"
+
+#: src/client/game.cpp
+msgid "Connecting to server..."
+msgstr "Kopler til tenarmaskin..."
+
+#: src/client/game.cpp
+msgid "Continue"
+msgstr "Fortsetja"
+
+#: 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 ""
+"Styring:\n"
+"- %s: Framsteg\n"
+"- %s: Baksteg\n"
+"- %s: Sidesteg mot venstre\n"
+"- %s: Sidesteg mot høyre\n"
+"- %s: hopp/klatre\n"
+"- %s: snike seg rundt/bøye seg\n"
+"- %s: slipp gjennstand\n"
+"- %s: inventar\n"
+"- Datamus: snu seg/sjå rundt\n"
+"- Datamus, venstre klikk: grave/slå\n"
+"- Datamus, høgre klikk: plassér/bruk\n"
+"- Datamus, skrolle-hjul: select item\n"
+"- %s: skravlerør\n"
+
+#: src/client/game.cpp
+msgid "Creating client..."
+msgstr "Skapar klient..."
+
+#: src/client/game.cpp
+msgid "Creating server..."
+msgstr "Skapar tenarmaskin..."
+
+#: src/client/game.cpp
+msgid "Debug info and profiler graph hidden"
+msgstr "Problemsøkjar informasjon og profilerings graf er gøymt"
+
+#: src/client/game.cpp
+msgid "Debug info shown"
+msgstr "Problemsøkjaren visar sin informasjon"
+
+#: src/client/game.cpp
+msgid "Debug info, profiler graph, and wireframe hidden"
+msgstr "Problemsøkjaren, profilerings grafen, og jern-tråd-rammen er gøymt"
+
+#: 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 ""
+"Utgangspunkts Kontroller:\n"
+"Ikkje nokon meny synleg:\n"
+"- einskild berøring: knapp aktiveres\n"
+"- dobbel berøring: plassér/bruk\n"
+"- stryk finger: sjå rundt\n"
+"Meny/Synleg innhald:\n"
+"- dobbel berøring (ute):\n"
+" -->lukk\n"
+"- berør stokk, berør slott:\n"
+" --> flytt stokk\n"
+"- berør&dra, berør med den andre finger'n\n"
+" --> plassér enkelt-gjenstand til slott\n"
+
+#: src/client/game.cpp
+msgid "Disabled unlimited viewing range"
+msgstr "Ubergensa utsiktsrekkjevidd har avtatt"
+
+#: src/client/game.cpp
+msgid "Enabled unlimited viewing range"
+msgstr "Ubergensa utsiktsrekkjevidd er i gang"
+
+#: src/client/game.cpp
+msgid "Exit to Menu"
+msgstr "GÃ¥ ut til meny"
+
+#: src/client/game.cpp
+msgid "Exit to OS"
+msgstr "GÃ¥ ut til data'n"
+
+#: src/client/game.cpp
+msgid "Fast mode disabled"
+msgstr "Ekspressmodus er avtatt"
+
+#: src/client/game.cpp
+msgid "Fast mode enabled"
+msgstr "Ekspress modus er i gang"
+
+#: src/client/game.cpp
+msgid "Fast mode enabled (note: no 'fast' privilege)"
+msgstr "Ekspress modus er i gang (notat: ikkje noko \"ekspress\" privilegier)"
+
+#: src/client/game.cpp
+msgid "Fly mode disabled"
+msgstr "Flyvemodus er avtatt"
+
+#: src/client/game.cpp
+msgid "Fly mode enabled"
+msgstr "Flyvemodus er i gang"
+
+#: src/client/game.cpp
+msgid "Fly mode enabled (note: no 'fly' privilege)"
+msgstr "Flyvemodus er i gang (Notat: Ikkje noko 'flyve' privilegier)"
+
+#: src/client/game.cpp
+msgid "Fog disabled"
+msgstr "TÃ¥ke er deaktivert"
+
+#: src/client/game.cpp
+msgid "Fog enabled"
+msgstr "TÃ¥ke er aktivert"
+
+#: src/client/game.cpp
+msgid "Game info:"
+msgstr "Spel info:"
+
+#: src/client/game.cpp
+msgid "Game paused"
+msgstr "Spelet er i avbrot, og er ståande til du kjem tilbake"
+
+#: src/client/game.cpp
+msgid "Hosting server"
+msgstr "Er i gang med vertskap tå tenarmaskin"
+
+#: src/client/game.cpp
+msgid "Item definitions..."
+msgstr "Definerér gjennstander..."
+
+#: src/client/game.cpp
+msgid "KiB/s"
+msgstr "KiB/s"
+
+#: src/client/game.cpp
+msgid "Media..."
+msgstr "Medier..."
+
+#: src/client/game.cpp
+msgid "MiB/s"
+msgstr "MiB/s"
+
+#: src/client/game.cpp
+msgid "Minimap currently disabled by game or mod"
+msgstr "Minikart er for tiden deaktivert tå spelet eller ein modifikasjon"
+
+#: src/client/game.cpp
+msgid "Minimap hidden"
+msgstr "Minikart er gøymt"
+
+#: src/client/game.cpp
+msgid "Minimap in radar mode, Zoom x1"
+msgstr "Minikart i radar modus, Zoom x1"
+
+#: src/client/game.cpp
+msgid "Minimap in radar mode, Zoom x2"
+msgstr "Minikart i radarmodus, Zoom x2"
+
+#: src/client/game.cpp
+msgid "Minimap in radar mode, Zoom x4"
+msgstr "Minikart i radarmodus, Zoom x4"
+
+#: src/client/game.cpp
+msgid "Minimap in surface mode, Zoom x1"
+msgstr "Minikart i overflate modus, Zoom x1"
+
+#: src/client/game.cpp
+msgid "Minimap in surface mode, Zoom x2"
+msgstr "Minikart i overflate modus, Zoom x2"
+
+#: src/client/game.cpp
+msgid "Minimap in surface mode, Zoom x4"
+msgstr "Minikart i overflate modus, Zoom x4"
+
+#: src/client/game.cpp
+msgid "Noclip mode disabled"
+msgstr "Ikkjeklipp modus er avtatt"
+
+#: src/client/game.cpp
+msgid "Noclip mode enabled"
+msgstr "Ikkjeklipp modus er i gang"
+
+#: src/client/game.cpp
+msgid "Noclip mode enabled (note: no 'noclip' privilege)"
+msgstr ""
+"Ikkjeklipp modus er i gang (notat: Ikkje noko 'ikkjeklipp' privilegier)"
+
+#: src/client/game.cpp
+msgid "Node definitions..."
+msgstr "Definerér noder..."
+
+#: src/client/game.cpp
+msgid "Off"
+msgstr "Av"
+
+#: src/client/game.cpp
+msgid "On"
+msgstr "PÃ¥"
+
+#: src/client/game.cpp
+msgid "Pitch move mode disabled"
+msgstr "Tone bevegingsmodus e avtatt"
+
+#: src/client/game.cpp
+msgid "Pitch move mode enabled"
+msgstr "Tone bevegingsmodus er i gang"
+
+#: src/client/game.cpp
+msgid "Profiler graph shown"
+msgstr "Profilerings graf er vist"
+
+#: src/client/game.cpp
+msgid "Remote server"
+msgstr "Fjern-tenarmaskin"
+
+#: src/client/game.cpp
+msgid "Resolving address..."
+msgstr "Slår opp addressa..."
+
+#: src/client/game.cpp
+msgid "Shutting down..."
+msgstr "Slår av..."
+
+#: src/client/game.cpp
+msgid "Singleplayer"
+msgstr "Enkeltspelar oppleving"
+
+#: src/client/game.cpp
+msgid "Sound Volume"
+msgstr "Lydvolum"
+
+#: src/client/game.cpp
+msgid "Sound muted"
+msgstr "Lyd e dempa"
+
+#: src/client/game.cpp
+msgid "Sound unmuted"
+msgstr "Lyd e ikkje dempa lengre"
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range changed to %d"
+msgstr "Utsiktsrekkjevidd er forandra til %d"
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at maximum: %d"
+msgstr "Utsiktsrekkjevidd er på eit maksimum: %d"
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at minimum: %d"
+msgstr "Utsiktsrekkjevidd er på eit minimum: %d"
+
+#: src/client/game.cpp
+#, c-format
+msgid "Volume changed to %d%%"
+msgstr "Volum e forandra til %d%%"
+
+#: src/client/game.cpp
+msgid "Wireframe shown"
+msgstr "Jern-tråd-ramma er vist"
+
+#: src/client/game.cpp
+msgid "Zoom currently disabled by game or mod"
+msgstr "Zoom er for tiden deaktivert tå spelet eller ein modifikasjon"
+
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
+msgstr "ok"
+
+#: src/client/gameui.cpp
+msgid "Chat hidden"
+msgstr "Skravlerøret er gøymt"
+
+#: src/client/gameui.cpp
+msgid "Chat shown"
+msgstr "Skravlerøret er vist"
+
+#: src/client/gameui.cpp
+msgid "HUD hidden"
+msgstr "HUD er gøymt"
+
+#: src/client/gameui.cpp
+msgid "HUD shown"
+msgstr "HUD er vist"
+
+#: src/client/gameui.cpp
+msgid "Profiler hidden"
+msgstr "Profilering er gøymt"
+
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
+msgstr "Profilering er vist (side %d av %d)"
+
+#: src/client/keycode.cpp
+msgid "Apps"
+msgstr "Applikasjoner"
+
+#: src/client/keycode.cpp
+msgid "Backspace"
+msgstr "Attende"
+
+#: src/client/keycode.cpp
+msgid "Caps Lock"
+msgstr "Kapital-tegn på/av knapp"
+
+#: src/client/keycode.cpp
+msgid "Clear"
+msgstr "Rydd til side"
+
+#: src/client/keycode.cpp
+msgid "Control"
+msgstr "Styring"
+
+#: src/client/keycode.cpp
+msgid "Down"
+msgstr "Ned"
+
+#: src/client/keycode.cpp
+msgid "End"
+msgstr "Enden"
+
+#: src/client/keycode.cpp
+msgid "Erase EOF"
+msgstr "Visk ut EOF"
+
+#: src/client/keycode.cpp
+msgid "Execute"
+msgstr "Sett i gang"
+
+#: src/client/keycode.cpp
+msgid "Help"
+msgstr "Hjelp"
+
+#: src/client/keycode.cpp
+msgid "Home"
+msgstr "Hjem"
+
+#: src/client/keycode.cpp
+msgid "IME Accept"
+msgstr "IME aksept"
+
+#: src/client/keycode.cpp
+msgid "IME Convert"
+msgstr "IME konvertér"
+
+#: src/client/keycode.cpp
+msgid "IME Escape"
+msgstr "IME slipp avsted"
+
+#: src/client/keycode.cpp
+msgid "IME Mode Change"
+msgstr "IME modusskifte"
+
+#: src/client/keycode.cpp
+msgid "IME Nonconvert"
+msgstr "IME ikkje-konvertér"
+
+#: src/client/keycode.cpp
+msgid "Insert"
+msgstr "Sett inn"
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Left"
+msgstr "Venstre"
+
+#: src/client/keycode.cpp
+msgid "Left Button"
+msgstr "Venstre knapp"
+
+#: src/client/keycode.cpp
+msgid "Left Control"
+msgstr "Venstre kontrol"
+
+#: src/client/keycode.cpp
+msgid "Left Menu"
+msgstr "Venstre meny knapp"
+
+#: src/client/keycode.cpp
+msgid "Left Shift"
+msgstr "Venstre skift"
+
+#: src/client/keycode.cpp
+msgid "Left Windows"
+msgstr "Venstre, meta knapp"
+
+#: src/client/keycode.cpp
+msgid "Menu"
+msgstr "Meny"
+
+#: src/client/keycode.cpp
+msgid "Middle Button"
+msgstr "Mellom knappen"
+
+#: src/client/keycode.cpp
+msgid "Num Lock"
+msgstr "Num Lokk"
+
+#: src/client/keycode.cpp
+msgid "Numpad *"
+msgstr "Numpad *"
+
+#: src/client/keycode.cpp
+msgid "Numpad +"
+msgstr "Numpad +"
+
+#: src/client/keycode.cpp
+msgid "Numpad -"
+msgstr "Numpad -"
+
+#: src/client/keycode.cpp
+msgid "Numpad ."
+msgstr "Numpad ."
+
+#: src/client/keycode.cpp
+msgid "Numpad /"
+msgstr "Numpad /"
+
+#: src/client/keycode.cpp
+msgid "Numpad 0"
+msgstr "Numpad 0"
+
+#: src/client/keycode.cpp
+msgid "Numpad 1"
+msgstr "Numpad 1"
+
+#: src/client/keycode.cpp
+msgid "Numpad 2"
+msgstr "Numpad 2"
+
+#: src/client/keycode.cpp
+msgid "Numpad 3"
+msgstr "Numpad 3"
+
+#: src/client/keycode.cpp
+msgid "Numpad 4"
+msgstr "Numpad 4"
+
+#: src/client/keycode.cpp
+msgid "Numpad 5"
+msgstr "Numpad 5"
+
+#: src/client/keycode.cpp
+msgid "Numpad 6"
+msgstr "Numpad 6"
+
+#: src/client/keycode.cpp
+msgid "Numpad 7"
+msgstr "Numpad 7"
+
+#: src/client/keycode.cpp
+msgid "Numpad 8"
+msgstr "Numpad 8"
+
+#: src/client/keycode.cpp
+msgid "Numpad 9"
+msgstr "Numpad 9"
+
+#: src/client/keycode.cpp
+msgid "OEM Clear"
+msgstr "OEM Rydd til side"
+
+#: src/client/keycode.cpp
+msgid "Page down"
+msgstr "Nedover på side"
+
+#: src/client/keycode.cpp
+msgid "Page up"
+msgstr "Oppover på side"
+
+#: src/client/keycode.cpp
+msgid "Pause"
+msgstr "Pause"
+
+#: src/client/keycode.cpp
+msgid "Play"
+msgstr "Spel"
+
+#: src/client/keycode.cpp
+msgid "Print"
+msgstr "Skriv ut"
+
+#: src/client/keycode.cpp
+msgid "Return"
+msgstr "Attende"
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
+msgstr "Høgre"
+
+#: src/client/keycode.cpp
+msgid "Right Button"
+msgstr "Høgre knapp"
+
+#: src/client/keycode.cpp
+msgid "Right Control"
+msgstr "Høgre kontrol"
+
+#: src/client/keycode.cpp
+msgid "Right Menu"
+msgstr "Høgre meny knapp"
+
+#: src/client/keycode.cpp
+msgid "Right Shift"
+msgstr "Høgre skift"
+
+#: src/client/keycode.cpp
+msgid "Right Windows"
+msgstr "Høgre, meta knapp"
+
+#: src/client/keycode.cpp
+msgid "Scroll Lock"
+msgstr "Skrolle feste"
+
+#: src/client/keycode.cpp
+msgid "Select"
+msgstr "Velj"
+
+#: src/client/keycode.cpp
+msgid "Shift"
+msgstr "Skifte"
+
+#: src/client/keycode.cpp
+msgid "Sleep"
+msgstr "Søvn"
+
+#: src/client/keycode.cpp
+msgid "Snapshot"
+msgstr "Skjermbilde"
+
+#: src/client/keycode.cpp
+msgid "Space"
+msgstr "Mellomrom"
+
+#: src/client/keycode.cpp
+msgid "Tab"
+msgstr "Tabulator"
+
+#: src/client/keycode.cpp
+msgid "Up"
+msgstr "Opp"
+
+#: src/client/keycode.cpp
+msgid "X Button 1"
+msgstr "X knapp 1"
+
+#: src/client/keycode.cpp
+msgid "X Button 2"
+msgstr "X Knapp 2"
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Zoom"
+msgstr "Zoom"
+
+#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
+msgid "Passwords do not match!"
+msgstr "Passorda passar ikkje!"
+
+#: src/gui/guiConfirmRegistration.cpp
+msgid "Register and Join"
+msgstr "Registrer og bli med"
+
+#: src/gui/guiConfirmRegistration.cpp
+#, fuzzy, 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 ""
+"Du er i gang med å hoppe inn i ein tenarmaskin ved %1$s med namnet \"%2$s\" "
+"for fyrste gong. Om du går videre, ein ny brukar med dine detaljer vill bli "
+"skapt på tenarmaskinen.\n"
+"Ver vennleg og skriv passordet, klikk registrer og trykk \"bli med\" for at "
+"kontoen skal bli registrert eller klikk avbryt for å ikkje gjere det."
+
+#: src/gui/guiFormSpecMenu.cpp
+msgid "Proceed"
+msgstr "Fortset"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "\"Special\" = climb down"
+msgstr "\"Spesiell\" = klatre ned"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Autoforward"
+msgstr "Automatiske framsteg"
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Automatic jumping"
+msgstr "Automatiske hopp"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Backward"
+msgstr "Bakover"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Change camera"
+msgstr "Byt kamera"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Chat"
+msgstr "Skravlerør"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Command"
+msgstr "Befaling"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Console"
+msgstr "Konsol"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. range"
+msgstr "Senk rekkevidde"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. volume"
+msgstr "Senk volum"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Double tap \"jump\" to toggle fly"
+msgstr "Dobbel berør \"hopp\" for å ha på flyve løyve"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Drop"
+msgstr "Slipp"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Forward"
+msgstr "Fremover"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. range"
+msgstr "Øk rekkevidde"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. volume"
+msgstr "Øk volum"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inventory"
+msgstr "Inventar"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Jump"
+msgstr "Hopp"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Key already in use"
+msgstr "Knapp er allereie i bruk"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
+"Knappebindinger. (Om denne menyen går galen, ta bort tinga fra \"minetest."
+"conf\")"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Local command"
+msgstr "Lokal befaling"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Mute"
+msgstr "MÃ¥lbind"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Next item"
+msgstr "Neste gjenstand"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Prev. item"
+msgstr "Forrige gjenstand"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Range select"
+msgstr "Velj rekkevidde"
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Screenshot"
+msgstr "Skjermbilde"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Sneak"
+msgstr "Sniking"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Special"
+msgstr "Spesial"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle HUD"
+msgstr "Slå av/på HUD"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle chat log"
+msgstr "Slå av/på skravlerør"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fast"
+msgstr "Slå på/av ekspress modus"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fly"
+msgstr "Slåpå/av flyve løyving"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fog"
+msgstr "Slå av/på tåke"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle minimap"
+msgstr "Slå på/av minikart"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle noclip"
+msgstr "Slå på/av ikkjeklipp"
+
+#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Slå av/på skravlerør"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
+msgstr "berør knapp"
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Change"
+msgstr "Byt"
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Confirm Password"
+msgstr "Bekreft passord"
+
+#: src/gui/guiPasswordChange.cpp
+msgid "New Password"
+msgstr "Nytt passord"
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
+msgstr "Gammalt passord"
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Exit"
+msgstr "Avslutt"
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Muted"
+msgstr "MÃ¥lbindt"
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr "Lydstyrke: "
+
+#: src/gui/modalMenu.cpp
+msgid "Enter "
+msgstr "GÃ¥ "
+
+#: src/network/clientpackethandler.cpp
+msgid "LANG_CODE"
+msgstr "nn-NO"
+
+#: 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 ""
+"(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 ""
+"(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 ""
+"(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 ""
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of ridged mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of rolling hills."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of step mountains."
+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 "2D noise that controls the size/occurrence of rolling hills."
+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 "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D clouds"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining giant caverns."
+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 "3D noise defining structure of river canyon walls."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+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 ""
+"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 "A message to be displayed to all clients when the server crashes."
+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 "ABM interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Absolute limit of emerge queues"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration in air"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block management interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
+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 "Adds particles when digging a node."
+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 ""
+"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 "Advanced"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Altitude chill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Always fly and fast"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ambient occlusion gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amount of messages a player may send per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amplifies the valleys."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Anisotropic filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce to this serverlist."
+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 "Apple trees noise"
+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 "Ask to reconnect after crash"
+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 "Automatic forward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically jump up single-node obstacles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically report to the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autosave screen size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autoscaling mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Backward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base terrain height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bilinear filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bind address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome API temperature and humidity noise parameters"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Block send optimize distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Build inside player"
+msgstr "Bygg intern spelar"
+
+#: src/settings_translation_file.cpp
+msgid "Builtin"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bumpmapping"
+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 "Camera smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera smoothing in cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera update toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave noise"
+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 "Cave width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern taper"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern upper limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Center of light curve mid-boost."
+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 "Chat key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message count limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message kick threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message max length"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chatcommands"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chunk size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Clean transparent textures"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client and Server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client modding"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side modding restrictions"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side node lookup range restriction"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Climbing speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cloud radius"
+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 "Clouds in menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Colored fog"
+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 ""
+
+#: 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 ""
+"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 "Command key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect glass"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect to external media server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connects glass if supported by node."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console alpha"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB URL"
+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 "Controls"
+msgstr "Styring"
+
+#: 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 "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/depth of lake depressions."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/height of hills."
+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 "Controls width of tunnels, a smaller value creates wider tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crash message"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Creative"
+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 "Crosshair color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "DPI"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Damage"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Darkness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug info toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dec. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dedicated server step"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default acceleration"
+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 "Default password"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default report format"
+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 ""
+"Defines areas of floatland smooth terrain.\n"
+"Smooth floatlands occur when noise > 0."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas where trees have apples."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas with sandy beaches."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain and steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines full size of caverns, smaller values create larger caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines large-scale river channel structure."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines location and terrain of optional hills and lakes."
+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 "Defines the base ground level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines tree areas and tree density."
+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 "Delay in sending blocks after building"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Delay showing tooltips, stated in milliseconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Deprecated Lua API handling"
+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 "Depth below which you'll find giant caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Depth below which you'll find large caves."
+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 "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 "Desynchronize block animation"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Digging particles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disable anticheat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disallow empty passwords"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Domain name of server, to be displayed in the serverlist."
+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 "Drop item key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dump the mapgen debug information."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon maximum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon minimum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+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 "Enable VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable console window"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable creative mode for new created maps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable joysticks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod channels support."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable players getting damage and dying."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable random user input (only used for testing)."
+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 ""
+"Enable smooth lighting with simple ambient occlusion.\n"
+"Disable for speed or for different looks."
+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 ""
+"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 ""
+"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 ""
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables animation of inventory items."
+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 "Enables caching of facedir rotated meshes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables filmic tone mapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables minimap."
+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 ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Engine profiling data print interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Entity methods"
+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 "FPS in pause menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "FSAA"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Factor noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fall bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fallback font"
+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 "Fallback font size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode acceleration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode speed"
+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 "Field of view"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Field of view in degrees."
+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 "Filler depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filler depth noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filmic tone mapping"
+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 "Filtering"
+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 "First of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed map seed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed virtual joystick"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain density"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain exponent"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fly key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Flying"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog start"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow"
+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 "Font shadow offset, if 0 then shadow will not be drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size"
+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 "Format of screenshots."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Forward key"
+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 "Fractal type"
+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 "FreeType fonts"
+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 ""
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+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 "Full screen"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Full screen BPP"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter txr2img"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Generate normalmaps"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Global callbacks"
+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 "Gradient of light curve at maximum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gradient of light curve at minimum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Graphics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gravity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HTTP mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD scale factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD toggle key"
+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 ""
+"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 "Heat blend noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Heat noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height select noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "High-precision FPU"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness3 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness4 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Homepage of server, to be displayed in the serverlist."
+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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 10 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 11 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 12 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 13 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 14 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 15 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 16 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 17 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 18 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 19 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 2 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 20 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 21 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 22 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 23 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 24 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 25 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 26 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 27 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 28 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 29 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 3 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 30 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 31 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 32 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 4 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 5 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 6 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 7 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 8 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 9 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "How deep to make rivers."
+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 "How wide to make rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Humidity blend noise"
+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 "IPv6"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 support."
+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 ""
+"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 ""
+"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 ""
+"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 ""
+"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
+"down and\n"
+"descending."
+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 "If enabled, disable cheat prevention in multiplayer."
+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 ""
+"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."
+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 ""
+"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 ""
+"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 "If this is set, players will always (re)spawn at the given position."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ignore world errors"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "In-Game"
+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 "In-game chat console background color (R,G,B)."
+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 "Inc. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+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 "Instrument chatcommands on registration."
+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 ""
+"Instrument the action function of Active Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Instrument the action function of Loading Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrument the methods of entities on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrumentation"
+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 "Interval of sending time of day to clients."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory items animations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory key"
+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 "Item entity TTL"
+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 "Joystick ID"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick button repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick frustum sensitivity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick type"
+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 ""
+"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 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 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 x"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia z"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jump key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jumping speed"
+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 ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 11th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 13th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 15th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 17th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 19th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 21st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 23rd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 25th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 27th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 29th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 31st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the eighth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the first hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for selecting the ninth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the second hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the sixth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the third hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for toggling the display of chat.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling the display of fog.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"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 ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 "Kick players who sent more than X messages per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Language"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lava depth"
+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 "Left key"
+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 "Length of time between Active Block Modifier (ABM) execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between NodeTimer execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between active block management cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Level of logging to be written to debug.txt:\n"
+"- <nothing> (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 "Light curve mid boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost spread"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lightness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues on disk"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues to generate"
+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 ""
+"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 "Liquid fluidity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid fluidity smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid loop max"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid queue purge time"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid sinking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update interval in seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update tick"
+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 "Loading Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lower Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu script"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu style"
+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 "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Makes all liquids opaque"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map directory"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation attributes specific to Mapgen Carpathian."
+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 ""
+"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 ""
+"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 "Map generation attributes specific to Mapgen v5."
+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 ""
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map save interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generation delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock unload timeout"
+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 "Mapgen Flat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen Flat specific flags"
+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 "Mapgen V5"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V5 specific flags"
+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 "Mapgen V7"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V7 specific flags"
+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 "Mapgen debug"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block generate distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block send distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max liquids processed per step."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. clearobjects extra blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. packets per iteration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS when game is paused."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum forceloaded blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum hotbar width"
+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 ""
+"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 "Maximum number of blocks that can be queued for loading."
+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 ""
+"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 "Maximum number of forceloaded mapblocks."
+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 ""
+"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 "Maximum number of players that can be connected simultaneously."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of recent chat messages to show"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of statically stored objects in a block."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum objects per block"
+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 "Maximum simultaneous block sends per client"
+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 "Maximum time in ms a file download (e.g. a mod download) may take."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum users"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Menus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mesh cache"
+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 "Method used to highlight selected object."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap scan height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum texture size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mipmapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mod channels"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Modifies the size of the hudbar elements."
+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 "Mountain height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain variation noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain zero level"
+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 "Mud noise"
+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 "Mute key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mute sound"
+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 ""
+"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 ""
+"Name of the server, to be displayed when players join and in the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Near clipping plane"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Network"
+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 "New users need to input this password."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Node highlighting"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "NodeTimer interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noises"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps sampling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps strength"
+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 ""
+"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 "Number of parallax occlusion iterations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Online Content Repository"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Opaque liquids"
+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 "Overall bias of parallax occlusion effect, usually scale/2."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Overall scale of parallax occlusion effect."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion bias"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion iterations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion scale"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion strength"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to TrueTypeFont or bitmap."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to save screenshots at."
+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 "Path to texture directory. All textures are first searched from here."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pause on lost window focus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Physics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move mode"
+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 "Player name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player versus player"
+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 ""
+"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 "Prevent mods from doing insecure things like running shell commands."
+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 "Privileges that players with basic_privs can grant"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiling"
+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 "Raises terrain to make valleys around the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Random input"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Range select key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Recent Chat Messages"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote media"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote port"
+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 "Replaces the default main menu with a custom one."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Report path"
+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 "Ridge mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge underwater noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridged mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Right key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rightclick repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rollback recording"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hill size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hills spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Round minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Safe digging and placing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sandy beaches occur when np_beach exceeds this value."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save the map received by the client on disk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save window size automatically when modified."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Saving map received from server"
+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 "Screen height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screen width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot folder"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot format"
+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 "Seabed 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 "Second of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box border color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box width"
+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 "Server / Singleplayer"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server description"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server port"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server side occlusion culling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist file"
+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 "Set the maximum character length of a chat message sent by clients."
+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 ""
+"Set to true enables waving plants.\n"
+"Requires shaders to be enabled."
+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 "Shader path"
+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 "Shadow limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shape of the minimap. Enabled = round, disabled = square."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show debug info"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show entity selection boxes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shutdown message"
+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 ""
+"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 "Slice w"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Slope and fill work together to modify the heights."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale humidity variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale temperature variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooth lighting"
+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 "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooths rotation of camera. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sneak key"
+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 "Sound"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key for climbing/descending"
+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 ""
+"Spread of light curve mid-boost.\n"
+"Standard deviation of the mid-boost gaussian."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Static spawnpoint"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Steepness noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of generated normalmaps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of light curve mid-boost."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of parallax."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strict protocol checking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strip color codes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Synchronous SQLite"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Temperature variation for biomes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain alternative noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain higher noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain noise"
+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 ""
+"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 "Terrain persistence noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Texture path"
+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 "The URL for the content repository"
+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 "The depth of dirt or other biome filler node."
+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 "The identifier of the joystick to use"
+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 "The network interface that the server listens on."
+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 ""
+"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 ""
+"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 ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
+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 ""
+"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 ""
+"The time in seconds it takes between repeated events\n"
+"when holding down a joystick button combination."
+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 "The type of joystick"
+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 "Third of 4 2D noises that together define hill/mountain range height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "This font will be used for certain languages."
+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 "Time of day when a new world is started, in millihours (0-23999)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time send interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Timeout for client to remove unused map data from memory."
+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 "Toggle camera mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Tooltip delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Touch screen threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trees noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trilinear filtering"
+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 "Trusted mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Typical maximum height, above and below midpoint, of floatland mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "URL to the server list displayed in the Multiplayer Tab."
+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 "Unlimited player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Unload unused server data"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Upper Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use 3D cloud look instead of flat."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use a cloud animation for the main menu background."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use bilinear filtering when scaling textures."
+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 "Use trilinear filtering when scaling textures."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VSync"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley fill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley profile"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley slope"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of biome filler depth."
+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 "Variation of maximum mountain height (in nodes)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of number of caves."
+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 "Varies depth of biome surface nodes."
+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 "Varies steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical screen synchronization."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Video driver"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View distance in nodes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range decrease key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range increase key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View zoom key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Viewing range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Virtual joystick triggers aux button"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Volume"
+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 "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Walking 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 "Water level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Water surface level of the world."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving Nodes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving leaves"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Bølgete vatn"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Raslende lauv"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Bølgete vatn"
+
+#: 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 ""
+"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 ""
+"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 ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Whether node texture animations should be desynchronized per mapblock."
+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 "Whether to allow players to damage and kill each other."
+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 "Whether to fog out the end of the visible area."
+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 "Width component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Width of the selection box lines around nodes."
+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 ""
+"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 "World start time"
+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 "World-aligned textures mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y of flat ground."
+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 "Y of upper limit of large caves."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-distance over which caverns expand to full size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of average terrain surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of cavern upper limit."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of floatland midpoint and lake surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of higher terrain that creates cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of lower terrain and seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level to which floatland shadows extend."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL file download timeout"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL parallel limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL timeout"
+msgstr ""
+
+#~ msgid "Select Package File:"
+#~ msgstr "Velje eit pakke dokument:"
+
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Slå på/av kameramodus"
diff --git a/po/pl/minetest.po b/po/pl/minetest.po
index c2a4a1531..35d450dcb 100644
--- a/po/pl/minetest.po
+++ b/po/pl/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Polish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-23 11:18+0000\n"
-"Last-Translator: Mateusz Mendel <mendelm9@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Polish <https://hosted.weblate.org/projects/minetest/minetest/"
"pl/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -25,11 +25,10 @@ msgstr "Umarłeś"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "Wystąpił błąd w skrypcie Lua modyfikacji:"
+msgid "An error occurred in a Lua script:"
+msgstr "Wystąpił błąd w skrypcie Lua, na przykład w modyfikacji:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Wystąpił błąd:"
@@ -110,26 +109,40 @@ msgid "Enable modpack"
msgstr "Aktywuj moda"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
-"Nie udało się aktywować moda \"$1\", ponieważ zawiera niedozwolone znaki. "
-"Tylko znaki [a-z0-9_] sÄ… dozwolone."
+"Nie udało się aktywować modyfikacji \"$1\", ponieważ zawiera niedozwolone "
+"znaki. Tylko znaki od [a-z, 0-9 i _] sÄ… dozwolone."
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Dodatkowe zależności:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
msgstr "Brak dostępnych informacji o grze."
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No hard dependencies"
+msgstr "Brak wymaganych zależności."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "Brak dostępnych informacji o modzie."
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Dodatkowe zależności:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Dodatkowe zależności:"
@@ -183,7 +196,7 @@ msgstr "Mody"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Nie można pobrać żadnych pakietów"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
@@ -215,9 +228,8 @@ msgid "Create"
msgstr "Utwórz"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Pobierz tryb gry (np. minetest_game), z minetest.net"
+msgstr "Pobierz tryb gry, taki jak Minetest Game, z minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -288,15 +300,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"Ten mod ma sprecyzowanÄ… nazwÄ™ nadanÄ… w pliku konfiguracyjnym modpack.conf, "
+"która nadpisze każdą zmienioną tutaj nazwę."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(brak opisu)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Szumy"
+msgstr "Szum 2d"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -319,24 +332,20 @@ msgid "Enabled"
msgstr "Włączone"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Lacunarity"
-msgstr "Bezpieczeństwo"
+msgstr "Lunarność"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Octaves"
msgstr "Oktawy"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
-#, fuzzy
msgid "Offset"
msgstr "Margines"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Persistance"
-msgstr "Odległość przesyłania graczy"
+msgstr "Trwałość"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -375,57 +384,48 @@ msgid "The value must not be larger than $1."
msgstr "Wartość nie może być większa niż $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "X"
msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "X spread"
msgstr "Rozrzut X"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Y"
msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Y spread"
msgstr "Rozrzut Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Z"
msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Z spread"
msgstr "Rozrzut Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "absvalue"
msgstr "wartość bezwzględna"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Domyślna gra"
+msgstr "domyślne"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "wygładzony"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
msgstr "$1 (Aktywny)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr " Modyfikacje"
+msgstr "Modyfikacja $1"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
@@ -478,7 +478,7 @@ msgstr "Zawartość"
#: builtin/mainmenu/tab_content.lua
msgid "Disable Texture Pack"
-msgstr "Wyłącz paczkę tekstur"
+msgstr "Wyłącz pakiet tekstur"
#: builtin/mainmenu/tab_content.lua
msgid "Information:"
@@ -486,33 +486,27 @@ msgstr "Informacja:"
#: builtin/mainmenu/tab_content.lua
msgid "Installed Packages:"
-msgstr "Zainstalowane paczki:"
+msgstr "Zainstalowane pakiety:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
msgstr "Brak wymaganych zależności."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "Brak dostępnych informacji o modzie"
+msgstr "Brak opisu pakietu"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
msgstr "Zmień nazwę"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "Wybierz plik moda:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Usuń modyfikację"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "Paczki tekstur"
+msgstr "Użyj paczki tekstur"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -651,9 +645,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Ustawienia"
+msgstr "Wszystkie ustawienia"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -688,7 +681,6 @@ msgid "Fancy Leaves"
msgstr "Ozdobne liście"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Generate Normal Maps"
msgstr "Generuj normalne mapy"
@@ -793,12 +785,13 @@ msgid "Waving Leaves"
msgstr "Falujące liście"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Falujące rośliny"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "FalujÄ…ce bloki"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "FalujÄ…ca woda"
+msgid "Waving Plants"
+msgstr "Falujące rośliny"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -870,7 +863,7 @@ msgstr "Wybierz nazwÄ™!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
-msgstr ""
+msgstr "Nie udało się otworzyć dostarczonego pliku z hasłem "
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
@@ -921,43 +914,36 @@ msgid "- Server Name: "
msgstr "- Nazwa serwera: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
msgstr "Automatyczne chodzenie do przodu wyłączone"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
msgstr "Automatyczne chodzenie do przodu włączone"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update disabled"
-msgstr "Klawisz przełączania kamery wyłączony"
+msgstr "Aktualizowanie kamery wyłączone"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "Klawisz przełączania kamery włączony"
+msgstr "Aktualizowanie kamery włączone"
#: src/client/game.cpp
msgid "Change Password"
msgstr "Zmień hasło"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode disabled"
-msgstr "Tryb Kinowy wyłączony"
+msgstr "Tryb kinowy wyłączony"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode enabled"
-msgstr "Tryb Kinowy włączony"
+msgstr "Tryb kinowy włączony"
#: src/client/game.cpp
-#, fuzzy
msgid "Client side scripting is disabled"
-msgstr "Skryptowanie Client side jest wyłączone"
+msgstr "Skryptowanie po stronie klienta jest wyłączone"
#: src/client/game.cpp
msgid "Connecting to server..."
@@ -965,7 +951,7 @@ msgstr "ÅÄ…czenie z serwerem..."
#: src/client/game.cpp
msgid "Continue"
-msgstr "Dalej"
+msgstr "Kontynuuj"
#: src/client/game.cpp
#, c-format
@@ -985,20 +971,20 @@ msgid ""
"- Mouse wheel: select item\n"
"- %s: chat\n"
msgstr ""
-"Domyślne sterowanie:\n"
-"- %s: do przodu\n"
-"- %s: do tyłu\n"
-"- %s: lewo\n"
-"- %s: prawo\n"
-"- %s: skok/wspinanie się↵\n"
-"- %s: skradanie się/schodzenie w dół↵\n"
-"- %s: upuszczenie przedmiotu↵\n"
-"- %s: ekwipunek↵\n"
-"- Mysz: obracanie się/patrzenie↵\n"
-"- Lewy przycisk myszy: kopanie/uderzanie↵\n"
-"- Prawy przycisk myszy: postawienie/użycie przedmiotu↵\n"
-"- Rolka myszy: wybór przedmiotu↵\n"
-"- %s: chat\n"
+"Sterowanie:↵\n"
+"- %s: idź do przodu↵\n"
+"- %s: idź do tyłu↵\n"
+"- %s: idź w lewo↵\n"
+"- %s: idź w prawo↵\n"
+"- %s: skocz/wspinaj się↵\n"
+"- %s: skradaj się/idź do dołu↵\n"
+"- %s: upuść przedmiot↵\n"
+"- %s: otwórz ekwipunek↵\n"
+"- Mysz: obróć się/patrz↵\n"
+"- Lewy przycisk myszy: kop/uderz↵\n"
+"- Prawy przycisk myszy: postaw/użyj↵\n"
+"- Rolka myszy: wybierz przedmiot↵\n"
+"- %s: czatuj↵\n"
#: src/client/game.cpp
msgid "Creating client..."
@@ -1009,19 +995,16 @@ msgid "Creating server..."
msgstr "Tworzenie serwera...."
#: src/client/game.cpp
-#, fuzzy
msgid "Debug info and profiler graph hidden"
-msgstr "Informacje o debugowaniu oraz wykresy sÄ… ukryte"
+msgstr "Informacje debugu oraz wykresy sÄ… ukryte"
#: src/client/game.cpp
-#, fuzzy
msgid "Debug info shown"
-msgstr "Informacje o debugowaniu widoczne"
+msgstr "Informacje debugu widoczne"
#: src/client/game.cpp
-#, fuzzy
msgid "Debug info, profiler graph, and wireframe hidden"
-msgstr "Informacje o debugowaniu, wykresy oraz tryb siatki sÄ… ukryte"
+msgstr "Informacje debugu, wykresy oraz tryb siatki sÄ… ukryte"
#: src/client/game.cpp
msgid ""
@@ -1052,12 +1035,10 @@ msgstr ""
" --> umieść pojedynczy item w slocie\n"
#: src/client/game.cpp
-#, fuzzy
msgid "Disabled unlimited viewing range"
msgstr "Wyłączono nieskończony zasięg widoczności"
#: src/client/game.cpp
-#, fuzzy
msgid "Enabled unlimited viewing range"
msgstr "Włączono nieskończony zasięg widoczności"
@@ -1070,17 +1051,14 @@ msgid "Exit to OS"
msgstr "Wyjście z gry"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode disabled"
msgstr "Tryb szybki wyłączony"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
msgstr "Tryb szybki włączony"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled (note: no 'fast' privilege)"
msgstr "Tryb szybki włączony (uwaga: nie masz uprawnień \"trybu szybkiego\")"
@@ -1093,7 +1071,6 @@ msgid "Fly mode enabled"
msgstr "Tryb latania włączony"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled (note: no 'fly' privilege)"
msgstr "Tryb latania włączony (uwaga: nie masz uprawnień \"latania\")"
@@ -1114,7 +1091,6 @@ msgid "Game paused"
msgstr "Gra wstrzymana"
#: src/client/game.cpp
-#, fuzzy
msgid "Hosting server"
msgstr "Tworzenie serwera"
@@ -1143,47 +1119,38 @@ msgid "Minimap hidden"
msgstr "Minimapa ukryta"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap in radar mode, Zoom x1"
-msgstr "Minimapa w trybie radarowym, powiększenie x1"
+msgstr "Minimapa w trybie radaru, Zoom x1"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap in radar mode, Zoom x2"
-msgstr "Minimapa w trybie radarowym, powiększenie x2"
+msgstr "Minimapa w trybie radaru, Zoom x2"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap in radar mode, Zoom x4"
-msgstr "Minimapa w trybie radarowym, powiększenie x4"
+msgstr "Minimapa w trybie radaru, Zoom x4"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap in surface mode, Zoom x1"
msgstr "Minimapa w trybie powierzchniowym, powiększenie x1"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap in surface mode, Zoom x2"
msgstr "Minimapa w trybie powierzchniowym, powiększenie x2"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap in surface mode, Zoom x4"
msgstr "Minimapa w trybie powierzchniowym, powiększenie x4"
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode disabled"
msgstr "Tryb noclip wyłączony"
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled"
msgstr "Tryb noclip włączony"
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
msgstr "Tryb noclip włączony (uwaga: nie masz uprawnień \"noclip\")"
@@ -1200,17 +1167,14 @@ msgid "On"
msgstr "Włącz"
#: src/client/game.cpp
-#, fuzzy
msgid "Pitch move mode disabled"
msgstr "Tryb nachylenia ruchu wyłączony"
#: src/client/game.cpp
-#, fuzzy
msgid "Pitch move mode enabled"
msgstr "Tryb nachylenia ruchu włączony"
#: src/client/game.cpp
-#, fuzzy
msgid "Profiler graph shown"
msgstr "Wykresy profilera widoczne"
@@ -1235,27 +1199,25 @@ msgid "Sound Volume"
msgstr "Głośność"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound muted"
msgstr "Głośność wyciszona"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound unmuted"
msgstr "Głośność włączona ponownie"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range changed to %d"
msgstr "Zmieniono zasięg widoczności na %d%%"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range is at maximum: %d"
msgstr "Zasięg widoczności na maksimum:%d1"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range is at minimum: %d"
msgstr "Zasięg widoczności na minimum: %d1"
@@ -1265,12 +1227,10 @@ msgid "Volume changed to %d%%"
msgstr "Zmieniono poziom głośności na %d%%"
#: src/client/game.cpp
-#, fuzzy
msgid "Wireframe shown"
msgstr "Siatka widoczna"
#: src/client/game.cpp
-#, fuzzy
msgid "Zoom currently disabled by game or mod"
msgstr "Powiększenie jest obecnie wyłączone przez grę lub mod"
@@ -1295,14 +1255,13 @@ msgid "HUD shown"
msgstr "HUD widoczny"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Profiler hidden"
msgstr "Profiler ukryty"
#: src/client/gameui.cpp
#, c-format
msgid "Profiler shown (page %d of %d)"
-msgstr ""
+msgstr "Profiler wyświetlony (strona %d z %d)"
#: src/client/keycode.cpp
msgid "Apps"
@@ -1358,7 +1317,7 @@ msgstr "Konwertuj IME"
#: src/client/keycode.cpp
msgid "IME Escape"
-msgstr "Wyłącz IME"
+msgstr "Uniknij IME"
#: src/client/keycode.cpp
msgid "IME Mode Change"
@@ -1469,17 +1428,14 @@ msgid "Numpad 9"
msgstr "Numeryczna 9"
#: src/client/keycode.cpp
-#, fuzzy
msgid "OEM Clear"
msgstr "OEM Clear"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Page down"
msgstr "Page down"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Page up"
msgstr "Page up"
@@ -1492,7 +1448,6 @@ msgid "Play"
msgstr "Graj"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Print"
msgstr "Drukuj"
@@ -1557,14 +1512,12 @@ msgid "Up"
msgstr "Góra"
#: src/client/keycode.cpp
-#, fuzzy
msgid "X Button 1"
-msgstr "X Button 1"
+msgstr "Przycisk X 1"
#: src/client/keycode.cpp
-#, fuzzy
msgid "X Button 2"
-msgstr "X Button 2"
+msgstr "Przycisk X 2"
#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
msgid "Zoom"
@@ -1575,18 +1528,17 @@ msgid "Passwords do not match!"
msgstr "Hasła nie są jednakowe!"
#: src/gui/guiConfirmRegistration.cpp
-#, fuzzy
msgid "Register and Join"
-msgstr "Zajestruj się i dołącz"
+msgstr "Zarejestruj się i dołącz"
#: src/gui/guiConfirmRegistration.cpp
#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
"Próbujesz po raz pierwszy wejść na serwer %1$s1 o nazwie \"%2$s2\" . Jeśli "
"kontynuujesz na serwerze zostanie utworzone nowe konto z Twoim danymi.\n"
@@ -1598,26 +1550,22 @@ msgid "Proceed"
msgstr "Kontynuuj"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "\"Special\" = climb down"
-msgstr "\"Użyj\" = wspinaj się"
+msgstr "\"Specjalny\" = wspinaj siÄ™"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Autoforward"
msgstr "Automatyczne chodzenie do przodu"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic jumping"
-msgstr "Automatyczne skakanie"
+msgstr "Automatyczne skoki"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Backward"
msgstr "Tył"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
msgstr "Zmień kamerę"
@@ -1634,7 +1582,6 @@ msgid "Console"
msgstr "Konsola"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Dec. range"
msgstr "Zmniejsz pole widzenia"
@@ -1655,7 +1602,6 @@ msgid "Forward"
msgstr "Przód"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Inc. range"
msgstr "Zwiększ pole widzenia"
@@ -1711,19 +1657,13 @@ msgstr "Skradanie"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Special"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Przełącz na tryb Cinematic"
+msgstr "Specjalny"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
msgstr "Przełącz HUD"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle chat log"
msgstr "Przełącz historię czatu"
@@ -1736,12 +1676,10 @@ msgid "Toggle fly"
msgstr "Przełącz tryb latania"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle fog"
msgstr "Przełącz mgłę"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
msgstr "Przełącz minimapę"
@@ -1750,6 +1688,11 @@ msgid "Toggle noclip"
msgstr "Przełącz tryb noclip"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Przełącz historię czatu"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "naciśnij klawisz"
@@ -1774,7 +1717,6 @@ msgid "Exit"
msgstr "Wyjście"
#: src/gui/guiVolumeChange.cpp
-#, fuzzy
msgid "Muted"
msgstr "Wyciszony"
@@ -1791,12 +1733,11 @@ msgid "LANG_CODE"
msgstr "pl"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"(Android) Fixes the position of virtual joystick.\n"
"If disabled, virtual joystick will center to first-touch's position."
msgstr ""
-"(Android) Zmienia pozycjÄ™ wirtualnego joysticka.\n"
+"(Android) Mocuje pozycjÄ™ wirtualnego joysticka.\n"
"Gdy jest wyłączona, wirtualny joystick przestawi się do miejsca pierwszego "
"dotknięcia."
@@ -1806,9 +1747,11 @@ msgid ""
"If enabled, virtual joystick will also tap \"aux\" button when out of main "
"circle."
msgstr ""
+"(Android) Użyj wirtualnego joysticka, aby zaaktywować przycisk \"aux\".\n"
+"Gdy włączone, wirtualny joystick również naciśnie przycisk \"aux\", gdy "
+"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"
@@ -1819,15 +1762,16 @@ msgid ""
"situations.\n"
"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes."
msgstr ""
-"(X, Y, Z) offset fraktalu od centrum świata w jednostkach \"skali\".\n"
-"Używany by przesunąć odpowiednie miejsce do spawnu niskiego podłoża blisko "
+"(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 "
"punktu (0, 0).\n"
-"Domyślny jest odpowiedni dla zbiorów Mandelbrota, wymaga edycji dla zbiorów "
-"Julii.\n"
-"Zakres w przybliżeniu -2 do 2. Pomnożony przez \"skalę\" dla offsetu na "
+"Domyślny jest odpowiedni dla zbiorów Mandelbrota, lecz wymaga edycji dla "
+"zbiorów Julii.\n"
+"Zakres w przybliżeniu -2 do 2. Pomnożony przez \"skalę\" dla marginesu na "
"węzłech."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"(X,Y,Z) scale of fractal in nodes.\n"
"Actual fractal size will be 2 to 3 times larger.\n"
@@ -1837,6 +1781,14 @@ msgid ""
"Default is for a vertically-squashed shape suitable for\n"
"an island, set all 3 numbers equal for the raw shape."
msgstr ""
+"Skala (X.Y.Z) fraktali w blokach.\n"
+"Rzeczywisty rozmiar fraktali będzie 2, 3 raz większy.\n"
+"Te wartości mogą być bardzo wysokie, \n"
+"fraktal nie musi mieścić się wewnątrz świata.\n"
+"Zwiększ je, aby 'przybliżyć' wewnątrz szczegółów fraktalu.\n"
+"Domyślna wartość jest ustawiona dla kształtu zgniecionego pionowo "
+"odpowiedniego \n"
+"dla wyspy, ustaw 3 wartości równe, aby uzyskać surowy kształt."
#: src/settings_translation_file.cpp
msgid ""
@@ -1847,35 +1799,33 @@ msgstr ""
"1 = relief mapping (wolniejsze, bardziej dokładne)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the shape/size of ridged mountains."
msgstr "Szum 2D który wpływa na kształt/rozmiar łańcuchów górskich."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the shape/size of rolling hills."
msgstr "Szum 2D, który wpływa na kształt/rozmiar zaokrąglonych wzgórz."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the shape/size of step mountains."
msgstr "Szum 2D, który wpływa na kształt/ rozmiar górskich stepów."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
-msgstr "Szum 2D, który wpływa na rozmiar/występowanie łańcuchów górskich."
+msgstr "Szum 2D, który wpływa na rozmiar/występowanie grzbietów górskich."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of rolling hills."
-msgstr "Szum 2D, który wpływa na rozmiar/występowanie zaokrąglonych wzgórz."
+msgstr "Szum 2D, który wpływa na rozmiar/występowanie falistych wzgórz."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of step mountain ranges."
-msgstr ""
-"Szum 2D, który wpływa na rozmiar/ występowanie stepów łańcuchów górskich."
+msgstr "Szum 2D, który wpływa na rozmiar/ występowanie stepów górskich."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "2D noise that locates the river valleys and channels."
+msgstr "Szum 2D, który wpływa na kształt/rozmiar zaokrąglonych wzgórz."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1902,17 +1852,18 @@ msgid "3D noise defining structure of river canyon walls."
msgstr "Szum 3d określający strukturę kanionów rzecznych."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "3D noise defining terrain."
msgstr "Szum 3D określający teren."
#: src/settings_translation_file.cpp
-#, fuzzy
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 ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1928,12 +1879,12 @@ msgstr ""
"Wsparcie 3D\n"
"Aktualnie wspierane:\n"
"- none: bez wyjścia 3d.\n"
-"- anaglyph: cyan/magenta kolor 3d.\n"
+"- anaglyph: Niebieski/karmazynowy kolor 3d.\n"
"- interlaced: bazujÄ…cy na polaryzacji parzystej/nieparzystej linii.\n"
"- topbottom: podzielony ekran góra/dół.\n"
"- sidebyside: podzielony obok siebie.\n"
"- crossview: obuoczne 3d\n"
-"- pageflip: bazujÄ…cy na quadbuffer.\n"
+"- pageflip: 3D bazujÄ…ce na quadbuffer.\n"
"Zauważ, że tryb interlaced wymaga włączenia shaderów."
#: src/settings_translation_file.cpp
@@ -1969,6 +1920,10 @@ msgid "Acceleration in air"
msgstr "Przyspieszenie w powietrzu"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Modyfikatory aktywnego bloku"
@@ -2023,6 +1978,8 @@ msgstr "Zaawansowane"
#: src/settings_translation_file.cpp
msgid "Alters how mountain-type floatlands taper above and below midpoint."
msgstr ""
+"Zmienia sposób w jaki podobne do gór latające wyspy zwężają się ku środkowi "
+"nad i pod punktem środkowym."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2034,17 +1991,14 @@ msgid "Always fly and fast"
msgstr "Zawsze lataj oraz poruszaj siÄ™ szybko"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ambient occlusion gamma"
msgstr "Ambient occlusion gamma"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Amount of messages a player may send per 10 seconds."
msgstr "Dozwolona liczba wiadomości wysłanych przez gracza w ciągu 10 sekund."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Amplifies the valleys."
msgstr "Wzmacnia doliny."
@@ -2062,12 +2016,10 @@ msgid "Announce to this serverlist."
msgstr "Rozgłoś listę serwerów."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Append item name"
msgstr "Dołącz nazwę przedmiotu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Append item name to tooltip."
msgstr "Dołącz nazwę przedmiotu do jego opisu."
@@ -2076,12 +2028,10 @@ msgid "Apple trees noise"
msgstr "Szum jabłoni"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Arm inertia"
msgstr "Bezwładność ramion"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Arm inertia, gives a more realistic movement of\n"
"the arm when the camera moves."
@@ -2138,7 +2088,6 @@ msgid "Autosave screen size"
msgstr "Automatyczny zapis rozmiaru okienka"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Autoscaling mode"
msgstr "Tryb automatycznego skalowania"
@@ -2207,12 +2156,18 @@ msgid "Bumpmapping"
msgstr "Mapowanie wypukłości"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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 ""
+"Dystans kamery obok samolotu w węzłach, pomiędzy 0 i 0.5\n"
+"Większość użytkowników nie będzie potrzebowała tego zmieniać.\n"
+"Zwiększenie może zmniejszyć występowanie artefaktów na słabszych kartach "
+"graficznych.\n"
+"0.1 = Domyślnie, 0.25 = Dobra wartość dla słabszych tabletów."
#: src/settings_translation_file.cpp
msgid "Camera smoothing"
@@ -2273,7 +2228,7 @@ msgstr "Szerokość jaskini"
#: src/settings_translation_file.cpp
msgid "Center of light curve mid-boost."
-msgstr ""
+msgstr "Centrum przyśpieszenia środkowego krzywej światła."
#: src/settings_translation_file.cpp
msgid ""
@@ -2284,6 +2239,11 @@ msgid ""
"be\n"
"necessary for smaller screens."
msgstr ""
+"Zmienia interfejs użytkownika menu głównego:\n"
+"- Pełny: Wiele światów jednoosobowych, wybór gry, wybór paczki tekstur, "
+"itd.\n"
+"- Prosty: Jeden świat jednoosobowy, brak wyboru gry lub paczki tekstur. "
+"Może być konieczny dla mniejszych ekranów."
#: src/settings_translation_file.cpp
msgid "Chat key"
@@ -2296,11 +2256,14 @@ msgstr "Komunikat o stanie połączenia"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Maksymalna długość wiadomości na czacie"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr "Próg wiadomości wyrzucenia z czatu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message max length"
msgstr "Maksymalna długość wiadomości na czacie"
@@ -2346,8 +2309,9 @@ msgid "Client side modding restrictions"
msgstr "Modyfikacja klienta"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Client side node lookup range restriction"
-msgstr ""
+msgstr "Ograniczenie zasięgu widoczności bloków Client side"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
@@ -2429,8 +2393,9 @@ msgid "Console height"
msgstr "Wysokość konsoli"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "Flaga czarnej listy ContentDB"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2467,6 +2432,10 @@ msgstr ""
"zostaje niezmienione."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Kontroluje stromość/głębokość depresji jeziora."
@@ -2519,7 +2488,6 @@ msgid "Damage"
msgstr "Włącz obrażenia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Darkness sharpness"
msgstr "Ostrość ciemności"
@@ -2528,6 +2496,11 @@ msgid "Debug info toggle key"
msgstr "Klawisz przełączania informacji debugowania"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Próg szumu pustyni"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Poziom logowania debugowania"
@@ -2536,6 +2509,10 @@ msgid "Dec. volume key"
msgstr "Klawisz zmniejszania głośności"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Krok serwera dedykowanego"
@@ -2627,12 +2604,27 @@ msgid "Defines the base ground level."
msgstr "Określa obszary drzewiaste oraz ich gęstość."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Określa obszary drzewiaste oraz ich gęstość."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Definiuje maksymalną odległość przesyłania graczy w blokach (0 = "
"nieskończoność)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "Określa strukturę kanałów rzecznych."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Określa obszary na których drzewa mają jabłka."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Określa obszary drzewiaste oraz ich gęstość."
@@ -2658,6 +2650,12 @@ msgid "Deprecated Lua API handling"
msgstr "Wsparcie przestarzałego API Lua"
#: 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 "Depth below which you'll find giant caverns."
msgstr "Głębokość poniżej której znajdziesz duże jaskinie."
@@ -2678,9 +2676,10 @@ msgid "Desert noise threshold"
msgstr "Próg szumu pustyni"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"Pustynie pojawią się gdy np_biome przekroczy tą wartość.\n"
"Kiedy nowy system biomu jest odblokowany, ta wartość jest ignorowana."
@@ -2722,16 +2721,19 @@ msgid "Dump the mapgen debug information."
msgstr "Zrzuć informacje debugowania generatora mapy."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Dungeon maximum Y"
msgstr "Maksymalna wartość Y lochu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Dungeon minimum Y"
msgstr "Minimalna wartość Y lochu"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Minimalna wartość Y lochu"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2756,7 +2758,6 @@ msgid "Enable joysticks"
msgstr "Włącz joystick"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable mod channels support."
msgstr "Włącz wsparcie kanałów z modami."
@@ -2773,8 +2774,9 @@ msgid "Enable random user input (only used for testing)."
msgstr "Włącz losowe wejście użytkownika (tylko dla testowania)."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Włącz potwierdzanie rejestracji"
#: src/settings_translation_file.cpp
msgid ""
@@ -2943,13 +2945,12 @@ msgid "Fast movement"
msgstr "Szybkie poruszanie"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Fast movement (via the \"special\" key).\n"
"This requires the \"fast\" privilege on the server."
msgstr ""
-"Szybkie poruszanie się (przez klawisz użycia).\n"
-"Wymaga przywileju \"fast\" na serwerze."
+"Szybki ruch (za pomocÄ… przycisku „specjalnegoâ€).\n"
+"Wymaga to uprawnienia „fast†na serwerze."
#: src/settings_translation_file.cpp
msgid "Field of view"
@@ -3000,7 +3001,6 @@ msgid "Filtering"
msgstr "Filtrowanie anizotropowe"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of 4 2D noises that together define hill/mountain range height."
msgstr ""
"Pierwsze z czterech szumów 2D, które razem wysokość gór/łańcuchów górskich."
@@ -3014,7 +3014,6 @@ msgid "Fixed map seed"
msgstr "Stałe ziarno mapy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fixed virtual joystick"
msgstr "Ustaw wirtualny joystick"
@@ -3089,27 +3088,37 @@ msgid "Font size"
msgstr "Rozmiar czcionki"
#: 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 "Format of screenshots."
msgstr "Format zrzutu ekranu."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Formspec Default Background Color"
-msgstr ""
+msgstr "Domyślny kolor tła formspec"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Formspec Default Background Opacity"
-msgstr ""
+msgstr "Domyślna nieprzezroczystość tła formspec"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Formspec Full-Screen Background Color"
-msgstr ""
+msgstr "Kolor formspec tła pełnoekranowego"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Formspec Full-Screen Background Opacity"
-msgstr ""
+msgstr "Pełnoekranowa nieprzezroczystość tła formspec"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec default background color (R,G,B)."
msgstr "Kolor tła konsoli czatu w grze (R,G,B)."
@@ -3132,7 +3141,6 @@ msgid "Forward key"
msgstr "Do przodu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
msgstr ""
"Pierwsze z czterech szumów 2D, które razem wysokość gór/łańcuchów górskich."
@@ -3151,7 +3159,6 @@ msgid "FreeType fonts"
msgstr "Czcionki Freetype"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"From how far blocks are generated for clients, stated in mapblocks (16 "
"nodes)."
@@ -3200,7 +3207,6 @@ msgid "GUI scaling filter txr2img"
msgstr "Filtr skalowania GUI txr2img"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Gamma"
msgstr "Gamma"
@@ -3228,14 +3234,12 @@ msgstr ""
"Flagi rozpoczynające się od \"no\" są stosowane aby jawnie ją wyłączyć."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Gradient of light curve at maximum light level."
-msgstr "Gradient krzywej światła w maksymalnej pozycji"
+msgstr "Gradient krzywej światła w maksymalnej pozycji."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Gradient of light curve at minimum light level."
-msgstr "Gradient krzywej światła w minimalnej pozycji"
+msgstr "Gradient krzywej światła w minimalnej pozycji."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3311,7 +3315,6 @@ msgid "Height noise"
msgstr "Szum wysokości"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Height select noise"
msgstr "Szum wyboru wysokości"
@@ -3320,12 +3323,10 @@ msgid "High-precision FPU"
msgstr "FPU Wysokiej precyzji"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hill steepness"
msgstr "Stromość zbocza"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hill threshold"
msgstr "Granica zbocza"
@@ -3354,12 +3355,28 @@ 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 ""
+
+#: 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 ""
+"Horizontal and vertical acceleration on ground or when climbing,\n"
+"in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Hotbar next key"
msgstr "Następny klawisz paska działań"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar previous key"
msgstr "Poprzedni klawisz paska działań"
@@ -3542,19 +3559,16 @@ msgid "How wide to make rivers."
msgstr "Jak szerokie sÄ… rzeki"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Humidity blend noise"
msgstr "Szum wilgotności"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Humidity noise"
msgstr "Szum wilgotności"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Humidity variation for biomes."
-msgstr "Różnice w wilgotności biomów"
+msgstr "Różnice w wilgotności biomów."
#: src/settings_translation_file.cpp
msgid "IPv6"
@@ -3587,7 +3601,6 @@ msgstr ""
"oraz przy włączonym trybie szybkiego poruszania."
#: 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"
@@ -3672,6 +3685,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr "Jeśli ustawione, gracze zawsze będą się pojawiać w zadanej pozycji."
@@ -3696,26 +3717,27 @@ msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
msgstr "Wysokość konsoli w grze, od 0.1 (10%) do 1.0 (100%)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Inc. volume key"
msgstr "Klawisz zwiększania głośności"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
msgstr ""
"Instrument wbudowany.\n"
-"Jest najczęściej potrzebny tylko dla osób pracujących nad jądrem"
+"Najczęściej potrzebny tylko dla osób pracujących nad jądrem"
#: src/settings_translation_file.cpp
-#, fuzzy
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)"
@@ -3724,21 +3746,18 @@ msgstr ""
"do funkcji minetest.register_*() )"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Instrument the action function of Active Block Modifiers on registration."
msgstr ""
"Poinstruuj działanie funkcji aktywnych modyfikatorów bloków przy rejestracji."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Instrument the action function of Loading Block Modifiers on registration."
msgstr ""
"Poinstruuj działanie funkcji ładowania modyfikatorów bloków przy rejestracji."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Instrument the methods of entities on registration."
msgstr "Poinstruuj metody jednostkowe przy rejestracji."
@@ -3772,12 +3791,10 @@ msgid "Invert vertical mouse movement."
msgstr "Odwróć pionowy ruch myszy."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Item entity TTL"
msgstr "TTL przedmiotu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Iterations"
msgstr "Iteracje"
@@ -3790,7 +3807,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Joystick ID"
msgstr "Identyfikator Joystick-a"
@@ -3799,7 +3815,6 @@ msgid "Joystick button repetition interval"
msgstr "Interwał powtarzania przycisku joysticka"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Joystick frustum sensitivity"
msgstr "Czułość drgania joysticka"
@@ -3859,22 +3874,18 @@ msgstr ""
"Zakres to w przybliżeniu -2 do 2."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Julia w"
msgstr "Julia w"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Julia x"
msgstr "Julia x"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Julia y"
msgstr "Julia y"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Julia z"
msgstr "Julia z"
@@ -3897,7 +3908,6 @@ msgstr ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Key for decreasing the volume.\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
@@ -3928,7 +3938,6 @@ msgstr ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Key for increasing the volume.\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
@@ -4001,7 +4010,6 @@ msgstr ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Key for muting the game.\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
@@ -4339,7 +4347,6 @@ msgstr ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Key for selecting the next item in the hotbar.\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
@@ -4361,7 +4368,6 @@ msgstr ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Key for selecting the previous item in the hotbar.\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
@@ -4616,7 +4622,6 @@ msgstr ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Key to use view zoom when possible.\n"
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
@@ -4724,44 +4729,40 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Light curve mid boost"
-msgstr ""
+msgstr "Przyśpieszenie środkowe krzywej światła"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost center"
-msgstr ""
+msgstr "Centrum środkowego przyśpieszenia krzywej światła"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Light curve mid boost spread"
-msgstr ""
+msgstr "Rozrzut przyśpieszenia środkowego krzywej światła"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Lightness sharpness"
msgstr "Ostrość naświetlenia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Limit of emerge queues on disk"
msgstr "Limit oczekiwań na dysku"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Limit of emerge queues to generate"
msgstr "Limit kolejek oczekujÄ…cych do wytworzenia"
#: 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 ""
-"Limit wielkości generowanej mapy, w 6 kierunkach od (0, 0, 0). Tylko "
-"fragmenty mapy są w tym limicie generowane. Wartość jest zapisywana dla "
-"każdego świata z osobna."
+"Limit wielkości generowanej mapy, w 6 kierunkach od (0, 0, 0). \n"
+"Tylko fragmenty mapy sÄ… w tym limicie generowane. \n"
+"Wartość jest zapisywana dla każdego świata z osobna."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Limits number of parallel HTTP requests. Affects:\n"
"- Media fetch if server uses remote_media setting.\n"
@@ -4776,17 +4777,14 @@ msgstr ""
"Działa tylko jeżeli skompilowany z cURL."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Liquid fluidity"
msgstr "Płynność cieczy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Liquid fluidity smoothing"
msgstr "Wygładzanie płynności cieczy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Liquid loop max"
msgstr "Maksymalna pętla cieczy"
@@ -4796,7 +4794,7 @@ msgstr "Czas kolejki czyszczenia cieczy"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "Zanurzanie w cieczy"
#: src/settings_translation_file.cpp
@@ -4808,20 +4806,18 @@ msgid "Liquid update tick"
msgstr "Interwał czasowy aktualizacji cieczy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Load the game profiler"
msgstr "Wczytaj profiler gry"
#: src/settings_translation_file.cpp
-#, fuzzy
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 ""
-"Załaduj profiler gry aby zebrać dane. Dostępu do skompilowanego profilu "
-"dostarcza polecenie /profiler. Przydatne dla twórców modów i operatorów "
-"serwerów."
+"Załaduj profiler gry aby zebrać dane. \n"
+"Dostępu do skompilowanego profilu dostarcza polecenie /profiler.\n"
+" Przydatne dla twórców modów i operatorów serwerów."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -4829,7 +4825,6 @@ msgid "Loading Block Modifiers"
msgstr "Interwał modyfikatora aktywnego bloku"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Lower Y limit of dungeons."
msgstr "Zmniejsz limit Y dla lochów."
@@ -4854,7 +4849,6 @@ msgid "Makes DirectX work with LuaJIT. Disable if it causes troubles."
msgstr "Sprawia, że DirectX działa z LuaJIT. Wyłącz jeśli występują kłopoty."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Makes all liquids opaque"
msgstr "Zmienia ciecze w nieprzeźroczyste"
@@ -4863,8 +4857,9 @@ msgid "Map directory"
msgstr "Katalog map"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "Właściwości generowania mapy określające Mapgen Carpathian."
#: src/settings_translation_file.cpp
msgid ""
@@ -4880,6 +4875,16 @@ msgstr ""
#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen flat.\n"
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
+msgstr ""
+"Właściwości generowania mapy określające Mapgen v7.\n"
+"\"grzbiety\" aktywujÄ… rzeki."
+
+#: 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"
@@ -4889,15 +4894,16 @@ msgstr ""
"Oznakowania zaczynające się od 'no' używane są do ich blokowania."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+msgstr "Właściwości generowania mapy określające 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 new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"Globalne właściwości generowania map.\n"
@@ -4909,10 +4915,13 @@ msgstr ""
"Flagi rozpoczynające się od \"no\" są stosowane aby jawnie ją wyłączyć."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Właściwości generowania mapy określające Mapgen v7.\n"
+"\"grzbiety\" aktywujÄ… rzeki."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4923,12 +4932,10 @@ msgid "Map save interval"
msgstr "Interwał zapisu mapy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock limit"
msgstr "Limit bloków mapy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock mesh generation delay"
msgstr "Opóźnienie generacji siatki bloków Mapblock"
@@ -4938,7 +4945,6 @@ msgid "Mapblock mesh generator's MapBlock cache size in MB"
msgstr "Wielkość pamięci podręcznej generatora siatki bloków Mapblock w MB"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock unload timeout"
msgstr "Przekroczenie czasu wyładowania bloków mapy"
@@ -4969,6 +4975,11 @@ msgstr "Generator mapy fractal"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Specyficzne flagi dla generatora Mapgen flat"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Generator mapy v5"
@@ -5019,42 +5030,34 @@ msgid "Mapgen name"
msgstr "Nazwa generatora mapy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Max block generate distance"
msgstr "Maksymalna odległość generowania bloków"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Max block send distance"
msgstr "Maksymalna odległość wysyłania bloków"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Max liquids processed per step."
msgstr "Maksymalne przetwarzane podczas chodzenia."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Max. clearobjects extra blocks"
msgstr "Maksymalna wartość usuwania dodatkowych bloków"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Max. packets per iteration"
msgstr "Max. pakietów na iterację"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum FPS"
msgstr "Maksymalny FPS"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum FPS when game is paused."
msgstr "Maksymalny FPS gdy gra spauzowana."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum forceloaded blocks"
msgstr "Maksymalna ilość bloków załadowanych w sposób wymuszony"
@@ -5065,28 +5068,31 @@ msgstr "Maksymalna długość hotbar"
#: 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 ""
"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
-#, fuzzy
msgid "Maximum number of blocks that can be queued for loading."
msgstr ""
"Maksymalna liczba bloków, które mogą być skolejkowane podczas wczytywania."
#: src/settings_translation_file.cpp
-#, fuzzy
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 ""
-"Maksymalna liczba bloków do skolejkowana, które mają być wygenerowane.\n"
+"Maksymalna liczba bloków do skolejkowania, które mają być wygenerowane.\n"
"Pozostaw puste a odpowiednia liczba zostanie dobrana automatycznie."
#: src/settings_translation_file.cpp
-#, fuzzy
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."
@@ -5095,12 +5101,10 @@ msgstr ""
"Pozostaw puste a odpowiednia liczba zostanie dobrana automatycznie."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum number of forceloaded mapblocks."
msgstr "Maksymalna ilość, wczytanych wymuszeniem, bloków mapy."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Maximum number of mapblocks for client to be kept in memory.\n"
"Set to -1 for unlimited amount."
@@ -5109,7 +5113,6 @@ msgstr ""
"Ustaw -1 dla nieskończonej liczby."
#: src/settings_translation_file.cpp
-#, fuzzy
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"
@@ -5131,17 +5134,14 @@ msgid "Maximum number of recent chat messages to show"
msgstr "Maksymalna ilość, wczytanych wymuszeniem, bloków mapy."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum number of statically stored objects in a block."
msgstr "Maksymalna liczba statycznie przechowywanych obiektów w bloku."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum objects per block"
msgstr "Maksymalna liczba obiektów na blok"
#: src/settings_translation_file.cpp
-#, fuzzy
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."
@@ -5150,17 +5150,14 @@ msgstr ""
"Przydatne jeśli coś ma być wyświetlane po lewej lub prawej tego paska."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum simultaneous block sends per client"
msgstr "Maksymalny jednoczesny blok wysłany, na każdego klienta"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum size of the out chat queue"
msgstr "Maksymalny rozmiar kolejki wiadomości czatu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Maximum size of the out chat queue.\n"
"0 to disable queueing and -1 to make the queue size unlimited."
@@ -5169,12 +5166,10 @@ msgstr ""
"Wartość 0, wyłącza kolejkę, -1 to nieograniczony rozmiar kolejki."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum time in ms a file download (e.g. a mod download) may take."
msgstr "Maksymalny czas na pobranie pliku (np.: moda) w ms."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum users"
msgstr "Maksymalna ilość użytkowników"
@@ -5183,22 +5178,18 @@ msgid "Menus"
msgstr "Menu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mesh cache"
msgstr "Pamięć podręczna siatki"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Message of the day"
msgstr "Wiadomość dnia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Message of the day displayed to players connecting."
msgstr "Wiadomość dnia wyświetlona dla graczy łączących się z serwerem."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Method used to highlight selected object."
msgstr "Metoda użyta do podświetlenia wybranego obiektu."
@@ -5207,7 +5198,6 @@ msgid "Minimap"
msgstr "Minimapa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Minimap key"
msgstr "Przycisk Minimapy"
@@ -5225,12 +5215,10 @@ msgid "Mipmapping"
msgstr "Mip-Mappowanie"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mod channels"
msgstr "Kanały modów"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Modifies the size of the hudbar elements."
msgstr "Modyfikuje rozmiar elementów paska HUD."
@@ -5243,12 +5231,10 @@ msgid "Monospace font size"
msgstr "Rozmiar czcionki Monospace"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain height noise"
msgstr "Szum wysokości góry"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain noise"
msgstr "Szum góry"
@@ -5271,12 +5257,10 @@ msgid "Mouse sensitivity multiplier."
msgstr "Mnożnik czułości myszy."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mud noise"
msgstr "Szum błota"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Multiplier for fall bobbing.\n"
"For example: 0 for no view bobbing; 1.0 for normal; 2.0 for double."
@@ -5289,7 +5273,6 @@ msgid "Mute key"
msgstr "Klawisz wyciszenia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mute sound"
msgstr "Wycisz dźwięk"
@@ -5297,14 +5280,11 @@ msgstr "Wycisz dźwięk"
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Name of the player.\n"
"When running a server, clients connecting with this name are admins.\n"
@@ -5315,7 +5295,6 @@ msgstr ""
"Gdy zaczynasz z menu głównego, to ustawienie jest nadpisywane."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Name of the server, to be displayed when players join and in the serverlist."
msgstr ""
@@ -5323,7 +5302,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr "Najbliższy wymiar"
#: src/settings_translation_file.cpp
@@ -5331,7 +5310,6 @@ msgid "Network"
msgstr "Sieć"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Network port to listen (UDP).\n"
"This value will be overridden when starting from the main menu."
@@ -5340,17 +5318,14 @@ msgstr ""
"Ta wartość będzie nadpisana gdy zaczynasz z menu głównego."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "New users need to input this password."
msgstr "Nowi użytkownicy muszą wpisać to hasło."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Noclip"
msgstr "Tryb noclip"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Noclip key"
msgstr "Klawisz trybu noclip"
@@ -5359,17 +5334,14 @@ msgid "Node highlighting"
msgstr "Podświetlanie bloków"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "NodeTimer interval"
msgstr "Interwał NodeTimer"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Noises"
msgstr "Szumy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Normalmaps sampling"
msgstr "Próbkowanie normalnych map"
@@ -5378,27 +5350,27 @@ msgid "Normalmaps strength"
msgstr "Siła map normlanych"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Number of emerge threads"
-msgstr "Numer powstających wątków"
+msgstr "Liczba powstających wątków"
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
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"
@@ -5414,16 +5386,15 @@ msgid "Number of parallax occlusion iterations."
msgstr "Liczba iteracji dla parallax occlusion."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Online Content Repository"
-msgstr ""
+msgstr "Repozytorium Zawartości z Sieci"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Opaque liquids"
msgstr "Nieprzeźroczyste ciecze"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Open the pause menu when the window's focus is lost. Does not pause if a "
"formspec is\n"
@@ -5433,32 +5404,26 @@ msgstr ""
"formspec jest otwarty."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Overall bias of parallax occlusion effect, usually scale/2."
msgstr "Ogólny błąd systematyczny efektu zamykania paralaksy, zwykle skala/2."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Overall scale of parallax occlusion effect."
msgstr "Całkowity efekt skalowania zamknięcia paralaksy."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion"
msgstr "Zamknięcie paralaksy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion bias"
msgstr "Błąd systematyczny zamknięcia paralaksy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion iterations"
msgstr "Iteracje zamknięcia paralaksy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion mode"
msgstr "Tryb zamknięcia paralaksy"
@@ -5468,12 +5433,10 @@ msgid "Parallax occlusion scale"
msgstr "Skala parallax occlusion"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion strength"
msgstr "Siła zamknięcia paralaksy"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Path to TrueTypeFont or bitmap."
msgstr "Ścieżka do pliku .ttf lub bitmapy."
@@ -5482,7 +5445,6 @@ msgid "Path to save screenshots at."
msgstr "Ścieżka, pod którą zapisywane są zrzuty ekranu."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Path to shader directory. If no path is defined, default location will be "
"used."
@@ -5491,19 +5453,16 @@ msgstr ""
"lokalizacja."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Path to texture directory. All textures are first searched from here."
msgstr ""
"Ścieżka do folderu z teksturami. Wszystkie tekstury są początkowo "
"wyszukiwane z tej lokalizacji."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pause on lost window focus"
msgstr "Pauza, gdy okno jest nieaktywne"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Physics"
msgstr "Fizyka"
@@ -5518,7 +5477,6 @@ msgid "Pitch move mode"
msgstr "Tryb nachylenia ruchu włączony"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Player is able to fly without being affected by gravity.\n"
"This requires the \"fly\" privilege on the server."
@@ -5540,7 +5498,6 @@ msgid "Player versus player"
msgstr "PvP"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Port to connect to (UDP).\n"
"Note that the port field in the main menu overrides this setting."
@@ -5559,7 +5516,6 @@ msgstr ""
"Włącz to jeśli zbyt często kopiesz lub stawiasz obiekty przez przypadek."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Prevent mods from doing insecure things like running shell commands."
msgstr ""
"Zapobiega wykonywaniu przez mody niezabezpieczonych operacji takich jak "
@@ -5575,17 +5531,14 @@ msgstr ""
"wyłączone. Przydatne dla deweloperów."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Privileges that players with basic_privs can grant"
msgstr "Przywileje, które gracze z basic_privs mogą przyznać"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Profiler"
msgstr "Profiler"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Profiler toggle key"
msgstr "Klawisza przełączania profilera"
@@ -5595,12 +5548,6 @@ msgid "Profiling"
msgstr "Profilowanie modyfikacji"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Projecting dungeons"
-msgstr "Projekcja lochów"
-
-#: src/settings_translation_file.cpp
-#, fuzzy
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 "
@@ -5623,12 +5570,10 @@ msgid "Range select key"
msgstr "Zasięg widzenia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Recent Chat Messages"
msgstr "Najnowsze wiadomości czatu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Remote media"
msgstr "Zdalne media"
@@ -5637,7 +5582,6 @@ msgid "Remote port"
msgstr "Port zdalny"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Remove color codes from incoming chat messages\n"
"Use this to stop players from being able to use color in their messages"
@@ -5646,7 +5590,6 @@ msgstr ""
"użyj tego, aby gracze nie mogli kolorować swoich wiadomości"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Replaces the default main menu with a custom one."
msgstr "Zamienia domyślne menu główne na niestandardowe."
@@ -5678,7 +5621,6 @@ msgid "Ridge noise"
msgstr "Szum grani"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridge underwater noise"
msgstr "Szum podwodnej grani"
@@ -5692,12 +5634,21 @@ msgid "Right key"
msgstr "W prawo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Rightclick repetition interval"
msgstr "Interwał powtórzenia prawego kliknięcia myszy"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "Głębokość rzeki"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Głębokość rzeki"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "Głębokość rzeki"
@@ -5712,24 +5663,28 @@ msgid "River size"
msgstr "Rozmiar rzeki"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Głębokość rzeki"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Zapisywanie działań gracza"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Rolling hill size noise"
msgstr "Szum rozmiaru zaokrąglonych gór"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Rolling hills spread noise"
-msgstr ""
+msgstr "Szum rozrzutu zaokrąglonych gór"
#: src/settings_translation_file.cpp
msgid "Round minimap"
msgstr "Okrągła minimapa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Safe digging and placing"
msgstr "Bezpieczne kopanie i stawianie"
@@ -5743,7 +5698,6 @@ msgid "Save the map received by the client on disk."
msgstr "Zapisz na dysku mapÄ™ odebranÄ… przez klienta."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Save window size automatically when modified."
msgstr "Automatycznie zapisuj okno, gdy zostało zmodyfikowane."
@@ -5796,12 +5750,10 @@ msgstr ""
"0 to domyślna jakość."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Seabed noise"
msgstr "Szum dna morza"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of 4 2D noises that together define hill/mountain range height."
msgstr ""
"Drugi z czterech szumów 2D które razem określają wysokość gór/łańcuchów "
@@ -5898,7 +5850,6 @@ msgid "Server port"
msgstr "Port Serwera"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Server side occlusion culling"
msgstr "Occulusion culling po stronie serwera"
@@ -5919,7 +5870,6 @@ msgstr ""
"Wymagany restart po zmianie ustawienia."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
"Ustaw maksymalny ciąg znaków wiadomości czatu wysyłanych przez klientów."
@@ -5964,7 +5914,6 @@ msgstr ""
"Działa tylko na grafice OpenGL ."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Shadow limit"
msgstr "Limit cieni"
@@ -6013,12 +5962,10 @@ msgid "Slope and fill work together to modify the heights."
msgstr "Zbocze oraz wypełnienie działają razem, aby zmodyfikować wysokości."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Small-scale humidity variation for blending biomes on borders."
msgstr "Zmienność małej skali wilgotności mieszania biomów granicznych."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Small-scale temperature variation for blending biomes on borders."
msgstr "Zmienność małej skali temperatury mieszanych biomów granicznych."
@@ -6054,6 +6001,10 @@ msgid "Sneaking speed"
msgstr "Szybkość skradania"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Dźwięk"
@@ -6080,10 +6031,13 @@ msgstr ""
"Pliki nieaktualne będą pobierane standardową metodą."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Spread of light curve mid-boost.\n"
"Standard deviation of the mid-boost gaussian."
msgstr ""
+"Rozrzut przyśpieszenia środkowego krzywej światła.\n"
+"Standardowe zniekształcenie gaussowego przyśpieszenia środkowego."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -6109,7 +6063,7 @@ msgstr "Siła generowanych zwykłych map."
#: src/settings_translation_file.cpp
msgid "Strength of light curve mid-boost."
-msgstr ""
+msgstr "Siłą przyśpieszenia środkowego krzywej światła."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6120,8 +6074,9 @@ msgid "Strict protocol checking"
msgstr "Sztywne sprawdzanie protokołu"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Strip color codes"
-msgstr ""
+msgstr "Usuń kody kolorów"
#: src/settings_translation_file.cpp
msgid "Synchronous SQLite"
@@ -6163,7 +6118,6 @@ msgstr ""
"Ustaw około 0.0 aby zwiększyć proporcję."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Terrain noise threshold for lakes.\n"
"Controls proportion of world area covered by lakes.\n"
@@ -6192,8 +6146,9 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "The URL for the content repository"
-msgstr ""
+msgstr "Adres URL repozytorium zawartości"
#: src/settings_translation_file.cpp
msgid ""
@@ -6215,12 +6170,10 @@ msgstr ""
"profile."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "The identifier of the joystick to use"
msgstr "Identyfikator użycia joysticka"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
"Długość w pikselach wymagana do wejścia w interakcję z ekranem dotykowym."
@@ -6304,7 +6257,6 @@ msgstr ""
"przycisku myszy."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "The type of joystick"
msgstr "Typ joysticka"
@@ -6316,7 +6268,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Third of 4 2D noises that together define hill/mountain range height."
msgstr ""
"Pierwsze z czterech szumów 2D, które razem określają wysokość gór/łańcuchów "
@@ -6335,7 +6286,6 @@ msgstr ""
"Ustawienie na -1 wyłącza tą funkcję."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Time of day when a new world is started, in millihours (0-23999)."
msgstr "Pora dnia, gdy stworzono nowy świat, w mili-godzinach (0-23999)."
@@ -6373,7 +6323,6 @@ msgid "Tooltip delay"
msgstr "Opóźnienie wskazówek narzędzi"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Touch screen threshold"
msgstr "Próg ekranu dotykowego"
@@ -6415,11 +6364,13 @@ msgid "Undersampling"
msgstr "Niedopróbkowanie"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"Niedopróbkowanie jest podobne do użycia niższej rozdzielczości ekranu, ale "
"stosuje się tylko do świata gry, zachowując nietknięty GUI.\n"
@@ -6435,9 +6386,8 @@ msgid "Unload unused server data"
msgstr "Usuń nieużywane dane serwera"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Upper Y limit of dungeons."
-msgstr "Górna granica Y lochów"
+msgstr "Górna granica Y lochów."
#: src/settings_translation_file.cpp
msgid "Use 3D cloud look instead of flat."
@@ -6456,7 +6406,6 @@ msgid "Use bilinear filtering when scaling textures."
msgstr "Włącz filtrowanie bilinearne podczas skalowania tekstur."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Use mip mapping to scale textures. May slightly increase performance,\n"
"especially when using a high resolution texture pack.\n"
@@ -6472,7 +6421,6 @@ msgid "Use trilinear filtering when scaling textures."
msgstr "Użyj filtrowania tri-linearnego podczas skalowania tekstur."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "VBO"
msgstr "VBO"
@@ -6539,6 +6487,10 @@ msgid "Varies steepness of cliffs."
msgstr "Kontroluje stromość/wysokość gór."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Pionowa synchronizacja ekranu."
@@ -6551,33 +6503,29 @@ msgid "View bobbing factor"
msgstr "Współczynnik rozmycia widoku ruchu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "View distance in nodes."
msgstr "Pole widzenia, wyrażane w blokach."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "View range decrease key"
-msgstr "Klawisz zmniejszania pola widzenia."
+msgstr "Klawisz zmniejszania pola widzenia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "View range increase key"
-msgstr "Klawisz zwiększania pola widzenia."
+msgstr "Klawisz zwiększania pola widzenia"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "View zoom key"
msgstr "Klawisz zoom"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Viewing range"
msgstr "Pole widzenia"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Virtual joystick triggers aux button"
-msgstr ""
+msgstr "Joystick wirtualny aktywuje przycisk aux"
#: src/settings_translation_file.cpp
msgid "Volume"
@@ -6598,10 +6546,18 @@ msgstr ""
"Jego zakres jest od -2 do 2"
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Szybkość chodzenia"
#: 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"
msgstr "Poziom wody"
@@ -6626,16 +6582,19 @@ msgid "Waving water"
msgstr "FalujÄ…ca woda"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Wysokość fal wodnych"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Długość fal wodnych"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Szybkość fal wodnych"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Szybkość fal wodnych"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Długość fal wodnych"
#: src/settings_translation_file.cpp
msgid ""
@@ -6695,11 +6654,6 @@ msgstr ""
"wspierajÄ…ca takie czcionki."
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr "Określa czy lochy mają być czasem przez generowane teren."
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr "Określ kiedy animacje tekstur na blok powinny być niesynchronizowane."
@@ -6716,7 +6670,6 @@ msgid "Whether to allow players to damage and kill each other."
msgstr "Określ możliwość atakowania oraz zabijania innych graczy."
#: src/settings_translation_file.cpp
-#, fuzzy
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."
@@ -6725,7 +6678,6 @@ msgstr ""
"Włącz tą wartość jeśli twój serwer będzie restartowany automatycznie."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Whether to fog out the end of the visible area."
msgstr "Określ brak widoczności mgły."
@@ -6736,7 +6688,6 @@ msgstr ""
"Wyświetlanie efektów debugowania klienta(klawisz F5 ma tą samą funkcję)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Width component of the initial window size."
msgstr "Rozdzielczość pionowa rozmiaru okna gry."
@@ -6763,7 +6714,6 @@ msgstr ""
"Nie wymagane jeżeli rozpoczyna się z głównego menu."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "World start time"
msgstr "Dokładny czas stworzenia świata"
@@ -6778,7 +6728,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "World-aligned textures mode"
msgstr "Tryb tekstur przypisanych do świata"
@@ -6787,22 +6736,18 @@ msgid "Y of flat ground."
msgstr "Y płaskiego podłoża."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Y of mountain density gradient zero level. Used to shift mountains "
"vertically."
msgstr ""
+"Y gęstości góry poziomu zerowego. Używany do pionowego przesunięcia gór."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y of upper limit of large caves."
msgstr "Y górnej granicy dużych jaskiń."
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "Y górnej granicy lawy dużych jaskiń."
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
"Dystans zmiennej Y powyżej którego jaskinie rozciągają się do pełnych "
@@ -6813,7 +6758,6 @@ msgid "Y-level of average terrain surface."
msgstr "Wartość Y przeciętnego terenu."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of cavern upper limit."
msgstr "Limit wysokości jaskiń."
@@ -6823,7 +6767,6 @@ msgstr ""
"Wysokość średniego punktu wznoszącego się terenu oraz powierzchni jezior."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of higher terrain that creates cliffs."
msgstr "Wysokość terenu górzystego tworzącego klify."
@@ -6851,752 +6794,20 @@ msgstr "Limit równoległy cURL"
msgid "cURL timeout"
msgstr "Limit czasu cURL"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Zawartość sklepu"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Liczba powstających wątków.Usuń to pole, lub zwiększ wartość\n"
-#~ "by używać wielu wątków. W systemach multiprocesorowych, przyśpieszy to "
-#~ "generowanie mapy\n"
-#~ "kosztem lekko zbugowanych jaskiń."
-
-#, fuzzy
-#~ msgid "Pitch fly mode"
-#~ msgstr "Tryb pitch fly"
-
-#, fuzzy
-#~ msgid "Show non-free packages"
-#~ msgstr "Pokazuj płatne paczki"
-
-#, fuzzy
-#~ msgid ""
-#~ "Show packages in the content store that do not qualify as 'free "
-#~ "software'\n"
-#~ "as defined by the Free Software Foundation."
-#~ msgstr ""
-#~ "Pokazuj paczki w zawartości sklepu, które nie klasyfikują się jako "
-#~ "\"darmowe oprogramowanie\"\n"
-#~ "określone przez Fundację Darmowego Oprogramowania."
-
-#~ msgid "Disable MP"
-#~ msgstr "Wyłącz paczkę modów"
-
-#~ msgid "Enable MP"
-#~ msgstr "Włącz paczkę modów"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Nie podano nazwy świata lub nie wybrano gry"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" nie jest poprawnÄ… flagÄ…."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Składnia to 3 liczby oddzielone przecinkami i w nawiasach."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Format: <offset>, <skala>, (<rozpiętośćX>, <rozpiętośćY>, <rozpiętośćZ>), "
-#~ "<ziarno>, <oktawy>, <trwanie>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "Opcjonalnie można dołączyć lakunarność poprzedzoną przecinkiem."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Wprowadź listę flag oddzielonych przecinkami."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Możliwe wartości to: "
-
-#~ msgid "Select path"
-#~ msgstr "Wybierz ścieżkę"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Mody trybów gry"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Strona $1 z $2"
-
-#~ msgid "Rating"
-#~ msgstr "Ocena"
-
-#~ msgid "Shortname:"
-#~ msgstr "Nazwa skrócona:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Zainstalowano pomyślnie:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Nieposortowane"
-
-#~ msgid "re-Install"
-#~ msgstr "Ponowna instalacja"
-
-#~ msgid "Local Game"
-#~ msgstr "Lokalna gra"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Odinstaluj wybraną paczkę modów"
-
-#~ msgid "Play Online"
-#~ msgstr "Gra sieciowa"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Mapowanie normalnych"
-
-#~ msgid "No information available"
-#~ msgstr "Brak informacjii"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Zmieniono poziom głośności na 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Zmieniono poziom głośności na 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Drukuj stosy"
-
-#~ msgid "Use"
-#~ msgstr "Użyj"
-
-#~ msgid "Next"
-#~ msgstr "Następny"
-
-#~ msgid "Prior"
-#~ msgstr "Prior"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Interwał modyfikatora aktywnego bloku"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Tylko na systemie Android: próba stworzenia tekstur inwentarza z meshy, "
-#~ "kiedy nie znaleziono wspomaganego renderowania."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Zgłoś do tej listy serwerów.\n"
-#~ "Jeśli chcesz zgłosić twój adres ipv6, użyj serverlist_url = v6.servers."
-#~ "minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Przybliżona (X,Y,Z) skala fraktali w węzłach."
-
-#~ msgid "Autorun key"
-#~ msgstr "Tryb automatycznego biegania"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Jaskinie i tunele tworzą się na przecięciu dwóch szumów"
-
-#~ msgid "Cloud height"
-#~ msgstr "Wysokość chmur"
-
-#~ msgid "Console key"
-#~ msgstr "Klawisz konsoli"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Ciągłe poruszanie się na przód (tylko do testowania)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Tworzy nieobliczalne pojawianie siÄ™ lawy w jaskiniach.\n"
-#~ "Może zwiększyć trudność kopania. Zero wyłącza tę opcję. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Tworzy nieobliczalne pojawianie siÄ™ wody w jaskiniach.\n"
-#~ "Może zwiększyć trudność kopania. Zero wyłącza tę opcję. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Szybkość podczas kucania"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Głębokość poniżej której znajdziesz masywne jaskinie."
-
-#~ msgid "Descending speed"
-#~ msgstr "Szybkość opadania"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Wyłącza sekwencję ucieczki"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Wyłącza sekwencję ucieczki np. kolorowanie czatu.\n"
-#~ "Użyj tego jeśli chcesz uruchomić serwer dla klientów przed 0.4.14 i "
-#~ "chcesz wyłączyć\n"
-#~ "sekwencjÄ™ ucieczki generowanÄ… przez modyfikacje."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Włącz drganie widoku"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Włącz drganie widoku podczas chodzenia."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Pole widzenia dla zoomu"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Pole widzenia podczas zoomowania w stopniach.\n"
-#~ "wymaga przywileju \"zoom\" na serwerze."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Odległość, z jakiej klient dowiaduje się o obiektach, wyrażona w blokach "
-#~ "mapy (16 bloków)."
-
-#~ msgid "General"
-#~ msgstr "Ogólne"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Wysokość na której pojawiają się chmury."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Jak duży obszar bloków jest przedmiotem aktywnego bloku, zapisane w "
-#~ "blokach map(16 jednostek).\n"
-#~ "Na aktywnych blokach obiekty są wczytywane i ABM działa."
-
-#, fuzzy
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "Gdy włączony, pokazuje wiadomość o statusie serwera dla połączenia gracza"
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Hack obrazu ekwipunku"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Iteracje funkcji rekursywnych.\n"
-#~ "Kontroluje ilość drobnych szczegółów."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Klawisz otwierania konsoli czatu.\n"
-#~ "Zobacz http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Klawisz wyświetlania danych debugowania. Przydatne dla deweloperów.\n"
-#~ "Zobacz http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Funkcjonalności lawy"
-
-#, fuzzy
-#~ msgid "Main menu game manager"
-#~ msgstr "Menedżer menu głównego"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Manager modów w głównym menu"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atrybuty generacji mapy specyficzn dla Mapgen Valleys.\n"
-#~ "'altitude_chill' powoduje wyższe poziomy zimniejsze, może wpływać na "
-#~ "biom.\n"
-#~ "'humid_rivers' modyfikuje wilgotność wokół rzek i w obszarach gdzie woda "
-#~ "tworzy zbiorniki,\n"
-#~ "może koidować z precyzyjnie ustawionymi biomami.\n"
-#~ "Flagi które nie są sprecyzowane ciągu flag nie będą modyfikowane "
-#~ "domyślnie.\n"
-#~ "Flagi zaczynające się od 'no' są używane aby je wyraźnie wyłączyć."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ 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ć."
-
-#, fuzzy
-#~ msgid "Massive cave depth"
-#~ msgstr "Głębia masywnych jaskiń"
-
-#, fuzzy
-#~ msgid "Massive cave noise"
-#~ msgstr "Szum masywnych jaskiń"
-
-#, fuzzy
-#~ msgid "Massive caves form here."
-#~ msgstr "Tutaj tworzÄ… siÄ™ masywne jaskinie."
-
-#, fuzzy
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr ""
-#~ "Maksymalna liczba bloków które są jednocześnie przesyłane w całości."
-
-#, fuzzy
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr ""
-#~ "Maksymalna ilość bloków, która może być przesyłana jednocześnie na "
-#~ "jednego klienta."
-
-#, fuzzy
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Maksymalny całkowity jednoczesny, wysłany blok"
-
-#, fuzzy
-#~ msgid "Modstore details URL"
-#~ msgstr "Szczegóły przechowania modów URL"
-
-#, fuzzy
-#~ msgid "Modstore download URL"
-#~ msgstr "Adres URL dla strony pobrania modów ( Modstore )"
-
-#, fuzzy
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Adres URL listy dostępnych modów w Modstore"
-
-#, 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."
-#~ msgstr ""
-#~ "Nazwa generatora mapy użytego podczas tworzenia nowego świata.\n"
-#~ "Tworzenie świata w głównym menu nadpisze to ustawienie."
-
-#, fuzzy
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Szum rzeki -- rzeki pojawiają się w pobliżu zera"
-
-#, fuzzy
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Rozmiar części generowanych jednocześnie przez mapgen, wyrażany w map "
-#~ "blokach ( 16 bloków)."
-
-#, fuzzy
-#~ msgid "Support older servers"
-#~ msgstr "Wspieraj starsze serwery"
-
-#, fuzzy
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "Wysokość przy której temperatura jest niższa o 20 stopni"
-
-#, fuzzy
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Renderowanie końcowe Irrlicht."
-
-#~ msgid "Use key"
-#~ msgstr "Klawisz użycia"
-
-#, fuzzy
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Włącz mip mapowanie przy skalowaniu tekstur, powinno znacznie zwiększyć "
-#~ "wydajność."
-
-#, fuzzy
-#~ msgid "Valleys C Flags"
-#~ msgstr "Oznaczenia dolin typu C"
-
-#~ msgid "Water Features"
-#~ msgstr "Funkcje wody"
-
-#, fuzzy
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Określ czy wspierać serwery z protokołami w wersji starszej niż 25. "
-#~ "Aktywuj jeśli chcesz się połączyć z wersją serwera 0.4.12 lub starszą.\n"
-#~ "Serwery w wersji 0.4.13 będą działać, a w wersji 0.4.12-dev mogą "
-#~ "działać.\n"
-#~ "Wyłączenie tej opcji pozwoli Ci na lepszą ochronę haseł."
-
-#, fuzzy
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Wysokość powierzchni klifów."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Ukryj zawartość paczki modów"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Caps Lock"
-
-#~ msgid "Comma"
-#~ msgstr "Przecinek"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Final"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Minus"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Kropka"
-
-#~ msgid "Plus"
-#~ msgstr "Plus"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Kontrola szerokości pustyni i plaż w generatorze map v6.\n"
-#~ "Kiedy śnieżne biomy są włączone to 'mgv6_freq_desert' zostanie "
-#~ "zignorowane."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Determinuje kształt terenu.\n"
-#~ "Trzy liczby w nawiasach kontrolujÄ… skalÄ™ terenu\n"
-#~ "oraz powinny być identyczne."
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Generator mapy flat szerokość jaskini"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Generator mapy fractal szerokość jaskini"
-
-#, fuzzy
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Generator mapy"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Generator mapy fractal iteracje"
-
-#, fuzzy
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Generator mapy"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Generator mapy fractal skala"
-
-#, fuzzy
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Generator mapy"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Generator mapy v5 szerokość jaskini"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Generator mapy v7 szerokość jaskini"
-
-#, fuzzy
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr "Szczegółowe dane profilowania. Przydatne dla twórców modyfikacji."
-
-#, fuzzy
-#~ msgid "Detailed mod profiling"
-#~ msgstr "Szczegółowe profilowanie modyfikacji"
-
-#, fuzzy
-#~ msgid ""
-#~ "How many blocks are flying in the wire simultaneously for the whole "
-#~ "server."
-#~ msgstr ""
-#~ "Jak dużo bloków może jednocześnie być przesyłana przez sieć dla całego "
-#~ "serwera."
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Przydatne dla twórców modyfikacji."
-
-#~ msgid "No of course not!"
-#~ msgstr "Oczywiście, że nie!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Lista publicznych serwerów"
-
-#~ msgid "No!!!"
-#~ msgstr "Nie!!"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "włączone"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "Gamemgr: Kopiowanie moda \"$1\" do gry \"$2\" nie powiodło się"
-
-#~ msgid "GAMES"
-#~ msgstr "GRY"
-
-#~ msgid "Mods:"
-#~ msgstr "Mody:"
-
-#~ msgid "new game"
-#~ msgstr "nowa gra"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "EDYTUJ GRĘ"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Usuń zaznaczony mod"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<--Dodaj mod"
-
-#~ msgid "CLIENT"
-#~ msgstr "KLIENT"
-
-#~ msgid "START SERVER"
-#~ msgstr "URUCHOM SERWER"
-
-#~ msgid "Name"
-#~ msgstr "Nazwa"
-
-#~ msgid "Password"
-#~ msgstr "Hasło"
-
-#~ msgid "SETTINGS"
-#~ msgstr "USTAWIENIA"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Åaduj obrazy przedmiotów"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "Realistyczne ciecze"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "TRYB JEDNOOSOBOWY"
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "PACZKI TEKSTUR"
-
-#~ msgid "MODS"
-#~ msgstr "MODY"
-
-#, fuzzy
-#~ msgid "Add mod:"
-#~ msgstr "<<--Dodaj mod"
+#~ msgid "Projecting dungeons"
+#~ msgstr "Projekcja lochów"
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Uwaga: Niektóre z modyfikacji nie zostały jeszcze skonfigurowane.\n"
-#~ "Zostaną domyślnie włączone gdy zapiszesz konfigurację. "
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "Określa czy lochy mają być czasem przez generowane teren."
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "Ostrzeżenie: Niektóre z modyfikacji nie zostały znalezione.\n"
-#~ "Ich ustawienia zostaną usunięte gdy zapiszesz konfigurację. "
+#~ msgid "Waving Water"
+#~ msgstr "FalujÄ…ca woda"
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "Domyślne ustawienia:\n"
-#~ "- WASD: poruszanie\n"
-#~ "- Lewy przycisk myszki: kop/uderz\n"
-#~ "- Prawy przycisk myszki: połóż/użyj\n"
-#~ "- Kółko myszy: wybieranie przedmiotu\n"
-#~ "- 0...9: wybieranie przedmiotu\n"
-#~ "- Shift: skradanie\n"
-#~ "- R: przełączanie trybu widoczności\n"
-#~ "- I: menu ekwipunku\n"
-#~ "- ESC: to menu\n"
-#~ "- T: czat\n"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Y górnej granicy lawy dużych jaskiń."
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Nie udało się skasować wszystkich plików świata"
+#~ msgid "Select Package File:"
+#~ msgstr "Wybierz plik paczki:"
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Nie można skonfigurować świata: Nic nie zaznaczono"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Nie można utworzyć świata: Nie znaleziono żadnego trybu gry"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Pliki do skasowania"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Nie można skasować świata: nic nie zaznaczono"
-
-#~ msgid "Address required."
-#~ msgstr "Wymagany adres."
-
-#~ msgid "Create world"
-#~ msgstr "Stwórz świat"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Pozostaw pole adresu puste, by uruchomić serwer lokalny."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Pokaż ulubione"
-
-#~ msgid "Show Public"
-#~ msgstr "Pokaż publiczne"
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Nie można stworzyć świata: Nazwa zawiera niedozwolone znaki"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Ostrzeżenie: Plik konfiguracyjny niespójny. "
-
-#~ msgid "Configuration saved. "
-#~ msgstr "Konfiguracja zapisana. "
-
-#~ msgid "is required by:"
-#~ msgstr "wymagane przez:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr ""
-#~ "Lewy przycisk myszy: przenieÅ› wszystkie przedmioty, Prawy przycisk myszy: "
-#~ "przenieÅ› pojedynczy przedmiot"
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "ÅšciÄ…gnij"
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "Åadowanie..."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Ustawienia zaawansowane"
-
-#~ msgid "View"
-#~ msgstr "Widok"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ 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ć."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ 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ć."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ 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ć."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Przełącz na tryb Cinematic"
diff --git a/po/pt/minetest.po b/po/pt/minetest.po
index a44e3c823..a9977c4fc 100644
--- a/po/pt/minetest.po
+++ b/po/pt/minetest.po
@@ -1,11 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Portuguese (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-13 13:11+0000\n"
-"Last-Translator: Muhammad Rifqi Priyo Susanto "
-"<muhammadrifqipriyosusanto@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese <https://hosted.weblate.org/projects/minetest/"
"minetest/pt/>\n"
"Language: pt\n"
@@ -13,24 +12,22 @@ 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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
msgstr "Renascer"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "Morreste."
+msgstr "Você morreu"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "Ocorreu um erro num script Lua, como por exemplo num mod:"
+msgid "An error occurred in a Lua script:"
+msgstr "Ocorreu um erro em um script Lua, como um mod:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Ocorreu um erro:"
@@ -99,27 +96,25 @@ msgid "Disable all"
msgstr "Desativar tudo"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "Desativado"
+msgstr "Desabilitar modpack"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "Ativar tudo"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "Renomear ModPack:"
+msgstr "Habilitar modpack"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
-"Falha ao ativar mod \"$1\" porque contém caracteres inválidos. Apenas "
-"caracteres [a-z0-9_] são permitidos."
+"Falha ao carregar mod \"$1\" devido ao fato de seu nome possuir caracteres "
+"inválidos. Apenas caracteres de \"a\" até \"z\" e algarismos de 0 até 9 são "
+"permitidos."
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
@@ -127,13 +122,26 @@ msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Dependências opcionais:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr "Nenhuma descrição do mod disponível"
+msgstr "Nenhuma descrição de jogo disponível."
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Sem dependências."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "Nenhuma descrição do mod disponível"
+msgstr "Nenhuma descrição de modpack disponível."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Dependências opcionais:"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -154,26 +162,23 @@ msgstr "ativado"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "Todos os pacotes"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
msgstr "Voltar"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "Menu Principal"
+msgstr "Voltar ao menu principal"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Downloading and installing $1, please wait..."
-msgstr "A descarregar $1, por favor aguarde..."
+msgstr "Descarregando e instalando $1, por favor aguarde..."
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "Falha ao instalar de $1 ao $2"
+msgstr "Falhou em descarregar $1"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -191,11 +196,11 @@ msgstr "Mods"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Nenhum pacote pode ser recuperado"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Sem resultados"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -203,18 +208,16 @@ msgid "Search"
msgstr "Procurar"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
msgstr "Pacotes de texturas"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "Instalar"
+msgstr "Desinstalar"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "Atualizar"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -225,9 +228,8 @@ msgid "Create"
msgstr "Criar"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Descarregue um subjogo, como o minetest_game, do site minetest.net"
+msgstr "Baixe um jogo, como Minetest Game, do site minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -242,9 +244,8 @@ msgid "Mapgen"
msgstr "Geração de Mapa"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "Seleccionar Distância"
+msgstr "Nenhum jogo selecionado"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -260,9 +261,8 @@ msgid "World name"
msgstr "Nome do mundo"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "Não possui nenhum subjogo instalado."
+msgstr "Você não possui jogos instalados."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -275,14 +275,12 @@ msgid "Delete"
msgstr "Eliminar"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: failed to delete \"$1\""
-msgstr "Modmgr: falha ao apagar \"$1\""
+msgstr "pkgmgr: não foi possível excluir \"$1\""
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: invalid path \"$1\""
-msgstr "Modmgr: caminho para o mod inválido \"$1\""
+msgstr "pkgmgr: caminho inválido \"$1\""
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
@@ -301,15 +299,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"Esse modpack possui um nome explícito em seu modpack.conf que vai "
+"sobrescrever qualquer renomeio aqui."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(Não há descrição para esta configuração)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Ruidos"
+msgstr "Ruído 2D"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -332,22 +331,20 @@ msgid "Enabled"
msgstr "Ativado"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Lacunarity"
-msgstr "Segurança"
+msgstr "Lacunaridade"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Octavos"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
msgstr "Deslocamento"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Persistance"
-msgstr "Distância de transferência do jogador"
+msgstr "Persistência"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -366,14 +363,12 @@ msgid "Scale"
msgstr "Escala"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "Diretório do mapa"
+msgstr "Selecione o diretório"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "Seleccionar ficheiro de Mod:"
+msgstr "Selecione o ficheiro"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
@@ -389,158 +384,130 @@ msgstr "O valor deve ser menor do que $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "amplitude X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "amplitude Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "amplitude Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "valor absoluto"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Jogo por defeito"
+msgstr "Padrões"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "amenizado"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "Ativado"
+msgstr "$1 (Habilitado)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "Modo 3D"
+msgstr "$1 módulos"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
msgstr "Falha ao instalar de $1 ao $2"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find real mod name for: $1"
-msgstr "Instalação de Mod: nome real de extra não encontrado para: $1"
+msgstr ""
+"Instalação de módulo: não foi possível encontrar o nome real do módulo: $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr ""
-"Instalação de Mod: não foi possível encontrar o nome adequado da pasta para "
-"o pacote de mods $1"
+"Instalação do Mod: não foi possível encontrar o nome da pasta adequado para "
+"o modpack $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"Instalação de mod: o tipo de ficheiro \"$1\" não é suportado ou o ficheiro "
-"está corrompido"
+msgstr "Instalar: Tipo de ficheiro \"$1\" não suportado ou corrompido"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: file: \"$1\""
-msgstr "Instalação de Mod: ficheiro: \"$1\""
+msgstr "Instalar: ficheiro: \"$1\""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr ""
-"Instalação de Mod: não foi possível encontrar o nome adequado da pasta para "
-"o pacote de mods $1"
+msgstr "Incapaz de encontrar um módulo ou modpack válido"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "Falha ao instalar de $1 ao $2"
+msgstr "Não foi possível instalar $1 como pacote de texturas"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "Falha ao instalar de $1 ao $2"
+msgstr "Não foi possível instalar um jogo como um $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a mod as a $1"
-msgstr "Falha ao instalar de $1 ao $2"
+msgstr "Não foi possível instalar um módulo como um $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "Falha ao instalar de $1 ao $2"
+msgstr "Não foi possível instalar um modpack como um $1"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+msgstr "Procurar conteúdo online"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "Continuar"
+msgstr "Conteúdo"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Disable Texture Pack"
-msgstr "Selecione um pacote de texturas:"
+msgstr "Desabilitar pacote de texturas"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Information:"
-msgstr "Informação do Mod:"
+msgstr "Informação:"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Installed Packages:"
-msgstr "Mods Instalados:"
+msgstr "Pacotes instalados:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
msgstr "Sem dependências."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "Nenhuma descrição do mod disponível"
+msgstr "Nenhuma descrição do pacote disponível"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
msgstr "Renomear"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Seleccionar ficheiro de Mod:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
-msgstr "Desinstalar mod selecionado"
+msgstr "Desinstalar o pacote"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "Pacotes de texturas"
+msgstr "Usar pacote de texturas"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -619,9 +586,8 @@ msgid "Server Port"
msgstr "Porta do servidor"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Start Game"
-msgstr "Hospedar Jogo"
+msgstr "Iniciar o jogo"
#: builtin/mainmenu/tab_online.lua
msgid "Address / Port"
@@ -648,9 +614,8 @@ msgid "Favorite"
msgstr "Favorito"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Join Game"
-msgstr "Hospedar Jogo"
+msgstr "Juntar-se ao jogo"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Name / Password"
@@ -681,9 +646,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Definições"
+msgstr "Todas as configurações"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -694,7 +658,6 @@ msgid "Are you sure to reset your singleplayer world?"
msgstr "Tem a certeza que deseja reiniciar o seu mundo?"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Autosave Screen Size"
msgstr "Auto salvar tamanho do ecrã"
@@ -719,9 +682,8 @@ msgid "Fancy Leaves"
msgstr "Folhas detalhadas"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Generate Normal Maps"
-msgstr "Gerar Normalmaps"
+msgstr "Gerar Normal maps"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap"
@@ -789,7 +751,7 @@ msgstr "Sombras"
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders (unavailable)"
-msgstr ""
+msgstr "Sombreadores(indisponível)"
#: builtin/mainmenu/tab_settings.lua
msgid "Simple Leaves"
@@ -812,7 +774,6 @@ msgid "Tone Mapping"
msgstr "Mapeamento de tons"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Touchthreshold: (px)"
msgstr "Nível de sensibilidade ao toque (px)"
@@ -825,12 +786,13 @@ msgid "Waving Leaves"
msgstr "Folhas ondulantes"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Plantas ondulantes"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Cubos Ondulantes"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Ãgua ondulante"
+msgid "Waving Plants"
+msgstr "Plantas ondulantes"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -902,7 +864,7 @@ msgstr "Por favor escolha um nome!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
-msgstr ""
+msgstr "Ficheiro de palavra-passe fornecido falhou em abrir : "
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
@@ -910,7 +872,7 @@ msgstr "O caminho fornecido do mundo não existe: "
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr ""
+msgstr "precisa_fonte_reserva"
#: src/client/game.cpp
msgid ""
@@ -953,42 +915,36 @@ msgid "- Server Name: "
msgstr "Nome do servidor: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "Tecla para avançar"
+msgstr "Avanço automático para frente desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "Tecla para avançar"
+msgstr "Avanço automático para frente habilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update disabled"
-msgstr "Tecla para ativar/desativar atualização da câmera"
+msgstr "Atualização da camera desabilitada"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "Tecla para ativar/desativar atualização da câmera"
+msgstr "Atualização da camera habilitada"
#: src/client/game.cpp
msgid "Change Password"
msgstr "Mudar palavra-passe"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode disabled"
-msgstr "Tecla para modo cinematográfico"
+msgstr "Modo cinemático desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode enabled"
-msgstr "Tecla para modo cinematográfico"
+msgstr "Modo cinemático habilitado"
#: src/client/game.cpp
msgid "Client side scripting is disabled"
-msgstr ""
+msgstr "Scripting de cliente está desabilitado"
#: src/client/game.cpp
msgid "Connecting to server..."
@@ -1054,16 +1010,15 @@ msgstr "A criar servidor..."
#: src/client/game.cpp
msgid "Debug info and profiler graph hidden"
-msgstr ""
+msgstr "Informação de debug e gráfico de perfil escondido"
#: src/client/game.cpp
-#, fuzzy
msgid "Debug info shown"
-msgstr "Tecla para alternar modo de depuração"
+msgstr "Informação de debug mostrada"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
-msgstr ""
+msgstr "Informação de debug, gráfico de perfil e wireframe escondidos"
#: src/client/game.cpp
msgid ""
@@ -1095,11 +1050,11 @@ msgstr ""
#: src/client/game.cpp
msgid "Disabled unlimited viewing range"
-msgstr ""
+msgstr "Alcance de visualização ilimitado desabilitado"
#: src/client/game.cpp
msgid "Enabled unlimited viewing range"
-msgstr ""
+msgstr "Alcance de visualização ilimitado habilitado"
#: src/client/game.cpp
msgid "Exit to Menu"
@@ -1110,42 +1065,36 @@ msgid "Exit to OS"
msgstr "Sair para o S.O"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode disabled"
-msgstr "Velocidade no modo rápido"
+msgstr "Modo rápido desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
-msgstr "Velocidade no modo rápido"
+msgstr "Modo rápido habilitado"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
-msgstr ""
+msgstr "Modo rápido habilitado(note: sem privilégio 'fast')"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode disabled"
-msgstr "Velocidade no modo rápido"
+msgstr "Modo voo desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "Dano ativado"
+msgstr "Modo voo habilitado"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr ""
+msgstr "Modo voo habilitado(note: sem privilegio 'fly')"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog disabled"
-msgstr "Desativar Tudo"
+msgstr "Névoa desabilitada"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog enabled"
-msgstr "ativado"
+msgstr "Névoa habilitada"
#: src/client/game.cpp
msgid "Game info:"
@@ -1177,49 +1126,47 @@ msgstr "MiB/s"
#: src/client/game.cpp
msgid "Minimap currently disabled by game or mod"
-msgstr ""
+msgstr "Minipapa atualmente desabilitado por jogo ou mod"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap hidden"
-msgstr "Tecla mini-mapa"
+msgstr "Minimapa escondido"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x1"
-msgstr ""
+msgstr "Minimapa em modo radar, zoom 1x"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x2"
-msgstr ""
+msgstr "Minimapa em modo radar, zoom 2x"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x4"
-msgstr ""
+msgstr "Minimapa em modo radar, zoom 4x"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x1"
-msgstr ""
+msgstr "Minimapa em modo de superfície, zoom 1x"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x2"
-msgstr ""
+msgstr "Minimapa em modo de superfície, zoom 2x"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x4"
-msgstr ""
+msgstr "Minimapa em modo de superfície, zoom 4x"
#: src/client/game.cpp
msgid "Noclip mode disabled"
-msgstr ""
+msgstr "Modo atravessar paredes desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled"
-msgstr "Dano ativado"
+msgstr "Modo atravessar paredes habilitado"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
-msgstr ""
+msgstr "Modo atravessar paredes habilitado(note: sem privilégio 'noclip')"
#: src/client/game.cpp
msgid "Node definitions..."
@@ -1235,15 +1182,15 @@ msgstr "Ligado"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
-msgstr ""
+msgstr "Modo movimento pitch desabilitado"
#: src/client/game.cpp
msgid "Pitch move mode enabled"
-msgstr ""
+msgstr "Modo movimento pitch habilitado"
#: src/client/game.cpp
msgid "Profiler graph shown"
-msgstr ""
+msgstr "Gráfico de perfil mostrado"
#: src/client/game.cpp
msgid "Remote server"
@@ -1266,29 +1213,27 @@ msgid "Sound Volume"
msgstr "Volume do som"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound muted"
-msgstr "Volume do som"
+msgstr "Som mutado"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound unmuted"
-msgstr "Volume do som"
+msgstr "Som desmutado"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range changed to %d"
-msgstr "Som alterado para %d%%"
+msgstr "Distancia de visualização alterado pra %d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at maximum: %d"
-msgstr ""
+msgstr "Distancia de visualização está no máximo:%d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at minimum: %d"
-msgstr ""
+msgstr "Distancia de visualização está no mínima:%d"
#: src/client/game.cpp
#, c-format
@@ -1297,51 +1242,48 @@ msgstr "Som alterado para %d%%"
#: src/client/game.cpp
msgid "Wireframe shown"
-msgstr ""
+msgstr "Mostrar wireframe"
#: src/client/game.cpp
msgid "Zoom currently disabled by game or mod"
-msgstr ""
+msgstr "Zoom atualmente desabilitado por jogo ou mod"
#: src/client/game.cpp src/gui/modalMenu.cpp
msgid "ok"
msgstr "ok"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Chat hidden"
-msgstr "Tecla de conversação"
+msgstr "Conversa oculta"
#: src/client/gameui.cpp
msgid "Chat shown"
-msgstr ""
+msgstr "Conversa mostrada"
#: src/client/gameui.cpp
msgid "HUD hidden"
-msgstr ""
+msgstr "Interface escondida"
#: src/client/gameui.cpp
msgid "HUD shown"
-msgstr ""
+msgstr "Interface mostrada"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Profiler hidden"
-msgstr "Analizador"
+msgstr "Analisador ocultado"
#: src/client/gameui.cpp
#, c-format
msgid "Profiler shown (page %d of %d)"
-msgstr ""
+msgstr "Analisador mostrado(página %d de %d)"
#: src/client/keycode.cpp
msgid "Apps"
msgstr "Aplicações"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Backspace"
-msgstr "Voltar"
+msgstr "Tecla voltar"
#: src/client/keycode.cpp
msgid "Caps Lock"
@@ -1505,11 +1447,11 @@ msgstr "Limpar OEM"
#: src/client/keycode.cpp
msgid "Page down"
-msgstr ""
+msgstr "Page down"
#: src/client/keycode.cpp
msgid "Page up"
-msgstr ""
+msgstr "Page up"
#: src/client/keycode.cpp
msgid "Pause"
@@ -1597,48 +1539,50 @@ msgstr "Zoom"
#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
msgid "Passwords do not match!"
-msgstr "As senhas não correspondem!"
+msgstr "As palavra-passes não correspondem!"
#: src/gui/guiConfirmRegistration.cpp
msgid "Register and Join"
-msgstr ""
+msgstr "Registrar e entrar"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
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."
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
msgstr "Continuar"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "\"Special\" = climb down"
-msgstr "\"Use\" = descer"
+msgstr "\"Especial\" = descer"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Autoforward"
-msgstr "Avançar"
+msgstr "Avanço frontal automático"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
-msgstr ""
+msgstr "Pulo automático"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Backward"
msgstr "Recuar"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
-msgstr "Mudar teclas"
+msgstr "Mudar camera"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
@@ -1653,9 +1597,8 @@ msgid "Console"
msgstr "Consola"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Dec. range"
-msgstr "Intervalo de visualização"
+msgstr "Alcance dec"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. volume"
@@ -1674,9 +1617,8 @@ msgid "Forward"
msgstr "Avançar"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Inc. range"
-msgstr "Intervalo de visualização"
+msgstr "Alcance inc"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. volume"
@@ -1728,21 +1670,15 @@ msgstr "Agachar"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Special"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Ativar/Desativar câmera cinemática"
+msgstr "Especial"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
-msgstr "Ativar/Desativar vôo"
+msgstr "Ativar interface"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle chat log"
-msgstr "Ativar/Desativar correr"
+msgstr "Ativar histórico de conversa"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fast"
@@ -1753,20 +1689,23 @@ msgid "Toggle fly"
msgstr "Ativar/Desativar vôo"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle fog"
-msgstr "Ativar/Desativar vôo"
+msgstr "Ativar névoa"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
-msgstr "Ativar/Desativar noclip"
+msgstr "Ativar minimapa"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
msgstr "Ativar/Desativar noclip"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Ativar histórico de conversa"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "pressione a tecla"
@@ -1791,9 +1730,8 @@ msgid "Exit"
msgstr "Sair"
#: src/gui/guiVolumeChange.cpp
-#, fuzzy
msgid "Muted"
-msgstr "Mudo"
+msgstr "Mutado"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
@@ -1812,6 +1750,9 @@ msgid ""
"(Android) Fixes the position of virtual joystick.\n"
"If disabled, virtual joystick will center to first-touch's position."
msgstr ""
+"(Android) Corrige a posição do joystick virtual.\n"
+"Se desabilitado, o joystick virtual vai centralizar na posição do primeiro "
+"toque."
#: src/settings_translation_file.cpp
msgid ""
@@ -1819,9 +1760,11 @@ msgid ""
"If enabled, virtual joystick will also tap \"aux\" button when out of main "
"circle."
msgstr ""
+"(Android) Use joystick virtual para ativar botão \"aux\".\n"
+"Se habilitado, o joystick virtual vai também clicar no botão \"aux\" quando "
+"estiver fora do circulo principal."
#: 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"
@@ -1832,13 +1775,13 @@ msgid ""
"situations.\n"
"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes."
msgstr ""
-"Deslocamento (X,Y,Z) do fractal a partir do centro do mundo em unidades "
-"'escala'.\n"
-"Usado para obter um spawnpoint apropriado, próximo de (0, 0).\n"
-"Valores por defeito apropriados para conjunto de Mandelbrot, necessitam ser "
-"adaptados para conjunto de Julia.\n"
-"Intervalos aproximadamente entre -2 e 2. Multiplicar por 'escala' para "
-"deslocamento em cubos."
+"(X,Y,Z) Espaço do fractal a partir centro do mundo em unidades de 'escala'.\n"
+"Pode ser usado para mover um ponto desejado para (0, 0) para criar um ponto "
+"de spawn apropriado, ou para permitir zoom em um ponto desejado aumentando "
+"sua escala.\n"
+"O padrão é configurado para ponto de spawn mandelbrot, pode ser necessário "
+"altera-lo em outras situações.\n"
+"Variam de -2 a 2. Multiplica por \"escala\" para compensação de nós."
#: src/settings_translation_file.cpp
msgid ""
@@ -1850,6 +1793,13 @@ msgid ""
"Default is for a vertically-squashed shape suitable for\n"
"an island, set all 3 numbers equal for the raw shape."
msgstr ""
+"(X,Y,Z) Escala fractal em nós.\n"
+"Tamanho fractal atual será de 2 a 3 vezes maior.\n"
+"Esses números podem ser muito grandes, o fractal não tem que encaixar dentro "
+"do mundo.\n"
+"Aumente estes para 'ampliar' nos detalhes do fractal.\n"
+"Padrão é para uma forma espremida verticalmente para uma ilha, coloque todos "
+"os 3 números iguais para a forma crua."
#: src/settings_translation_file.cpp
msgid ""
@@ -1861,27 +1811,32 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of ridged mountains."
-msgstr ""
+msgstr "Ruído 2D que controla a forma/tamanho de montanhas acidentadas."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of rolling hills."
-msgstr ""
+msgstr "Ruído 2D que controla o formato/tamanho de colinas."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of step mountains."
-msgstr ""
+msgstr "Ruído 2D que controla o formato/tamanho de montanhas de etapa."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
-msgstr ""
+msgstr "Ruído 2D que controla o tamanho/ocorrência de montanhas sulcadas."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of rolling hills."
-msgstr ""
+msgstr "2D noise que controla o tamanho/ocorrência de colinas."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of step mountain ranges."
-msgstr ""
+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."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1908,16 +1863,20 @@ msgid "3D noise defining structure of river canyon walls."
msgstr "Ruído 3D a definir estrutura do rio e paredes do desfiladeiro."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "3D noise defining terrain."
-msgstr "Ruído 3D a definir cavernas gigantes."
+msgstr "Ruído 3D que define o terreno."
#: src/settings_translation_file.cpp
msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
+"3D noise para saliências de montanhas, penhascos, etc. Geralmente variações "
+"pequenas."
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1935,8 +1894,11 @@ msgstr ""
"- none: Nenhum efeito 3D.\n"
"- anaglyph: Sistema de cor Ciano/Magenta (Óculos 3D azul vermelho).\n"
"- interlaced: Sistema interlaçado (Óculos com lentes polarizadas).\n"
-"- topbottom: Ecrã dividido em dois: uma em cima e outro em baixo.\n"
-"- sidebyside: Ecrã dividido em dois: lado a lado."
+"- topbottom: Divide a tela em duas: uma em cima e outra em baixo.\n"
+"- sidebyside: Divide a tela em duas: lado a lado.\n"
+" - crossview: 3D de olhos cruzados.\n"
+" - pageflip: Quadbuffer baseado em 3D.\n"
+"Note que o modo interlaçado requer que o sombreamento esteja habilitado."
#: src/settings_translation_file.cpp
msgid ""
@@ -1959,9 +1921,8 @@ msgstr ""
"desliga."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ABM interval"
-msgstr "Intervalo de salvamento de mapa"
+msgstr "Intervalo do ABM"
#: src/settings_translation_file.cpp
msgid "Absolute limit of emerge queues"
@@ -1972,13 +1933,16 @@ msgid "Acceleration in air"
msgstr "Aceleração no ar"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Modificadores de Blocos Ativos"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Active block management interval"
-msgstr "Intervalo de gestão de blocos ativos"
+msgstr "Intervalo de Gestão de Blocos Ativos"
#: src/settings_translation_file.cpp
msgid "Active block range"
@@ -2027,11 +1991,12 @@ msgstr "Avançado"
#: src/settings_translation_file.cpp
msgid "Alters how mountain-type floatlands taper above and below midpoint."
msgstr ""
+"Altera como terras flutuantes montanhosas afunilam acima e abaixo do ponto "
+"médio."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Altitude chill"
-msgstr "Altitude de frio extremo"
+msgstr "Frio de altitude"
#: src/settings_translation_file.cpp
msgid "Always fly and fast"
@@ -2043,12 +2008,11 @@ msgstr "Gama de oclusão de ambiente"
#: src/settings_translation_file.cpp
msgid "Amount of messages a player may send per 10 seconds."
-msgstr ""
+msgstr "Quantidade de mensagens que um jogador pode enviar por 10 segundos."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Amplifies the valleys."
-msgstr "Amplia os vales"
+msgstr "Amplifica os vales."
#: src/settings_translation_file.cpp
msgid "Anisotropic filtering"
@@ -2059,17 +2023,16 @@ msgid "Announce server"
msgstr "Anunciar servidor"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Announce to this serverlist."
-msgstr "Anunciar servidor"
+msgstr "Anuncie para esta lista de servidor."
#: src/settings_translation_file.cpp
msgid "Append item name"
-msgstr ""
+msgstr "Concatenar nome do item"
#: src/settings_translation_file.cpp
msgid "Append item name to tooltip."
-msgstr ""
+msgstr "Concatenar nome do item a descrição."
#: src/settings_translation_file.cpp
msgid "Apple trees noise"
@@ -2077,20 +2040,21 @@ msgstr "Ruído de Macieiras"
#: src/settings_translation_file.cpp
msgid "Arm inertia"
-msgstr ""
+msgstr "Inercia dos braços"
#: src/settings_translation_file.cpp
msgid ""
"Arm inertia, gives a more realistic movement of\n"
"the arm when the camera moves."
msgstr ""
+"Inercia dos braços fornece um movimento mais realista dos braços quando a "
+"câmera mexe."
#: src/settings_translation_file.cpp
msgid "Ask to reconnect after crash"
msgstr "Pedir para reconectar após de bloqueio de sistema"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"At this distance the server will aggressively optimize which blocks are sent "
"to\n"
@@ -2104,29 +2068,26 @@ msgid ""
"optimization.\n"
"Stated in mapblocks (16 nodes)."
msgstr ""
-"A esta distância o servidor vai otimizar agressivamente quais os blocos que "
-"são enviados aos clientes.\n"
-"Valores pequenos melhoram potencialmente bastante o rendimento, à custa da "
-"despesa de saltos na renderização.\n"
-"(alguns blocos não serão renderizados debaixo de água e em cavernas, bem "
-"como por vezes em terra)\n"
-"Definir este valor como superior ao do max_block_send_distance desativa esta "
-"otimização.\n"
-"Declarado nos blockmaps (16 nodes)"
+"Nesta distância, o servidor otimizará agressivamente quais blocos são "
+"enviados aos clientes.\n"
+"Pequenos valores potencialmente melhoram muito o desempenho, à custa de "
+"falhas de renderização visíveis(alguns blocos não serão processados debaixo "
+"da água e nas cavernas, bem como às vezes em terra).\n"
+"Configure isso como um valor maior do que a "
+"distância_máxima_de_envio_do_bloco para desabilitar essa otimização.\n"
+"Especificado em barreiras do mapa (16 nós)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
-msgstr "Tecla para avançar"
+msgstr "Tecla para frente automática"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
-msgstr ""
+msgstr "Automaticamente pula obstáculos de um só nó."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically report to the serverlist."
-msgstr "Informar automáticamente a lista de servidores."
+msgstr "Informar para a lista de servidores automaticamente."
#: src/settings_translation_file.cpp
msgid "Autosave screen size"
@@ -2134,28 +2095,25 @@ msgstr "Auto salvar tamanho do ecrã"
#: src/settings_translation_file.cpp
msgid "Autoscaling mode"
-msgstr ""
+msgstr "Modo de alto escalamento"
#: src/settings_translation_file.cpp
msgid "Backward key"
msgstr "Tecla para andar para trás"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base ground level"
-msgstr "Nível do terreno para o gerador de mapa plano"
+msgstr "Nível de solo base"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base terrain height."
-msgstr "Altura base do terreno"
+msgstr "Altura base do terreno."
#: src/settings_translation_file.cpp
msgid "Basic"
msgstr "Básico"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Basic privileges"
msgstr "Privilégios básicos"
@@ -2188,9 +2146,8 @@ msgid "Bits per pixel (aka color depth) in fullscreen mode."
msgstr "Bits por pixel (profundidade de cor) no modo de ecrã inteiro."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Block send optimize distance"
-msgstr "Distância máxima de envio de bloco"
+msgstr "Distância otimizada de envio de bloco"
#: src/settings_translation_file.cpp
msgid "Build inside player"
@@ -2205,12 +2162,17 @@ msgid "Bumpmapping"
msgstr "Bump mapping"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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 ""
+"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"
+"Aumentar pode reduzir a ocorrência de artefactos em GPUs mais fracas.\n"
+"0.1 = Padrão, 0.25 = Bom valor para tablets fracos."
#: src/settings_translation_file.cpp
msgid "Camera smoothing"
@@ -2265,13 +2227,12 @@ msgid "Cavern threshold"
msgstr "Limite da caverna"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Cavern upper limit"
-msgstr "Limite da caverna"
+msgstr "Limite do topo da caverna"
#: src/settings_translation_file.cpp
msgid "Center of light curve mid-boost."
-msgstr ""
+msgstr "Centro do aumento da curva de luz."
#: src/settings_translation_file.cpp
msgid ""
@@ -2282,24 +2243,32 @@ msgid ""
"be\n"
"necessary for smaller screens."
msgstr ""
+"Mudanças para a interface do menu principal:\n"
+" - Total: Múltiplos mundos de um jogador, escolha de jogo, escolha de pacote "
+"de texturas, etc.\n"
+"- Simples: Um mundo de um jogador, sem escolha de jogo ou pacote de "
+"texturas. Pode ser necessário para telas menores."
#: src/settings_translation_file.cpp
msgid "Chat key"
msgstr "Tecla de conversação"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message count limit"
-msgstr "Mensagem de status na conexão"
+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"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
-msgstr "Limite do ruído de deserto"
+msgstr "Limite da mensagem de expulsão"
#: src/settings_translation_file.cpp
msgid "Chat message max length"
-msgstr ""
+msgstr "Tamanho máximo da mensagem de conversa"
#: src/settings_translation_file.cpp
msgid "Chat toggle key"
@@ -2338,13 +2307,12 @@ msgid "Client modding"
msgstr "Cliente"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Client side modding restrictions"
-msgstr "Cliente"
+msgstr "Restrição de modificação no lado do cliente"
#: src/settings_translation_file.cpp
msgid "Client side node lookup range restriction"
-msgstr ""
+msgstr "Restrição do alcançe da visão superior de nós no lado do cliente"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
@@ -2380,6 +2348,13 @@ 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 flags separadas por vírgula para esconder no repositório de "
+"conteúdos.\n"
+"\"não livre\" pode ser usada para esconder pacotes que não se qualificam "
+"como software livre, como definido pela fundação do software livre.\n"
+"Você também pode especificar classificação de conteúdo.\n"
+"Essas flags são independentes das versões do minetest, veja a lista completa "
+"em https://content.minetest.net/help/content_flags/"
#: src/settings_translation_file.cpp
msgid ""
@@ -2430,12 +2405,11 @@ msgstr "Tecla da consola"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "Lista negra de flags do ContentDB"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Continuar"
+msgstr "Url do ContentDB"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2446,21 +2420,27 @@ msgid ""
"Continuous forward movement, toggled by autoforward key.\n"
"Press the autoforward key again or the backwards movement to disable."
msgstr ""
+"Movimento para frente contínuo, ativado pela tela de avanço automático.\n"
+"Pressione a tecla de avanço frontal novamente, ou a tecla de movimento para "
+"trás para desabilitar."
#: src/settings_translation_file.cpp
msgid "Controls"
msgstr "Controles"
#: 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 ""
-"Controla a duração do ciclo dia/noite.\n"
-"Exemplos: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = O tempo pára e permanece "
-"inalterado."
+"Controla a duração do ciclo de dia/noite.\n"
+"Exemplos:\n"
+"72 = 20min, 360 = 4min, 1 = 24hour, 0 = Dia/noite permanece inalterado."
+
+#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
@@ -2471,13 +2451,12 @@ msgid "Controls steepness/height of hills."
msgstr "Controla a inclinação/altura das colinas."
#: 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 ""
-"Controla a densidade do terreno montanhoso da terra flutuante.\n"
-"É uma compensação adicionada ao valor de ruído 'np_mountain'."
+"Controla a densidade do terreno montanhoso nas ilhas flutuantes.\n"
+"É um parâmetro adicionado ao valor de ruído 'mgv7_np_mountain'."
#: src/settings_translation_file.cpp
msgid "Controls width of tunnels, a smaller value creates wider tunnels."
@@ -2516,15 +2495,19 @@ msgid "Damage"
msgstr "Ativar dano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Darkness sharpness"
-msgstr "Inclinação dos lagos no gerador de mapa plano"
+msgstr "Nitidez da escuridão"
#: src/settings_translation_file.cpp
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"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Nível de log de depuração"
@@ -2533,6 +2516,10 @@ msgid "Dec. volume key"
msgstr "Tecla de dimin. de som"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Intervalo de atualização do servidor"
@@ -2589,16 +2576,13 @@ msgid "Defines areas with sandy beaches."
msgstr "Define áreas com praias arenosas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain and steepness of cliffs."
msgstr ""
-"Define áreas de terrenos mais elevados (topo de penhasco) e afetam a "
-"inclinação de penhascos."
+"Define a distribuição de terrenos elevados e a inclinação de penhascos."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain."
-msgstr "Define áreas de 'terrain_higher' (terreno de alto de precipício)."
+msgstr "Define a distribuição de terrenos elevados."
#: src/settings_translation_file.cpp
msgid "Defines full size of caverns, smaller values create larger caverns."
@@ -2623,9 +2607,13 @@ msgstr ""
"Um valor mais alto resulta em mapas normais mais suaves."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines the base ground level."
-msgstr "Define áreas de árvores e densidade das árvores."
+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."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
@@ -2634,6 +2622,16 @@ 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)."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Define áreas onde árvores têm maçãs."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Define áreas de árvores e densidade das árvores."
@@ -2660,9 +2658,14 @@ msgid "Deprecated Lua API handling"
msgstr "Tratamento de API Lua obsoleto"
#: src/settings_translation_file.cpp
-#, fuzzy
+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 "Depth below which you'll find giant caverns."
-msgstr "Profundidade a partir da qual você encontrará grandes cavernas."
+msgstr "Profundidade em que você encontrará cavernas gigantes."
#: src/settings_translation_file.cpp
msgid "Depth below which you'll find large caves."
@@ -2681,9 +2684,10 @@ 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 new biome system is enabled, this is ignored."
+"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."
@@ -2702,7 +2706,7 @@ msgstr "Desativar anti-batota"
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
-msgstr "Não permitir senhas vazias"
+msgstr "Não permitir palavra-passes vazias"
#: src/settings_translation_file.cpp
msgid "Domain name of server, to be displayed in the serverlist."
@@ -2721,17 +2725,21 @@ msgid "Drop item key"
msgstr "Tecla para largar item"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Dump the mapgen debug information."
-msgstr "Mostrar informações de depuração do gerador de mapa."
+msgstr "Mostrar informações de depuração do Gerador de mapa."
#: src/settings_translation_file.cpp
msgid "Dungeon maximum Y"
-msgstr ""
+msgstr "Y máximo da dungeon"
#: src/settings_translation_file.cpp
msgid "Dungeon minimum Y"
-msgstr ""
+msgstr "Y mínimo da dungeon"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Y mínimo da dungeon"
#: src/settings_translation_file.cpp
msgid ""
@@ -2754,14 +2762,12 @@ msgid "Enable creative mode for new created maps."
msgstr "Habilitar modo criativo para mundos novos."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable joysticks"
-msgstr "Ativar Joysticks"
+msgstr "Habilitar Joysticks"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable mod channels support."
-msgstr "Ativar segurança de extras"
+msgstr "Habilitar suporte a canais de módulos."
#: src/settings_translation_file.cpp
msgid "Enable mod security"
@@ -2777,13 +2783,15 @@ msgstr "Ativa a entrada de comandos aleatória (apenas usado para testes)."
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Habilitar registro de confirmação"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Habilitar confirmação de registro quando conectar ao servidor.\n"
+"Caso desabilitado, uma nova conta será registrada automaticamente."
#: src/settings_translation_file.cpp
msgid ""
@@ -2828,14 +2836,11 @@ msgstr ""
"Por exemplo: 0 para não ver balançando; 1.0 para normal; 2.0 para duplo."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
"Ignored if bind_address is set."
msgstr ""
-"Ativar/desativar a execução de um servidor IPv6. Um servidor IPv6 pode \n"
-"estar restringido a clientes com IPv6, dependendo da configuração do "
-"sistema.\n"
+"Habilitar/desabilitar a execução de um IPv6 do servidor. \n"
"Ignorado se bind_address estiver definido."
#: src/settings_translation_file.cpp
@@ -2947,12 +2952,11 @@ msgid "Fast movement"
msgstr "Modo rápido"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Fast movement (via the \"special\" key).\n"
"This requires the \"fast\" privilege on the server."
msgstr ""
-"Movimento rápido (use a tecla).\n"
+"Movimento rápido (através da tecla \"especial\").\n"
"Isso requer o privilegio \"fast\" no servidor."
#: src/settings_translation_file.cpp
@@ -2964,19 +2968,17 @@ msgid "Field of view in degrees."
msgstr "Campo de visão em graus."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"File in client/serverlist/ that contains your favorite servers displayed in "
"the\n"
"Multiplayer Tab."
msgstr ""
-"Ficheiro na pasta client/serverlist/ que contém os seus servidores favoritos "
-"mostrados na separador Multi-jogador."
+"Ficheiro na pasta client/serverlist/ que contém seus servidores favoritos, "
+"que são mostrados na aba Multijogador."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Filler depth"
-msgstr "Profundidade de enchimento"
+msgstr "Profundidade de preenchimento"
#: src/settings_translation_file.cpp
msgid "Filler depth noise"
@@ -2987,7 +2989,6 @@ msgid "Filmic tone mapping"
msgstr "Mapeamento de tom fílmico"
#: 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"
@@ -2996,7 +2997,7 @@ msgid ""
msgstr ""
"Texturas filtradas podem misturar valores RGB com os vizinhos totalmente \n"
"transparentes, o qual otimizadores PNG geralmente descartam, por vezes \n"
-"resultando em um escuro ou luz para texturas transparentes.\n"
+"resultando em uma linha escura em texturas transparentes.\n"
"Aplicar esse filtro para limpar isso no tempo de carregamento da textura."
#: src/settings_translation_file.cpp
@@ -3004,12 +3005,11 @@ msgid "Filtering"
msgstr "Filtros"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of 4 2D noises that together define hill/mountain range height."
-msgstr "Primeiro de 2 ruídos 3D que juntos definem túneis."
+msgstr ""
+"Primeiro de 4 ruídos 2D que juntos definem a altura de colinas/montanhas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of two 3D noises that together define tunnels."
msgstr "Primeiro de 2 ruídos 3D que juntos definem túneis."
@@ -3019,7 +3019,7 @@ msgstr "Semente aleatória do mapa fixa"
#: src/settings_translation_file.cpp
msgid "Fixed virtual joystick"
-msgstr ""
+msgstr "Joystick virtual fixo"
#: src/settings_translation_file.cpp
msgid "Floatland base height noise"
@@ -3038,9 +3038,8 @@ msgid "Floatland mountain density"
msgstr "Densidade da terra flutuante montanhosa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Floatland mountain exponent"
-msgstr "Densidade da terra flutuante montanhosa"
+msgstr "Expoente de terras flutuantes montanhosas"
#: src/settings_translation_file.cpp
msgid "Floatland mountain height"
@@ -3059,7 +3058,6 @@ msgid "Fog"
msgstr "Nevoeiro"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fog start"
msgstr "Início da névoa"
@@ -3092,57 +3090,56 @@ msgid "Font size"
msgstr "Tamanho da fonte"
#: 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 "Format of screenshots."
msgstr "Formato das capturas de ecrã."
#: src/settings_translation_file.cpp
msgid "Formspec Default Background Color"
-msgstr ""
+msgstr "Cor de fundo padrão do formspec"
#: src/settings_translation_file.cpp
msgid "Formspec Default Background Opacity"
-msgstr ""
+msgstr "Opacidade de fundo padrão do formspec"
#: src/settings_translation_file.cpp
msgid "Formspec Full-Screen Background Color"
-msgstr ""
+msgstr "Cor de fundo em tela cheia do formspec"
#: src/settings_translation_file.cpp
msgid "Formspec Full-Screen Background Opacity"
-msgstr ""
+msgstr "Opacidade de fundo em tela cheia do formspec"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec default background color (R,G,B)."
-msgstr "Côr de fundo da consola de conversação (R,G,B)."
+msgstr "Cor de fundo(R,G,B) padrão do formspec padrão."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec default background opacity (between 0 and 255)."
-msgstr ""
-"Valor alfa do fundo do console do bate-papo no jogo (opacidade, entre 0 e "
-"255)."
+msgstr "Opacidade de fundo padrão do formspec (entre 0 e 255)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec full-screen background color (R,G,B)."
-msgstr "Côr de fundo da consola de conversação (R,G,B)."
+msgstr "Cor de fundo(R,G,B) do formspec padrão em tela cheia."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec full-screen background opacity (between 0 and 255)."
-msgstr ""
-"Valor alfa do fundo do console do bate-papo no jogo (opacidade, entre 0 e "
-"255)."
+msgstr "Opacidade de fundo do formspec em tela cheia (entre 0 e 255)."
#: src/settings_translation_file.cpp
msgid "Forward key"
msgstr "Tecla para avançar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
-msgstr "Primeiro de 2 ruídos 3D que juntos definem túneis."
+msgstr ""
+"Quarto de 4 ruídos 2D que juntos definem a altura de colinas/montanhas."
#: src/settings_translation_file.cpp
msgid "Fractal type"
@@ -3153,9 +3150,8 @@ msgid "Fraction of the visible distance at which fog starts to be rendered"
msgstr "Fração da distância visível em que a névoa começa a aparecer"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "FreeType fonts"
-msgstr "Fontes FreeType"
+msgstr "Fontes Freetype"
#: src/settings_translation_file.cpp
msgid ""
@@ -3179,6 +3175,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 ""
+"De quão longe clientes sabem sobre objetos declarados em mapblocks (16 "
+"nós).\n"
+" Configurando isto maior do que o alcançe de bloco ativo vai fazer com que o "
+"sevidor mantenha objetos ativos na distancia que o jogador está olhando."
+"(Isso pode evitar que mobs desapareçam da visão de repente)"
#: src/settings_translation_file.cpp
msgid "Full screen"
@@ -3217,29 +3218,24 @@ msgid "Global callbacks"
msgstr "Chamadas de retorno Globais"
#: 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 ""
-"Atributos de geração de mapa.\n"
-"No Mapgen v6 a flag 'decorations' controla todas as decorações exceto "
-"árvores\n"
-"e grama do pântano, em todos os outros mapgens essa flag controla todas as "
-"decorações.\n"
-"Flags que não são especificadas na string da flag não são alteradas por "
-"padrão.\n"
-"Flags começando com \"no\" (não) são usada para explicitamente desabilitá-"
-"las."
+"Atributos de geração de mapa globais.\n"
+"No gerador de mapa v6 a flag 'decorations' controla todas as decorações "
+"exceto árvores\n"
+"e gramas da selva, em todos os outros geradores de mapa essa flag controla "
+"todas as decorações."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
-msgstr ""
+msgstr "Curva gradiente de iluminaçao no nível de luz maximo."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at minimum light level."
-msgstr ""
+msgstr "Curva gradiente de iluminação no nível de luz mínimo."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3254,14 +3250,12 @@ msgid "Ground level"
msgstr "Nível do terreno para o gerador de mapa plano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ground noise"
-msgstr "Ruído de Lama"
+msgstr "Ruído do solo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "HTTP mods"
-msgstr "Extras HTTP"
+msgstr "Módulos HTTP"
#: src/settings_translation_file.cpp
msgid "HUD scale factor"
@@ -3331,30 +3325,44 @@ msgid "Hill threshold"
msgstr "Limite de lagos no gerador de mapa plano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness1 noise"
-msgstr "Ruído de declive"
+msgstr "Ruído de declive1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness2 noise"
-msgstr "Ruído de declive"
+msgstr "Ruído de declive2"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness3 noise"
-msgstr "Ruído de declive"
+msgstr "Ruído de declive3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness4 noise"
-msgstr "Ruído de declive"
+msgstr "Ruído de declive4"
#: src/settings_translation_file.cpp
msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Página web do servidor, a ser exibido na lista de servidores."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Tecla de próximo item na barra principal"
@@ -3363,169 +3371,136 @@ msgid "Hotbar previous key"
msgstr "Tecla de item anterior na barra principal"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 1 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 1 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 10 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 10 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 11 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 11 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 12 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 12 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 13 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 13 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 14 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 14 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 15 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 15 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 16 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 16 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 17 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 17 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 18 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 18 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 19 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 19 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 2 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 2 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 20 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 20 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 21 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 21 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 22 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 22 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 23 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 23 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 24 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 24 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 25 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 25 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 26 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 26 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 27 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 27 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 28 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 29 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 29 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 29 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 3 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 3 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 30 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 30 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 31 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 31 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 32 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 32 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 4 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 4 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 5 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 5 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 6 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 6 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 7 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 7 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 8 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 8 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 9 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 9 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How deep to make rivers."
-msgstr "Quão profundos são os rios"
+msgstr "Quão profundo serão os rios."
#: src/settings_translation_file.cpp
msgid ""
@@ -3537,9 +3512,8 @@ msgstr ""
"Valor maior é mais suave, mas irá usar mais memoria RAM."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How wide to make rivers."
-msgstr "Quão largos são os rios"
+msgstr "Quão largos serão os rios."
#: src/settings_translation_file.cpp
msgid "Humidity blend noise"
@@ -3574,14 +3548,13 @@ msgstr ""
"para não gastar a potência da CPU desnecessariamente."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If disabled, \"special\" key is used to fly fast if both fly and fast mode "
"are\n"
"enabled."
msgstr ""
-"Se tecla \"usar\" estiver desabilitada então ela vai ser usada para voar "
-"rápido se modo de voar e rápido estiverem habilitados."
+"Se estiver desabilitado, a tecla \"especial será usada para voar rápido se "
+"modo voo e rápido estiverem habilitados."
#: src/settings_translation_file.cpp
msgid ""
@@ -3607,14 +3580,13 @@ msgstr ""
"Isto requer o privilégio \"noclip\" no servidor."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
"down and\n"
"descending."
msgstr ""
-"Se habilitado, tecla de \"usar\" em vez de \"esgueirar\" servirá para usada "
-"descer."
+"Se habilitado, a tecla \"especial\" em vez de \"esgueirar\" servirá para "
+"usada descer."
#: src/settings_translation_file.cpp
msgid ""
@@ -3641,6 +3613,8 @@ msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
+"Se habilitado, faz com que os movimentos sejam relativos ao pitch do jogador "
+"quando voando ou nadando."
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
@@ -3663,6 +3637,16 @@ msgid ""
"limited\n"
"to this distance from the player to the node."
msgstr ""
+"Se a restrição de CSM para alcançe de nós está habilitado, chamadas get_node "
+"são limitadas a está distancia do player até o nó."
+
+#: 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 "If this is set, players will always (re)spawn at the given position."
@@ -3699,6 +3683,10 @@ msgid "Inc. volume key"
msgstr "Tecla da consola"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -3779,6 +3767,11 @@ msgid ""
"increases processing load.\n"
"At iterations = 20 this mapgen has a similar load to mapgen V7."
msgstr ""
+"Iterações da função recursiva.\n"
+"Aumentando isso aumenta a quantidade de detalhes, mas também aumenta o tempo "
+"de processamento.\n"
+"Com iterações = 20, esse gerador de mapa tem um tempo de carregamento "
+"similar ao gerador V7."
#: src/settings_translation_file.cpp
msgid "Joystick ID"
@@ -3793,12 +3786,10 @@ msgid "Joystick frustum sensitivity"
msgstr "Sensibilidade do frustum do Joystick"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Joystick type"
msgstr "Tipo do Joystick"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Julia set only.\n"
"W component of hypercomplex constant.\n"
@@ -3806,46 +3797,45 @@ msgid ""
"Has no effect on 3D fractals.\n"
"Range roughly -2 to 2."
msgstr ""
-"Apenas fractal Julia: Componente W da constante hypercomplexa que determina "
-"a forma.\n"
-"Não tem efeito em fractais 3D.\n"
-"Valor varia sensivelmente entre -2 e 2."
+"Apenas para a configuração de Julia.\n"
+"Componente W da constante hipercomplexa determinando o formato do fractal.\n"
+"Não tem nenhum efeito em fractais 3D.\n"
+"varia aproximadamente entre -2 e 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 ""
-"Apenas fractal Julia: Componente X da constante hypercomplexa que determina "
-"a forma.\n"
-"Valor varia sensivelmente entre -2 e 2."
+"Apenas para configuração de Julia.\n"
+"Componente X da constante hipercomplexa.\n"
+"Altera o formato do fractal.\n"
+"Varia aproximadamente entre -2 e 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 ""
-"Apenas fractal Julia: Componente Y da constante hypercomplexa que determina "
-"a forma.\n"
-"Valor varia sensivelmente entre -2 e 2."
+"Apenas para configuração de Julia.\n"
+"Componente Y da constante hipercomplexa.\n"
+"Varia aproximadamente entre -2 e 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 ""
-"Apenas fractal Julia: Componente Z da constante hypercomplexa que determina "
-"a forma.\n"
-"Valor varia sensivelmente entre -2 e 2."
+"Apenas para configuração de Julia.\n"
+"Componente Z da constante hipercomplexa.\n"
+"Altera o formato do fractal.\n"
+"Varia aproximadamente entre -2 e 2."
#: src/settings_translation_file.cpp
msgid "Julia w"
@@ -3942,7 +3932,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"
@@ -3950,6 +3939,7 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Tecla para mover o jogador para trás.\n"
+"Também ira desabilitar o andar para frente automático quando ativo.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4034,288 +4024,262 @@ 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 ""
-"Tecla para mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 11th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 12th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 13th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 14th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 15th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 16th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 17th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 18th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 19th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 20th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 21st slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 22nd slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 23rd slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 24th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 25th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 26th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 27th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 28th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 29th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 30th slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 31st slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o 32nd slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o oitavo slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o quinto slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o primeiro slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o quarto slot do inventário.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4330,13 +4294,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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o nono slot do inventário.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4351,57 +4314,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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o segundo slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o sétimo slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o sexto slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o décimo slot do inventário.\n"
"Consulte 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 mover o jogador para a esquerda.\n"
+"Tecla para selecionar o terceiro slot do inventário.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4440,13 +4398,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 ativar auto-corrida.\n"
+"Tecla para ativar o modo avanço automático.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4501,13 +4458,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 alternar modo noclip.\n"
+"Tecla para ativar o modo pitch.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4522,13 +4478,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 ativar/desativar a exibição do bate-papo.\n"
+"Tecla para ativar a exibição do bate-papo.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4543,13 +4498,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 ativar/desativar a exibição da névoa.\n"
+"Tecla para ativar a exibição da névoa.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4606,7 +4560,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Kick players who sent more than X messages per 10 seconds."
-msgstr ""
+msgstr "Expulsar jogadores que enviaram mais de X mensagem por 10 segundos."
#: src/settings_translation_file.cpp
msgid "Lake steepness"
@@ -4629,9 +4583,8 @@ msgid "Large chat console key"
msgstr "Tecla da consola"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Lava depth"
-msgstr "Profundidade de cavernas grandes"
+msgstr "Profundidade da lava"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4654,17 +4607,15 @@ msgid "Left key"
msgstr "Tecla para a esquerda"
#: 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 ""
-"Comprimento de um tick de servidor e o intervalo no qual os objetos são "
+"Comprimento do tick do servidor e o intervalo no qual os objetos são "
"geralmente atualizados em rede."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Período de tempo entre os ciclos de execução de ABMs"
@@ -4673,9 +4624,8 @@ msgid "Length of time between NodeTimer execution cycles"
msgstr "Período de tempo entre ciclos de execução de NodeTimer"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between active block management cycles"
-msgstr "Tempo entre ciclos de gestão do bloco ativo"
+msgstr "Período de tempo entre os ciclos de gestão de blocos"
#: src/settings_translation_file.cpp
msgid ""
@@ -4699,19 +4649,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Light curve mid boost"
-msgstr ""
+msgstr "Aumento leve da curva de luz"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost center"
-msgstr ""
+msgstr "Centro do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost spread"
-msgstr ""
+msgstr "Extensão do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
msgid "Lightness sharpness"
-msgstr ""
+msgstr "Nitidez da iluminação"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4764,8 +4714,8 @@ msgstr "Tempo para limpar a lista de espera para a atualização de líquidos"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
-msgstr "Dissipação em liquido"
+msgid "Liquid sinking"
+msgstr "Velocidade do afundamento de liquido"
#: src/settings_translation_file.cpp
msgid "Liquid update interval in seconds."
@@ -4795,16 +4745,15 @@ msgstr "A carregar modificadores de blocos"
#: src/settings_translation_file.cpp
msgid "Lower Y limit of dungeons."
-msgstr ""
+msgstr "Menor limite Y de dungeons."
#: src/settings_translation_file.cpp
msgid "Main menu script"
msgstr "Menu principal de scripts"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Main menu style"
-msgstr "Menu principal de scripts"
+msgstr "Estilo do menu principal"
#: src/settings_translation_file.cpp
msgid ""
@@ -4827,7 +4776,7 @@ msgstr "Diretório do mapa"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "Atributos de geração de mapa específicos ao gerador Carpathian."
#: src/settings_translation_file.cpp
msgid ""
@@ -4838,43 +4787,55 @@ msgid ""
"to become shallower and occasionally dry.\n"
"'altitude_dry': Reduces humidity with altitude."
msgstr ""
+"Atributos de geração de mapa específicos ao gerador Valleys.\n"
+"'altitude_chill':Reduz o calor com a altitude.\n"
+"'humid_rivers':Aumenta a umidade em volta dos rios.\n"
+"'profundidade_variada_rios': Se habilitado, baixa umidade e alto calor faz "
+"com que que rios se tornem mais rasos e eventualmente sumam.\n"
+"'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."
+
+#: 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 ""
"Atributos de geração de mapas específicos para o gerador de mundo plano.\n"
-"Lagos ocasionais e colinas podem ser adicionados ao mundo plano.\n"
-"Flags que não estão especificadas na string da flag não são modificadas por "
-"padrão.\n"
-"Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
+"Lagos e colinas ocasionalmente podem ser adicionados ao mundo plano."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+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 new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
-"Atributos para o gerador de mapas específico para o gerador de mundo v6.\n"
-"Quando biomas de neve estão habilitadas, selvas são automaticamente "
-"habilitadas, a flag 'jungles' é ignorada.\n"
-"Flags que não são especificadas na string da flag não são modificadas por "
-"padrão.\n"
-"Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
+"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."
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Atributos de geração de mapa específicos ao gerador V7.\n"
+"'ridges' habilitam os rios."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4893,7 +4854,6 @@ msgid "Mapblock mesh generation delay"
msgstr "Limite de geração de mapa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock mesh generator's MapBlock cache size in MB"
msgstr ""
"Tamanho em MB da memória cache de MapBlock para o gerador de Malha de "
@@ -4904,68 +4864,61 @@ msgid "Mapblock unload timeout"
msgstr "Tempo limite de descarregamento do mapblock"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian"
-msgstr "Gerador de mapa fractal"
+msgstr "Gerador de mundo Carpathian"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian specific flags"
-msgstr "Flags do gerador de mapa plano"
+msgstr "Flags específicas do gerador de mundo Carpathian"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat"
-msgstr "Gerador de mapa plano"
+msgstr "Gerador de mundo plano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat specific flags"
-msgstr "Flags do gerador de mapa plano"
+msgstr "Flags específicas do gerador de mundo plano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Fractal"
-msgstr "Gerador de mapa 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"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
-msgstr "Gerador de mapa V5"
+msgstr "Gerador de mundo V5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V5 specific flags"
-msgstr "Flags do gerador de mapa plano"
+msgstr "Flags específicas do gerador de mundo V5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6"
-msgstr "Gerador de mapa V6"
+msgstr "Gerador de mundo V6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6 specific flags"
-msgstr "Flags do gerador de mapa plano"
+msgstr "Flags específicas do gerador de mundo V6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7"
-msgstr "Gerador de mapa V7"
+msgstr "Gerador de mundo V7"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7 specific flags"
-msgstr "Flags do gerador de mapa plano"
+msgstr "Flags específicas do gerador de mundo V7"
#: src/settings_translation_file.cpp
msgid "Mapgen Valleys"
msgstr "Vales do mapgen"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Valleys specific flags"
-msgstr "Flags do gerador de mapa plano"
+msgstr "Flags específicas do gerador de mundo Valleys"
#: src/settings_translation_file.cpp
msgid "Mapgen debug"
@@ -5017,10 +4970,19 @@ msgstr "Largura máxima da hotbar"
#: 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 ""
"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 ""
+"Número máximo de blocos que são enviados simultaneamente por cliente.\n"
+"O total máximo é calculado dinamicamente:\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."
@@ -5042,7 +5004,7 @@ msgid ""
"Set to blank for an appropriate amount to be chosen automatically."
msgstr ""
"Número máximo de blocos para ser enfileirado que serão carregados do "
-"arquivo.\n"
+"ficheiro.\n"
"Definido em branco para uma quantidade apropriada ser escolhida "
"automaticamente."
@@ -5070,14 +5032,12 @@ msgstr ""
"cliente alvo."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum number of players that can be connected simultaneously."
msgstr "Número máximo de jogadores que podem se conectar simultaneamente."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum number of recent chat messages to show"
-msgstr "Número máximo de chunks carregados forçadamente."
+msgstr "Número máximo de mensagens recentes mostradas"
#: src/settings_translation_file.cpp
msgid "Maximum number of statically stored objects in a block."
@@ -5101,23 +5061,25 @@ msgstr "Máximo de blocos enviados simultaneamente por cliente"
#: src/settings_translation_file.cpp
msgid "Maximum size of the out chat queue"
-msgstr ""
+msgstr "Tamanho máximo da fila do chat"
#: 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 ""
+"Tamanho máximo da fila do chat.\n"
+"0 para desabilitar a fila e -1 para a tornar ilimitada."
#: src/settings_translation_file.cpp
msgid "Maximum time in ms a file download (e.g. a mod download) may take."
msgstr ""
-"Tempo máximo em ms para download de arquivo (por exemplo, um arquivo ZIP de "
-"um modificador) pode tomar."
+"Tempo máximo em ms para descarregamento de ficheiro (por exemplo, um "
+"ficheiro ZIP de um modificador) pode tomar."
#: src/settings_translation_file.cpp
msgid "Maximum users"
-msgstr "Limite de usuários"
+msgstr "Limite de utilizadores"
#: src/settings_translation_file.cpp
msgid "Menus"
@@ -5152,9 +5114,8 @@ msgid "Minimap scan height"
msgstr "Altura de varredura do mini-mapa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Minimum texture size"
-msgstr "Tamanho mínimo da textura para filtros"
+msgstr "Tamanho mínimo da textura"
#: src/settings_translation_file.cpp
msgid "Mipmapping"
@@ -5162,7 +5123,7 @@ msgstr "Mapeamento MIP"
#: src/settings_translation_file.cpp
msgid "Mod channels"
-msgstr ""
+msgstr "Canais de mod"
#: src/settings_translation_file.cpp
msgid "Modifies the size of the hudbar elements."
@@ -5185,14 +5146,12 @@ msgid "Mountain noise"
msgstr "Ruído da montanha"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain variation noise"
-msgstr "Parâmetros ruido da altura de montagem do gerador de mundo v7"
+msgstr "Ruído de variação da montanha"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain zero level"
-msgstr "Ruído da montanha"
+msgstr "Nível zero da montanha"
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity"
@@ -5220,17 +5179,22 @@ msgstr "Tecla de usar"
#: src/settings_translation_file.cpp
msgid "Mute sound"
-msgstr ""
+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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"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."
#: src/settings_translation_file.cpp
msgid ""
@@ -5251,8 +5215,9 @@ msgstr ""
"servidores."
#: src/settings_translation_file.cpp
-msgid "Near plane"
-msgstr ""
+#, fuzzy
+msgid "Near clipping plane"
+msgstr "plano próximo"
#: src/settings_translation_file.cpp
msgid "Network"
@@ -5303,19 +5268,33 @@ 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"
-"Empty or 0 value:\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"
+"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 ""
+"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"
+"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"
-"For many users the optimum setting may be '1'."
-msgstr ""
+"Para muitos utilizadores a opção mais recomendada é 1."
#: src/settings_translation_file.cpp
msgid ""
@@ -5334,7 +5313,7 @@ msgstr "Número de iterações de oclusão de paralaxe."
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Repositório de conteúdo online"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5346,6 +5325,8 @@ msgid ""
"formspec is\n"
"open."
msgstr ""
+"Abre o menu de pausa quando o foco da janela é perdido.Não pausa se um "
+"formspec está aberto."
#: src/settings_translation_file.cpp
msgid "Overall bias of parallax occlusion effect, usually scale/2."
@@ -5372,9 +5353,8 @@ msgid "Parallax occlusion mode"
msgstr "Modo de oclusão paralaxe"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion scale"
-msgstr "Escala de oclusão paralaxe"
+msgstr "Escala de Oclusão de paralaxe"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion strength"
@@ -5404,20 +5384,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
-msgstr ""
+msgstr "Pausa quando o foco da janela é perdido"
#: src/settings_translation_file.cpp
msgid "Physics"
msgstr "Física"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move key"
-msgstr "Tecla de voar"
+msgstr "Tecla de movimento pitch"
#: src/settings_translation_file.cpp
msgid "Pitch move mode"
-msgstr ""
+msgstr "Modo movimento pitch"
#: src/settings_translation_file.cpp
msgid ""
@@ -5436,9 +5415,8 @@ msgid "Player transfer distance"
msgstr "Distância de transferência do jogador"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Player versus player"
-msgstr "Jogador contra Jogador"
+msgstr "Jogador contra jogador"
#: src/settings_translation_file.cpp
msgid ""
@@ -5453,6 +5431,9 @@ 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 ""
+"Evita remoção e colocação de blocos repetidos quando os botoes do mouse são "
+"segurados.\n"
+"Habilite isto quando você cava ou coloca blocos constantemente por acidente."
#: src/settings_translation_file.cpp
msgid "Prevent mods from doing insecure things like running shell commands."
@@ -5460,12 +5441,11 @@ msgstr ""
"Impede que mods façam coisas inseguras como executar comandos do shell."
#: 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 ""
-"Intervalo de impressão de dados do analizador (em segundos). 0 = "
+"Intervalo de impressão de dados do analisador (em segundos). 0 = "
"desabilitado. Útil para desenvolvedores."
#: src/settings_translation_file.cpp
@@ -5485,10 +5465,6 @@ msgid "Profiling"
msgstr "Analizando"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5498,9 +5474,8 @@ msgstr ""
"Valores superiores a 26 produzem arestas acentuadas nos cantos das nuvens."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Raises terrain to make valleys around the rivers."
-msgstr "Eleva o terreno para fazer vales em torno dos rios"
+msgstr "Eleva o terreno para fazer vales em torno dos rios."
#: src/settings_translation_file.cpp
msgid "Random input"
@@ -5512,7 +5487,7 @@ msgstr "Tecla para modo de visão ilimitado"
#: src/settings_translation_file.cpp
msgid "Recent Chat Messages"
-msgstr ""
+msgstr "Mensagens de chat recentes"
#: src/settings_translation_file.cpp
msgid "Remote media"
@@ -5527,6 +5502,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 ""
+"Remove códigos de cor de futuras mensagens do chat.\n"
+"Use isto para impedir que jogadores usem cor em suas mensagens"
#: src/settings_translation_file.cpp
msgid "Replaces the default main menu with a custom one."
@@ -5549,11 +5526,22 @@ msgid ""
"csm_restriction_noderange)\n"
"READ_PLAYERINFO: 32 (disable get_player_names call client-side)"
msgstr ""
+"Restringe o acesso de certas funções a nível de cliente em servidores.\n"
+"Combine os byflags abaixo par restringir recursos de nível de cliente, ou "
+"coloque 0 para nenhuma restrição:\n"
+"LOAD_CLIENT_MODS: 1 (desabilita o carregamento de mods de cliente)\n"
+"CHAT_MESSAGES: 2 (desabilita a chamada send_chat_message no lado do "
+"cliente)\n"
+"READ_ITEMDEFS: 4 (desabilita a chamada get_item_def no lado do cliente)\n"
+"READ_NODEDEFS: 8 (desabilita a chamada get_node_def no lado do cliente)\n"
+"LOOKUP_NODES_LIMIT: 16 (limita a chamada get_node no lado do cliente para "
+"csm_restriction_noderange)\n"
+"READ_PLAYERINFO: 32 (desabilita a chamada get_player_names no lado do "
+"cliente)"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridge mountain spread noise"
-msgstr "Ruído Subaquático"
+msgstr "Ruído de extensão do cume de montanhas"
#: src/settings_translation_file.cpp
msgid "Ridge noise"
@@ -5564,9 +5552,8 @@ msgid "Ridge underwater noise"
msgstr "Ruído Subaquático"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridged mountain size noise"
-msgstr "Ruído Subaquático"
+msgstr "Ruído do tamanho de montanhas acidentadas"
#: src/settings_translation_file.cpp
msgid "Right key"
@@ -5578,30 +5565,42 @@ msgstr "Intervalo de repetição do clique direito"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "River depth"
+msgid "River channel depth"
msgstr "Profundidade do Rio"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel width"
+msgstr "Profundidade do Rio"
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr "Profundidade do Rio"
+
+#: src/settings_translation_file.cpp
msgid "River noise"
msgstr "Ruido do Rio"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River size"
msgstr "Tamanho do Rio"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Profundidade do Rio"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Gravação de reversão"
#: src/settings_translation_file.cpp
msgid "Rolling hill size noise"
-msgstr ""
+msgstr "Tamanho do ruído de colinas rolantes"
#: src/settings_translation_file.cpp
msgid "Rolling hills spread noise"
-msgstr ""
+msgstr "Extensão do ruído de colinas rolantes"
#: src/settings_translation_file.cpp
msgid "Round minimap"
@@ -5609,7 +5608,7 @@ msgstr "Mini-map redondo"
#: src/settings_translation_file.cpp
msgid "Safe digging and placing"
-msgstr ""
+msgstr "Remoção e colocação segura"
#: src/settings_translation_file.cpp
msgid "Sandy beaches occur when np_beach exceeds this value."
@@ -5621,14 +5620,13 @@ msgstr "Salvar o mapa recebido pelo cliente no disco."
#: src/settings_translation_file.cpp
msgid "Save window size automatically when modified."
-msgstr ""
+msgstr "Salve automaticamente o tamanho da janela quando modificado."
#: src/settings_translation_file.cpp
msgid "Saving map received from server"
msgstr "Salvado mapa recebido do servidor"
#: 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"
@@ -5636,19 +5634,19 @@ msgid ""
"pixels when scaling down, at the cost of blurring some\n"
"edge pixels when images are scaled by non-integer sizes."
msgstr ""
-"Redimensiona interface gráfico por um valor especificado pelo \n"
-"utilizador. Usa um filtro antisserrilhamento através de interpolação \n"
-"por vizinho mais próximo. Isto vai alisar algumas das arestas e \n"
-"misturar pixels quando reduzir a dimensão, com o custo de borrar \n"
-"alguns pixels das arestas quando o valor não é inteiro."
+"Escala de GUI por um valor especificado pelo utilizador.\n"
+"Use um filtro nearest-neighbor-anti-alias para escala do GUI.\n"
+"Isso irá suavizar algumas das arestas e misturar pixels \n"
+"quando a escala é reduzida, ao custo de borrar alguns pixels da borda \n"
+"quando as imagens são dimensionadas em tamanhos não inteiros."
#: src/settings_translation_file.cpp
msgid "Screen height"
-msgstr "Altura da tela"
+msgstr "Altura do ecrã"
#: src/settings_translation_file.cpp
msgid "Screen width"
-msgstr "Largura da tela"
+msgstr "Largura do ecrã"
#: src/settings_translation_file.cpp
msgid "Screenshot folder"
@@ -5677,21 +5675,19 @@ msgid "Seabed noise"
msgstr "Ruído para cavernas #1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of 4 2D noises that together define hill/mountain range height."
-msgstr "Segundo dos 2 ruídos 3D que juntos definem túneis."
+msgstr ""
+"Segundo de 4 ruídos 2D que juntos definem a altura de colinas/montanhas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of two 3D noises that together define tunnels."
-msgstr "Segundo dos 2 ruídos 3D que juntos definem túneis."
+msgstr "Segundo de 2 ruídos 3D que juntos definem tunéis."
#: src/settings_translation_file.cpp
msgid "Security"
msgstr "Segurança"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
msgstr "Consulte http://www.sqlite.org/pragma.html#pragma_synchronous"
@@ -5708,7 +5704,6 @@ msgid "Selection box width"
msgstr "Largura da caixa de seleção"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Selects one of 18 fractal types.\n"
"1 = 4D \"Roundy\" mandelbrot set.\n"
@@ -5730,7 +5725,7 @@ msgid ""
"17 = 4D \"Mandelbulb\" mandelbrot set.\n"
"18 = 4D \"Mandelbulb\" julia set."
msgstr ""
-"Escolha entre 18 fractais resultantes de 9 fórmulas\n"
+"Escolha um dos 18 tipos de fractais.\n"
"1 = Conjunto de mandelbrot \"Roundy\" 4D.\n"
"2 = Conjunto de julia \"Roundy\" 4D.\n"
"3 = Conjunto de mandelbrot \"Squarry\" 4D.\n"
@@ -5797,6 +5792,8 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
+"Configura o tamanho máximo de caracteres de uma mensagem enviada por "
+"clientes."
#: src/settings_translation_file.cpp
msgid ""
@@ -5827,7 +5824,6 @@ msgid "Shader path"
msgstr "Sombras"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Shaders allow advanced visual effects and may increase performance on some "
"video\n"
@@ -5836,7 +5832,7 @@ msgid ""
msgstr ""
"Sombreadores permitem efeitos visuais avançados e podem aumentar a "
"performance em algumas placas de vídeo.\n"
-"Só funcionam com o backend de vídeo OpenGL."
+"Só funcionam com o modo de vídeo OpenGL."
#: src/settings_translation_file.cpp
msgid "Shadow limit"
@@ -5867,6 +5863,11 @@ msgid ""
"Altering this value is for special usage, leaving it unchanged is\n"
"recommended."
msgstr ""
+"Tamanho dos mapchunks gerados pelo gerador de mapa, em mapblocks(16 nós).\n"
+"ALERTA!: Não há benefício e existem diversos perigos em aumentar este valor "
+"acima de 5.\n"
+"Reduzir este valor aumenta a densidade de dungeons e cavernas.\n"
+"Alterar este valor é para uso especial, é recomendado deixar inalterado."
#: src/settings_translation_file.cpp
msgid ""
@@ -5883,9 +5884,8 @@ msgid "Slice w"
msgstr "Fatia w"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Slope and fill work together to modify the heights."
-msgstr "Inclinação e preenchimento trabalham juntos para modificar as alturas"
+msgstr "Inclinação e preenchimento trabalham juntos para modificar as alturas."
#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
@@ -5923,23 +5923,24 @@ msgid "Sneak key"
msgstr "Tecla para agachar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Sneaking speed"
-msgstr "Velocidade de caminhada"
+msgstr "Velocidade da furtividade"
+
+#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Som"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key"
-msgstr "Tecla para agachar"
+msgstr "Tecla especial"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key for climbing/descending"
-msgstr "Tecla usada para descer/esgueirar"
+msgstr "Tecla especial pra escalar/descer"
#: src/settings_translation_file.cpp
msgid ""
@@ -5959,6 +5960,8 @@ msgid ""
"Spread of light curve mid-boost.\n"
"Standard deviation of the mid-boost gaussian."
msgstr ""
+"Extensão do aumento médio da curva da luz.\n"
+"Desvio padrão do aumento médio gaussiano."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -5969,14 +5972,12 @@ msgid "Steepness noise"
msgstr "Ruído de declive"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Step mountain size noise"
-msgstr "Ruído da montanha"
+msgstr "Tamanho do ruído da montanha de passo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Step mountain spread noise"
-msgstr "Ruído da montanha"
+msgstr "Extensão do ruído da montanha de passo"
#: src/settings_translation_file.cpp
msgid "Strength of generated normalmaps."
@@ -5984,7 +5985,7 @@ msgstr "Intensidade de normalmaps gerados."
#: src/settings_translation_file.cpp
msgid "Strength of light curve mid-boost."
-msgstr ""
+msgstr "Força do aumento médio da curva de luz."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -5996,7 +5997,7 @@ msgstr "Verificação rígida de protocolo"
#: src/settings_translation_file.cpp
msgid "Strip color codes"
-msgstr ""
+msgstr "Códigos de faixa de cor"
#: src/settings_translation_file.cpp
msgid "Synchronous SQLite"
@@ -6007,16 +6008,14 @@ msgid "Temperature variation for biomes."
msgstr "Variação de temperatura para biomas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Terrain alternative noise"
-msgstr "Ruído de alteração do terreno"
+msgstr "Ruído alternativo do terreno"
#: src/settings_translation_file.cpp
msgid "Terrain base noise"
msgstr "Altura do terreno"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Terrain height"
msgstr "Altura do terreno"
@@ -6065,10 +6064,17 @@ msgid ""
"this option allows enforcing it for certain node types. Note though that\n"
"that is considered EXPERIMENTAL and may not work properly."
msgstr ""
+"Texturas em um nó podem ser alinhadas ao próprio nó ou ao mundo.\n"
+"O modo antigo serve melhor para coisas como maquinas, móveis, etc, enquanto "
+"o novo faz com que escadas e microblocos encaixem melhor a sua volta.\n"
+"Entretanto, como essa é uma possibilidade nova, não deve ser usada em "
+"servidores antigos, essa opção pode ser forçada para certos tipos de nós. "
+"Note que esta opção é considerada EXPERIMENTAL e pode não funcionar "
+"adequadamente."
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "A url para o repositório de conteúdo"
#: src/settings_translation_file.cpp
msgid ""
@@ -6079,9 +6085,8 @@ msgstr ""
"Quando chamado `/profiler save [formato]` sem formato."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "The depth of dirt or other biome filler node."
-msgstr "A profundidade de terra ou outro enchimento"
+msgstr "A profundidade do preenchimento de terra ou outro enchimento de bioma."
#: src/settings_translation_file.cpp
msgid ""
@@ -6097,6 +6102,7 @@ msgstr "O identificador do joystick para usar"
#: src/settings_translation_file.cpp
msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
+"A largura em pixels necessária para interação de tela de toque começar."
#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
@@ -6107,7 +6113,7 @@ msgid ""
"The privileges that new users automatically get.\n"
"See /privs in game for a full list on your server and mod configuration."
msgstr ""
-"Os privilégios que novos usuários obtém automaticamente.\n"
+"Os privilégios que novos utilizadores obtém automaticamente.\n"
"Consulte /privs no jogo para obter uma lista completa na configuração do seu "
"servidor e dos modificadores."
@@ -6121,6 +6127,11 @@ msgid ""
"maintained.\n"
"This should be configured together with active_object_range."
msgstr ""
+"O raio do volume de blocos em volta de cada jogador que é sujeito a coisas "
+"de bloco ativo, em mapblocks (16 nós).\n"
+"Em blocos ativos, objetos são carregados e ABMs executam.\n"
+"Isto é também o alcançe mínimo em que objetos ativos(mobs) são mantidos.\n"
+"Isto deve ser configurado junto com o alcance_objeto_ativo."
#: src/settings_translation_file.cpp
msgid ""
@@ -6131,6 +6142,12 @@ msgid ""
"On other platforms, OpenGL is recommended, and it’s the only driver with\n"
"shader support currently."
msgstr ""
+"Renderizador de fundo para o irrlight.\n"
+"Uma reinicialização é necessária após alterar isso.\n"
+"Note: no android, use o OGLES1 caso em dúvida! O aplicativo pode falhar ao "
+"abrir em outro caso.\n"
+"Em outras plataformas, OpenGL é recomendo, e é o único driver com suporte a "
+"sombreamento atualmente."
#: src/settings_translation_file.cpp
msgid ""
@@ -6174,7 +6191,6 @@ msgstr ""
"quando pressionando uma combinação de botão no joystick."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"The time in seconds it takes between repeated right clicks when holding the "
"right\n"
@@ -6193,11 +6209,14 @@ msgid ""
"enabled. Also the vertical distance over which humidity drops by 10 if\n"
"'altitude_dry' is enabled."
msgstr ""
+"A distancia vertical onde o calor cai por 20 caso 'altitude_chill' esteja "
+"habilitado. Também é a distancia vertical onde a umidade cai por 10 se "
+"'altitude_dry' estiver habilitado."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Third of 4 2D noises that together define hill/mountain range height."
-msgstr "Primeiro de 2 ruídos 3D que juntos definem túneis."
+msgstr ""
+"Terceiro de 4 ruídos 2D que juntos definem a altura de colinas/montanhas."
#: src/settings_translation_file.cpp
msgid "This font will be used for certain languages."
@@ -6213,7 +6232,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Time of day when a new world is started, in millihours (0-23999)."
-msgstr ""
+msgstr "Hora do dia quando um novo mundo é iniciado, em milihoras (0-23999)."
#: src/settings_translation_file.cpp
msgid "Time send interval"
@@ -6249,9 +6268,8 @@ msgid "Tooltip delay"
msgstr "Atraso de dica de ferramenta"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Touch screen threshold"
-msgstr "Limite do ruído da praia"
+msgstr "Limiar a tela de toque"
#: src/settings_translation_file.cpp
msgid "Trees noise"
@@ -6276,7 +6294,6 @@ msgid "Trusted mods"
msgstr "Modulos confiáveis"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Typical maximum height, above and below midpoint, of floatland mountains."
msgstr ""
@@ -6292,16 +6309,18 @@ msgid "Undersampling"
msgstr "Subamostragem"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"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 "
-"Usuário) intacta. Deve dar um aumento significativo no desempenho ao custo "
-"de uma imagem menos detalhada."
+"Utilizador) intacta. Deve dar um aumento significativo no desempenho ao "
+"custo de uma imagem menos detalhada."
#: src/settings_translation_file.cpp
msgid "Unlimited player transfer distance"
@@ -6313,7 +6332,7 @@ msgstr "Descarregar os dados do servidor não utilizados"
#: src/settings_translation_file.cpp
msgid "Upper Y limit of dungeons."
-msgstr ""
+msgstr "Limite topo Y de dungeons."
#: src/settings_translation_file.cpp
msgid "Use 3D cloud look instead of flat."
@@ -6337,6 +6356,10 @@ msgid ""
"especially when using a high resolution texture pack.\n"
"Gamma correct downscaling is not supported."
msgstr ""
+"Usar mip mapping para escalar texturas. Pode aumentar a performance "
+"levemente, especialmente quando usando um pacote de texturas em alta "
+"resolução.\n"
+"O downscaling correto de gama não é suportado."
#: src/settings_translation_file.cpp
msgid "Use trilinear filtering when scaling textures."
@@ -6347,27 +6370,22 @@ msgid "VBO"
msgstr "VBO"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "VSync"
msgstr "Sincronização Vertical"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley depth"
msgstr "Profundidade do vale"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley fill"
msgstr "Preenchimento do vale"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley profile"
msgstr "Perfil do vale"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley slope"
msgstr "Encosta do vale"
@@ -6415,6 +6433,10 @@ msgid "Varies steepness of cliffs."
msgstr "Controla a inclinação/altura das colinas."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Sincronização vertical da tela."
@@ -6448,14 +6470,13 @@ msgstr "Intervalo de visualização"
#: src/settings_translation_file.cpp
msgid "Virtual joystick triggers aux button"
-msgstr ""
+msgstr "Joystick virtual ativa botão auxiliar"
#: src/settings_translation_file.cpp
msgid "Volume"
msgstr "Volume do som"
#: 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"
@@ -6466,13 +6487,21 @@ msgstr ""
"Coordenada W da fatia 3D gerada de um fractal 4D.\n"
"Determina qual fatia 3D da forma 4D é gerada.\n"
"Não tem efeito sobre fractais 3D.\n"
-"Intervalo de aproximadamente -2 a 2."
+"Varia aproximadamente de -2 a 2."
+
+#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Velocidade de caminhada"
#: 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"
msgstr "Nível de água"
@@ -6497,16 +6526,19 @@ msgid "Waving water"
msgstr "Balançar das Ondas"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Altura de balanço da água"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Comprimento de balanço da água"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Velocidade de balanço da água"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Velocidade de balanço da água"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Comprimento de balanço da água"
#: src/settings_translation_file.cpp
msgid ""
@@ -6531,7 +6563,6 @@ msgstr ""
"vídeo que não suportem propriedades baixas de texturas voltam do hardware."
#: 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"
@@ -6549,13 +6580,14 @@ msgstr ""
"interpolação\n"
"de nearest-neighbor para preservar os pixels nítidos. Isto define o tamanho\n"
"mínimo da textura para as texturas melhoradas; valores mais altos parecem\n"
-"mais nítidas, mas requerem mais memória. Poências de 2 são recomendadas.\n"
-"Essa configuração superior a 1 não pode ter um efeito visível, a menos que "
+"mais nítidos, mas requerem mais memória. Potências de 2 são recomendadas.\n"
+"Essa configuração superior a 1 pode não ter um efeito visível, a menos que "
"a \n"
-"filtragem bilineares/trilinear/anisotrópica estejam habilitadas."
+"filtragem bilineares/trilinear/anisotrópica estejam habilitadas.\n"
+"Isso também é usado como tamanho base da textura para autoescalamento de "
+"texturas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Whether FreeType fonts are used, requires FreeType support to be compiled in."
msgstr ""
@@ -6563,10 +6595,6 @@ msgstr ""
"compilado."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
"Determina se animações das texturas dos cubos devem ser dessincronizadas "
@@ -6611,9 +6639,8 @@ msgid "Width component of the initial window size."
msgstr "Largura da janela inicial."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Width of the selection box lines around nodes."
-msgstr "Grossura das linhas de selecção à volta dos cubos."
+msgstr "Largura das linhas do bloco de seleção em torno de nodes."
#: src/settings_translation_file.cpp
msgid ""
@@ -6623,7 +6650,7 @@ msgid ""
msgstr ""
"Somente no sistemas Windows: Inicie o Minetest com a janela da linha de "
"comando em segundo plano.\n"
-"Contém as mesmas informações que o arquivo debug.txt (nome padrão)."
+"Contém as mesmas informações que o ficheiro debug.txt (nome padrão)."
#: src/settings_translation_file.cpp
msgid ""
@@ -6634,9 +6661,8 @@ msgstr ""
"Não é necessário se for iniciado a partir do menu principal."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "World start time"
-msgstr "Nome do mundo"
+msgstr "Horário inicial do mundo"
#: src/settings_translation_file.cpp
msgid ""
@@ -6647,10 +6673,16 @@ msgid ""
"See also texture_min_size.\n"
"Warning: This option is EXPERIMENTAL!"
msgstr ""
+"Texturas alinhadas ao mundo podem ser escaladas em vários nós. Entretando, o "
+"servidor pode não enviar a escala desejada, especialmente se você usa um "
+"pacote de textura especialmente projetado; com está opção, o cliente tenta "
+"determinar a escala automaticamente baseado no tamanho da textura. Veja "
+"também texture_min_size.\n"
+"Alerta: Esta opção é EXPERIMENTAL!"
#: src/settings_translation_file.cpp
msgid "World-aligned textures mode"
-msgstr ""
+msgstr "Modo de texturas alinhadas ao mundo"
#: src/settings_translation_file.cpp
msgid "Y of flat ground."
@@ -6661,16 +6693,12 @@ msgid ""
"Y of mountain density gradient zero level. Used to shift mountains "
"vertically."
msgstr ""
+"Y da densidade gradiente zero de montanhas. Usado para deslocar montanhas "
+"verticalmente."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y of upper limit of large caves."
-msgstr "Y de limite superior de grandes números pseudoaleatórios de cavernas."
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "Y de limite superior de grandes números pseudoaleatórios de cavernas."
+msgstr "Limite Y máximo de grandes cavernas."
#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
@@ -6691,14 +6719,12 @@ msgstr ""
"Nível em Y do ponto médio da montanha flutuante e da superfície do lago."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of higher terrain that creates cliffs."
-msgstr "Nível Y de terreno inferior e leitos de lago."
+msgstr "Nível Y de terreno que cria penhascos."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of lower terrain and seabed."
-msgstr "Nível Y de terreno inferior e leitos de lago."
+msgstr "Nível Y de terreno inferior e solo oceânico."
#: src/settings_translation_file.cpp
msgid "Y-level of seabed."
@@ -6710,7 +6736,7 @@ msgstr "Nível Y para o qual as sombras de ilhas flutuantes se estendem."
#: src/settings_translation_file.cpp
msgid "cURL file download timeout"
-msgstr "Tempo limite de download de arquivo via cURL"
+msgstr "Tempo limite de descarregamento de ficheiro via cURL"
#: src/settings_translation_file.cpp
msgid "cURL parallel limit"
@@ -6720,726 +6746,20 @@ msgstr "limite paralelo de cURL"
msgid "cURL timeout"
msgstr "Tempo limite de cURL"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Fechar repositório"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Número de seguimentos de emersão para usar. Deixe esse campo em branco, "
-#~ "ou aumente esse número\n"
-#~ "para usar vários segmentos. Em sistemas multiprocessadores, isto irá "
-#~ "melhorar muito a velocidade do mapgen\n"
-#~ "à custa de uns poucos bugs nas cavernas."
-
-#~ msgid "Disable MP"
-#~ msgstr "Desativar MP (mod pack)"
-
-#~ msgid "Enable MP"
-#~ msgstr "Ativar MP (mod pack)"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Mundo sem nome ou nenhum jogo selecionado"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" não é uma flag válida."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr ""
-#~ "O formato é de 3 números separados por vírgulas dentro de parêntesis."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formato: <offset>, <escala>, (<distânciaX>, <distânciaY>, <distânciaZ>), "
-#~ "<seed>, <oitavos>, <persistência>"
+#~ msgid "Projecting dungeons"
+#~ msgstr "Projetando dungeons"
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Opcionalmente a lacunaridade pode ser adicionada com uma vírgula na "
-#~ "frente."
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "Se dungeons ocasionalmente se projetam do terreno."
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Por favor, introduza uma lista de flags separadas por vírgulas."
+#~ msgid "Waving Water"
+#~ msgstr "Ãgua ondulante"
-#~ msgid "Possible values are: "
-#~ msgstr "Os valores possíveis são: "
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Limite Y máximo de lava em grandes cavernas."
-#~ msgid "Select path"
-#~ msgstr "Seleccionar diretório"
+#~ msgid "Select Package File:"
+#~ msgstr "Selecionar o ficheiro do pacote:"
-#~ msgid "Subgame Mods"
-#~ msgstr "Mods de Subjogo"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Página $1 de $2"
-
-#~ msgid "Rating"
-#~ msgstr "Classificação"
-
-#~ msgid "Shortname:"
-#~ msgstr "Nome curto:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Instalado com sucesso:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Não ordenado"
-
-#~ msgid "re-Install"
-#~ msgstr "reinstalar"
-
-#~ msgid "Local Game"
-#~ msgstr "Jogo Local"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Desinstalar pacote de mods selecionado"
-
-#~ msgid "Play Online"
-#~ msgstr "Jogar Online"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Mapeamento Normal"
-
-#~ msgid "No information available"
-#~ msgstr "Sem informações disponíveis"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Som alterado para 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Som alterado para 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Imprimir stacks"
-
-#~ msgid "Use"
-#~ msgstr "Usar"
-
-#~ msgid "Next"
-#~ msgstr "Próximo"
-
-#~ msgid "Prior"
-#~ msgstr "Prévio"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Intervalo de Modificador de Blocos ativos"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Apenas sistemas android: Tenta criar texturas de inventário a partir de "
-#~ "redes\n"
-#~ "quando não for encontrado um renderizador suportado."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Anunciar a esta lista de servidores.\n"
-#~ "Se quiser anunciar o seu endereço IPv6, use serverlist_url = v6.servers."
-#~ "minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Aproxima escala (X,Y,Z) do fractal em cubos."
-
-#~ msgid "Autorun key"
-#~ msgstr "Tecla de autoexecução"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Cavernas e túneis formam-se na interseção entre os dois ruídos"
-
-#~ msgid "Cloud height"
-#~ msgstr "Altura das nuvens"
-
-#~ msgid "Console key"
-#~ msgstr "Tecla da consola"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Avanço contínuo (apenas usado para testes)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Cria lagos de lava imprevisíveis nas cavernas, o que pode \n"
-#~ "dificultar a mineração. Zero desativa-os por completo. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Cria lagos de água imprevisíveis nas cavernas, o que pode \n"
-#~ "dificultar a mineração. Zero desativa-os por completo. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Velocidade a agachar"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Profundidade a partir da qual você encontrará caves massivas."
-
-#~ msgid "Descending speed"
-#~ msgstr "Velocidade de descida"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Desabilitar as sequências de escape"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Desabilitar as sequências de escape, por exemplo, colorimento de bate-"
-#~ "papo.\n"
-#~ "Use isto se você quiser executar um servidor com clientes pre-0.4.14 e "
-#~ "para desabilitar as sequências de escape geradas por modificadores."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Cair balançando"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Habilita balanço de visão enquanto andar."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Campo de visão"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Campo de visão durante o zoom em graus.\n"
-#~ "Isto requer o privilégio \"zoom\" no servidor."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Distância máxima de envio de dados sobre objectos para clientes, em "
-#~ "mapblocks (16^3 cubos)."
-
-#~ msgid "General"
-#~ msgstr "Geral"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Altitude das nuvens."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Dimensão da área de blocos mantida ativa, em mapblocks (16^3 cubos).\n"
-#~ "Em blocos ativos objetos são carregados e ABMs são executados."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "Mensagem do dia exibida aos jogadores ao conectar."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Tecla de inventário"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Iterações da função recursiva.\n"
-#~ "Controles da escala de detalhes."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tecla para abrir o console do bate-papo.\n"
-#~ "Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tecla para imprimir pilhas de depuração. Usado para o desenvolvimento.\n"
-#~ "Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Características da lava"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Menu principal gestor de games"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Menu principal do gestor de extras"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos para o gerador de mapas específico para o gerador de mundo "
-#~ "Valleys.\n"
-#~ "'altitude_chill' faz elevações mais altas mais geladas, o que pode causar "
-#~ "problemas em biomas.\n"
-#~ "'humid_rivers' modifica a humidade ao redor de rios e em ares que a água "
-#~ "tende a virar poças,\n"
-#~ "Isto pode interferir como os biomas são delicadamente ajustados\n"
-#~ "Flags que não são especificadas na linha da flag não são modificadas por "
-#~ "padrão.\n"
-#~ "Flags começando com \"no\" (não) são usadas para desabilitá-las "
-#~ "explicitamente."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos de geração de mapas específicos para o gerador de mundo v7.\n"
-#~ "A flag'ridges' controla os rios.\n"
-#~ "Flags que não estão especificadas na string da flag não são modificadas "
-#~ "por padrão.\n"
-#~ "Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Profundidade de caverna enorme"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Ruido de caverna enorme"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Forma de cavernas enormes aqui."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr ""
-#~ "Número máximo de jogadores que podem se conectar simultaneamente no total."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr ""
-#~ "Número máximo de blocos que podem ser simultaneamente enviados por "
-#~ "cliente."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Máximo de blocos totais enviados simultaneamente"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "URL de detalhes da Modstore"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "URL de download da Modstore"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "URL da lista de modificadores da Modstore"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Nome do gerador de mapa a ser usado ao criar um novo mundo.\n"
-#~ "Criação de um mundo no menu principal irá substituir isso."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Ruído para rios -- rios ocorrem em valores próximos de zero"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Dimensão da parcela a ser gerada por mapgen, em mapblocks (16^3 cubos)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Suporte a servidores mais antigos"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "A altitude na qual temperatura cai para 20C"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "A rederização back-end para Irrlicht."
-
-#~ msgid "Use key"
-#~ msgstr "Tecla de usar"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Usa mapeamento MIP para escalar texturas. Pode melhorar performance."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Flags C de vales"
-
-#~ msgid "Water Features"
-#~ msgstr "Características da água"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Se vai suportar os servidores mais antigos antes da versão de protocolo "
-#~ "25.\n"
-#~ "Habilite se você deseja se conectar a servidores anteriores a 0.4.12.\n"
-#~ "Servidores começando com 0.4.13 vão funcionar, servidores 0.4.12-dev "
-#~ "podem ou não funcionar.\n"
-#~ "Desabilitar esta opção irá proteger sua senha melhor."
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Nível Y de terreno mais alto (no topo da penhasco)."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Ocultar conteúdo do pacote"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Caps Lock"
-
-#~ msgid "Comma"
-#~ msgstr "Virgula"
-
-#~ msgid "CrSel"
-#~ msgstr "Tecla CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "Tecla ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Tecla Final"
-
-#~ msgid "Junja"
-#~ msgstr "Tecla Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Tecla Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Tecla Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Menos"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Ponto"
-
-#~ msgid "Plus"
-#~ msgstr "Mais"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Controla o tamanho dos desertos e das praias no gerador de mapa v6.\n"
-#~ "Quando o bioma de neve está ativado 'mgv6_freq_desert' é ignorado."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Determina a forma do terreno\n"
-#~ "Os 3 números entre '[' e ']' controlam a escala do\n"
-#~ "terreno, os 3 números devem ser idênticos."
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Tamanho de cavernas lisas no Mapgen"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Tamanho da caverna mapgen"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Parâmetros de ruído caverna1 no gerador de mapa fractal"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Parâmetros de ruído caverna2 no gerador de mapa fractal"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr ""
-#~ "Parâmetros de ruído da profundidade de enchimento no gerador de mapa "
-#~ "fractal"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Fractal do gerador de mapa fractal"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Iterações no gerador de mapa fractal"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "W do gerador de mapa fractal Julia"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "X do gerador de mapa fractal Julia"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Y do gerador de mapa fractal Julia"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Z do gerador de mapa fractal Julia"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Deslocamento do gerador de mapa fractal"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Escala do gerador de mapa fractal"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Parâmetros de ruído do fundo do mar no gerador de mapa fractal"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "W do corte do gerador de mapa fractal"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Tamanho da Caverna no Mapgen v5"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Tamanho da caverna no mapgen v7"
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Limite da geração do mapa.\n"
-#~ "Note:\n"
-#~ "- Limitado a 31000 (valor superior não tem efeito)\n"
-#~ "- O gerador funciona em grupos de 80x80x80 cubos (5x5x5 MapBlocks).\n"
-#~ "- Esses grupos têm um deslocamento de -32, -32 cubos em relação à "
-#~ "origem.\n"
-#~ "- Apenas grupos dentro do limite definido por map_generation_limit são "
-#~ "gerados"
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr ""
-#~ "Dados de perfil detalhados do extra. Útil para desenvolvedores de extras."
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "Dados de perfil detalhados do extra"
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Útil para desenvolvedores de extras."
-
-#~ msgid "No of course not!"
-#~ msgstr "Não, é claro que não!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Lista de Servidores Públicos"
-
-#~ msgid "No!!!"
-#~ msgstr "Não!!!"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "ativo"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr ""
-#~ "Mensagem de Jogo: Impossível fazer cópia do extra \"$1\" para o jogo "
-#~ "\"$2\""
-
-#~ msgid "GAMES"
-#~ msgstr "JOGOS"
-
-#~ msgid "Mods:"
-#~ msgstr "Extras:"
-
-#~ msgid "new game"
-#~ msgstr "novo jogo"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "EDITAR JOGO"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Remover extra selecionado"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Adicionar extra"
-
-#~ msgid "CLIENT"
-#~ msgstr "CLIENTE"
-
-#~ msgid "START SERVER"
-#~ msgstr "INICIAR SERVIDOR"
-
-#~ msgid "Name"
-#~ msgstr "Nome"
-
-#~ msgid "Password"
-#~ msgstr "Senha"
-
-#~ msgid "SETTINGS"
-#~ msgstr "DEFINIÇÕES"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Pré-carregamento dos itens"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "Líquido Finito"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "Um Jogador"
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "PACOTES DE TEXTURAS"
-
-#~ msgid "MODS"
-#~ msgstr "EXTRAS"
-
-#, fuzzy
-#~ msgid "Add mod:"
-#~ msgstr "<<-- Adicionar extra"
-
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Atenção: Alguns mods ainda não estão configurados.\n"
-#~ "Eles vão ser ativados por predefinição quando guardar a configuração. "
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "Atenção: Alguns mods configurados estão em falta.\n"
-#~ "As suas definições vão ser removidas quando gravar a configuração. "
-
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "Controlos Normais:\n"
-#~ "- WASD: Andar\n"
-#~ "- Botão esq.: partir/atacar\n"
-#~ "- Botão dir.: colocar/usar\n"
-#~ "- Roda do Rato: seleccionar item\n"
-#~ "- 0...9: seleccionar item\n"
-#~ "- Shift: agachar\n"
-#~ "- R: Mudar visualização de todos os chunks\n"
-#~ "- I: Inventário\n"
-#~ "- ESC: Este menu\n"
-#~ "- T: Chat\n"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Falhou a remoção de todos os ficheiros dos mundos"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Não foi possível configurar mundo: Nada seleccionado"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Não foi possível criar mundo: Não foram detectados jogos"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Ficheiros para eliminar"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Não foi possível eliminar mundo: Nada seleccionado"
-
-#~ msgid "Address required."
-#~ msgstr "Endereço necessário."
-
-#~ msgid "Create world"
-#~ msgstr "Criar mundo"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Deixe endereço em branco para iniciar servidor local."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Mostrar Favoritos"
-
-#~ msgid "Show Public"
-#~ msgstr "Mostrar Públicos"
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Não foi possível criar mundo: Nome com caracteres inválidos"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Atenção: Configuração não compatível. "
-
-#~ msgid "Configuration saved. "
-#~ msgstr "Configuração gravada. "
-
-#~ msgid "is required by:"
-#~ msgstr "é necessário pelo:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr "Botão esq: Mover todos os itens Botão dir: Mover um item"
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Descarregar"
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "A carregar..."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Configurações Avançadas"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos de geração de mapas específicos para o gerador de mundo v7.\n"
-#~ "A flag'ridges' controla os rios.\n"
-#~ "Flags que não estão especificadas na string da flag não são modificadas "
-#~ "por padrão.\n"
-#~ "Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos de geração de mapas específicos para o gerador de mundo v7.\n"
-#~ "A flag'ridges' controla os rios.\n"
-#~ "Flags que não estão especificadas na string da flag não são modificadas "
-#~ "por padrão.\n"
-#~ "Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos de geração de mapas específicos para o gerador de mundo v7.\n"
-#~ "A flag'ridges' controla os rios.\n"
-#~ "Flags que não estão especificadas na string da flag não são modificadas "
-#~ "por padrão.\n"
-#~ "Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Ativar/Desativar câmera cinemática"
diff --git a/po/pt_BR/minetest.po b/po/pt_BR/minetest.po
index 5c2736805..9fb7bbbe8 100644
--- a/po/pt_BR/minetest.po
+++ b/po/pt_BR/minetest.po
@@ -1,11 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Portuguese (Brazil) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-10 04:32+0000\n"
-"Last-Translator: Muhammad Rifqi Priyo Susanto "
-"<muhammadrifqipriyosusanto@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/"
"minetest/minetest/pt_BR/>\n"
"Language: pt_BR\n"
@@ -13,24 +12,22 @@ 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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
msgstr "Reviver"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "Você morreu."
+msgstr "Você morreu"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "Ocorreu um erro em um script Lua, como um mod:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Ocorreu um erro:"
@@ -99,27 +96,24 @@ msgid "Disable all"
msgstr "Desabilitar todos"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "Desabilitado"
+msgstr "Desabilitar modpack"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "Habilitar todos"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "Renomear pacote de módulos:"
+msgstr "Habilitar modpack"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
"Falha ao carregar mod \"$1\" devido ao fato de seu nome possuir caracteres "
-"inválidos. Apenas caracteres de \"a\" até \"z\" e algarísmos de 0 até 9 são "
+"inválidos. Apenas caracteres de \"a\" até \"z\" e algarismos de 0 até 9 são "
"permitidos."
#: builtin/mainmenu/dlg_config_world.lua
@@ -128,13 +122,26 @@ msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Dependências opcionais:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr "Nenhuma descrição do mod disponível"
+msgstr "Nenhuma descrição de jogo disponível."
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Sem dependências."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "Nenhuma descrição do mod disponível"
+msgstr "Nenhuma descrição de modpack disponível."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Dependências opcionais:"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -155,26 +162,23 @@ msgstr "habilitado"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "Todos os pacotes"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
msgstr "Backspace"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "Menu principal"
+msgstr "Voltar ao menu principal"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Downloading and installing $1, please wait..."
-msgstr "Baixando $1, por favor aguarde..."
+msgstr "Baixando e instalando $1, por favor aguarde..."
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "Não foi possível instalar $1 para $2"
+msgstr "Falhou em baixar $1"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -192,11 +196,11 @@ msgstr "Modulos (Mods)"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Nenhum pacote pode ser recuperado"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Sem resultados"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -204,18 +208,16 @@ msgid "Search"
msgstr "Buscar"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
msgstr "Pacotes de texturas"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "Instalar"
+msgstr "Desinstalar"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "Atualizar"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -226,9 +228,8 @@ msgid "Create"
msgstr "Criar"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Baixe um subgame, como minetest_game, do site minetest.net"
+msgstr "Baixe um jogo, como Minetest Game, do site minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -243,9 +244,8 @@ msgid "Mapgen"
msgstr "Gerador de mapa"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "Selecionar distância"
+msgstr "Nenhum jogo selecionado"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -262,9 +262,8 @@ msgid "World name"
msgstr "Nome do mundo"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "Você não possui subgames instalados."
+msgstr "Você não possui jogos instalados."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -277,14 +276,12 @@ msgid "Delete"
msgstr "Excluir"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: failed to delete \"$1\""
-msgstr "Modmgr: não foi possível excluir \"$1\""
+msgstr "pkgmgr: não foi possível excluir \"$1\""
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: invalid path \"$1\""
-msgstr "Modmgr: caminho inválido do módulo \"$1\""
+msgstr "pkgmgr: caminho inválido \"$1\""
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
@@ -303,15 +300,16 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"Esse modpack possui um nome explícito em seu modpack.conf que vai "
+"sobrescrever qualquer renomeio aqui."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(Não há uma descrição para esta configuração)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "Ruidos"
+msgstr "Ruído 2D"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -334,22 +332,20 @@ msgid "Enabled"
msgstr "Habilitado"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Lacunarity"
-msgstr "Segurança"
+msgstr "Lacunaridade"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Octavos"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
msgstr "Deslocamento"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Persistance"
-msgstr "Distância de transferência do jogador"
+msgstr "Persistência"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -368,14 +364,12 @@ msgid "Scale"
msgstr "Escala"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "Diretório do mapa"
+msgstr "Selecione o diretório"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "Selecione o arquivo do Mod:"
+msgstr "Selecione o arquivo"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
@@ -391,158 +385,130 @@ msgstr "O valor não deve ser maior do que $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "amplitude X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "amplitude Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "amplitude Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "valor absoluto"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Jogo padrão"
+msgstr "Padrões"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "amenizado"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "Habilitado"
+msgstr "$1 (Habilitado)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "modo 3D"
+msgstr "$1 módulos"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
msgstr "Não foi possível instalar $1 para $2"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find real mod name for: $1"
msgstr ""
"Instalação de módulo: não foi possível encontrar o nome real do módulo: $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr ""
"Instalação do Mod: não foi possível encontrar o nome da pasta adequado para "
"o modpack $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"Instalar Mod: tipo de arquivo \"$1\" não suportado ou corrompido"
+msgstr "Instalar: Tipo de arquivo \"$1\" não suportado ou corrompido"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: file: \"$1\""
-msgstr "Instalação de módulo: arquivo: \"$1\""
+msgstr "Instalar: arquivo: \"$1\""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr ""
-"Instalação do Mod: não foi possível encontrar o nome da pasta adequado para "
-"o modpack $1"
+msgstr "Incapaz de encontrar um módulo ou modpack válido"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "Não foi possível instalar $1 para $2"
+msgstr "Não foi possível instalar $1 como pacote de texturas"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "Não foi possível instalar $1 para $2"
+msgstr "Não foi possível instalar um jogo como um $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a mod as a $1"
-msgstr "Não foi possível instalar $1 para $2"
+msgstr "Não foi possível instalar um módulo como um $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "Não foi possível instalar $1 para $2"
+msgstr "Não foi possível instalar um modpack como um $1"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+msgstr "Procurar conteúdo online"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "Continuar"
+msgstr "Conteúdo"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Disable Texture Pack"
-msgstr "Selecione o pacote de texturas:"
+msgstr "Desabilitar pacote de texturas"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Information:"
-msgstr "Informação do mod:"
+msgstr "Informação:"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Installed Packages:"
-msgstr "Mods instalados:"
+msgstr "Pacotes instalados:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
msgstr "Sem dependências."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "Nenhuma descrição do mod disponível"
+msgstr "Nenhuma descrição do pacote disponível"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
msgstr "Renomear"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Selecione o arquivo do Mod:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
-msgstr "Desinstalar o mod selecionado"
+msgstr "Desinstalar o pacote"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "Pacotes de texturas"
+msgstr "Usar pacote de texturas"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -649,9 +615,8 @@ msgid "Favorite"
msgstr "Favoritos"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Join Game"
-msgstr "Criar Jogo"
+msgstr "Juntar-se ao jogo"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Name / Password"
@@ -682,9 +647,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Configurações"
+msgstr "Todas as configurações"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -695,7 +659,6 @@ msgid "Are you sure to reset your singleplayer world?"
msgstr "Você tem certeza que deseja resetar seu mundo um-jogador?"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Autosave Screen Size"
msgstr "Salvar automaticamente o tamanho da tela"
@@ -720,9 +683,8 @@ msgid "Fancy Leaves"
msgstr "Folhas com transparência"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Generate Normal Maps"
-msgstr "Gerar Normalmaps"
+msgstr "Gerar Normal maps"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap"
@@ -790,7 +752,7 @@ msgstr "Sombreadores"
#: builtin/mainmenu/tab_settings.lua
msgid "Shaders (unavailable)"
-msgstr ""
+msgstr "Sombreadores(indisponível)"
#: builtin/mainmenu/tab_settings.lua
msgid "Simple Leaves"
@@ -813,7 +775,6 @@ msgid "Tone Mapping"
msgstr "Tone mapping"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Touchthreshold: (px)"
msgstr "Nível de sensibilidade ao toque (px)"
@@ -826,12 +787,13 @@ msgid "Waving Leaves"
msgstr "Folhas Balançam"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Plantas balançam"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Nós que balancam"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Ondas na água"
+msgid "Waving Plants"
+msgstr "Plantas balançam"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -904,7 +866,7 @@ msgstr "Por favor escolha um nome!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
-msgstr ""
+msgstr "Arquivo de senha fornecido falhou em abrir : "
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
@@ -912,7 +874,7 @@ msgstr "O caminho do mundo providenciado não existe. "
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr ""
+msgstr "precisa_fonte_reserva"
#: src/client/game.cpp
msgid ""
@@ -955,42 +917,36 @@ msgid "- Server Name: "
msgstr "Nome do servidor: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "Tecla para frente"
+msgstr "Avanço automático para frente desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "Tecla para frente"
+msgstr "Avanço automático para frente habilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update disabled"
-msgstr "Tecla para alternar atualização da câmera"
+msgstr "Atualização da camera desabilitada"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "Tecla para alternar atualização da câmera"
+msgstr "Atualização da camera habilitada"
#: src/client/game.cpp
msgid "Change Password"
msgstr "Alterar a senha"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode disabled"
-msgstr "Tecla para modo cinematográfico"
+msgstr "Modo cinemático desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode enabled"
-msgstr "Tecla para modo cinematográfico"
+msgstr "Modo cinemático habilitado"
#: src/client/game.cpp
msgid "Client side scripting is disabled"
-msgstr ""
+msgstr "Scripting de cliente está desabilitado"
#: src/client/game.cpp
msgid "Connecting to server..."
@@ -1056,16 +1012,15 @@ msgstr "Criando o servidor..."
#: src/client/game.cpp
msgid "Debug info and profiler graph hidden"
-msgstr ""
+msgstr "Informação de debug e gráfico de perfil escondido"
#: src/client/game.cpp
-#, fuzzy
msgid "Debug info shown"
-msgstr "Tecla para alternar modo de Depuração"
+msgstr "Informação de debug mostrada"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
-msgstr ""
+msgstr "Informação de debug, gráfico de perfil e wireframe escondidos"
#: src/client/game.cpp
msgid ""
@@ -1097,11 +1052,11 @@ msgstr ""
#: src/client/game.cpp
msgid "Disabled unlimited viewing range"
-msgstr ""
+msgstr "Alcance de visualização ilimitado desabilitado"
#: src/client/game.cpp
msgid "Enabled unlimited viewing range"
-msgstr ""
+msgstr "Alcance de visualização ilimitado habilitado"
#: src/client/game.cpp
msgid "Exit to Menu"
@@ -1112,42 +1067,36 @@ msgid "Exit to OS"
msgstr "Sair do Minetest"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode disabled"
-msgstr "Velocidade no modo rápido"
+msgstr "Modo rápido desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
-msgstr "Velocidade no modo rápido"
+msgstr "Modo rápido habilitado"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
-msgstr ""
+msgstr "Modo rápido habilitado(note: sem privilégio 'fast')"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode disabled"
-msgstr "Velocidade no modo rápido"
+msgstr "Modo voo desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "Dano habilitado"
+msgstr "Modo voo habilitado"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr ""
+msgstr "Modo voo habilitado(note: sem privilegio 'fly')"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog disabled"
-msgstr "Desabilitar PMs"
+msgstr "Névoa desabilitada"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog enabled"
-msgstr "habilitado"
+msgstr "Névoa habilitada"
#: src/client/game.cpp
msgid "Game info:"
@@ -1179,49 +1128,47 @@ msgstr "MB/s"
#: src/client/game.cpp
msgid "Minimap currently disabled by game or mod"
-msgstr ""
+msgstr "Minipapa atualmente desabilitado por jogo ou mod"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap hidden"
-msgstr "Tecla do Minimapa"
+msgstr "Minimapa escondido"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x1"
-msgstr ""
+msgstr "Minimapa em modo radar, zoom 1x"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x2"
-msgstr ""
+msgstr "Minimapa em modo radar, zoom 2x"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x4"
-msgstr ""
+msgstr "Minimapa em modo radar, zoom 4x"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x1"
-msgstr ""
+msgstr "Minimapa em modo de superfície, zoom 1x"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x2"
-msgstr ""
+msgstr "Minimapa em modo de superfície, zoom 2x"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x4"
-msgstr ""
+msgstr "Minimapa em modo de superfície, zoom 4x"
#: src/client/game.cpp
msgid "Noclip mode disabled"
-msgstr ""
+msgstr "Modo atravessar paredes desabilitado"
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled"
-msgstr "Dano habilitado"
+msgstr "Modo atravessar paredes habilitado"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
-msgstr ""
+msgstr "Modo atravessar paredes habilitado(note: sem privilégio 'noclip')"
#: src/client/game.cpp
msgid "Node definitions..."
@@ -1237,15 +1184,15 @@ msgstr "Ligado"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
-msgstr ""
+msgstr "Modo movimento pitch desabilitado"
#: src/client/game.cpp
msgid "Pitch move mode enabled"
-msgstr ""
+msgstr "Modo movimento pitch habilitado"
#: src/client/game.cpp
msgid "Profiler graph shown"
-msgstr ""
+msgstr "Gráfico de perfil mostrado"
#: src/client/game.cpp
msgid "Remote server"
@@ -1268,29 +1215,27 @@ msgid "Sound Volume"
msgstr "Volume do som"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound muted"
-msgstr "Volume do som"
+msgstr "Som mutado"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound unmuted"
-msgstr "Volume do som"
+msgstr "Som desmutado"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range changed to %d"
-msgstr "Volume mudado para %d%%"
+msgstr "Distancia de visualização alterado pra %d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at maximum: %d"
-msgstr ""
+msgstr "Distancia de visualização está no máximo:%d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at minimum: %d"
-msgstr ""
+msgstr "Distancia de visualização está no mínima:%d"
#: src/client/game.cpp
#, c-format
@@ -1299,51 +1244,48 @@ msgstr "Volume mudado para %d%%"
#: src/client/game.cpp
msgid "Wireframe shown"
-msgstr ""
+msgstr "Mostrar wireframe"
#: src/client/game.cpp
msgid "Zoom currently disabled by game or mod"
-msgstr ""
+msgstr "Zoom atualmente desabilitado por jogo ou mod"
#: src/client/game.cpp src/gui/modalMenu.cpp
msgid "ok"
msgstr "Ok"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Chat hidden"
-msgstr "Tecla de Chat"
+msgstr "Conversa oculta"
#: src/client/gameui.cpp
msgid "Chat shown"
-msgstr ""
+msgstr "Conversa mostrada"
#: src/client/gameui.cpp
msgid "HUD hidden"
-msgstr ""
+msgstr "Interface escondida"
#: src/client/gameui.cpp
msgid "HUD shown"
-msgstr ""
+msgstr "Interface mostrada"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Profiler hidden"
-msgstr "Analizador"
+msgstr "Analisador ocultado"
#: src/client/gameui.cpp
#, c-format
msgid "Profiler shown (page %d of %d)"
-msgstr ""
+msgstr "Analisador mostrado(página %d de %d)"
#: src/client/keycode.cpp
msgid "Apps"
msgstr "Aplicativos"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Backspace"
-msgstr "Backspace"
+msgstr "Tecla voltar"
#: src/client/keycode.cpp
msgid "Caps Lock"
@@ -1507,11 +1449,11 @@ msgstr "Limpar OEM"
#: src/client/keycode.cpp
msgid "Page down"
-msgstr ""
+msgstr "Page down"
#: src/client/keycode.cpp
msgid "Page up"
-msgstr ""
+msgstr "Page up"
#: src/client/keycode.cpp
msgid "Pause"
@@ -1603,44 +1545,46 @@ msgstr "As senhas não correspondem!"
#: src/gui/guiConfirmRegistration.cpp
msgid "Register and Join"
-msgstr ""
+msgstr "Registrar e entrar"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
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 senha e clique registrar e entrar para confirmar a "
+"criação da conta ou clique em cancelar para abortar."
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
msgstr "Continuar"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "\"Special\" = climb down"
-msgstr "\"Usar\" = descer"
+msgstr "\"Especial\" = descer"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Autoforward"
-msgstr "Avançar"
+msgstr "Avanço frontal automático"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
-msgstr ""
+msgstr "Pulo automático"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Backward"
msgstr "Voltar"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
-msgstr "Mudar teclas"
+msgstr "Mudar camera"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
@@ -1655,9 +1599,8 @@ msgid "Console"
msgstr "Console"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Dec. range"
-msgstr "Intervalo de visualização"
+msgstr "Alcance dec"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. volume"
@@ -1676,9 +1619,8 @@ msgid "Forward"
msgstr "Avançar"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Inc. range"
-msgstr "Intervalo de visualização"
+msgstr "Alcance inc"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. volume"
@@ -1732,21 +1674,15 @@ msgstr "Esgueirar"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Special"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Alternar modo de câmera cinemática"
+msgstr "Especial"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
-msgstr "Alternar voo"
+msgstr "Ativar interface"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle chat log"
-msgstr "Alternar corrida"
+msgstr "Ativar histórico de conversa"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fast"
@@ -1757,20 +1693,23 @@ msgid "Toggle fly"
msgstr "Alternar voo"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle fog"
-msgstr "Alternar voo"
+msgstr "Ativar névoa"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
-msgstr "Alternar noclip"
+msgstr "Ativar minimapa"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
msgstr "Alternar noclip"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Ativar histórico de conversa"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "pressione uma tecla"
@@ -1795,9 +1734,8 @@ msgid "Exit"
msgstr "Sair"
#: src/gui/guiVolumeChange.cpp
-#, fuzzy
msgid "Muted"
-msgstr "Mutar"
+msgstr "Mutado"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
@@ -1816,6 +1754,9 @@ msgid ""
"(Android) Fixes the position of virtual joystick.\n"
"If disabled, virtual joystick will center to first-touch's position."
msgstr ""
+"(Android) Corrige a posição do joystick virtual.\n"
+"Se desabilitado, o joystick virtual vai centralizar na posição do primeiro "
+"toque."
#: src/settings_translation_file.cpp
msgid ""
@@ -1823,9 +1764,11 @@ msgid ""
"If enabled, virtual joystick will also tap \"aux\" button when out of main "
"circle."
msgstr ""
+"(Android) Use joystick virtual para ativar botão \"aux\".\n"
+"Se habilitado, o joystick virtual vai também clicar no botão \"aux\" quando "
+"estiver fora do circulo principal."
#: 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"
@@ -1836,12 +1779,13 @@ msgid ""
"situations.\n"
"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes."
msgstr ""
-"(X,Y,Z) Espaço do fractal apartir centro do mundo em unidades de 'escala'.\n"
-"Usado para mover uma área adequada de spawn de baixo da terra perto de (0, "
-"0).\n"
-"O padrão é adequado para configurações de mandelbrot,Precisa ser editado "
-"para configurações de julia.\n"
-"Variam cerca de -2 a 2. Multiplica por \"escala\" para compensação de nós."
+"(X,Y,Z) Espaço do fractal a partir centro do mundo em unidades de 'escala'.\n"
+"Pode ser usado para mover um ponto desejado para (0, 0) para criar um ponto "
+"de spawn apropriado, ou para permitir zoom em um ponto desejado aumentando "
+"sua escala.\n"
+"O padrão é configurado para ponto de spawn mandelbrot, pode ser necessário "
+"altera-lo em outras situações.\n"
+"Variam de -2 a 2. Multiplica por \"escala\" para compensação de nós."
#: src/settings_translation_file.cpp
msgid ""
@@ -1853,6 +1797,13 @@ msgid ""
"Default is for a vertically-squashed shape suitable for\n"
"an island, set all 3 numbers equal for the raw shape."
msgstr ""
+"(X,Y,Z) Escala fractal em nós.\n"
+"Tamanho fractal atual será de 2 a 3 vezes maior.\n"
+"Esses números podem ser muito grandes, o fractal não tem que encaixar dentro "
+"do mundo.\n"
+"Aumente estes para 'ampliar' nos detalhes do fractal.\n"
+"Padrão é para uma forma espremida verticalmente para uma ilha, coloque todos "
+"os 3 números iguais para a forma crua."
#: src/settings_translation_file.cpp
msgid ""
@@ -1864,27 +1815,32 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of ridged mountains."
-msgstr ""
+msgstr "Ruído 2D que controla a forma/tamanho de montanhas acidentadas."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of rolling hills."
-msgstr ""
+msgstr "Ruído 2D que controla o formato/tamanho de colinas."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of step mountains."
-msgstr ""
+msgstr "Ruído 2D que controla o formato/tamanho de montanhas de etapa."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
-msgstr ""
+msgstr "Ruído 2D que controla o tamanho/ocorrência de montanhas sulcadas."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of rolling hills."
-msgstr ""
+msgstr "2D noise que controla o tamanho/ocorrência de colinas."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the size/occurrence of step mountain ranges."
-msgstr ""
+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."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1911,16 +1867,20 @@ msgid "3D noise defining structure of river canyon walls."
msgstr "Ruído 3D definindo a estrutura das paredes dos cânions dos rios."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "3D noise defining terrain."
-msgstr "barulho 3D que define cavernas gigantes."
+msgstr "Ruído 3D que define o terreno."
#: src/settings_translation_file.cpp
msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
+"3D noise para saliências de montanhas, penhascos, etc. Geralmente variações "
+"pequenas."
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1939,7 +1899,10 @@ msgstr ""
"- anaglyph: Sistema de cor Ciano/Magenta (Óculos 3D azul vermelho).\n"
"- interlaced: Sistema interlaçado (Óculos com lentes polarizadas).\n"
"- topbottom: Divide a tela em duas: uma em cima e outra em baixo.\n"
-"- sidebyside: Divide a tela em duas: lado a lado."
+"- sidebyside: Divide a tela em duas: lado a lado.\n"
+" - crossview: 3D de olhos cruzados.\n"
+" - pageflip: Quadbuffer baseado em 3D.\n"
+"Note que o modo interlaçado requer que o sombreamento esteja habilitado."
#: src/settings_translation_file.cpp
msgid ""
@@ -1962,9 +1925,8 @@ msgstr ""
"desligar."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ABM interval"
-msgstr "Intervalo de salvamento de mapa"
+msgstr "Intervalo do ABM"
#: src/settings_translation_file.cpp
msgid "Absolute limit of emerge queues"
@@ -1975,11 +1937,14 @@ msgid "Acceleration in air"
msgstr "Aceleração no ar"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Modificadores de Bloco Ativo (ABM)"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Active block management interval"
msgstr "Intervalo de Gestão de Blocos Ativos"
@@ -2030,11 +1995,12 @@ msgstr "Avançado"
#: src/settings_translation_file.cpp
msgid "Alters how mountain-type floatlands taper above and below midpoint."
msgstr ""
+"Altera como terras flutuantes montanhosas afunilam acima e abaixo do ponto "
+"médio."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Altitude chill"
-msgstr "Frio nas alturas"
+msgstr "Frio de altitude"
#: src/settings_translation_file.cpp
msgid "Always fly and fast"
@@ -2046,12 +2012,11 @@ msgstr "Gama de oclusão de ambiente"
#: src/settings_translation_file.cpp
msgid "Amount of messages a player may send per 10 seconds."
-msgstr ""
+msgstr "Quantidade de mensagens que um jogador pode enviar por 10 segundos."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Amplifies the valleys."
-msgstr "Amplia os vales"
+msgstr "Amplifica os vales."
#: src/settings_translation_file.cpp
msgid "Anisotropic filtering"
@@ -2062,17 +2027,16 @@ msgid "Announce server"
msgstr "Anunciar servidor"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Announce to this serverlist."
-msgstr "Anunciar servidor"
+msgstr "Anuncie para esta lista de servidor."
#: src/settings_translation_file.cpp
msgid "Append item name"
-msgstr ""
+msgstr "Concatenar nome do item"
#: src/settings_translation_file.cpp
msgid "Append item name to tooltip."
-msgstr ""
+msgstr "Concatenar nome do item a descrição."
#: src/settings_translation_file.cpp
msgid "Apple trees noise"
@@ -2080,20 +2044,21 @@ msgstr "Barulho das Ãrvores de Macieira"
#: src/settings_translation_file.cpp
msgid "Arm inertia"
-msgstr ""
+msgstr "Inercia dos braços"
#: src/settings_translation_file.cpp
msgid ""
"Arm inertia, gives a more realistic movement of\n"
"the arm when the camera moves."
msgstr ""
+"Inercia dos braços fornece um movimento mais realista dos braços quando a "
+"câmera mexe."
#: src/settings_translation_file.cpp
msgid "Ask to reconnect after crash"
msgstr "Peça para reconectar depois de queda"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"At this distance the server will aggressively optimize which blocks are sent "
"to\n"
@@ -2110,26 +2075,23 @@ msgstr ""
"Nesta distância, o servidor otimizará agressivamente quais blocos são "
"enviados aos clientes.\n"
"Pequenos valores potencialmente melhoram muito o desempenho, à custa de "
-"falhas de renderização visíveis.\n"
-"(alguns blocos não serão processados debaixo da água e nas cavernas, bem "
-"como às vezes em terra).\n"
+"falhas de renderização visíveis(alguns blocos não serão processados debaixo "
+"da água e nas cavernas, bem como às vezes em terra).\n"
"Configure isso como um valor maior do que a "
"distância_máxima_de_envio_do_bloco para desabilitar essa otimização.\n"
-"Especificado em barreiras do mapa (16 nós)"
+"Especificado em barreiras do mapa (16 nós)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
-msgstr "Tecla para frente"
+msgstr "Tecla para frente automática"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
-msgstr ""
+msgstr "Automaticamente pula obstáculos de um só nó."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically report to the serverlist."
-msgstr "Informar lista de servidores automaticamente."
+msgstr "Informar para a lista de servidores automaticamente."
#: src/settings_translation_file.cpp
msgid "Autosave screen size"
@@ -2137,28 +2099,25 @@ msgstr "Salvar automaticamente o tamanho da tela"
#: src/settings_translation_file.cpp
msgid "Autoscaling mode"
-msgstr ""
+msgstr "Modo de alto escalamento"
#: src/settings_translation_file.cpp
msgid "Backward key"
msgstr "Tecla para andar para trás"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base ground level"
-msgstr "Nível do terreno para o gerador de mundo plano"
+msgstr "Nível de solo base"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Base terrain height."
-msgstr "Altura base do terreno"
+msgstr "Altura base do terreno."
#: src/settings_translation_file.cpp
msgid "Basic"
msgstr "Básico"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Basic privileges"
msgstr "Privilégios básicos"
@@ -2193,9 +2152,8 @@ msgstr ""
"cheia."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Block send optimize distance"
-msgstr "Distância máxima de envio de bloco"
+msgstr "Distância otimizada de envio de bloco"
#: src/settings_translation_file.cpp
msgid "Build inside player"
@@ -2210,12 +2168,17 @@ msgid "Bumpmapping"
msgstr "Bump mapping"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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 ""
+"Distancia do plano próximo da câmera em nós, entre 0 e 0.5\n"
+"A maioria dos usuários não precisarão mudar isto.\n"
+"Aumentar pode reduzir a ocorrencia de artefatos em GPUs mais fracas.\n"
+"0.1 = Padrão, 0.25 = Bom valor para tablets fracos."
#: src/settings_translation_file.cpp
msgid "Camera smoothing"
@@ -2270,13 +2233,12 @@ msgid "Cavern threshold"
msgstr "Limite da caverna"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Cavern upper limit"
-msgstr "Limite da caverna"
+msgstr "Limite do topo da caverna"
#: src/settings_translation_file.cpp
msgid "Center of light curve mid-boost."
-msgstr ""
+msgstr "Centro do aumento da curva de luz."
#: src/settings_translation_file.cpp
msgid ""
@@ -2287,24 +2249,32 @@ msgid ""
"be\n"
"necessary for smaller screens."
msgstr ""
+"Mudanças para a interface do menu principal:\n"
+" - Total: Múltiplos mundos de um jogador, escolha de jogo, escolha de pacote "
+"de texturas, etc.\n"
+"- Simples: Um mundo de um jogador, sem escolha de jogo ou pacote de "
+"texturas. Pode ser necessário para telas menores."
#: src/settings_translation_file.cpp
msgid "Chat key"
msgstr "Tecla de Chat"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Chat message count limit"
-msgstr "Mensagem de status na conexão"
+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"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
-msgstr "Limite do ruído de deserto"
+msgstr "Limite da mensagem de expulsão"
#: src/settings_translation_file.cpp
msgid "Chat message max length"
-msgstr ""
+msgstr "Tamanho máximo da mensagem de conversa"
#: src/settings_translation_file.cpp
msgid "Chat toggle key"
@@ -2343,13 +2313,12 @@ msgid "Client modding"
msgstr "Mods de Cliente Local"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Client side modding restrictions"
-msgstr "Mods de Cliente Local"
+msgstr "Restrição de modificação no lado do cliente"
#: src/settings_translation_file.cpp
msgid "Client side node lookup range restriction"
-msgstr ""
+msgstr "Restrição do alcançe da visão superior de nós no lado do cliente"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
@@ -2385,6 +2354,13 @@ 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 flags separadas por vírgula para esconder no repositório de "
+"conteúdos.\n"
+"\"não livre\" pode ser usada para esconder pacotes que não se qualificam "
+"como software livre, como definido pela fundação do software livre.\n"
+"Você também pode especificar classificação de conteúdo.\n"
+"Essas flags são independentes das versões do minetest, veja a lista completa "
+"em https://content.minetest.net/help/content_flags/"
#: src/settings_translation_file.cpp
msgid ""
@@ -2434,12 +2410,11 @@ msgstr "Tamanho vertical do console"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "Lista negra de flags do ContentDB"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "Continuar"
+msgstr "Url do ContentDB"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2450,21 +2425,27 @@ msgid ""
"Continuous forward movement, toggled by autoforward key.\n"
"Press the autoforward key again or the backwards movement to disable."
msgstr ""
+"Movimento para frente contínuo, ativado pela tela de avanço automático.\n"
+"Pressione a tecla de avanço frontal novamente, ou a tecla de movimento para "
+"trás para desabilitar."
#: src/settings_translation_file.cpp
msgid "Controls"
msgstr "Controles"
#: 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 ""
-"Controles da duração do dia.\n"
-"Exemplos: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = O tempo para e permanece "
-"inalterado."
+"Controla a duração do ciclo de dia/noite.\n"
+"Exemplos:\n"
+"72 = 20min, 360 = 4min, 1 = 24hour, 0 = Dia/noite permanece inalterado."
+
+#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
@@ -2475,13 +2456,12 @@ msgid "Controls steepness/height of hills."
msgstr "Controla o esparsamento/altura das colinas."
#: 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 ""
"Controla a densidade do terreno montanhoso nas ilhas flutuantes.\n"
-"É um parâmetro adicionado ao valor de ruído 'np_mountain'."
+"É um parâmetro adicionado ao valor de ruído 'mgv7_np_mountain'."
#: src/settings_translation_file.cpp
msgid "Controls width of tunnels, a smaller value creates wider tunnels."
@@ -2520,15 +2500,19 @@ msgid "Damage"
msgstr "Dano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Darkness sharpness"
-msgstr "Esparsamento de lagos no gerador de mundo plano"
+msgstr "Nitidez da escuridão"
#: src/settings_translation_file.cpp
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"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Nível de log do Debug"
@@ -2537,6 +2521,10 @@ msgid "Dec. volume key"
msgstr "Tecla de abaixar volume"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Passo do servidor dedicado"
@@ -2593,16 +2581,13 @@ msgid "Defines areas with sandy beaches."
msgstr "Define áreas com praias arenosas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain and steepness of cliffs."
msgstr ""
-"Define áreas de terrenos mais elevados (topo de penhasco) e afetam a "
-"inclinação de penhascos."
+"Define a distribuição de terrenos elevados e a inclinação de penhascos."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines distribution of higher terrain."
-msgstr "Define áreas de 'terrain_higher' (terreno de topo de penhasco)."
+msgstr "Define a distribuição de terrenos elevados."
#: src/settings_translation_file.cpp
msgid "Defines full size of caverns, smaller values create larger caverns."
@@ -2627,9 +2612,13 @@ msgstr ""
"Um valor mais alto resulta em mapas de normais mais suaves."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Defines the base ground level."
-msgstr "Define áreas de árvores e densidade das árvores."
+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."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
@@ -2638,6 +2627,16 @@ 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)."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Define áreas onde na árvores têm maçãs."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Define áreas de árvores e densidade das árvores."
@@ -2663,9 +2662,14 @@ msgid "Deprecated Lua API handling"
msgstr "Tratamento de API Lua rejeitada"
#: src/settings_translation_file.cpp
-#, fuzzy
+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 "Depth below which you'll find giant caverns."
-msgstr "Profundidade em que você encontrará cavernas enormes."
+msgstr "Profundidade em que você encontrará cavernas gigantes."
#: src/settings_translation_file.cpp
msgid "Depth below which you'll find large caves."
@@ -2684,9 +2688,10 @@ 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 new biome system is enabled, this is ignored."
+"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."
@@ -2724,17 +2729,21 @@ msgid "Drop item key"
msgstr "Tecla para largar item"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Dump the mapgen debug information."
msgstr "Mostrar informações de depuração do Gerador de mapa."
#: src/settings_translation_file.cpp
msgid "Dungeon maximum Y"
-msgstr ""
+msgstr "Y máximo da dungeon"
#: src/settings_translation_file.cpp
msgid "Dungeon minimum Y"
-msgstr ""
+msgstr "Y mínimo da dungeon"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Y mínimo da dungeon"
#: src/settings_translation_file.cpp
msgid ""
@@ -2757,14 +2766,12 @@ msgid "Enable creative mode for new created maps."
msgstr "Habilitar modo criativo para mundos novos."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable joysticks"
msgstr "Habilitar Joysticks"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Enable mod channels support."
-msgstr "Habilitar Mod Security (Segurança nos mods)"
+msgstr "Habilitar suporte a canais de módulos."
#: src/settings_translation_file.cpp
msgid "Enable mod security"
@@ -2780,13 +2787,15 @@ msgstr "Habilitar entrada de comandos aleatórios (apenas usado para testes)."
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Habilitar registro de confirmação"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Habilitar confirmação de registro quando conectar ao servidor.\n"
+"Caso desabilitado, uma nova conta será registrada automaticamente."
#: src/settings_translation_file.cpp
msgid ""
@@ -2831,15 +2840,11 @@ msgstr ""
"Por exemplo: 0 para não ver balançando; 1.0 para normal; 2.0 para duplo."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Enable/disable running an IPv6 server.\n"
"Ignored if bind_address is set."
msgstr ""
-"Habilitar/desabilitar a execução de um IPv6 do servidor. Um servidor com "
-"IPv6 pode \n"
-"ser restringido para clientes com IPv6, dependendo da configuração do "
-"sistema.\n"
+"Habilitar/desabilitar a execução de um IPv6 do servidor. \n"
"Ignorado se bind_address estiver definido."
#: src/settings_translation_file.cpp
@@ -2951,12 +2956,11 @@ msgid "Fast movement"
msgstr "Modo rápido"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Fast movement (via the \"special\" key).\n"
"This requires the \"fast\" privilege on the server."
msgstr ""
-"Movimento rápido (use a tecla).\n"
+"Movimento rápido (através da tecla \"especial\").\n"
"Isso requer o privilegio \"fast\" no servidor."
#: src/settings_translation_file.cpp
@@ -2968,19 +2972,17 @@ msgid "Field of view in degrees."
msgstr "Campo de visão em graus."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"File in client/serverlist/ that contains your favorite servers displayed in "
"the\n"
"Multiplayer Tab."
msgstr ""
"Arquivo na pasta client/serverlist/ que contém seus servidores favoritos, "
-"que são mostrados na aba Multiplayer."
+"que são mostrados na aba Multijogador."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Filler depth"
-msgstr "Profundidade de enchimento"
+msgstr "Profundidade de preenchimento"
#: src/settings_translation_file.cpp
msgid "Filler depth noise"
@@ -2991,7 +2993,6 @@ msgid "Filmic tone mapping"
msgstr "Filmic Tone Mapping"
#: 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"
@@ -3000,7 +3001,7 @@ msgid ""
msgstr ""
"Texturas filtradas podem misturar valores RGB com os vizinhos totalmente \n"
"transparentes, o qual otimizadores PNG geralmente descartam, por vezes \n"
-"resultando em um escuro ou luz para texturas transparentes.\n"
+"resultando em uma linha escura em texturas transparentes.\n"
"Aplicar esse filtro para limpar isso no tempo de carregamento da textura."
#: src/settings_translation_file.cpp
@@ -3008,12 +3009,11 @@ msgid "Filtering"
msgstr "Filtros"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of 4 2D noises that together define hill/mountain range height."
-msgstr "Primeiro de 2 ruídos 3D que juntos definem túneis."
+msgstr ""
+"Primeiro de 4 ruídos 2D que juntos definem a altura de colinas/montanhas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "First of two 3D noises that together define tunnels."
msgstr "Primeiro de 2 ruídos 3D que juntos definem túneis."
@@ -3023,7 +3023,7 @@ msgstr "Semente do mapa fixa"
#: src/settings_translation_file.cpp
msgid "Fixed virtual joystick"
-msgstr ""
+msgstr "Joystick virtual fixo"
#: src/settings_translation_file.cpp
msgid "Floatland base height noise"
@@ -3042,9 +3042,8 @@ msgid "Floatland mountain density"
msgstr "Densidade da Ilha Flutuante montanhosa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Floatland mountain exponent"
-msgstr "Densidade da Ilha Flutuante montanhosa"
+msgstr "Expoente de terras flutuantes montanhosas"
#: src/settings_translation_file.cpp
msgid "Floatland mountain height"
@@ -3063,7 +3062,6 @@ msgid "Fog"
msgstr "Névoa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fog start"
msgstr "Início da névoa"
@@ -3096,57 +3094,56 @@ msgid "Font size"
msgstr "Tamanho da fonte"
#: 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 "Format of screenshots."
msgstr "Formato das screenshots."
#: src/settings_translation_file.cpp
msgid "Formspec Default Background Color"
-msgstr ""
+msgstr "Cor de fundo padrão do formspec"
#: src/settings_translation_file.cpp
msgid "Formspec Default Background Opacity"
-msgstr ""
+msgstr "Opacidade de fundo padrão do formspec"
#: src/settings_translation_file.cpp
msgid "Formspec Full-Screen Background Color"
-msgstr ""
+msgstr "Cor de fundo em tela cheia do formspec"
#: src/settings_translation_file.cpp
msgid "Formspec Full-Screen Background Opacity"
-msgstr ""
+msgstr "Opacidade de fundo em tela cheia do formspec"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec default background color (R,G,B)."
-msgstr "Cor de fundo do Bate-papo no jogo (R,G,B)."
+msgstr "Cor de fundo(R,G,B) padrão do formspec padrão."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec default background opacity (between 0 and 255)."
-msgstr ""
-"Valor alfa do fundo do console do bate-papo no jogo (opacidade, entre 0 e "
-"255)."
+msgstr "Opacidade de fundo padrão do formspec (entre 0 e 255)."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec full-screen background color (R,G,B)."
-msgstr "Cor de fundo do Bate-papo no jogo (R,G,B)."
+msgstr "Cor de fundo(R,G,B) do formspec padrão em tela cheia."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Formspec full-screen background opacity (between 0 and 255)."
-msgstr ""
-"Valor alfa do fundo do console do bate-papo no jogo (opacidade, entre 0 e "
-"255)."
+msgstr "Opacidade de fundo do formspec em tela cheia (entre 0 e 255)."
#: src/settings_translation_file.cpp
msgid "Forward key"
msgstr "Tecla para frente"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
-msgstr "Primeiro de 2 ruídos 3D que juntos definem túneis."
+msgstr ""
+"Quarto de 4 ruídos 2D que juntos definem a altura de colinas/montanhas."
#: src/settings_translation_file.cpp
msgid "Fractal type"
@@ -3157,7 +3154,6 @@ msgid "Fraction of the visible distance at which fog starts to be rendered"
msgstr "Fração da distância visível em que a névoa começa a aparecer"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "FreeType fonts"
msgstr "Fontes Freetype"
@@ -3184,6 +3180,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 ""
+"De quão longe clientes sabem sobre objetos declarados em mapblocks (16 "
+"nós).\n"
+" Configurando isto maior do que o alcançe de bloco ativo vai fazer com que o "
+"sevidor mantenha objetos ativos na distancia que o jogador está olhando."
+"(Isso pode evitar que mobs desapareçam da visão de repente)"
#: src/settings_translation_file.cpp
msgid "Full screen"
@@ -3222,29 +3223,24 @@ msgid "Global callbacks"
msgstr "Chamadas de retorno Globais"
#: 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 ""
-"Atributos de geração de mapa.\n"
-"No Mapgen v6 a flag 'decorations' controla todas as decorações exceto "
-"árvores\n"
-"e grama do pântano, em todos os outros mapgens essa flag controla todas as "
-"decorações.\n"
-"Flags que não são especificadas na string da flag não são alteradas por "
-"padrão.\n"
-"Flags começando com \"no\" (não) são usada para explicitamente desabilitá-"
-"las."
+"Atributos de geração de mapa globais.\n"
+"No gerador de mapa v6 a flag 'decorations' controla todas as decorações "
+"exceto árvores\n"
+"e gramas da selva, em todos os outros geradores de mapa essa flag controla "
+"todas as decorações."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
-msgstr ""
+msgstr "Curva gradiente de iluminaçao no nível de luz maximo."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at minimum light level."
-msgstr ""
+msgstr "Curva gradiente de iluminação no nível de luz mínimo."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3259,14 +3255,12 @@ msgid "Ground level"
msgstr "Nível do terreno para o gerador de mundo plano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ground noise"
-msgstr "Ruído de Lama"
+msgstr "Ruído do solo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "HTTP mods"
-msgstr "Modúlos HTTP"
+msgstr "Módulos HTTP"
#: src/settings_translation_file.cpp
msgid "HUD scale factor"
@@ -3338,30 +3332,44 @@ msgid "Hill threshold"
msgstr "Threshold das colinas no gerador de mundo plano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness1 noise"
-msgstr "Ruído de declive"
+msgstr "Ruído de declive1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness2 noise"
-msgstr "Ruído de declive"
+msgstr "Ruído de declive2"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness3 noise"
-msgstr "Ruído de declive"
+msgstr "Ruído de declive3"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hilliness4 noise"
-msgstr "Ruído de declive"
+msgstr "Ruído de declive4"
#: src/settings_translation_file.cpp
msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Pagina principal do servidor, a ser exibido na lista de servidores."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Tecla de próximo item na barra principal"
@@ -3370,169 +3378,136 @@ msgid "Hotbar previous key"
msgstr "Tecla de item anterior na barra principal"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 1 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 1 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 10 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 10 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 11 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 11 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 12 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 12 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 13 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 13 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 14 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 14 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 15 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 15 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 16 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 16 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 17 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 17 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 18 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 18 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 19 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 19 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 2 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 2 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 20 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 20 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 21 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 21 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 22 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 22 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 23 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 23 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 24 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 24 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 25 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 25 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 26 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 26 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 27 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 27 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 28 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 29 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 29 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 29 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 3 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 3 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 30 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 30 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 31 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 31 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 32 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 32 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 4 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 4 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 5 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 5 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 6 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 6 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 7 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 7 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 8 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 8 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hotbar slot 9 key"
-msgstr "Tecla de próximo item na barra principal"
+msgstr "Tecla do slot 9 da hotbar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How deep to make rivers."
-msgstr "Quão profundo são os rios"
+msgstr "Quão profundo serão os rios."
#: src/settings_translation_file.cpp
msgid ""
@@ -3543,9 +3518,8 @@ msgstr ""
"Um valor mais elevado é mais suave, mas vai usar mais memória RAM."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How wide to make rivers."
-msgstr "Quão largos serão os rios"
+msgstr "Quão largos serão os rios."
#: src/settings_translation_file.cpp
msgid "Humidity blend noise"
@@ -3580,14 +3554,13 @@ msgstr ""
"para não gastar a potência da CPU desnecessariamente."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If disabled, \"special\" key is used to fly fast if both fly and fast mode "
"are\n"
"enabled."
msgstr ""
-"Se tecla \"usar\" estiver desabilitada então ela vai ser usada para voar "
-"rápido se modo de voar e rápido estiverem habilitados."
+"Se estiver desabilitado, a tecla \"especial será usada para voar rápido se "
+"modo voo e rápido estiverem habilitados."
#: src/settings_translation_file.cpp
msgid ""
@@ -3613,14 +3586,13 @@ msgstr ""
"Isso requer o privilégio \"noclip\" no servidor."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
"down and\n"
"descending."
msgstr ""
-"Se habilitado, tecla de \"usar\" em vez de \"esgueirar\" servirá para usada "
-"descer."
+"Se habilitado, a tecla \"especial\" em vez de \"esgueirar\" servirá para "
+"usada descer."
#: src/settings_translation_file.cpp
msgid ""
@@ -3647,6 +3619,8 @@ msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
+"Se habilitado, faz com que os movimentos sejam relativos ao pitch do jogador "
+"quando voando ou nadando."
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
@@ -3668,6 +3642,16 @@ msgid ""
"limited\n"
"to this distance from the player to the node."
msgstr ""
+"Se a restrição de CSM para alcançe de nós está habilitado, chamadas get_node "
+"são limitadas a está distancia do player até o nó."
+
+#: 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 "If this is set, players will always (re)spawn at the given position."
@@ -3704,6 +3688,10 @@ msgid "Inc. volume key"
msgstr "Tecla de aumentar volume"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -3784,6 +3772,11 @@ msgid ""
"increases processing load.\n"
"At iterations = 20 this mapgen has a similar load to mapgen V7."
msgstr ""
+"Iterações da função recursiva.\n"
+"Aumentando isso aumenta a quantidade de detalhes, mas também aumenta o tempo "
+"de processamento.\n"
+"Com iterações = 20, esse gerador de mapa tem um tempo de carregamento "
+"similar ao gerador V7."
#: src/settings_translation_file.cpp
msgid "Joystick ID"
@@ -3798,12 +3791,10 @@ msgid "Joystick frustum sensitivity"
msgstr "Sensibilidade do frustum do Joystick"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Joystick type"
msgstr "Tipo do Joystick"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Julia set only.\n"
"W component of hypercomplex constant.\n"
@@ -3811,46 +3802,45 @@ msgid ""
"Has no effect on 3D fractals.\n"
"Range roughly -2 to 2."
msgstr ""
-"Apenas para a configuração de Julia: Componente W da constante hipercomplexa "
-"determinando o formato julia.\n"
+"Apenas para a configuração de Julia.\n"
+"Componente W da constante hipercomplexa determinando o formato do fractal.\n"
"Não tem nenhum efeito em fractais 3D.\n"
-"Intervalo aproximadamente entre -2 e 2."
+"varia aproximadamente entre -2 e 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 ""
-"Apenas para conjunto de Julia: Componente X da constante hipercomplexa "
-"determinando o formato do conjunto.\n"
-"Intervalo aproximadamente entre -2 e 2."
+"Apenas para configuração de Julia.\n"
+"Componente X da constante hipercomplexa.\n"
+"Altera o formato do fractal.\n"
+"Varia aproximadamente entre -2 e 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 ""
-"Apenas para conjunto de Julia: Componente Y da constante hipercomplexa "
-"determinando o formato do conjunto.\n"
-"Intervalo aproximadamente entre -2 e 2."
+"Apenas para configuração de Julia.\n"
+"Componente Y da constante hipercomplexa.\n"
+"Varia aproximadamente entre -2 e 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 ""
-"Apenas para conjunto de Julia: Componente Z da constante hipercomplexa "
-"determinando o formato do conjunto.\n"
-"Intervalo rugoso entre -2 e 2."
+"Apenas para configuração de Julia.\n"
+"Componente Z da constante hipercomplexa.\n"
+"Altera o formato do fractal.\n"
+"Varia aproximadamente entre -2 e 2."
#: src/settings_translation_file.cpp
msgid "Julia w"
@@ -3947,7 +3937,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"
@@ -3955,6 +3944,7 @@ msgid ""
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
"Tecla para mover o jogador para trás.\n"
+"Também ira desabilitar o andar para frente automático quando ativo.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4039,288 +4029,262 @@ 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 ""
-"Tecla para abrir o inventário.\n"
+"Tecla para selecionar o 11th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 12th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 13th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 14th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 15th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 16th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 17th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 18th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 19th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 20th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 21st slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 22nd slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 23rd slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 24th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 25th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 26th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 27th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 28th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 29th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 30th slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 31st slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o 32nd slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o oitavo slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o quinto slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o primeiro slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o quarto slot do inventário.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4335,13 +4299,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 abrir o inventário.\n"
+"Tecla para selecionar o nono slot do inventário.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4356,57 +4319,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 abrir o inventário.\n"
+"Tecla para selecionar o segundo slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o sétimo slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o sexto slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o décimo slot do inventário.\n"
"Consulte 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 abrir o inventário.\n"
+"Tecla para selecionar o terceiro slot do inventário.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4445,13 +4403,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 ativar/desativar o modo auto acionamento.\n"
+"Tecla para ativar o modo avanço automático.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4506,13 +4463,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 alternar modo noclip.\n"
+"Tecla para ativar o modo pitch.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4528,13 +4484,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 ativar/desativar a exibição do bate-papo.\n"
+"Tecla para ativar a exibição do bate-papo.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4549,13 +4504,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 ativar/desativar a exibição da névoa.\n"
+"Tecla para ativar a exibição da névoa.\n"
"Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4612,7 +4566,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Kick players who sent more than X messages per 10 seconds."
-msgstr ""
+msgstr "Expulsar jogadores que enviaram mais de X mensagem por 10 segundos."
#: src/settings_translation_file.cpp
msgid "Lake steepness"
@@ -4635,9 +4589,8 @@ msgid "Large chat console key"
msgstr "Tecla do console"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Lava depth"
-msgstr "Profundidade de cavernas grandes"
+msgstr "Profundidade da lava"
#: src/settings_translation_file.cpp
msgid "Leaves style"
@@ -4660,17 +4613,15 @@ msgid "Left key"
msgstr "Tecla para a esquerda"
#: 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 ""
-"Comprimento de um tick de servidor e o intervalo no qual os objetos são "
+"Comprimento do tick do servidor e o intervalo no qual os objetos são "
"geralmente atualizados em rede."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between Active Block Modifier (ABM) execution cycles"
msgstr "Período de tempo entre os ciclos de execução de ABMs"
@@ -4679,9 +4630,8 @@ msgid "Length of time between NodeTimer execution cycles"
msgstr "Período de tempo entre ciclos de execução de NodeTimer"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Length of time between active block management cycles"
-msgstr "Tempo entre ciclos de gestão do bloco ativo"
+msgstr "Período de tempo entre os ciclos de gerenciamento de blocos"
#: src/settings_translation_file.cpp
msgid ""
@@ -4705,19 +4655,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Light curve mid boost"
-msgstr ""
+msgstr "Aumento leve da curva de luz"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost center"
-msgstr ""
+msgstr "Centro do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost spread"
-msgstr ""
+msgstr "Extensão do aumento leve da curva de luz"
#: src/settings_translation_file.cpp
msgid "Lightness sharpness"
-msgstr ""
+msgstr "Nitidez da iluminação"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4770,8 +4720,8 @@ msgstr "Tempo para limpar a lista de espera para a atualização de líquidos"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
-msgstr "Dissipação em liquido"
+msgid "Liquid sinking"
+msgstr "Velocidade do afundamento de liquido"
#: src/settings_translation_file.cpp
msgid "Liquid update interval in seconds."
@@ -4801,16 +4751,15 @@ msgstr "Carregado Block Modifiers"
#: src/settings_translation_file.cpp
msgid "Lower Y limit of dungeons."
-msgstr ""
+msgstr "Menor limite Y de dungeons."
#: src/settings_translation_file.cpp
msgid "Main menu script"
msgstr "Menu principal do script"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Main menu style"
-msgstr "Menu principal do script"
+msgstr "Estilo do menu principal"
#: src/settings_translation_file.cpp
msgid ""
@@ -4833,7 +4782,7 @@ msgstr "Diretório do mapa"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "Atributos de geração de mapa específicos ao gerador Carpathian."
#: src/settings_translation_file.cpp
msgid ""
@@ -4844,43 +4793,55 @@ msgid ""
"to become shallower and occasionally dry.\n"
"'altitude_dry': Reduces humidity with altitude."
msgstr ""
+"Atributos de geração de mapa específicos ao gerador Valleys.\n"
+"'altitude_chill':Reduz o calor com a altitude.\n"
+"'humid_rivers':Aumenta a umidade em volta dos rios.\n"
+"'profundidade_variada_rios': Se habilitado, baixa umidade e alto calor faz "
+"com que que rios se tornem mais rasos e eventualmente sumam.\n"
+"'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."
+
+#: 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 ""
"Atributos de geração de mapas específicos para o gerador de mundo plano.\n"
-"Lagos ocasionais e colinas podem ser adicionados ao mundo plano.\n"
-"Flags que não estão especificadas na string da flag não são modificadas por "
-"padrão.\n"
-"Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
+"Lagos e colinas ocasionalmente podem ser adicionados ao mundo plano."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+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 new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
-"Atributos para o gerador de mapas específico para o gerador de mundo v6.\n"
-"Quando biomas de neve estão habilitadas, selvas são automaticamente "
-"habilitadas, a flag 'jungles' é ignorada.\n"
-"Flags que não são especificadas na string da flag não são modificadas por "
-"padrão.\n"
-"Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
+"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."
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Atributos de geração de mapa específicos ao gerador V7.\n"
+"'ridges' habilitam os rios."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4899,7 +4860,6 @@ msgid "Mapblock mesh generation delay"
msgstr "Intervalo de geração de mapa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapblock mesh generator's MapBlock cache size in MB"
msgstr ""
"Tamanho em MB da memória cache de MapBlock para o gerador de Malha de "
@@ -4910,68 +4870,61 @@ msgid "Mapblock unload timeout"
msgstr "Tempo limite de descarregamento do mapblock"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian"
-msgstr "Gerador de mundo fractal"
+msgstr "Gerador de mundo Carpathian"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Carpathian specific flags"
-msgstr "Flags do gerador de mundo plano"
+msgstr "Flags específicas do gerador de mundo Carpathian"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat"
msgstr "Gerador de mundo plano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat specific flags"
-msgstr "Flags do gerador de mundo plano"
+msgstr "Flags específicas do gerador de mundo plano"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Fractal"
-msgstr "Gerador de mundo 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"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
-msgstr "Gerador de mundo v5"
+msgstr "Gerador de mundo V5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V5 specific flags"
-msgstr "Flags do gerador de mundo v5"
+msgstr "Flags específicas do gerador de mundo V5"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6"
-msgstr "Gerador de mundo v6"
+msgstr "Gerador de mundo V6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6 specific flags"
-msgstr "Flags do gerador de mundo v6"
+msgstr "Flags específicas do gerador de mundo V6"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7"
-msgstr "Gerador de mundo v7"
+msgstr "Gerador de mundo V7"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7 specific flags"
-msgstr "Flags do gerador de mundo v7"
+msgstr "Flags específicas do gerador de mundo V7"
#: src/settings_translation_file.cpp
msgid "Mapgen Valleys"
msgstr "Vales do Mapgen"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Valleys specific flags"
-msgstr "Flags do gerador de mundo plano"
+msgstr "Flags específicas do gerador de mundo Valleys"
#: src/settings_translation_file.cpp
msgid "Mapgen debug"
@@ -5023,10 +4976,19 @@ msgstr "Largura máxima da hotbar"
#: 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 ""
"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 ""
+"Número máximo de blocos que são enviados simultaneamente por cliente.\n"
+"O total máximo é calculado dinamicamente:\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."
@@ -5076,14 +5038,12 @@ msgstr ""
"cliente alvo."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum number of players that can be connected simultaneously."
msgstr "Número máximo de jogadores que podem se conectar simultaneamente."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Maximum number of recent chat messages to show"
-msgstr "Número máximo de chunks carregados forçadamente."
+msgstr "Número máximo de mensagens recentes mostradas"
#: src/settings_translation_file.cpp
msgid "Maximum number of statically stored objects in a block."
@@ -5107,13 +5067,15 @@ msgstr "Máximo de blocos enviados simultaneamente por cliente"
#: src/settings_translation_file.cpp
msgid "Maximum size of the out chat queue"
-msgstr ""
+msgstr "Tamanho máximo da fila do chat"
#: 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 ""
+"Tamanho máximo da fila do chat.\n"
+"0 para desabilitar a fila e -1 para a tornar ilimitada."
#: src/settings_translation_file.cpp
msgid "Maximum time in ms a file download (e.g. a mod download) may take."
@@ -5158,9 +5120,8 @@ msgid "Minimap scan height"
msgstr "Altura de escaneamento do minimapa"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Minimum texture size"
-msgstr "Tamanho mínimo da textura para filtros"
+msgstr "Tamanho mínimo da textura"
#: src/settings_translation_file.cpp
msgid "Mipmapping"
@@ -5168,7 +5129,7 @@ msgstr "Mipmapping (filtro)"
#: src/settings_translation_file.cpp
msgid "Mod channels"
-msgstr ""
+msgstr "Canais de mod"
#: src/settings_translation_file.cpp
msgid "Modifies the size of the hudbar elements."
@@ -5191,14 +5152,12 @@ msgid "Mountain noise"
msgstr "Ruído da montanha"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain variation noise"
-msgstr "Parâmetros ruido da altura de montagem do gerador de mundo v7"
+msgstr "Ruído de variação da montanha"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mountain zero level"
-msgstr "Ruído da montanha"
+msgstr "Nível zero da montanha"
#: src/settings_translation_file.cpp
msgid "Mouse sensitivity"
@@ -5226,17 +5185,22 @@ msgstr "Tecla de Emudecer"
#: src/settings_translation_file.cpp
msgid "Mute sound"
-msgstr ""
+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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"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."
#: src/settings_translation_file.cpp
msgid ""
@@ -5257,8 +5221,9 @@ msgstr ""
"servidores."
#: src/settings_translation_file.cpp
-msgid "Near plane"
-msgstr ""
+#, fuzzy
+msgid "Near clipping plane"
+msgstr "plano próximo"
#: src/settings_translation_file.cpp
msgid "Network"
@@ -5309,19 +5274,33 @@ 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"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'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á 'número de "
+"processadores - 2', com limite mínimo 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 desemepenho interferindo com outros "
+"processos, especialmente in singleplayer e/ou quando executando código lua "
+"em 'on_generated'.\n"
+"Para muitos usuários a opção mais recomendada é 1."
#: src/settings_translation_file.cpp
msgid ""
@@ -5340,7 +5319,7 @@ msgstr "Número de iterações de oclusão de paralaxe."
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Repositório de conteúdo online"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5352,6 +5331,8 @@ msgid ""
"formspec is\n"
"open."
msgstr ""
+"Abre o menu de pausa quando o foco da janela é perdido.Não pausa se um "
+"formspec está aberto."
#: src/settings_translation_file.cpp
msgid "Overall bias of parallax occlusion effect, usually scale/2."
@@ -5378,7 +5359,6 @@ msgid "Parallax occlusion mode"
msgstr "Modo de oclusão de paralaxe"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Parallax occlusion scale"
msgstr "Escala de Oclusão de paralaxe"
@@ -5410,20 +5390,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Pause on lost window focus"
-msgstr ""
+msgstr "Pausa quando o foco da janela é perdido"
#: src/settings_translation_file.cpp
msgid "Physics"
msgstr "Física"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move key"
-msgstr "Tecla de voar"
+msgstr "Tecla de movimento pitch"
#: src/settings_translation_file.cpp
msgid "Pitch move mode"
-msgstr ""
+msgstr "Modo movimento pitch"
#: src/settings_translation_file.cpp
msgid ""
@@ -5442,9 +5421,8 @@ msgid "Player transfer distance"
msgstr "Distância de transferência do jogador"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Player versus player"
-msgstr "Jogador contra Jogador"
+msgstr "Jogador contra jogador"
#: src/settings_translation_file.cpp
msgid ""
@@ -5459,6 +5437,9 @@ 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 ""
+"Evita remoção e colocação de blocos repetidos quando os botoes do mouse são "
+"segurados.\n"
+"Habilite isto quando você cava ou coloca blocos constantemente por acidente."
#: src/settings_translation_file.cpp
msgid "Prevent mods from doing insecure things like running shell commands."
@@ -5466,12 +5447,11 @@ msgstr ""
"Impede que mods façam coisas inseguras como executar comandos do shell."
#: 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 ""
-"Intervalo de impressão de dados do analizador (em segundos). 0 = "
+"Intervalo de impressão de dados do analisador (em segundos). 0 = "
"desabilitado. Útil para desenvolvedores."
#: src/settings_translation_file.cpp
@@ -5491,10 +5471,6 @@ msgid "Profiling"
msgstr "Analizando"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5505,9 +5481,8 @@ msgstr ""
"área de nuvem."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Raises terrain to make valleys around the rivers."
-msgstr "Eleva o terreno para fazer vales em torno dos rios"
+msgstr "Eleva o terreno para fazer vales em torno dos rios."
#: src/settings_translation_file.cpp
msgid "Random input"
@@ -5519,7 +5494,7 @@ msgstr "Tecla para modo de visão ilimitado"
#: src/settings_translation_file.cpp
msgid "Recent Chat Messages"
-msgstr ""
+msgstr "Mensagens de chat recentes"
#: src/settings_translation_file.cpp
msgid "Remote media"
@@ -5534,6 +5509,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 ""
+"Remove códigos de cor de futuras mensagens do chat.\n"
+"Use isto para impedir que jogadores usem cor em suas mensagens"
#: src/settings_translation_file.cpp
msgid "Replaces the default main menu with a custom one."
@@ -5556,11 +5533,22 @@ msgid ""
"csm_restriction_noderange)\n"
"READ_PLAYERINFO: 32 (disable get_player_names call client-side)"
msgstr ""
+"Restringe o acesso de certas funções a nível de cliente em servidores.\n"
+"Combine os byflags abaixo par restringir recursos de nível de cliente, ou "
+"coloque 0 para nenhuma restrição:\n"
+"LOAD_CLIENT_MODS: 1 (desabilita o carregamento de mods de cliente)\n"
+"CHAT_MESSAGES: 2 (desabilita a chamada send_chat_message no lado do "
+"cliente)\n"
+"READ_ITEMDEFS: 4 (desabilita a chamada get_item_def no lado do cliente)\n"
+"READ_NODEDEFS: 8 (desabilita a chamada get_node_def no lado do cliente)\n"
+"LOOKUP_NODES_LIMIT: 16 (limita a chamada get_node no lado do cliente para "
+"csm_restriction_noderange)\n"
+"READ_PLAYERINFO: 32 (desabilita a chamada get_player_names no lado do "
+"cliente)"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridge mountain spread noise"
-msgstr "Ruído Subaquático"
+msgstr "Ruído de extensão do cume de montanhas"
#: src/settings_translation_file.cpp
msgid "Ridge noise"
@@ -5571,9 +5559,8 @@ msgid "Ridge underwater noise"
msgstr "Ruído Subaquático"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ridged mountain size noise"
-msgstr "Ruído Subaquático"
+msgstr "Ruído do tamanho de montanhas acidentadas"
#: src/settings_translation_file.cpp
msgid "Right key"
@@ -5585,30 +5572,42 @@ msgstr "Intervalo de repetição do clique direito"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "River depth"
+msgid "River channel depth"
msgstr "Profundidade do Rio"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel width"
+msgstr "Profundidade do Rio"
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr "Profundidade do Rio"
+
+#: src/settings_translation_file.cpp
msgid "River noise"
msgstr "Ruido do Rio"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "River size"
msgstr "Tamanho do Rio"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Profundidade do Rio"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Gravação de reversão"
#: src/settings_translation_file.cpp
msgid "Rolling hill size noise"
-msgstr ""
+msgstr "Tamanho do ruído de colinas rolantes"
#: src/settings_translation_file.cpp
msgid "Rolling hills spread noise"
-msgstr ""
+msgstr "Extensão do ruído de colinas rolantes"
#: src/settings_translation_file.cpp
msgid "Round minimap"
@@ -5616,7 +5615,7 @@ msgstr "Minimapa redondo"
#: src/settings_translation_file.cpp
msgid "Safe digging and placing"
-msgstr ""
+msgstr "Remoção e colocação segura"
#: src/settings_translation_file.cpp
msgid "Sandy beaches occur when np_beach exceeds this value."
@@ -5628,14 +5627,13 @@ msgstr "Salvar o mapa recebido pelo cliente no disco."
#: src/settings_translation_file.cpp
msgid "Save window size automatically when modified."
-msgstr ""
+msgstr "Salve automaticamente o tamanho da janela quando modificado."
#: src/settings_translation_file.cpp
msgid "Saving map received from server"
msgstr "Salvado mapa recebido do servidor"
#: 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"
@@ -5684,21 +5682,19 @@ msgid "Seabed noise"
msgstr "Ruído nas cavernas #1"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of 4 2D noises that together define hill/mountain range height."
-msgstr "Segundo dos 2 ruídos 3D que juntos definem túneis."
+msgstr ""
+"Segundo de 4 ruídos 2D que juntos definem a altura de colinas/montanhas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Second of two 3D noises that together define tunnels."
-msgstr "Segundo dos 2 ruídos 3D que juntos definem túneis."
+msgstr "Segundo de 2 ruídos 3D que juntos definem tunéis."
#: src/settings_translation_file.cpp
msgid "Security"
msgstr "Segurança"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
msgstr "Consulte http://www.sqlite.org/pragma.html#pragma_synchronous"
@@ -5715,7 +5711,6 @@ msgid "Selection box width"
msgstr "Largura da caixa de seleção"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Selects one of 18 fractal types.\n"
"1 = 4D \"Roundy\" mandelbrot set.\n"
@@ -5737,7 +5732,7 @@ msgid ""
"17 = 4D \"Mandelbulb\" mandelbrot set.\n"
"18 = 4D \"Mandelbulb\" julia set."
msgstr ""
-"Escolha entre 18 fractais com 9 fórmulas\n"
+"Escolha um dos 18 tipos de fractais.\n"
"1 = Conjunto de mandelbrot \"Roundy\" 4D.\n"
"2 = Conjunto de julia \"Roundy\" 4D.\n"
"3 = Conjunto de mandelbrot \"Squarry\" 4D.\n"
@@ -5804,6 +5799,8 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Set the maximum character length of a chat message sent by clients."
msgstr ""
+"Configura o tamanho máximo de caracteres de uma mensagem enviada por "
+"clientes."
#: src/settings_translation_file.cpp
msgid ""
@@ -5834,7 +5831,6 @@ msgid "Shader path"
msgstr "Sombreadores"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Shaders allow advanced visual effects and may increase performance on some "
"video\n"
@@ -5843,7 +5839,7 @@ msgid ""
msgstr ""
"Sombreadores permitem efeitos visuais avançados e podem aumentar a "
"performance em algumas placas de vídeo.\n"
-"Só funcionam com o backend de vídeo OpenGL."
+"Só funcionam com o modo de vídeo OpenGL."
#: src/settings_translation_file.cpp
msgid "Shadow limit"
@@ -5874,6 +5870,11 @@ msgid ""
"Altering this value is for special usage, leaving it unchanged is\n"
"recommended."
msgstr ""
+"Tamanho dos mapchunks gerados pelo gerador de mapa, em mapblocks(16 nós).\n"
+"ALERTA!: Não há benefício e existem diversos perigos em aumentar este valor "
+"acima de 5.\n"
+"Reduzir este valor aumenta a densidade de dungeons e cavernas.\n"
+"Alterar este valor é para uso especial, é recomendado deixar inalterado."
#: src/settings_translation_file.cpp
msgid ""
@@ -5890,9 +5891,8 @@ msgid "Slice w"
msgstr "Fatia w"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Slope and fill work together to modify the heights."
-msgstr "Inclinação e preenchimento trabalham juntos para modificar as alturas"
+msgstr "Inclinação e preenchimento trabalham juntos para modificar as alturas."
#: src/settings_translation_file.cpp
msgid "Small-scale humidity variation for blending biomes on borders."
@@ -5930,23 +5930,24 @@ msgid "Sneak key"
msgstr "Esgueirar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Sneaking speed"
-msgstr "Velocidade de caminhada"
+msgstr "Velocidade da furtividade"
+
+#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Som"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key"
-msgstr "Esgueirar"
+msgstr "Tecla especial"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key for climbing/descending"
-msgstr "Tecla usada para descer/esgueirar"
+msgstr "Tecla especial pra escalar/descer"
#: src/settings_translation_file.cpp
msgid ""
@@ -5966,6 +5967,8 @@ msgid ""
"Spread of light curve mid-boost.\n"
"Standard deviation of the mid-boost gaussian."
msgstr ""
+"Extensão do aumento médio da curva da luz.\n"
+"Desvio padrão do aumento médio gaussiano."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -5976,14 +5979,12 @@ msgid "Steepness noise"
msgstr "Ruído de declive"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Step mountain size noise"
-msgstr "Ruído da montanha"
+msgstr "Tamanho do ruído da montanha de passo"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Step mountain spread noise"
-msgstr "Ruído da montanha"
+msgstr "Extensão do ruído da montanha de passo"
#: src/settings_translation_file.cpp
msgid "Strength of generated normalmaps."
@@ -5991,7 +5992,7 @@ msgstr "Intensidade de normalmaps gerados."
#: src/settings_translation_file.cpp
msgid "Strength of light curve mid-boost."
-msgstr ""
+msgstr "Força do aumento médio da curva de luz."
#: src/settings_translation_file.cpp
msgid "Strength of parallax."
@@ -6003,7 +6004,7 @@ msgstr "Verificação rígida de protocolo"
#: src/settings_translation_file.cpp
msgid "Strip color codes"
-msgstr ""
+msgstr "Códigos de faixa de cor"
#: src/settings_translation_file.cpp
msgid "Synchronous SQLite"
@@ -6014,16 +6015,14 @@ msgid "Temperature variation for biomes."
msgstr "Variação de temperatura para biomas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Terrain alternative noise"
-msgstr "Ruído de alteração do terreno"
+msgstr "Ruído alternativo do terreno"
#: src/settings_translation_file.cpp
msgid "Terrain base noise"
msgstr "Altura do terreno"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Terrain height"
msgstr "Altura do terreno"
@@ -6072,10 +6071,17 @@ msgid ""
"this option allows enforcing it for certain node types. Note though that\n"
"that is considered EXPERIMENTAL and may not work properly."
msgstr ""
+"Texturas em um nó podem ser alinhadas ao próprio nó ou ao mundo.\n"
+"O modo antigo serve melhor para coisas como maquinas, móveis, etc, enquanto "
+"o novo faz com que escadas e microblocos encaixem melhor a sua volta.\n"
+"Entretanto, como essa é uma possibilidade nova, não deve ser usada em "
+"servidores antigos, essa opção pode ser forçada para certos tipos de nós. "
+"Note que esta opção é considerada EXPERIMENTAL e pode não funcionar "
+"adequadamente."
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "A url para o repositório de conteúdo"
#: src/settings_translation_file.cpp
msgid ""
@@ -6086,9 +6092,8 @@ msgstr ""
"Quando chamado `/profiler save [formato]` sem formato."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "The depth of dirt or other biome filler node."
-msgstr "A profundidade de terra ou outro enchimento"
+msgstr "A profundidade do preenchimento de terra ou outro enchimento de bioma."
#: src/settings_translation_file.cpp
msgid ""
@@ -6104,6 +6109,7 @@ msgstr "O identificador do joystick para usar"
#: src/settings_translation_file.cpp
msgid "The length in pixels it takes for touch screen interaction to start."
msgstr ""
+"A largura em pixels necessária para interação de tela de toque começar."
#: src/settings_translation_file.cpp
msgid "The network interface that the server listens on."
@@ -6128,6 +6134,11 @@ msgid ""
"maintained.\n"
"This should be configured together with active_object_range."
msgstr ""
+"O raio do volume de blocos em volta de cada jogador que é sujeito a coisas "
+"de bloco ativo, em mapblocks (16 nós).\n"
+"Em blocos ativos, objetos são carregados e ABMs executam.\n"
+"Isto é também o alcançe mínimo em que objetos ativos(mobs) são mantidos.\n"
+"Isto deve ser configurado junto com o alcance_objeto_ativo."
#: src/settings_translation_file.cpp
msgid ""
@@ -6138,6 +6149,12 @@ msgid ""
"On other platforms, OpenGL is recommended, and it’s the only driver with\n"
"shader support currently."
msgstr ""
+"Renderizador de fundo para o irrlight.\n"
+"Uma reinicialização é necessária após alterar isso.\n"
+"Note: no android, use o OGLES1 caso em dúvida! O aplicativo pode falhar ao "
+"abrir em outro caso.\n"
+"Em outras plataformas, OpenGL é recomendo, e é o único driver com suporte a "
+"sombreamento atualmente."
#: src/settings_translation_file.cpp
msgid ""
@@ -6181,7 +6198,6 @@ msgstr ""
"quando pressionando uma combinação de botão no joystick."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"The time in seconds it takes between repeated right clicks when holding the "
"right\n"
@@ -6200,11 +6216,14 @@ msgid ""
"enabled. Also the vertical distance over which humidity drops by 10 if\n"
"'altitude_dry' is enabled."
msgstr ""
+"A distancia vertical onde o calor cai por 20 caso 'altitude_chill' esteja "
+"habilitado. Também é a distancia vertical onde a umidade cai por 10 se "
+"'altitude_dry' estiver habilitado."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Third of 4 2D noises that together define hill/mountain range height."
-msgstr "Primeiro de 2 ruídos 3D que juntos definem túneis."
+msgstr ""
+"Terceiro de 4 ruídos 2D que juntos definem a altura de colinas/montanhas."
#: src/settings_translation_file.cpp
msgid "This font will be used for certain languages."
@@ -6220,7 +6239,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Time of day when a new world is started, in millihours (0-23999)."
-msgstr ""
+msgstr "Hora do dia quando um novo mundo é iniciado, em milihoras (0-23999)."
#: src/settings_translation_file.cpp
msgid "Time send interval"
@@ -6257,9 +6276,8 @@ msgid "Tooltip delay"
msgstr "Atraso de dica de ferramenta"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Touch screen threshold"
-msgstr "Limitar o barulho da praia"
+msgstr "Limiar a tela de toque"
#: src/settings_translation_file.cpp
msgid "Trees noise"
@@ -6284,7 +6302,6 @@ msgid "Trusted mods"
msgstr "Modulos confiáveis"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Typical maximum height, above and below midpoint, of floatland mountains."
msgstr ""
@@ -6300,11 +6317,13 @@ msgid "Undersampling"
msgstr "Subamostragem"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"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 "
@@ -6321,7 +6340,7 @@ msgstr "Descarregar os dados do servidor não utilizados"
#: src/settings_translation_file.cpp
msgid "Upper Y limit of dungeons."
-msgstr ""
+msgstr "Limite topo Y de dungeons."
#: src/settings_translation_file.cpp
msgid "Use 3D cloud look instead of flat."
@@ -6345,6 +6364,10 @@ msgid ""
"especially when using a high resolution texture pack.\n"
"Gamma correct downscaling is not supported."
msgstr ""
+"Usar mip mapping para escalar texturas. Pode aumentar a performance "
+"levemente, especialmente quando usando um pacote de texturas em alta "
+"resolução.\n"
+"O downscaling correto de gama não é suportado."
#: src/settings_translation_file.cpp
msgid "Use trilinear filtering when scaling textures."
@@ -6355,27 +6378,22 @@ msgid "VBO"
msgstr "VBO"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "VSync"
msgstr "Sincronização Vertical"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley depth"
msgstr "Profundidade do vale"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley fill"
msgstr "Preenchimento do vale"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley profile"
msgstr "Perfil do vale"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Valley slope"
msgstr "Encosta do vale"
@@ -6423,6 +6441,10 @@ msgid "Varies steepness of cliffs."
msgstr "Controla o esparsamento/altura das colinas."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Sincronização vertical da tela."
@@ -6458,14 +6480,13 @@ msgstr "Intervalo de visualização"
#: src/settings_translation_file.cpp
msgid "Virtual joystick triggers aux button"
-msgstr ""
+msgstr "Joystick virtual ativa botão auxiliar"
#: src/settings_translation_file.cpp
msgid "Volume"
msgstr "Volume do som"
#: 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"
@@ -6476,13 +6497,21 @@ msgstr ""
"Coordenada W da fatia 3D gerada de um fractal 4D.\n"
"Determina qual fatia 3D da forma 4D é gerada.\n"
"Não tem efeito sobre fractais 3D.\n"
-"Intervalo de aproximadamente -2 a 2."
+"Varia aproximadamente de -2 a 2."
+
+#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Velocidade de caminhada"
#: 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"
msgstr "Nível de água"
@@ -6507,16 +6536,19 @@ msgid "Waving water"
msgstr "Balanço da água"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Altura de balanço da água"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Comprimento de balanço da água"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Velocidade de balanço da água"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Velocidade de balanço da água"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Comprimento de balanço da água"
#: src/settings_translation_file.cpp
msgid ""
@@ -6541,7 +6573,6 @@ msgstr ""
"vídeo que não suportem propriedades baixas de texturas voltam do hardware."
#: 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"
@@ -6559,13 +6590,14 @@ msgstr ""
"interpolação\n"
"de nearest-neighbor para preservar os pixels nítidos. Isto define o tamanho\n"
"mínimo da textura para as texturas melhoradas; valores mais altos parecem\n"
-"mais nítidas, mas requerem mais memória. Poências de 2 são recomendadas.\n"
-"Essa configuração superior a 1 não pode ter um efeito visível, a menos que "
+"mais nítidos, mas requerem mais memória. Potências de 2 são recomendadas.\n"
+"Essa configuração superior a 1 pode não ter um efeito visível, a menos que "
"a \n"
-"filtragem bilineares/trilinear/anisotrópica estejam habilitadas."
+"filtragem bilineares/trilinear/anisotrópica estejam habilitadas.\n"
+"Isso também é usado como tamanho base da textura para autoescalamento de "
+"texturas."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Whether FreeType fonts are used, requires FreeType support to be compiled in."
msgstr ""
@@ -6573,10 +6605,6 @@ msgstr ""
"compilado."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
"Se as animações de textura do nodes devem ser dessincronizadas por mapblock."
@@ -6620,7 +6648,6 @@ msgid "Width component of the initial window size."
msgstr "Largura da janela inicial."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Width of the selection box lines around nodes."
msgstr "Largura das linhas do bloco de seleção em torno de nodes."
@@ -6643,9 +6670,8 @@ msgstr ""
"Não é necessário se for iniciado a partir do menu principal."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "World start time"
-msgstr "Nome do mundo"
+msgstr "Horário inicial do mundo"
#: src/settings_translation_file.cpp
msgid ""
@@ -6656,10 +6682,16 @@ msgid ""
"See also texture_min_size.\n"
"Warning: This option is EXPERIMENTAL!"
msgstr ""
+"Texturas alinhadas ao mundo podem ser escaladas em vários nós. Entretando, o "
+"servidor pode não enviar a escala desejada, especialmente se você usa um "
+"pacote de textura especialmente projetado; com está opção, o cliente tenta "
+"determinar a escala automaticamente baseado no tamanho da textura. Veja "
+"também texture_min_size.\n"
+"Alerta: Esta opção é EXPERIMENTAL!"
#: src/settings_translation_file.cpp
msgid "World-aligned textures mode"
-msgstr ""
+msgstr "Modo de texturas alinhadas ao mundo"
#: src/settings_translation_file.cpp
msgid "Y of flat ground."
@@ -6670,16 +6702,12 @@ msgid ""
"Y of mountain density gradient zero level. Used to shift mountains "
"vertically."
msgstr ""
+"Y da densidade gradiente zero de montanhas. Usado para deslocar montanhas "
+"verticalmente."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y of upper limit of large caves."
-msgstr "Y de limite superior de grandes números pseudoaleatórios de cavernas."
-
-#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "Y de limite superior de grandes números pseudoaleatórios de cavernas."
+msgstr "Limite Y máximo de grandes cavernas."
#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
@@ -6700,14 +6728,12 @@ msgstr ""
"Nível em Y do ponto médio da montanha flutuante e da superfície do lago."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of higher terrain that creates cliffs."
-msgstr "Nível Y de terreno inferior e leitos de lago."
+msgstr "Nível Y de terreno que cria penhascos."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Y-level of lower terrain and seabed."
-msgstr "Nível Y de terreno inferior e leitos de lago."
+msgstr "Nível Y de terreno inferior e solo oceânico."
#: src/settings_translation_file.cpp
msgid "Y-level of seabed."
@@ -6729,954 +6755,20 @@ msgstr "limite paralelo de cURL"
msgid "cURL timeout"
msgstr "Tempo limite de cURL"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Fechar loja"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Número de seguimentos de emersão para usar. Deixe esse campo em branco, "
-#~ "ou aumente esse número\n"
-#~ "para usar vários segmentos. Em sistemas multiprocessadores, isto irá "
-#~ "melhorar muito a velocidade do mapgen\n"
-#~ "à custa de uns poucos bugs nas cavernas."
-
-#~ msgid "Disable MP"
-#~ msgstr "Desabilitar PM"
-
-#~ msgid "Enable MP"
-#~ msgstr "Habilitar MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr ""
-#~ "Não foi fornecido nenhum nome para o mundo ou não foi selecionado nenhum "
-#~ "jogo"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" não é uma flag válida."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr ""
-#~ "O formato é de 3 números separados por vírgulas dentro de colchetes."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Formato: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Opcionalmente essas lacunas podem ser colocados com a vírgula na frente."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Por favor, digite uma lista de flags separadas por vírgulas."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Valores possíveis são: "
-
-#~ msgid "Select path"
-#~ msgstr "Selecionar diretório"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Mods do subgame"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Página $1 de $2"
-
-#~ msgid "Rating"
-#~ msgstr "Classificação"
-
-#~ msgid "Shortname:"
-#~ msgstr "Nome curto:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Instalado com sucesso:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Sem categoria"
-
-#~ msgid "re-Install"
-#~ msgstr "reinstalar"
-
-#~ msgid "Local Game"
-#~ msgstr "Jogo Local"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Desinstalar o modpack selecionado"
-
-#~ msgid "Play Online"
-#~ msgstr "Jogar Online"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Mapeamento de Normais"
-
-#~ msgid "No information available"
-#~ msgstr "Nenhuma informação disponível"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Volume mudado para 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Volume mudado para 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Impr. pilha (log)"
-
-#~ msgid "Use"
-#~ msgstr "Usar"
-
-#~ msgid "Next"
-#~ msgstr "Próximo"
-
-#~ msgid "Prior"
-#~ msgstr "Page Up"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Intervalo do \"Active Block Modifier\" (ABMs)"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Apenas sistemas Android: tenta criar texturas de inventário a partir de "
-#~ "malhas\n"
-#~ "quando nenhum arquivo suportado foi encontrado."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Anunciar a esta lista de servidores.\n"
-#~ "Se você quiser anunciar seu endereço IPv6, use serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Aproxima os valores (X, Y, Z) de escala do fractal em blocos."
-
-#~ msgid "Autorun key"
-#~ msgstr "Chave de execução automática"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr ""
-#~ "Formação de cavernas e túneis na interseção entre dois barulhos diferentes"
-
-#~ msgid "Cloud height"
-#~ msgstr "Altura das nuvens"
-
-#~ msgid "Console key"
-#~ msgstr "Tecla do console"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Movimento contínuo para frente (apenas usado para testes)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Cria poços de lava randômicos nas cavernas,\n"
-#~ "Isso pode dificultar a mineração. Zero desabilita isso. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Cria poços de água randômicos nas cavernas,\n"
-#~ "Isso pode dificultar a mineração. Zero desabilita isso. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Velocidade de agachamento"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Profundidade em que você encontrará cavernas enormes."
-
-#~ msgid "Descending speed"
-#~ msgstr "Velocidade de descida"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Desabilitar as seqüências de escape"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Desabilitar as sequências de escape, por exemplo, colorimento de bate-"
-#~ "papo.\n"
-#~ "Use isto se você quiser executar um servidor com clientes pre-0.4.14 e "
-#~ "para desabilitar as sequências de escape geradas por modificadores."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Visualização de balanço"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Habilita balanço de visão enquanto andar."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Campo de visão para o zoom"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Campo de visão em durante o zoom em graus\n"
-#~ "Isso requer o privilegio \"zoom\" no servidor."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "De quão longe os clientes sabem sobre objetos, indicado em chunks (16 "
-#~ "blocos)."
-
-#~ msgid "General"
-#~ msgstr "Geral"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Altura em que as nuvens ficam aparecendo."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Quão grande área de blocos estão sujeitos ao material do bloco ativo, "
-#~ "indicado em mapblocks (16 nós).\n"
-#~ "Em blocos ativos objetos são carregados e ABMs são executadas."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "Mensagem do dia exibida aos jogadores ao conectar."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Inventário"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Iterações da função recursiva.\n"
-#~ "Controles da escala de detalhes."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tecla para abrir o console do bate-papo.\n"
-#~ "Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tecla para imprimir pilhas de depuração. Usado para o desenvolvimento.\n"
-#~ "Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Coisas relacionadas a Lava"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Menu principal gestor de games"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Menu principal gestor de mods"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos para o gerador de mapas específico para o gerador de mundo "
-#~ "Valleys.\n"
-#~ "'altitude_chill' faz elevações mais altas mais geladas, o que pode causar "
-#~ "problemas em biomas.\n"
-#~ "'humid_rivers' modifica a humidade ao redor de rios e em ares que a água "
-#~ "tende a virar poças,\n"
-#~ "Isto pode interferir como os biomas são delicadamente ajustados\n"
-#~ "Flags que não são especificadas na linha da flag não são modificadas por "
-#~ "padrão.\n"
-#~ "Flags começando com \"no\" (não) são usadas para desabilitá-las "
-#~ "explicitamente."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos de geração de mapas específicos para o gerador de mundo v7.\n"
-#~ "A flag 'ridges' controla os rios.\n"
-#~ "Flags que não estão especificadas na string da flag não são modificadas "
-#~ "por padrão.\n"
-#~ "Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Profundidade de caverna enorme"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Ruido de caverna enorme"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Forma de cavernas enormes aqui."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr ""
-#~ "Número máximo de jogadores que podem se conectar simultaneamente no total."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr ""
-#~ "Número máximo de blocos que podem ser simultaneamente enviados por "
-#~ "cliente."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Máximo de blocos totais enviados simultaneamente"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "URL de detalhes da Modstore"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "URL de download da Modstore"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "URL da lista de modificadores da Modstore"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Nome do gerador de mapa a ser usado ao criar um novo mundo.\n"
-#~ "Criação de um mundo no menu principal irá substituir isso."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Ruido do rio -- rios ocorrem perto de zero"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Tamanho das parcelas a ser gerada de uma vez pelo mapgen, definido em "
-#~ "mapblocks (16 nodes)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Suporte a servidores mais antigos"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "A altitude na qual temperatura cai para 20C"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "A rederização back-end para Irrlicht."
-
-#~ msgid "Use key"
-#~ msgstr "press. uma tecla"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Use mapeamento MIP para texturas de escala. Pode aumentar ligeiramente o "
-#~ "desempenho."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Flags C de vales"
-
-#~ msgid "Water Features"
-#~ msgstr "Coisas relacionadas a Ãgua"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Se vai suportar os servidores mais antigos antes da versão de protocolo "
-#~ "25.\n"
-#~ "Habilite se você deseja se conectar a servidores anteriores a 0.4.12.\n"
-#~ "Servidores começando com 0.4.13 vão funcionar, servidores 0.4.12-dev "
-#~ "podem ou não funcionar.\n"
-#~ "Desabilitar esta opção irá proteger sua senha melhor."
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Nível Y de terreno mais alto (no topo da penhasco)."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Ocultar conteúdo PMs"
-
-#~ msgid "Attn"
-#~ msgstr "ATTN"
-
-#~ msgid "Capital"
-#~ msgstr "Caps Lock"
-
-#~ msgid "Comma"
-#~ msgstr "Vírgula"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel (tecla)"
+#~ msgid "Projecting dungeons"
+#~ msgstr "Projetando dungeons"
-#~ msgid "ExSel"
-#~ msgstr "ExSel (tecla)"
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "Se dungeons ocasionalmente se projetam do terreno."
-#~ msgid "Final"
-#~ msgstr "Final (tecla)"
+#~ msgid "Waving Water"
+#~ msgstr "Ondas na água"
-#~ msgid "Junja"
-#~ msgstr "Junja (tecla)"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Limite Y máximo de lava em grandes cavernas."
-#~ msgid "Kana"
-#~ msgstr "Kana (tecla)"
+#~ msgid "Select Package File:"
+#~ msgstr "Selecionar o arquivo do pacote:"
-#~ msgid "Kanji"
-#~ msgstr "Kanji (tecla)"
-
-#~ msgid "Minus"
-#~ msgstr "Menos"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Ponto"
-
-#~ msgid "Plus"
-#~ msgstr "Mais"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Controla o tamanho dos desertos e das praias no Mapgen v6.\n"
-#~ "Quando \"snowbiomes\" (bioma de neve) está habilitado 'mgv6_freq_desert' "
-#~ "é ignorado."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Determina a forma do terreno\n"
-#~ "Os 3 números entre '[' e ']' controla a escala do\n"
-#~ "terreno, os 3 números devem ser idênticos."
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Parâmetros de ruído para o calor nos biomas"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Parâmetros de ruído de mistura de umidades nos biomas"
-
-#~ msgid "Mapgen biome humidity noise parameters"
-#~ msgstr "Parâmetros de ruído para umidade nos biomas"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Largura das cavernas no gerador de mundo plano"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "Parâmetros de ruido \"cave 1\" do gerador de mundo plano"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "Parâmetros de ruido \"cave2\" do gerador de mundo plano"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr ""
-#~ "Parâmetros de ruído da profundidade de preenchimento plano do gerador de "
-#~ "mundo plano"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Largura das cavernas grandes no gerador de mundo plano"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Parâmetros de ruido de terreno do gerador de mundo plano"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Largura das cavernas do gerador de mundo fractal"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Parâmetros de ruido \"cave1\" do gerador de mundo fractal"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Parâmetro de ruido do fractal do cave2 do gerador de mundo"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr ""
-#~ "Parâmetros de ruido da profundidade de preenchimento do gerador de mundo "
-#~ "fractal"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Fractal do gerador de mundo fractal"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Iterações gerador de mundo fractal"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "Componente W do gerador de mundo fractal julia"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "Componente X do gerador de mundo fractal julia"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Componente Y do gerador de mundo fractal julia"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Componente Z do gerador de mundo fractal julia"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Espacamento do gerador de mundo fractal"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Escala do gerador de mundo fractal"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Parâmetros de ruido do leito oceânico do gerador de mundo fractal"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Componente W da fatia do gerador de mundo fractal"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Largura das cavernas no gerador de mundo v5"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "Parâmetros de ruido cave1 do gerador de mundo v5"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "Parâmetros de ruido cave2 do gerador de mundo v5"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Parâmetros do fator de ruido do gerador de mundo v5"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr ""
-#~ "Parâmetros de ruido da profundidade de preenchimento do gerador de mundo "
-#~ "v5"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Parâmetros de ruido de altura do gerador de mundo v5"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Parâmetros de ruido das macieiras no gerador de mundo v6"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Frequência de praia do Mapgen v6"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Parâmetros de ruido das praias no gerador de mundo v6"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Parâmetros de ruido de bioma do gerador de mundo v6"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Parâmetros de ruido de caverna do gerador de mundo v6"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Frequência de deserto do gerador de mundo v6"
-
-#~ msgid "Mapgen v6 mud noise parameters"
-#~ msgstr "Parâmetros de ruido de lama do gerador de mundo v6"
-
-#~ msgid "Mapgen v6 steepness noise parameters"
-#~ msgstr "Parâmetros de ruido de inclinação do gerador de mundo v6"
-
-#~ msgid "Mapgen v6 terrain altitude noise parameters"
-#~ msgstr "Parâmetros de ruido de altitude do terreno do gerador de mundo v6"
-
-#~ msgid "Mapgen v6 terrain base noise parameters"
-#~ msgstr "Parâmetros de ruido base do terreno do gerador de mundo v6"
-
-#~ msgid "Mapgen v6 trees noise parameters"
-#~ msgstr "Parâmetros de ruido das árvores no gerador de mundo v6"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Largura das cavernas no gerador de mundo v7"
-
-#~ msgid "Mapgen v7 cave1 noise parameters"
-#~ msgstr "Parâmetros de ruido cave1 do gerador de mundo v7"
-
-#~ msgid "Mapgen v7 cave2 noise parameters"
-#~ msgstr "Parâmetros de ruido cave2 do gerador de mundo v7"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr ""
-#~ "Parâmetros de ruido da profundidade de preenchimento do gerador de mundo "
-#~ "v7"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Parâmetros de ruido da seleção de altura do gerador de mundo v7"
-
-#~ msgid "Mapgen v7 mountain noise parameters"
-#~ msgstr "Parâmetros de ruido das montanha do gerador de mundo v7"
-
-#~ msgid "Mapgen v7 ridge noise parameters"
-#~ msgstr "Parâmetros de ruido de cume do gerador de mundo v7"
-
-#~ msgid "Mapgen v7 ridge water noise parameters"
-#~ msgstr "Parâmetros de ruido de cume de água do gerador de mundo v7"
-
-#~ msgid "Mapgen v7 terrain altitude noise parameters"
-#~ msgstr "Parâmetros de ruido de altitude do terreno do gerador de mundo v7"
-
-#~ msgid "Mapgen v7 terrain base noise parameters"
-#~ msgstr "Parâmetros de ruido base do terreno do gerador de mundo v7"
-
-#~ msgid "Mapgen v7 terrain persistation noise parameters"
-#~ msgstr ""
-#~ "Parâmetros de ruido de persistencia do terreno do gerador de mundo v7"
-
-#~ msgid ""
-#~ "Noise parameters for biome API temperature, humidity and biome blend."
-#~ msgstr ""
-#~ "Parâmetros de ruido para a API de temperatura, umidade e mistura de bioma."
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Limite de geração de mapa.\n"
-#~ "Note:\n"
-#~ "- Limitado a 31000 (valores superiores não têm efeito)\n"
-#~ "- O gerador funciona em grupos de 80x80x80 cubos (5x5x5 MapBlocks)\n"
-#~ "- Esses grupos têm um deslocamento de -32, -32 nodes em relação à "
-#~ "origem.\n"
-#~ "- Apenas grupos dentro do limite definido map_gerenation_limit são "
-#~ "gerados"
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr ""
-#~ "Dados detalhados do perfil do mod . Útil para desenvolvedores de mods."
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "Perfilamento detalhado do mod"
-
-#~ msgid ""
-#~ "How many blocks are flying in the wire simultaneously for the whole "
-#~ "server."
-#~ msgstr ""
-#~ "Quantos blocos podem ser enviados simultaneamente para todo o servidor."
-
-#~ msgid "How many blocks are flying in the wire simultaneously per client."
-#~ msgstr "Quantos blocos podem ser enviados simultaneamente por cliente."
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "Útil para desenvolvedores de mods."
-
-#~ msgid "No of course not!"
-#~ msgstr "Claro que não!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Lista de servidores públicos"
-
-#~ msgid "No!!!"
-#~ msgstr "Não!!!"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them.\n"
-#~ "\"altitude_chill\" makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "\"humid_rivers\" modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool. It may interfere with delicately adjusted "
-#~ "biomes."
-#~ msgstr ""
-#~ "Atributos de mapgen específicos para vales (Mapgen Valleys).\n"
-#~ "Flags que não estão especificadas na string de flags não são modificados "
-#~ "a partir do padrão.\n"
-#~ "Flags começando com \"no\" (não) são usadas para desativá-los "
-#~ "explicitamente.\n"
-#~ "\"altitude_chill\" torna terrenos de elevada altitude mais frios, o que "
-#~ "pode causar algumas falhas nos biomas.\n"
-#~ "\"humid_rivers\" modifica a umidade ao redor dos rios e em áreas onde a "
-#~ "água tende a ser represada em poças. Pode interferir em biomas que são "
-#~ "sensíveis a mudanças."
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "habilitado"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "Gamemgr: Não foi possível copiar o mod \"$1\" para o jogo \"$2\""
-
-#~ msgid "GAMES"
-#~ msgstr "JOGOS"
-
-#~ msgid "Mods:"
-#~ msgstr "Módulos:"
-
-#~ msgid "new game"
-#~ msgstr "novo jogo"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "EDITAR JOGO"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Remover o módulo selecionado"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Adicionar módulo"
-
-#~ msgid "CLIENT"
-#~ msgstr "CLIENTE"
-
-#~ msgid "START SERVER"
-#~ msgstr "SERVIDOR"
-
-#~ msgid "Name"
-#~ msgstr "Nome"
-
-#~ msgid "Password"
-#~ msgstr "Senha"
-
-#~ msgid "SETTINGS"
-#~ msgstr "CONFIGURAÇÕES"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Precarga de elementos visuais"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "Líquido finito"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "UM JOGADOR"
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "TEXTURAS"
-
-#~ msgid "MODS"
-#~ msgstr "MÓDULOS"
-
-#~ msgid "Add mod:"
-#~ msgstr "Adicionar módulo:"
-
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Atenção: Alguns mods ainda não foram configurados.\n"
-#~ "E eles serão ativados por padrão, quando você salvar a configuração."
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "Atenção: Alguns mods configurados não foram encontrados.\n"
-#~ "Suas definições serão removidas quando você salvar a configuração."
-
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "Controles padrão:\n"
-#~ "- WASD: andar\n"
-#~ "- Botão esquerdo: cavar/golpear\n"
-#~ "- Botão direito: colocar/usar\n"
-#~ "- Roda do mouse: selecionar item\n"
-#~ "- 0...9: selecionar item\n"
-#~ "- Shift: esgueirar\n"
-#~ "- R: alternar a distância de visualização\n"
-#~ "- I: inventário\n"
-#~ "- ESC: este menu\n"
-#~ "- T: bate-papo\n"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Não foi possível excluir todos os arquivos do mundo"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Não foi possível configurar o mundo: Nada foi selecionado"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Não foi possivel criar o mundo: Não foi encontrado nenhum jogo"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Arquivos a serem excluídos"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Não foi possível excluir o mundo: Nenhum foi selecionado"
-
-#~ msgid "Address required."
-#~ msgstr "É necessário um endereço."
-
-#~ msgid "Create world"
-#~ msgstr "Criar o mundo"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Deixe o endereço em branco para iniciar um servidor local."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Exibir favoritos"
-
-#~ msgid "Show Public"
-#~ msgstr "Exibir públicos"
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Não foi possível criar o mundo: O nome contém caracteres inválidos"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Atenção: A configuração não está consistente."
-
-#~ msgid "Configuration saved. "
-#~ msgstr "A configuração foi salva. "
-
-#~ msgid "is required by:"
-#~ msgstr "é necessário para:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr "Botão esquerdo: Move todos os itens. Botão direito: Move um item"
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Baixar"
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "pré-carregando texturas de inventário"
-
-#~ msgid ""
-#~ "Key for increasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tecla para aumentar o intervalo de visualização. Modifica o mínimo "
-#~ "intervalo de visualização.\n"
-#~ "Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for decreasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Tecla para diminuir o intervalo de visualização. Modifica o intervalo "
-#~ "mínimo de visualização.\n"
-#~ "Consulte http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Julia set: (X,Y,Z) offsets from world centre.\n"
-#~ "Range roughly -2 to 2, multiply by j_scale for offsets in nodes."
-#~ msgstr ""
-#~ "Julia definido: (X, Y, Z) deslocamentos do centro mundo.\n"
-#~ "Variam aproximadamente -2 a 2, multiplique por j_scale para deslocamentos "
-#~ "em nós."
-
-#~ msgid "Enable selection highlighting for nodes (disables selectionbox)."
-#~ msgstr ""
-#~ "Habilitar destaque de bloco selecionado (desabilita o modo de destaque "
-#~ "selectionbox [Padrão])."
-
-#~ msgid ""
-#~ "Enable a bit lower water surface, so it doesn't \"fill\" the node "
-#~ "completely.\n"
-#~ "Note that this is not quite optimized and that smooth lighting on the\n"
-#~ "water surface doesn't work with this."
-#~ msgstr ""
-#~ "Habilita recurso permitindo que o nível da água seja um pouco menor, "
-#~ "portando não preenche todo o espaço disponível para bloco.\n"
-#~ "Note que isso não está bem otimizado e que suavização da iluminação na "
-#~ "superfície da água não funciona bem com esse recurso."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag controls the rivers.\n"
-#~ "The default flags set in the engine are: mountains, ridges\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos para o gerador de mapas específico para o Mapgen v6.\n"
-#~ "Quando biomas de neve estão habilitados, pântanos ficam habilitados e a "
-#~ "flag de pântanos é ignorada.\n"
-#~ "Flags que não são especificadas na string da flag não são modificadas por "
-#~ "padrão.\n"
-#~ "Flags começando com \"no\" (não) são usadas para explicitamente "
-#~ "desabilitá-las."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen flat.\n"
-#~ "Occasional lakes and hills can be added to the flat world.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos de mapgen específicos para Mapgen plano.\n"
-#~ "Alguns lagos e colinas são ocasionalmente adicionados num mundo plano.\n"
-#~ "Flags que não estão especificadas na string de flags não são modificados "
-#~ "a partir do padrão.\n"
-#~ "Flags começando com \"no\" (não) são usadas para desativá-los "
-#~ "explicitamente."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Configurações Avançadas"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos de geração de mapas específicos para o gerador de mundo v7.\n"
-#~ "A flag 'ridges' controla os rios.\n"
-#~ "Flags que não estão especificadas na string da flag não são modificadas "
-#~ "por padrão.\n"
-#~ "Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos de geração de mapas específicos para o gerador de mundo v7.\n"
-#~ "A flag 'ridges' controla os rios.\n"
-#~ "Flags que não estão especificadas na string da flag não são modificadas "
-#~ "por padrão.\n"
-#~ "Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Atributos de geração de mapas específicos para o gerador de mundo v7.\n"
-#~ "A flag 'ridges' controla os rios.\n"
-#~ "Flags que não estão especificadas na string da flag não são modificadas "
-#~ "por padrão.\n"
-#~ "Flags começando com \"no\" são usadas para desabilitá-las explicitamente."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Alternar modo de câmera cinemática"
diff --git a/po/ro/minetest.po b/po/ro/minetest.po
index 1853395ab..451ec610b 100644
--- a/po/ro/minetest.po
+++ b/po/ro/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Romanian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/minetest/"
"minetest/ro/>\n"
"Language: ro\n"
@@ -13,7 +13,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
-"X-Generator: Weblate 3.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -26,7 +26,7 @@ msgstr "Ai murit."
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "A apărut o eroare într-un script Lua, de exemplu un mod:"
#: builtin/fstk/ui.lua
@@ -123,15 +123,28 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+msgid "No (optional) dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
msgid "No game description provided."
msgstr "Nici o descriere de mod disponibilă"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Dependențe:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No modpack description provided."
msgstr "Nici o descriere de mod disponibilă"
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional dependencies"
+msgstr ""
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr ""
@@ -519,11 +532,6 @@ msgstr "Redenumiți"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "Selectează Fișierul Modului:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "Dezinstalaţi modul selectat"
@@ -828,12 +836,13 @@ msgid "Waving Leaves"
msgstr "Frunze legănătoare"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Plante legănătoare"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Frunze legănătoare"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Apă ondulatoare"
+msgid "Waving Plants"
+msgstr "Plante legănătoare"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1598,11 +1607,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1727,11 +1736,6 @@ msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
-msgid "Toggle Cinematic"
-msgstr "Intră pe rapid"
-
-#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
msgstr "Intră pe zbor"
@@ -1763,6 +1767,11 @@ msgid "Toggle noclip"
msgstr "Intră pe noclip"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Intră pe rapid"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "apasă o tastă"
@@ -1870,6 +1879,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid "3D clouds"
msgstr "Nori 3D"
@@ -1901,6 +1914,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1941,6 +1958,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -2154,7 +2175,7 @@ msgstr "Mip Mapping"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2242,6 +2263,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Mapgen"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Mapgen"
@@ -2406,6 +2432,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2467,6 +2497,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2475,6 +2509,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2557,10 +2595,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2583,6 +2633,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2603,7 +2659,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2655,6 +2711,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Mapgen"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2972,6 +3033,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3203,6 +3271,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3453,6 +3539,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3483,6 +3577,10 @@ msgid "Inc. volume key"
msgstr "Consloă"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4253,7 +4351,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4327,6 +4425,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4338,7 +4443,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4399,6 +4504,11 @@ msgstr "Mapgen"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Mapgen"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Mapgen"
@@ -4490,6 +4600,12 @@ 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 ""
"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)"
@@ -4677,10 +4793,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4696,7 +4810,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4748,16 +4862,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4910,10 +5026,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5000,6 +5112,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -5013,6 +5133,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5309,6 +5433,10 @@ msgid "Sneaking speed"
msgstr "Furișează"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5621,10 +5749,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5727,6 +5856,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5777,10 +5910,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5806,16 +5947,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Apă ondulatoare"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Frunze legănătoare"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Apă ondulatoare"
#: src/settings_translation_file.cpp
msgid ""
@@ -5851,10 +5995,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5938,10 +6078,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5985,246 +6121,10 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
-#~ msgid "Disable MP"
-#~ msgstr "Dezactivează MP"
-
-#~ msgid "Enable MP"
-#~ msgstr "Activează MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Jocul nu are nume, sau nu ai selectat un joc"
-
#, fuzzy
-#~ msgid "Select path"
-#~ msgstr "Selectează"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Pagina $1 din $2"
-
-#~ msgid "Rating"
-#~ msgstr "Notă"
-
-#, fuzzy
-#~ msgid "Shortname:"
-#~ msgstr "Numele lumii"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Instalat cu succes:"
-
-#~ msgid "re-Install"
-#~ msgstr "Reinstalează"
+#~ msgid "Select Package File:"
+#~ msgstr "Selectează Fișierul Modului:"
#, fuzzy
-#~ msgid "Local Game"
-#~ msgstr "Instalare locală"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Dezinstalaţi Pachetul de moduri selectat"
-
-#~ msgid "Play Online"
-#~ msgstr "Joacă online"
-
-#, fuzzy
-#~ msgid "Normal Mapping"
-#~ msgstr "Mip Mapping"
-
-#~ msgid "No information available"
-#~ msgstr "Nici o informație disponibilă"
-
-#~ msgid "Print stacks"
-#~ msgstr "Salvează logurile"
-
-#~ msgid "Use"
-#~ msgstr "Aleargă"
-
-#~ msgid "Next"
-#~ msgstr "Următorul"
-
-#~ msgid "Prior"
-#~ msgstr "Anteriorul"
-
-#~ msgid "Cloud height"
-#~ msgstr "înalţime nori"
-
-#~ msgid "Console key"
-#~ msgstr "Tastă Consolă"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Mişcare continuă înainte (folosit doar pentru testare)."
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Inventar"
-
-#, fuzzy
-#~ msgid "Main menu mod manager"
-#~ msgstr "Meniul Principal"
-
-#, fuzzy
-#~ msgid "Use key"
-#~ msgstr "apasă o tastă"
-
-#, fuzzy
-#~ msgid "Water Features"
-#~ msgstr "Texturi..."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Ascunde conținutul mp"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Capital"
-
-#~ msgid "Comma"
-#~ msgstr "Virgulă"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Final"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
-
-#~ msgid "Minus"
-#~ msgstr "Minus"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Punct"
-
-#~ msgid "Plus"
-#~ msgstr "Plus"
-
-#, fuzzy
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Mapgen"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Mapgen"
-
-#, fuzzy
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Mapgen"
-
-#, fuzzy
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Mapgen"
-
-#, fuzzy
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Mapgen"
-
-#, fuzzy
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Mapgen"
-
-#, fuzzy
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Mapgen"
-
-#, fuzzy
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Mapgen"
-
-#, fuzzy
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Mapgen"
-
-#, fuzzy
-#~ msgid "Useful for mod developers."
-#~ msgstr "Dezvoltatori de bază"
-
-#~ msgid "No of course not!"
-#~ msgstr "Nu, sigur că nu!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Listă de servere publică"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "activat"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "Gamemgr: Nu se poate copia modul \"$1\" în jocul \"$2\""
-
-#~ msgid "GAMES"
-#~ msgstr "JOCURI"
-
-#~ msgid "Mods:"
-#~ msgstr "Moduri:"
-
-#~ msgid "new game"
-#~ msgstr "joc nou"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "MODIFICÄ‚ JOCUL"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Șterge modul selectat"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Adaugă modul"
-
-#~ msgid "CLIENT"
-#~ msgstr "CLIENT"
-
-#~ msgid "START SERVER"
-#~ msgstr "DESCHIDE SERVERUL"
-
-#~ msgid "Name"
-#~ msgstr "Nume"
-
-#~ msgid "Password"
-#~ msgstr "Parolă"
-
-#~ msgid "SETTINGS"
-#~ msgstr "SETĂRI"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Pre-încarcă imaginile obiectelor"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "Lichid finit"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "SINGLE PLAYER"
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "PACHETE DE TEXTURÄ‚"
-
-#~ msgid "MODS"
-#~ msgstr "MODURI"
-
-#~ msgid "Add mod:"
-#~ msgstr "Adăugaţi mod:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr ""
-#~ "Click stânga: Mută toate obiectele, Click dreapta: Mută un singur obiect"
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Descarcă"
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "Se încarcă..."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Setări avansate"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Intră pe rapid"
diff --git a/po/ru/minetest.po b/po/ru/minetest.po
index 81d7dae41..c083dffe4 100644
--- a/po/ru/minetest.po
+++ b/po/ru/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Russian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-14 17:18+0000\n"
-"Last-Translator: narrnika <narr13niki@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/minetest/"
"minetest/ru/>\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 3.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -24,7 +24,8 @@ msgid "You died"
msgstr "Вы умерли"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Ошибка в Ñкрипте Lua (например, в моде):"
#: builtin/fstk/ui.lua
@@ -119,13 +120,28 @@ msgid "Mod:"
msgstr "Мод:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+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 "Ðет завиÑимоÑтей."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "ОпиÑание пакета модов недоÑтупно."
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "ÐеобÑзательные завиÑимоÑти:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "ÐеобÑзательные завиÑимоÑти:"
@@ -179,7 +195,7 @@ msgstr "Моды"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Пакеты не могут быть получены"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
@@ -315,22 +331,20 @@ msgid "Enabled"
msgstr "Включено"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Lacunarity"
-msgstr "БезопаÑноÑть"
+msgstr "ЛакунарноÑть"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Октавы"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
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."
@@ -342,9 +356,7 @@ msgstr "ПожалуйÑта, введите чиÑло."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
-msgstr ""
-"ВоÑÑтановить\n"
-"значение по умолчанию"
+msgstr "ВоÑÑтановить Ñтандартные"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
@@ -372,49 +384,47 @@ msgstr "Значение не должно быть больше, чем $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+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
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"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "абÑÐ¾Ð»ÑŽÑ‚Ð½Ð°Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð°"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "defaults"
-msgstr "Ð¡Ñ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð°Ñ Ð¸Ð³Ñ€Ð°"
+msgstr "Ñтандартные"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
-msgstr ""
+msgstr "облегчённый"
#: builtin/mainmenu/pkgmgr.lua
msgid "$1 (Enabled)"
msgstr "$1 (включено)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "3D режим"
+msgstr "$1 модов"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
@@ -493,11 +503,6 @@ msgid "Rename"
msgstr "Переименовать"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Выберите файл мода:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Удалить дополнение"
@@ -772,9 +777,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"
@@ -785,12 +789,13 @@ msgid "Waving Leaves"
msgstr "Покачивание лиÑтвы"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Покачивание раÑтений"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Покачивание блоков"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Волны на воде"
+msgid "Waving Plants"
+msgstr "Покачивание раÑтений"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -862,7 +867,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: "
@@ -870,7 +875,7 @@ msgstr "По Ñтому пути мира нет: "
#: src/client/fontengine.cpp
msgid "needs_fallback_font"
-msgstr ""
+msgstr "no"
#: src/client/game.cpp
msgid ""
@@ -913,24 +918,20 @@ msgid "- Server Name: "
msgstr "- Ð˜Ð¼Ñ Ñервера: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
msgstr "Ðвтобег отключён"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
msgstr "Ðвтобег включён"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update disabled"
-msgstr "Кнопка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð¼ÐµÑ€Ñ‹"
+msgstr "Обновление камеры отключено"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "Кнопка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð¼ÐµÑ€Ñ‹"
+msgstr "Обновление камеры включено"
#: src/client/game.cpp
msgid "Change Password"
@@ -1536,13 +1537,13 @@ msgid "Register and Join"
msgstr "ПодключитьÑÑ"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
"Ð’Ñ‹ ÑобираетеÑÑŒ впервые приÑоединитьÑÑ Ðº Ñерверу на «%1$s» под именем «%2$s». "
"ЕÑли вы продолжите, на Ñтом Ñервере будет Ñоздан новый аккаунт Ñ Ð²Ð°ÑˆÐ¸Ð¼Ð¸ "
@@ -1666,10 +1667,6 @@ msgid "Special"
msgstr "ИÑпользовать"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Кино"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "HUD"
@@ -1698,6 +1695,11 @@ msgid "Toggle noclip"
msgstr "Сквозь Ñтены"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Чат"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "нажмите ..."
@@ -1752,9 +1754,11 @@ 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
-#, 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"
@@ -1766,9 +1770,12 @@ msgid ""
"Range roughly -2 to 2. Multiply by 'scale' for offset in nodes."
msgstr ""
"Смещение (X, Y, Z) фрактала от центра мира в единицах «маÑштаба».\n"
-"ИÑпользуетÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð·Ð¾Ð½Ñ‹ Ð²Ð¾Ð·Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð±Ð»Ð¸Ð¶Ðµ к (0, 0).\n"
-"Значение по умолчанию подходит Ð´Ð»Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтв Мандельброта, Ð´Ð»Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтв Жюлиа "
-"его нужно отредактировать.\n"
+"ИÑпользуетÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð·Ð¾Ð½Ñ‹ Ð²Ð¾Ð·Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð±Ð»Ð¸Ð¶Ðµ к (0, 0),\n"
+"Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñщей точки Ð²Ð¾Ð·Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ\n"
+"«приближениÑ» в нужную точку поÑредÑтвом «маÑштаба».\n"
+"Значение по умолчанию подходит Ð´Ð»Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтв Мандельброта\n"
+"Ñо Ñтандартными параметрами, Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… Ñитуаций его нужно\n"
+"отредактировать.\n"
"Диапазон примерно от -2 до 2. Умножьте на «маÑштаб», чтобы получить Ñмещение "
"в блоках."
@@ -1782,6 +1789,12 @@ 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"
+"ФактичеÑкий фрактальный размер будет в 2-3 раза больше.\n"
+"Эти чиÑла могут быть очень большими, фракталу нет нужды заполнÑть мир.\n"
+"Увеличьте их, чтобы увеличить «маÑштаб» детали фрактала.\n"
+"Ð”Ð»Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾ Ñжатой фигуры, что подходит\n"
+"оÑтрову, Ñделайте вÑе 3 чиÑла равными Ð´Ð»Ñ Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð¾Ð¹ формы."
#: src/settings_translation_file.cpp
msgid ""
@@ -1793,27 +1806,37 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of ridged mountains."
-msgstr ""
+msgstr "2D-шум, управлÑет формой / размером горных хребтов."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of rolling hills."
-msgstr ""
+msgstr "Двухмерный шум, контролирующий форму и размер холмов."
#: src/settings_translation_file.cpp
msgid "2D noise that controls the shape/size of step mountains."
-msgstr ""
+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 "2D noise that controls the size/occurrence of rolling hills."
msgstr ""
+"Двухмерный шум, контролирующий размер и раÑпроÑтранение холмиÑтой меÑтноÑти."
#: 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 "Двухмерный шум, контролирующий форму и размер холмов."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1840,16 +1863,19 @@ msgid "3D noise defining structure of river canyon walls."
msgstr "3D-шум, определÑющий Ñтруктуру Ñтен речного каньона."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "3D noise defining terrain."
-msgstr "3D-шум, определÑющий огромные пещеры."
+msgstr "Трёхмерный шум, определÑющий рельеф меÑтноÑти."
#: src/settings_translation_file.cpp
msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
+"3D-шум Ð´Ð»Ñ Ð³Ð¾Ñ€Ð½Ñ‹Ñ… выÑтупов, Ñкал и Ñ‚. д. Ð’ оÑновном небольшие вариации."
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1867,10 +1893,11 @@ msgstr ""
"- none: 3D отключён.\n"
"- anaglyph: голубой/пурпурный цвет в 3D.\n"
"- interlaced: чётные/нёчетные линии отображают два разных кадра Ð´Ð»Ñ "
-"Ñкранов поддерживающих полÑризацию.\n"
-"- topbottom: Разделение Ñкрана низ/верх.\n"
+"Ñкранов, поддерживающих полÑризацию.\n"
+"- topbottom: Разделение Ñкрана верх/низ\n"
"- sidebyside: Разделение Ñкрана право/лево.\n"
-"- pageflip: Ð§ÐµÑ‚Ñ‹Ñ€Ñ‘Ñ…ÐºÑ€Ð°Ñ‚Ð½Ð°Ñ Ð±ÑƒÑ„ÐµÑ€Ð¸Ð·Ð°Ñ†Ð¸Ñ (QuadBuffer)."
+"- pageflip: Ð§ÐµÑ‚Ñ‹Ñ€Ñ‘Ñ…ÐºÑ€Ð°Ñ‚Ð½Ð°Ñ Ð±ÑƒÑ„ÐµÑ€Ð¸Ð·Ð°Ñ†Ð¸Ñ (QuadBuffer).\n"
+"Примечание: в режиме interlaced шейдеры должны быть включены."
#: src/settings_translation_file.cpp
msgid ""
@@ -1902,6 +1929,10 @@ msgid "Acceleration in air"
msgstr "УÑкорение в воздухе"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Модификаторы активных блоков"
@@ -1955,7 +1986,7 @@ msgstr "Дополнительно"
#: src/settings_translation_file.cpp
msgid "Alters how mountain-type floatlands taper above and below midpoint."
-msgstr ""
+msgstr "УправлÑет Ñужением оÑтровов горного типа ниже Ñредней точки."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2066,7 +2097,7 @@ msgstr "Запоминать размер окна"
#: src/settings_translation_file.cpp
msgid "Autoscaling mode"
-msgstr ""
+msgstr "Режим автомаÑштабированиÑ"
#: src/settings_translation_file.cpp
msgid "Backward key"
@@ -2136,8 +2167,9 @@ msgid "Bumpmapping"
msgstr "Бампмаппинг"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2206,7 +2238,7 @@ msgstr "Предел пещеры"
#: src/settings_translation_file.cpp
msgid "Center of light curve mid-boost."
-msgstr ""
+msgstr "Центр Ñреднего подъёма кривой Ñвета."
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2234,6 +2266,11 @@ msgid "Chat message count limit"
msgstr "МакÑимальное количеÑтво Ñообщений в чате"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð² чате"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr "МакÑимальное количеÑтво Ñообщений в чате (Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ)"
@@ -2284,7 +2321,7 @@ msgstr "Моддинг клиента"
#: src/settings_translation_file.cpp
msgid "Client side node lookup range restriction"
-msgstr ""
+msgstr "Ограничение диапазона поиÑка от клиента"
#: src/settings_translation_file.cpp
msgid "Climbing speed"
@@ -2320,6 +2357,13 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"so see a full list at https://content.minetest.net/help/content_flags/"
msgstr ""
+"Разделённый запÑтыми ÑпиÑок меток, которые можно Ñкрывать в репозитории.\n"
+"\"nonfree\" можно иÑпользовать, чтобы Ñкрыть пакеты, которые не ÑвлÑÑŽÑ‚ÑÑ "
+"Ñвободным программным обеÑпечением по определению Free Software Foundation.\n"
+"Также вы можете назначить рейтинг.\n"
+"Метки не завиÑÑÑ‚ от верÑии Minetest,\n"
+"узнать полный ÑпиÑок можно на https://content.minetest.net/help/"
+"content_flags/"
#: src/settings_translation_file.cpp
msgid ""
@@ -2368,7 +2412,7 @@ msgstr "Ð’Ñ‹Ñота конÑоли"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "Чёрный ÑпиÑок флагов ContentDB"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2384,6 +2428,8 @@ msgid ""
"Continuous forward movement, toggled by autoforward key.\n"
"Press the autoforward key again or the backwards movement to disable."
msgstr ""
+"Ðепрерывное движение вперёд, переключаемое клавишей «автоматичеÑкий бег».\n"
+"Ðажмите автоматичеÑкий бег ещё раз либо движение назад, чтобы выключить."
#: src/settings_translation_file.cpp
msgid "Controls"
@@ -2401,6 +2447,10 @@ msgstr ""
"менÑетÑÑ."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Регулирует крутизну и глубину впадин в озёрах."
@@ -2464,6 +2514,11 @@ msgid "Debug info toggle key"
msgstr "Клавиша Ð¿ÐµÑ€ÐµÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð° отладочной информации"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Порог шума пуÑтынь"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Отладочный уровень"
@@ -2472,6 +2527,10 @@ msgid "Dec. volume key"
msgstr "Клавиша ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð³Ñ€Ð¾Ð¼ÐºÐ¾Ñти"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Шаг выделенного Ñервера"
@@ -2564,12 +2623,27 @@ msgid "Defines the base ground level."
msgstr "ОпределÑет облаÑти и плотноÑть деревьев."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+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 "ОпределÑет крупномаÑштабную Ñтруктуру каналов рек."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "ОпределÑет облаÑти, где у деревьев еÑть Ñблоки."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "ОпределÑет облаÑти и плотноÑть деревьев."
@@ -2596,6 +2670,12 @@ msgid "Deprecated Lua API handling"
msgstr "Обработка уÑтаревшего Lua API"
#: 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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "Глубина, ниже которой вÑтречаютÑÑ ÐºÑ€ÑƒÐ¿Ð½Ñ‹Ðµ пещеры."
@@ -2617,9 +2697,10 @@ msgid "Desert noise threshold"
msgstr "Порог шума пуÑтынь"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"ПуÑтыни поÑвлÑÑŽÑ‚ÑÑ, когда np_biome превышает Ñто значение.\n"
"Это игнорируетÑÑ, когда включена Ð½Ð¾Ð²Ð°Ñ ÑиÑтема биомов."
@@ -2663,11 +2744,16 @@ msgstr "Дамп отладочной информации генератора
#: src/settings_translation_file.cpp
msgid "Dungeon maximum Y"
-msgstr ""
+msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Y подземельÑ"
#: src/settings_translation_file.cpp
msgid "Dungeon minimum Y"
-msgstr ""
+msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Y подземельÑ"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Y подземельÑ"
#: src/settings_translation_file.cpp
msgid ""
@@ -2713,13 +2799,15 @@ msgstr "Включить Ñлучайный ввод (иÑпользуетÑÑ Ñ
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Включить подтверждение региÑтрации"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Включить подтверждение региÑтрации при подключении к Ñерверу.\n"
+"ЕÑли отключено, то новый аккаунт будет зарегиÑтрирован автоматичеÑки."
#: src/settings_translation_file.cpp
msgid ""
@@ -3025,24 +3113,31 @@ msgid "Font size"
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 "Format of screenshots."
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
@@ -3160,11 +3255,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
-msgstr ""
+msgstr "Градиент кривой Ñвета на макÑимальном уровне оÑвещённоÑти."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at minimum light level."
-msgstr ""
+msgstr "Градиент кривой Ñвета на минимальном уровне оÑвещённоÑти."
#: src/settings_translation_file.cpp
msgid "Graphics"
@@ -3281,6 +3376,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Следующий предмет в быÑтрой панели"
@@ -3564,6 +3677,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."
@@ -3587,6 +3702,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr "ЕÑли уÑтановлено, то игроки будут возрождатьÑÑ Ð² указанной позиции."
@@ -3615,6 +3738,10 @@ msgid "Inc. volume key"
msgstr "Клавиша ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð³Ñ€Ð¾Ð¼ÐºÐ¾Ñти"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4614,19 +4741,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Light curve mid boost"
-msgstr ""
+msgstr "Средний подъём кривой Ñвета"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost center"
-msgstr ""
+msgstr "Центр Ñреднего подъёма кривой Ñвета"
#: src/settings_translation_file.cpp
msgid "Light curve mid boost spread"
-msgstr ""
+msgstr "РаÑпроÑтранение Ñреднего роÑта кривой Ñвета"
#: src/settings_translation_file.cpp
msgid "Lightness sharpness"
-msgstr ""
+msgstr "РезкоÑть оÑвещённоÑти"
#: src/settings_translation_file.cpp
msgid "Limit of emerge queues on disk"
@@ -4677,7 +4804,8 @@ msgid "Liquid queue purge time"
msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð¾Ñ‡Ð¸Ñтки очереди жидкоÑтей"
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+#, fuzzy
+msgid "Liquid sinking"
msgstr "СкороÑть Ð¿Ð¾Ð³Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð² жидкоÑть"
#: src/settings_translation_file.cpp
@@ -4708,7 +4836,7 @@ msgstr "Модификаторы загружающихÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð²"
#: src/settings_translation_file.cpp
msgid "Lower Y limit of dungeons."
-msgstr ""
+msgstr "Ðижний лимит Y Ð´Ð»Ñ Ð¿Ð¾Ð´Ð·ÐµÐ¼ÐµÐ»Ð¸Ð¹."
#: src/settings_translation_file.cpp
msgid "Main menu script"
@@ -4739,7 +4867,7 @@ msgstr "Каталог ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ñ€Ñ‚"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "Ðтрибуты генерации карт Ð´Ð»Ñ Mapgen Carpathian."
#: src/settings_translation_file.cpp
msgid ""
@@ -4755,6 +4883,16 @@ msgstr ""
#, 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"
+"«хребты» включают реки."
+
+#: 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"
@@ -4764,14 +4902,14 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+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 new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"Ðтрибуты генерации карты, отноÑÑщиеÑÑ Ðº генератору карты верÑии 6.\n"
@@ -4786,6 +4924,8 @@ msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Ðтрибуты генерации карт Ð´Ð»Ñ Mapgen v7.\n"
+"«хребты» включают реки."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4839,6 +4979,11 @@ msgstr "Генератор фрактальной карты"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Флаги генератора плоÑкой карты"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Генератор карты верÑии 5"
@@ -4926,6 +5071,12 @@ 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 ""
"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)"
@@ -5008,13 +5159,15 @@ msgstr "МакÑимальное количеÑтво одновременных
#: src/settings_translation_file.cpp
msgid "Maximum size of the out chat queue"
-msgstr ""
+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 ""
+"МакÑимальный размер очереди иÑходÑщих Ñообщений.\n"
+"0 Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‡ÐµÑ€ÐµÐ´Ð¸ и -1 Ð´Ð»Ñ Ð½ÐµÐ¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ð¾Ð³Ð¾ размера."
#: src/settings_translation_file.cpp
msgid "Maximum time in ms a file download (e.g. a mod download) may take."
@@ -5069,7 +5222,7 @@ msgstr "Mip-текÑтурирование (Мип-маппинг)"
#: src/settings_translation_file.cpp
msgid "Mod channels"
-msgstr ""
+msgstr "Каналы модификаций"
#: src/settings_translation_file.cpp
msgid "Modifies the size of the hudbar elements."
@@ -5134,10 +5287,8 @@ msgstr "Заглушить звук"
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
"Ðазвание генератора карты, который будет иÑпользоватьÑÑ Ð¿Ñ€Ð¸ Ñоздании нового "
"мира.\n"
@@ -5164,7 +5315,8 @@ msgid ""
msgstr "Ð˜Ð¼Ñ Ñервера, отображаемое при входе и в ÑпиÑке Ñерверов."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+#, fuzzy
+msgid "Near clipping plane"
msgstr "ДиÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Ð´Ð¾ плоÑкоÑти"
#: src/settings_translation_file.cpp
@@ -5218,16 +5370,18 @@ msgstr "КоличеÑтво emerge-потоков"
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5248,7 +5402,7 @@ msgstr "КоличеÑтво итераций Parallax Occlusion."
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Сетевой репозиторий"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5405,10 +5559,6 @@ msgid "Profiling"
msgstr "Профилирование"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5432,7 +5582,7 @@ msgstr "Кнопка наÑтройки дальноÑти видимоÑти"
#: src/settings_translation_file.cpp
msgid "Recent Chat Messages"
-msgstr ""
+msgstr "Ðедавние ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñ‚Ð°"
#: src/settings_translation_file.cpp
msgid "Remote media"
@@ -5498,6 +5648,16 @@ msgstr "Интервал повторного клика правой кнопк
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "Глубина рек"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Глубина рек"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "Глубина рек"
@@ -5512,16 +5672,21 @@ msgid "River size"
msgstr "Размер рек"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Глубина рек"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "ЗапиÑÑŒ отката"
#: src/settings_translation_file.cpp
msgid "Rolling hill size noise"
-msgstr ""
+msgstr "Размер шума холмов"
#: src/settings_translation_file.cpp
msgid "Rolling hills spread noise"
-msgstr ""
+msgstr "Шум раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ…Ð¾Ð»Ð¼Ð¾Ð²"
#: src/settings_translation_file.cpp
msgid "Round minimap"
@@ -5541,7 +5706,7 @@ msgstr "Сохранение карты, полученной от клиентÐ
#: src/settings_translation_file.cpp
msgid "Save window size automatically when modified."
-msgstr ""
+msgstr "СохранÑть размер окна при изменении автоматичеÑки."
#: src/settings_translation_file.cpp
msgid "Saving map received from server"
@@ -5849,6 +6014,10 @@ msgid "Sneaking speed"
msgstr "СкороÑть Ñкрытной ходьбы"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Звук"
@@ -5879,6 +6048,8 @@ msgid ""
"Spread of light curve mid-boost.\n"
"Standard deviation of the mid-boost gaussian."
msgstr ""
+"РаÑпроÑтранение Ñреднего подъёма кривой Ñвета.\n"
+"Стандартное отклонение Ñреднего подъёма по ГауÑÑу."
#: src/settings_translation_file.cpp
msgid "Static spawnpoint"
@@ -5988,7 +6159,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "ÐÐ´Ñ€ÐµÑ Ñетевого репозиториÑ"
#: src/settings_translation_file.cpp
msgid ""
@@ -6207,11 +6378,13 @@ msgid "Undersampling"
msgstr "Undersampling"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"Undersampling похож на иÑпользование низкого Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñкрана, но он\n"
"применÑетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к игровому миру, оÑтавлÑÑ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½ÐµÑ‚Ñ€Ð¾Ð½ÑƒÑ‚Ñ‹Ð¼.\n"
@@ -6329,6 +6502,10 @@ msgid "Varies steepness of cliffs."
msgstr "Регулирует крутизну утёÑов."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Ð’ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ ÑинхронизациÑ."
@@ -6383,10 +6560,18 @@ msgstr ""
"Диапазон от -2 до 2."
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr "Уровень воды"
@@ -6411,16 +6596,19 @@ msgid "Waving water"
msgstr "Волны на воде"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Ð’Ñ‹Ñота волн на воде"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Длина волн на воде"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "СкороÑть волн на воде"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "СкороÑть волн на воде"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Длина волн на воде"
#: src/settings_translation_file.cpp
msgid ""
@@ -6480,10 +6668,6 @@ msgstr ""
"быть включена при Ñборке)."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
"ОпределÑет необходимоÑть раÑÑинхронизиции анимации текÑтур блоков между "
@@ -6579,11 +6763,6 @@ msgid "Y of upper limit of large caves."
msgstr "Верхний предел по Y Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… пÑевдоÑлучайных пещер."
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "Верхний предел по Y Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… пÑевдоÑлучайных пещер."
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr "Y-раÑÑтоÑние, над которым пещеры раÑширÑÑŽÑ‚ÑÑ Ð´Ð¾ полного размера."
@@ -6629,732 +6808,18 @@ msgstr "Лимит одновременных Ñоединений cURL"
msgid "cURL timeout"
msgstr "cURL тайм-аут"
-#~ msgid "Content Store"
-#~ msgstr "Хранилище дополнений"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "КоличеÑтво иÑпользуемых emerge-потоков. ОÑтавьте Ñто поле пуÑтым, или "
-#~ "увеличьте чиÑло,\n"
-#~ "чтобы иÑпользовать множеÑтво потоков. Ðа многопроцеÑÑорных ÑиÑтемах Ñто "
-#~ "значительно увеличит ÑкороÑть генерации карты\n"
-#~ "за Ñчёт немного худшей генерации шахт."
-
-#~ msgid "Show non-free packages"
-#~ msgstr "Отображать неÑвободные дополнениÑ"
-
-#~ msgid ""
-#~ "Show packages in the content store that do not qualify as 'free "
-#~ "software'\n"
-#~ "as defined by the Free Software Foundation."
-#~ msgstr ""
-#~ "Отображать в хранилище дополнениÑ, которые не ÑвлÑÑŽÑ‚ÑÑ Ñвободным "
-#~ "программным обеÑпечением по определению Free Software Foundation."
-
-#~ msgid "Disable MP"
-#~ msgstr "Отключить набор"
-
-#~ msgid "Enable MP"
-#~ msgstr "Включить набор"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Ðе указано название мира или не выбрана игра"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" не ÑвлÑетÑÑ Ð´ÐµÐ¹Ñтвительным флагом."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Формат 3 цифры через запÑтую в Ñкобках."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Формат: <Смещение>,<МаÑштаб>, (<По оÑи X>,<По оÑи Y>,<По оÑи Z>), "
-#~ "<Зерно>, <Октавы>,<ПоÑтоÑнÑтво>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "При необходимоÑти лакунарноÑть может быть добавлена Ñ Ð·Ð°Ð¿Ñтой в начале."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "ПожалуйÑта, вводите запÑтые Ð´Ð»Ñ Ñ€Ð°Ð·Ð´ÐµÐ»ÐµÐ½Ð¸Ñ ÑпиÑка флагов."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Возможные значениÑ: "
-
-#~ msgid "Select path"
-#~ msgstr "Выбрать путь"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Моды игры"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Страница $1 из $2"
-
-#~ msgid "Rating"
-#~ msgstr "Рейтинг"
-
-#~ msgid "Shortname:"
-#~ msgstr "Краткое имÑ:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "УÑпешно уÑтановлено:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Ðе Ñортировано"
-
-#~ msgid "re-Install"
-#~ msgstr "ПереуÑтановить"
-
-#~ msgid "Local Game"
-#~ msgstr "Ð›Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¸Ð³Ñ€Ð°"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Удалить выбранный набор модов"
-
-#~ msgid "Play Online"
-#~ msgstr "Играть онлайн"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Карты нормалей"
-
-#~ msgid "No information available"
-#~ msgstr "ОпиÑание отÑутÑтвует"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "ГромкоÑть изменена на 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "ГромкоÑть изменена на 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Печать Ñтеков"
-
-#~ msgid "Use"
-#~ msgstr "ИÑпользовать"
-
-#~ msgid "Next"
-#~ msgstr "Next"
-
-#~ msgid "Prior"
-#~ msgstr "Prior"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Интервал Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾Ð³Ð¾ блока"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Только Android-ÑиÑтемы: ПытатьÑÑ Ñоздать текÑтуры Ð¸Ð½Ð²ÐµÐ½Ñ‚Ð°Ñ€Ñ Ð¸Ð· мешей,\n"
-#~ "когда поддерживаемый рендер не найден."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "ОбъÑвить в ÑпиÑке Ñерверов.\n"
-#~ "ЕÑли вы желаете анонÑировать Ð°Ð´Ñ€ÐµÑ ipv6, иÑпользуйте serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Приблизительный (X,Y,Z) маÑштаб фрактала в блоках."
-
-#~ msgid "Autorun key"
-#~ msgstr "Кнопка автобега"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Пещеры и тоннели формируютÑÑ Ð½Ð° перекрёÑтке Ñтих двух шумов"
-
-#~ msgid "Cloud height"
-#~ msgstr "Ð’Ñ‹Ñота облаков"
-
-#~ msgid "Console key"
-#~ msgstr "Кнопка вызова конÑоли"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "ПоÑтоÑнное движение вперёд (иÑпользуетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ñ‚ÐµÑтированиÑ)."
+#~ msgid "Projecting dungeons"
+#~ msgstr "ПроÑтупающие подземельÑ"
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Создаёт непредÑказуемую лаву в пещерах.\n"
-#~ "Она может затруднить добычу. Ðоль отключает Ñто. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Создаёт непредÑказуемую воду в пещерах.\n"
-#~ "Она может затруднить добычу. Ðоль отключает Ñто. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "СкороÑть ÑпуÑка"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Глубина, ниже которой вÑтречаютÑÑ Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ñ‹Ðµ пещеры."
-
-#~ msgid "Descending speed"
-#~ msgstr "СкороÑть ÑнижениÑ"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Отключить escape-поÑледовательноÑти"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Отключить escape-поÑледовательноÑти, например, цвет в чате.\n"
-#~ "ИÑпользуйте Ñто, еÑли хотите запуÑтить Ñервер Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ð°Ð¼Ð¸ верÑии ниже "
-#~ "0.4.14\n"
-#~ "и отключить escape-поÑледовательноÑти, генерируемые модами."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Включить покачивание камеры"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Включает покачивание камеры при ходьбе."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Поле Ð·Ñ€ÐµÐ½Ð¸Ñ Ð² режиме увеличениÑ"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Поле Ð·Ñ€ÐµÐ½Ð¸Ñ Ð² режиме ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² градуÑах.\n"
-#~ "Требует привилегию «zoom» на Ñервере."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "С какого раÑÑтоÑÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½Ñ‚Ñ‹ узнают об объектах, в фрагментах (16 блоков)."
-
-#~ msgid "General"
-#~ msgstr "Общие"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Ð’Ñ‹Ñота, на которой поÑвлÑÑŽÑ‚ÑÑ Ð¾Ð±Ð»Ð°ÐºÐ°."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "ÐаÑколько Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ð¾Ð±Ð»Ð°Ñть подлежит обработке активных фрагментов; "
-#~ "задаётÑÑ Ð² фрагментах (16 блоков).↵\n"
-#~ "Ð’ активных фрагментах загружаютÑÑ Ð¾Ð±ÑŠÐµÐºÑ‚Ñ‹ и работают модификаторы "
-#~ "фрагментов (ABM)."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr ""
-#~ "ЕÑли включено, то показывать Ñообщение о ÑтатуÑе Ñервера при подключении."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Хак Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñми в инвентаре"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "КоличеÑтво итераций рекурÑивной функции.\n"
-#~ "Контролирует количеÑтво мелких деталей."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Клавиша Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ‡Ð°Ñ‚-конÑоли.\n"
-#~ "Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Клавиша Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸ отладочных Ñтеков. ИÑпользуетÑÑ Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸.\n"
-#~ "См. http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Лава"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Менеджер игр в главном меню"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Мод менеджер главного меню"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ðтрибуты генерации карты, отноÑÑщиеÑÑ Ðº Valleys.\n"
-#~ "'altitude_chill' делает выÑоты холоднее, что может привеÑти к проблемам Ñ "
-#~ "биомами.\n"
-#~ "'humid_rivers' изменÑет влажноÑть вокруг рек, и в облаÑÑ‚ÑÑ…, где "
-#~ "ÑкапливаетÑÑ Ð²Ð¾Ð´Ð°,\n"
-#~ "он может вмешиватьÑÑ Ð² тонко наÑтроенные биомы.\n"
-#~ "Флаги, не указанные в Ñтроке флагов, оÑтаютÑÑ Ð² значении по умолчанию.\n"
-#~ "Флаги Ñ Ð¿Ñ€Ð¸Ñтавкой 'no' Ñвно отключают их."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ðтрибуты генерации карты, отноÑÑщиеÑÑ Ðº генератору карты верÑии 7.\n"
-#~ "Флаг 'ridges' включает реки.\n"
-#~ "ПарÑщие оÑтрова ÑвлÑÑŽÑ‚ÑÑ ÑкÑпериментальными и могут изменÑтьÑÑ.\n"
-#~ "Флаги, не указанные в Ñтроке флагов, оÑтаютÑÑ Ð² значении по умолчанию.\n"
-#~ "Флаги Ñ Ð¿Ñ€Ð¸Ñтавкой 'no' Ñвно отключают их."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Глубина огромных пещер"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Шум огромных пещер"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Огромные пещеры образуютÑÑ Ð·Ð´ÐµÑÑŒ."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr "МакÑимальное количеÑтво одновременно отправлÑемых блоков."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr "КоличеÑтво блоков, передаваемых одновременно Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ клиента."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "МакÑимальное количеÑтво одновременных отправлений блоков в общем"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "URL информации о модах"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "URL Ð´Ð»Ñ ÑÐºÐ°Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð´Ð¾Ð²"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "URL ÑпиÑка модов"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Ðазвание генератора карты, иÑпользуемого при Ñоздании мира.\n"
-#~ "Создание мира из главного меню переопределит Ñто."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Шум рек; реки вÑтречаютÑÑ Ð±Ð»Ð¸Ð¶Ðµ к нулю"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Размер чанка, генерируемого за один раз, указанный в фрагментах (16 "
-#~ "блоков)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Поддержка Ñтарых Ñерверов"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "Ð’Ñ‹Ñота, на которой температура падает на 20 °C"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "БÑкенд Irrlicht Ð´Ð»Ñ Ñ€ÐµÐ½Ð´ÐµÑ€Ð¸Ð½Ð³Ð°."
-
-#~ msgid "Use key"
-#~ msgstr "Клавиша ИÑпользовать"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "ИÑпользовать мипмаппинг Ð´Ð»Ñ Ð¼Ð°ÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚ÐµÐºÑтур. Может немного "
-#~ "увеличить производительноÑть."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Флаги C Долины"
-
-#~ msgid "Water Features"
-#~ msgstr "ОÑобенноÑти воды"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Поддерживать ли Ñтарые Ñервера до верÑии протокола 25.\n"
-#~ "Включите, еÑли вы хотите подключитьÑÑ Ðº Ñерверам 0.4.12 и более Ñтарым.\n"
-#~ "Сервера, Ð½Ð°Ñ‡Ð¸Ð½Ð°Ñ Ñ 0.4.13, будут работать, Ñервера 0.4.12-dev могут "
-#~ "работать.\n"
-#~ "Отключение Ñтой опции лучше защитит ваш пароль."
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Y-уровень более выÑокого (ÑкалиÑтого) ландшафта."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Скрыть Ñодержимое модпака"
-
-#~ msgid "Attn"
-#~ msgstr "Внимание"
-
-#~ msgid "Capital"
-#~ msgstr "Caps Lock"
-
-#~ msgid "Comma"
-#~ msgstr "ЗапÑтаÑ"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Конец"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Кана"
-
-#~ msgid "Kanji"
-#~ msgstr "Кандзи"
-
-#~ msgid "Minus"
-#~ msgstr "МинуÑ"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Период"
-
-#~ msgid "Plus"
-#~ msgstr "ПлюÑ"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Задает размеры пуÑтыней и плÑжей.\n"
-#~ "Когда включены Ñнежные биомы, 'mgv6_freq_desert' игнорируетÑÑ."
-
-#, fuzzy
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Флаги генератора карты"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Флаги генератора карты"
-
-#, fuzzy
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Флаги генератора карты"
-
-#, fuzzy
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Повторение параллакÑа"
-
-#, fuzzy
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Флаги генератора карты"
-
-#, fuzzy
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Флаги генератора карты"
-
-#, fuzzy
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Флаги генератора карты"
-
-#, fuzzy
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Генератор карты верÑии 5"
-
-#, fuzzy
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Генератор карты верÑии 7"
-
-#, fuzzy
-#~ msgid ""
-#~ "How many blocks are flying in the wire simultaneously for the whole "
-#~ "server."
-#~ msgstr "КоличеÑтво блоков, передаваемых одновременно Ð´Ð»Ñ Ð²Ñего Ñервера."
+#~ msgid "Waving Water"
+#~ msgstr "Волны на воде"
#, fuzzy
-#~ msgid "Useful for mod developers."
-#~ msgstr "Разработчики в отÑтавке"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Верхний предел по Y Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… пÑевдоÑлучайных пещер."
-#~ msgid "No of course not!"
-#~ msgstr "Ðет, конечно нет!"
+#~ msgid "Select Package File:"
+#~ msgstr "Выберите файл дополнениÑ:"
-#~ msgid "Public Serverlist"
-#~ msgstr "СпиÑок публичных Ñерверов"
-
-#~ msgid "No!!!"
-#~ msgstr "Ðет!"
-
-#~ msgid "\""
-#~ msgstr "\""
-
-#~ msgid "If enabled, "
-#~ msgstr "ЕÑли включено "
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "ПерезапуÑтите Minetest Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "Gamemgr: Ðе могу Ñкопировать мод \"$1\" в игру \"$2\""
-
-#~ msgid "GAMES"
-#~ msgstr "ИГРЫ"
-
-#~ msgid "Mods:"
-#~ msgstr "Моды:"
-
-#~ msgid "new game"
-#~ msgstr "Создать игру"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "РЕДÐКТИРОВÐÐИЕ"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "Удалить мод"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- Добавить мод"
-
-#~ msgid "CLIENT"
-#~ msgstr "КЛИЕÐТ"
-
-#~ msgid "START SERVER"
-#~ msgstr "СЕРВЕР"
-
-#~ msgid "Name"
-#~ msgstr "ИмÑ"
-
-#~ msgid "Password"
-#~ msgstr "Пароль"
-
-#~ msgid "SETTINGS"
-#~ msgstr "ÐÐСТРОЙКИ"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Предзагрузка изображений"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "Конечные жидкоÑти"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "ОДИÐОЧÐÐЯ ИГРÐ"
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "ПÐКЕТЫ ТЕКСТУР"
-
-#~ msgid "MODS"
-#~ msgstr "МОДЫ"
-
-#~ msgid "Add mod:"
-#~ msgstr "Добавить мод:"
-
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "Предупреждение: Ðекоторые моды еще не наÑтроены.\n"
-#~ "Их Ñтандартные наÑтройки будут уÑтановлены, когда вы Ñохраните "
-#~ "конфигурацию. "
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "Предупреждение: Ðекоторые моды не найдены.\n"
-#~ "Их наÑтройки будут удалены, когда вы Ñохраните конфигурацию. "
-
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "Управление по умолчанию:\n"
-#~ "- WASD: перемещение\n"
-#~ "- ЛКМ: копать/ударить\n"
-#~ "- ПКМ: поÑтавить/иÑпользовать\n"
-#~ "- КолеÑо мыши: выбор предмета\n"
-#~ "- 0...9: выбор предмета\n"
-#~ "- Shift: краÑтьÑÑ\n"
-#~ "- R: Ñмотреть далеко\n"
-#~ "- I: инвентарь\n"
-#~ "- ESC: Ñто меню\n"
-#~ "- T: чат\n"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Ошибка при удалении файлов мира"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Ðевозможно наÑтроить мир: ничего не выбрано"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Ðевозможно Ñоздать мир: Ðи одной игры не найдено"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Следующие файлы будут удалены"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Ðевозможно удалить мир: Ðичего не выбрано"
-
-#~ msgid "Address required."
-#~ msgstr "Ðужно ввеÑти адреÑ."
-
-#~ msgid "Create world"
-#~ msgstr "Создать мир"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "ОÑтавьте Ð°Ð´Ñ€ÐµÑ Ð¿ÑƒÑтым Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка локального Ñервера."
-
-#~ msgid "Show Favorites"
-#~ msgstr "Избранные"
-
-#~ msgid "Show Public"
-#~ msgstr "Публичные"
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Ðевозможно Ñоздать мир: Ð˜Ð¼Ñ Ñодержит недопуÑтимые Ñимволы"
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "Предупреждение: ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ. "
-
-#~ msgid "Configuration saved. "
-#~ msgstr "ÐаÑтройки Ñохранены. "
-
-#~ msgid "is required by:"
-#~ msgstr "требуетÑÑ Ð´Ð»Ñ:"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr "ЛКМ: ПеремеÑтить вÑе предметы, ПКМ: ПеремеÑтить один предмет"
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Загрузить"
-
-#~ msgid "Touch free target"
-#~ msgstr "Свободный выбор цели"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "КоÑффициент маÑштаба интерфейÑа: "
-
-#, fuzzy
-#~ msgid "Wanted FPS"
-#~ msgstr "Ожидаемый FPS"
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "Предзагрузка текÑтур..."
-
-#, fuzzy
-#~ msgid "New style water"
-#~ msgstr "Ðовый Ñтиль воды"
-
-#~ msgid ""
-#~ "Key for increasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Клавиша Ð£Ð²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ð³Ð¾ диапазона. ИзменÑет минимальную дальноÑть "
-#~ "отображениÑ.\n"
-#~ "Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for decreasing the viewing range. Modifies the minimum viewing "
-#~ "range.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Клавиша ÑƒÐ¼ÐµÐ½ÑŒÑˆÐµÐ½Ð¸Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ð³Ð¾ диапазона. ИзменÑет минимальную дальноÑть "
-#~ "отображениÑ.\n"
-#~ "Смотрите http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Enable a bit lower water surface, so it doesn't \"fill\" the node "
-#~ "completely.\n"
-#~ "Note that this is not quite optimized and that smooth lighting on the\n"
-#~ "water surface doesn't work with this."
-#~ msgstr ""
-#~ "Включите немного более низкую поверхноÑть воды, чтобы она\n"
-#~ "не заполнÑла блок полноÑтью. Учтите, что Ñто не ÑовÑем оптимизировано,\n"
-#~ "и мÑгкое оÑвещение на поверхноÑти воды не работает Ñ Ñтим."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "РаÑширенные наÑтройки"
-
-#, fuzzy
-#~ msgid "View"
-#~ msgstr "ПроÑмотр"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ðтрибуты генерации карты, отноÑÑщиеÑÑ Ðº генератору карты верÑии 5.\n"
-#~ "Флаги, не указанные в Ñтроке флагов, оÑтаютÑÑ Ð² значении по умолчанию.\n"
-#~ "Флаги Ñ Ð¿Ñ€Ð¸Ñтавкой 'no' Ñвно отключают их."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ðтрибуты генерации карты, отноÑÑщиеÑÑ Ðº генератору карты верÑии 5.\n"
-#~ "Флаги, не указанные в Ñтроке флагов, оÑтаютÑÑ Ð² значении по умолчанию.\n"
-#~ "Флаги Ñ Ð¿Ñ€Ð¸Ñтавкой 'no' Ñвно отключают их."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ðтрибуты генерации карты, отноÑÑщиеÑÑ Ðº генератору карты верÑии 5.\n"
-#~ "Флаги, не указанные в Ñтроке флагов, оÑтаютÑÑ Ð² значении по умолчанию.\n"
-#~ "Флаги Ñ Ð¿Ñ€Ð¸Ñтавкой 'no' Ñвно отключают их."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Кино"
diff --git a/po/sl/minetest.po b/po/sl/minetest.po
index 720c2060f..47e53ffe8 100644
--- a/po/sl/minetest.po
+++ b/po/sl/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Slovenian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-24 00:05+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Slovenian <https://hosted.weblate.org/projects/minetest/"
"minetest/sl/>\n"
"Language: sl\n"
@@ -13,24 +13,22 @@ msgstr ""
"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.4\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
msgstr "Ponovno oživi"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "Mrtev si."
+msgstr "Umrl si"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
-msgstr "Prišlo je do napake v kodi Lua kodi:"
+msgid "An error occurred in a Lua script:"
+msgstr "Prišlo je do napake v Lua kodi, kot prilagoditvi:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Prišlo je do napake:"
@@ -99,27 +97,24 @@ msgid "Disable all"
msgstr "OnemogoÄi vse"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "OnemogoÄeno"
+msgstr "OnemogoÄi paket prilagoditev"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "OmogoÄi vse"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "Preimenuj Modpack:"
+msgstr "OmogoÄi paket prilagoditev"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
"Zagon prilagoditve »$1« je spodletel zaradi uporabljenih nedovoljenih "
-"znakov. Dovoljeni so le znaki [a-z0-9_]."
+"znakov. Dovoljeni so le [a-z0-9_] znaki."
#: builtin/mainmenu/dlg_config_world.lua
msgid "Mod:"
@@ -127,13 +122,26 @@ msgstr "Prilagoditev:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Izbirne možnosti:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr "Opis prilagoditve ni na voljo"
+msgstr "Opis igre ni na voljo."
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Ni zaznanih odvisnosti."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "Opis prilagoditve ni na voljo"
+msgstr "Opis prilagoditve ni na voljo."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Izbirne možnosti:"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -154,26 +162,23 @@ msgstr "omogoÄeno"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "Vsi paketi"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
msgstr "Nazaj"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "Glavni Meni"
+msgstr "Nazaj na glavni meni"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Downloading and installing $1, please wait..."
-msgstr "Poteka prejemanje $1 ..."
+msgstr "PrenaÅ¡anje in nameÅ¡Äanje $1, prosimo poÄakajte..."
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "Namestitev $1 na $2 je spodletela"
+msgstr "Prenos $1 je spodletel"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -187,15 +192,15 @@ msgstr "Namesti"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Mods"
-msgstr "Prilagoditve"
+msgstr "Prilagoditve (mods)"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Ni mogoÄe pridobiti nobenega paketa"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Ni rezultatov"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -203,18 +208,16 @@ msgid "Search"
msgstr "PoiÅ¡Äi"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
msgstr "Paketi tekstur"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "Namesti"
+msgstr "Odstrani"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "Posodobi"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -225,9 +228,8 @@ msgid "Create"
msgstr "Ustvari"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Prejmi igro, kot je minetest_game, s spletiÅ¡Äa minetest.net."
+msgstr "Prenesi igro, kot na primer Minetest Game, s spletiÅ¡Äa minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -239,12 +241,11 @@ msgstr "Igra"
#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
msgid "Mapgen"
-msgstr "Oblika sveta"
+msgstr "Oblika sveta (mapgen)"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "Izberi obseg"
+msgstr "Niste izbrali igre"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -260,9 +261,8 @@ msgid "World name"
msgstr "Ime sveta"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "Ni nameÅ¡Äenih podatkov iger."
+msgstr "Ni nameÅ¡Äenih iger."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -275,14 +275,12 @@ msgid "Delete"
msgstr "Izbriši"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: failed to delete \"$1\""
-msgstr "Modmgr: brisanje »$1« je spodletelo"
+msgstr "Package manager: brisanje \"$1\" je spodletelo"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: invalid path \"$1\""
-msgstr "Modmgr: neveljavna pot modpath »$1«"
+msgstr "Package manager: neveljavna pot \"$1\""
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
@@ -294,21 +292,24 @@ msgstr "Sprejmi"
#: builtin/mainmenu/dlg_rename_modpack.lua
msgid "Rename Modpack:"
-msgstr "Preimenuj Modpack:"
+msgstr "Preimenuj paket prilagoditev:"
#: 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 ""
+"Ta paket prilagoditev ima jasno ime, doloÄeno v svojem modpack.conf, ki bo "
+"prepreÄilo kakrÅ¡nakoli preimenovanja tukaj."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(ni podanega opisa nastavitve)"
#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
msgid "2D Noise"
-msgstr ""
+msgstr "2D zvok"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -336,15 +337,15 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Oktave"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
-msgstr ""
+msgstr "Odmik"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Persistance"
-msgstr ""
+msgstr "Trajanje"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -352,7 +353,7 @@ msgstr "Vpisati je treba veljavno celo število."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid number."
-msgstr "Vpisati je treba veljavno številko."
+msgstr "Vpisati je treba veljavno število."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Restore Default"
@@ -360,17 +361,15 @@ msgstr "Obnovi privzeto"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
-msgstr ""
+msgstr "Skala"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "Izbor datoteke prilagoditve:"
+msgstr "Izberi mapo"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "Izbor datoteke prilagoditve:"
+msgstr "Izberi datoteko"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
@@ -386,156 +385,129 @@ msgstr "Vrednost ne sme biti veÄja od $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "X širjenje"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Y širjenje"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Z širjenje"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
-msgstr ""
+msgstr "Absolutna vrednost"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "defaults"
-msgstr ""
+msgstr "Privzeta/standardna vrednost (defaults)"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "eased"
msgstr ""
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "OmogoÄeno"
+msgstr "$1 (omogoÄeno)"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "Nastavitve prilagoditev"
+msgstr "$1 prilagoditve"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
msgstr "Namestitev $1 na $2 je spodletela"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find real mod name for: $1"
-msgstr "Namestitev prilagoditve: ni mogoÄe najti pravega imena: $1"
+msgstr "Namestitev prilagoditve: ni mogoÄe najti pravega imena za: $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
msgstr ""
-"Namestitev prilagoditve: ni mogoÄe najti ustrezne ime mape za paket modpack "
-"$1"
+"Namestitev prilagoditve: ni mogoÄe najti ustreznega imena mape za paket "
+"prilagoditev $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"NameÅ¡Äanje prilagoditve: nepodprta vrsta datoteke »$1« oziroma okvarjen arhiv"
+msgstr "NameÅ¡Äanje: nepodprta vrsta datoteke \"$1\" oziroma okvarjen arhiv"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: file: \"$1\""
-msgstr "Namesti prilagoditev: datoteka: »$1«"
+msgstr "Namesti: datoteka: »$1«"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr ""
-"Namestitev prilagoditve: ni mogoÄe najti ustrezne ime mape za paket modpack "
-"$1"
+msgstr "Ni mogoÄe najti ustrezne prilagoditve ali paketa prilagoditev"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "Namestitev $1 na $2 je spodletela"
+msgstr "Ni mogoÄe namestiti $1 kot paket tekstur"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "Namestitev $1 na $2 je spodletela"
+msgstr "Ni mogoÄe namestiti igre kot $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a mod as a $1"
-msgstr "Namestitev $1 na $2 je spodletela"
+msgstr "Ni mogoÄe namestiti prilagoditve kot $1"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "Namestitev $1 na $2 je spodletela"
+msgstr "Ni mogoÄe namestiti paketa prilagoditev kot $1"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
-msgstr ""
+msgstr "Brskaj po spletnih vsebinah"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "Nadaljuj"
+msgstr "Vsebina"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Disable Texture Pack"
-msgstr "Izbor paketa teksture:"
+msgstr "OnemogoÄi paket tekstur"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Information:"
-msgstr "Podrobnosti prilagoditve:"
+msgstr "Informacije:"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Installed Packages:"
-msgstr "NameÅ¡Äene prilagoditve:"
+msgstr "NameÅ¡Äeni paketi:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
msgstr "Ni zaznanih odvisnosti."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "Opis prilagoditve ni na voljo"
+msgstr "Opis paketa ni na voljo"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
msgstr "Preimenuj"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "Izbor datoteke prilagoditve:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
-msgstr "Odstrani izbrano prilagoditev"
+msgstr "Odstrani paket"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "Paketi tekstur"
+msgstr "Uporabi paket tekstur"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -575,11 +547,11 @@ msgstr "Ustvarjalni naÄin"
#: builtin/mainmenu/tab_local.lua builtin/mainmenu/tab_simple_main.lua
msgid "Enable Damage"
-msgstr "OnemogoÄi nesmrtnost"
+msgstr "OmogoÄi poÅ¡kodbe"
#: builtin/mainmenu/tab_local.lua
msgid "Host Game"
-msgstr "Gostiteljska igra"
+msgstr "Gosti igro"
#: builtin/mainmenu/tab_local.lua
msgid "Host Server"
@@ -614,9 +586,8 @@ msgid "Server Port"
msgstr "Vrata strežnika"
#: builtin/mainmenu/tab_local.lua
-#, fuzzy
msgid "Start Game"
-msgstr "Gostiteljska igra"
+msgstr "ZaÄni igro"
#: builtin/mainmenu/tab_online.lua
msgid "Address / Port"
@@ -632,7 +603,7 @@ msgstr "Ustvarjalni naÄin"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Damage enabled"
-msgstr "Nesmrtni naÄin je onemogoÄen"
+msgstr "PoÅ¡kodbe so omogoÄene"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Del. Favorite"
@@ -643,9 +614,8 @@ msgid "Favorite"
msgstr "Priljubljeno"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Join Game"
-msgstr "Gostiteljska igra"
+msgstr "Prijavi se v igro"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Name / Password"
@@ -665,7 +635,7 @@ msgstr "2x"
#: builtin/mainmenu/tab_settings.lua
msgid "3D Clouds"
-msgstr "Prostorski prikaz oblakov"
+msgstr "Prostorski, 3D prikaz oblakov"
#: builtin/mainmenu/tab_settings.lua
msgid "4x"
@@ -676,9 +646,8 @@ msgid "8x"
msgstr "8x"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "Nastavitve"
+msgstr "Vse nastavitve"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -689,7 +658,6 @@ msgid "Are you sure to reset your singleplayer world?"
msgstr "Ali res želiš ponastaviti samostojno igro?"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Autosave Screen Size"
msgstr "Samodejno shrani velikost zaslona"
@@ -703,7 +671,7 @@ msgstr "Površinsko preslikavanje"
#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
msgid "Change Keys"
-msgstr "Spremeni tipkovne bližnjice"
+msgstr "Spremeni tipke"
#: builtin/mainmenu/tab_settings.lua
msgid "Connected Glass"
@@ -715,15 +683,15 @@ msgstr "Olepšani listi"
#: builtin/mainmenu/tab_settings.lua
msgid "Generate Normal Maps"
-msgstr ""
+msgstr "Generiranje normalnih svetov"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap"
-msgstr "SliÄice Mipmap"
+msgstr "Zemljevid (minimap)"
#: builtin/mainmenu/tab_settings.lua
msgid "Mipmap + Aniso. Filter"
-msgstr "SliÄice Mipmap s filtrom Aniso"
+msgstr "Zemljevid (minimap) s filtrom Aniso"
#: builtin/mainmenu/tab_settings.lua
msgid "No"
@@ -735,7 +703,7 @@ msgstr "Brez filtra"
#: builtin/mainmenu/tab_settings.lua
msgid "No Mipmap"
-msgstr "Brez sliÄic Mipmap"
+msgstr "Brez zemljevida (minimap)"
#: builtin/mainmenu/tab_settings.lua
msgid "Node Highlighting"
@@ -818,12 +786,13 @@ msgid "Waving Leaves"
msgstr "Pokaži premikanje listov"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Pokaži nihanje rastlin"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Pokaži premikanje listov"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Pokaži valovanje vode"
+msgid "Waving Plants"
+msgstr "Pokaži nihanje rastlin"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -889,15 +858,15 @@ msgstr ""
#: src/client/clientlauncher.cpp
msgid "Player name too long."
-msgstr "Naziv igralca je predolg."
+msgstr "Ime igralca je predolgo."
#: src/client/clientlauncher.cpp
msgid "Please choose a name!"
-msgstr "Izbrati je treba naziv!"
+msgstr "Izbrati je treba ime!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
-msgstr ""
+msgstr "Ni bilo mogoÄe odpreti datoteke z geslom: "
#: src/client/clientlauncher.cpp
msgid "Provided world path doesn't exist: "
@@ -948,41 +917,36 @@ msgid "- Server Name: "
msgstr "– Ime strežnika: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "Filmski naÄin"
+msgstr "Samodejno premikanje naprej je onemogoÄeno"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "Filmski naÄin"
+msgstr "Samodejno premikanje naprej je omogoÄeno"
#: src/client/game.cpp
msgid "Camera update disabled"
-msgstr ""
+msgstr "Posodabljanje kamere je onemogoÄeno"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "Nesmrtni naÄin je onemogoÄen"
+msgstr "Posodabljanje kamere je omogoÄeno"
#: src/client/game.cpp
msgid "Change Password"
msgstr "Spremeni geslo"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode disabled"
-msgstr "Filmski naÄin"
+msgstr "Filmski naÄin(Cinematic mode) je onemogoÄen"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode enabled"
-msgstr "Filmski naÄin"
+msgstr "Filmski naÄin (Cinematic mode) je omogoÄen"
#: src/client/game.cpp
msgid "Client side scripting is disabled"
-msgstr ""
+msgstr "Skriptiranje s strani odjemalca je onemogoÄeno"
#: src/client/game.cpp
msgid "Connecting to server..."
@@ -1015,8 +979,8 @@ msgstr ""
"- %s 2: premakne se nazaj\n"
"- %s 3: premakne se levo\n"
"- %s 4: premakne se desno\n"
-"- %s 5: skoÄi / pleza\n"
-"- %s 6: se plazi / premakne se dol\n"
+"- %s 5: skakanje / plezanje\n"
+"- %s 6: plazenje / premikanje dol\n"
"- %s 7: vrže predmet stran\n"
"- %s 8: pokaže zalogo\n"
"- Miška: obrne / pogleda\n"
@@ -1039,7 +1003,7 @@ msgstr ""
#: src/client/game.cpp
msgid "Debug info shown"
-msgstr ""
+msgstr "Prikazani so podatki o odpravljanju napak"
#: src/client/game.cpp
msgid "Debug info, profiler graph, and wireframe hidden"
@@ -1066,7 +1030,7 @@ msgstr ""
"- dvojni klik: postavi / uporabi\n"
"- drsanje: pogled naokoli\n"
"S prikazanim menijem / zalogo:\n"
-"- dvojni klik (ozven polja):\n"
+"- dvojni klik (izven polja):\n"
" -->Zapre\n"
"- izbira polja:\n"
" --> premakne zalogo\n"
@@ -1075,55 +1039,51 @@ msgstr ""
#: src/client/game.cpp
msgid "Disabled unlimited viewing range"
-msgstr ""
+msgstr "OnemogoÄen neomejen doseg pogleda"
#: src/client/game.cpp
msgid "Enabled unlimited viewing range"
-msgstr ""
+msgstr "OmogoÄen neomejen doseg pogleda"
#: src/client/game.cpp
msgid "Exit to Menu"
-msgstr "Glavni meni"
+msgstr "Izhod na meni"
#: src/client/game.cpp
msgid "Exit to OS"
-msgstr "KonÄaj igro"
+msgstr "Zapri minetest"
#: src/client/game.cpp
msgid "Fast mode disabled"
-msgstr ""
+msgstr "Hitri naÄin je onemogoÄen"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
-msgstr "Nesmrtni naÄin je onemogoÄen"
+msgstr "Hitri naÄin je omogoÄen"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
-msgstr ""
+msgstr "Hitri naÄin je omogoÄen (opozorilo: nimate 'fast' privilegija)"
#: src/client/game.cpp
msgid "Fly mode disabled"
-msgstr ""
+msgstr "NaÄin letenja je onemogoÄen"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "Nesmrtni naÄin je onemogoÄen"
+msgstr "NaÄin letenja je omogoÄen"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr ""
+msgstr "NaÄin letenja je omogoÄen (opozorilo: nimate 'fly' privilegija)"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog disabled"
-msgstr "OnemogoÄeno"
+msgstr "Megla onemogoÄena"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog enabled"
-msgstr "omogoÄeno"
+msgstr "Megla omogoÄena"
#: src/client/game.cpp
msgid "Game info:"
@@ -1156,47 +1116,49 @@ msgstr "MiB/s"
#: src/client/game.cpp
msgid "Minimap currently disabled by game or mod"
msgstr ""
+"Zemljevid (minimap) je trenutno onemogoÄen zaradi igre ali prilagoditve"
#: src/client/game.cpp
msgid "Minimap hidden"
-msgstr ""
+msgstr "Zemljevid (minimap) je skrit"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x1"
-msgstr ""
+msgstr "Zemljevid (minimap) je v radar naÄinu, Zoom x1"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x2"
-msgstr ""
+msgstr "Zemljevid (minimap) je v radar naÄinu, Zoom x2"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x4"
-msgstr ""
+msgstr "Zemljevid (minimap) je v radar naÄinu, Zoom x4"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x1"
-msgstr ""
+msgstr "Zemljevid (minimap) je v naÄinu prikazovanja povrÅ¡ja, Zoom x1"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x2"
-msgstr ""
+msgstr "Zemljevid (minimap) je v naÄinu prikazovanja povrÅ¡ja, Zoom x2"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x4"
-msgstr ""
+msgstr "Zemljevid (minimap) je v naÄinu prikazovanja povrÅ¡ja, Zoom x4"
#: src/client/game.cpp
msgid "Noclip mode disabled"
-msgstr ""
+msgstr "Prehod skozi zid (naÄin duha) je onemogoÄen"
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled"
-msgstr "Nesmrtni naÄin je onemogoÄen"
+msgstr "Prehod skozi zid (naÄin duha) je omogoÄen"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
msgstr ""
+"Prehod skozi zid (naÄin duha) je omogoÄen (opozorilo: nimate 'noclip' "
+"privilegija)"
#: src/client/game.cpp
msgid "Node definitions..."
@@ -1212,11 +1174,11 @@ msgstr "Vklopljeno"
#: src/client/game.cpp
msgid "Pitch move mode disabled"
-msgstr ""
+msgstr "Prostorsko premikanje (pitch mode) je onemogoÄeno"
#: src/client/game.cpp
msgid "Pitch move mode enabled"
-msgstr ""
+msgstr "Prostorsko premikanje (pitch mode) je omogoÄeno"
#: src/client/game.cpp
msgid "Profiler graph shown"
@@ -1243,29 +1205,27 @@ msgid "Sound Volume"
msgstr "Glasnost zvoka"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound muted"
-msgstr "Glasnost zvoka"
+msgstr "Zvok je utišan"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound unmuted"
-msgstr "Glasnost zvoka"
+msgstr "Zvok ni utišan"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range changed to %d"
-msgstr "Glasnost zvoka je nastavljena na %d %%"
+msgstr "Doseg pogleda je nastavljena na %d %%"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at maximum: %d"
-msgstr ""
+msgstr "Doseg pogleda je na maksimumu: %d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at minimum: %d"
-msgstr ""
+msgstr "Doseg pogleda je na minimumu: %d"
#: src/client/game.cpp
#, c-format
@@ -1278,7 +1238,7 @@ msgstr ""
#: src/client/game.cpp
msgid "Zoom currently disabled by game or mod"
-msgstr ""
+msgstr "Približanje (zoom) je trenutno onemogoÄen zaradi igre ali prilagoditve"
#: src/client/game.cpp src/gui/modalMenu.cpp
msgid "ok"
@@ -1286,19 +1246,19 @@ msgstr "v redu"
#: src/client/gameui.cpp
msgid "Chat hidden"
-msgstr ""
+msgstr "Pogovor je skrit"
#: src/client/gameui.cpp
msgid "Chat shown"
-msgstr ""
+msgstr "Pogovor je prikazan"
#: src/client/gameui.cpp
msgid "HUD hidden"
-msgstr ""
+msgstr "HUD je skrit"
#: src/client/gameui.cpp
msgid "HUD shown"
-msgstr ""
+msgstr "HUD je prikazan"
#: src/client/gameui.cpp
msgid "Profiler hidden"
@@ -1311,12 +1271,11 @@ msgstr ""
#: src/client/keycode.cpp
msgid "Apps"
-msgstr ""
+msgstr "Aplikacije"
#: src/client/keycode.cpp
-#, fuzzy
msgid "Backspace"
-msgstr "Nazaj"
+msgstr "Backspace"
#: src/client/keycode.cpp
msgid "Caps Lock"
@@ -1456,7 +1415,7 @@ msgstr "Tipka 4 na Å¡tevilÄnici"
#: src/client/keycode.cpp
msgid "Numpad 5"
-msgstr "Tipka 4 na Å¡tevilÄnici"
+msgstr "Tipka 5 na Å¡tevilÄnici"
#: src/client/keycode.cpp
msgid "Numpad 6"
@@ -1480,11 +1439,11 @@ msgstr ""
#: src/client/keycode.cpp
msgid "Page down"
-msgstr ""
+msgstr "Stran nižje"
#: src/client/keycode.cpp
msgid "Page up"
-msgstr ""
+msgstr "Stran višje"
#: src/client/keycode.cpp
msgid "Pause"
@@ -1492,7 +1451,7 @@ msgstr "Premor"
#: src/client/keycode.cpp
msgid "Play"
-msgstr ""
+msgstr "Igraj"
#: src/client/keycode.cpp
msgid "Print"
@@ -1540,7 +1499,7 @@ msgstr "Shift"
#: src/client/keycode.cpp
msgid "Sleep"
-msgstr ""
+msgstr "Spanje"
#: src/client/keycode.cpp
msgid "Snapshot"
@@ -1576,44 +1535,45 @@ msgstr "Gesli se ne ujemata!"
#: src/gui/guiConfirmRegistration.cpp
msgid "Register and Join"
-msgstr ""
+msgstr "Registriraj in prijavi se"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
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."
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
msgstr "Nadaljuj"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "\"Special\" = climb down"
-msgstr "»Uporaba« = premakni se navzdol"
+msgstr "\"Special\" = plezanje dol"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Autoforward"
-msgstr "Naprej"
+msgstr "Samodejno premikanje naprej"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
-msgstr ""
+msgstr "Samodejno skakanje"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Backward"
msgstr "Nazaj"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
-msgstr "Spremeni tipke"
+msgstr "Sprememba kamere"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
@@ -1629,7 +1589,7 @@ msgstr "Konzola"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. range"
-msgstr ""
+msgstr "Zmanjšaj doseg pogleda"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Dec. volume"
@@ -1641,7 +1601,7 @@ msgstr "Dvojni klik »skoka« omogoÄi letenje"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Drop"
-msgstr "Spusti"
+msgstr "Izvrzi"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Forward"
@@ -1649,7 +1609,7 @@ msgstr "Naprej"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. range"
-msgstr ""
+msgstr "PoveÄaj doseg pogleda"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Inc. volume"
@@ -1693,29 +1653,23 @@ msgstr "Izberi obseg"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Screenshot"
-msgstr ""
+msgstr "Posnetek zaslona"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Sneak"
-msgstr "Priplazi se"
+msgstr "Plaziti se"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Special"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Preklopi gladek pogled"
+msgstr "Specialen"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle HUD"
-msgstr "Preklopi letenje"
+msgstr "Preklopi HUD"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle chat log"
-msgstr "Preklopi hitro premikanje"
+msgstr "Preklopi beleženje pogovora"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle fast"
@@ -1726,20 +1680,23 @@ msgid "Toggle fly"
msgstr "Preklopi letenje"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle fog"
-msgstr "Preklopi letenje"
+msgstr "Preklopi meglo"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
-msgstr "Preklopi premikanje skozi kocke"
+msgstr "Preklopi zemljevid (minimap)"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
msgstr "Preklopi premikanje skozi kocke"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Preklopi beleženje pogovora"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "pritisni tipko"
@@ -1761,12 +1718,11 @@ msgstr "Staro geslo"
#: src/gui/guiVolumeChange.cpp
msgid "Exit"
-msgstr "KonÄaj"
+msgstr "Izhod"
#: src/gui/guiVolumeChange.cpp
-#, fuzzy
msgid "Muted"
-msgstr "Utišaj"
+msgstr "Utišano"
#: src/gui/guiVolumeChange.cpp
msgid "Sound Volume: "
@@ -1847,6 +1803,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr ""
@@ -1877,6 +1837,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1899,10 +1863,13 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server crashes."
msgstr ""
+"SporoÄilo, ki bo prikazano vsem odjemalcem (igralcem), ko se strežnik sesuje."
#: src/settings_translation_file.cpp
msgid "A message to be displayed to all clients when the server shuts down."
msgstr ""
+"SporoÄilo, ki bo prikazano vsem odjemalcem (igralcem), ko se strežnik "
+"zaustavi/izklopi."
#: src/settings_translation_file.cpp
msgid "ABM interval"
@@ -1917,6 +1884,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -1958,7 +1929,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Advanced"
-msgstr ""
+msgstr "Naprednejše"
#: src/settings_translation_file.cpp
msgid "Alters how mountain-type floatlands taper above and below midpoint."
@@ -1969,8 +1940,9 @@ msgid "Altitude chill"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Always fly and fast"
-msgstr ""
+msgstr "Vedno leti in bodi hiter (fly and fast mode)"
#: src/settings_translation_file.cpp
msgid "Ambient occlusion gamma"
@@ -1990,12 +1962,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Announce server"
-msgstr ""
+msgstr "Objavi strežnik"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Announce to this serverlist."
-msgstr "Objavi strežnik"
+msgstr "Objavi strežnik na seznamu strežnikov."
#: src/settings_translation_file.cpp
msgid "Append item name"
@@ -2006,8 +1977,9 @@ msgid "Append item name to tooltip."
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Apple trees noise"
-msgstr ""
+msgstr "Å um jablan"
#: src/settings_translation_file.cpp
msgid "Arm inertia"
@@ -2021,7 +1993,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Ask to reconnect after crash"
-msgstr ""
+msgstr "Vprašaj za ponovno povezavo po sesutju"
#: src/settings_translation_file.cpp
msgid ""
@@ -2039,17 +2011,17 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
-msgstr "Naprej"
+msgstr "Tipka za avtomatsko premikanje naprej"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
-msgstr ""
+msgstr "Avtomatsko skoÄi Äez ovire, visoke eno vozliÅ¡Äe."
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Automatically report to the serverlist."
-msgstr ""
+msgstr "Samodejno sporoÄi na seznam strežnikov."
#: src/settings_translation_file.cpp
msgid "Autosave screen size"
@@ -2061,11 +2033,12 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Backward key"
-msgstr ""
+msgstr "Tipka backward"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Base ground level"
-msgstr ""
+msgstr "Osnovna podlaga"
#: src/settings_translation_file.cpp
msgid "Base terrain height."
@@ -2077,7 +2050,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Basic privileges"
-msgstr ""
+msgstr "Osnovni privilegiji"
#: src/settings_translation_file.cpp
msgid "Beach noise"
@@ -2113,7 +2086,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Build inside player"
-msgstr ""
+msgstr "Postavljanje blokov znotraj igralca"
#: src/settings_translation_file.cpp
msgid "Builtin"
@@ -2125,7 +2098,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2144,20 +2117,23 @@ msgid "Camera update toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Cave noise"
-msgstr ""
+msgstr "Å um jame"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Cave noise #1"
-msgstr ""
+msgstr "Å um jame #1"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Cave noise #2"
-msgstr ""
+msgstr "Å um jame #2"
#: src/settings_translation_file.cpp
msgid "Cave width"
-msgstr ""
+msgstr "Å irina jame"
#: src/settings_translation_file.cpp
msgid "Cave1 noise"
@@ -2169,23 +2145,24 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Cavern limit"
-msgstr ""
+msgstr "Omejitev votline"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Cavern noise"
-msgstr ""
+msgstr "Å um votline"
#: src/settings_translation_file.cpp
msgid "Cavern taper"
-msgstr ""
+msgstr "Zoženje votline"
#: src/settings_translation_file.cpp
msgid "Cavern threshold"
-msgstr ""
+msgstr "Vhod v jamo"
#: src/settings_translation_file.cpp
msgid "Cavern upper limit"
-msgstr ""
+msgstr "Zgornja meja jam"
#: src/settings_translation_file.cpp
msgid "Center of light curve mid-boost."
@@ -2203,11 +2180,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Chat key"
-msgstr ""
+msgstr "Tipka za pogovor"
#: src/settings_translation_file.cpp
msgid "Chat message count limit"
-msgstr ""
+msgstr "Omejitev Å¡tevila sporoÄil pogovora"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "Maksimalna dolžina pogovornega sporoÄila"
#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
@@ -2215,11 +2197,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Chat message max length"
-msgstr ""
+msgstr "Maksimalna dolžina pogovornega sporoÄila"
#: src/settings_translation_file.cpp
msgid "Chat toggle key"
-msgstr ""
+msgstr "Tipka za preklop na klepet"
#: src/settings_translation_file.cpp
msgid "Chatcommands"
@@ -2231,11 +2213,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Cinematic mode"
-msgstr "Filmski naÄin"
+msgstr "Filmski naÄin (Cinematic mode)"
#: src/settings_translation_file.cpp
msgid "Cinematic mode key"
-msgstr ""
+msgstr "Tipka za filmski naÄin"
#: src/settings_translation_file.cpp
msgid "Clean transparent textures"
@@ -2247,7 +2229,7 @@ msgstr "Odjemalec"
#: src/settings_translation_file.cpp
msgid "Client and Server"
-msgstr ""
+msgstr "Odjemalec in strežnik"
#: src/settings_translation_file.cpp
msgid "Client modding"
@@ -2263,15 +2245,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Climbing speed"
-msgstr ""
+msgstr "Hitrost plezanja"
#: src/settings_translation_file.cpp
msgid "Cloud radius"
-msgstr ""
+msgstr "Polmer oblaka"
#: src/settings_translation_file.cpp
msgid "Clouds"
-msgstr ""
+msgstr "Oblaki"
#: src/settings_translation_file.cpp
msgid "Clouds are a client side effect."
@@ -2279,11 +2261,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Clouds in menu"
-msgstr ""
+msgstr "Oblaki v meniju"
#: src/settings_translation_file.cpp
msgid "Colored fog"
-msgstr ""
+msgstr "Barvna megla"
#: src/settings_translation_file.cpp
msgid ""
@@ -2314,15 +2296,16 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Connect glass"
-msgstr ""
+msgstr "Poveži steklo"
#: src/settings_translation_file.cpp
msgid "Connect to external media server"
-msgstr ""
+msgstr "Poveži se z zunanjim medijskim strežnikom"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Connects glass if supported by node."
-msgstr ""
+msgstr "Povezuje steklo, Äe ga vozliÅ¡Äe podpira."
#: src/settings_translation_file.cpp
msgid "Console alpha"
@@ -2343,11 +2326,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid "ContentDB URL"
-msgstr "Nadaljuj"
+msgstr "ContentDB URL"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
-msgstr ""
+msgstr "Neprekinjeno naprej"
#: src/settings_translation_file.cpp
msgid ""
@@ -2367,6 +2350,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2386,11 +2373,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Crash message"
-msgstr ""
+msgstr "SporoÄilo o sesutju"
#: src/settings_translation_file.cpp
msgid "Creative"
-msgstr ""
+msgstr "Ustvarjalen"
#: src/settings_translation_file.cpp
msgid "Crosshair alpha"
@@ -2414,7 +2401,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Damage"
-msgstr ""
+msgstr "Poškodbe"
#: src/settings_translation_file.cpp
msgid "Darkness sharpness"
@@ -2425,11 +2412,19 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
#: src/settings_translation_file.cpp
msgid "Dec. volume key"
+msgstr "Tipka za zmanjševanje glasnosti"
+
+#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2442,21 +2437,23 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Default game"
-msgstr ""
+msgstr "Privzeta igra"
#: 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 ""
+"Privzeta igra pri ustvarjanju novega sveta.\n"
+"To ne bo upoštevano pri ustvarjanju sveta iz glavnega menija."
#: src/settings_translation_file.cpp
msgid "Default password"
-msgstr ""
+msgstr "Privzeto geslo"
#: src/settings_translation_file.cpp
msgid "Default privileges"
-msgstr ""
+msgstr "Privzeti privilegiji"
#: src/settings_translation_file.cpp
msgid "Default report format"
@@ -2476,49 +2473,67 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Defines areas where trees have apples."
-msgstr ""
+msgstr "DoloÄa obmoÄja, kjer imajo drevesa jabolka."
#: src/settings_translation_file.cpp
msgid "Defines areas with sandy beaches."
-msgstr ""
+msgstr "DoloÄa obmoÄja s peÅ¡Äenimi plažami."
#: src/settings_translation_file.cpp
msgid "Defines distribution of higher terrain and steepness of cliffs."
-msgstr ""
+msgstr "DoloÄa porazdelitev viÅ¡jega terena in strmino klifov."
#: src/settings_translation_file.cpp
msgid "Defines distribution of higher terrain."
-msgstr ""
+msgstr "DoloÄa porazdelitev viÅ¡jega terena."
#: src/settings_translation_file.cpp
msgid "Defines full size of caverns, smaller values create larger caverns."
msgstr ""
+"DoloÄa polno velikost votlin, manjÅ¡e vrednosti ustvarjajo veÄje votline."
#: src/settings_translation_file.cpp
msgid "Defines large-scale river channel structure."
-msgstr ""
+msgstr "DoloÄa obsežno strukturo reÄnega kanala."
#: src/settings_translation_file.cpp
msgid "Defines location and terrain of optional hills and lakes."
-msgstr ""
+msgstr "DoloÄa lokacijo in teren neobveznih griÄev in jezer."
#: src/settings_translation_file.cpp
msgid ""
"Defines sampling step of texture.\n"
"A higher value results in smoother normal maps."
msgstr ""
+"DoloÄa korak vzorÄenja teksture.\n"
+"ViÅ¡ja vrednost povzroÄi bolj gladke normalne zemljevide."
#: src/settings_translation_file.cpp
msgid "Defines the base ground level."
-msgstr ""
+msgstr "DoloÄa osnovno podlago."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "DoloÄa osnovno podlago."
#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
-msgstr ""
+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."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "DoloÄa obmoÄja, kjer imajo drevesa jabolka."
#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
-msgstr ""
+msgstr "DoloÄa podroÄja dreves in gostoto dreves."
#: src/settings_translation_file.cpp
msgid ""
@@ -2539,18 +2554,26 @@ msgid "Deprecated Lua API handling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Depth below which you'll find giant caverns."
+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 "Depth below which you'll find giant caverns."
+msgstr "Globina pod katero boš našel ogromne votline."
+
+#: src/settings_translation_file.cpp
msgid "Depth below which you'll find large caves."
-msgstr ""
+msgstr "Globina pod katero boš našel velike jame."
#: src/settings_translation_file.cpp
msgid ""
"Description of server, to be displayed when players join and in the "
"serverlist."
msgstr ""
+"Opis strežnika, ki bo prikazan na seznamu strežnikov in, ko se igralci "
+"prijavijo v igro."
#: src/settings_translation_file.cpp
msgid "Desert noise threshold"
@@ -2559,7 +2582,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2568,7 +2591,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Digging particles"
-msgstr ""
+msgstr "Kopanje delcev"
#: src/settings_translation_file.cpp
msgid "Disable anticheat"
@@ -2576,11 +2599,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Disallow empty passwords"
-msgstr ""
+msgstr "Ne dovoli praznih gesel"
#: src/settings_translation_file.cpp
msgid "Domain name of server, to be displayed in the serverlist."
-msgstr ""
+msgstr "Ime domene strežnika, ki se prikaže na seznamu strežnikov."
#: src/settings_translation_file.cpp
msgid "Double tap jump for fly"
@@ -2592,7 +2615,7 @@ msgstr "Dvoklik tipke za skok preklopi naÄin letenja."
#: src/settings_translation_file.cpp
msgid "Drop item key"
-msgstr ""
+msgstr "Tipka za met predmeta"
#: src/settings_translation_file.cpp
msgid "Dump the mapgen debug information."
@@ -2607,14 +2630,20 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Å um votline"
+
+#: 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
+#, fuzzy
msgid "Enable VBO"
-msgstr ""
+msgstr "OmogoÄi VBO"
#: src/settings_translation_file.cpp
msgid "Enable console window"
@@ -2622,11 +2651,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable creative mode for new created maps."
-msgstr ""
+msgstr "OmogoÄi ustvarjalni naÄin za novo ustvarjene svetove."
#: src/settings_translation_file.cpp
msgid "Enable joysticks"
-msgstr ""
+msgstr "OmogoÄi joystick"
#: src/settings_translation_file.cpp
msgid "Enable mod channels support."
@@ -2638,7 +2667,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Enable players getting damage and dying."
-msgstr ""
+msgstr "OmogoÄi da igralci dobijo poÅ¡kodbo in umrejo."
#: src/settings_translation_file.cpp
msgid "Enable random user input (only used for testing)."
@@ -2711,7 +2740,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Enables minimap."
-msgstr ""
+msgstr "OmogoÄi zemljevid (minimap)."
#: src/settings_translation_file.cpp
msgid ""
@@ -2773,7 +2802,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Fast key"
-msgstr ""
+msgstr "Tipka za hitro"
#: src/settings_translation_file.cpp
msgid "Fast mode acceleration"
@@ -2799,11 +2828,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Field of view"
-msgstr ""
+msgstr "Vidno polje"
#: src/settings_translation_file.cpp
msgid "Field of view in degrees."
-msgstr ""
+msgstr "Vidno polje v stopinjah."
#: src/settings_translation_file.cpp
msgid ""
@@ -2813,8 +2842,9 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Filler depth"
-msgstr ""
+msgstr "Globina polnila"
#: src/settings_translation_file.cpp
msgid "Filler depth noise"
@@ -2834,7 +2864,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Filtering"
-msgstr ""
+msgstr "Filtriranje"
#: src/settings_translation_file.cpp
msgid "First of 4 2D noises that together define hill/mountain range height."
@@ -2846,11 +2876,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Fixed map seed"
-msgstr ""
+msgstr "Fiksno seme karte"
#: src/settings_translation_file.cpp
msgid "Fixed virtual joystick"
-msgstr ""
+msgstr "Fiksen virtualni joystick"
#: src/settings_translation_file.cpp
msgid "Floatland base height noise"
@@ -2878,7 +2908,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Fly key"
-msgstr ""
+msgstr "Tipka za letenje"
#: src/settings_translation_file.cpp
msgid "Flying"
@@ -2886,15 +2916,15 @@ msgstr "Letenje"
#: src/settings_translation_file.cpp
msgid "Fog"
-msgstr ""
+msgstr "Megla"
#: src/settings_translation_file.cpp
msgid "Fog start"
-msgstr ""
+msgstr "ZaÄetek megle"
#: src/settings_translation_file.cpp
msgid "Fog toggle key"
-msgstr ""
+msgstr "Tipka za preklop na meglo"
#: src/settings_translation_file.cpp
msgid "Font path"
@@ -2921,6 +2951,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -2958,7 +2995,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Forward key"
-msgstr ""
+msgstr "Tipka naprej"
#: src/settings_translation_file.cpp
msgid "Fourth of 4 2D noises that together define hill/mountain range height."
@@ -2998,7 +3035,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Full screen"
-msgstr ""
+msgstr "Celozaslonski naÄin"
#: src/settings_translation_file.cpp
msgid "Full screen BPP"
@@ -3006,7 +3043,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Fullscreen mode."
-msgstr ""
+msgstr "Celozaslonski naÄin."
#: src/settings_translation_file.cpp
msgid "GUI scaling"
@@ -3049,11 +3086,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Graphics"
-msgstr ""
+msgstr "Grafika"
#: src/settings_translation_file.cpp
msgid "Gravity"
-msgstr ""
+msgstr "Gravitacija"
#: src/settings_translation_file.cpp
msgid "Ground level"
@@ -3118,7 +3155,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Hill steepness"
-msgstr ""
+msgstr "Strmina hriba"
#: src/settings_translation_file.cpp
msgid "Hill threshold"
@@ -3145,144 +3182,162 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar next key"
+msgid ""
+"Horizontal acceleration in air when jumping or falling,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar previous key"
+msgid ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 1 key"
+msgid ""
+"Horizontal and vertical acceleration on ground or when climbing,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Hotbar next key"
+msgstr "Tipka za naslednji prostor v hotbar-u"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr "Tipka za prejšnji prostor v hotbar-u"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr "Tipka za prostor 1 v hotbar-u"
+
+#: src/settings_translation_file.cpp
msgid "Hotbar slot 10 key"
-msgstr ""
+msgstr "Tipka za prostor 10 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 11 key"
-msgstr ""
+msgstr "Tipka za prostor 11 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 12 key"
-msgstr ""
+msgstr "Tipka za prostor 12 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 13 key"
-msgstr ""
+msgstr "Tipka za prostor 13 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 14 key"
-msgstr ""
+msgstr "Tipka za prostor 14 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 15 key"
-msgstr ""
+msgstr "Tipka za prostor 15 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 16 key"
-msgstr ""
+msgstr "Tipka za prostor 17 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 17 key"
-msgstr ""
+msgstr "Tipka za prostor 17 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 18 key"
-msgstr ""
+msgstr "Tipka za prostor 18 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 19 key"
-msgstr ""
+msgstr "Tipka za prostor 19 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 2 key"
-msgstr ""
+msgstr "Tipka za prostor 2 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 20 key"
-msgstr ""
+msgstr "Tipka za prostor 20 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 21 key"
-msgstr ""
+msgstr "Tipka za prostor 21 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 22 key"
-msgstr ""
+msgstr "Tipka za prostor 22 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 23 key"
-msgstr ""
+msgstr "Tipka za prostor 23 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 24 key"
-msgstr ""
+msgstr "Tipka za prostor 24 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 25 key"
-msgstr ""
+msgstr "Tipka za prostor 25 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 26 key"
-msgstr ""
+msgstr "Tipka za prostor 26 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 27 key"
-msgstr ""
+msgstr "Tipka za prostor 27 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 28 key"
-msgstr ""
+msgstr "Tipka za prostor 28 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 29 key"
-msgstr ""
+msgstr "Tipka za prostor 29 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 3 key"
-msgstr ""
+msgstr "Tipka za prostor 3 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 30 key"
-msgstr ""
+msgstr "Tipka za prostor 30 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 31 key"
-msgstr ""
+msgstr "Tipka za prostor 31 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 32 key"
-msgstr ""
+msgstr "Tipka za prostor 32 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 4 key"
-msgstr ""
+msgstr "Tipka za prostor 4 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 5 key"
-msgstr ""
+msgstr "Tipka za prostor 5 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 6 key"
-msgstr ""
+msgstr "Tipka za prostor 6 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 7 key"
-msgstr ""
+msgstr "Tipka za prostor 7 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 8 key"
-msgstr ""
+msgstr "Tipka za prostor 8 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 9 key"
-msgstr ""
+msgstr "Tipka za prostor 9 v hotbar-u"
#: src/settings_translation_file.cpp
msgid "How deep to make rivers."
-msgstr ""
+msgstr "Kako globoke naredi reke."
#: src/settings_translation_file.cpp
msgid ""
@@ -3292,7 +3347,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "How wide to make rivers."
-msgstr ""
+msgstr "Kako široke naredi reke."
#: src/settings_translation_file.cpp
msgid "Humidity blend noise"
@@ -3308,21 +3363,23 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "IPv6"
-msgstr ""
+msgstr "IPv6"
#: src/settings_translation_file.cpp
msgid "IPv6 server"
-msgstr ""
+msgstr "IPv6 strežnik"
#: src/settings_translation_file.cpp
msgid "IPv6 support."
-msgstr ""
+msgstr "IPv6 podpora."
#: 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 ""
+"ÄŒe bi FPS presegel to, jo omeji s spanjem,\n"
+" da ne porablja moÄi CPU brez koristi."
#: src/settings_translation_file.cpp
msgid ""
@@ -3346,16 +3403,18 @@ msgid ""
"nodes.\n"
"This requires the \"noclip\" privilege on the server."
msgstr ""
+"ÄŒe je omogoÄen skupaj z leteÄim naÄinom, lahko igralec leti skozi trdna "
+"vozliÅ¡Äa.\n"
+"To zahteva privilegij \"noclip\" na strežniku."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
"down and\n"
"descending."
msgstr ""
-"Izbrana možnost omogoÄi delovanje tipke »uporabi« namesto tipke »prikrasti "
-"se« za spuÅ¡Äanja in plezanje navzdol."
+"Izbrana možnost omogoÄi delovanje \"posebne\" tipke namesto tipke \"plaziti "
+"se\" za spuÅ¡Äanja in plezanje navzdol."
#: src/settings_translation_file.cpp
msgid ""
@@ -3365,30 +3424,39 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "If enabled, disable cheat prevention in multiplayer."
-msgstr ""
+msgstr "ÄŒe je omogoÄeno, onemogoÄi prepreÄevanje goljufij v multiplayer-u."
#: 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 ""
+"ÄŒe je omogoÄeno, neveljavni podatki o svetu ne bodo povzroÄili zaustavitve "
+"strežnika.\n"
+"To omogoÄite le, Äe veste, kaj poÄnete."
#: src/settings_translation_file.cpp
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
+"ÄŒe je omogoÄeno, naredi igralÄevo smer premikanja odvisno od igralÄeve smeri "
+"pri letenju ali plavanju (premikaš se tja, kamor si obrnjen)."
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
-msgstr ""
+msgstr "ÄŒe je omogoÄeno, se novi igralci ne morejo prijaviti s praznim geslom."
#: src/settings_translation_file.cpp
+#, fuzzy
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 ""
+"ÄŒe je omogoÄeno, lahko postavite bloke na položaj (stopala + viÅ¡ina oÄi), "
+"kjer stojiš.\n"
+"To je koristno pri delu z vozliÅ¡Äi v majhnih obmoÄjih."
#: src/settings_translation_file.cpp
msgid ""
@@ -3398,16 +3466,26 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
+"ÄŒe je to nastavljeno, se bodo igralci vedno (ponovno) pojavili na danem "
+"položaju."
#: src/settings_translation_file.cpp
msgid "Ignore world errors"
-msgstr ""
+msgstr "Prezri napake svetov"
#: src/settings_translation_file.cpp
msgid "In-Game"
-msgstr ""
+msgstr "V igri"
#: src/settings_translation_file.cpp
msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
@@ -3415,14 +3493,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "In-game chat console background color (R,G,B)."
-msgstr ""
+msgstr "Barva ozadja konzole za klepet v igri (R, G, B)."
#: src/settings_translation_file.cpp
msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
-msgstr ""
+msgstr "Višina konzole za klepet med igro, med 0,1 (10%) in 1,0 (100%)."
#: src/settings_translation_file.cpp
msgid "Inc. volume key"
+msgstr "Tipka za poveÄanje glasnosti"
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4190,7 +4272,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4225,9 +4307,8 @@ msgid "Main menu script"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Main menu style"
-msgstr "Glavni meni"
+msgstr "Slog glavnega menija"
#: src/settings_translation_file.cpp
msgid ""
@@ -4263,6 +4344,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4274,7 +4362,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4317,41 +4405,41 @@ msgid "Mapgen Carpathian specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Flat"
-msgstr "Oblika sveta"
+msgstr "Oblika sveta (mapgen) Ravnina"
#: src/settings_translation_file.cpp
msgid "Mapgen Flat specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen Fractal"
-msgstr "Oblika sveta"
+msgstr "Oblika sveta (mapgen) Fractal"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Oblika sveta (mapgen) Fractal"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
-msgstr "Oblika sveta"
+msgstr "Oblika sveta (mapgen) V5"
#: src/settings_translation_file.cpp
msgid "Mapgen V5 specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V6"
-msgstr "Oblika sveta"
+msgstr "Oblika sveta (mapgen) V6"
#: src/settings_translation_file.cpp
msgid "Mapgen V6 specific flags"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Mapgen V7"
-msgstr "Oblika sveta"
+msgstr "Oblika sveta (mapgen) V7"
#: src/settings_translation_file.cpp
msgid "Mapgen V7 specific flags"
@@ -4415,6 +4503,12 @@ 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 ""
"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)"
@@ -4599,10 +4693,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4618,7 +4710,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4670,16 +4762,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4735,7 +4829,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Parallax occlusion scale"
-msgstr "Paralaksa"
+msgstr "Lestvica okluzije paralakse"
#: src/settings_translation_file.cpp
msgid "Parallax occlusion strength"
@@ -4834,10 +4928,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4921,6 +5011,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -4933,6 +5031,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5221,18 +5323,20 @@ msgid "Sneaking speed"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key"
-msgstr "pritisni tipko"
+msgstr "Posebna tipka"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Special key for climbing/descending"
-msgstr "Tipka, uporabljena za plezanje in spuÅ¡Äanje"
+msgstr "Posebna tipka, ki se uporablja za plezanje in spuÅ¡Äanje"
#: src/settings_translation_file.cpp
msgid ""
@@ -5531,10 +5635,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5637,6 +5742,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5686,10 +5795,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5714,16 +5831,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Pokaži valovanje vode"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Pokaži premikanje listov"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Pokaži valovanje vode"
#: src/settings_translation_file.cpp
msgid ""
@@ -5759,10 +5879,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5774,7 +5890,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Whether to allow players to damage and kill each other."
-msgstr ""
+msgstr "Ali dovoliš igralcem da poškodujejo in ubijejo drug drugega."
#: src/settings_translation_file.cpp
msgid ""
@@ -5813,9 +5929,8 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "World start time"
-msgstr "Ime sveta"
+msgstr "ÄŒas zaÄetka sveta"
#: src/settings_translation_file.cpp
msgid ""
@@ -5846,10 +5961,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5893,91 +6004,8 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Zapri trgovino"
-
-#~ msgid "Disable MP"
-#~ msgstr "OnemogoÄi MP"
-
-#~ msgid "Enable MP"
-#~ msgstr "OmogoÄi MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Ni podanega imena sveta ali pa svet ni izbran"
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Vpisati je treba z vejico loÄen seznam zastavic."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Dovoljene vrednosti so: "
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Format <odmik>, <velikost>, (<pomnožiX>, <pomnožiY>, <pomnožiZ>), <seme>, "
-#~ "<oktave>, <vztrajnost>"
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Zapis je doloÄen s tremi Å¡tevili v oklepaju, loÄenimi z vejicami."
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "»$1« ni veljavna zastavica."
-
-#~ msgid "Select path"
-#~ msgstr "Izbor poti"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Prilagoditve podiger"
-
-#~ msgid "Unsorted"
-#~ msgstr "NerazvrÅ¡Äeno"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Namestitev uspeÅ¡no konÄana:"
-
-#~ msgid "Shortname:"
-#~ msgstr "Kratko ime:"
-
-#~ msgid "Rating"
-#~ msgstr "Ocena"
-
-#~ msgid "re-Install"
-#~ msgstr "Ponovna namestitev"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Stran $1 od $2"
-
-#~ msgid "Local Game"
-#~ msgstr "Samostojna igra"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Odstrani izbrani paket modpack"
-
-#~ msgid "Play Online"
-#~ msgstr "Spletna igra"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "ObiÄajno preslikavanje"
-
-#~ msgid "No information available"
-#~ msgstr "Podrobnosti niso na voljo"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Glasnost zvok je nastavljena na 100 %"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Glasnost zvoka je nastavljena na 0 %"
-
-#~ msgid "Use"
-#~ msgstr "Uporabi"
-
-#~ msgid "Prior"
-#~ msgstr "Pred"
-
-#~ msgid "Next"
-#~ msgstr "Naprej"
+#~ msgid "Select Package File:"
+#~ msgstr "Izberi datoteko paketa:"
-#~ msgid "Advanced Settings"
-#~ msgstr "Napredne nastavitve"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Preklopi gladek pogled"
diff --git a/po/sr_Cyrl/minetest.po b/po/sr_Cyrl/minetest.po
index 8fbe37e1d..3c247bc23 100644
--- a/po/sr_Cyrl/minetest.po
+++ b/po/sr_Cyrl/minetest.po
@@ -1,11 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Serbian (cyrillic) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-13 13:11+0000\n"
-"Last-Translator: Muhammad Rifqi Priyo Susanto "
-"<muhammadrifqipriyosusanto@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Serbian (cyrillic) <https://hosted.weblate.org/projects/"
"minetest/minetest/sr_Cyrl/>\n"
"Language: sr_Cyrl\n"
@@ -14,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 3.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -27,7 +26,7 @@ msgstr "Умро/ла Ñи."
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "Догодила Ñе грешка у Lua Ñкрипти, у моду:"
#: builtin/fstk/ui.lua
@@ -129,14 +128,29 @@ msgstr "Мод:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Ðеобавезне завиÑноÑти:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No game description provided."
msgstr "Ðије доÑтупан Ð¾Ð¿Ð¸Ñ Ð¼Ð¾Ð´Ð°"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Ðема завиÑноÑти."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No modpack description provided."
msgstr "Ðије доÑтупан Ð¾Ð¿Ð¸Ñ Ð¼Ð¾Ð´Ð°"
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Ðеобавезне завиÑноÑти:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Ðеобавезне завиÑноÑти:"
@@ -528,11 +542,6 @@ msgstr "Преименуј"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "Изаберите фајл мода:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "Уклони изабрани мод"
@@ -824,12 +833,13 @@ msgid "Waving Leaves"
msgstr "Лепршајуће лишће"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Лепршајуће биљке"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Лепршајуће лишће"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "ВеÑлајућа вода"
+msgid "Waving Plants"
+msgstr "Лепршајуће биљке"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1590,11 +1600,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1716,10 +1726,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Укључи/ИÑкључи Cinematic мод"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "Укључи/ИÑкључи летење"
@@ -1752,6 +1758,11 @@ msgid "Toggle noclip"
msgstr "Укључи/иÑкључи пролажење кроз препреке"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Укључи/ИÑкључи трчање"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "притиÑните дугме"
@@ -1868,6 +1879,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "Тродимензионални облаци"
@@ -1898,6 +1913,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1949,6 +1968,10 @@ msgid "Acceleration in air"
msgstr "Убрзање у ваздуху"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Модификатори активног блока"
@@ -2177,7 +2200,7 @@ msgstr "Рељефна тектура"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2264,6 +2287,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Порука поÑле пада"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Граница пећине"
@@ -2433,6 +2461,10 @@ msgstr ""
"оÑтаје непромењено."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Контролише Ñтрмину/дубину језерÑких депреÑија."
@@ -2494,6 +2526,11 @@ msgid "Debug info toggle key"
msgstr "Кључ за укључивање debug информација"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Граница Ñемена за плаже"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Ðиво запиÑивања у debug"
@@ -2502,6 +2539,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Корак на поÑвећеном Ñерверу"
@@ -2584,10 +2625,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2610,6 +2663,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2630,7 +2689,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2679,6 +2738,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Семе пећина"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2992,6 +3056,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3218,6 +3289,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3470,6 +3559,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3498,6 +3595,10 @@ msgid "Inc. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4262,7 +4363,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4335,6 +4436,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4346,7 +4454,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4404,6 +4512,11 @@ msgstr "Генератор мапе"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Генератор мапе"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Генератор мапе"
@@ -4487,6 +4600,12 @@ 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 ""
"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)"
@@ -4671,10 +4790,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4690,7 +4807,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4742,16 +4859,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4907,10 +5026,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4994,6 +5109,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -5007,6 +5130,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5311,6 +5438,10 @@ msgid "Sneaking speed"
msgstr "Брзина уÑпона"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5621,10 +5752,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5727,6 +5859,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5776,10 +5912,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5804,16 +5948,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "ВеÑлајућа вода"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Лепршајуће лишће"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "ВеÑлајућа вода"
#: src/settings_translation_file.cpp
msgid ""
@@ -5849,10 +5996,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5937,10 +6080,6 @@ msgid "Y of upper limit of large caves."
msgstr "ÐбÑолутни лимит emerge токова."
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5985,185 +6124,8 @@ msgid "cURL timeout"
msgstr ""
#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Затвори Ñкладиште"
-
-#~ msgid "Disable MP"
-#~ msgstr "Онемогући мод-паковање"
-
-#~ msgid "Enable MP"
-#~ msgstr "Омогући мод-паковање"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Име није дато или ниједна игра није изабрана"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" није валидна ознака."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Формат Ñу три броја унутар заграда раздвојени зарезима."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Формат: <офÑет>, <Ñкала>, (<раÑпонX>, <раÑпонY>, <раÑпонZ>), <Ñеме>, "
-#~ "<октаве>, <упорноÑÑ‚>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "Опоцијоно, лацунарноÑÑ‚ Ñе може додати Ñа зарезом."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Молим Ð²Ð°Ñ ÑƒÐ½ÐµÑите лиÑту ознака раздвојену зарезима."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Могуће вредноÑти Ñу: "
-
-#~ msgid "Select path"
-#~ msgstr "Одабери локацију"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Модови под-игре"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Страна $1 од $2"
-
-#~ msgid "Rating"
-#~ msgstr "Оцена"
-
-#~ msgid "Shortname:"
-#~ msgstr "Краће име:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "УÑпешно инÑталиран:"
-
-#~ msgid "Unsorted"
-#~ msgstr "ÐераÑпоређено"
-
-#~ msgid "re-Install"
-#~ msgstr "поново инÑталирај"
-
-#~ msgid "Local Game"
-#~ msgstr "Локална игра"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Уклони одабрано мод-паковање"
-
-#~ msgid "Play Online"
-#~ msgstr "Играј онлине"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Ðормал-мапирање"
-
-#~ msgid "No information available"
-#~ msgstr "Ðема доÑтупних информација"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Јачина звука промењена на 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Јачина звука промењена на 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Прикажи stack-ове"
-
-#~ msgid "Use"
-#~ msgstr "Коришћење"
-
-#~ msgid "Next"
-#~ msgstr "Следеће"
-
-#~ msgid "Prior"
-#~ msgstr "Пре"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Интервал модификатора активног блока"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Само за Ðндроид ÑиÑтеме: Покушава да направи текÑтуру у инвентару из "
-#~ "модела\n"
-#~ "када није пронађен ниједан подржани драјвер."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Пријави овој Ñервер-лиÑти.\n"
-#~ "Ðко желите да пријавите вашу ipv6 адреÑу, кориÑтите serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Приближна величина (X,Y,Z) фрактала у блоковима."
-
-#~ msgid "Autorun key"
-#~ msgstr "Кључ за аутоматÑко трчање"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Пећине и тунели Ñе формирају при укрштању два Ñемена"
-
-#~ msgid "Cloud height"
-#~ msgstr "ВиÑина облака"
-
-#~ msgid "Console key"
-#~ msgstr "Кључ за конзолу"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Ðепрекидно кретање унапред (кориÑти Ñе Ñамо за теÑтирање)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Ствара непредвидиве шеме лаве у пећинама.\n"
-#~ "Ове могу чинити копање тежим. Ðула их онемогућава. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Ствара непредвидиве шеме воде у пећинама.\n"
-#~ "Ове могу чинити копање тежим. Ðула их онемогућава. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Брзина при чучању"
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Инвентар"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Сакриј Ñадржину мод-паковања"
-
-#~ msgid "Attn"
-#~ msgstr "Ðттн"
-
-#~ msgid "Capital"
-#~ msgstr "Главно"
-
-#~ msgid "Comma"
-#~ msgstr "Зарез"
-
-#~ msgid "CrSel"
-#~ msgstr "ЦрСел"
-
-#~ msgid "ExSel"
-#~ msgstr "ЕхСел"
-
-#~ msgid "Final"
-#~ msgstr "Крајњи"
-
-#~ msgid "Minus"
-#~ msgstr "МинуÑ"
-
-#~ msgid "Period"
-#~ msgstr "Тачка"
-
-#~ msgid "Plus"
-#~ msgstr "ПлуÑ"
+#~ msgid "Select Package File:"
+#~ msgstr "Изаберите фајл мода:"
-#~ msgid "Advanced Settings"
-#~ msgstr "Ðапредне поÑтавке"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Укључи/ИÑкључи Cinematic мод"
diff --git a/po/sv/minetest.po b/po/sv/minetest.po
index 8b47cee20..0baafd2d5 100644
--- a/po/sv/minetest.po
+++ b/po/sv/minetest.po
@@ -1,11 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Swedish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-08 13:45+0000\n"
-"Last-Translator: Muhammad Rifqi Priyo Susanto "
-"<muhammadrifqipriyosusanto@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Swedish <https://hosted.weblate.org/projects/minetest/"
"minetest/sv/>\n"
"Language: sv\n"
@@ -13,24 +12,22 @@ 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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
-msgstr "Återuppstå"
+msgstr "Återföds"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "Du dog."
+msgstr "Du dog"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "Ett fel uppstod i ett Lua-skript, såsom en mod:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "Ett fel uppstod:"
@@ -90,7 +87,6 @@ msgid "Cancel"
msgstr "Avbryt"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Dependencies:"
msgstr "Beroenden:"
@@ -99,9 +95,8 @@ msgid "Disable all"
msgstr "Inaktivera allt"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "Inaktiverad"
+msgstr "Avaktivera modpaket"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
@@ -109,17 +104,15 @@ msgid "Enable all"
msgstr "Aktivera alla"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "Döp om modpaket:"
+msgstr "Aktivera modpaket"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid ""
"Failed to enable mod \"$1\" as it contains disallowed characters. Only "
"characters [a-z0-9_] are allowed."
msgstr ""
-"Misslyckades aktivera mod \"$1\" eftersom det innehåller otillåtna tecken. "
+"Misslyckades aktivera mod \"$1\" eftersom den innehåller otillåtna tecken. "
"Endast tecknen [a-z0-9_] är tillåtna."
#: builtin/mainmenu/dlg_config_world.lua
@@ -128,13 +121,26 @@ msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Valfria beroenden:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr "Ingen modbeskrivning tillgänglig"
+msgstr "Ingen spelbeskrivning tillgänglig."
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Inga beroenden."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "Ingen modbeskrivning tillgänglig"
+msgstr "Ingen modpaketsbeskrivning tillgänglig."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Valfria beroenden:"
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
@@ -155,26 +161,23 @@ msgstr "aktiverad"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "Alla paket"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
msgstr "Tillbaka"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
-msgstr "Huvudmeny"
+msgstr "Tillbaka till huvudmeny"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Downloading and installing $1, please wait..."
-msgstr "Laddar ner $1, var vänligen vänta..."
+msgstr "Laddar ner och installerar $1, vänligen vänta..."
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Failed to download $1"
-msgstr "Misslyckades installera $1 till $2"
+msgstr "Misslyckades ladda ner $1"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -192,11 +195,11 @@ msgstr "Moddar"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "Inga paket kunde hämtas"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "Inga resultat"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -209,13 +212,12 @@ msgid "Texture packs"
msgstr "Texturpaket"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Uninstall"
-msgstr "Installera"
+msgstr "Avnstallera"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "Uppdatera"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -226,9 +228,8 @@ msgid "Create"
msgstr "Skapa"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
-msgstr "Ladda ner ett underspel, såsom minetest_game, från minetest.net"
+msgstr "Ladda ner ett spel, såsom Minetest Game, från minetest.net"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Download one from minetest.net"
@@ -243,9 +244,8 @@ msgid "Mapgen"
msgstr "Kartgenerator"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "Välj räckvidd"
+msgstr "Inget spel valt"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -254,16 +254,15 @@ msgstr "Frö"
#: builtin/mainmenu/dlg_create_world.lua
msgid "Warning: The minimal development test is meant for developers."
-msgstr "Varning: Minimala utvecklingstestet är endast avsett för utvecklare."
+msgstr "Varning: Minimala utvecklingstestet är avsett för utvecklare."
#: builtin/mainmenu/dlg_create_world.lua
msgid "World name"
msgstr "Världnamn"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
-msgstr "Du har inga underspel installerade."
+msgstr "Du har inga spel installerade."
#: builtin/mainmenu/dlg_delete_content.lua
msgid "Are you sure you want to delete \"$1\"?"
@@ -334,11 +333,11 @@ msgstr "Aktiverad"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Lacunarity"
-msgstr ""
+msgstr "Lacunaritet"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
-msgstr ""
+msgstr "Oktaver"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Offset"
@@ -346,7 +345,7 @@ msgstr ""
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Persistance"
-msgstr ""
+msgstr "Persistens"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Please enter a valid integer."
@@ -362,7 +361,7 @@ msgstr "Återställ till Ursprungsvärden"
#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
msgid "Scale"
-msgstr ""
+msgstr "Skala"
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
@@ -388,27 +387,27 @@ msgstr "Värdet får vara högst $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "X"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
-msgstr ""
+msgstr "X-spridning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y"
-msgstr ""
+msgstr "Y"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Y spread"
-msgstr ""
+msgstr "Y-spridning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z"
-msgstr ""
+msgstr "Z"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Z spread"
-msgstr ""
+msgstr "Z-spridning"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "absvalue"
@@ -523,11 +522,6 @@ msgstr "Byt namn"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "Välj modfil:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "Avinstallera vald mod"
@@ -820,12 +814,13 @@ msgid "Waving Leaves"
msgstr "Vajande Löv"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Vajande Växter"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Vajande Löv"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Böljande Vatten"
+msgid "Waving Plants"
+msgstr "Vajande Växter"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1618,11 +1613,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1745,10 +1740,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Slå av/på Filmisk Kamera"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "Slå av/på flygläge"
@@ -1783,6 +1774,11 @@ msgstr "Slå av/på noclip"
#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Slå av/på snabb"
+
+#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "press key"
msgstr "tryck på tangent"
@@ -1899,6 +1895,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3D-moln"
@@ -1933,6 +1933,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1985,6 +1989,10 @@ msgid "Acceleration in air"
msgstr "Acceleration i luften"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Aktiva Blockmodifierare"
@@ -2217,7 +2225,7 @@ msgstr "Bumpmappning"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2304,6 +2312,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Krashmeddelande"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Oljudströskel för öken"
@@ -2472,6 +2485,10 @@ msgstr ""
"oförändrat."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Kontrollerar sluttningen/djupet av sjöfördjupningar."
@@ -2533,6 +2550,11 @@ msgid "Debug info toggle key"
msgstr "Av/På tangent för debuginformation"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Oljudströskel för öken"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Nivå av debuglogg"
@@ -2541,6 +2563,10 @@ msgid "Dec. volume key"
msgstr "Tangent för volymsänkning"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Steg för dedikerad server"
@@ -2635,11 +2661,26 @@ msgid "Defines the base ground level."
msgstr "Definierar trädområden och trädtäthet."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+msgstr "Definierar trädområden och trädtäthet."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Definierar maximal distans för spelarförflyttning i block (0 = oändligt)."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river channel."
+msgstr "Definierar strukturen för storskaliga älvkanaler."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Definierar områden där träd har äpplen."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Definierar trädområden och trädtäthet."
@@ -2666,6 +2707,12 @@ msgid "Deprecated Lua API handling"
msgstr "Obruklig Lua API hantering"
#: 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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "Djup inunder du kan hitta stora grottor."
@@ -2686,9 +2733,10 @@ msgid "Desert noise threshold"
msgstr "Oljudströskel för öken"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"Öknar förekommer när np_biome överskridet detta värde.\n"
"När det nya biotopsystemet aktiveras så ignoreras detta."
@@ -2738,6 +2786,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Grottoljud"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -3048,6 +3101,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -3273,6 +3333,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3523,6 +3601,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3551,6 +3637,10 @@ msgid "Inc. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4316,7 +4406,7 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "Nedstigande hastighet"
#: src/settings_translation_file.cpp
@@ -4389,6 +4479,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4400,7 +4497,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4458,6 +4555,11 @@ msgstr "Kartgenerator"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Kartgenerator"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Kartgenerator"
@@ -4541,6 +4643,12 @@ 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 ""
"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)"
@@ -4725,10 +4833,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4744,7 +4850,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4796,16 +4902,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4959,10 +5067,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5046,6 +5150,14 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -5059,6 +5171,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5363,6 +5479,10 @@ msgid "Sneaking speed"
msgstr "Nedstigande hastighet"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr ""
@@ -5674,10 +5794,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5780,6 +5901,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5829,10 +5954,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5857,16 +5990,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Böljande Vatten"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Vajande Löv"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Böljande Vatten"
#: src/settings_translation_file.cpp
msgid ""
@@ -5902,10 +6038,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5990,10 +6122,6 @@ msgid "Y of upper limit of large caves."
msgstr "Absolut gräns av emerge kö"
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -6040,171 +6168,8 @@ msgid "cURL timeout"
msgstr "cURL-timeout"
#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Stäng butiken"
-
-#~ msgid "Disable MP"
-#~ msgstr "Inaktivera MP"
-
-#~ msgid "Enable MP"
-#~ msgstr "Aktivera MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Inget världnamn angett eller inget spel valt"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" är inte en giltig flagga."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Formatet är tre nummer separerade med komma och inom paranteser."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Format: <förskjutning>, <skala>, (<spridningX>, <spridningY>, "
-#~ "<spridningZ>), <frö>, <oktaver>, <bestående>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr ""
-#~ "Takförhållandet kan eventuellt läggas till med ett främre kommatecken."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Var vänlig ange ett kommaseparerad lista med flaggor."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Möjliga värden är: "
-
-#~ msgid "Select path"
-#~ msgstr "Välj sökväg"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Underspelsmoddar"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Sida $1 av $2"
-
-#~ msgid "Rating"
-#~ msgstr "Omdöme"
-
-#~ msgid "Shortname:"
-#~ msgstr "Kort namn:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Lyckades installera:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Osorterat"
-
-#~ msgid "re-Install"
-#~ msgstr "Ominstallera"
-
-#~ msgid "Local Game"
-#~ msgstr "Lokalt spel"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Avinstallera valt modpaket"
-
-#~ msgid "Play Online"
-#~ msgstr "Spela online"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Normal-mapping"
-
-#~ msgid "No information available"
-#~ msgstr "Ingen information tillgänglig"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Volym ändrad till 0%"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Volym ändrad till 100%"
-
-#~ msgid "Print stacks"
-#~ msgstr "Skriv ut travar"
-
-#~ msgid "Use"
-#~ msgstr "Använd"
-
-#~ msgid "Next"
-#~ msgstr "Nästa"
-
-#~ msgid "Prior"
-#~ msgstr "Tidigare"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Aktivt Blockmodifierarintervall"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Endast Androidsystem: Försöker skapa förrådtexturer från meshes\n"
-#~ "när ingen stöttad render hittades."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Offentliggör till denna serverlista.\n"
-#~ "Om du vill offentliggöra din ipv6 address, använd serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Approximera (X,Y,Z)-skala av fraktaler i noder."
-
-#~ msgid "Autorun key"
-#~ msgstr "Tangent för autospring"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Grottor och tunnlar bildas vid korsningen av de två oljuden"
-
-#~ msgid "Cloud height"
-#~ msgstr "Molnhöjd"
-
-#~ msgid "Console key"
-#~ msgstr "Konsoltangent"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Fortlöpande rörelse framåt (andvänds enbart för testande)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Skapar oförutsägbara förekomster av lava i grottor.\n"
-#~ "Dessa kan göra gruvgrävande besvärligt. Noll inaktiverar dem. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Skapar oförutsägbara förekomster av vatten i grottor.\n"
-#~ "Dessa kan göra gruvgrävande besvärligt. Noll inaktiverar dem. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Smyghastighet"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Djup inunder du kan hitta massiva grottor."
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Inaktivera escapesekvenser"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Inaktivera escapesekvenser, t.ex. chattfärger.\n"
-#~ "Använd detta om du vill köra en server med pre-0.4.14 klienter och du "
-#~ "vill inaktivera\n"
-#~ "escapesekvenser som genereras av moddar."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Göm flerspelarinnehåll"
+#~ msgid "Select Package File:"
+#~ msgstr "Välj modfil:"
-#~ msgid "Advanced Settings"
-#~ msgstr "Avancerade Inställningar"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Slå av/på Filmisk Kamera"
diff --git a/po/sw/minetest.po b/po/sw/minetest.po
index b7614336b..3ce788302 100644
--- a/po/sw/minetest.po
+++ b/po/sw/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Swahili (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-13 13:11+0000\n"
-"Last-Translator: tyler71 <sagsdf_github_tyler71@xyzz.work>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Swahili <https://hosted.weblate.org/projects/minetest/"
"minetest/sw/>\n"
"Language: sw\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -24,7 +24,7 @@ msgstr "Umekufa."
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "Kosa limetokea katika hati Lua, kama vile Moduli na:"
#: builtin/fstk/ui.lua
@@ -121,15 +121,28 @@ msgid "Mod:"
msgstr "Moduli:"
#: builtin/mainmenu/dlg_config_world.lua
+msgid "No (optional) dependencies"
+msgstr ""
+
+#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
msgid "No game description provided."
msgstr "Hakuna maelezo Moduli inapatikana"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "Mategemezi:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
msgid "No modpack description provided."
msgstr "Hakuna maelezo Moduli inapatikana"
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No optional dependencies"
+msgstr ""
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr ""
@@ -523,11 +536,6 @@ msgstr "Ita jina jipya"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "Teua faili ya Moduli:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "Sakinusha Moduli teuliwa"
@@ -823,12 +831,13 @@ msgid "Waving Leaves"
msgstr "Waving majani"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Waving mimea"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Waving fundo"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Waving maji"
+msgid "Waving Plants"
+msgstr "Waving mimea"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -1603,11 +1612,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1731,10 +1740,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Togoa Cinematic"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "Togoa kuruka"
@@ -1767,6 +1772,11 @@ msgid "Toggle noclip"
msgstr "Togoa noclip"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Togoa haraka"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "Bonyeza Kibonye"
@@ -1884,6 +1894,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "Mawingu ya 3D"
@@ -1914,6 +1928,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1966,6 +1984,10 @@ msgid "Acceleration in air"
msgstr "Kuongeza kasi katika hewa"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Modifiers fungu amilifu"
@@ -2193,7 +2215,7 @@ msgstr "Bumpmapping"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2286,6 +2308,11 @@ msgstr ""
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "Ajali ujumbe"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "Kilele cha mlima gorofa Mwandishi ramani"
@@ -2455,6 +2482,10 @@ msgstr ""
"unchanged."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Udhibiti mwinuko/kina cha ziwa depressions."
@@ -2515,6 +2546,11 @@ msgid "Debug info toggle key"
msgstr "Rekebisha taarifa kibonye"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "Rekebisha kiwango cha logi"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Rekebisha kiwango cha logi"
@@ -2524,6 +2560,10 @@ msgid "Dec. volume key"
msgstr "HUD kibonye"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Hatua ya seva ya kujitolea"
@@ -2611,11 +2651,23 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Inafasili umbali wa uhamisho wa mchezaji maximal katika vitalu (0 = ukomo)."
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2638,6 +2690,12 @@ msgid "Deprecated Lua API handling"
msgstr "Deprecated Lua API utunzaji"
#: 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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "Kina chini ambayo utapata mapango kubwa."
@@ -2661,7 +2719,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2711,6 +2769,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Kelele za mto"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -3063,6 +3126,13 @@ msgid "Font size"
msgstr "Ukubwa wa fonti"
#: 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 "Format of screenshots."
msgstr "Umbizo la viwambo."
@@ -3331,6 +3401,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Homepage ya seva, kuonyeshwa katika serverlist ya."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3603,6 +3691,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr "Kama hii ni kuweka, wachezaji mapenzi daima (re) spawn mahali fulani."
@@ -3637,6 +3733,10 @@ msgid "Inc. volume key"
msgstr "Muhimu ya Kiweko"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4695,7 +4795,7 @@ msgstr "Wakati wa usafishaji wa foleni ya kioevu"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "Kuzama kioevu"
#: src/settings_translation_file.cpp
@@ -4774,6 +4874,19 @@ msgstr ""
#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen flat.\n"
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
+msgstr ""
+"Ramani kizazi sifa maalum kwa Mwandishi ramani gorofa.\n"
+"Maziwa mara kwa mara na vilima vinaweza kuongezwa kwa ulimwengu gorofa.\n"
+"Bendera ambayo haijabainishwa katika Tungo ya bendera ni hayakubadilishwa "
+"kutoka chaguo-msingi.\n"
+"Bendera kuanzia na 'hapana' hutumiwa kidhahiri Lemaza yao."
+
+#: 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 ""
"Ramani kizazi sifa maalum kwa Mwandishi ramani gorofa.\n"
@@ -4791,7 +4904,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"Ramani kizazi sifa maalum ya Mwandishi ramani v6.\n"
@@ -4860,6 +4973,11 @@ msgstr "Fractal ya Mwandishi ramani"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Mwandishi ramani gorofa bendera"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Mwandishi ramani v5"
@@ -4947,6 +5065,12 @@ msgstr "Hotbar kiwango cha juu cha upana"
#: 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 ""
"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)"
@@ -5156,10 +5280,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5179,7 +5301,7 @@ msgstr ""
"Jina la seva, kuonyeshwa wakati wachezaji kujiunga na katika serverlist ya."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5233,16 +5355,18 @@ msgstr "Idadi ya nyuzi emerge"
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5407,10 +5531,6 @@ msgid "Profiling"
msgstr "Ubainishaji wa"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5502,6 +5622,16 @@ msgstr "Bofya kulia marudio nafasi"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "Kina wa mto"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Kina wa mto"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "Kina wa mto"
@@ -5516,6 +5646,11 @@ msgid "River size"
msgstr "Ukubwa wa mto"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Kina wa mto"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Mserereko kurekodi"
@@ -5848,6 +5983,10 @@ msgid "Sneaking speed"
msgstr "Kutembea kasi"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Sauti"
@@ -6207,10 +6346,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -6319,6 +6459,10 @@ msgid "Varies steepness of cliffs."
msgstr "Udhibiti mwinuko/urefu wa milima."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Ulandanishi wa kiwamba wima."
@@ -6377,10 +6521,18 @@ msgstr ""
"Masafa ya takribani-2 hadi 2."
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
msgstr "Kutembea kasi"
#: 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"
msgstr "Kiwango cha maji"
@@ -6405,16 +6557,19 @@ msgid "Waving water"
msgstr "Waving maji"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Waving maji urefu"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Waving maji urefu"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Waving kasi ya maji"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Waving kasi ya maji"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Waving maji urefu"
#: src/settings_translation_file.cpp
msgid ""
@@ -6468,10 +6623,6 @@ msgstr ""
"katika."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr "Kama fundo unamu uhuishaji lazima desynchronized kwa mapblock."
@@ -6564,11 +6715,6 @@ msgid "Y of upper limit of large caves."
msgstr "Y ya upper kikomo ya kubwa pseudorandom cellars."
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "Y ya upper kikomo ya kubwa pseudorandom cellars."
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -6612,623 +6758,16 @@ msgstr "cURL kikomo sambamba"
msgid "cURL timeout"
msgstr "muda wa kuisha wa cURL"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "Duka la karibu"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Idadi ya nyuzi emerge kutumia. Kufanya hii shamba tupu, au kuongeza idadi "
-#~ "hii kutumia nyuzi nyingi. Kwenye mifumo ya multiprocessor, hii itasaidia "
-#~ "kuongeza kasi ya mwandishi ramani sana wanatengeneza mapango buggy kidogo."
-
-#~ msgid "Disable MP"
-#~ msgstr "Lemaza MP"
-
-#~ msgid "Enable MP"
-#~ msgstr "Wezesha MP"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Hakuna worldname kupewa au mchezo hakuna iliyoteuliwa"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" si bendera halali."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Umbizo ni namba 3 limegawanywa na mikato na ndani ya mabano."
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "Hiari ya lacunarity unaweza umeongezewa na mkato kuongoza."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Tafadhali ingiza mkato seperated orodha ya bendera."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Thamani inayofaa ni:"
-
-#~ msgid "Select path"
-#~ msgstr "Teua njia"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Ukurasa $1 ya $2"
-
-#~ msgid "Rating"
-#~ msgstr "Makadirio"
-
-#~ msgid "Shortname:"
-#~ msgstr "Shortname:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Imefanikiwa kusakinisha:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Zisizochambuliwa"
-
-#~ msgid "re-Install"
-#~ msgstr "Sakinisha upya"
+#~ msgid "Waving Water"
+#~ msgstr "Waving maji"
#, fuzzy
-#~ msgid "Local Game"
-#~ msgstr "Anzisha mchezo"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Sakinusha modpack teuliwa"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Y ya upper kikomo ya kubwa pseudorandom cellars."
#, fuzzy
-#~ msgid "Play Online"
-#~ msgstr "Jina la mchezaji"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Ramani ya kawaida"
-
-#~ msgid "No information available"
-#~ msgstr "Hakuna taarifa zilizopo"
-
-#~ msgid "Print stacks"
-#~ msgstr "Chapisha mipororo"
-
-#~ msgid "Use"
-#~ msgstr "Matumizi"
-
-#~ msgid "Next"
-#~ msgstr "Ijayo"
-
-#~ msgid "Prior"
-#~ msgstr "Awali"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Amilifu fungu Kigeuza nafasi"
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Kutangaza kwa serverlist hii.\n"
-#~ "Kama unataka kutangaza anwani yako ya ipv6, kutumia serverlist_url = v6."
-#~ "servers.minetest.net."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Kukadiria (X, Y, Z) kipimo cha fractal katika fundo."
-
-#~ msgid "Autorun key"
-#~ msgstr "Autorun ufunguo"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Fomu ya mapango na vichuguu katika makutano ya kila mbili"
-
-#~ msgid "Cloud height"
-#~ msgstr "Urefu wa wingu"
-
-#~ msgid "Console key"
-#~ msgstr "Muhimu ya Kiweko"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Harakati endelevu mbele (kutumika tu kwa ajili ya kupima)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Huunda lava haitabiriki sifa katika mapango.\n"
-#~ "Haya kufanya madini vigumu. Sifuri Hulemaza yao. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Huunda maji haitabiriki sifa katika mapango.\n"
-#~ "Haya kufanya madini vigumu. Sifuri Hulemaza yao. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Ingia kasi"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Kina chini ambayo utapata mapango mkubwa."
-
-#~ msgid "Descending speed"
-#~ msgstr "Kushuka kasi"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Lemaza kutoroka mwandamano"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Lemaza mwandamano wa kutoroka, k.m kuzungumza kuchorea.\n"
-#~ "Tumia hii kama unataka kuendesha seva na wateja wa awali-0.4.14 na "
-#~ "unataka kulemaza mwandamano kutoroka yanayotokana na mods."
-
-#, fuzzy
-#~ msgid "Enable view bobbing"
-#~ msgstr "Mwoneko kando"
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Uga wa Mwoneko kwa ajili ya Kuza"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Uga wa Mwoneko ukikuza katika nyuzi.\n"
-#~ "Hii inahitaji nafasi \"Kuza\" kwenye seva."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Kutoka wateja mbali kiasi gani kujua kuhusu vitu, alisema katika "
-#~ "mapblocks (fundo 16)."
-
-#~ msgid "General"
-#~ msgstr "Mkuu"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Urefu ambayo mawingu ni kuonekana."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Jinsi ya eneo kubwa la vitalu ni chini ya fungu amilifu mambo, alisema "
-#~ "katika mapblocks (fundo 16).\n"
-#~ "Katika vitalu amilifu vitu ni kupakiwa na ABMs kukimbia."
-
-#, fuzzy
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "Ujumbe wa siku ya kuonyeshwa kwa wachezaji kuunganisha."
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "Ufunguo wa hesabu"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Marudiorudio ya kazi recursive.\n"
-#~ "Udhibiti kiasi cha undani faini."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Muhimu kwa ajili ya kufungua muano wa mazungumzo.\n"
-#~ "Ona http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Muhimu kwa ajili ya uchapishaji mipororo rekebishi. Kutumika kwa ajili ya "
-#~ "maendeleo.\n"
-#~ "Ona http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Lava vipengele"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Meneja wa mchezo wa Menyu kuu"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Menyu kuu Moduli Meneja"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ramani kizazi sifa maalum kwa mabonde ya Mwandishi ramani.\n"
-#~ "'altitude_chill' hufanya mwinuko wa juu baridi, ambayo inaweza "
-#~ "kusababisha masuala ya biome.\n"
-#~ "'humid_rivers' Inarekebisha unyevu kuzunguka mito na maeneo ambapo maji "
-#~ "Je huwa na bwawa, inaweza kuingilia kati na biomes Imerekebisha maisha ya "
-#~ "anasa.\n"
-#~ "Bendera ambayo haijabainishwa katika Tungo ya bendera ni hayakubadilishwa "
-#~ "kutoka chaguo-msingi.\n"
-#~ "Bendera kuanzia na 'hapana' hutumiwa kidhahiri Lemaza yao."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ramani kizazi sifa maalum kwa Mwandishi ramani v7.\n"
-#~ "Bendera ya 'matuta' udhibiti mito.\n"
-#~ "Bendera ambayo haijabainishwa katika Tungo ya bendera ni hayakubadilishwa "
-#~ "kutoka chaguo-msingi.\n"
-#~ "Bendera kuanzia na 'hapana' hutumiwa kidhahiri Lemaza yao."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Kina ya pango mkubwa"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Kelele ya pango mkubwa"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Fomu ya mapango mkubwa hapa."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr "Namba ya juu ya vitalu kwamba wakati huo huo hutumwa kwa jumla."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr ""
-#~ "Namba ya juu ya vitalu kwamba ni wakati huo huo uliotumwa kwa mteja."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Fungu juu ya samtidiga hutuma jumla"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "Modstore maelezo URL"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "Modstore kupakua URL"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Modstore mods orodha ya URL"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Jina la ramani jenereta kutumika wakati wa kuunda dunia mpya.\n"
-#~ "Kujenga ulimwengu katika Menyu kuu itakuwa vinabatilisha hii."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Kelele za mto - mito kutokea karibu na sifuri"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Ukubwa wa kikidondoka kutengenezwa mara kwa mwandishi ramani, katika "
-#~ "mapblocks (fundo 16)."
-
-#~ msgid "Support older servers"
-#~ msgstr "Msaada mkubwa seva"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "Mwinuko katika matone ambayo joto na 20C"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Utungulizaji nyuma-mwisho wa Irrlicht."
-
-#~ msgid "Use key"
-#~ msgstr "Ufunguo wa matumizi"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Tumia ramani ya malaria kwa kipimo cha unamu. Huenda kidogo kuongeza "
-#~ "utendaji."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Bendera ya mabonde C"
-
-#~ msgid "Water Features"
-#~ msgstr "Vipengele vya maji"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Kama kusaidia seva za zamani kabla ya Itifaki ya toleo la 25.\n"
-#~ "Wezesha kama unataka kuunganishwa 0.4.12 seva na kabla.\n"
-#~ "Seva kuanzia na 0.4.13 kazi, 0.4.12-dev seva huenda kazi.\n"
-#~ "Mlemavu chaguo hili kulinda nywila yako bora."
-
-#~ msgid "Hide mp content"
-#~ msgstr "Ficha maudhui ya mbunge"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Capital"
-#~ msgstr "Mji mkuu"
-
-#~ msgid "Comma"
-#~ msgstr "Mkato"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "Final"
-#~ msgstr "Mwisho"
+#~ msgid "Select Package File:"
+#~ msgstr "Teua faili ya Moduli:"
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Kana"
-#~ msgstr "Kana"
-
-#~ msgid "Kanji"
-#~ msgstr "KanJi"
-
-#~ msgid "Minus"
-#~ msgstr "Alama ya kutoa"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Kipindi cha"
-
-#~ msgid "Plus"
-#~ msgstr "Plus"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Vidhibiti ukubwa wa majangwa na fukwe katika Mwandishi ramani v6.\n"
-#~ "Wakati snowbiomes vimewezeshwa 'mgv6_freq_desert' ni kupuuzwa."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Huamua umbo wa ardhi.\n"
-#~ "Namba 3 katika mabano kudhibiti ukubwa wa ardhi, namba 3 lazima kufanana."
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Mwandishi ramani biome joto kelele vigezo"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Mwandishi ramani biome unyevu mchanganyiko kelele vigezo"
-
-#~ msgid "Mapgen biome humidity noise parameters"
-#~ msgstr "Mwandishi ramani biome unyevu kelele vigezo"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Mwandishi ramani pango gorofa upana"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "Mwandishi ramani cave1 za gorofa kelele vigezo"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "Mwandishi ramani cave2 za gorofa kelele vigezo"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr "Filler wa gorofa ya Mwandishi ramani kina kelele vigezo"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Mwandishi ramani pango kubwa gorofa kina"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Mwandishi ramani ardhi tambarare kelele vigezo"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Mwandishi ramani fractal pango upana"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Mwandishi ramani fractal cave1 kelele vigezo"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Mwandishi ramani fractal cave2 kelele vigezo"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr "Mwandishi ramani fractal filler kina kelele vigezo"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Mwandishi ramani fractal fractal"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Mwandishi ramani fractal Marudiorudio"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "Mwandishi ramani fractal julia w"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "Mwandishi ramani fractal julia x"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Mwandishi ramani fractal julia y"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Mwandishi ramani fractal julia z"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Mwandishi ramani fractal Sawazisha"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Mwandishi ramani fractal kipimo"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Mwandishi ramani fractal seabed kelele vigezo"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Mwandishi ramani fractal kisu w"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Mwandishi ramani v5 pango upana"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "Mwandishi ramani v5 cave1 kelele vigezo"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "Mwandishi ramani v5 cave2 kelele vigezo"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Mwandishi ramani v5 sababu kelele vigezo"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr "Mwandishi ramani v5 filler kina kelele vigezo"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Mwandishi ramani v5 urefu kelele vigezo"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Mwandishi ramani v6 apple miti kelele vigezo"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Mwandishi ramani v6 pwani marudio"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Mwandishi ramani v6 pwani kelele vigezo"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Mwandishi ramani v6 biome kelele vigezo"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Mwandishi ramani v6 pango kelele vigezo"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Mwandishi ramani v6 jangwa marudio"
-
-#~ msgid "Mapgen v6 mud noise parameters"
-#~ msgstr "Mwandishi ramani v6 matope kelele vigezo"
-
-#~ msgid "Mapgen v6 steepness noise parameters"
-#~ msgstr "Mwandishi ramani v6 mwinuko kelele vigezo"
-
-#~ msgid "Mapgen v6 terrain altitude noise parameters"
-#~ msgstr "Mwinuko wa ardhi ya Mwandishi ramani v6 kelele vigezo"
-
-#~ msgid "Mapgen v6 terrain base noise parameters"
-#~ msgstr "Mwandishi ramani v6 ardhi kelele msingi vigezo"
-
-#~ msgid "Mapgen v6 trees noise parameters"
-#~ msgstr "Mwandishi ramani v6 miti kelele vigezo"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Mwandishi ramani v7 pango upana"
-
-#~ msgid "Mapgen v7 cave1 noise parameters"
-#~ msgstr "Mwandishi ramani v7 cave1 kelele vigezo"
-
-#~ msgid "Mapgen v7 cave2 noise parameters"
-#~ msgstr "Mwandishi ramani v7 cave2 kelele vigezo"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr "Mwandishi ramani v7 filler kina kelele vigezo"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Mwandishi ramani v7 urefu Teua vigezo kelele"
-
-#~ msgid "Mapgen v7 mountain noise parameters"
-#~ msgstr "Mwandishi ramani v7 mlima kelele vigezo"
-
-#~ msgid "Mapgen v7 ridge noise parameters"
-#~ msgstr "Mwandishi ramani v7 tuta kelele vigezo"
-
-#~ msgid "Mapgen v7 ridge water noise parameters"
-#~ msgstr "Mwandishi ramani v7 tuta maji kelele vigezo"
-
-#~ msgid "Mapgen v7 terrain altitude noise parameters"
-#~ msgstr "Mwandishi ramani v7 ardhi mwinuko kelele vigezo"
-
-#~ msgid "Mapgen v7 terrain base noise parameters"
-#~ msgstr "Mwandishi ramani v7 ardhi kelele msingi vigezo"
-
-#~ msgid "Mapgen v7 terrain persistation noise parameters"
-#~ msgstr "Mwandishi ramani v7 ardhi persistation kelele vigezo"
-
-#~ msgid ""
-#~ "Noise parameters for biome API temperature, humidity and biome blend."
-#~ msgstr "Kelele vigezo vya biome API joto, unyevu na biome mchanganyiko."
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Ambapo jenereta ramani hukomesha.\n"
-#~ "Tafadhali kumbuka: - mdogo kwa 31000 (kipimo hapo juu ina athari) - "
-#~ "jenereta ramani kazi katika makundi ya 80 x 80 x 80 fundo (5 x 5 x 5 "
-#~ "MapBlocks).\n"
-#~ "-Vikundi hivyo kuwa nje ya uwekaji wa-32,-32 fundo kutoka asili.\n"
-#~ "-Tu vikundi vilivyo ndani ya map_generation_limit ni yanayotokana"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "Vipimo pevu"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ramani kizazi sifa maalum kwa Mwandishi ramani v7.\n"
-#~ "Bendera ya 'matuta' udhibiti mito.\n"
-#~ "Bendera ambayo haijabainishwa katika Tungo ya bendera ni hayakubadilishwa "
-#~ "kutoka chaguo-msingi.\n"
-#~ "Bendera kuanzia na 'hapana' hutumiwa kidhahiri Lemaza yao."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ramani kizazi sifa maalum kwa Mwandishi ramani v7.\n"
-#~ "Bendera ya 'matuta' udhibiti mito.\n"
-#~ "Bendera ambayo haijabainishwa katika Tungo ya bendera ni hayakubadilishwa "
-#~ "kutoka chaguo-msingi.\n"
-#~ "Bendera kuanzia na 'hapana' hutumiwa kidhahiri Lemaza yao."
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Ramani kizazi sifa maalum kwa Mwandishi ramani v7.\n"
-#~ "Bendera ya 'matuta' udhibiti mito.\n"
-#~ "Bendera ambayo haijabainishwa katika Tungo ya bendera ni hayakubadilishwa "
-#~ "kutoka chaguo-msingi.\n"
-#~ "Bendera kuanzia na 'hapana' hutumiwa kidhahiri Lemaza yao."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Togoa Cinematic"
diff --git a/po/th/minetest.po b/po/th/minetest.po
new file mode 100644
index 000000000..ebda995d1
--- /dev/null
+++ b/po/th/minetest.po
@@ -0,0 +1,6407 @@
+msgid ""
+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 <EMAIL@ADDRESS>\n"
+"Language-Team: Thai <https://hosted.weblate.org/projects/minetest/minetest/"
+"th/>\n"
+"Language: th\n"
+"MIME-Version: 1.0\n"
+"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"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "Respawn"
+msgstr "เà¸à¸´à¸”ใหม่"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "You died"
+msgstr "คุณชนม์"
+
+#: builtin/fstk/ui.lua
+#, fuzzy
+msgid "An error occurred in a Lua script:"
+msgstr "เà¸à¸´à¸”ข้อผิดพลาดในสคริปต์ Lua เช่น mod:"
+
+#: builtin/fstk/ui.lua
+msgid "An error occurred:"
+msgstr "เà¸à¸´à¸”ข้อผิดพลาด:"
+
+#: builtin/fstk/ui.lua
+msgid "Main menu"
+msgstr "เมนูหลัà¸"
+
+#: builtin/fstk/ui.lua
+msgid "Ok"
+msgstr "ตà¸à¸¥à¸‡"
+
+#: builtin/fstk/ui.lua
+msgid "Reconnect"
+msgstr "เชื่อมต่อ"
+
+#: builtin/fstk/ui.lua
+msgid "The server has requested a reconnect:"
+msgstr "เซิร์ฟเวอร์ ร้องขอ เชื่อมต่อ:"
+
+#: builtin/mainmenu/common.lua src/client/game.cpp
+msgid "Loading..."
+msgstr "โหลด ..."
+
+#: builtin/mainmenu/common.lua
+msgid "Protocol version mismatch. "
+msgstr "โพรโทคอลรุ่นไม่ตรงà¸à¸±à¸™. "
+
+#: builtin/mainmenu/common.lua
+msgid "Server enforces protocol version $1. "
+msgstr "เซิร์ฟเวอร์บังคับใช้โพรโทคอลรุ่น $1 "
+
+#: builtin/mainmenu/common.lua
+msgid "Server supports protocol versions between $1 and $2. "
+msgstr "เซิร์ฟเวอร์ที่สนับสนุนโพรโทคอลà¸à¸²à¸£à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡ $1 à¹à¸¥à¸° $2. "
+
+#: builtin/mainmenu/common.lua
+msgid "Try reenabling public serverlist and check your internet connection."
+msgstr "ลอง reenabling serverlist สาธารณะ à¹à¸¥à¸°à¸•รวจสอบà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่ออินเทอร์เน็ต."
+
+#: builtin/mainmenu/common.lua
+msgid "We only support protocol version $1."
+msgstr "เราสนับสนุนโพรโทคอลรุ่น $1 เท่านั้น."
+
+#: builtin/mainmenu/common.lua
+msgid "We support protocol versions between version $1 and $2."
+msgstr "เราสนับสนุนโพรโทคอลà¸à¸²à¸£à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸£à¸¸à¹ˆà¸™ $1 à¹à¸¥à¸° $2."
+
+#: 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 builtin/mainmenu/tab_content.lua
+msgid "Dependencies:"
+msgstr "อ้างอิง:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable all"
+msgstr "ปิดใช้งานทั้งหมด"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable modpack"
+msgstr "ปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ modpack"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable all"
+msgstr "เปิดใช้งานทั้งหมด"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable modpack"
+msgstr "เปิดใช้งาน modpack"
+
+#: 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 ""
+"ไม่สามารถเปิดใช้งาน mod (วัยรุ่น) '$1' ประà¸à¸­à¸šà¸”้วยอัà¸à¸‚ระที่ไม่ได้รับอนุà¸à¸²à¸• "
+"อนุà¸à¸²à¸•ให้มีอัà¸à¸‚ระเท่านั้น [a-z0-9_]."
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Mod:"
+msgstr "ปรับเปลี่ยน:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+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 "ไม่มีà¸à¸²à¸£à¸­à¹‰à¸²à¸‡à¸­à¸´à¸‡."
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No modpack description provided."
+msgstr "ไม่ modpack มีคำอธิบาย"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional 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/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
+msgid "Save"
+msgstr "บันทึà¸"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "World:"
+msgstr "โลà¸:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "enabled"
+msgstr "เปิดใช้งาน"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "All packages"
+msgstr "à¹à¸žà¸„เà¸à¸ˆà¸—ั้งหมด"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back"
+msgstr "หลัง"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back to Main Menu"
+msgstr "à¸à¸¥à¸±à¸šà¹„ปเมนูหลัà¸"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Downloading and installing $1, please wait..."
+msgstr "ดาวน์โหลด à¹à¸¥à¸°à¸•ิดตั้ง $1 à¸à¸£à¸¸à¸“ารอสัà¸à¸„รู่..."
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Failed to download $1"
+msgstr "ไม่สามารถดาวน์โหลด $1"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr "เà¸à¸¡à¸ªà¹Œ"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Install"
+msgstr "ติดตั้ง"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr "วัยรุ่น"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No packages could be retrieved"
+msgstr "ไม่อาจจะเรียà¸"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No results"
+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 "Texture packs"
+msgstr "à¹à¸žà¹‡à¸„เนื้อ"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Uninstall"
+msgstr "ถอนà¸à¸²à¸£à¸•ิดตั้ง"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Update"
+msgstr "ปรับปรุง"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "A world named \"$1\" already exists"
+msgstr "โลà¸à¸Šà¸·à¹ˆà¸­à¸§à¹ˆà¸² '$1' อยู่à¹à¸¥à¹‰à¸§à¸¡à¸µà¸­à¸¢à¸¹à¹ˆ"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Create"
+msgstr "สร้าง"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Download a game, such as Minetest Game, from minetest.net"
+msgstr "ดาวน์โหลดเà¸à¸¡ เà¸à¸¡ Minetest เช่นจาภminetest.net"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Download one from minetest.net"
+msgstr "ดาวน์โหลดจาภminetest.net"
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Game"
+msgstr "เà¸à¸¡"
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+#, fuzzy
+msgid "Mapgen"
+msgstr "Mapgen"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "No game selected"
+msgstr "ไม่มีเà¸à¸¡à¸—ี่เลือà¸"
+
+#: builtin/mainmenu/dlg_create_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Seed"
+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 "World name"
+msgstr "ชื่อโลà¸"
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "You have no games installed."
+msgstr "ไม่มีเà¸à¸¡à¸ªà¹Œà¸—ี่ติดตั้งคุณได้"
+
+#: builtin/mainmenu/dlg_delete_content.lua
+msgid "Are you sure you want to delete \"$1\"?"
+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 "ลบ"
+
+#: builtin/mainmenu/dlg_delete_content.lua
+msgid "pkgmgr: failed to delete \"$1\""
+msgstr "pkgmgr: ไม่สามารถลบ \"$1\""
+
+#: builtin/mainmenu/dlg_delete_content.lua
+msgid "pkgmgr: invalid path \"$1\""
+msgstr "pkgmgr: พาธไม่ถูà¸à¸•้อง \"$1\""
+
+#: builtin/mainmenu/dlg_delete_world.lua
+msgid "Delete World \"$1\"?"
+msgstr "ลบโลภ\"$1\"?"
+
+#: builtin/mainmenu/dlg_rename_modpack.lua
+msgid "Accept"
+msgstr "รับ"
+
+#: builtin/mainmenu/dlg_rename_modpack.lua
+msgid "Rename Modpack:"
+msgstr "เปลี่ยนชื่อ Modpack:"
+
+#: 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 "สามารถเปลี่ยนชื่อ modpack ได้ใน modpack.conf"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "(No description of setting given)"
+msgstr "(ไม่มีคำอธิบายของà¸à¸²à¸£à¸•ั้งค่าให้)"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "2D Noise"
+msgstr "2D เสียง"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "< Back to Settings page"
+msgstr "< à¸à¸¥à¸±à¸šà¹„ปที่หน้าà¸à¸²à¸£à¸•ั้งค่า"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Browse"
+msgstr "เรียà¸à¸”ู"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Disabled"
+msgstr "ปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Edit"
+msgstr "à¹à¸à¹‰à¹„ข"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Enabled"
+msgstr "เปิดใช้งาน"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
+msgid "Lacunarity"
+msgstr "Lacunarity"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+#, fuzzy
+msgid "Octaves"
+msgstr "ความละเอียดของà¸à¸²à¸£à¸ªà¸¸à¹ˆà¸¡"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
+msgstr "ตรงข้าม"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Persistance"
+msgstr "มีอยู่"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid integer."
+msgstr "โปรดใส่ค่าเป็นตัวเลขในรูปà¹à¸šà¸šà¸—ี่ถูà¸à¸•้อง."
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid number."
+msgstr "à¸à¸£à¸¸à¸“าใส่หมายเลขที่ถูà¸à¸•้อง"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Restore Default"
+msgstr "คืนค่าเริ่มต้น"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
+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 "Show technical names"
+msgstr "à¹à¸ªà¸”งชื่อทางเทคนิค"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "The value must be at least $1."
+msgstr "ต้องมีค่าไม่น้อยà¸à¸§à¹ˆà¸² $1."
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "The value must not be larger than $1."
+msgstr "ค่าต้องไม่มาà¸à¸à¸§à¹ˆà¸² $1."
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X"
+msgstr "X"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X spread"
+msgstr "X à¸à¸£à¸°à¸ˆà¸²à¸¢"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y"
+msgstr "Y"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y spread"
+msgstr "Y à¸à¸£à¸°à¸ˆà¸²à¸¢"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z"
+msgstr "Z"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z spread"
+msgstr "Z à¸à¸£à¸°à¸ˆà¸²à¸¢"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "absvalue"
+msgstr "ค่าผันà¹à¸›à¸£à¸à¸²à¸£à¸ªà¸¸à¹ˆà¸¡à¸ªà¸£à¹‰à¸²à¸‡à¹à¸œà¸™à¸—ี่"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr "เริ่มต้น"
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr "ความนุ่มนวลของพื้นผิวบนทางลาด"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 (Enabled)"
+msgstr "$1 (เปิดใช้งาน)"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 mods"
+msgstr "$1 Mods"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Failed to install $1 to $2"
+msgstr "ไม่สามารถติดตั้ง $1 ถึง $2"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find real mod name for: $1"
+msgstr "ติดตั้ง Mod: ไม่สามารถค้นหาชื่อจริงของ mod: $1"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgstr "ติดตั้ง Mod: ไม่สามารถค้นหาชื่อของโฟลเดอร์ที่เหมาะสมสำหรับ modpack $1"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgstr "ติดตั้ง: ชนิดà¹à¸Ÿà¹‰à¸¡à¸—ี่ไม่สนับสนุน \"$1\" หรือเà¸à¸´à¸”à¸à¸²à¸£à¹€à¸ªà¸µà¸¢à¸«à¸²à¸¢"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: file: \"$1\""
+msgstr "ติดตั้ง: ไฟล์: \"$1\""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to find a valid mod or modpack"
+msgstr "ค้าหาไม่พบ mod หรือ modpack"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a $1 as a texture pack"
+msgstr "ไม่สามารถติดตั้งพื้นผิว Texture $1"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a game as a $1"
+msgstr "ไม่สามารถติดตั้งเà¸à¸¡ $1"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a mod as a $1"
+msgstr "ไม่สามารถติดตั้ง mod $1"
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a modpack as a $1"
+msgstr "ไม่สามารถติดตั้ง modpack ที่ $1"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Browse online content"
+msgstr "เรียà¸à¸”ูเนื้อหาออนไลน์"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Content"
+msgstr "เนื้อหา"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Disable Texture Pack"
+msgstr "ปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸žà¸·à¹‰à¸™à¸œà¸´à¸§ Texture"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Information:"
+msgstr "ข้อมูล:"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Installed Packages:"
+msgstr "ติดตั้งà¹à¸žà¸„เà¸à¸ˆ:"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "No dependencies."
+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 "Uninstall Package"
+msgstr "ถอนà¸à¸²à¸£à¸•ิดตั้งà¹à¸žà¸„เà¸à¸ˆ"
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Use Texture Pack"
+msgstr "ใช้พื้นผิว Texture"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Active Contributors"
+msgstr "ผู้ร่วมให้ข้อมูล"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Core Developers"
+msgstr "นัà¸à¸žà¸±à¸’นาหลัà¸"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Credits"
+msgstr "เครดิต"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Contributors"
+msgstr "ผู้สนับสนุนà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Core Developers"
+msgstr "นัà¸à¸žà¸±à¸’นาหลัà¸à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Announce Server"
+msgstr "ประà¸à¸²à¸¨ เซิร์ฟเวอร์"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Bind Address"
+msgstr "ผูà¸à¸—ี่อยู่"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Configure"
+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 Game"
+msgstr "โฮสต์เà¸à¸¡"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Host Server"
+msgstr "เซิร์ฟเวอร์"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Name/Password"
+msgstr "ชื่อ/รหัสผ่าน"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "New"
+msgstr "ใหม่"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "No world created or selected!"
+msgstr "ยังไม่มีà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹‚ลภหรือยังไม่ได้เลือà¸!"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Play Game"
+msgstr "เล่นเà¸à¸¡"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Port"
+msgstr "พอร์ต"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Select World:"
+msgstr "เลือà¸à¹‚ลà¸:"
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Server Port"
+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 "Connect"
+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 "Del. Favorite"
+msgstr "ลบรายà¸à¸²à¸£à¹‚ปรด"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Favorite"
+msgstr "ชื่นชอบ"
+
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
+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 "Ping"
+msgstr "เวลาตอบสนอง"
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "PvP enabled"
+msgstr "PvP เปิดใช้งาน"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
+msgstr "2x"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "3D Clouds"
+msgstr "3D เมฆ"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "4x"
+msgstr "4x"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "8x"
+msgstr "8x"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "All Settings"
+msgstr "à¸à¸²à¸£à¸•ั้งค่าทั้งหมด"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Antialiasing:"
+msgstr "ลบรอยหยัà¸:"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Are you sure to reset your singleplayer world?"
+msgstr "à¸à¸²à¸£à¸•ั้งค่าของคุณโลภsingleplayer à¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¹„ม่?"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Autosave Screen Size"
+msgstr "ขนาดหน้าจอบันทึà¸à¸­à¸±à¸•โนมัติ"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bilinear Filter"
+msgstr "à¸à¸£à¸­à¸‡ bilinear"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bump Mapping"
+msgstr "à¸à¸²à¸£à¹à¸¡à¹‡à¸› ชน"
+
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
+msgstr "เปลี่ยนคีย์"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Connected Glass"
+msgstr "เชื่อมต่อà¹à¸à¹‰à¸§"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Fancy Leaves"
+msgstr "ใบไม้"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Generate Normal Maps"
+msgstr "สร้างà¹à¸œà¸™à¸—ี่ปà¸à¸•ิ"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Mipmap"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อ"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Mipmap + Aniso. Filter"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อ + Aniso.à¸à¸£à¸­à¸‡"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No"
+msgstr "ไม่"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Filter"
+msgstr "ไม่มีตัวà¸à¸£à¸­à¸‡"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Mipmap"
+msgstr "ไม่ Mipmap (à¹à¸œà¸™à¸—ี่ย่อ)"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Highlighting"
+msgstr "โหนที่เน้น"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Outlining"
+msgstr "สรุป โหน"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "None"
+msgstr "ไม่มี"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Leaves"
+msgstr "ใบทึบ"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Water"
+msgstr "น้ำขุ่น"
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+#, fuzzy
+msgid "Parallax Occlusion"
+msgstr "Parallax อุดตัน"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Particles"
+msgstr "อนุภาค"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Reset singleplayer world"
+msgstr "รีเซ็ต singleplayer โลà¸"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Screen:"
+msgstr "หน้าจอ:"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Settings"
+msgstr "à¸à¸²à¸£à¸•ั้งค่า"
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+#, fuzzy
+msgid "Shaders"
+msgstr "Shaders"
+
+#: builtin/mainmenu/tab_settings.lua
+#, fuzzy
+msgid "Shaders (unavailable)"
+msgstr "Shaders (ไม่พร้อมใช้งาน)"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Simple Leaves"
+msgstr "ใบเรียบง่าย"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Smooth Lighting"
+msgstr "โคมไฟเรียบ"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Texturing:"
+msgstr "พื้นผิว:"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "To enable shaders the OpenGL driver needs to be used."
+msgstr "à¸à¸²à¸£à¹€à¸›à¸´à¸”ใช้งานต้องมีโปรà¹à¸à¸£à¸¡à¸„วบคุม OpenGL ของ shaders ใช้."
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Tone Mapping"
+msgstr "à¸à¸²à¸£à¹à¸¡à¸›à¹‚ทน"
+
+#: builtin/mainmenu/tab_settings.lua
+#, fuzzy
+msgid "Touchthreshold: (px)"
+msgstr "Touchthreshold: (px)"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Trilinear Filter"
+msgstr "à¸à¸£à¸­à¸‡ trilinear"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Leaves"
+msgstr "ใบโบà¸"
+
+#: builtin/mainmenu/tab_settings.lua
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "โบà¸à¹‚หนด"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Plants"
+msgstr "โบà¸à¹„ม้"
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Yes"
+msgstr "ใช่"
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Config mods"
+msgstr "à¸à¸³à¸«à¸™à¸”ค่าวัยรุ่น"
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Main"
+msgstr "หลัà¸"
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Start Singleplayer"
+msgstr "เริ่มเล่นเดี่ยว"
+
+#: src/client/client.cpp
+msgid "Connection timed out."
+msgstr "à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อหมดเวลา"
+
+#: src/client/client.cpp
+msgid "Done!"
+msgstr "ทำ!"
+
+#: src/client/client.cpp
+msgid "Initializing nodes"
+msgstr "เริ่มต้นโหน"
+
+#: src/client/client.cpp
+msgid "Initializing nodes..."
+msgstr "เริ่มต้นโหน..."
+
+#: src/client/client.cpp
+msgid "Loading textures..."
+msgstr "โหลดพื้นผิว..."
+
+#: src/client/client.cpp
+msgid "Rebuilding shaders..."
+msgstr "บูรณะ shaders..."
+
+#: src/client/clientlauncher.cpp
+msgid "Connection error (timed out?)"
+msgstr "ข้อผิดพลาดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ (หมดเวลา?)"
+
+#: src/client/clientlauncher.cpp
+msgid "Could not find or load game \""
+msgstr "ไม่สามารถค้นหา หรือโหลดเà¸à¸¡"
+
+#: src/client/clientlauncher.cpp
+msgid "Invalid gamespec."
+msgstr "ข้อมูลจำเพาะเà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¹€à¸à¸¡ ไม่ถูà¸à¸•้อง."
+
+#: src/client/clientlauncher.cpp
+msgid "Main Menu"
+msgstr "เมนูหลัà¸"
+
+#: src/client/clientlauncher.cpp
+msgid "No world selected and no address provided. Nothing to do."
+msgstr "โลà¸à¹„ม่เลือà¸à¹à¸¥à¸°à¹„ม่มีที่อยู่ที่ให้ไว้. ไม่มีอะไรทำ."
+
+#: src/client/clientlauncher.cpp
+msgid "Player name too long."
+msgstr "ชื่อเล่นนานเà¸à¸´à¸™à¹„ป."
+
+#: src/client/clientlauncher.cpp
+msgid "Please choose a name!"
+msgstr "à¸à¸£à¸¸à¸“าเลือà¸à¸Šà¸·à¹ˆà¸­!"
+
+#: src/client/clientlauncher.cpp
+msgid "Provided password file failed to open: "
+msgstr "รหัสผ่านให้ไฟล์ไม่สามารถเปิด "
+
+#: src/client/clientlauncher.cpp
+msgid "Provided world path doesn't exist: "
+msgstr "โลà¸à¸¡à¸µà¹€à¸ªà¹‰à¸™à¹„ม่มี: "
+
+#: src/client/fontengine.cpp
+msgid "needs_fallback_font"
+msgstr "ต้องà¸à¸²à¸£à¹ƒà¸Šà¹‰à¹à¸—นอัà¸à¸©à¸£"
+
+#: src/client/game.cpp
+#, fuzzy
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
+"\n"
+"ตรวจสอบรายละเอียด debug.txt."
+
+#: src/client/game.cpp
+msgid "- Address: "
+msgstr "-ที่อยู่: "
+
+#: src/client/game.cpp
+msgid "- Creative Mode: "
+msgstr "-โหมดสร้างสรรค์: "
+
+#: src/client/game.cpp
+msgid "- Damage: "
+msgstr "-ความเสียหาย: "
+
+#: src/client/game.cpp
+msgid "- Mode: "
+msgstr "-โหมด: "
+
+#: src/client/game.cpp
+msgid "- Port: "
+msgstr "-พอร์ต: "
+
+#: src/client/game.cpp
+msgid "- Public: "
+msgstr "-ประชาชน: "
+
+#: src/client/game.cpp
+#, fuzzy
+msgid "- PvP: "
+msgstr "- PvP: "
+
+#: src/client/game.cpp
+msgid "- Server Name: "
+msgstr "-ชื่อเซิร์ฟเวอร์: "
+
+#: src/client/game.cpp
+msgid "Automatic forward disabled"
+msgstr "ปิดใช้งานà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸•่ออัตโนมัติ"
+
+#: src/client/game.cpp
+msgid "Automatic forward enabled"
+msgstr "เปิดใช้งานà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸•่ออัตโนมัติ"
+
+#: src/client/game.cpp
+msgid "Camera update disabled"
+msgstr "ปิดใช้งานà¸à¸²à¸£à¸­à¸±à¸›à¹€à¸”ตà¸à¸¥à¹‰à¸­à¸‡à¹à¸¥à¹‰à¸§"
+
+#: src/client/game.cpp
+msgid "Camera update enabled"
+msgstr "เปิดใช้งานà¸à¸²à¸£à¸­à¸±à¸›à¹€à¸”ตà¸à¸¥à¹‰à¸­à¸‡à¹à¸¥à¹‰à¸§"
+
+#: src/client/game.cpp
+msgid "Change Password"
+msgstr "เปลี่ยนรหัสผ่าน"
+
+#: src/client/game.cpp
+msgid "Cinematic mode disabled"
+msgstr "ปิดใช้งานโหมดภาพยนตร์"
+
+#: src/client/game.cpp
+msgid "Cinematic mode enabled"
+msgstr "เปิดใช้งานโหมดภาพยนตร์"
+
+#: src/client/game.cpp
+msgid "Client side scripting is disabled"
+msgstr "à¸à¸²à¸£à¹€à¸‚ียนสคริปต์à¸à¸±à¹ˆà¸‡à¹„คลเอ็นต์ถูà¸à¸›à¸´à¸”ใช้งาน"
+
+#: src/client/game.cpp
+msgid "Connecting to server..."
+msgstr "เชื่อมต่อà¸à¸±à¸šà¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ"
+
+#: src/client/game.cpp
+msgid "Continue"
+msgstr "ต่อ"
+
+#: src/client/game.cpp
+#, fuzzy, 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 ""
+"à¸à¸²à¸£à¸„วบคุม:\n"
+"-%s1: เลื่อนไปข้างหน้า\n"
+"-%s2: เลื่อนไปข้างหลัง\n"
+"-%s3: เลื่อนไปทางซ้าย\n"
+"-%s4: เลื่อนไปทางขวา\n"
+"-%s5: à¸à¸£à¸°à¹‚ดด / ปีน\n"
+"-%s6: à¹à¸­à¸šà¸”ู / ลงไป\n"
+"-%s7: วางรายà¸à¸²à¸£\n"
+"-%s8: สินค้าคงคลัง\n"
+"- เมาส์: เลี้ยว / มอง\n"
+"- เมาส์ซ้าย: ขุด / เจาะ\n"
+"- เมาส์ขวา: สถานที่ / à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™\n"
+"- ล้อเมาส์: เลือà¸à¸£à¸²à¸¢à¸à¸²à¸£\n"
+"-%s9: à¹à¸Šà¸—\n"
+
+#: src/client/game.cpp
+msgid "Creating client..."
+msgstr "สร้างไคลเอ็นต์..."
+
+#: src/client/game.cpp
+msgid "Creating server..."
+msgstr "à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ..."
+
+#: src/client/game.cpp
+msgid "Debug info and profiler graph hidden"
+msgstr "ข้อมูลà¸à¸²à¸£à¸”ีบัà¸à¹à¸¥à¸°à¸à¸£à¸²à¸Ÿà¸•ัวสร้างโปรไฟล์ถูà¸à¸‹à¹ˆà¸­à¸™"
+
+#: src/client/game.cpp
+msgid "Debug info shown"
+msgstr "à¹à¸ªà¸”งข้อมูลà¸à¸²à¸£à¸”ีบัà¸"
+
+#: src/client/game.cpp
+msgid "Debug info, profiler graph, and wireframe hidden"
+msgstr "ข้อมูลà¸à¸²à¸£à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¸à¸£à¸²à¸Ÿ profiler à¹à¸¥à¸° wireframe ซ่อนอยู่"
+
+#: 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 ""
+"à¸à¸²à¸£à¸„วบคุมเริ่มต้น:\n"
+"ไม่ปราà¸à¸à¹€à¸¡à¸™à¸¹:\n"
+"- à¹à¸•ะเพียงครั้งเดียว: เปิดใช้งานปุ่ม\n"
+"- à¹à¸•ะสองครั้ง: สถานที่ / à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™\n"
+"- นิ้วสไลด์: มองไปรอบ ๆ\n"
+"เมนู / คลังโฆษณาปราà¸à¸:\n"
+"- à¹à¸•ะสองครั้ง (นอà¸):\n"
+" -> ใà¸à¸¥à¹‰\n"
+"- สà¹à¸•็à¸à¸ªà¸±à¸¡à¸œà¸±à¸ª, สล็อตสัมผัส:\n"
+" -> ย้ายสà¹à¸•็à¸\n"
+"- à¹à¸•ะà¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹à¸•ะนิ้วที่สอง\n"
+" -> วางรายà¸à¸²à¸£à¹€à¸”ียวไปยังสล็อต\n"
+
+#: src/client/game.cpp
+msgid "Disabled unlimited viewing range"
+msgstr "ปิดใช้งานช่วงà¸à¸²à¸£à¸”ูไม่ จำà¸à¸±à¸”"
+
+#: src/client/game.cpp
+msgid "Enabled unlimited viewing range"
+msgstr "เปิดใช้งานช่วงà¸à¸²à¸£à¸”ูที่ไม่ จำà¸à¸±à¸”"
+
+#: src/client/game.cpp
+msgid "Exit to Menu"
+msgstr "ออà¸à¸ˆà¸²à¸à¹€à¸¡à¸™à¸¹"
+
+#: src/client/game.cpp
+msgid "Exit to OS"
+msgstr "อธิบายระบบปà¸à¸´à¸šà¸±à¸•ิà¸à¸²à¸£"
+
+#: src/client/game.cpp
+msgid "Fast 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 "Fly mode disabled"
+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 "Fog disabled"
+msgstr "หมอà¸à¸›à¸´à¸”à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™"
+
+#: src/client/game.cpp
+msgid "Fog enabled"
+msgstr "หมอà¸à¹€à¸›à¸´à¸”ใช้งาน"
+
+#: src/client/game.cpp
+msgid "Game info:"
+msgstr "ข้อมูลเà¸à¸¡:"
+
+#: src/client/game.cpp
+msgid "Game paused"
+msgstr "เà¸à¸¡à¸«à¸¢à¸¸à¸”ชั่วคราว"
+
+#: src/client/game.cpp
+msgid "Hosting server"
+msgstr "เซิร์ฟเวอร์ที่โฮสต์"
+
+#: src/client/game.cpp
+msgid "Item definitions..."
+msgstr "ข้อà¸à¸³à¸«à¸™à¸”ของสินค้า..."
+
+#: src/client/game.cpp
+msgid "KiB/s"
+msgstr "KiB/s"
+
+#: src/client/game.cpp
+msgid "Media..."
+msgstr "สื่อ..."
+
+#: src/client/game.cpp
+msgid "MiB/s"
+msgstr "MiB/s"
+
+#: src/client/game.cpp
+msgid "Minimap currently disabled by game or mod"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อในปัจจุบันถูà¸à¸›à¸´à¸”ใช้งานโดยเà¸à¸¡à¸«à¸£à¸·à¸­à¸•ัวดัดà¹à¸›à¸¥à¸‡"
+
+#: src/client/game.cpp
+msgid "Minimap hidden"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อซ่อนอยู่"
+
+#: src/client/game.cpp
+msgid "Minimap in radar mode, Zoom x1"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อในโหมดเรดาร์, ซูม x1"
+
+#: src/client/game.cpp
+msgid "Minimap in radar mode, Zoom x2"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อในโหมดเรดาร์, ซูม x2"
+
+#: src/client/game.cpp
+msgid "Minimap in radar mode, Zoom x4"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อในโหมดเรดาร์, ซูม x4"
+
+#: src/client/game.cpp
+#, fuzzy
+msgid "Minimap in surface mode, Zoom x1"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อในโหมด surface, ซูม x1"
+
+#: src/client/game.cpp
+#, fuzzy
+msgid "Minimap in surface mode, Zoom x2"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อในโหมด surface, ซูม x2"
+
+#: src/client/game.cpp
+#, fuzzy
+msgid "Minimap in surface mode, Zoom x4"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อในโหมด surface, ซูม x4"
+
+#: src/client/game.cpp
+msgid "Noclip mode disabled"
+msgstr "ปิดใช้งานโหมด Noclip"
+
+#: src/client/game.cpp
+msgid "Noclip mode enabled"
+msgstr "เปิดใช้งานโหมด Noclip"
+
+#: src/client/game.cpp
+msgid "Noclip mode enabled (note: no 'noclip' privilege)"
+msgstr "เปิดใช้งานโหมด Noclip (หมายเหตุ: ไม่มีสิทธิ์ 'noclip')"
+
+#: src/client/game.cpp
+msgid "Node definitions..."
+msgstr "à¸à¸³à¸«à¸™à¸”โหน..."
+
+#: src/client/game.cpp
+msgid "Off"
+msgstr "ปิด"
+
+#: src/client/game.cpp
+msgid "On"
+msgstr "บน"
+
+#: src/client/game.cpp
+msgid "Pitch move mode disabled"
+msgstr "ปิดใช้งานโหมดย้ายสนาม"
+
+#: src/client/game.cpp
+msgid "Pitch move mode enabled"
+msgstr "สนามย้ายเปิดใช้โหมด"
+
+#: src/client/game.cpp
+#, fuzzy
+msgid "Profiler graph shown"
+msgstr "à¹à¸ªà¸”งà¸à¸£à¸²à¸Ÿ Profiler"
+
+#: src/client/game.cpp
+msgid "Remote server"
+msgstr "เซิร์ฟเวอร์ระยะไà¸à¸¥"
+
+#: src/client/game.cpp
+msgid "Resolving address..."
+msgstr "à¸à¸²à¸£à¹à¸à¹‰à¹„ขที่อยู่..."
+
+#: src/client/game.cpp
+msgid "Shutting down..."
+msgstr "ปิด..."
+
+#: src/client/game.cpp
+msgid "Singleplayer"
+msgstr "เล่นคนเดียว"
+
+#: src/client/game.cpp
+msgid "Sound Volume"
+msgstr "ระดับเสียง"
+
+#: src/client/game.cpp
+msgid "Sound muted"
+msgstr "เสียงเสียง"
+
+#: src/client/game.cpp
+msgid "Sound unmuted"
+msgstr "เสียงไม่ปิดเสียง"
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range changed to %d"
+msgstr "ช่วงà¸à¸²à¸£à¸”ูเปลี่ยนเป็น %d1"
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at maximum: %d"
+msgstr "ระยะà¸à¸²à¸£à¸”ูสูงสุดที่: %d1"
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at minimum: %d"
+msgstr "ช่วงà¸à¸²à¸£à¸”ูเป็นอย่างน้อย: %d1"
+
+#: src/client/game.cpp
+#, c-format
+msgid "Volume changed to %d%%"
+msgstr "ปริมาตรที่เปลี่ยนไป %d1%%2"
+
+#: src/client/game.cpp
+msgid "Wireframe shown"
+msgstr "à¹à¸ªà¸”งโครงลวด"
+
+#: src/client/game.cpp
+msgid "Zoom currently disabled by game or mod"
+msgstr "ซูมถูà¸à¸›à¸´à¸”ใช้งานในปัจจุบันโดยเà¸à¸¡à¸«à¸£à¸·à¸­à¸•ัวดัดà¹à¸›à¸¥à¸‡"
+
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
+msgstr "ตà¸à¸¥à¸‡"
+
+#: src/client/gameui.cpp
+msgid "Chat hidden"
+msgstr "สนทนาซ่อนอยู่"
+
+#: src/client/gameui.cpp
+msgid "Chat shown"
+msgstr "สนทนาà¹à¸ªà¸”ง"
+
+#: src/client/gameui.cpp
+#, fuzzy
+msgid "HUD hidden"
+msgstr "ผิวที่ซ่อน"
+
+#: src/client/gameui.cpp
+#, fuzzy
+msgid "HUD shown"
+msgstr "ผิวà¹à¸ªà¸”ง"
+
+#: src/client/gameui.cpp
+msgid "Profiler hidden"
+msgstr "สร้างโปรไฟล์ซ่อน"
+
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
+msgstr "สร้างโปรไฟล์ที่à¹à¸ªà¸”ง (หน้า %d1 of %d2)"
+
+#: src/client/keycode.cpp
+msgid "Apps"
+msgstr "à¹à¸­"
+
+#: src/client/keycode.cpp
+#, fuzzy
+msgid "Backspace"
+msgstr "Backspace"
+
+#: src/client/keycode.cpp
+#, fuzzy
+msgid "Caps Lock"
+msgstr "Caps Lock"
+
+#: src/client/keycode.cpp
+msgid "Clear"
+msgstr "ล้าง"
+
+#: src/client/keycode.cpp
+msgid "Control"
+msgstr "ควบคุม"
+
+#: src/client/keycode.cpp
+msgid "Down"
+msgstr "ลง"
+
+#: src/client/keycode.cpp
+msgid "End"
+msgstr "สิ้นสุด"
+
+#: src/client/keycode.cpp
+msgid "Erase EOF"
+msgstr "ลบ EOF"
+
+#: src/client/keycode.cpp
+msgid "Execute"
+msgstr "ดำเนินà¸à¸²à¸£"
+
+#: src/client/keycode.cpp
+msgid "Help"
+msgstr "ช่วย"
+
+#: src/client/keycode.cpp
+msgid "Home"
+msgstr "บ้าน"
+
+#: src/client/keycode.cpp
+msgid "IME Accept"
+msgstr "IME รับ"
+
+#: src/client/keycode.cpp
+msgid "IME Convert"
+msgstr "IME à¹à¸›à¸¥à¸‡"
+
+#: src/client/keycode.cpp
+msgid "IME Escape"
+msgstr "IME หนี"
+
+#: src/client/keycode.cpp
+msgid "IME Mode Change"
+msgstr "à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹‚หมด IME"
+
+#: src/client/keycode.cpp
+msgid "IME Nonconvert"
+msgstr "IME ไม่à¹à¸›à¸¥à¸‡"
+
+#: src/client/keycode.cpp
+msgid "Insert"
+msgstr "ใส่"
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Left"
+msgstr "ด้านซ้าย"
+
+#: src/client/keycode.cpp
+msgid "Left Button"
+msgstr "ปุ่มซ้าย"
+
+#: src/client/keycode.cpp
+msgid "Left Control"
+msgstr "ด้านซ้าย Control"
+
+#: src/client/keycode.cpp
+msgid "Left Menu"
+msgstr "ด้านซ้าย Menu"
+
+#: src/client/keycode.cpp
+#, fuzzy
+msgid "Left Shift"
+msgstr "ด้านซ้าย Shift"
+
+#: src/client/keycode.cpp
+msgid "Left Windows"
+msgstr "หน้าต่างซ้าย"
+
+#: src/client/keycode.cpp
+msgid "Menu"
+msgstr "เมนู"
+
+#: src/client/keycode.cpp
+msgid "Middle Button"
+msgstr "ปุ่มà¸à¸¥à¸²à¸‡"
+
+#: src/client/keycode.cpp
+#, fuzzy
+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 -"
+
+#: 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 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"
+
+#: src/client/keycode.cpp
+msgid "OEM Clear"
+msgstr "OEM ล้าง"
+
+#: src/client/keycode.cpp
+msgid "Page down"
+msgstr "เพลง"
+
+#: src/client/keycode.cpp
+msgid "Page up"
+msgstr "หน้าขึ้น"
+
+#: src/client/keycode.cpp
+msgid "Pause"
+msgstr "หยุด"
+
+#: src/client/keycode.cpp
+msgid "Play"
+msgstr "เล่น"
+
+#: src/client/keycode.cpp
+msgid "Print"
+msgstr "พิมพ์"
+
+#: src/client/keycode.cpp
+msgid "Return"
+msgstr "à¸à¸¥à¸±à¸š"
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
+msgstr "สิทธิ"
+
+#: src/client/keycode.cpp
+msgid "Right Button"
+msgstr "ปุ่มขวา"
+
+#: src/client/keycode.cpp
+msgid "Right Control"
+msgstr "สิทธิ Control"
+
+#: src/client/keycode.cpp
+msgid "Right Menu"
+msgstr "สิทธิ Menu"
+
+#: src/client/keycode.cpp
+msgid "Right Shift"
+msgstr "สิทธิ Shift"
+
+#: src/client/keycode.cpp
+msgid "Right Windows"
+msgstr "หน้าต่างขวา"
+
+#: src/client/keycode.cpp
+#, fuzzy
+msgid "Scroll Lock"
+msgstr "Scroll Lock"
+
+#: src/client/keycode.cpp
+msgid "Select"
+msgstr "เลือà¸"
+
+#: src/client/keycode.cpp
+msgid "Shift"
+msgstr "à¸à¸°"
+
+#: src/client/keycode.cpp
+msgid "Sleep"
+msgstr "สลี"
+
+#: src/client/keycode.cpp
+msgid "Snapshot"
+msgstr "ภาพรวม"
+
+#: src/client/keycode.cpp
+#, fuzzy
+msgid "Space"
+msgstr "Space พื้นที่"
+
+#: src/client/keycode.cpp
+#, fuzzy
+msgid "Tab"
+msgstr "à¹à¸—็บ"
+
+#: src/client/keycode.cpp
+msgid "Up"
+msgstr "ค่า"
+
+#: src/client/keycode.cpp
+msgid "X Button 1"
+msgstr "X ปุ่ม 1"
+
+#: src/client/keycode.cpp
+msgid "X Button 2"
+msgstr "X ปุ่ม 2"
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Zoom"
+msgstr "ซูม"
+
+#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
+msgid "Passwords do not match!"
+msgstr "รหัสผ่านไม่ตรงà¸à¸±à¸š!"
+
+#: src/gui/guiConfirmRegistration.cpp
+msgid "Register and Join"
+msgstr "ลงทะเบียน à¹à¸¥à¸°à¹€à¸‚้าร่วม"
+
+#: src/gui/guiConfirmRegistration.cpp
+#, fuzzy, 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 ""
+"คุณà¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¹€à¸‚้าร่วมเซิร์ฟเวอร์ที่ %1$s1 ด้วยชื่อ '%2$s2' เป็นครั้งà¹à¸£à¸ ถ้าคุณดำเนินà¸à¸²à¸£ "
+"จะมีสร้างบัà¸à¸Šà¸µà¹ƒà¸«à¸¡à¹ˆà¹‚ดยใช้ข้อมูลประจำตัวของคุณบนเซิร์ฟเวอร์นี้ \n"
+"à¸à¸£à¸¸à¸“าพิมพ์รหัสผ่านของคุณ à¹à¸¥à¸°à¸„ลิà¸à¸—ี่ลงทะเบียนà¹à¸¥à¸°à¹€à¸‚้าร่วมเพื่อยืนยันà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸šà¸±à¸à¸Šà¸µà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰ "
+"หรือคลิà¸à¸¢à¸à¹€à¸¥à¸´à¸à¹€à¸žà¸·à¹ˆà¸­à¸¢à¸à¹€à¸¥à¸´à¸."
+
+#: src/gui/guiFormSpecMenu.cpp
+msgid "Proceed"
+msgstr "ดำเนินà¸à¸²à¸£"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "\"Special\" = climb down"
+msgstr "\"Special\" = ปีนลง"
+
+#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Autoforward"
+msgstr "Autoforward"
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Automatic jumping"
+msgstr "à¸à¸£à¸°à¹‚ดด อัตโนมัติ"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Backward"
+msgstr "ย้อนหลัง"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Change camera"
+msgstr "เปลี่ยนà¸à¸¥à¹‰à¸­à¸‡"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Chat"
+msgstr "à¹à¸Š"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Command"
+msgstr "คำสั่ง"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Console"
+msgstr "คอนโซล"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. range"
+msgstr "ลดลงช่วง"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. volume"
+msgstr "ปริมาณลดลง"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Double tap \"jump\" to toggle fly"
+msgstr "à¹à¸•ะสองครั้งà¸à¸£à¸°à¹‚ดดสลับบิน"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Drop"
+msgstr "ปล่อย"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Forward"
+msgstr "ไปข้างหน้า"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. range"
+msgstr "เพิ่มช่วง"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. volume"
+msgstr "เพิ่มระดับเสียง"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inventory"
+msgstr "สินค้าคงคลัง"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Jump"
+msgstr "à¸à¸£à¸°à¹‚ดด"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Key already in use"
+msgstr "คีย์ใช้"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr "โหวต. (ถ้าเมนูนี้สà¸à¸£à¸¹à¸‚ึ้น เอาข้อมูลจาภminetest.conf)"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Local command"
+msgstr "ท้องถิ่นคำสั่ง"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Mute"
+msgstr "ปิด"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Next item"
+msgstr "รายà¸à¸²à¸£à¸–ัดไป"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Prev. item"
+msgstr "รายà¸à¸²à¸£à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Range select"
+msgstr "ช่วงเลือà¸"
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Screenshot"
+msgstr "ภาพหน้าจอ"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Sneak"
+msgstr "à¹à¸­à¸š"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Special"
+msgstr "พิเศษ"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle HUD"
+msgstr "สลับ HUD"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle chat log"
+msgstr "บันทึà¸à¸ªà¸™à¸—นาสลับ"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fast"
+msgstr "สลับอย่างรวดเร็ว"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fly"
+msgstr "สลับบิน"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fog"
+msgstr "สลับหมอà¸"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle minimap"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อสลับ"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle noclip"
+msgstr "สลับ noclip"
+
+#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "บันทึà¸à¸ªà¸™à¸—นาสลับ"
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
+msgstr "à¸à¸”ปุ่ม"
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Change"
+msgstr "เปลี่ยน"
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Confirm Password"
+msgstr "ยืนยันรหัสผ่าน"
+
+#: src/gui/guiPasswordChange.cpp
+msgid "New Password"
+msgstr "รหัสผ่านใหม่"
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
+msgstr "รหัสผ่านเà¸à¹ˆà¸²"
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Exit"
+msgstr "ออà¸"
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Muted"
+msgstr "เสียง"
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr "ระดับเสียง "
+
+#: src/gui/modalMenu.cpp
+msgid "Enter "
+msgstr "ป้อน "
+
+#: src/network/clientpackethandler.cpp
+#, fuzzy
+msgid "LANG_CODE"
+msgstr "LANG_CODE"
+
+#: 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 ""
+"(Android) à¹à¸à¹‰à¹„ขตำà¹à¸«à¸™à¹ˆà¸‡à¸‚องจอยสติ๊à¸à¹€à¸ªà¸¡à¸·à¸­à¸™\n"
+"หาà¸à¸›à¸´à¸”ใช้งานจอยสติà¸à¹€à¸ªà¸¡à¸·à¸­à¸™à¸ˆà¸°à¸­à¸¢à¸¹à¹ˆà¸—ี่ตำà¹à¸«à¸™à¹ˆà¸‡à¹à¸£à¸à¸‚องสัมผัส"
+
+#: 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 ""
+"(Android) ใช้จอยสติ๊à¸à¹€à¸ªà¸¡à¸·à¸­à¸™à¹€à¸žà¸·à¹ˆà¸­à¹€à¸£à¸µà¸¢à¸à¸›à¸¸à¹ˆà¸¡ \"aux\"\n"
+"หาà¸à¹€à¸›à¸´à¸”ใช้งานจอยสติà¸à¹€à¸ªà¸¡à¸·à¸­à¸™à¸ˆà¸£à¸´à¸‡à¸à¹‡à¸ˆà¸°à¹à¸•ะปุ่ม \"aux\" เมื่ออยู่นอà¸à¸§à¸‡à¸à¸¥à¸¡à¸«à¸¥à¸±à¸"
+
+#: 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 ""
+"(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 ""
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
+msgstr ""
+"0 = à¸à¸²à¸£à¸šà¸”บังพารัลà¹à¸¥à¸à¸‹à¹Œà¸žà¸£à¹‰à¸­à¸¡à¸‚้อมูลความชัน (เร็วà¸à¸§à¹ˆà¸²)\n"
+"1 = à¸à¸²à¸£à¸—ำà¹à¸œà¸™à¸—ี่นูน (ช้าà¸à¸§à¹ˆà¸²à¹à¸¡à¹ˆà¸™à¸¢à¸³à¸à¸§à¹ˆà¸²)"
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of ridged mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of rolling hills."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of step mountains."
+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 "2D noise that controls the size/occurrence of rolling hills."
+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 "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D clouds"
+msgstr "เมฆ 3 มิติ"
+
+#: src/settings_translation_file.cpp
+msgid "3D mode"
+msgstr "โหมด 3D"
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining giant caverns."
+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 "3D noise defining structure of river canyon walls."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+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 ""
+"รองรับ 3D\n"
+"รองรับในปัจจุบัน:\n"
+"- ไม่มี: ไม่มีเอาต์พุต 3d\n"
+"- anaglyph: cyan / magenta color 3d\n"
+"- interlaced: à¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸«à¸™à¹‰à¸²à¸ˆà¸­à¹‚พลาไรเซชันà¹à¸šà¸šà¸­à¸´à¸‡à¹€à¸ªà¹‰à¸™à¸„ี่ / คู่\n"
+"- topbottom: หน้าจอà¹à¸¢à¸à¸”้านบน / ล่าง\n"
+"- sidebyside: à¹à¸šà¹ˆà¸‡à¸«à¸™à¹‰à¸²à¸ˆà¸­à¸—ีละด้าน\n"
+"- crossview: 3d สามมิติ\n"
+"- pageflip: 3d จาภquadbuffer\n"
+"โปรดทราบว่าโหมด interlaced จะต้องเปิดใช้ shaders"
+
+#: 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 ""
+"เมล็ดà¹à¸œà¸™à¸—ี่ที่เลือà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹à¸œà¸™à¸—ี่ใหม่ปล่อยว่างไว้สำหรับà¸à¸²à¸£à¸ªà¸¸à¹ˆà¸¡.\n"
+"จะถูà¸à¹à¸—นที่เมื่อสร้างโลà¸à¹ƒà¸«à¸¡à¹ˆà¹ƒà¸™à¹€à¸¡à¸™à¸¹à¸«à¸¥à¸±à¸."
+
+#: 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 "A message to be displayed to all clients when the server shuts down."
+msgstr "ข้อความที่จะà¹à¸ªà¸”งต่อไคลเอนต์ทั้งหมดเมื่อเซิร์ฟเวอร์ปิดตัวลง."
+
+#: src/settings_translation_file.cpp
+msgid "ABM interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Absolute limit of emerge queues"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration in air"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block management interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
+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 ""
+"ที่อยู่เพื่อเชื่อมต่อ\n"
+"เว้นว่างไว้เพื่อเริ่มเซิร์ฟเวอร์ภายใน\n"
+"โปรดทราบว่าฟิลด์ที่อยู่ในเมนูหลัà¸à¸ˆà¸°à¹à¸—นที่à¸à¸²à¸£à¸•ั้งค่านี้"
+
+#: src/settings_translation_file.cpp
+msgid "Adds particles when digging a node."
+msgstr "เพิ่มอนุภาคเมื่อขุดโหนด."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Adjust dpi configuration to your screen (non X11/Android only) e.g. for 4k "
+"screens."
+msgstr ""
+"ปรับà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ค่า dpi ให้à¸à¸±à¸šà¸«à¸™à¹‰à¸²à¸ˆà¸­à¸‚องคุณ (ไม่ใช่ X11 / Android เท่านั้น) เช่น สำหรับหน้าจอ "
+"4k."
+
+#: 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 ""
+"ปรับà¸à¸²à¸£à¹€à¸‚้ารหัสà¹à¸à¸¡à¸¡à¹ˆà¸²à¸ªà¸³à¸«à¸£à¸±à¸šà¸•ารางà¹à¸ªà¸‡ ตัวเลขที่สูงà¸à¸§à¹ˆà¸²à¸™à¸±à¹‰à¸™à¸ˆà¸°à¸ªà¸§à¹ˆà¸²à¸‡à¸à¸§à¹ˆà¸²\n"
+"à¸à¸²à¸£à¸•ั้งค่านี้มีไว้สำหรับไคลเอ็นต์เท่านั้นà¹à¸¥à¸°à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸ˆà¸°à¹€à¸žà¸´à¸à¹€à¸‰à¸¢"
+
+#: src/settings_translation_file.cpp
+msgid "Advanced"
+msgstr "สูง"
+
+#: src/settings_translation_file.cpp
+msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Altitude chill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Always fly and fast"
+msgstr "บินเสมอ à¹à¸¥à¸°à¸£à¸§à¸”เร็ว"
+
+#: src/settings_translation_file.cpp
+msgid "Ambient occlusion gamma"
+msgstr "à¹à¸à¸¡à¸¡à¸²à¸šà¸”เคี้ยวโดยรอบ"
+
+#: src/settings_translation_file.cpp
+msgid "Amount of messages a player may send per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amplifies the valleys."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Anisotropic filtering"
+msgstr "ตัวà¸à¸£à¸­à¸‡ Anisotropic"
+
+#: src/settings_translation_file.cpp
+msgid "Announce server"
+msgstr "ประà¸à¸²à¸¨à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ"
+
+#: src/settings_translation_file.cpp
+msgid "Announce to this serverlist."
+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 "Apple trees noise"
+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 ""
+"à¹à¸‚นความเฉื่อยทำให้เà¸à¸´à¸”à¸à¸²à¸£à¹€à¸„ลื่อนไหวที่สมจริงยิ่งขึ้น\n"
+"à¹à¸‚นเมื่อà¸à¸¥à¹‰à¸­à¸‡à¹€à¸„ลื่อนไหว"
+
+#: src/settings_translation_file.cpp
+msgid "Ask to reconnect after crash"
+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 "Automatic forward key"
+msgstr "ปุ่มส่งต่ออัตโนมัติ"
+
+#: src/settings_translation_file.cpp
+msgid "Automatically jump up single-node obstacles."
+msgstr "à¸à¸£à¸°à¹‚ดดขึ้นอุปสรรคเดียวโหน โดยอัตโนมัติ."
+
+#: src/settings_translation_file.cpp
+msgid "Automatically report to the serverlist."
+msgstr "รายงานโดยอัตโนมัติไปยังรายà¸à¸²à¸£à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ."
+
+#: src/settings_translation_file.cpp
+msgid "Autosave screen size"
+msgstr "บันทึà¸à¸‚นาดหน้าจออัตโนมัติ"
+
+#: src/settings_translation_file.cpp
+msgid "Autoscaling mode"
+msgstr "โหมดปรับอัตโนมัติ"
+
+#: src/settings_translation_file.cpp
+msgid "Backward key"
+msgstr "ปุ่มย้อนà¸à¸¥à¸±à¸š"
+
+#: src/settings_translation_file.cpp
+msgid "Base ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base terrain height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic"
+msgstr "ขั้นพื้นà¸à¸²à¸™"
+
+#: src/settings_translation_file.cpp
+msgid "Basic privileges"
+msgstr "สิทธิพิเศษพื้นà¸à¸²à¸™"
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bilinear filtering"
+msgstr "à¸à¸²à¸£à¸à¸£à¸­à¸‡ Bilinear"
+
+#: src/settings_translation_file.cpp
+msgid "Bind address"
+msgstr "ผูà¸à¸—ี่อยู่"
+
+#: src/settings_translation_file.cpp
+msgid "Biome API temperature and humidity noise parameters"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgstr "บิตต่อพิà¸à¹€à¸‹à¸¥ (ความลึà¸à¸‚องสี aka) ในโหมดเต็มหน้าจอ."
+
+#: src/settings_translation_file.cpp
+msgid "Block send optimize distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Build inside player"
+msgstr "สร้างภายในเครื่องเล่น"
+
+#: src/settings_translation_file.cpp
+msgid "Builtin"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+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 ""
+"à¸à¸¥à¹‰à¸­à¸‡à¸­à¸¢à¸¹à¹ˆà¹ƒà¸à¸¥à¹‰à¸£à¸°à¸¢à¸°à¸—างระนาบในโหนดระหว่าง 0 ถึง 0.5\n"
+"ผู้ใช้ส่วนใหà¸à¹ˆà¹„ม่จำเป็นต้องเปลี่ยนà¹à¸›à¸¥à¸‡à¸ªà¸´à¹ˆà¸‡à¸™à¸µà¹‰\n"
+"à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸‚ึ้นสามารถลดสิ่งประดิษà¸à¹Œà¹ƒà¸™ GPU ที่อ่อนà¹à¸­à¸à¸§à¹ˆà¸²à¹„ด้\n"
+"0.1 = ค่าเริ่มต้น, 0.25 = คุ้มค่าสำหรับà¹à¸—็บเล็ตที่อ่อนà¹à¸­à¸à¸§à¹ˆà¸²"
+
+#: src/settings_translation_file.cpp
+msgid "Camera smoothing"
+msgstr "à¸à¸¥à¹‰à¸­à¸‡à¹€à¸£à¸µà¸¢à¸š"
+
+#: src/settings_translation_file.cpp
+msgid "Camera smoothing in cinematic mode"
+msgstr "à¸à¸¥à¹‰à¸­à¸‡à¸—ี่ปรับในโหมดภาพยนตร์"
+
+#: src/settings_translation_file.cpp
+msgid "Camera update toggle key"
+msgstr "ปุ่มสลับà¸à¸²à¸£à¸­à¸±à¸žà¹€à¸”ตà¸à¸¥à¹‰à¸­à¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "Cave noise"
+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 "Cave width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern taper"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern upper limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Center of light curve mid-boost."
+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 "Chat key"
+msgstr "รหัสà¹à¸Šà¸—"
+
+#: src/settings_translation_file.cpp
+msgid "Chat message count limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "ข้อความขัดข้อง"
+
+#: src/settings_translation_file.cpp
+msgid "Chat message kick threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message max length"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat toggle key"
+msgstr "ปุ่มสลับà¸à¸²à¸£à¹à¸Šà¸—"
+
+#: src/settings_translation_file.cpp
+msgid "Chatcommands"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chunk size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode"
+msgstr "โหมดภาพยนตร์"
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode key"
+msgstr "ปุ่มโหมดโรงภาพยนตร์"
+
+#: src/settings_translation_file.cpp
+msgid "Clean transparent textures"
+msgstr "ทำความสะอาดพื้นผิวโปร่งใส"
+
+#: src/settings_translation_file.cpp
+msgid "Client"
+msgstr "ไคลเอนต์"
+
+#: src/settings_translation_file.cpp
+msgid "Client and Server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client modding"
+msgstr "ลูà¸à¸„้า modding"
+
+#: src/settings_translation_file.cpp
+msgid "Client side modding restrictions"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side node lookup range restriction"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Climbing speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cloud radius"
+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 "Clouds in menu"
+msgstr "มีเมฆในเมนู"
+
+#: src/settings_translation_file.cpp
+msgid "Colored fog"
+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 ""
+
+#: 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 ""
+"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 "Command key"
+msgstr "คีย์คำสั่ง"
+
+#: src/settings_translation_file.cpp
+msgid "Connect glass"
+msgstr "เชื่อมà¸à¸£à¸°à¸ˆà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Connect to external media server"
+msgstr "เชื่อมต่อà¸à¸±à¸šà¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸ªà¸·à¹ˆà¸­à¸ à¸²à¸¢à¸™à¸­à¸"
+
+#: src/settings_translation_file.cpp
+msgid "Connects glass if supported by node."
+msgstr "เชื่อมต่อ glass ถ้าสนับสนุนโดยโหนด"
+
+#: src/settings_translation_file.cpp
+msgid "Console alpha"
+msgstr "คอนโซลอัลฟ่า"
+
+#: src/settings_translation_file.cpp
+msgid "Console color"
+msgstr "สีคอนโซล"
+
+#: src/settings_translation_file.cpp
+msgid "Console height"
+msgstr "ความสูงของคอนโซล"
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB URL"
+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 ""
+"à¸à¸²à¸£à¹€à¸„ลื่อนที่ไปข้างหน้าอย่างต่อเนื่องสลับโดยคีย์ autoforward.\n"
+"à¸à¸”ปุ่ม autoforward อีà¸à¸„รั้งหรือเคลื่อนไหวไปข้างหลังเพื่อปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™."
+
+#: src/settings_translation_file.cpp
+msgid "Controls"
+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 "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/depth of lake depressions."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/height of hills."
+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 "Controls width of tunnels, a smaller value creates wider tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crash message"
+msgstr "ข้อความขัดข้อง"
+
+#: src/settings_translation_file.cpp
+msgid "Creative"
+msgstr "ความคิดสร้างสรรค์"
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair alpha"
+msgstr "Crosshair อัลฟา"
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair alpha (opaqueness, between 0 and 255)."
+msgstr "Crosshair อัลฟา (ความทึบà¹à¸ªà¸‡à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡ 0 ถึง 255)."
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair color"
+msgstr "สีของครอสà¹à¸®à¸£à¹Œ"
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair color (R,G,B)."
+msgstr "สีของครอสà¹à¸®à¸£à¹Œ (R,G,B)."
+
+#: src/settings_translation_file.cpp
+msgid "DPI"
+msgstr "DPI"
+
+#: src/settings_translation_file.cpp
+msgid "Damage"
+msgstr "ความเสียหาย"
+
+#: src/settings_translation_file.cpp
+msgid "Darkness sharpness"
+msgstr "ความมืดมิด"
+
+#: src/settings_translation_file.cpp
+msgid "Debug info toggle key"
+msgstr "à¹à¸à¹‰à¹„ขคีย์à¸à¸²à¸£à¸ªà¸¥à¸±à¸šà¸‚้อมูล"
+
+#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dec. volume key"
+msgstr "ลดระดับเสียงที่สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dedicated server step"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default acceleration"
+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 ""
+"เà¸à¸¡à¹€à¸£à¸´à¹ˆà¸¡à¸•้นเมื่อสร้างโลà¸à¹ƒà¸«à¸¡à¹ˆ.\n"
+"สิ่งนี้จะถูà¸à¹à¸—นที่เมื่อสร้างโลà¸à¸ˆà¸²à¸à¹€à¸¡à¸™à¸¹à¸«à¸¥à¸±à¸."
+
+#: src/settings_translation_file.cpp
+msgid "Default password"
+msgstr "รหัสผ่านเริ่มต้น"
+
+#: src/settings_translation_file.cpp
+msgid "Default privileges"
+msgstr "สิทธิพิเศษเริ่มต้น"
+
+#: src/settings_translation_file.cpp
+msgid "Default report format"
+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 ""
+"Defines areas of floatland smooth terrain.\n"
+"Smooth floatlands occur when noise > 0."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas where trees have apples."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas with sandy beaches."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain and steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines full size of caverns, smaller values create larger caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines large-scale river channel structure."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines location and terrain of optional hills and lakes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Defines sampling step of texture.\n"
+"A higher value results in smoother normal maps."
+msgstr ""
+"à¸à¸³à¸«à¸™à¸”ขั้นตอนà¸à¸²à¸£à¸ªà¸¸à¹ˆà¸¡à¸•ัวอย่างของพื้นผิว\n"
+"ค่าที่สูงà¸à¸§à¹ˆà¸²à¸ˆà¸°à¸—ำให้à¹à¸œà¸™à¸—ี่ปà¸à¸•ิราบรื่นขึ้น"
+
+#: src/settings_translation_file.cpp
+msgid "Defines the base ground level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgstr "à¸à¸³à¸«à¸™à¸”ระยะถ่ายโอนผู้เล่นสูงสุดในบล็อภ(0 = ไม่ จำà¸à¸±à¸” )."
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines tree areas and tree density."
+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 ""
+"à¸à¸²à¸£à¸«à¸™à¹ˆà¸§à¸‡à¹€à¸§à¸¥à¸²à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸à¸²à¸£à¸­à¸±à¸žà¹€à¸”ตเมชบนไคลเอ็นต์เป็นมิลลิวินาที à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸ªà¸´à¹ˆà¸‡à¸™à¸µà¹‰à¸ˆà¸°à¸—ำให้ช้าลง\n"
+"ลดอัตราà¸à¸²à¸£à¸­à¸±à¸žà¹€à¸”ทของ mesh ซึ่งจะช่วยลดความà¸à¸£à¸°à¸§à¸™à¸à¸£à¸°à¸§à¸²à¸¢à¹ƒà¸ˆà¸‚องไคลเอนต์ที่ช้าลง"
+
+#: src/settings_translation_file.cpp
+msgid "Delay in sending blocks after building"
+msgstr "ความล่าช้าในà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸šà¸¥à¹‡à¸­à¸à¸«à¸¥à¸±à¸‡à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "Delay showing tooltips, stated in milliseconds."
+msgstr "ความล่าช้าà¹à¸ªà¸”งคำà¹à¸™à¸°à¸™à¸³à¹€à¸„รื่องมือตามที่ระบุไว้ในมิลลิวินาที,"
+
+#: src/settings_translation_file.cpp
+msgid "Deprecated Lua API handling"
+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 "Depth below which you'll find giant caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Depth below which you'll find large caves."
+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 "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 "Desynchronize block animation"
+msgstr "Desynchronize บล็อà¸à¸ à¸²à¸žà¹€à¸„ลื่อนไหว"
+
+#: src/settings_translation_file.cpp
+msgid "Digging particles"
+msgstr "ขุดอนุภาค"
+
+#: src/settings_translation_file.cpp
+msgid "Disable anticheat"
+msgstr "ปิดใช้งาน anticheat"
+
+#: src/settings_translation_file.cpp
+msgid "Disallow empty passwords"
+msgstr "ไม่อนุà¸à¸²à¸•รหัสผ่านที่ว่างเปล่า"
+
+#: src/settings_translation_file.cpp
+msgid "Domain name of server, to be displayed in the serverlist."
+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 "Drop item key"
+msgstr "วางรหัสรายà¸à¸²à¸£"
+
+#: src/settings_translation_file.cpp
+msgid "Dump the mapgen debug information."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon maximum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon minimum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enable Lua modding support on client.\n"
+"This support is experimental and API can change."
+msgstr ""
+"เปิดใช้งานà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™ Lua modding บนไคลเอนต์\n"
+"à¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸™à¸µà¹‰à¹€à¸›à¹‡à¸™à¸à¸²à¸£à¸—ดลองà¹à¸¥à¸° API สามารถเปลี่ยนà¹à¸›à¸¥à¸‡à¹„ด้"
+
+#: src/settings_translation_file.cpp
+msgid "Enable VBO"
+msgstr "ทำให้สามารถ VBO"
+
+#: src/settings_translation_file.cpp
+msgid "Enable console window"
+msgstr "เปิดใช้งานหน้าต่างคอนโซล"
+
+#: src/settings_translation_file.cpp
+msgid "Enable creative mode for new created maps."
+msgstr "เปิดใช้งานโหมดสร้างสรรค์สำหรับà¹à¸œà¸™à¸—ี่ที่สร้างขึ้นใหม่."
+
+#: src/settings_translation_file.cpp
+msgid "Enable joysticks"
+msgstr "เปิดใช้งานจอยสติ๊à¸"
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod channels support."
+msgstr "เปิดใช้งานà¸à¸²à¸£à¸£à¸­à¸‡à¸£à¸±à¸šà¸Šà¹ˆà¸­à¸‡à¸ªà¸±à¸à¸à¸²à¸“ mod."
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable players getting damage and dying."
+msgstr "ช่วยให้ผู้เล่นได้รับความเสียหายà¹à¸¥à¸°à¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¸•าย."
+
+#: src/settings_translation_file.cpp
+msgid "Enable random user input (only used for testing)."
+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 ""
+"เปิดใช้งานà¸à¸²à¸£à¸¢à¸·à¸™à¸¢à¸±à¸™à¸à¸²à¸£à¸¥à¸‡à¸—ะเบียนเมื่อเชื่อมต่อà¸à¸±à¸šà¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ.\n"
+"หาà¸à¸›à¸´à¸”ใช้งานบัà¸à¸Šà¸µà¹ƒà¸«à¸¡à¹ˆà¸ˆà¸°à¸–ูà¸à¸¥à¸‡à¸—ะเบียนโดยอัตโนมัติ."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enable smooth lighting with simple ambient occlusion.\n"
+"Disable for speed or for different looks."
+msgstr ""
+"เปิดใช้งานà¹à¸ªà¸‡à¸—ี่ราบรื่นด้วยà¸à¸²à¸£à¸šà¸”เคี้ยวอย่างง่าย.\n"
+"ปิดใช้งานสำหรับความเร็วหรือลัà¸à¸©à¸“ะที่à¹à¸•à¸à¸•่างà¸à¸±à¸™."
+
+#: 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 ""
+"เปิดใช้งานเพื่อไม่อนุà¸à¸²à¸•ให้ลูà¸à¸„้าเà¸à¹ˆà¸²à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ.\n"
+"ลูà¸à¸„้าที่เà¸à¹ˆà¸²à¸à¸§à¹ˆà¸²à¹€à¸‚้าà¸à¸±à¸™à¹„ด้ในà¹à¸‡à¹ˆà¸—ี่ว่าพวà¸à¹€à¸‚าจะไม่ผิดพลาดเมื่อเชื่อมต่อ.\n"
+"ไปยังเซิร์ฟเวอร์ใหม่ à¹à¸•่อาจไม่รองรับคุณสมบัติใหม่ทั้งหมดที่คุณคาดหวัง."
+
+#: 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 ""
+"เปิดใช้งานà¸à¸²à¸£à¹ƒà¸Šà¹‰à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸ªà¸·à¹ˆà¸­à¸£à¸°à¸¢à¸°à¹„à¸à¸¥ (ถ้ามีให้โดยเซิร์ฟเวอร์)\n"
+"เซิร์ฟเวอร์ระยะไà¸à¸¥à¸™à¸³à¹€à¸ªà¸™à¸­à¸§à¸´à¸˜à¸µà¸”าวน์โหลดสื่อที่รวดเร็วยิ่งขึ้น (เช่นพื้นผิว)\n"
+"เมื่อเชื่อมต่อà¸à¸±à¸šà¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ"
+
+#: 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 ""
+"เปิดใช้งานà¸à¸²à¸£ จำà¸à¸±à¸” à¸à¸²à¸£à¸”ูà¹à¸¥à¸°à¸ˆà¸³à¸™à¸§à¸™à¸à¸²à¸£à¸”าวน์โหลดที่ จำà¸à¸±à¸”\n"
+"ตัวอย่างเช่น: 0 ที่ไม่มีà¸à¸²à¸£à¸ªà¸±à¹ˆà¸™ 1.0 สำหรับปà¸à¸•ิ 2.0 สำหรับสองเท่า"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set."
+msgstr ""
+"เปิดใช้งาน / ปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ IPv6.\n"
+"ข้ามไปหาà¸à¸•ั้งค่า bind_address."
+
+#: src/settings_translation_file.cpp
+msgid "Enables animation of inventory items."
+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 ""
+"เปิดใช้งานà¸à¸²à¸£à¹à¸¡à¸› bump สำหรับพื้นผิว à¹à¸œà¸™à¸—ี่ปà¸à¸•ิจะต้องมีà¸à¸²à¸£à¸ˆà¸±à¸”หาโดยà¹à¸žà¹‡à¸„พื้นผิว\n"
+"หรือจำเป็นต้องสร้างขึ้นอัตโนมัติ\n"
+"ต้องมี shaders เพื่อเปิดใช้งาน"
+
+#: src/settings_translation_file.cpp
+msgid "Enables caching of facedir rotated meshes."
+msgstr "เปิดใช้งานà¸à¸²à¸£à¹à¸„ชของตาข่ายที่หมุนได้."
+
+#: src/settings_translation_file.cpp
+msgid "Enables filmic tone mapping"
+msgstr "เปิดใช้งานà¸à¸²à¸£à¸ˆà¸±à¸šà¸„ู่โทนภาพยนตร์"
+
+#: src/settings_translation_file.cpp
+msgid "Enables minimap."
+msgstr "เปิดใช้งานย่อà¹à¸œà¸™à¸—ี่."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables on the fly normalmap generation (Emboss effect).\n"
+"Requires bumpmapping to be enabled."
+msgstr ""
+"เปิดใช้งานà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹à¸œà¸™à¸—ี่ปà¸à¸•ิà¹à¸šà¸šà¸¥à¸­à¸¢à¸•ัว (เอฟเฟà¸à¸•์นูน)\n"
+"ต้องมีà¸à¸²à¸£à¹€à¸›à¸´à¸”ใช้งาน bumpmapping"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
+msgstr ""
+"เปิดใช้งานà¸à¸²à¸£à¹à¸¡à¸›à¸à¸²à¸£à¸šà¸”เคี้ยวของรัลà¹à¸¥à¸à¸‹à¹Œ\n"
+"ต้องมี shaders เพื่อเปิดใช้งาน"
+
+#: src/settings_translation_file.cpp
+msgid "Engine profiling data print interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Entity methods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Experimental option, might cause visible spaces between blocks\n"
+"when set to higher number than 0."
+msgstr ""
+"ตัวเลือà¸à¸à¸²à¸£à¸—ดลองอาจทำให้เà¸à¸´à¸”ช่องว่างระหว่างบล็อà¸\n"
+"เมื่อตั้งค่าเป็นจำนวนที่สูงà¸à¸§à¹ˆà¸² 0"
+
+#: src/settings_translation_file.cpp
+msgid "FPS in pause menu"
+msgstr "FPS ในเมนูหยุดชั่วคราว"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "FSAA"
+msgstr "FSAA"
+
+#: src/settings_translation_file.cpp
+msgid "Factor noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fall bobbing factor"
+msgstr "ตà¸à¸›à¸±à¸ˆà¸ˆà¸±à¸¢à¸œà¸¥à¸¸à¸šà¹†à¹‚ผล่ๆ"
+
+#: src/settings_translation_file.cpp
+msgid "Fallback font"
+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 "Fallback font size"
+msgstr "ขนาดตัวอัà¸à¸©à¸£à¸—างเลือà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Fast key"
+msgstr "ปุ่มลัด"
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode acceleration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode speed"
+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 ""
+"à¸à¸²à¸£à¹€à¸„ลื่อนไหวที่รวดเร็ว (ผ่านคีย์ 'พิเศษ').\n"
+"ต้องมีสิทธิ์ 'รวดเร็ว' บนเซิร์ฟเวอร์."
+
+#: 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 ""
+"File in client/serverlist/ that contains your favorite servers displayed in "
+"the\n"
+"Multiplayer Tab."
+msgstr ""
+"ไฟล์ในไคลเอนต์ / เซิร์ฟเวอร์ / / ที่มีเซิร์ฟเวอร์โปรดของคุณà¹à¸ªà¸”งอยู่ใน\n"
+"à¹à¸—็บผู้เล่นหลายคน"
+
+#: src/settings_translation_file.cpp
+msgid "Filler depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filler depth noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filmic tone mapping"
+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 ""
+"พื้นผิวที่ถูà¸à¸à¸£à¸­à¸‡à¸ªà¸²à¸¡à¸²à¸£à¸–ผสมผสานค่า RGB à¸à¸±à¸šà¹€à¸žà¸·à¹ˆà¸­à¸™à¸šà¹‰à¸²à¸™à¸—ี่โปร่งใสได้อย่างสมบูรณ์\n"
+"เครื่องมือเพิ่มประสิทธิภาพ PNG ใดที่มัà¸à¸ˆà¸°à¸¥à¸°à¸—ิ้งซึ่งบางครั้งส่งผลให้มืดหรือ\n"
+"ขอบà¹à¸ªà¸‡à¹€à¸›à¹‡à¸™à¸žà¸·à¹‰à¸™à¸œà¸´à¸§à¹‚ปร่งใส ใช้ตัวà¸à¸£à¸­à¸‡à¸™à¸µà¹‰à¹€à¸žà¸·à¹ˆà¸­à¸¥à¹‰à¸²à¸‡à¸‚้อมูล\n"
+"ที่เวลาโหลดพื้นผิว"
+
+#: src/settings_translation_file.cpp
+msgid "Filtering"
+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 "First of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed map seed"
+msgstr "à¹à¸à¹‰à¹„ขà¹à¸œà¸™à¸—ี่เมล็ด"
+
+#: src/settings_translation_file.cpp
+msgid "Fixed virtual joystick"
+msgstr "à¹à¸à¹‰à¹„ขจอยสติ๊à¸à¹€à¸ªà¸¡à¸·à¸­à¸™à¸ˆà¸£à¸´à¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain density"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain exponent"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Fly key"
+msgstr "ปุ่ม Fly"
+
+#: src/settings_translation_file.cpp
+msgid "Flying"
+msgstr "บิน"
+
+#: src/settings_translation_file.cpp
+msgid "Fog"
+msgstr "หมอà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Fog start"
+msgstr "หมอà¸à¹€à¸£à¸´à¹ˆà¸¡à¸•้น"
+
+#: src/settings_translation_file.cpp
+msgid "Fog toggle key"
+msgstr "ปุ่มสลับ Fog"
+
+#: src/settings_translation_file.cpp
+msgid "Font path"
+msgstr "เส้นทางà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£"
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow"
+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 "ตัวอัà¸à¸©à¸£à¹€à¸‡à¸²à¸­à¸±à¸¥à¸Ÿà¸² (ความทึบระหว่าง 0 à¹à¸¥à¸° 255)."
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow offset, if 0 then shadow will not be drawn."
+msgstr "เงาà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£à¸Šà¸”เชยถ้า 0 à¹à¸¥à¹‰à¸§à¹€à¸‡à¸²à¸ˆà¸°à¹„ม่ถูà¸à¸§à¸²à¸”."
+
+#: src/settings_translation_file.cpp
+msgid "Font size"
+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 "Format of screenshots."
+msgstr "รูปà¹à¸šà¸šà¸‚องภาพหน้าจอ."
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Color"
+msgstr "สีพื้นหลังเริ่มต้นของ Formspec"
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Opacity"
+msgstr "ความทึบพื้นหลังเริ่มต้นของ Formspec"
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Color"
+msgstr "Formspec สีพื้นหลังà¹à¸šà¸šà¹€à¸•็มหน้าจอ"
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Opacity"
+msgstr "Formspec ความทึบพื้นหลังà¹à¸šà¸šà¹€à¸•็มหน้าจอ"
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background color (R,G,B)."
+msgstr "สีพื้นหลังเริ่มต้นของ Formspec (R, G, B)"
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background opacity (between 0 and 255)."
+msgstr "ความทึบพื้นหลังเริ่มต้นของ Formspec (ระหว่าง 0 ถึง 255)"
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background color (R,G,B)."
+msgstr "Formspec สีพื้นหลังà¹à¸šà¸šà¹€à¸•็มหน้าจอ (R, G, B)"
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgstr "ความทึบของพื้นหลังà¹à¸šà¸šà¹€à¸•็มหน้าจอ Formspec (ระหว่าง 0 ถึง 255)"
+
+#: src/settings_translation_file.cpp
+msgid "Forward key"
+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 "Fractal type"
+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 "FreeType fonts"
+msgstr "à¹à¸šà¸šà¸­à¸±à¸à¸©à¸£à¸›à¸£à¸°à¹€à¸ à¸— FreeType"
+
+#: 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 ""
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+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 "Full screen"
+msgstr "เต็มจอ"
+
+#: src/settings_translation_file.cpp
+msgid "Full screen BPP"
+msgstr "BPP เต็มหน้าจอ"
+
+#: src/settings_translation_file.cpp
+msgid "Fullscreen mode."
+msgstr "โหมดเต็มหน้าจอ"
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling"
+msgstr "à¸à¸²à¸£à¸›à¸£à¸±à¸šà¸‚นาด GUI"
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter"
+msgstr "ตัวà¸à¸£à¸­à¸‡à¸¡à¸²à¸•ราส่วน GUI"
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter txr2img"
+msgstr "ตัวà¸à¸£à¸­à¸‡à¸à¸²à¸£à¸›à¸£à¸±à¸šà¸‚นาด GUI txr2img"
+
+#: src/settings_translation_file.cpp
+msgid "Gamma"
+msgstr "à¹à¸à¸¡à¸¡à¸²"
+
+#: src/settings_translation_file.cpp
+msgid "Generate normalmaps"
+msgstr "สร้างà¹à¸œà¸™à¸—ี่ปà¸à¸•ิ"
+
+#: src/settings_translation_file.cpp
+msgid "Global callbacks"
+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 "Gradient of light curve at maximum light level."
+msgstr "ความชันของเส้นโค้งà¹à¸ªà¸‡à¸—ี่ระดับà¹à¸ªà¸‡à¸ªà¸¹à¸‡à¸ªà¸¸à¸”."
+
+#: src/settings_translation_file.cpp
+msgid "Gradient of light curve at minimum light level."
+msgstr "ความชันของเส้นโค้งà¹à¸ªà¸‡à¸—ี่ระดับà¹à¸ªà¸‡à¸•่ำสุด."
+
+#: src/settings_translation_file.cpp
+msgid "Graphics"
+msgstr "à¸à¸£à¸²à¸Ÿà¸´à¸"
+
+#: src/settings_translation_file.cpp
+msgid "Gravity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HTTP mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD scale factor"
+msgstr "เครื่องชั่ง HUD"
+
+#: src/settings_translation_file.cpp
+msgid "HUD toggle key"
+msgstr "ปุ่มสลับ HUD"
+
+#: 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 ""
+"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 "Heat blend noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Heat noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height component of the initial window size."
+msgstr "องค์ประà¸à¸­à¸šà¸„วามสูงของขนาดหน้าต่างเริ่มต้น"
+
+#: src/settings_translation_file.cpp
+msgid "Height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height select noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "High-precision FPU"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness3 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness4 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Homepage of server, to be displayed in the serverlist."
+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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
+msgstr "ปุ่มลัดต่อไป Hotbar"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr "คีย์à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸‚อง Hotbar"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr "Hotbar สล็อต 1 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 10 key"
+msgstr "Hotbar สล็อต 10 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 11 key"
+msgstr "Hotbar สล็อต 11 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 12 key"
+msgstr "Hotbar สล็อต 12 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 13 key"
+msgstr "Hotbar สล็อต 13 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 14 key"
+msgstr "Hotbar สล็อต 14 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 15 key"
+msgstr "Hotbar สล็อต 15 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 16 key"
+msgstr "Hotbar สล็อต 16 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 17 key"
+msgstr "Hotbar สล็อต 17 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 18 key"
+msgstr "Hotbar สล็อต 18 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 19 key"
+msgstr "Hotbar สล็อต 19 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 2 key"
+msgstr "Hotbar สล็อต 2 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 20 key"
+msgstr "Hotbar สล็อต 20 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 21 key"
+msgstr "Hotbar สล็อต 21 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 22 key"
+msgstr "Hotbar สล็อต 22 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 23 key"
+msgstr "Hotbar สล็อต 23 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 24 key"
+msgstr "Hotbar สล็อต 24 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 25 key"
+msgstr "Hotbar สล็อต 25 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 26 key"
+msgstr "Hotbar สล็อต 26 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 27 key"
+msgstr "Hotbar สล็อต 27 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 28 key"
+msgstr "Hotbar สล็อต 28 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 29 key"
+msgstr "Hotbar สล็อต 29 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 3 key"
+msgstr "Hotbar สล็อต 3 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 30 key"
+msgstr "Hotbar สล็อต 30 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 31 key"
+msgstr "Hotbar สล็อต 31 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 32 key"
+msgstr "Hotbar สล็อต 32 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 4 key"
+msgstr "Hotbar สล็อต 4 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 5 key"
+msgstr "Hotbar สล็อต 5 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 6 key"
+msgstr "Hotbar สล็อต 6 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 7 key"
+msgstr "Hotbar สล็อต 7 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 8 key"
+msgstr "Hotbar สล็อต 8 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 9 key"
+msgstr "Hotbar สล็อต 9 สำคัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "How deep to make rivers."
+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 "How wide to make rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Humidity blend noise"
+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 "IPv6"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 server"
+msgstr "เซิร์ฟเวอร์ IPv6"
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 support."
+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 ""
+"ถ้า FPS สูงà¸à¸§à¹ˆà¸²à¸™à¸µà¹‰à¹ƒà¸«à¹‰ จำà¸à¸±à¸” ด้วยà¸à¸²à¸£à¸™à¸­à¸™\n"
+"เพื่อไม่ให้สิ้นเปลืองพลังงานของ CPU อย่างไม่มีประโยชน์"
+
+#: 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 ""
+"ถ้าปิดใช้งาน ใช้คีย์ 'พิเศษ' บินถ้าทั้งบิน à¹à¸¥à¸°à¹‚หมดที่รวดเร็วเป็น \n"
+"ใช้งาน"
+
+#: 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 ""
+"If enabled together with fly mode, player is able to fly through solid "
+"nodes.\n"
+"This requires the \"noclip\" privilege on the server."
+msgstr ""
+"ถ้าเปิดใช้งานร่วมà¸à¸±à¸šà¹‚หมดà¸à¸²à¸£à¸šà¸´à¸™ ผู้เล่นสามารถบินผ่านโหนไม้ได้.\n"
+"ต้องมีสิทธิ์ 'noclip' บนเซิร์ฟเวอร์."
+
+#: 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 ""
+"If enabled, actions are recorded for rollback.\n"
+"This option is only read when server starts."
+msgstr ""
+"หาà¸à¹€à¸›à¸´à¸”ใช้งานจะมีà¸à¸²à¸£à¸šà¸±à¸™à¸—ึà¸à¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š.\n"
+"ตัวเลือà¸à¸™à¸µà¹‰à¸ˆà¸°à¸­à¹ˆà¸²à¸™à¸à¹‡à¸•่อเมื่อเซิร์ฟเวอร์เริ่มต้น."
+
+#: src/settings_translation_file.cpp
+msgid "If enabled, disable cheat prevention in multiplayer."
+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 ""
+"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."
+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 ""
+"ถ้าเปิดใช้งาน คุณสามารถทำบล็อà¸à¸—ี่ตำà¹à¸«à¸™à¹ˆà¸‡ (ระดับเท้าสายตา) คุณยืน . \n"
+"นี้มีประโยชน์เมื่อทำงานà¸à¸±à¸š nodeboxes ในพื้นที่ขนาดเล็à¸."
+
+#: 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 ""
+"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 "If this is set, players will always (re)spawn at the given position."
+msgstr "หาà¸à¸•ั้งค่าไว้ผู้เล่นจะวางไข่ที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”เสมอ."
+
+#: src/settings_translation_file.cpp
+msgid "Ignore world errors"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "In-Game"
+msgstr "ในเà¸à¸¡à¸ªà¹Œ"
+
+#: src/settings_translation_file.cpp
+msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
+msgstr "อัลฟ่าพื้นหลังคอนโซลà¸à¸²à¸£à¹à¸Šà¸—ในเà¸à¸¡ (ความทึบระหว่าง 0 ถึง 255)"
+
+#: src/settings_translation_file.cpp
+msgid "In-game chat console background color (R,G,B)."
+msgstr "สีพื้นหลังของคอนโซลà¹à¸Šà¸—ในเà¸à¸¡ (R, G, B)"
+
+#: src/settings_translation_file.cpp
+msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
+msgstr "ความสูงของà¹à¸Šà¸—คอนโซลในเà¸à¸¡à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡ 0.1 (10%) à¹à¸¥à¸° 1.0 (100%)"
+
+#: src/settings_translation_file.cpp
+msgid "Inc. volume key"
+msgstr "เพิ่มปุ่มปรับระดับเสียง"
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+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 "Instrument chatcommands on registration."
+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 ""
+"Instrument the action function of Active Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Instrument the action function of Loading Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrument the methods of entities on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrumentation"
+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 "Interval of sending time of day to clients."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory items animations"
+msgstr "ภาพเคลื่อนไหวรายà¸à¸²à¸£à¸ªà¸´à¸™à¸„้าคงคลัง"
+
+#: src/settings_translation_file.cpp
+msgid "Inventory key"
+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 "Item entity TTL"
+msgstr "รายà¸à¸²à¸£à¸™à¸´à¸•ิบุคคล TTL"
+
+#: 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 "Joystick ID"
+msgstr "จอยสติ๊ภID"
+
+#: src/settings_translation_file.cpp
+msgid "Joystick button repetition interval"
+msgstr "ช่วงเวลาà¸à¸²à¸£à¸—ำซ้ำปุ่มจอยสติ๊à¸"
+
+#: src/settings_translation_file.cpp
+msgid "Joystick frustum sensitivity"
+msgstr "ความไวของจอยสติ๊ภfrustum"
+
+#: src/settings_translation_file.cpp
+msgid "Joystick type"
+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 ""
+"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 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 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 x"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia z"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jump key"
+msgstr "ปุ่มà¸à¸£à¸°à¹‚ดด"
+
+#: src/settings_translation_file.cpp
+msgid "Jumping speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for decreasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับลดช่วงà¸à¸²à¸£à¸£à¸±à¸šà¸Šà¸¡.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับลดระดับเสียง.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for dropping the currently selected item.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¹ƒà¸™à¸à¸²à¸£à¸§à¸²à¸‡à¸£à¸²à¸¢à¸à¸²à¸£à¸—ี่เลือà¸à¹ƒà¸™à¸›à¸±à¸ˆà¸ˆà¸¸à¸šà¸±à¸™.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเพิ่มช่วงà¸à¸²à¸£à¸£à¸±à¸šà¸Šà¸¡.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for increasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มà¸à¸”สำหรับเพิ่มระดับเสียง.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸à¸£à¸°à¹‚ดด.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for moving fast in fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มà¸à¸”สำหรับà¸à¸²à¸£à¹€à¸„ลื่อนที่อย่างรวดเร็วในโหมดเร็ว.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"ปุ่มà¸à¸”สำหรับเลื่อนเครื่องเล่นถอยหลัง.\n"
+"จะปิดใช้งานà¸à¸²à¸£à¸›à¹‰à¸­à¸™à¸­à¸±à¸•โนมัติอัตโนมัติเมื่อเปิดใช้งาน.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸¢à¹‰à¸²à¸¢à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¹„ปข้างหน้า.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for moving the player left.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับย้ายผู้เล่นไปทางซ้าย.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มà¸à¸”สำหรับเลื่อนเครื่องเล่นไปทางขวา.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for muting the game.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸›à¸´à¸”เสียงเà¸à¸¡.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"ปุ่มสำหรับเปิดหน้าต่างà¹à¸Šà¸—เพื่อพิมพ์คำสั่ง.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"ปุ่มสำหรับเปิดหน้าต่างà¹à¸Šà¸—เพื่อพิมพ์คำสั่งในเครื่อง.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"รหัสสำหรับเปิดหน้าต่างà¹à¸Šà¸—.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for opening the inventory.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¹ƒà¸™à¸à¸²à¸£à¹€à¸›à¸´à¸”สินค้าคงคลัง.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 11th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 11.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 12th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 12.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 13th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 13.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 14th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 14.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 15th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 15.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 16th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 16.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 17th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 17.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 18th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 18.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 19th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 19.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 20th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 20.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 21st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 21.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 22nd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 22.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 23rd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 23.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 24th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 24.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 25th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 25.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 26th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 26.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 27th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 27.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 28th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 28.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 29th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 29.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 30th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 30.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 31st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 31.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the 32nd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ 32.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the eighth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่à¹à¸›à¸”.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the fifth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่ห้า.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the first hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar à¹à¸£à¸.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the fourth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่สี่.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"à¹à¸›à¹‰à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¹€à¸¥à¸·à¸­à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸–ัดไปในà¹à¸–บร้อน.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the ninth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่เà¸à¹‰à¸².\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"à¹à¸›à¹‰à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¹€à¸¥à¸·à¸­à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¹ƒà¸™à¹à¸–บร้อน.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the second hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่สอง.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the seventh hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"คีย์สำหรับà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่เจ็ด.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the sixth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่หà¸.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+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"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for selecting the third hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับเลือà¸à¸ªà¸¥à¹‡à¸­à¸• hotbar ที่สาม.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"ที่สำคัà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸”้อม.\n"
+"นอà¸à¸ˆà¸²à¸à¸™à¸µà¹‰à¸¢à¸±à¸‡à¹ƒà¸Šà¹‰à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸›à¸µà¸™à¸¥à¸‡à¹à¸¥à¸°à¸¥à¸‡à¹„ปในน้ำหาà¸à¸›à¸´à¸”à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ aux1_descends.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"ปุ่มสำหรับสลับระหว่างà¸à¸¥à¹‰à¸­à¸‡à¸•ัวà¹à¸£à¸à¹à¸¥à¸°à¸•ัวที่สาม.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸ˆà¸±à¸šà¸ à¸²à¸žà¸«à¸™à¹‰à¸²à¸ˆà¸­.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for toggling autoforward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¹ƒà¸™à¸à¸²à¸£à¸ªà¸¥à¸±à¸š autoforward.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับสลับโหมดโรงภาพยนตร์.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for toggling display of minimap.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¹ƒà¸™à¸à¸²à¸£à¸ªà¸¥à¸±à¸šà¸à¸²à¸£à¹à¸ªà¸”งผลของà¹à¸œà¸™à¸—ี่ย่อ.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"ปุ่มสำหรับสลับโหมดอย่างรวดเร็ว.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for toggling flying.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¹ƒà¸™à¸à¸²à¸£à¸ªà¸¥à¸±à¸šà¸à¸²à¸£à¸šà¸´à¸™.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"คีย์สำหรับสลับโหมด noclip.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for toggling pitch move mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¹ƒà¸™à¸à¸²à¸£à¸ªà¸¥à¸±à¸šà¹‚หมด pitch.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"ปุ่มสำหรับสลับà¸à¸²à¸£à¸­à¸±à¸›à¹€à¸”ตà¸à¸¥à¹‰à¸­à¸‡ ใช้สำหรับà¸à¸²à¸£à¸žà¸±à¸’นาเท่านั้น\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+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"
+
+#: 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 ""
+"คีย์สำหรับสลับà¸à¸²à¸£à¹à¸ªà¸”งข้อมูลà¸à¸²à¸£à¸”ีบัà¸.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+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"
+
+#: 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 ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¹ƒà¸™à¸à¸²à¸£à¸ªà¸¥à¸±à¸šà¸à¸²à¸£à¹à¸ªà¸”งผลของ HUD.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"ปุ่มสำหรับสลับà¸à¸²à¸£à¹à¸ªà¸”งผลของà¹à¸Šà¸—คอนโซลขนาดใหà¸à¹ˆ.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: 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 ""
+"ปุ่มสำหรับสลับà¸à¸²à¸£à¹à¸ªà¸”งผลของตัวสร้างโปรไฟล์ ใช้สำหรับà¸à¸²à¸£à¸žà¸±à¸’นา.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¹ƒà¸™à¸à¸²à¸£à¸ªà¸¥à¸±à¸šà¸Šà¹ˆà¸§à¸‡à¸¡à¸¸à¸¡à¸¡à¸­à¸‡à¹„ม่ จำà¸à¸±à¸”.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Key to use view zoom when possible.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+msgstr ""
+"à¸à¸¸à¸à¹à¸ˆà¸ªà¸³à¸„ัà¸à¹ƒà¸™à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸¡à¸¸à¸¡à¸¡à¸­à¸‡à¸‹à¸¹à¸¡à¹€à¸¡à¸·à¹ˆà¸­à¹€à¸›à¹‡à¸™à¹„ปได้.\n"
+"ดู http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+
+#: src/settings_translation_file.cpp
+msgid "Kick players who sent more than X messages per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Language"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr "คีย์คอนโซลà¹à¸Šà¸—ขนาดใหà¸à¹ˆ"
+
+#: src/settings_translation_file.cpp
+msgid "Lava depth"
+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 ""
+"สไตล์ใบ:\n"
+"- à¹à¸Ÿà¸™à¸‹à¸µ: มองเห็นใบหน้าทั้งหมดได้\n"
+"- ง่าย: มีเพียงใบหน้าด้านนอà¸à¸«à¸²à¸à¸à¸³à¸«à¸™à¸” special_tiles ไว้\n"
+"- ทึบà¹à¸ªà¸‡: ปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸„วามโปร่งใส"
+
+#: src/settings_translation_file.cpp
+msgid "Left key"
+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 "Length of time between Active Block Modifier (ABM) execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between NodeTimer execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between active block management cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Level of logging to be written to debug.txt:\n"
+"- <nothing> (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 "Light curve mid boost"
+msgstr "à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸„วามโค้งà¸à¸¥à¸²à¸‡à¸‚องà¹à¸ªà¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost center"
+msgstr "ส่วนโค้งของà¹à¸ªà¸‡à¸•รงà¸à¸¥à¸²à¸‡à¹€à¸žà¸´à¹ˆà¸¡"
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost spread"
+msgstr "ส่วนโค้งเว้าเพิ่มระดับà¸à¸¥à¸²à¸‡à¹à¸ªà¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "Lightness sharpness"
+msgstr "ความคมชัดของà¹à¸ªà¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues on disk"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues to generate"
+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 ""
+"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 "Liquid fluidity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid fluidity smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid loop max"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid queue purge time"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid sinking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update interval in seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update tick"
+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 "Loading Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lower Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu script"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu style"
+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 "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Makes all liquids opaque"
+msgstr "ทำให้ของเหลวทั้งหมดขุ่น"
+
+#: src/settings_translation_file.cpp
+msgid "Map directory"
+msgstr "ไดเรà¸à¸—อรีà¹à¸œà¸™à¸—ี่"
+
+#: src/settings_translation_file.cpp
+msgid "Map generation attributes specific to Mapgen Carpathian."
+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 ""
+"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 ""
+"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 "Map generation attributes specific to Mapgen v5."
+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 ""
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map save interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock limit"
+msgstr "ข้อ จำà¸à¸±à¸” Mapblock"
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generation delay"
+msgstr "à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸•าข่าย Mapblock ล่าช้า"
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
+msgstr "ขนาดà¹à¸„ช MapBlock ของตัวสร้างตาข่าย Mapblock เป็น MB"
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock unload timeout"
+msgstr "Mapblock ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹‚หลดหมดเวลา"
+
+#: 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 "Mapgen Flat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen Flat specific flags"
+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 "Mapgen V5"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V5 specific flags"
+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 "Mapgen V7"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V7 specific flags"
+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 "Mapgen debug"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block generate distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block send distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max liquids processed per step."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. clearobjects extra blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. packets per iteration"
+msgstr "à¹à¸¡à¹‡à¸à¸‹à¹Œ à¹à¸žà¹‡à¸„เà¸à¹‡à¸•ต่อà¸à¸²à¸£à¸—ำซ้ำ"
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS"
+msgstr "FPS สูงสุด"
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS when game is paused."
+msgstr "FPS สูงสุดเมื่อเà¸à¸¡à¸«à¸¢à¸¸à¸”ชั่วคราว"
+
+#: src/settings_translation_file.cpp
+msgid "Maximum forceloaded blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum hotbar width"
+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 ""
+"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 ""
+"จำนวนบล็อà¸à¸ªà¸¹à¸‡à¸ªà¸¸à¸”ที่ส่งพร้อมà¸à¸±à¸™à¸•่อไคลเอนต์.\n"
+"à¸à¸²à¸£à¸™à¸±à¸šà¸£à¸§à¸¡à¸ªà¸¹à¸‡à¸ªà¸¸à¸”จะถูà¸à¸„ำนวณà¹à¸šà¸šà¹„ดนามิà¸:\n"
+"max_total = ceil ((# ลูà¸à¸„้า + max_users) * per_client / 4)"
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of blocks that can be queued for loading."
+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 ""
+"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 "Maximum number of forceloaded mapblocks."
+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 ""
+"จำนวนสูงสุดของ mapblocks สำหรับไคลเอ็นต์ที่จะเà¸à¹‡à¸šà¹„ว้ในหน่วยความจำ.\n"
+"ตั้งค่าเป็น -1 สำหรับจำนวนไม่ จำà¸à¸±à¸”."
+
+#: 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 ""
+"จำนวนà¹à¸žà¹‡à¸à¹€à¸à¹‡à¸•สูงสุดที่ส่งต่อขั้นตอนà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸«à¸²à¸à¸„ุณมีà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อที่ช้า\n"
+"ลองลดมัน à¹à¸•่อย่าลดลงให้ต่ำà¸à¸§à¹ˆà¸²à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸ªà¸­à¸‡à¹€à¸—่า\n"
+"หมายเลขลูà¸à¸„้า"
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of players that can be connected simultaneously."
+msgstr "จำนวนผู้เล่นสูงสุดที่สามารถเชื่อมต่อได้พร้อมà¸à¸±à¸™."
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of recent chat messages to show"
+msgstr "จำนวนสูงสุดของข้อความà¹à¸Šà¸—ล่าสุดที่จะà¹à¸ªà¸”ง"
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of statically stored objects in a block."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum objects per block"
+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 ""
+"สัดส่วนสูงสุดของหน้าต่างปัจจุบันที่จะใช้à¸à¸±à¸š hotbar\n"
+"มีประโยชน์หาà¸à¸¡à¸µà¸ªà¸´à¹ˆà¸‡à¸—ี่จะà¹à¸ªà¸”งทางด้านขวาหรือด้านซ้ายของà¹à¸–บร้อน"
+
+#: src/settings_translation_file.cpp
+msgid "Maximum simultaneous block sends per client"
+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 ""
+"ขนาดสูงสุดของคิวà¸à¸²à¸£à¹à¸Šà¸—นอà¸.\n"
+"0 เพื่อปิดใช้งานà¸à¸²à¸£à¸ˆà¸±à¸”คิวà¹à¸¥à¸° -1 เพื่อทำให้ขนาดของคิวไม่ จำà¸à¸±à¸”."
+
+#: 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 "Maximum users"
+msgstr "ผู้ใช้สูงสุด"
+
+#: src/settings_translation_file.cpp
+msgid "Menus"
+msgstr "เมนู"
+
+#: src/settings_translation_file.cpp
+msgid "Mesh cache"
+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 "Method used to highlight selected object."
+msgstr "วิธีà¸à¸²à¸£à¹ƒà¸Šà¹‰à¹€à¸žà¸·à¹ˆà¸­à¹€à¸™à¹‰à¸™à¸§à¸±à¸•ถุที่เลือà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Minimap"
+msgstr "à¹à¸œà¸™à¸—ี่ขนาดเล็à¸"
+
+#: src/settings_translation_file.cpp
+msgid "Minimap key"
+msgstr "คีย์à¹à¸œà¸™à¸—ี่ย่อ"
+
+#: src/settings_translation_file.cpp
+msgid "Minimap scan height"
+msgstr "ความสูงà¸à¸²à¸£à¸ªà¹à¸à¸™à¹à¸œà¸™à¸—ี่ขั้นต่ำ"
+
+#: src/settings_translation_file.cpp
+msgid "Minimum texture size"
+msgstr "ขนาดพื้นผิวขั้นต่ำ"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Mipmapping"
+msgstr "Mipmapping"
+
+#: src/settings_translation_file.cpp
+msgid "Mod channels"
+msgstr "ช่องทาง Mod"
+
+#: src/settings_translation_file.cpp
+msgid "Modifies the size of the hudbar elements."
+msgstr "ปรับเปลี่ยนขนาดขององค์ประà¸à¸­à¸š Hudbar."
+
+#: src/settings_translation_file.cpp
+msgid "Monospace font path"
+msgstr "เส้นทางฟอนต์ monospace"
+
+#: src/settings_translation_file.cpp
+msgid "Monospace font size"
+msgstr "ขนาดตัวอัà¸à¸©à¸£ Monospace"
+
+#: src/settings_translation_file.cpp
+msgid "Mountain height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain variation noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain zero level"
+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 "Mud noise"
+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 ""
+"ตัวคูณสำหรับà¸à¸²à¸£à¸£à¹ˆà¸§à¸‡à¸«à¸¥à¹ˆà¸™\n"
+"ตัวอย่างเช่น: 0 ที่ไม่มีà¸à¸²à¸£à¸ªà¸±à¹ˆà¸™ 1.0 สำหรับปà¸à¸•ิ 2.0 สำหรับสองเท่า"
+
+#: src/settings_translation_file.cpp
+msgid "Mute key"
+msgstr "ปุ่มปิดเสียง"
+
+#: src/settings_translation_file.cpp
+msgid "Mute sound"
+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 ""
+"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 ""
+"Name of the server, to be displayed when players join and in the serverlist."
+msgstr "ชื่อของเซิร์ฟเวอร์ที่จะà¹à¸ªà¸”งเมื่อผู้เล่นเข้าร่วมà¹à¸¥à¸°à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Near clipping plane"
+msgstr "ใà¸à¸¥à¹‰à¹€à¸„รื่องบิน"
+
+#: src/settings_translation_file.cpp
+msgid "Network"
+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 ""
+"พอร์ตเครือข่ายเพื่อฟัง (UDP).\n"
+"ค่านี้จะถูà¸à¹à¸—นที่เมื่อเริ่มต้นจาà¸à¹€à¸¡à¸™à¸¹à¸«à¸¥à¸±à¸."
+
+#: src/settings_translation_file.cpp
+msgid "New users need to input this password."
+msgstr "ผู้ใช้ใหม่ต้องป้อนรหัสผ่านนี้."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Noclip"
+msgstr "Noclip (? คลิปไม่)"
+
+#: src/settings_translation_file.cpp
+msgid "Noclip key"
+msgstr "คีย์ Noclip"
+
+#: src/settings_translation_file.cpp
+msgid "Node highlighting"
+msgstr "à¸à¸²à¸£à¹€à¸™à¹‰à¸™à¹‚หนด"
+
+#: src/settings_translation_file.cpp
+msgid "NodeTimer interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noises"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps sampling"
+msgstr "à¸à¸²à¸£à¸ªà¸¸à¹ˆà¸¡à¸•ัวอย่าง Normalmaps"
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps strength"
+msgstr "Normalmaps à¹à¸‚็งà¹à¸£à¸‡"
+
+#: 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 ""
+"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 "Number of parallax occlusion iterations."
+msgstr "จำนวนà¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¸‚องà¸à¸²à¸£à¸›à¸´à¸”à¸à¸±à¹‰à¸™ parallax"
+
+#: src/settings_translation_file.cpp
+msgid "Online Content Repository"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Opaque liquids"
+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 "เปิดเมนูหยุดชั่วคราวเมื่อโฟà¸à¸±à¸ªà¸‚องหน้าต่างหายไป ไม่หยุดถ้า formspec คือ เปิด."
+
+#: src/settings_translation_file.cpp
+msgid "Overall bias of parallax occlusion effect, usually scale/2."
+msgstr "ความเอนเอียงโดยรวมของเอฟเฟ็à¸à¸•์à¸à¸²à¸£à¸šà¸”เคี้ยวของ Parallax มัà¸à¹€à¸›à¹‡à¸™à¸ªà¹€à¸à¸¥ / 2"
+
+#: src/settings_translation_file.cpp
+msgid "Overall scale of parallax occlusion effect."
+msgstr "ขนาดโดยรวมของผลà¸à¸²à¸£à¸šà¸”เคี้ยวของรัลà¹à¸¥à¸à¸‹à¹Œ"
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion"
+msgstr "à¸à¸²à¸£à¸šà¸”เคี้ยวของ Parallax"
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion bias"
+msgstr "อคติà¸à¸²à¸£à¸šà¸”เคี้ยวของ Parallax"
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion iterations"
+msgstr "à¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¸‚อง Parallax"
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion mode"
+msgstr "โหมดà¸à¸²à¸£à¸šà¸”เคี้ยวของ Parallax"
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion scale"
+msgstr "ขนาดà¸à¸²à¸£à¸šà¸”เคี้ยวของ Parallax"
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion strength"
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸šà¸”เคี้ยวของ Parallax"
+
+#: src/settings_translation_file.cpp
+msgid "Path to TrueTypeFont or bitmap."
+msgstr "เส้นทางà¹à¸šà¸šà¸­à¸±à¸à¸©à¸£."
+
+#: src/settings_translation_file.cpp
+msgid "Path to save screenshots at."
+msgstr "พา ธ เพื่อบันทึà¸à¸ à¸²à¸žà¸«à¸™à¹‰à¸²à¸ˆà¸­à¸—ี่ ..."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Path to shader directory. If no path is defined, default location will be "
+"used."
+msgstr "พา ธ ไปยังไดเร็à¸à¸—อรี shader หาà¸à¹„ม่มีà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”เส้นทางจะใช้ตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸£à¸´à¹ˆà¸¡à¸•้น"
+
+#: src/settings_translation_file.cpp
+msgid "Path to texture directory. All textures are first searched from here."
+msgstr "เส้นทางไปยังไดเรà¸à¸—อรีพื้นผิว พื้นผิวทั้งหมดจะถูà¸à¸„้นหาครั้งà¹à¸£à¸à¸ˆà¸²à¸à¸—ี่นี่"
+
+#: src/settings_translation_file.cpp
+msgid "Pause on lost window focus"
+msgstr "หยุดà¸à¸²à¸£à¹‚ฟà¸à¸±à¸ªà¸‚องหน้าต่างที่หายไปชั่วคราว"
+
+#: src/settings_translation_file.cpp
+msgid "Physics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move key"
+msgstr "ปุ่มเลื่อนระดับเสียง"
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move mode"
+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 ""
+"ผู้เล่นสามารถบินโดยไม่ได้รับผลà¸à¸£à¸°à¸—บโดยà¹à¸£à¸‡à¹‚น้มถ่วงได้.\n"
+"ต้องมีสิทธิ์ 'บิน' บนเซิร์ฟเวอร์."
+
+#: src/settings_translation_file.cpp
+msgid "Player name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player transfer distance"
+msgstr "ระยะถ่ายโอนผู้เล่น"
+
+#: src/settings_translation_file.cpp
+msgid "Player versus player"
+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 ""
+"พอร์ตที่จะเชื่อมต่อà¸à¸±à¸š (UDP)\n"
+"โปรดทราบว่าฟิลด์พอร์ตในเมนูหลัà¸à¸ˆà¸°à¹à¸—นที่à¸à¸²à¸£à¸•ั้งค่านี้"
+
+#: 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 ""
+"ป้องà¸à¸±à¸™à¸à¸²à¸£à¸‚ุดà¹à¸¥à¸°à¸§à¸²à¸‡à¸ˆà¸²à¸à¸à¸²à¸£à¸—ำซ้ำเมื่อถือปุ่มเมาส์.\n"
+"เปิดใช้งานสิ่งนี้เมื่อคุณขุดหรือวางบ่อยเà¸à¸´à¸™à¹„ปโดยไม่ได้ตั้งใจ."
+
+#: src/settings_translation_file.cpp
+msgid "Prevent mods from doing insecure things like running shell commands."
+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 "Privileges that players with basic_privs can grant"
+msgstr "สิทธิพิเศษที่ผู้เล่นที่มีพื้นà¸à¸²à¸™ _privs สามารถให้สิทธิ์ได้."
+
+#: src/settings_translation_file.cpp
+msgid "Profiler"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler toggle key"
+msgstr "ปุ่มสลับ Profiler"
+
+#: src/settings_translation_file.cpp
+msgid "Profiling"
+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 ""
+"รัศมีของพื้นที่คลาวด์ที่ระบุไว้ในจำนวนคลาวด์สà¹à¸„วร์ 64 โหนด\n"
+"ค่าที่มาà¸à¸à¸§à¹ˆà¸² 26 จะเริ่มà¸à¹ˆà¸­à¹ƒà¸«à¹‰à¹€à¸à¸´à¸”à¸à¸²à¸£à¸•ัดที่คมชัดที่มุมพื้นที่เมฆ"
+
+#: src/settings_translation_file.cpp
+msgid "Raises terrain to make valleys around the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Random input"
+msgstr "อินพุตสุ่ม"
+
+#: src/settings_translation_file.cpp
+msgid "Range select key"
+msgstr "ปุ่มเลือà¸à¸Šà¹ˆà¸§à¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "Recent Chat Messages"
+msgstr "ข้อความà¹à¸Šà¸—ล่าสุด"
+
+#: src/settings_translation_file.cpp
+msgid "Remote media"
+msgstr "รีโมตสื่อบันทึà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Remote port"
+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 ""
+"ลบรหัสสีออà¸à¸ˆà¸²à¸à¸‚้อความà¹à¸Šà¸—ที่เข้ามา.\n"
+"ใช้สิ่งนี้เพื่อหยุดผู้เล่นไม่สามารถใช้สีในข้อความของพวà¸à¹€à¸‚า."
+
+#: src/settings_translation_file.cpp
+msgid "Replaces the default main menu with a custom one."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Report path"
+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 "Ridge mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge underwater noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridged mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Right key"
+msgstr "ปุ่มขวา"
+
+#: src/settings_translation_file.cpp
+msgid "Rightclick repetition interval"
+msgstr "à¸à¸£à¸°à¹à¸—à¸à¸‹à¹‰à¸³à¸Šà¹ˆà¸§à¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rollback recording"
+msgstr "บันทึà¸à¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š"
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hill size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hills spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Round minimap"
+msgstr "à¹à¸œà¸™à¸—ี่ย่อ"
+
+#: src/settings_translation_file.cpp
+msgid "Safe digging and placing"
+msgstr "à¸à¸²à¸£à¸‚ุดà¹à¸¥à¸°à¸à¸²à¸£à¸§à¸²à¸‡à¸—ี่ปลอดภัย"
+
+#: src/settings_translation_file.cpp
+msgid "Sandy beaches occur when np_beach exceeds this value."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save the map received by the client on disk."
+msgstr "บันทึà¸à¹à¸œà¸™à¸—ี่ที่ลูà¸à¸„้าได้รับบนดิสà¸à¹Œ."
+
+#: src/settings_translation_file.cpp
+msgid "Save window size automatically when modified."
+msgstr "บันทึà¸à¸‚นาดหน้าต่างโดยอัตโนมัติเมื่อà¹à¸à¹‰à¹„ข"
+
+#: src/settings_translation_file.cpp
+msgid "Saving map received from server"
+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 ""
+"ปรับขนาด GUI ตามค่าที่ผู้ใช้ระบุ\n"
+"ใช้ตัวà¸à¸£à¸­à¸‡à¸™à¸²à¸¡à¹à¸à¸‡à¸—ี่ใà¸à¸¥à¹‰à¹€à¸„ียงที่สุดเพื่อปรับมาตราส่วน GUI\n"
+"สิ่งนี้จะทำให้ขอบมุมขรุขระเรียบเนียนà¹à¸¥à¸°à¸œà¸ªà¸¡à¸œà¸ªà¸²à¸™à¸à¸±à¸™\n"
+"พิà¸à¹€à¸‹à¸¥à¹€à¸¡à¸·à¹ˆà¸­à¸¥à¸”ขนาดลงทำให้มีà¸à¸²à¸£à¹€à¸šà¸¥à¸­à¸šà¹‰à¸²à¸‡\n"
+"พิà¸à¹€à¸‹à¸¥à¸‚อบเมื่อปรับขนาดรูปภาพด้วยขนาดที่ไม่ใช่จำนวนเต็ม"
+
+#: src/settings_translation_file.cpp
+msgid "Screen height"
+msgstr "ความสูงของหน้าจอ"
+
+#: src/settings_translation_file.cpp
+msgid "Screen width"
+msgstr "ความà¸à¸§à¹‰à¸²à¸‡à¸‚องหน้าจอ"
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot folder"
+msgstr "โฟลเดอร์ภาพหน้าจอ"
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot format"
+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 ""
+"คุณภาพของภาพหน้าจอ ใช้สำหรับรูปà¹à¸šà¸š JPEG เท่านั้น\n"
+"1 หมายถึงคุณภาพที่à¹à¸¢à¹ˆà¸—ี่สุด 100 หมายถึงคุณภาพที่ดีที่สุด\n"
+"ใช้ 0 สำหรับคุณภาพเริ่มต้น"
+
+#: src/settings_translation_file.cpp
+msgid "Seabed 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 "Second of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box border color (R,G,B)."
+msgstr "สีขอบของส่วนที่เลือภ(R,G,B)."
+
+#: src/settings_translation_file.cpp
+msgid "Selection box color"
+msgstr "สีของà¸à¸¥à¹ˆà¸­à¸‡à¸—ี่เลือà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Selection box width"
+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 "Server / Singleplayer"
+msgstr "เซิร์ฟเวอร์ / ผู้เล่นเดี่ยว"
+
+#: src/settings_translation_file.cpp
+msgid "Server URL"
+msgstr "URL เซิร์ฟเวอร์"
+
+#: src/settings_translation_file.cpp
+msgid "Server address"
+msgstr "ที่อยู่เซิฟเวอร์"
+
+#: src/settings_translation_file.cpp
+msgid "Server description"
+msgstr "คำอธิบายเซิร์ฟเวอร์"
+
+#: src/settings_translation_file.cpp
+msgid "Server name"
+msgstr "ชื่อเซิร์ฟเวอร์"
+
+#: src/settings_translation_file.cpp
+msgid "Server port"
+msgstr "พอร์ตเซิร์ฟเวอร์"
+
+#: src/settings_translation_file.cpp
+msgid "Server side occlusion culling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist URL"
+msgstr "URL รายà¸à¸²à¸£à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ"
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist file"
+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 "Set the maximum character length of a chat message sent by clients."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Set to true enables waving leaves.\n"
+"Requires shaders to be enabled."
+msgstr ""
+"ตั้งค่าเป็นจริงช่วยให้ใบโบà¸\n"
+"ต้องมี shaders เพื่อเปิดใช้งาน"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Set to true enables waving plants.\n"
+"Requires shaders to be enabled."
+msgstr ""
+"à¸à¸²à¸£à¸•ั้งค่าเป็นจริงช่วยให้พืชโบà¸\n"
+"ต้องมี shaders เพื่อเปิดใช้งาน"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Set to true enables waving water.\n"
+"Requires shaders to be enabled."
+msgstr ""
+"ตั้งค่าเป็นจริงช่วยให้น้ำโบà¸\n"
+"ต้องมี shaders เพื่อเปิดใช้งาน"
+
+#: src/settings_translation_file.cpp
+msgid "Shader path"
+msgstr "เส้นทาง Shader"
+
+#: 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 ""
+"Shaders อนุà¸à¸²à¸•เอฟเฟà¸à¸•์ภาพขั้นสูงà¹à¸¥à¸°à¸­à¸²à¸ˆà¹€à¸žà¸´à¹ˆà¸¡à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพในวิดีโอบางรายà¸à¸²à¸£\n"
+"บัตร\n"
+"ใช้งานได้à¸à¸±à¸šà¹à¸šà¹‡à¸à¹€à¸­à¸™à¸”์วิดีโอ OpenGL เท่านั้น"
+
+#: src/settings_translation_file.cpp
+msgid "Shadow limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shape of the minimap. Enabled = round, disabled = square."
+msgstr "รูปร่างของà¹à¸œà¸™à¸—ี่ย่อ Enabled = round, disabled = square"
+
+#: src/settings_translation_file.cpp
+msgid "Show debug info"
+msgstr "à¹à¸ªà¸”งข้อมูลà¸à¸²à¸£à¸”ีบัà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Show entity selection boxes"
+msgstr "à¹à¸ªà¸”งà¸à¸¥à¹ˆà¸­à¸‡à¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¹€à¸­à¸™à¸—ิตี"
+
+#: src/settings_translation_file.cpp
+msgid "Shutdown message"
+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 ""
+"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 ""
+"ขนาดของà¹à¸„ช MapBlock ของตัวสร้างตาข่าย à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸„วามประสงค์นี้\n"
+"เพิ่มà¹à¸„ชà¸à¸²à¸£à¹€à¸‚้าชม% ลดà¸à¸²à¸£à¸„ัดลอà¸à¸‚้อมูลจาà¸à¸«à¸¥à¸±à¸\n"
+"ด้ายจึงลดà¸à¸£à¸°à¸§à¸™à¸à¸£à¸°à¸§à¸²à¸¢à¹ƒà¸ˆ"
+
+#: src/settings_translation_file.cpp
+msgid "Slice w"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Slope and fill work together to modify the heights."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale humidity variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale temperature variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooth lighting"
+msgstr "à¹à¸ªà¸‡à¸—ี่ราบรื่น"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Smooths camera when looking around. Also called look or mouse smoothing.\n"
+"Useful for recording videos."
+msgstr ""
+"à¸à¸¥à¹‰à¸­à¸‡à¸¡à¸²à¸à¹€à¸¡à¸·à¹ˆà¸­à¸¡à¸­à¸‡à¹„ปรอบ ๆ เรียà¸à¸§à¹ˆà¸²à¸¡à¸­à¸‡à¸«à¸£à¸·à¸­à¹€à¸¡à¸²à¸ªà¹Œà¹€à¸£à¸µà¸¢à¸š.\n"
+"มีประโยชน์สำหรับà¸à¸²à¸£à¸šà¸±à¸™à¸—ึà¸à¸§à¸´à¸”ีโอ."
+
+#: src/settings_translation_file.cpp
+msgid "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgstr "มาà¸à¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¸‚องà¸à¸¥à¹‰à¸­à¸‡à¹ƒà¸™à¹‚หมดโรงภาพยนตร์ 0 เพื่อปิดใช้งาน."
+
+#: src/settings_translation_file.cpp
+msgid "Smooths rotation of camera. 0 to disable."
+msgstr "มาà¸à¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¸‚องà¸à¸¥à¹‰à¸­à¸‡ 0 เพื่อปิดใช้งาน"
+
+#: src/settings_translation_file.cpp
+msgid "Sneak key"
+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 "Sound"
+msgstr "เสียง"
+
+#: src/settings_translation_file.cpp
+msgid "Special key"
+msgstr "รหัสพิเศษ"
+
+#: src/settings_translation_file.cpp
+msgid "Special key for climbing/descending"
+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 ""
+"ระบุ URL ที่ไคลเอ็นต์ดึงสื่อà¹à¸—นà¸à¸²à¸£à¹ƒà¸Šà¹‰ UDP.\n"
+"$ filename ควรสามารถเข้าถึงได้จาภ$ remote_media $ filename ผ่าน cURL.\n"
+"(ชัด ๆ remote_media ควรลงท้ายด้วยเครื่องหมายทับ).\n"
+"ไฟล์ที่ไม่ปราà¸à¸à¸ˆà¸°à¸–ูà¸à¸”ึงข้อมูลตามปà¸à¸•ิ."
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Spread of light curve mid-boost.\n"
+"Standard deviation of the mid-boost gaussian."
+msgstr ""
+"à¸à¸²à¸£à¹à¸žà¸£à¹ˆà¸à¸£à¸°à¸ˆà¸²à¸¢à¸‚องà¹à¸ªà¸‡à¹‚ค้งà¸à¸¥à¸²à¸‡ - เพิ่ม\n"
+"ค่าเบี่ยงเบนมาตรà¸à¸²à¸™à¸‚อง Gaussian à¸à¸¥à¸²à¸‡à¹€à¸£à¹ˆà¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "Static spawnpoint"
+msgstr "จุดà¸à¸³à¹€à¸™à¸´à¸”à¹à¸šà¸šà¸„งที่"
+
+#: src/settings_translation_file.cpp
+msgid "Steepness noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of generated normalmaps."
+msgstr "ความà¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸‚องà¹à¸œà¸™à¸—ี่ปà¸à¸•ิที่สร้างขึ้น"
+
+#: src/settings_translation_file.cpp
+msgid "Strength of light curve mid-boost."
+msgstr "ความà¹à¸‚็งà¹à¸£à¸‡à¸‚องà¹à¸ªà¸‡à¹‚ค้งà¸à¸¥à¸²à¸‡ - เพิ่ม"
+
+#: src/settings_translation_file.cpp
+msgid "Strength of parallax."
+msgstr "ความà¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸‚องพารัลà¹à¸¥à¸à¸‹à¹Œ"
+
+#: src/settings_translation_file.cpp
+msgid "Strict protocol checking"
+msgstr "à¸à¸²à¸£à¸•รวจสอบโปรโตคอลที่เข้มงวด"
+
+#: src/settings_translation_file.cpp
+msgid "Strip color codes"
+msgstr "à¹à¸–บรหัสสี"
+
+#: src/settings_translation_file.cpp
+msgid "Synchronous SQLite"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Temperature variation for biomes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain alternative noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain higher noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain noise"
+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 ""
+"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 "Terrain persistence noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Texture path"
+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 ""
+"พื้นผิวบนโหนดอาจถูà¸à¸ˆà¸±à¸”ตำà¹à¸«à¸™à¹ˆà¸‡à¸­à¸¢à¹ˆà¸²à¸‡à¹ƒà¸”อย่างหนึ่งà¸à¸±à¸šà¹‚หนดหรือà¸à¸±à¸šà¹‚ลà¸\n"
+"โหมดà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰à¹€à¸«à¸¡à¸²à¸°à¸ªà¸¡à¸à¸±à¸šà¸ªà¸´à¹ˆà¸‡à¸—ี่ดีà¸à¸§à¹ˆà¸²à¹€à¸Šà¹ˆà¸™à¹€à¸„รื่องจัà¸à¸£à¹€à¸Ÿà¸­à¸£à¹Œà¸™à¸´à¹€à¸ˆà¸­à¸£à¹Œ ฯลฯ ในขณะที่\n"
+"หลังทำให้บันไดà¹à¸¥à¸°à¹„มโครบล็อà¸à¸žà¸­à¸”ีà¸à¸±à¸šà¸ªà¸ à¸²à¸žà¹à¸§à¸”ล้อมดีขึ้น\n"
+"อย่างไรà¸à¹‡à¸•ามเนื่องจาà¸à¸„วามเป็นไปได้นี้เป็นเรื่องใหม่ดังนั้นจึงไม่สามารถใช้งานได้โดยเซิร์ฟเวอร์รุ่นเà¸à¹ˆà¸²\n"
+"ตัวเลือà¸à¸™à¸µà¹‰à¸­à¸™à¸¸à¸à¸²à¸•ให้บังคับใช้สำหรับโหนดบางชนิด โปรดทราบว่า\n"
+"ที่ถูà¸à¸žà¸´à¸ˆà¸²à¸£à¸“าว่าเป็นประสบà¸à¸²à¸£à¸“์à¹à¸¥à¸°à¸­à¸²à¸ˆà¸—ำงานไม่ถูà¸à¸•้อง"
+
+#: src/settings_translation_file.cpp
+msgid "The URL for the content repository"
+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 "The depth of dirt or other biome filler node."
+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 "The identifier of the joystick to use"
+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 "The network interface that the server listens on."
+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 ""
+"สิทธิพิเศษที่ผู้ใช้ใหม่จะได้รับโดยอัตโนมัติ.\n"
+"ดู / privs ในเà¸à¸¡à¸ªà¸³à¸«à¸£à¸±à¸šà¸£à¸²à¸¢à¸à¸²à¸£à¸—ั้งหมดในเซิร์ฟเวอร์à¹à¸¥à¸°à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ค่า mod ของคุณ."
+
+#: 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 ""
+"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 ""
+"à¸à¸²à¸£à¹à¸ªà¸”งผลà¹à¸šà¹‡à¸à¹€à¸­à¸™à¸”์สำหรับ Irrlicht\n"
+"จำเป็นต้องรีสตาร์ทหลังจาà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸ªà¸´à¹ˆà¸‡à¸™à¸µà¹‰\n"
+"หมายเหตุ: สำหรับ Android ให้ใช้ OGLES1 หาà¸à¹„ม่à¹à¸™à¹ˆà¹ƒà¸ˆ! à¹à¸­à¸›à¸­à¸²à¸ˆà¹„ม่สามารถเริ่มต้นได้\n"
+"สำหรับà¹à¸žà¸¥à¸•ฟอร์มอื่น ๆ ขอà¹à¸™à¸°à¸™à¸³à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰ OpenGL à¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¹„ดรเวอร์เดียวที่มี\n"
+"รองรับ shader ในขณะนี้"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
+msgstr ""
+"ความไวของà¹à¸à¸™à¸ˆà¸­à¸¢à¸ªà¸•ิ๊à¸à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¹€à¸¥à¸·à¹ˆà¸­à¸™\n"
+"มุมมอง ingame frustum รอบ ๆ."
+
+#: 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 ""
+"ความเข้ม (ความมืด) ของà¸à¸²à¸£à¹à¸£à¹€à¸‡à¸²à¸£à¸­à¸šà¹‚หนด - à¸à¸²à¸£à¸šà¸±à¸‡\n"
+"ด้านล่างมืดà¸à¸§à¹ˆà¸²à¹à¸¥à¸°à¸ªà¸¹à¸‡à¸à¸§à¹ˆà¸²à¹€à¸šà¸²à¸à¸§à¹ˆà¸² ช่วงของค่าที่ใช้ได้สำหรับสิ่งนี้\n"
+"à¸à¸²à¸£à¸•ั้งค่าเป็น 0.25 ถึง 4.0 รวม หาà¸à¸„่าอยู่นอà¸à¸Šà¹ˆà¸§à¸‡à¸ˆà¸°à¹€à¸›à¹‡à¸™\n"
+"ตั้งเป็นค่าที่ถูà¸à¸•้องที่ใà¸à¸¥à¹‰à¸—ี่สุด"
+
+#: 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 ""
+"The time in seconds it takes between repeated events\n"
+"when holding down a joystick button combination."
+msgstr ""
+"เวลาในหน่วยวินาทีที่ใช้ระหว่างเหตุà¸à¸²à¸£à¸“์ที่เà¸à¸´à¸”ซ้ำ\n"
+"เมื่อà¸à¸”ปุ่มจอยสติ๊à¸à¸„้างไว้"
+
+#: 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 "The type of joystick"
+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 "Third of 4 2D noises that together define hill/mountain range height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "This font will be used for certain languages."
+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 ""
+"เวลาเป็นวินาทีสำหรับเอนทิตีไอเท็ม (ดร็อปไอเท็ม) เพื่อà¹à¸ªà¸”งสด.\n"
+"à¸à¸²à¸£à¸•ั้งค่าเป็น -1 จะปิดใช้งานคุณสมบัตินี้."
+
+#: 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 "Time send interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Timeout for client to remove unused map data from memory."
+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 ""
+"เพื่อลดความล่าช้าà¸à¸²à¸£à¸–่ายโอนบล็อà¸à¸ˆà¸°à¸Šà¹‰à¸²à¸¥à¸‡à¹€à¸¡à¸·à¹ˆà¸­à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸ªà¸£à¹‰à¸²à¸‡à¸šà¸²à¸‡à¸ªà¸´à¹ˆà¸‡à¸šà¸²à¸‡à¸­à¸¢à¹ˆà¸²à¸‡.\n"
+"สิ่งนี้จะà¸à¸³à¸«à¸™à¸”ระยะเวลาที่จะชะลอตัวลงหลังจาà¸à¸—ำà¸à¸²à¸£à¸§à¸²à¸‡à¸«à¸£à¸·à¸­à¸¥à¸šà¹‚หนด."
+
+#: src/settings_translation_file.cpp
+msgid "Toggle camera mode key"
+msgstr "สลับปุ่มโหมดà¸à¸¥à¹‰à¸­à¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "Tooltip delay"
+msgstr "เคล็ดลับเครื่องมือล่าช้า"
+
+#: src/settings_translation_file.cpp
+msgid "Touch screen threshold"
+msgstr "ขีด จำà¸à¸±à¸” หน้าจอสัมผัส"
+
+#: src/settings_translation_file.cpp
+msgid "Trees noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trilinear filtering"
+msgstr "à¸à¸²à¸£à¸à¸£à¸­à¸‡ Trilinear"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"True = 256\n"
+"False = 128\n"
+"Useable to make minimap smoother on slower machines."
+msgstr ""
+"True = 256\n"
+"เท็จ = 128\n"
+"ใช้เพื่อทำให้à¹à¸œà¸™à¸—ี่ย่อเรียบขึ้นบนเครื่องที่ช้าลง"
+
+#: src/settings_translation_file.cpp
+msgid "Trusted mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Typical maximum height, above and below midpoint, of floatland mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "URL to the server list displayed in the Multiplayer Tab."
+msgstr "URL ไปยังรายà¸à¸²à¸£à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸—ี่à¹à¸ªà¸”งในà¹à¸—็บผู้เล่นหลายคน."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Undersampling"
+msgstr "Undersampling"
+
+#: 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"
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
+msgstr ""
+"Undersampling คล้ายà¸à¸±à¸šà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸„วามละเอียดหน้าจอต่ำà¸à¸§à¹ˆà¸² à¹à¸•่ใช้\n"
+"สู่โลà¸à¸‚องเà¸à¸¡à¹€à¸—่านั้นทำให้ GUI ยังคงสภาพเดิม\n"
+"ควรเพิ่มประสิทธิภาพที่สำคัà¸à¸”้วยต้นทุนของภาพที่มีรายละเอียดน้อยà¸à¸§à¹ˆà¸²"
+
+#: src/settings_translation_file.cpp
+msgid "Unlimited player transfer distance"
+msgstr "ระยะถ่ายโอนผู้เล่นไม่ จำà¸à¸±à¸”"
+
+#: src/settings_translation_file.cpp
+msgid "Unload unused server data"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Upper Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use 3D cloud look instead of flat."
+msgstr "ใช้รูปลัà¸à¸©à¸“์คลาวด์ 3D à¹à¸—นที่จะเป็นà¹à¸™à¸§à¸£à¸²à¸š"
+
+#: src/settings_translation_file.cpp
+msgid "Use a cloud animation for the main menu background."
+msgstr "ใช้ภาพเคลื่อนไหวคลาวด์สำหรับพื้นหลังเมนูหลัà¸."
+
+#: src/settings_translation_file.cpp
+msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgstr "ใช้ตัวà¸à¸£à¸­à¸‡ anisotropic เมื่อดูที่พื้นผิวจาà¸à¸¡à¸¸à¸¡"
+
+#: src/settings_translation_file.cpp
+msgid "Use bilinear filtering when scaling textures."
+msgstr "ใช้à¸à¸²à¸£à¸à¸£à¸­à¸‡ bilinear เมื่อปรับขนาดพื้นผิว"
+
+#: 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 ""
+"ใช้à¸à¸²à¸£à¸—ำà¹à¸œà¸™à¸—ี่ mip เพื่อปรับขนาดพื้นผิว อาจเพิ่มประสิทธิภาพเล็à¸à¸™à¹‰à¸­à¸¢\n"
+"โดยเฉพาะอย่างยิ่งเมื่อใช้à¹à¸žà¹‡à¸„พื้นผิวที่มีความละเอียดสูง\n"
+"ไม่รองรับà¸à¸²à¸£à¸¥à¸”ขนาดà¹à¸à¸¡à¸¡à¸²à¹à¸à¸¡à¸¡à¸²à¸—ี่ถูà¸à¸•้อง"
+
+#: src/settings_translation_file.cpp
+msgid "Use trilinear filtering when scaling textures."
+msgstr "ใช้à¸à¸²à¸£à¸à¸£à¸­à¸‡ trilinear เมื่อปรับขนาดพื้นผิว"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "VBO"
+msgstr "VBO"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "VSync"
+msgstr "VSync"
+
+#: src/settings_translation_file.cpp
+msgid "Valley depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley fill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley profile"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley slope"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of biome filler depth."
+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 "Variation of maximum mountain height (in nodes)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of number of caves."
+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 "Varies depth of biome surface nodes."
+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 "Varies steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical screen synchronization."
+msgstr "à¸à¸²à¸£à¸‹à¸´à¸‡à¹‚ครไนซ์หน้าจอà¹à¸™à¸§à¸•ั้ง"
+
+#: src/settings_translation_file.cpp
+msgid "Video driver"
+msgstr "ไดรเวอร์วิดีโอ"
+
+#: src/settings_translation_file.cpp
+msgid "View bobbing factor"
+msgstr "ดูปัจจัยผลุบๆโผล่ๆ"
+
+#: src/settings_translation_file.cpp
+msgid "View distance in nodes."
+msgstr "ดูระยะทางในโหนด"
+
+#: src/settings_translation_file.cpp
+msgid "View range decrease key"
+msgstr "ปุ่มลดช่วงà¸à¸²à¸£à¸¡à¸­à¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "View range increase key"
+msgstr "ปุ่มเพิ่มช่วงà¸à¸²à¸£à¸¡à¸­à¸‡"
+
+#: src/settings_translation_file.cpp
+msgid "View zoom key"
+msgstr "ดูปุ่มซูม"
+
+#: src/settings_translation_file.cpp
+msgid "Viewing range"
+msgstr "ดูช่วง"
+
+#: src/settings_translation_file.cpp
+msgid "Virtual joystick triggers aux button"
+msgstr "จอยสติà¸à¹€à¸ªà¸¡à¸·à¸­à¸™à¹€à¸£à¸µà¸¢à¸à¹ƒà¸Šà¹‰à¸›à¸¸à¹ˆà¸¡ aux"
+
+#: src/settings_translation_file.cpp
+msgid "Volume"
+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 "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Walking 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 "Water level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Water surface level of the world."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving Nodes"
+msgstr "โบà¸à¹‚หนด"
+
+#: src/settings_translation_file.cpp
+msgid "Waving leaves"
+msgstr "โบà¸à¹ƒà¸šà¹„ม้"
+
+#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr "โบà¸à¸•้นไม้"
+
+#: src/settings_translation_file.cpp
+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 "โบà¸à¸¡à¸·à¸­à¸à¸±à¸™à¸¢à¸²à¸§"
+
+#: 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 ""
+"เมื่อ gui_scaling_filter เป็นจริงรูปภาพ GUI ทั้งหมดจะต้องเป็น\n"
+"à¸à¸£à¸­à¸‡à¹ƒà¸™à¸‹à¸­à¸Ÿà¸•์à¹à¸§à¸£à¹Œ à¹à¸•่บางภาพถูà¸à¸ªà¸£à¹‰à¸²à¸‡à¸‚ึ้นโดยตรง\n"
+"เป็นฮาร์ดà¹à¸§à¸£à¹Œ (เช่น render-to-texture สำหรับโหนดในคลังโฆษณา)"
+
+#: 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 ""
+"เมื่อ gui_scaling_filter_txr2img เป็นจริงให้คัดลอà¸à¸ à¸²à¸žà¹€à¸«à¸¥à¹ˆà¸²à¸™à¸±à¹‰à¸™\n"
+"จาà¸à¸®à¸²à¸£à¹Œà¸”à¹à¸§à¸£à¹Œà¸‹à¸­à¸Ÿà¸•์à¹à¸§à¸£à¹Œà¹€à¸žà¸·à¹ˆà¸­à¸à¸²à¸£à¸›à¸£à¸±à¸šà¸‚นาด เมื่อเท็จถอยà¸à¸¥à¸±à¸š\n"
+"à¸à¸±à¸šà¸§à¸´à¸˜à¸µà¸à¸²à¸£à¸›à¸£à¸±à¸šà¸‚นาดà¹à¸šà¸šà¹€à¸à¹ˆà¸²à¸ªà¸³à¸«à¸£à¸±à¸šà¹„ดรเวอร์วิดีโอที่ไม่ต้องà¸à¸²à¸£\n"
+"รองรับà¸à¸²à¸£à¸”าวน์โหลดพื้นผิวอย่างถูà¸à¸•้องจาà¸à¸®à¸²à¸£à¹Œà¸”à¹à¸§à¸£à¹Œ"
+
+#: 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 ""
+"เมื่อใช้ตัวà¸à¸£à¸­à¸‡ bilinear / trilinear / anisotropic พื้นผิวที่มีความละเอียดต่ำ\n"
+"สามารถเบลอดังนั้นจึงทำà¸à¸²à¸£à¸­à¸±à¸›à¹€à¸à¸£à¸”โดยอัตโนมัติà¸à¸±à¸šà¹€à¸žà¸·à¹ˆà¸­à¸™à¸šà¹‰à¸²à¸™à¸—ี่ใà¸à¸¥à¹‰à¸—ี่สุด\n"
+"à¸à¸²à¸£à¹à¸à¹‰à¹„ขเพื่อรัà¸à¸©à¸²à¸žà¸´à¸à¹€à¸‹à¸¥à¸—ี่คมชัด à¸à¸³à¸«à¸™à¸”ขนาดพื้นผิวขั้นต่ำ\n"
+"สำหรับพื้นผิวที่ลดอัตราสเà¸à¸¥; ค่าที่สูงà¸à¸§à¹ˆà¸²à¸ˆà¸°à¸”ูคมชัดขึ้น à¹à¸•่ต้องà¸à¸²à¸£à¸¡à¸²à¸à¸‚ึ้น\n"
+"หน่วยความจำ à¹à¸™à¸°à¸™à¸³à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¸à¸³à¸¥à¸±à¸‡ 2 à¸à¸²à¸£à¸•ั้งค่านี้สูงà¸à¸§à¹ˆà¸² 1 อาจไม่\n"
+"มีผลที่มองเห็นได้เว้นà¹à¸•่ว่าà¸à¸²à¸£à¸à¸£à¸­à¸‡ bilinear / trilinear / anisotropic\n"
+"เปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™\n"
+"สิ่งนี้ยังใช้เป็นขนาดพื้นผิวโหนดโหนดสำหรับà¸à¸²à¸£à¸ˆà¸±à¸”ตำà¹à¸«à¸™à¹ˆà¸‡à¹‚ลà¸\n"
+"à¸à¸²à¸£à¸«à¸¡à¸¸à¸™à¸­à¸±à¸•โนมัติของพื้นผิว"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+msgstr "ไม่ว่าจะใช้ฟอนต์ FreeType ต้องมีà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™ FreeType เพื่อรวบรวม."
+
+#: src/settings_translation_file.cpp
+msgid "Whether node texture animations should be desynchronized per mapblock."
+msgstr "ระบุว่าควรสร้างà¸à¸²à¸£à¸‹à¸´à¸‡à¹‚ครไนซ์ภาพเคลื่อนไหวพื้นผิวของโหนดต่อ Mapblock หรือไม่."
+
+#: 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 ""
+"ผู้เล่นจะà¹à¸ªà¸”งให้ลูà¸à¸„้าเห็นหรือไม่โดยไม่ จำà¸à¸±à¸” ช่วง.\n"
+"เลิà¸à¹ƒà¸Šà¹‰à¹à¸¥à¹‰à¸§à¹ƒà¸Šà¹‰à¸à¸²à¸£à¸•ั้งค่า player_transfer_distance à¹à¸—น."
+
+#: src/settings_translation_file.cpp
+msgid "Whether to allow players to damage and kill each other."
+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 ""
+"ไม่ว่าจะขอให้ลูà¸à¸„้าเชื่อมต่อใหม่หลังจาà¸à¸—ี่ (Lua) ผิดพลาด.\n"
+"ตั้งค่านี้เป็นจริงหาà¸à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸‚องคุณตั้งค่าให้รีสตาร์ทโดยอัตโนมัติ."
+
+#: src/settings_translation_file.cpp
+msgid "Whether to fog out the end of the visible area."
+msgstr "ไม่ว่าจะเป็นà¸à¸²à¸£à¸žà¹ˆà¸™à¸«à¸¡à¸­à¸à¸­à¸­à¸à¹ƒà¸™à¸•อนท้ายของพื้นที่มองเห็น"
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Whether to show the client debug info (has the same effect as hitting F5)."
+msgstr "ไม่ว่าจะà¹à¸ªà¸”งข้อมูลà¸à¸²à¸£à¹à¸à¹‰à¸›à¸±à¸à¸«à¸²à¸¥à¸¹à¸à¸„้า (มีผลเช่นเดียวà¸à¸±à¸šà¸à¸²à¸£à¸à¸”ปุ่ม F5)."
+
+#: src/settings_translation_file.cpp
+msgid "Width component of the initial window size."
+msgstr "องค์ประà¸à¸­à¸šà¸„วามà¸à¸§à¹‰à¸²à¸‡à¸‚องขนาดหน้าต่างเริ่มต้น"
+
+#: src/settings_translation_file.cpp
+msgid "Width of the selection box lines around nodes."
+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 ""
+"ระบบ Windows เท่านั้น: เริ่ม Minetest ด้วยหน้าต่างบรรทัดคำสั่งในพื้นหลัง\n"
+"มีข้อมูลเดียวà¸à¸±à¸™à¸à¸±à¸šà¹„ฟล์ debug.txt (ชื่อเริ่มต้น)"
+
+#: 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 ""
+"ไดเรà¸à¸—อรีโลภ(ทุà¸à¸ªà¸´à¹ˆà¸‡à¹ƒà¸™à¹‚ลà¸à¸–ูà¸à¹€à¸à¹‡à¸šà¹„ว้ที่นี่).\n"
+"ไม่จำเป็นถ้าเริ่มจาà¸à¹€à¸¡à¸™à¸¹à¸«à¸¥à¸±à¸."
+
+#: src/settings_translation_file.cpp
+msgid "World start time"
+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 ""
+"พื้นผิวที่จัดà¹à¸™à¸§à¹‚ลà¸à¸­à¸²à¸ˆà¸–ูà¸à¸›à¸£à¸±à¸šà¸ªà¸±à¸”ส่วนเพื่อขยายหลายโหนด อย่างไรà¸à¹‡à¸•าม\n"
+"เซิร์ฟเวอร์อาจไม่ส่งสเà¸à¸¥à¸—ี่คุณต้องà¸à¸²à¸£à¹‚ดยเฉพาะถ้าคุณใช้\n"
+"à¹à¸žà¹‡à¸„พื้นผิวที่ออà¸à¹à¸šà¸šà¹€à¸›à¹‡à¸™à¸žà¸´à¹€à¸¨à¸© ด้วยตัวเลือà¸à¸™à¸µà¹‰à¸¥à¸¹à¸à¸„้าพยายาม\n"
+"เพื่อà¸à¸³à¸«à¸™à¸”ขนาดโดยอัตโนมัติตามขนาดพื้นผิว\n"
+"ดูเพิ่มเติม texture_min_size\n"
+"คำเตือน: ตัวเลือà¸à¸™à¸µà¹‰à¸„ือค่าประสบà¸à¸²à¸£à¸“์!"
+
+#: src/settings_translation_file.cpp
+msgid "World-aligned textures mode"
+msgstr "โหมดพื้นผิวที่จัดชิดโลà¸"
+
+#: src/settings_translation_file.cpp
+msgid "Y of flat ground."
+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 "Y of upper limit of large caves."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-distance over which caverns expand to full size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of average terrain surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of cavern upper limit."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of floatland midpoint and lake surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of higher terrain that creates cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of lower terrain and seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level to which floatland shadows extend."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL file download timeout"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL parallel limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL timeout"
+msgstr ""
+
+#~ msgid "Waving Water"
+#~ msgstr "น้ำโบà¸"
+
+#~ msgid "Select Package File:"
+#~ msgstr "เลือà¸à¹à¸Ÿà¹‰à¸¡à¹à¸žà¸„เà¸à¸ˆ:"
+
+#~ msgid "Toggle Cinematic"
+#~ msgstr "สลับโรงภาพยนตร์"
diff --git a/po/tr/minetest.po b/po/tr/minetest.po
index 666b21edc..d7347a86c 100644
--- a/po/tr/minetest.po
+++ b/po/tr/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Turkish (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-23 11:18+0000\n"
-"Last-Translator: monolifed <monolifed@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Turkish <https://hosted.weblate.org/projects/minetest/"
"minetest/tr/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -23,7 +23,8 @@ msgid "You died"
msgstr "Öldün"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Lua betiÄŸinde, bir mod gibi, bir hata oluÅŸtu:"
#: builtin/fstk/ui.lua
@@ -119,13 +120,28 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "İsteğe bağlı bağımlılıklar:"
+
+#: 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."
+
+#: 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:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "İsteğe bağlı bağımlılıklar:"
@@ -482,10 +498,6 @@ msgid "Rename"
msgstr "Yeniden adlandır"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "Paket Dosyası Seç:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Paketi Kaldır"
@@ -770,12 +782,13 @@ msgid "Waving Leaves"
msgstr "Dalgalanan Yapraklar"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Dalgalanan Bitkiler"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Dalgalanan Nodlar"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Dalgalanan Su"
+msgid "Waving Plants"
+msgstr "Dalgalanan Bitkiler"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -898,14 +911,12 @@ msgid "- Server Name: "
msgstr "- Sunucu Adı: "
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward disabled"
-msgstr "Kendiliğinden ilerleme devre dışı"
+msgstr "Kendiliğinden ileri devre dışı"
#: src/client/game.cpp
-#, fuzzy
msgid "Automatic forward enabled"
-msgstr "Kendilinden ilerleme etkin"
+msgstr "KendiliÄŸinden ileri etkin"
#: src/client/game.cpp
msgid "Camera update disabled"
@@ -1518,13 +1529,13 @@ msgid "Register and Join"
msgstr "Kaydol ve Katıl"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
"\"%2$s\" adıyla %1$s adresindeki sunucuya ilk kez bağlanmak üzeresiniz. "
"Devam ederseniz, bu sunucuda, bilgileriniz kullanılarak yeni bir hesap "
@@ -1645,10 +1656,6 @@ msgid "Special"
msgstr "Özel"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Sinematik Aç/Kapa"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "HUD'ı aç/kapa"
@@ -1677,6 +1684,11 @@ msgid "Toggle noclip"
msgstr "Hayalet aç/kapa"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Sohbet günlüğünü aç/kapa"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "tuÅŸa bas"
@@ -1793,19 +1805,21 @@ msgid "2D noise that controls the shape/size of step mountains."
msgstr "Step dağların şeklini/boyutunu denetleyen 2D gürültü."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of ridged mountain ranges."
-msgstr "Sırt dağ aralıklarının boyutunu/ortaya çıkışını denetleyen 2D gürültü."
+msgstr "Sırt dağ aralıklarının boyutunu/oluşumunu denetleyen 2D gürültü."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of rolling hills."
-msgstr "Yuvarlanan tepelerin boyutunu/ortaya çıkışını denetleyen 2D gürültü."
+msgstr "Yuvarlanan tepelerin boyutunu/oluşumunu denetleyen 2D gürültü."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "2D noise that controls the size/occurrence of step mountain ranges."
-msgstr "Step dağ aralıklarının boyutunu/ortaya çıkışını denetleyen 2D gürültü."
+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ü."
#: src/settings_translation_file.cpp
msgid "3D clouds"
@@ -1842,6 +1856,10 @@ msgstr ""
"farklılıklar."
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1894,6 +1912,10 @@ msgid "Acceleration in air"
msgstr "Havada hızlanma"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "Etkin Blok DeÄŸiÅŸtiricileri"
@@ -2037,16 +2059,12 @@ msgstr ""
"Harita bloÄŸu (16 nod) cinsinden."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatic forward key"
msgstr "KendiliÄŸinden ileri tuÅŸu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Automatically jump up single-node obstacles."
-msgstr ""
-"Tek-nod engellere kendiliğinden zıpla.\n"
-"tür: bool"
+msgstr "Tek-nod engellere kendiliğinden zıpla."
#: src/settings_translation_file.cpp
msgid "Automatically report to the serverlist."
@@ -2125,8 +2143,9 @@ msgid "Bumpmapping"
msgstr "Tümsek eşleme"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2197,7 +2216,6 @@ msgid "Center of light curve mid-boost."
msgstr "Işık eğrisi orta-artırmanın merkezi."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Changes the main menu UI:\n"
"- Full: Multiple singleplayer worlds, game choice, texture pack chooser, "
@@ -2209,9 +2227,8 @@ msgstr ""
"Ana Menü arayüzünü değiştirir:\n"
"- Full: Çoklu tek oyunculu dünyalar, oyun seçimi, doku paketi seçici, "
"vb.\n"
-"- Simple: Bir tek oyunculu dünya, oyun ve doku paketi seçiciler yok.\n"
-"Küçük ekranlar için gerekli olabilir\n"
-"- Auto: Android'de Simple, diÄŸer hepsinde Full."
+"- Simple: Bir tek oyunculu dünya, oyun veya doku paketi seçiciler yok.\n"
+"Küçük ekranlar için gerekli olabilir."
#: src/settings_translation_file.cpp
msgid "Chat key"
@@ -2222,6 +2239,11 @@ 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"
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr "Sohbet iletisi vurma eÅŸiÄŸi"
@@ -2307,6 +2329,12 @@ msgid ""
"These flags are independent from Minetest versions,\n"
"so see a full list at https://content.minetest.net/help/content_flags/"
msgstr ""
+"İçerik deposunda gizlemek için bayrakların virgülle ayrılmış listesi.\n"
+"\"nonfree\" Özgür Yazılım Vakfının tanımına göre 'özgür yazılım' olarak\n"
+"nitelenemeyecek paketleri gizler.\n"
+"İçerik puanlarını da belirleyebilirsiniz.\n"
+"Bu bayraklar Minetest sürümlerinden bağımsızdır,\n"
+"tam listeyi görmek için: https://content.minetest.net/help/content_flags/"
#: src/settings_translation_file.cpp
msgid ""
@@ -2356,12 +2384,11 @@ msgstr "Konsol yüksekliği"
#: src/settings_translation_file.cpp
msgid "ContentDB Flag Blacklist"
-msgstr ""
+msgstr "ContentDB: Kara Liste"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "ContentDB URL"
-msgstr "İçerik"
+msgstr "ContentDB URL"
#: src/settings_translation_file.cpp
msgid "Continuous forward"
@@ -2372,7 +2399,7 @@ msgid ""
"Continuous forward movement, toggled by autoforward key.\n"
"Press the autoforward key again or the backwards movement to disable."
msgstr ""
-"Sürekli ileri hareket, kendiliğinden ileri tuşu ile geçiş yapılır.\n"
+"Sürekli ileri hareket, kendiliğinden ileri tuşuyla açılır/kapanır.\n"
"Kapamak için kendiliğinden ileriye tekrar veya geri harekete basın."
#: src/settings_translation_file.cpp
@@ -2390,6 +2417,10 @@ msgstr ""
"72 = 20dk, 360 = 4dk, 1 = 24saat, 0 = gündüz/gece/herşey değişmeden kalır."
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "Göl çöküklerinin diklik/çukurluğunu denetler."
@@ -2452,6 +2483,11 @@ 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"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "Hata ayıklama günlük düzeyi"
@@ -2460,6 +2496,10 @@ msgid "Dec. volume key"
msgstr "Ses alçaltma tuşu"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "Adanmış sunucu adımı"
@@ -2550,12 +2590,27 @@ 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."
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
"Maksimal oyuncu transfer uzaklığını bloklar cinsinden tanımlar (0 = "
"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."
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "Ağaçların elması olacağı alanları belirler."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "Ağaç alanlarını ve ağaç yoğunluğunu belirler."
@@ -2582,6 +2637,12 @@ msgid "Deprecated Lua API handling"
msgstr "Kaldırılan Lua API işleme"
#: 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 "Depth below which you'll find giant caverns."
msgstr "Altında dev oyuklar bulabileceğiniz derinlik."
@@ -2602,9 +2663,10 @@ 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 new biome system is enabled, this is ignored."
+"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."
@@ -2654,6 +2716,11 @@ msgid "Dungeon minimum Y"
msgstr "Zindan minimum Y"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "Zindan minimum Y"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2695,13 +2762,15 @@ msgstr "Rastgele kullanıcı girişini etkinleştir (yalnızca test için)."
#: src/settings_translation_file.cpp
msgid "Enable register confirmation"
-msgstr ""
+msgstr "Kayıt onayını etkinleştir"
#: src/settings_translation_file.cpp
msgid ""
"Enable register confirmation when connecting to server.\n"
"If disabled, new account will be registered automatically."
msgstr ""
+"Sunucuya bağlanırken kayıt onayını etkinleştir.\n"
+"Devre dışı bırakılırsa, yeni hesap kendiliğinden kaydedilir."
#: src/settings_translation_file.cpp
msgid ""
@@ -2998,6 +3067,13 @@ msgid "Font size"
msgstr "Yazı tipi boyutu"
#: 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 "Format of screenshots."
msgstr "Ekran yakalama biçimi."
@@ -3121,7 +3197,6 @@ msgid "Global callbacks"
msgstr "Genel geri çağrılar"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Global map generation attributes.\n"
"In Mapgen v6 the 'decorations' flag controls all decorations except trees\n"
@@ -3130,9 +3205,7 @@ msgstr ""
"Genel harita üretim özellikleri.\n"
"Mapgen v6'da 'decorations' bayrağı ağaçlar ve cangıl çimi hariç tüm "
"dekorasyonları\n"
-"denetler, diğer mapgenlerde bu bayrak tüm dekorasyonları denetler.\n"
-"Etkinleştirilmemiş bayraklar öntanımlıdan değiştirilmez.\n"
-"'no' ile başlayan bayraklar onları devre dışı bırakır."
+"denetler, diğer mapgenlerde bu bayrak tüm dekorasyonları denetler."
#: src/settings_translation_file.cpp
msgid "Gradient of light curve at maximum light level."
@@ -3250,6 +3323,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr "Sunucu listesinde görüntülenecek sunucunun ana sayfası ."
#: 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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Hotbar sonraki tuÅŸu"
@@ -3497,12 +3588,11 @@ msgstr ""
"Yalnızca ne yaptığınızı biliyorsanız bunu etkinleştirin."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
msgstr ""
-"Uçma kipi ile birlikte etkinleştirilirse, hareket yönünü oyuncunun eğimine "
+"Etkinleştirilirse, uçarken veya yüzerken hareket yönünü oyuncunun eğimine "
"göre değiştirir."
#: src/settings_translation_file.cpp
@@ -3529,6 +3619,14 @@ msgstr ""
"oyuncuya olan bu uzaklığa sınırlanır."
#: 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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
"Bu ayarlanırsa, oyuncular her zaman verilen konumdan (yeniden) canlanacaktır."
@@ -3559,6 +3657,10 @@ msgid "Inc. volume key"
msgstr "Ses yükseltme tuşu"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -3820,7 +3922,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Oyuncuyu ileriye hareket ettirme tuÅŸu.\n"
+"Oyuncuyu ileri hareket ettirme tuÅŸu.\n"
"Bakın: http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4274,7 +4376,7 @@ msgid ""
"See http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
msgstr ""
-"Kendiliğinden ileri açma/kapama tuşu.\n"
+"Kendiliğinden ileriyi açma/kapama tuşu.\n"
"Bakın: http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4329,13 +4431,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 ""
-"Eğim uçma kipi açma/kapama tuşu.\n"
+"Eğim hareket kipi açma/kapama tuşu.\n"
"Bakın: http://irrlicht.sourceforge.net/docu/namespaceirr."
"html#a54da2a0e231901735e3da1b0edf72eb3"
@@ -4583,7 +4684,8 @@ msgid "Liquid queue purge time"
msgstr "Sıvı sırası silme zamanı"
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+#, fuzzy
+msgid "Liquid sinking"
msgstr "Sıvı inme hızı"
#: src/settings_translation_file.cpp
@@ -4647,10 +4749,9 @@ msgstr "Harita dizini"
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen Carpathian."
-msgstr ""
+msgstr "Mapgen Karpat'a özgü harita üretim değerleri."
#: src/settings_translation_file.cpp
-#, fuzzy
msgid ""
"Map generation attributes specific to Mapgen Valleys.\n"
"'altitude_chill': Reduces heat with altitude.\n"
@@ -4661,7 +4762,7 @@ msgid ""
msgstr ""
"Mapgen Vadiler'e özgü harita üretim değerleri. \n"
"'altitude_chill': Isıyı yükseklikle azaltır.\n"
-"'humid_rivers': Nehirlerin ve su birikintilerinin etrafında nemi artırır.\n"
+"'humid_rivers': Nehirlerin etrafında nemi artırır.\n"
"'vary_river_depth': Etkinse, düşük nem ve yüksek ısı nehirlerin sığ ve\n"
"bazen kuru olmasına neden olur\n"
"'altitude_dry': Nemi yükseklikle azaltır."
@@ -4670,37 +4771,44 @@ msgstr ""
#, 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."
+
+#: 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 ""
"Mapgen düz'e özgü harita üretim değerleri.\n"
-"Ara sıra göller ve tepeler düz dünyaya eklenebilir.\n"
-"Etkinleştirilmemiş bayraklar öntanımlıdan değiştirilmez.\n"
-"'no' ile başlayan bayraklar onları devre dışı bırakır."
+"Ara sıra göller ve tepeler düz dünyaya eklenebilir."
#: src/settings_translation_file.cpp
msgid "Map generation attributes specific to Mapgen v5."
-msgstr ""
+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 new biome system is enabled jungles are automatically enabled and\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.\n"
-"Etkinleştirilmemiş bayraklar öntanımlıdan değiştirilmez.\n"
-"'no' ile başlayan bayraklar onları devre dışı bırakır."
+"'jungles' bayrağı yok sayılır."
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
"'ridges' enables the rivers."
msgstr ""
+"Mapgen v7'ye özgü harita üretim özellikleri.\n"
+"'ridges' nehirleri etkinleÅŸtirir."
#: src/settings_translation_file.cpp
msgid "Map generation limit"
@@ -4747,6 +4855,11 @@ msgid "Mapgen Fractal"
msgstr "Mapgen Fraktal"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Mapgen Düz'e özgü bayraklar"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr "Mapgen V5"
@@ -4828,6 +4941,12 @@ msgstr "Maksimum hotbar geniÅŸliÄŸi"
#: 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 ""
"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)"
@@ -5034,15 +5153,13 @@ msgstr "Sesi kapat"
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"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ç), düz, tek-nod.\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."
@@ -5064,7 +5181,8 @@ msgstr ""
"Oyuncular katılındığında ve sunucu listesinde görüntülenecek sunucu adı."
#: src/settings_translation_file.cpp
-msgid "Near plane"
+#, fuzzy
+msgid "Near clipping plane"
msgstr "Düzleme yakın"
#: src/settings_translation_file.cpp
@@ -5116,19 +5234,32 @@ msgid "Number of emerge threads"
msgstr "Emerge iş sayısı"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'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"
+"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."
#: src/settings_translation_file.cpp
msgid ""
@@ -5146,7 +5277,7 @@ msgstr "Paralaks oklüzyon yineleme sayısı."
#: src/settings_translation_file.cpp
msgid "Online Content Repository"
-msgstr ""
+msgstr "Çevrimiçi İçerik Deposu"
#: src/settings_translation_file.cpp
msgid "Opaque liquids"
@@ -5222,14 +5353,12 @@ msgid "Physics"
msgstr "Fizik"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move key"
-msgstr "Eğim uçma tuşu"
+msgstr "EÄŸim hareket tuÅŸu"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Pitch move mode"
-msgstr "EÄŸim hareket kipi etkin"
+msgstr "EÄŸim hareket kipi"
#: src/settings_translation_file.cpp
msgid ""
@@ -5298,10 +5427,6 @@ msgid "Profiling"
msgstr "Profilleme"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-msgstr "İzdüşüm zindanlar"
-
-#: 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 "
@@ -5352,7 +5477,6 @@ msgid "Report path"
msgstr "Rapor konumu"
#: src/settings_translation_file.cpp
-#, fuzzy
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"
@@ -5366,13 +5490,15 @@ msgid ""
"READ_PLAYERINFO: 32 (disable get_player_names call client-side)"
msgstr ""
"Sunucularda belirli istemci tarafı fonksiyonların erişimini sınırlar\n"
-"Bu byte bayraklarını birleştirerek istemci tarafı özellikleri sınırlayın:\n"
+"Bu byte bayraklarını birleştirerek istemci tarafı özellikleri sınırlayın,\n"
+"veya sınırlama olmaması için 0'a ayarlayın:\n"
"LOAD_CLIENT_MODS: 1 (istemci modu yüklemeyi kapat)\n"
"CHAT_MESSAGES: 2 (send_chat_message çağrısını istemci-tarafı kapat)\n"
"READ_ITEMDEFS: 4 (get_item_def çağrısını istemci-tarafı kapat)\n"
"READ_NODEDEFS: 8 (get_node_def çağrısını istemci-tarafı kapat)\n"
"LOOKUP_NODES_LIMIT: 16 (get_node çağrısını istemci-tarafı\n"
-"csm_restriction_noderange'e sınırla)"
+"csm_restriction_noderange'e sınırla)\n"
+"READ_PLAYERINFO: 32 (get_player_names çağrısını istemci-tarafı kapat)"
#: src/settings_translation_file.cpp
msgid "Ridge mountain spread noise"
@@ -5399,6 +5525,16 @@ msgid "Rightclick repetition interval"
msgstr "Sağ tık tekrarlama aralığı"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel depth"
+msgstr "Nehir derinliÄŸi"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "Nehir derinliÄŸi"
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr "Nehir derinliÄŸi"
@@ -5411,6 +5547,11 @@ msgid "River size"
msgstr "Nehir boyutu"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "Nehir derinliÄŸi"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "Geri alma kaydı"
@@ -5748,6 +5889,10 @@ msgid "Sneaking speed"
msgstr "Sızma hızı"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Ses"
@@ -5889,7 +6034,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "The URL for the content repository"
-msgstr ""
+msgstr "İçerik deposu için URL"
#: src/settings_translation_file.cpp
msgid ""
@@ -6124,11 +6269,13 @@ msgid "Undersampling"
msgstr "Aşağı örnekleme"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"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"
@@ -6242,6 +6389,10 @@ msgid "Varies steepness of cliffs."
msgstr "Uçurumların dikliğini değiştirir."
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "Dikey ekran eşzamanlılığı."
@@ -6296,10 +6447,18 @@ msgstr ""
"Kabaca -2 ile 2 arası."
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking speed"
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 ""
+
+#: src/settings_translation_file.cpp
msgid "Water level"
msgstr "Su seviyesi"
@@ -6324,16 +6483,19 @@ msgid "Waving water"
msgstr "Dalgalanan su"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "Dalgalanan su yüksekliği"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "Dalgalanan su uzunluÄŸu"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Dalgalanan su hızı"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "Dalgalanan su hızı"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Dalgalanan su uzunluÄŸu"
#: src/settings_translation_file.cpp
msgid ""
@@ -6391,10 +6553,6 @@ msgstr ""
"derlenmiş olması gerekir."
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr "Zindanların bazen araziden yansıyıp yansımayacağı."
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
"Harita bloğu başına nod doku animasyonlarının eşzamansız yapılıp "
@@ -6502,10 +6660,6 @@ msgid "Y of upper limit of large caves."
msgstr "Büyük mağaraların üst sınırının Y'si."
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr "Büyük mağaralardaki lavın üst sınırının Y'si."
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr "Oyukların üstünden tam boyuta uzanacağı Y-uzaklığı."
@@ -6549,703 +6703,20 @@ msgstr "cURL paralel sınırı"
msgid "cURL timeout"
msgstr "cURL zaman aşımı"
-#~ msgid "Content Store"
-#~ msgstr "İçerik Mağazası"
-
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "Kullanılacak emerge iş sayısı.\n"
-#~ "Bu alanı boş veya 0 yapın ya da çoklu iş kullanmak için bu sayıyı "
-#~ "artırın.\n"
-#~ "Çok işlemcili sistemlerde, bu mapgen hızını, biraz hatalı mağaralar\n"
-#~ "pahasına, büyük ölçüde artıracaktır."
-
-#~ msgid "Pitch fly mode"
-#~ msgstr "Eğim uçma kipi"
-
-#~ msgid "Show non-free packages"
-#~ msgstr "Özgür olmayan paketleri göster"
-
-#~ msgid ""
-#~ "Show packages in the content store that do not qualify as 'free "
-#~ "software'\n"
-#~ "as defined by the Free Software Foundation."
-#~ msgstr ""
-#~ "İçerik mağazasında, Özgür Yazılım Vakfının tanımına göre 'özgür yazılım'\n"
-#~ "olarak nitelenemeyecek paketleri göster."
-
-#~ msgid "Disable MP"
-#~ msgstr "Mod paketini kapa"
-
-#~ msgid "Enable MP"
-#~ msgstr "Mod paketini aç"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Dünya adı verilmedi ya da oyun seçilmedi"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" geçerli bir bayrak değil."
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Ayraç içinde ve virgülle ayrılmış 3 sayı biçimindedir."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Biçim: <kaydırma>, <boyut>, (<yayılmaX>, <yayılmaY>, <yayılmaZ>), "
-#~ "<tohum>, <oktav>, <kalıcılık>"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "İstenirse lakuraniti öne gelen virgülle eklenebilir."
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Lütfen virgülle ayrılmış bir bayrak listesi girin."
-
-#~ msgid "Possible values are: "
-#~ msgstr "Olası değerler: "
-
-#~ msgid "Select path"
-#~ msgstr "Konumu seçin"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Alt Oyun Modları"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "$2 sayfadan $1"
-
-#~ msgid "Rating"
-#~ msgstr "Rating"
-
-#~ msgid "Shortname:"
-#~ msgstr "Kısa ad:"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "Başarıyla kuruldu:"
-
-#~ msgid "Unsorted"
-#~ msgstr "Sırasız"
-
-#~ msgid "re-Install"
-#~ msgstr "yeniden kur"
-
-#~ msgid "Local Game"
-#~ msgstr "Yerel Oyun"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Seçili mod paketini kaldır"
-
-#~ msgid "Play Online"
-#~ msgstr "Çevrim İçi Oyna"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "Dikey EÅŸleme"
-
-#~ msgid "No information available"
-#~ msgstr "Bulunan bilgi yok"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "Ses 0/100'e deÄŸiÅŸti"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "Ses 100/100'e deÄŸiÅŸti"
-
-#~ msgid "Print stacks"
-#~ msgstr "Yığınları yazdır"
-
-#~ msgid "Use"
-#~ msgstr "Kullan"
-
-#~ msgid "Next"
-#~ msgstr "Sonraki"
-
-#~ msgid "Prior"
-#~ msgstr "Önceki"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "Etkin Blok Değiştirici aralığı"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "Sadece android sistemleri: Desteklenen bir işleyici bulunamadığında\n"
-#~ "envanter dokularını ızgaralardan yaratmayı dener."
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "Bu sunucu listesine duyur.\n"
-#~ "Eğer ipv6 adresinizi duyurmak istiyorsanız, serverlist_url = v6.servers."
-#~ "minetest.net kullanın."
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "Fraktalın nod cinsinde yaklaşık (X, Y, Z) boyutu."
-
-#~ msgid "Autorun key"
-#~ msgstr "KendiliÄŸinden koÅŸma tuÅŸu"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "Mağaralar ve tüneller iki gürültünün kesişiminde oluşur"
-
-#~ msgid "Cloud height"
-#~ msgstr "Bulut yüksekliği"
-
-#~ msgid "Console key"
-#~ msgstr "Konsol tuÅŸu"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "Sürekli ileri hareket (sadece test için)."
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Mağaralarda öngörülemeyen lav özellikleri yaratır.\n"
-#~ "Bu madenciliği zorlaştırabilir. Sıfır devre dışı bırakır. (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "Mağaralarda öngörülemeyen su özellikleri yaratır.\n"
-#~ "Bu madenciliği zorlaştırabilir. Sıfır devre dışı bırakır. (0-10)"
-
-#~ msgid "Crouch speed"
-#~ msgstr "Eğilme hızı"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "Aşağısında devasa mağaralar bulabileceğiniz derinlik."
-
-#~ msgid "Descending speed"
-#~ msgstr "Düşme hızı"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "Çıkış dizilerini devre dışı bırak"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "Çıkış dizilerini devre dışı bırak, ör: sohbet renkleri.\n"
-#~ "Bu 0.4.14 öncesi istemciler ile bir sunucu çalıştırmak ve modlar "
-#~ "tarafından üretilen çıkış dizilerini devre dışı bırakmak istiyorsanız "
-#~ "bunu kullanın."
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "Görünüm sallanmasını etkinleştir"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "Yürürken görünüm sallanmasını etkinleştirir."
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "Yakınlaştırma için görüş alanı"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "Yakınlaştırırken derece olarak görüş alanı.\n"
-#~ "Bu sunucu üzerinde \"zoom\" ayrıcalığı gerektirir."
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr ""
-#~ "Harita blokları (16 nod) cinsinden istemcilerin ne kadar uzaklıktan "
-#~ "nesneleri bilecekleri."
-
-#~ msgid "General"
-#~ msgstr "Genel"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "Bulutların ortaya çıkacağı yükseklik."
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "Harita blokları (16 nod) cinsinden etkin blok durumuna gelen blok "
-#~ "alanının genişliği\n"
-#~ "Etkin bloklardaki nesneler yüklenir ve ABM çalışır."
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "Etkinse, sunucu durum mesajını oyuncu bağlanınca göster."
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Envanter resim hack'i"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "Özyinelemeli fonksiyon yinelemelerini.\n"
-#~ "İnce detay miktarını denetler."
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Sohbet konsolunu açma tuşu.\n"
-#~ "Bakın: http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "Hata ayıklama yığınlarını yazdırma tuşu. Geliştirme için kullanılır.\n"
-#~ "Bakın: http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid "Lava Features"
-#~ msgstr "Lav Özellikleri"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "Ana menü oyun yöneticisi"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "Ana menü mod yöneticisi"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Mapgen vadilerine özgü harita üretme değerleri.\n"
-#~ "'altitude_chill' yüksek seviyeleri daha soğuk yapar, bu biyom sorunlarına "
-#~ "neden olabilir.\n"
-#~ "'humid_rivers' nehirlerin ve suların toplandığı bölegelerin çevresinde "
-#~ "nemi artırır.\n"
-#~ "Bayrak karakter dizisinde belirtilmeyen bayraklar varsayılandan "
-#~ "deÄŸiÅŸtirilmez.\n"
-#~ "'no' ile başlayan bayraklar onları devre dışı bırakır."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Mapgen v7'ye özgü harita üretme değerleri.\n"
-#~ "'ridges' bayrağı nehirleri etkinleştirir.\n"
-#~ "Yüzenkaralar henüz deneyseldir ve değişebilirler.\n"
-#~ "Bayrak karakter dizisinde belirtilmeyen bayraklar varsayılandan "
-#~ "deÄŸiÅŸtirilmez.\n"
-#~ "'no' ile başlayan bayraklar onları devre dışı bırakır."
-
-#~ msgid "Massive cave depth"
-#~ msgstr "Devasa maÄŸara derinliÄŸi"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "Devasa mağara gürültüsü"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "Devasa maÄŸaralar burada oluÅŸuyor."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr "Aynı anda toplamda gönderilen maksimum blok sayısı ."
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr "Aynı anda istemci başına gönderilen maksimum blok sayısı."
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "Maksimum toplam eşzamanlı blok gönderimi"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "Modstore ayrıntı URL'si"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "Modstore indirme URL'si"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Modstore mod liste URL'si"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "Yeni bir dünya yaratılırken kullanılacak harita üreteci adı.\n"
-#~ "Ana menüde bir dünya yaratmak bunu geçersiz kılar."
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "Nehir gürültüsü -- nehirler sıfıra yakın oluşur"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr ""
-#~ "Harita blokları (16 nod) cinsinden bir kerede mapgen tarafından üretilen "
-#~ "yığınların boyutu."
-
-#~ msgid "Support older servers"
-#~ msgstr "Eski sunucuları destekle"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "Sıcaklığın 20C birden düşeceği yükseklik"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Irrlicht için işleme arka ucu."
-
-#~ msgid "Use key"
-#~ msgstr "Kullan tuÅŸu"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr ""
-#~ "Dokuları boyutlandırırken mip eşleme kullan. Performansı biraz "
-#~ "artırabilir."
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "Vadi C Bayrakları"
-
-#~ msgid "Water Features"
-#~ msgstr "Su Özellikleri"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "Protokol sürümü 25'ten önceki sunucuların desteklenip desteklenmeyeceği.\n"
-#~ "0.4.12 ve önceki sunuculara bağlanmak için etkinleştirin.\n"
-#~ "0.4.13 ile başlayan sunucular çalışır, 0.4.12-dev sunucuları "
-#~ "çalışabilir.\n"
-#~ "Bu seçeneği devre dışı bırakmak şifrenizi daha iyi korur."
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "Daha yüksek (uçurum-tepesi) arazinin Y-seviyesi."
-
-#~ msgid "Hide mp content"
-#~ msgstr "MP içeriğini gizle"
-
-#~ msgid "Attn"
-#~ msgstr "Dikkat"
-
-#~ msgid "Capital"
-#~ msgstr "Büyük"
-
-#~ msgid "Comma"
-#~ msgstr "Virgül"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
+#~ msgid "Projecting dungeons"
+#~ msgstr "İzdüşüm zindanlar"
-#~ msgid "Final"
-#~ msgstr "BitiÅŸ"
+#~ msgid "Whether dungeons occasionally project from the terrain."
+#~ msgstr "Zindanların bazen araziden yansıyıp yansımayacağı."
-#~ msgid "Junja"
-#~ msgstr "Junja"
+#~ msgid "Waving Water"
+#~ msgstr "Dalgalanan Su"
-#~ msgid "Kana"
-#~ msgstr "Kana"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "Büyük mağaralardaki lavın üst sınırının Y'si."
-#~ msgid "Kanji"
-#~ msgstr "Kanji"
+#~ msgid "Select Package File:"
+#~ msgstr "Paket Dosyası Seç:"
-#~ msgid "Minus"
-#~ msgstr "Eksi"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Period"
-#~ msgstr "Nokta"
-
-#~ msgid "Plus"
-#~ msgstr "Artı"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "Mapgen v6'da çöllerin ve plajların boyutunu denetler.\n"
-#~ "Kar biyomları etkin ise 'mgv6_freq_desert' yok sayılır."
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "Arazi ÅŸeklini belirler.\n"
-#~ "Parantez içinde 3 rakam arazi boyutunu kontrol eder,\n"
-#~ "3 rakam aynı olmalıdır."
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Mapgen biyom ısı gürültü parametreleri"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Mapgen biyom nem karıştırma gürültü parametreleri"
-
-#~ msgid "Mapgen biome humidity noise parameters"
-#~ msgstr "Mapgen biyom nem gürültü parametreleri"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Mapgen düz mağara genişliği"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "Mapgen düz mağara1 gürültü parametreleri"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "Mapgen düz mağara2 gürültü parametreleri"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr "Mapgen düz doldurma derinlik gürültü parametreleri"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Mapgen düz büyük mağara derinliği"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Mapgen düz arazi gürültü parametreleri"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Mapgen fraktal maÄŸara geniÅŸliÄŸi"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Mapgen fraktal mağara1 gürültü parametreleri"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Mapgen fraktal mağara2 gürültü parametreleri"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr "Mapgen fraktal doldurma derinlik gürültü parametreleri"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Mapgen fraktal fraktal"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Mapgen fraktal yinelemesi"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "Mapgen fraktal julia w"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "Mapgen fraktal julia x"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Mapgen fraktal julia y"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Mapgen fraktal julia z"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Mapgen fraktal kaydırma"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Mapgen fraktal boyutu"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Mapgen fraktal deniz dibi gürültü parametreleri"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Mapgen fraktal dilim w"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Mapgen v5 maÄŸara geniÅŸliÄŸi"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "Mapgen v5 mağara1 gürültü parametreleri"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "Mapgen v5 mağara2 gürültü parametreleri"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Mapgen v5 faktör gürültü parametreleri"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr "Mapgen v5 doldurma derinlik gürültü parametreleri"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Mapgen v5 yükseklik gürültü parametreleri"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Mapgen v6 elma ağaçları gürültü parametreleri"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Mapgen v6 sahil frekansı"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Mapgen v6 sahil gürültü parametreleri"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Mapgen v6 biyom gürültü parametreleri"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Mapgen v6 mağara gürültü parametreleri"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Mapgen v6 çöl frekansı"
-
-#~ msgid "Mapgen v6 mud noise parameters"
-#~ msgstr "Mapgen v6 çamur gürültü parametreleri"
-
-#~ msgid "Mapgen v6 steepness noise parameters"
-#~ msgstr "Mapgen v6 diklik gürültü parametreleri"
-
-#~ msgid "Mapgen v6 terrain altitude noise parameters"
-#~ msgstr "Mapgen v6 arazi yükseklik gürültü parametreleri"
-
-#~ msgid "Mapgen v6 terrain base noise parameters"
-#~ msgstr "Mapgen v6 arazi taban gürültü parametreleri"
-
-#~ msgid "Mapgen v6 trees noise parameters"
-#~ msgstr "Mapgen v6 ağaç gürültü parametreleri"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Mapgen v7 maÄŸara geniÅŸliÄŸi"
-
-#~ msgid "Mapgen v7 cave1 noise parameters"
-#~ msgstr "Mapgen v7 mağara1 gürültü parametreleri"
-
-#~ msgid "Mapgen v7 cave2 noise parameters"
-#~ msgstr "Mapgen v7 mağara2 gürültü parametreleri"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr "Mapgen v7 doldurma derinlik gürültü parametreleri"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Mapgen v7 yükseklik seçme gürültü parametreleri"
-
-#~ msgid "Mapgen v7 mountain noise parameters"
-#~ msgstr "Mapgen v7 dağ gürültü parametreleri"
-
-#~ msgid "Mapgen v7 ridge noise parameters"
-#~ msgstr "Mapgen v7 sırt gürültü parametreleri"
-
-#~ msgid "Mapgen v7 ridge water noise parameters"
-#~ msgstr "Mapgen v7 sırt su gürültü parametreleri"
-
-#~ msgid "Mapgen v7 terrain altitude noise parameters"
-#~ msgstr "Mapgen v7 arazi yükseklik gürültü parametreleri"
-
-#~ msgid "Mapgen v7 terrain base noise parameters"
-#~ msgstr "Mapgen v7 arazi taban gürültü parametreleri"
-
-#~ msgid "Mapgen v7 terrain persistation noise parameters"
-#~ msgstr "Mapgen v7 arazi sürdürme gürültü parametreleri"
-
-#~ msgid ""
-#~ "Noise parameters for biome API temperature, humidity and biome blend."
-#~ msgstr ""
-#~ "Biyom API'si sıcaklık, nem ve biyom karıştırma için gürültü parametreleri."
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "Harita olşturucunun nerede duracağı.\n"
-#~ "Lütfen dikkat:\n"
-#~ "- 31000 sınırdır (yukarıdaki ayar etkisizdir)\n"
-#~ "- harita oluşturucu grupları 80 x 80 x 80 nod (5 x 5 x 5 harita-bloğu) "
-#~ "ile çalışır.\n"
-#~ "- Bu grupların merkezden -32, -32 nod kayması vardır.\n"
-#~ "- Sadece map_generation_limit içinde grupları oluşturulur"
-
-#, fuzzy
-#~ msgid "Useful for mod developers."
-#~ msgstr "Ana geliÅŸtiriciler"
-
-#~ msgid "No of course not!"
-#~ msgstr "Elbette hayır!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "Çevirimiçi Oyun Listesi"
-
-#~ msgid "No!!!"
-#~ msgstr "Hayır!!!"
-
-#~ msgid "\""
-#~ msgstr "\""
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "EtkinleÅŸtirildi"
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "Değişikliklerin etkin olabilmesi için minetesti yeniden başlatın"
-
-#~ msgid " MB/s"
-#~ msgstr " MB/s"
-
-#~ msgid " KB/s"
-#~ msgstr " KB/s"
-
-#~ msgid "please wait..."
-#~ msgstr "lütfen bekleyin..."
-
-#~ msgid "Downloading"
-#~ msgstr "İndiriliyor"
-
-#~ msgid "Touch free target"
-#~ msgstr "Touch free target"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "Ölçeklendirme menülere işlendi:"
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "Dokular yükleniyor..."
-
-#~ msgid "Advanced Settings"
-#~ msgstr "GeliÅŸmiÅŸ Ayarlar"
-
-#~ msgid "View"
-#~ msgstr "Göster"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Mapgen v7'ye özgü harita üretim değerleri.\n"
-#~ "'ridges' nehirleri etkinleÅŸtirir.\n"
-#~ "Etkinleştirilmemiş bayraklar öntanımlıdan değiştirilmez.\n"
-#~ "'no' ile başlayan bayraklar onları devre dışı bırakır."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Mapgen v5'e özgü harita üretim değerleri.\n"
-#~ "Etkinleştirilmemiş bayraklar öntanımlıdan değiştirilmez.\n"
-#~ "'no' ile başlayan bayraklar onları devre dışı bırakır."
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "Mapgen Karpat'a özgü harita üretim değerleri.\n"
-#~ "Etkinleştirilmemiş bayraklar öntanımlıdan değiştirilmez.\n"
-#~ "'no' ile başlayan bayraklar onları devre dışı bırakır."
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Sinematik Aç/Kapa"
diff --git a/po/uk/minetest.po b/po/uk/minetest.po
index 41dfc5117..af3a5d00d 100644
--- a/po/uk/minetest.po
+++ b/po/uk/minetest.po
@@ -1,19 +1,19 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Ukrainian (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-14 07:46+0100\n"
-"PO-Revision-Date: 2019-02-20 07:24+0000\n"
-"Last-Translator: Fixer <artem.brz@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Ukrainian <https://hosted.weblate.org/projects/minetest/"
"minetest/uk/>\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.5-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.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -24,7 +24,8 @@ msgid "You died"
msgstr "Ви загинули"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "ТрапилаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° у Lua Ñкрипті модифікації:"
#: builtin/fstk/ui.lua
@@ -120,13 +121,28 @@ msgid "Mod:"
msgstr "Мод:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+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 "Без залежноÑтей."
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
msgstr "ÐžÐ¿Ð¸Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— відÑутній."
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Ðеобов'Ñзкові залежноÑті:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "Ðеобов'Ñзкові залежноÑті:"
@@ -368,7 +384,7 @@ msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” бути не більше $1."
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X"
-msgstr ""
+msgstr "Ð¥"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "X spread"
@@ -485,10 +501,6 @@ msgid "Rename"
msgstr "Перейменувати"
#: builtin/mainmenu/tab_content.lua
-msgid "Select Package File:"
-msgstr "Виберіть файл пакунку:"
-
-#: builtin/mainmenu/tab_content.lua
msgid "Uninstall Package"
msgstr "Видалити пакунок"
@@ -773,12 +785,13 @@ msgid "Waving Leaves"
msgstr "Коливати лиÑÑ‚Ñ"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "Коливати квіти"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "Блоки, що коливаютьÑÑ"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "Коливати воду"
+msgid "Waving Plants"
+msgstr "Коливати квіти"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -901,11 +914,13 @@ msgid "- Server Name: "
msgstr "- Ðазва Ñервера: "
#: src/client/game.cpp
-msgid "Automatic forwards disabled"
+#, fuzzy
+msgid "Automatic forward disabled"
msgstr "Ðвтоматичний рух вперед вимкнено"
#: src/client/game.cpp
-msgid "Automatic forwards enabled"
+#, fuzzy
+msgid "Automatic forward enabled"
msgstr "Ðвтоматичний рух вперед увімкнено"
#: src/client/game.cpp
@@ -1519,19 +1534,19 @@ msgid "Register and Join"
msgstr "ЗареєÑтруватиÑÑ Ñ– увійти"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
"Ви збираєтеÑÑ Ð²Ð¿ÐµÑ€ÑˆÐµ підключитиÑÑ Ð´Ð¾ Ñервера %1$s з іменем %2$s. Якщо ви "
"продовжите, буде Ñтворено новий ігровий профіль на даному Ñервері з вашим "
"іменем/паролем.\n"
-"Будь-лаÑка введіть повторно ваш пароль Ñ– натиÑніть \"ЗареєÑтруватиÑÑ Ñ– "
-"увійти\", або \"СкаÑувати\", Ñкщо ви проти."
+"Будь-лаÑка введіть повторно ваш пароль Ñ– натиÑніть \"ЗареєÑтруватиÑÑ Ñ– увійти"
+"\", або \"СкаÑувати\", Ñкщо ви проти."
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
@@ -1648,10 +1663,6 @@ msgid "Special"
msgstr "Спеціальна"
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "Кінематографічний режим"
-
-#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle HUD"
msgstr "Увімкнути HUD"
@@ -1680,6 +1691,11 @@ msgid "Toggle noclip"
msgstr "Прохід крізь Ñтіни"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "Увімкнути чат (журнал)"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "виберіть"
@@ -1788,6 +1804,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "Об'ємні хмари"
@@ -1818,6 +1838,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"3D support.\n"
"Currently supported:\n"
@@ -1858,6 +1882,10 @@ msgid "Acceleration in air"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr ""
@@ -1979,7 +2007,8 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Automatic forwards key"
+#, fuzzy
+msgid "Automatic forward key"
msgstr "Клавіша автоматичного руху вперед"
#: src/settings_translation_file.cpp
@@ -2064,7 +2093,7 @@ msgstr "Бамп-маппінг"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2149,6 +2178,10 @@ msgid "Chat message count limit"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Chat message kick threshold"
msgstr ""
@@ -2276,7 +2309,12 @@ msgid "Console height"
msgstr "ВиÑота конÑолі"
#: src/settings_translation_file.cpp
-msgid "Content Store"
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "ContentDB URL"
msgstr "Додатки"
#: src/settings_translation_file.cpp
@@ -2301,6 +2339,10 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr ""
@@ -2359,6 +2401,10 @@ msgid "Debug info toggle key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr ""
@@ -2367,6 +2413,10 @@ msgid "Dec. volume key"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr ""
@@ -2449,10 +2499,22 @@ msgid "Defines the base ground level."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr ""
@@ -2475,6 +2537,12 @@ msgid "Deprecated Lua API handling"
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 "Depth below which you'll find giant caverns."
msgstr ""
@@ -2495,7 +2563,7 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
#: src/settings_translation_file.cpp
@@ -2543,6 +2611,10 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2853,6 +2925,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr ""
@@ -2968,9 +3047,7 @@ msgstr ""
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.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"and junglegrass, in all other mapgens this flag controls all decorations."
msgstr ""
#: src/settings_translation_file.cpp
@@ -3079,6 +3156,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr ""
@@ -3329,6 +3424,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr ""
@@ -3357,6 +3460,10 @@ msgid "Inc. volume key"
msgstr "Збільшити гучніÑть"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4121,7 +4228,7 @@ msgid "Liquid queue purge time"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4177,10 +4284,7 @@ msgid "Map directory"
msgstr "Тека мапи"
#: src/settings_translation_file.cpp
-msgid ""
-"Map generation attributes specific to Mapgen Carpathian.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+msgid "Map generation attributes specific to Mapgen Carpathian."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4196,34 +4300,32 @@ 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.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"'terrain' enables the generation of non-fractal terrain:\n"
+"ocean, islands and underground."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Map generation attributes specific to Mapgen v5.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"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 "Map generation attributes specific to Mapgen v5."
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 new biome system is enabled jungles are automatically enabled and\n"
-"the 'jungles' flag is ignored.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
+"the 'jungles' flag is ignored."
msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Map generation attributes specific to Mapgen v7.\n"
-"'ridges' enables the rivers.\n"
-"Flags that are not enabled are not modified from the default.\n"
-"Flags starting with 'no' are used to explicitly disable them."
+"'ridges' enables the rivers."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4271,6 +4373,11 @@ msgid "Mapgen Fractal"
msgstr "Генератор Ñвіту: фрактальний"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Генератор Ñвіту: фрактальний"
+
+#: src/settings_translation_file.cpp
msgid "Mapgen V5"
msgstr "Генератор Ñвіту: V5"
@@ -4352,6 +4459,12 @@ 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 ""
"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)"
@@ -4536,10 +4649,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), flat, singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4555,7 +4666,7 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4607,16 +4718,18 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4704,7 +4817,8 @@ msgid "Physics"
msgstr "Фізика"
#: src/settings_translation_file.cpp
-msgid "Pitch fly key"
+#, fuzzy
+msgid "Pitch move key"
msgstr "Кнопка польоту"
#: src/settings_translation_file.cpp
@@ -4768,10 +4882,6 @@ msgid "Profiling"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -4855,6 +4965,15 @@ msgid "Rightclick repetition interval"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel depth"
+msgstr "Глибина великих печер"
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "River depth"
msgstr ""
@@ -4867,6 +4986,10 @@ msgid "River size"
msgstr ""
#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr ""
@@ -5151,6 +5274,10 @@ msgid "Sneaking speed"
msgstr "ШвидкіÑть підкраданнÑ"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "Звук"
@@ -5459,10 +5586,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5565,6 +5693,10 @@ msgid "Varies steepness of cliffs."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr ""
@@ -5614,10 +5746,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr ""
@@ -5642,16 +5782,19 @@ msgid "Waving water"
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Waving water height"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave height"
+msgstr "Коливати воду"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr ""
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "Коливати лиÑÑ‚Ñ"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr ""
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "Коливати воду"
#: src/settings_translation_file.cpp
msgid ""
@@ -5687,10 +5830,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5773,10 +5912,6 @@ msgid "Y of upper limit of large caves."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Y of upper limit of lava in large caves."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -5820,215 +5955,11 @@ msgstr ""
msgid "cURL timeout"
msgstr ""
-#~ msgid "Advanced Settings"
-#~ msgstr "Додаткові налаштуваннÑ"
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚ÐµÐºÑтур..."
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "МаÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ñ–Ð² меню: "
-
-#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "Вниз"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr ""
-#~ "Ліва кнопка миші: ПереміÑтити уÑÑ– предмети, Права кнопка миші: "
-#~ "ПереміÑтити один предмет"
-
-#~ msgid "is required by:"
-#~ msgstr "необхідний длÑ:"
-
-#~ msgid "Configuration saved. "
-#~ msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾. "
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "ПопередженнÑ: Помилкова конфігураціÑ. "
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "Ðеможливо Ñтворити Ñвіт: Ім'Ñ Ð¼Ñ–Ñтить недопуÑтимі Ñимволи"
-
-#~ msgid "Show Public"
-#~ msgstr "Показати Публічні"
-
-#~ msgid "Show Favorites"
-#~ msgstr "Показати Улюблені"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "Залишіть адреÑу незаповненою Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñерверу."
-
-#~ msgid "Create world"
-#~ msgstr "Створити Ñвіт"
-
-#~ msgid "Address required."
-#~ msgstr "ÐдреÑа необхідна."
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "Ðеможливо видалити Ñвіт: Ðічого не вибрано"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "Файлів, що підлÑгають видаленню"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "Ðеможливо Ñтворити Ñвіт: Ðе знайдено жодної гри"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "Ðеможливо налаштувати Ñвіт: Ðічого не вибрано"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "Помилка при видаленні файлів Ñвіту"
-
-#, fuzzy
-#~ msgid "Finite Liquid"
-#~ msgstr "Кінцеві рідини"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "Попереднє Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½ÑŒ"
-
-#, fuzzy
-#~ msgid "Password"
-#~ msgstr "Старий Пароль"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "Увімкнено"
-
-#~ msgid "No!!!"
-#~ msgstr "ÐÑ–!!!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "СпиÑок публічних Ñерверів"
-
-#~ msgid "No of course not!"
-#~ msgstr "ÐÑ–, звіÑно ні!"
-
-#~ msgid "Plus"
-#~ msgstr "ПлюÑ"
-
-#~ msgid "Period"
-#~ msgstr "Крапка"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Minus"
-#~ msgstr "МінуÑ"
-
-#~ msgid "Final"
-#~ msgstr "Кінець"
-
-#~ msgid "Comma"
-#~ msgstr "Кома"
-
-#~ msgid "Capital"
-#~ msgstr "Caps Lock"
-
-#~ msgid "Attn"
-#~ msgstr "Увага"
-
-#~ msgid "Hide mp content"
-#~ msgstr "Сховати вміÑÑ‚ модпаку"
-
-#~ msgid "Lava Features"
-#~ msgstr "ОÑобливоÑті лави"
-
-#~ msgid "Inventory image hack"
-#~ msgstr "Хак Ð´Ð»Ñ Ñ–Ð½Ð²ÐµÐ½Ñ‚Ð°Ñ€Ð½Ð¸Ñ… риÑунків"
-
-#~ msgid "Console key"
-#~ msgstr "КонÑоль"
-
-#~ msgid "Cloud height"
-#~ msgstr "ВиÑота хмар"
-
-#~ msgid "Prior"
-#~ msgstr "Page Up"
-
-#~ msgid "Next"
-#~ msgstr "Next"
-
-#~ msgid "Use"
-#~ msgstr "ВикориÑтати"
-
-#~ msgid "Print stacks"
-#~ msgstr "Ðадрукувати Ñтак"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "ГучніÑть 100%"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "ГучніÑть 0%"
-
-#~ msgid "No information available"
-#~ msgstr "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð²Ñ–Ð´ÑутнÑ"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "ТекÑÑ‚ÑƒÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð¾Ñ€Ð¼Ð°Ð»Ñ–Ð²"
-
-#~ msgid "Play Online"
-#~ msgstr "Мережа"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "Видалити обрану збірку модифікацій"
-
-#~ msgid "Local Game"
-#~ msgstr "Локальна гра"
-
-#~ msgid "re-Install"
-#~ msgstr "ПеревÑтановити"
-
-#~ msgid "Unsorted"
-#~ msgstr "ÐевідÑортоване"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "УÑпішно вÑтановлено:"
-
-#~ msgid "Shortname:"
-#~ msgstr "Коротка назва:"
-
-#~ msgid "Rating"
-#~ msgstr "Оцінка"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "Сторінка $1 з $2"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "Вбудовані моди"
-
-#~ msgid "Select path"
-#~ msgstr "Вибрати шлÑÑ…"
-
-#~ msgid "Possible values are: "
-#~ msgstr "Можливі значеннÑ: "
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "Будь-лаÑка введіть перелік параметрів через кому."
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "За бажаннÑм лакунарніÑть може бути доповнена комою попереду."
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "Формат: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "Формат: 3 номера, відокремлених комами Ñ– вÑередині дужок."
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" не є правильним параметром."
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "Ðазву Ñвіту не задано або не обрано гру"
-
-#~ msgid "Enable MP"
-#~ msgstr "Увімкнути модпак"
+#~ msgid "Select Package File:"
+#~ msgstr "Виберіть файл пакунку:"
-#~ msgid "Disable MP"
-#~ msgstr "Вимкнути модпак"
+#~ msgid "Content Store"
+#~ msgstr "Додатки"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "Кінематографічний режим"
diff --git a/po/vi/minetest.po b/po/vi/minetest.po
new file mode 100644
index 000000000..3cf65723f
--- /dev/null
+++ b/po/vi/minetest.po
@@ -0,0 +1,5898 @@
+msgid ""
+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 <EMAIL@ADDRESS>\n"
+"Language-Team: Vietnamese <https://hosted.weblate.org/projects/minetest/"
+"minetest/vi/>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"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"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "Respawn"
+msgstr "Hồi sinh"
+
+#: builtin/client/death_formspec.lua src/client/game.cpp
+msgid "You died"
+msgstr "Bạn đã chết"
+
+#: builtin/fstk/ui.lua
+#, fuzzy
+msgid "An error occurred in a Lua script:"
+msgstr "Äã xảy ra lá»—i trong tập lệnh Lua, chẳng hạn như mod:"
+
+#: builtin/fstk/ui.lua
+msgid "An error occurred:"
+msgstr "Xảy ra lỗi:"
+
+#: builtin/fstk/ui.lua
+msgid "Main menu"
+msgstr "Thực đơn chính"
+
+#: builtin/fstk/ui.lua
+msgid "Ok"
+msgstr "ÄÆ°á»£c"
+
+#: builtin/fstk/ui.lua
+msgid "Reconnect"
+msgstr "Kết nối lại"
+
+#: builtin/fstk/ui.lua
+msgid "The server has requested a reconnect:"
+msgstr "Máy chủ đã yêu cầu kết nối lại:"
+
+#: builtin/mainmenu/common.lua src/client/game.cpp
+msgid "Loading..."
+msgstr "Tải..."
+
+#: builtin/mainmenu/common.lua
+msgid "Protocol version mismatch. "
+msgstr "Phiên bản giao thức không khớp "
+
+#: builtin/mainmenu/common.lua
+msgid "Server enforces protocol version $1. "
+msgstr "Máy chủ thực thi phiên bản giao thức $1. "
+
+#: builtin/mainmenu/common.lua
+msgid "Server supports protocol versions between $1 and $2. "
+msgstr "Máy chủ hỗ trợ các phiên bản giao thức trong khoảng từ $1 đến $2. "
+
+#: builtin/mainmenu/common.lua
+msgid "Try reenabling public serverlist and check your internet connection."
+msgstr ""
+"Hãy thử kích hoạt lại danh sách máy chủ công cộng và kiểm tra kết nối "
+"internet của bạn."
+
+#: builtin/mainmenu/common.lua
+msgid "We only support protocol version $1."
+msgstr "Chúng tôi chỉ hỗ trợ phiên bản giao thức $1."
+
+#: builtin/mainmenu/common.lua
+msgid "We support protocol versions between version $1 and $2."
+msgstr "Chúng tôi hỗ trợ các phiên bản giao thức giữa phiên bản $1 đến $2."
+
+#: 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 "Há»§y bá»"
+
+#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
+msgid "Dependencies:"
+msgstr "Phụ thuộc:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable all"
+msgstr "Vô hiệu hóa tất cả"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Disable modpack"
+msgstr "Vô hiệu hóa modpack"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable all"
+msgstr "Cho phép tất cả"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Enable modpack"
+msgstr "Kích hoạt modpack"
+
+#: 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 ""
+"Không thể bật mod \"$ 1\" vì nó chứa các ký tự không được phép. Chỉ cho phép "
+"các ký tự [a-z0-9_]."
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "Mod:"
+msgstr "Mod:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "Phụ thuá»™c tùy chá»n:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No game description provided."
+msgstr "Không có mô tả trò chơi được cung cấp."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No hard dependencies"
+msgstr "Phụ thuá»™c tùy chá»n:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "No modpack description provided."
+msgstr "Không có mô tả modpack được cung cấp."
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+msgstr "Phụ thuá»™c tùy chá»n:"
+
+#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
+msgid "Optional dependencies:"
+msgstr "Phụ thuá»™c tùy chá»n:"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
+msgid "Save"
+msgstr "Tiết kiệm"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "World:"
+msgstr "Thế giới"
+
+#: builtin/mainmenu/dlg_config_world.lua
+msgid "enabled"
+msgstr "kích hoạt"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "All packages"
+msgstr "Tất cả các gói"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Back to Main Menu"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Downloading and installing $1, please wait..."
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Failed to download $1"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Games"
+msgstr "Trò chơi"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Install"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Mods"
+msgstr "Mod"
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No packages could be retrieved"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "No results"
+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 "Texture packs"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Uninstall"
+msgstr ""
+
+#: builtin/mainmenu/dlg_contentstore.lua
+msgid "Update"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "A world named \"$1\" already exists"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "Create"
+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 "Download one from minetest.net"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Game"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua src/settings_translation_file.cpp
+msgid "Mapgen"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "No game selected"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Seed"
+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 "World name"
+msgstr ""
+
+#: builtin/mainmenu/dlg_create_world.lua
+msgid "You have no games installed."
+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 "Rename Modpack:"
+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_settings_advanced.lua
+msgid "(No description of setting given)"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "2D Noise"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "< Back to Settings page"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Browse"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Disabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Edit"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Enabled"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Lacunarity"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Octaves"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Offset"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Persistance"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid integer."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Please enter a valid number."
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Restore Default"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua src/settings_translation_file.cpp
+msgid "Scale"
+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 "Show technical names"
+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 "X"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "X spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Y spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "Z spread"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "absvalue"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "defaults"
+msgstr ""
+
+#: builtin/mainmenu/dlg_settings_advanced.lua
+msgid "eased"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 (Enabled)"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "$1 mods"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Failed to install $1 to $2"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find real mod name for: $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install Mod: Unable to find suitable folder name for modpack $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: Unsupported file type \"$1\" or broken archive"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Install: file: \"$1\""
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to find a valid mod or modpack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a $1 as a texture pack"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a game as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a mod as a $1"
+msgstr ""
+
+#: builtin/mainmenu/pkgmgr.lua
+msgid "Unable to install a modpack as a $1"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Browse online content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Content"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Disable Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Information:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Installed Packages:"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "No dependencies."
+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 "Uninstall Package"
+msgstr ""
+
+#: builtin/mainmenu/tab_content.lua
+msgid "Use Texture Pack"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Active Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Credits"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Contributors"
+msgstr ""
+
+#: builtin/mainmenu/tab_credits.lua
+msgid "Previous Core Developers"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Announce Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Bind Address"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Configure"
+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 Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Host Server"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Name/Password"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "New"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "No world created or selected!"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Play Game"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Port"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Select World:"
+msgstr ""
+
+#: builtin/mainmenu/tab_local.lua
+msgid "Server Port"
+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 "Connect"
+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 "Del. Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "Favorite"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua
+msgid "Join Game"
+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 "Ping"
+msgstr ""
+
+#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
+msgid "PvP enabled"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "2x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "3D Clouds"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "4x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "8x"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "All Settings"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Antialiasing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Are you sure to reset your singleplayer world?"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Autosave Screen Size"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Bump Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/client/game.cpp
+msgid "Change Keys"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Connected Glass"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Fancy Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Generate Normal Maps"
+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 "No"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "No Mipmap"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Highlighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Node Outlining"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "None"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Opaque Water"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Parallax Occlusion"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Particles"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Reset singleplayer world"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Screen:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Settings"
+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 "Simple Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Smooth Lighting"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Texturing:"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "To enable shaders the OpenGL driver needs to be used."
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua src/settings_translation_file.cpp
+msgid "Tone Mapping"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Touchthreshold: (px)"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Trilinear Filter"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Leaves"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Liquids"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Waving Plants"
+msgstr ""
+
+#: builtin/mainmenu/tab_settings.lua
+msgid "Yes"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Config mods"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Main"
+msgstr ""
+
+#: builtin/mainmenu/tab_simple_main.lua
+msgid "Start Singleplayer"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Connection timed out."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Done!"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes"
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Initializing nodes..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Loading textures..."
+msgstr ""
+
+#: src/client/client.cpp
+msgid "Rebuilding shaders..."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Connection error (timed out?)"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Could not find or load game \""
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Invalid gamespec."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Main Menu"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "No world selected and no address provided. Nothing to do."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Player name too long."
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Please choose a name!"
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided password file failed to open: "
+msgstr ""
+
+#: src/client/clientlauncher.cpp
+msgid "Provided world path doesn't exist: "
+msgstr ""
+
+#: src/client/fontengine.cpp
+msgid "needs_fallback_font"
+msgstr ""
+
+#: src/client/game.cpp
+msgid ""
+"\n"
+"Check debug.txt for details."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Address: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Creative Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Damage: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Mode: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Port: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Public: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- PvP: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "- Server Name: "
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Automatic forward enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Camera update enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Change Password"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Cinematic mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Client side scripting is disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Connecting to server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Continue"
+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 "Creating client..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Creating server..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info and profiler graph hidden"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Debug info, profiler graph, and wireframe hidden"
+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
+msgid "Disabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Enabled unlimited viewing range"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to Menu"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Exit to OS"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fast 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 "Fly mode disabled"
+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 "Fog disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Fog enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game info:"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Game paused"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Hosting server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Item definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "KiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Media..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "MiB/s"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Minimap hidden"
+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 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 "Noclip 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 "Node definitions..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Off"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "On"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode disabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Pitch move mode enabled"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Profiler graph shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Remote server"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Resolving address..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Shutting down..."
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Singleplayer"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound Volume"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound muted"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Sound unmuted"
+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 maximum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Viewing range is at minimum: %d"
+msgstr ""
+
+#: src/client/game.cpp
+#, c-format
+msgid "Volume changed to %d%%"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Wireframe shown"
+msgstr ""
+
+#: src/client/game.cpp
+msgid "Zoom currently disabled by game or mod"
+msgstr ""
+
+#: src/client/game.cpp src/gui/modalMenu.cpp
+msgid "ok"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Chat shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "HUD shown"
+msgstr ""
+
+#: src/client/gameui.cpp
+msgid "Profiler hidden"
+msgstr ""
+
+#: src/client/gameui.cpp
+#, c-format
+msgid "Profiler shown (page %d of %d)"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Apps"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Backspace"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Caps Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "End"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Erase EOF"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Execute"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Help"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Home"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Accept"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Convert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Escape"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Mode Change"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "IME Nonconvert"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Insert"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Left"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Left Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Num Lock"
+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 "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 "OEM Clear"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page down"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Page up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Pause"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Play"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Print"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Return"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Right"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Button"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Control"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Menu"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Right Windows"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Scroll Lock"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Select"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Shift"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Sleep"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Snapshot"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Space"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Tab"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "Up"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 1"
+msgstr ""
+
+#: src/client/keycode.cpp
+msgid "X Button 2"
+msgstr ""
+
+#: src/client/keycode.cpp src/gui/guiKeyChangeMenu.cpp
+msgid "Zoom"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp src/gui/guiPasswordChange.cpp
+msgid "Passwords do not match!"
+msgstr ""
+
+#: src/gui/guiConfirmRegistration.cpp
+msgid "Register and Join"
+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/guiFormSpecMenu.cpp
+msgid "Proceed"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "\"Special\" = climb down"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Autoforward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Automatic jumping"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Backward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Change camera"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Chat"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Console"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Dec. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Double tap \"jump\" to toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Drop"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Forward"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. range"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inc. volume"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Inventory"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Jump"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Key already in use"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Local command"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Mute"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Next item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Prev. item"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Range select"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
+msgid "Screenshot"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Sneak"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Special"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle HUD"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle chat log"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fast"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fly"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle fog"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle minimap"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle noclip"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "Toggle pitchmove"
+msgstr ""
+
+#: src/gui/guiKeyChangeMenu.cpp
+msgid "press key"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Change"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Confirm Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "New Password"
+msgstr ""
+
+#: src/gui/guiPasswordChange.cpp
+msgid "Old Password"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Exit"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Muted"
+msgstr ""
+
+#: src/gui/guiVolumeChange.cpp
+msgid "Sound Volume: "
+msgstr ""
+
+#: src/gui/modalMenu.cpp
+msgid "Enter "
+msgstr ""
+
+#: src/network/clientpackethandler.cpp
+msgid "LANG_CODE"
+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 ""
+"(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 ""
+"(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 ""
+"(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 ""
+"0 = parallax occlusion with slope information (faster).\n"
+"1 = relief mapping (slower, more accurate)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of ridged mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of rolling hills."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "2D noise that controls the shape/size of step mountains."
+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 "2D noise that controls the size/occurrence of rolling hills."
+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 "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D clouds"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining giant caverns."
+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 "3D noise defining structure of river canyon walls."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise defining terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+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 ""
+"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 "A message to be displayed to all clients when the server crashes."
+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 "ABM interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Absolute limit of emerge queues"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration in air"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block management interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active block range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Active object send range"
+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 "Adds particles when digging a node."
+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 ""
+"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 "Advanced"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Alters how mountain-type floatlands taper above and below midpoint."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Altitude chill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Always fly and fast"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ambient occlusion gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amount of messages a player may send per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Amplifies the valleys."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Anisotropic filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Announce to this serverlist."
+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 "Apple trees noise"
+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 "Ask to reconnect after crash"
+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 "Automatic forward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically jump up single-node obstacles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Automatically report to the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autosave screen size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Autoscaling mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Backward key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Base terrain height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Basic privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Beach noise threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bilinear filtering"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bind address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome API temperature and humidity noise parameters"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Biome noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bits per pixel (aka color depth) in fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Block send optimize distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Build inside player"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Builtin"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Bumpmapping"
+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 "Camera smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera smoothing in cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Camera update toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave noise"
+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 "Cave width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cave2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern taper"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cavern upper limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Center of light curve mid-boost."
+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 "Chat key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message count limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message format"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message kick threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat message max length"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chat toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chatcommands"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Chunk size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cinematic mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Clean transparent textures"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client and Server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client modding"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side modding restrictions"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Client side node lookup range restriction"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Climbing speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Cloud radius"
+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 "Clouds in menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Colored fog"
+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 ""
+
+#: 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 ""
+"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 "Command key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect glass"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connect to external media server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Connects glass if supported by node."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console alpha"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Console height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB Flag Blacklist"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "ContentDB URL"
+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 "Controls"
+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 "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/depth of lake depressions."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Controls steepness/height of hills."
+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 "Controls width of tunnels, a smaller value creates wider tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crash message"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Creative"
+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 "Crosshair color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Crosshair color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "DPI"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Damage"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Darkness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug info toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log file size threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Debug log level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dec. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dedicated server step"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default acceleration"
+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 "Default password"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default privileges"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Default report format"
+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 ""
+"Defines areas of floatland smooth terrain.\n"
+"Smooth floatlands occur when noise > 0."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas where trees have apples."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines areas with sandy beaches."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain and steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines distribution of higher terrain."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines full size of caverns, smaller values create larger caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines large-scale river channel structure."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines location and terrain of optional hills and lakes."
+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 "Defines the base ground level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the depth of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the maximal player transfer distance in blocks (0 = unlimited)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river channel."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines the width of the river valley."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Defines tree areas and tree density."
+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 "Delay in sending blocks after building"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Delay showing tooltips, stated in milliseconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Deprecated Lua API handling"
+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 "Depth below which you'll find giant caverns."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Depth below which you'll find large caves."
+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 "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 "Desynchronize block animation"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Digging particles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disable anticheat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Disallow empty passwords"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Domain name of server, to be displayed in the serverlist."
+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 "Drop item key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dump the mapgen debug information."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon maximum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon minimum Y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Dungeon noise"
+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 "Enable VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable console window"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable creative mode for new created maps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable joysticks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod channels support."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable mod security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable players getting damage and dying."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enable random user input (only used for testing)."
+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 ""
+"Enable smooth lighting with simple ambient occlusion.\n"
+"Disable for speed or for different looks."
+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 ""
+"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 ""
+"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 ""
+"Enable/disable running an IPv6 server.\n"
+"Ignored if bind_address is set."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables animation of inventory items."
+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 "Enables caching of facedir rotated meshes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables filmic tone mapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Enables minimap."
+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 ""
+"Enables parallax occlusion mapping.\n"
+"Requires shaders to be enabled."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Engine profiling data print interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Entity methods"
+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 "FPS in pause menu"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "FSAA"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Factor noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fall bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fallback font"
+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 "Fallback font size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode acceleration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fast mode speed"
+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 "Field of view"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Field of view in degrees."
+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 "Filler depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filler depth noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Filmic tone mapping"
+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 "Filtering"
+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 "First of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed map seed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fixed virtual joystick"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain density"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain exponent"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Floatland mountain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fly key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Flying"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog start"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fog toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font path"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font shadow"
+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 "Font shadow offset, if 0 then shadow will not be drawn."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Font size"
+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 "Format of screenshots."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Default Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec Full-Screen Background Opacity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec default background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Formspec full-screen background opacity (between 0 and 255)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Forward key"
+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 "Fractal type"
+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 "FreeType fonts"
+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 ""
+"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
+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 "Full screen"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Full screen BPP"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Fullscreen mode."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "GUI scaling filter txr2img"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gamma"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Generate normalmaps"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Global callbacks"
+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 "Gradient of light curve at maximum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gradient of light curve at minimum light level."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Graphics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Gravity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ground noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HTTP mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD scale factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "HUD toggle key"
+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 ""
+"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 "Heat blend noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Heat noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Height select noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "High-precision FPU"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hill threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness1 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness2 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness3 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hilliness4 noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Homepage of server, to be displayed in the serverlist."
+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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 10 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 11 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 12 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 13 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 14 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 15 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 16 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 17 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 18 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 19 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 2 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 20 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 21 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 22 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 23 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 24 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 25 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 26 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 27 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 28 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 29 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 3 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 30 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 31 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 32 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 4 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 5 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 6 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 7 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 8 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 9 key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "How deep to make rivers."
+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 "How wide to make rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Humidity blend noise"
+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 "IPv6"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 server"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "IPv6 support."
+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 ""
+"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 ""
+"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 ""
+"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 ""
+"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
+"down and\n"
+"descending."
+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 "If enabled, disable cheat prevention in multiplayer."
+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 ""
+"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."
+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 ""
+"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 ""
+"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 "If this is set, players will always (re)spawn at the given position."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ignore world errors"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "In-Game"
+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 "In-game chat console background color (R,G,B)."
+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 "Inc. volume key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+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 "Instrument chatcommands on registration."
+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 ""
+"Instrument the action function of Active Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Instrument the action function of Loading Block Modifiers on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrument the methods of entities on registration."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Instrumentation"
+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 "Interval of sending time of day to clients."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory items animations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Inventory key"
+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 "Item entity TTL"
+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 "Joystick ID"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick button repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick frustum sensitivity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Joystick type"
+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 ""
+"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 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 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 x"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia y"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Julia z"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jump key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Jumping speed"
+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 ""
+"Key for decreasing the volume.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for increasing the viewing range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for jumping.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for moving the player forward.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for moving the player right.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for opening the chat window.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 11th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 13th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 15th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 17th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 19th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 21st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 23rd hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 25th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 27th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 29th hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the 31st hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the eighth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the first hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for selecting the ninth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the second hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the sixth hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for selecting the third hotbar slot.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for taking screenshots.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling cinematic mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 toggling fast mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling noclip mode.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"Key for toggling the display of chat.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"Key for toggling the display of fog.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 ""
+"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 ""
+"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 ""
+"Key for toggling unlimited view range.\n"
+"See http://irrlicht.sourceforge.net/docu/namespaceirr."
+"html#a54da2a0e231901735e3da1b0edf72eb3"
+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 "Kick players who sent more than X messages per 10 seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake steepness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lake threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Language"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large cave depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Large chat console key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lava depth"
+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 "Left key"
+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 "Length of time between Active Block Modifier (ABM) execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between NodeTimer execution cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Length of time between active block management cycles"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Level of logging to be written to debug.txt:\n"
+"- <nothing> (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 "Light curve mid boost"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost center"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Light curve mid boost spread"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lightness sharpness"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues on disk"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Limit of emerge queues to generate"
+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 ""
+"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 "Liquid fluidity"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid fluidity smoothing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid loop max"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid queue purge time"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid sinking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update interval in seconds."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Liquid update tick"
+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 "Loading Block Modifiers"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Lower Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu script"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Main menu style"
+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 "Makes DirectX work with LuaJIT. Disable if it causes troubles."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Makes all liquids opaque"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map directory"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation attributes specific to Mapgen Carpathian."
+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 ""
+"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 ""
+"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 "Map generation attributes specific to Mapgen v5."
+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 ""
+"Map generation attributes specific to Mapgen v7.\n"
+"'ridges' enables the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map generation limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Map save interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generation delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock mesh generator's MapBlock cache size in MB"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapblock unload timeout"
+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 "Mapgen Flat"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen Flat specific flags"
+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 "Mapgen V5"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V5 specific flags"
+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 "Mapgen V7"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen V7 specific flags"
+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 "Mapgen debug"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen flags"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mapgen name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block generate distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max block send distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max liquids processed per step."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. clearobjects extra blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Max. packets per iteration"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum FPS when game is paused."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum forceloaded blocks"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum hotbar width"
+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 ""
+"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 "Maximum number of blocks that can be queued for loading."
+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 ""
+"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 "Maximum number of forceloaded mapblocks."
+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 ""
+"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 "Maximum number of players that can be connected simultaneously."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of recent chat messages to show"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum number of statically stored objects in a block."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum objects per block"
+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 "Maximum simultaneous block sends per client"
+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 "Maximum time in ms a file download (e.g. a mod download) may take."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Maximum users"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Menus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mesh cache"
+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 "Method used to highlight selected object."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimap scan height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Minimum texture size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mipmapping"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mod channels"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Modifies the size of the hudbar elements."
+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 "Mountain height noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain variation noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mountain zero level"
+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 "Mud noise"
+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 "Mute key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Mute sound"
+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 ""
+"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 ""
+"Name of the server, to be displayed when players join and in the serverlist."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Near clipping plane"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Network"
+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 "New users need to input this password."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noclip key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Node highlighting"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "NodeTimer interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Noises"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps sampling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Normalmaps strength"
+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 ""
+"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 "Number of parallax occlusion iterations."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Online Content Repository"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Opaque liquids"
+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 "Overall bias of parallax occlusion effect, usually scale/2."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Overall scale of parallax occlusion effect."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion bias"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion iterations"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion scale"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Parallax occlusion strength"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to TrueTypeFont or bitmap."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Path to save screenshots at."
+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 "Path to texture directory. All textures are first searched from here."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pause on lost window focus"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Physics"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Pitch move mode"
+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 "Player name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Player versus player"
+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 ""
+"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 "Prevent mods from doing insecure things like running shell commands."
+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 "Privileges that players with basic_privs can grant"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiler toggle key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Profiling"
+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 "Raises terrain to make valleys around the rivers."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Random input"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Range select key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Recent Chat Messages"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote media"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Remote port"
+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 "Replaces the default main menu with a custom one."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Report path"
+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 "Ridge mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridge underwater noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Ridged mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Right key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rightclick repetition interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River channel width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River size"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "River valley width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rollback recording"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hill size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Rolling hills spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Round minimap"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Safe digging and placing"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sandy beaches occur when np_beach exceeds this value."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save the map received by the client on disk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Save window size automatically when modified."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Saving map received from server"
+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 "Screen height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screen width"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot folder"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Screenshot format"
+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 "Seabed 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 "Second of two 3D noises that together define tunnels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Security"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "See https://www.sqlite.org/pragma.html#pragma_synchronous"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box border color (R,G,B)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box color"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Selection box width"
+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 "Server / Singleplayer"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server address"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server description"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server name"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server port"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Server side occlusion culling"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist URL"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Serverlist file"
+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 "Set the maximum character length of a chat message sent by clients."
+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 ""
+"Set to true enables waving plants.\n"
+"Requires shaders to be enabled."
+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 "Shader path"
+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 "Shadow limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shape of the minimap. Enabled = round, disabled = square."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show debug info"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Show entity selection boxes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Shutdown message"
+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 ""
+"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 "Slice w"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Slope and fill work together to modify the heights."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale humidity variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Small-scale temperature variation for blending biomes on borders."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooth lighting"
+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 "Smooths rotation of camera in cinematic mode. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Smooths rotation of camera. 0 to disable."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Sneak key"
+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 "Sound"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Special key for climbing/descending"
+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 ""
+"Spread of light curve mid-boost.\n"
+"Standard deviation of the mid-boost gaussian."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Static spawnpoint"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Steepness noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain size noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Step mountain spread noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of generated normalmaps."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of light curve mid-boost."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strength of parallax."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strict protocol checking"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Strip color codes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Synchronous SQLite"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Temperature variation for biomes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain alternative noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain base noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain higher noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Terrain noise"
+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 ""
+"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 "Terrain persistence noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Texture path"
+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 "The URL for the content repository"
+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 "The depth of dirt or other biome filler node."
+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 "The identifier of the joystick to use"
+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 "The network interface that the server listens on."
+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 ""
+"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 ""
+"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 ""
+"The sensitivity of the joystick axes for moving the\n"
+"ingame view frustum around."
+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 ""
+"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 ""
+"The time in seconds it takes between repeated events\n"
+"when holding down a joystick button combination."
+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 "The type of joystick"
+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 "Third of 4 2D noises that together define hill/mountain range height."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "This font will be used for certain languages."
+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 "Time of day when a new world is started, in millihours (0-23999)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time send interval"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Time speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Timeout for client to remove unused map data from memory."
+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 "Toggle camera mode key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Tooltip delay"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Touch screen threshold"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trees noise"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Trilinear filtering"
+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 "Trusted mods"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid ""
+"Typical maximum height, above and below midpoint, of floatland mountains."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "URL to the server list displayed in the Multiplayer Tab."
+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 "Unlimited player transfer distance"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Unload unused server data"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Upper Y limit of dungeons."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use 3D cloud look instead of flat."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use a cloud animation for the main menu background."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use anisotropic filtering when viewing at textures from an angle."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Use bilinear filtering when scaling textures."
+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 "Use trilinear filtering when scaling textures."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VBO"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "VSync"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley depth"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley fill"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley profile"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Valley slope"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of biome filler depth."
+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 "Variation of maximum mountain height (in nodes)."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Variation of number of caves."
+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 "Varies depth of biome surface nodes."
+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 "Varies steepness of cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Vertical screen synchronization."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Video driver"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View bobbing factor"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View distance in nodes."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range decrease key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View range increase key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "View zoom key"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Viewing range"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Virtual joystick triggers aux button"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Volume"
+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 "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Walking 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 "Water level"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Water surface level of the world."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving Nodes"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving leaves"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving plants"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave height"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wave speed"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Waving water wavelength"
+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 ""
+"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 ""
+"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 ""
+"Whether FreeType fonts are used, requires FreeType support to be compiled in."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Whether node texture animations should be desynchronized per mapblock."
+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 "Whether to allow players to damage and kill each other."
+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 "Whether to fog out the end of the visible area."
+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 "Width component of the initial window size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Width of the selection box lines around nodes."
+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 ""
+"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 "World start time"
+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 "World-aligned textures mode"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y of flat ground."
+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 "Y of upper limit of large caves."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-distance over which caverns expand to full size."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of average terrain surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of cavern upper limit."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of floatland midpoint and lake surface."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of higher terrain that creates cliffs."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of lower terrain and seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level of seabed."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "Y-level to which floatland shadows extend."
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL file download timeout"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL parallel limit"
+msgstr ""
+
+#: src/settings_translation_file.cpp
+msgid "cURL timeout"
+msgstr ""
diff --git a/po/zh_CN/minetest.po b/po/zh_CN/minetest.po
index 192ae7aa3..648ad72e9 100644
--- a/po/zh_CN/minetest.po
+++ b/po/zh_CN/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Chinese (Simplified) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-02-23 11:18+0000\n"
-"Last-Translator: Cool-Pan <ivlioioilvi@gmail.com>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
"minetest/minetest/zh_Hans/>\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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
@@ -23,7 +23,8 @@ msgid "You died"
msgstr "您已死亡"
#: builtin/fstk/ui.lua
-msgid "An error occurred in a Lua script, such as a mod:"
+#, fuzzy
+msgid "An error occurred in a Lua script:"
msgstr "Lua 脚本å‘生错误,如一个 mod:"
#: builtin/fstk/ui.lua
@@ -115,13 +116,28 @@ msgid "Mod:"
msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No (optional) dependencies"
+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 "æ— ä¾èµ–关系."
+
+#: 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 "å¯é€‰ä¾èµ–:"
+
#: builtin/mainmenu/dlg_config_world.lua builtin/mainmenu/tab_content.lua
msgid "Optional dependencies:"
msgstr "å¯é€‰ä¾èµ–:"
@@ -187,7 +203,6 @@ msgid "Search"
msgstr "æœç´¢"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Texture packs"
msgstr "æè´¨åŒ…"
@@ -208,7 +223,6 @@ msgid "Create"
msgstr "创建"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "Download a game, such as Minetest Game, from minetest.net"
msgstr "从 minetest.net ä¸‹è½½ä¸€ä¸ªå­æ¸¸æˆï¼Œä¾‹å¦‚ minetest_game"
@@ -225,9 +239,8 @@ msgid "Mapgen"
msgstr "地图生æˆå™¨"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "No game selected"
-msgstr "选择范围"
+msgstr "未选择游æˆ"
#: builtin/mainmenu/dlg_create_world.lua
#: builtin/mainmenu/dlg_settings_advanced.lua
@@ -243,7 +256,6 @@ msgid "World name"
msgstr "世界åç§°"
#: builtin/mainmenu/dlg_create_world.lua
-#, fuzzy
msgid "You have no games installed."
msgstr "ä½ æ²¡æœ‰å®‰è£…ä»»ä½•å­æ¸¸æˆã€‚"
@@ -258,14 +270,12 @@ msgid "Delete"
msgstr "删除"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: failed to delete \"$1\""
-msgstr "MOD管ç†å™¨ï¼šæ— æ³•删除“$1â€"
+msgstr "pkgmgr:无法删除“$1â€"
#: builtin/mainmenu/dlg_delete_content.lua
-#, fuzzy
msgid "pkgmgr: invalid path \"$1\""
-msgstr "MOD管ç†å™¨ï¼šMOD“$1â€œè·¯å¾„éžæ³•"
+msgstr "MOD 管ç†å™¨ï¼šMOD 路径 “$1†无效"
#: builtin/mainmenu/dlg_delete_world.lua
msgid "Delete World \"$1\"?"
@@ -284,15 +294,15 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"æ­¤ mod 包在它的 modpack.conf 中有一个明确的å称,它将覆盖这里的任何é‡å‘½å。"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
msgstr "(没有关于此设置的信æ¯)"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "2D Noise"
-msgstr "噪声"
+msgstr "2D é™å™ª"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "< Back to Settings page"
@@ -317,7 +327,7 @@ msgstr "å·²å¯ç”¨"
#: builtin/mainmenu/dlg_settings_advanced.lua
#, fuzzy
msgid "Lacunarity"
-msgstr "安全"
+msgstr "空白"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Octaves"
@@ -349,14 +359,12 @@ msgid "Scale"
msgstr "比例"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select directory"
-msgstr "地图目录"
+msgstr "选择目录"
#: builtin/mainmenu/dlg_settings_advanced.lua
-#, fuzzy
msgid "Select file"
-msgstr "选择MOD文件:"
+msgstr "选择文件"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "Show technical names"
@@ -407,35 +415,28 @@ msgid "eased"
msgstr "缓解"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 (Enabled)"
-msgstr "å·²å¯ç”¨"
+msgstr "$1 å·²å¯ç”¨"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "$1 mods"
-msgstr "3D 模å¼"
+msgstr "$1 模组"
#: builtin/mainmenu/pkgmgr.lua
msgid "Failed to install $1 to $2"
msgstr "安装 $1 到 $2 失败"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find real mod name for: $1"
-msgstr "安装MOD:找ä¸åˆ°$1的真正MODå"
+msgstr "安装MOD:无法找到$1的真实MODåç§°"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install Mod: Unable to find suitable folder name for modpack $1"
-msgstr "安装MOD:找ä¸åˆ°MOD包$1çš„åˆé€‚文件夹å"
+msgstr "安装MOD:无法找到MOD包$1çš„åˆé€‚文件夹å"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Install: Unsupported file type \"$1\" or broken archive"
-msgstr ""
-"\n"
-"安装MODï¼šä¸æ”¯æŒçš„æ–‡ä»¶ç±»åž‹â€œ$1“或文件æŸå"
+msgstr "安装MOD:“$1â€œä¸ºä¸æ”¯æŒçš„æ–‡ä»¶ç±»åž‹æˆ–å·²æŸå"
#: builtin/mainmenu/pkgmgr.lua
#, fuzzy
@@ -443,81 +444,64 @@ msgid "Install: file: \"$1\""
msgstr "安装MOD:文件:â€$1“"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to find a valid mod or modpack"
-msgstr "安装MOD:找ä¸åˆ°MOD包$1çš„åˆé€‚文件夹å"
+msgstr "安装MOD:无法为MOD包$1找到åˆé€‚的文件夹å"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a $1 as a texture pack"
-msgstr "无法安装$1到$2"
+msgstr "无法将$1安装为æè´¨åŒ…"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a game as a $1"
-msgstr "无法安装$1到$2"
+msgstr "无法将$1安装为游æˆåŒ…"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a mod as a $1"
-msgstr "无法安装$1到$2"
+msgstr "无法将$1安装为mod"
#: builtin/mainmenu/pkgmgr.lua
-#, fuzzy
msgid "Unable to install a modpack as a $1"
-msgstr "无法安装$1到$2"
+msgstr "无法将$1安装为mod包"
#: builtin/mainmenu/tab_content.lua
msgid "Browse online content"
msgstr "æµè§ˆåœ¨çº¿å†…容"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Content"
-msgstr "ç»§ç»­"
+msgstr "内容"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Disable Texture Pack"
-msgstr "选择æè´¨åŒ…:"
+msgstr "ç¦ç”¨æè´¨åŒ…"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Information:"
-msgstr "MOD资料:"
+msgstr "MODä¿¡æ¯ï¼š"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Installed Packages:"
-msgstr "已安装的MOD:"
+msgstr "已安装包:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
msgstr "æ— ä¾èµ–关系."
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "No package description available"
-msgstr "æ— MOD资料å¯å¾—"
+msgstr "该MOD没有æè¿°ä¿¡æ¯"
#: builtin/mainmenu/tab_content.lua
msgid "Rename"
msgstr "改å"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
-msgid "Select Package File:"
-msgstr "选择MOD文件:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "删除选中的MOD"
#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Use Texture Pack"
-msgstr "æè´¨åŒ…"
+msgstr "使用æè´¨åŒ…"
#: builtin/mainmenu/tab_credits.lua
msgid "Active Contributors"
@@ -624,9 +608,8 @@ msgid "Favorite"
msgstr "æ”¶è—项"
#: builtin/mainmenu/tab_online.lua
-#, fuzzy
msgid "Join Game"
-msgstr "ä¸»æŒæ¸¸æˆ"
+msgstr "加入游æˆ"
#: builtin/mainmenu/tab_online.lua builtin/mainmenu/tab_simple_main.lua
msgid "Name / Password"
@@ -657,9 +640,8 @@ msgid "8x"
msgstr "å…«å€"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "All Settings"
-msgstr "设置"
+msgstr "所有设置"
#: builtin/mainmenu/tab_settings.lua
msgid "Antialiasing:"
@@ -670,9 +652,8 @@ msgid "Are you sure to reset your singleplayer world?"
msgstr "你确定è¦é‡ç½®æ‚¨çš„å•人世界å—?"
#: builtin/mainmenu/tab_settings.lua
-#, fuzzy
msgid "Autosave Screen Size"
-msgstr "自动ä¿å­˜å±å¹•大å°"
+msgstr "自动ä¿å­˜å±å¹•尺寸"
#: builtin/mainmenu/tab_settings.lua
msgid "Bilinear Filter"
@@ -801,12 +782,13 @@ msgid "Waving Leaves"
msgstr "飘动的树å¶"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "摇摆的æ¤ç‰©"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "摇动节点"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "æµåŠ¨çš„æ°´é¢"
+msgid "Waving Plants"
+msgstr "摇摆的æ¤ç‰©"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -939,28 +921,24 @@ msgid "Automatic forward enabled"
msgstr "自动转å‘å·²å¯ç”¨"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update disabled"
-msgstr "镜头更新切æ¢é”®"
+msgstr "å·²ç¦ç”¨ç›¸æœºæ›´æ–°"
#: src/client/game.cpp
-#, fuzzy
msgid "Camera update enabled"
-msgstr "镜头更新切æ¢é”®"
+msgstr "镜头更新已å¯ç”¨"
#: src/client/game.cpp
msgid "Change Password"
msgstr "更改密ç "
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode disabled"
-msgstr "电影模å¼é”®"
+msgstr "电影模å¼å·²ç¦ç”¨"
#: src/client/game.cpp
-#, fuzzy
msgid "Cinematic mode enabled"
-msgstr "电影模å¼é”®"
+msgstr "电影模å¼å·²å¯ç”¨"
#: src/client/game.cpp
msgid "Client side scripting is disabled"
@@ -1073,42 +1051,36 @@ msgid "Exit to OS"
msgstr "退出至æ“作系统"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode disabled"
-msgstr "快速移动模å¼é€Ÿåº¦"
+msgstr "å·²ç¦ç”¨å¿«é€Ÿæ¨¡å¼"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
-msgstr "快速移动模å¼é€Ÿåº¦"
+msgstr "快速移动模å¼å·²å¯ç”¨"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
msgstr "快速模å¼å·²å¯ç”¨ï¼ˆæ³¨ï¼šæ—  'fast' 特æƒï¼‰"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode disabled"
-msgstr "快速移动模å¼é€Ÿåº¦"
+msgstr "关闭飞行模å¼"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "å¯ç”¨ä¼¤å®³"
+msgstr "å¯ç”¨é£žè¡Œæ¨¡å¼"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
-msgstr ""
+msgstr "å¯ç”¨é£žè¡Œæ¨¡å¼ï¼ˆæ— é£žè¡Œæƒé™ï¼‰"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog disabled"
-msgstr "ç¦ç”¨MOD包"
+msgstr "ç¦ç”¨é›¾æ°”"
#: src/client/game.cpp
-#, fuzzy
msgid "Fog enabled"
-msgstr "å¯ç”¨"
+msgstr "å¯ç”¨é›¾æ°”"
#: src/client/game.cpp
msgid "Game info:"
@@ -1143,46 +1115,44 @@ msgid "Minimap currently disabled by game or mod"
msgstr "å°åœ°å›¾è¢«å½“剿¸¸æˆæˆ–者 mod ç¦ç”¨"
#: src/client/game.cpp
-#, fuzzy
msgid "Minimap hidden"
-msgstr "å°åœ°å›¾é”®"
+msgstr "å°åœ°å›¾å·²éšè—"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x1"
-msgstr ""
+msgstr "é›·è¾¾å°åœ°å›¾ï¼Œæ”¾å¤§ä¸€å€"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x2"
-msgstr ""
+msgstr "é›·è¾¾å°åœ°å›¾ï¼Œæ”¾å¤§ä¸€å€"
#: src/client/game.cpp
msgid "Minimap in radar mode, Zoom x4"
-msgstr ""
+msgstr "雷达模å¼çš„å°åœ°å›¾, 放大4å€"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x1"
-msgstr ""
+msgstr "地表模å¼çš„å°åœ°å›¾, 放大1å€"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x2"
-msgstr ""
+msgstr "地表模å¼çš„å°åœ°å›¾, 放大2å€"
#: src/client/game.cpp
msgid "Minimap in surface mode, Zoom x4"
-msgstr ""
+msgstr "地表模å¼çš„å°åœ°å›¾, 放大4å€"
#: src/client/game.cpp
msgid "Noclip mode disabled"
msgstr "Noclip 模å¼å·²ç¦ç”¨"
#: src/client/game.cpp
-#, fuzzy
msgid "Noclip mode enabled"
-msgstr "å¯ç”¨ä¼¤å®³"
+msgstr "穿墙伤害已å¯ç”¨"
#: src/client/game.cpp
msgid "Noclip mode enabled (note: no 'noclip' privilege)"
-msgstr ""
+msgstr "穿墙模å¼å·²å¯ç”¨ (注æ„:你没有穿墙æƒé™)"
#: src/client/game.cpp
msgid "Node definitions..."
@@ -1229,29 +1199,27 @@ msgid "Sound Volume"
msgstr "音é‡"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound muted"
-msgstr "音é‡"
+msgstr "å·²é™éŸ³"
#: src/client/game.cpp
-#, fuzzy
msgid "Sound unmuted"
-msgstr "音é‡"
+msgstr "已喿¶ˆé™éŸ³"
#: src/client/game.cpp
-#, fuzzy, c-format
+#, c-format
msgid "Viewing range changed to %d"
-msgstr "éŸ³é‡æ”¹åˆ°%d1%%2"
+msgstr "视野范围已改å˜è‡³%d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at maximum: %d"
-msgstr ""
+msgstr "视野范围已达到最大:%d"
#: src/client/game.cpp
#, c-format
msgid "Viewing range is at minimum: %d"
-msgstr ""
+msgstr "视野已达到最å°ï¼š%d"
#: src/client/game.cpp
#, c-format
@@ -1271,9 +1239,8 @@ msgid "ok"
msgstr "确定"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Chat hidden"
-msgstr "èŠå¤©é”®"
+msgstr "èŠå¤©å·²éšè—"
#: src/client/gameui.cpp
msgid "Chat shown"
@@ -1288,9 +1255,8 @@ msgid "HUD shown"
msgstr "显示 HUD"
#: src/client/gameui.cpp
-#, fuzzy
msgid "Profiler hidden"
-msgstr "山谷轮廓"
+msgstr "éšè—分æžå™¨"
#: src/client/gameui.cpp
#, c-format
@@ -1308,7 +1274,7 @@ msgstr "退格"
#: src/client/keycode.cpp
msgid "Caps Lock"
-msgstr "大写键é”定"
+msgstr "大写é”定键"
#: src/client/keycode.cpp
msgid "Clear"
@@ -1567,14 +1533,17 @@ msgid "Register and Join"
msgstr "注册并加入"
#: src/gui/guiConfirmRegistration.cpp
-#, c-format
+#, fuzzy, c-format
msgid ""
-"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."
msgstr ""
+"这是你第一次用“%2$sâ€åŠ å…¥æœåŠ¡å™¨â€œ%1$sâ€ã€‚ 如果è¦ç»§ç»­ï¼Œä¸€ä¸ªæ–°çš„用户信æ¯å°†åœ¨æœåС噍"
+"上创建。\n"
+"è¯·é‡æ–°è¾“入你的密ç ç„¶åŽç‚¹å‡»â€œæ³¨å†Œâ€æˆ–ç‚¹å‡»â€œå–æ¶ˆâ€ã€‚"
#: src/gui/guiFormSpecMenu.cpp
msgid "Proceed"
@@ -1592,16 +1561,15 @@ msgstr "å‘å‰"
#: src/gui/guiKeyChangeMenu.cpp src/settings_translation_file.cpp
msgid "Automatic jumping"
-msgstr "自动跳 Ping"
+msgstr "自动跳跃"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Backward"
msgstr "å‘åŽ"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Change camera"
-msgstr "更改键ä½è®¾ç½®"
+msgstr "改å˜ç›¸æœº"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Chat"
@@ -1690,12 +1658,9 @@ msgid "Sneak"
msgstr "潜行"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
msgid "Special"
-msgstr ""
-
-#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "切æ¢ç”µå½±æ¨¡å¼"
+msgstr "特别"
#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
@@ -1721,15 +1686,19 @@ msgid "Toggle fog"
msgstr "切æ¢é£žè¡Œæ¨¡å¼"
#: src/gui/guiKeyChangeMenu.cpp
-#, fuzzy
msgid "Toggle minimap"
-msgstr "切æ¢ç©¿å¢™æ¨¡å¼"
+msgstr "切æ¢å°åœ°å›¾"
#: src/gui/guiKeyChangeMenu.cpp
msgid "Toggle noclip"
msgstr "切æ¢ç©¿å¢™æ¨¡å¼"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "切æ¢å¿«é€Ÿç§»åŠ¨æ¨¡å¼"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "按键"
@@ -1844,6 +1813,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3D 云彩"
@@ -1875,6 +1848,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1927,6 +1904,10 @@ msgid "Acceleration in air"
msgstr "空中加速"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "活动区å—修改器"
@@ -2069,7 +2050,7 @@ msgstr "å‰è¿›é”®"
#: src/settings_translation_file.cpp
msgid "Automatically jump up single-node obstacles."
-msgstr ""
+msgstr "自动跳跃一方å—高度。"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -2082,7 +2063,7 @@ msgstr "自动ä¿å­˜å±å¹•大å°"
#: src/settings_translation_file.cpp
msgid "Autoscaling mode"
-msgstr ""
+msgstr "自动缩放模å¼"
#: src/settings_translation_file.cpp
msgid "Backward key"
@@ -2153,7 +2134,7 @@ msgstr "凹凸贴图"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2236,16 +2217,21 @@ msgstr "èŠå¤©é”®"
#: src/settings_translation_file.cpp
msgid "Chat message count limit"
-msgstr ""
+msgstr "èŠå¤©æ¶ˆæ¯è®¡æ•°é™åˆ¶"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Chat message format"
+msgstr "èŠå¤©æ¶ˆæ¯æœ€å¤§é•¿åº¦"
#: src/settings_translation_file.cpp
#, fuzzy
msgid "Chat message kick threshold"
-msgstr "沙漠噪音阈值"
+msgstr "èŠå¤©æ¶ˆæ¯è§¦å‘阈值"
#: src/settings_translation_file.cpp
msgid "Chat message max length"
-msgstr ""
+msgstr "èŠå¤©æ¶ˆæ¯æœ€å¤§é•¿åº¦"
#: src/settings_translation_file.cpp
msgid "Chat toggle key"
@@ -2389,20 +2375,26 @@ msgid ""
"Continuous forward movement, toggled by autoforward key.\n"
"Press the autoforward key again or the backwards movement to disable."
msgstr ""
+"自动å‰è¿›ï¼Œé€šè¿‡è‡ªåЍå‰è¿›é”®åˆ‡æ¢ã€‚\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 ""
#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
@@ -2467,6 +2459,11 @@ msgid "Debug info toggle key"
msgstr "调试信æ¯åˆ‡æ¢é”®"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "沙漠噪音阈值"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "调试日志级别"
@@ -2475,6 +2472,10 @@ msgid "Dec. volume key"
msgstr "音é‡å‡å°é”®"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "专用æœåŠ¡å™¨æ­¥éª¤"
@@ -2566,10 +2567,25 @@ msgid "Defines the base ground level."
msgstr "定义森林区域和森林密度."
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+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 "定义大尺寸的河é“结构。"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "定义树上长苹果的区域."
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "定义森林区域和森林密度."
@@ -2594,6 +2610,12 @@ msgid "Deprecated Lua API handling"
msgstr "已弃用 Lua API 处ç†"
#: 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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "大型洞穴的最浅深度。"
@@ -2613,9 +2635,10 @@ msgid "Desert noise threshold"
msgstr "沙漠噪音阈值"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"当np_biome超过该值时将产生沙漠。\n"
"当新的生物群系系统å¯ç”¨æ—¶ï¼Œè¯¥é¡¹å°†è¢«å¿½ç•¥ã€‚"
@@ -2666,6 +2689,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "æ²³æµå™ªéŸ³"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -2810,8 +2838,9 @@ msgstr ""
"需è¦ç€è‰²å™¨å·²å¯ç”¨ã€‚"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Engine profiling data print interval"
-msgstr "剖æžå°å‡ºé—´éš”"
+msgstr "打å°å¼•æ“Žåˆ†æžæ•°æ®é—´éš”"
#: src/settings_translation_file.cpp
msgid "Entity methods"
@@ -3015,40 +3044,47 @@ msgid "Font size"
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 "Format of screenshots."
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
msgid "Formspec default background color (R,G,B)."
-msgstr ""
+msgstr "èœå•默认背景色(R,G,B)。"
#: src/settings_translation_file.cpp
msgid "Formspec default background opacity (between 0 and 255)."
-msgstr ""
+msgstr "èœå•默认背景ä¸é€æ˜Žåº¦(0~255)。"
#: src/settings_translation_file.cpp
msgid "Formspec full-screen background color (R,G,B)."
-msgstr ""
+msgstr "èœå•å…¨å±èƒŒæ™¯è‰²(R,G,B)。"
#: src/settings_translation_file.cpp
msgid "Formspec full-screen background opacity (between 0 and 255)."
-msgstr ""
+msgstr "èœå•å…¨å±èƒŒæ™¯ä¸é€æ˜Žåº¦(0~255)。"
#: src/settings_translation_file.cpp
msgid "Forward key"
@@ -3065,10 +3101,9 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Fraction of the visible distance at which fog starts to be rendered"
-msgstr ""
+msgstr "雾的å¯è§è·ç¦»"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "FreeType fonts"
msgstr "FreeType 字体"
@@ -3076,12 +3111,12 @@ msgstr "FreeType 字体"
msgid ""
"From how far blocks are generated for clients, stated in mapblocks (16 "
"nodes)."
-msgstr ""
+msgstr "ä¸ºå®¢æˆ·ç«¯ç”Ÿæˆæ–¹å—çš„è·ç¦»å¤šè¿œï¼Œä»¥åœ°å›¾åŒºå—(16 æ–¹å—)为å•ä½ã€‚"
#: src/settings_translation_file.cpp
msgid ""
"From how far blocks are sent to clients, stated in mapblocks (16 nodes)."
-msgstr ""
+msgstr "为客户端å‘逿–¹å—çš„è·ç¦»å¤šè¿œï¼Œä»¥åœ°å›¾åŒºå—(16 æ–¹å—)为å•ä½ã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -3125,7 +3160,6 @@ msgid "Generate normalmaps"
msgstr "生æˆå¸¸è§„地图"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Global callbacks"
msgstr "全局回调"
@@ -3153,14 +3187,12 @@ msgid "Gravity"
msgstr "é‡åŠ›"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ground level"
-msgstr "地图生æˆå™¨å¹³åœ°çº§åˆ«"
+msgstr "地é¢é«˜åº¦"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Ground noise"
-msgstr "地图生æˆå™¨å¹³åœ°çº§åˆ«"
+msgstr "地é¢å™ªå£°"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -3169,7 +3201,7 @@ msgstr "HTTP Mod"
#: src/settings_translation_file.cpp
msgid "HUD scale factor"
-msgstr ""
+msgstr "HUD 缩放比例系数"
#: src/settings_translation_file.cpp
msgid "HUD toggle key"
@@ -3182,6 +3214,10 @@ 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 ""
+"处ç†å·²å¼ƒç”¨çš„ Lua API 调用:\n"
+"- 兼容:(å°è¯•)模拟旧的调用(å‘布版本的默认值)。\n"
+"- 记录:模拟并记录已弃用的调用的回溯(调试的默认值)。\n"
+"- é”™è¯¯ï¼šä½¿ç”¨å·²å¼ƒç”¨çš„è°ƒç”¨æ˜¯åœæ­¢ï¼ˆMod å¼€å‘人员推è)。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3194,39 +3230,35 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Heat blend noise"
-msgstr ""
+msgstr "热混åˆå™ªå£°"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Heat noise"
-msgstr "洞穴噪音 #1"
+msgstr "热噪声"
#: src/settings_translation_file.cpp
msgid "Height component of the initial window size."
-msgstr ""
+msgstr "åˆå§‹çª—å£é«˜åº¦ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Height noise"
-msgstr "å³Windowsé”®"
+msgstr "高度噪声"
#: src/settings_translation_file.cpp
msgid "Height select noise"
-msgstr ""
+msgstr "高度选择噪声"
#: src/settings_translation_file.cpp
msgid "High-precision FPU"
msgstr "高精度 FPU"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hill steepness"
-msgstr "地图生æˆå™¨å¹³é¢å±±ä¸˜å¡åº¦"
+msgstr "山丘å¡åº¦"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Hill threshold"
-msgstr "地图生æˆå™¨å¹³é¢å±±ä¸˜é˜ˆå€¼"
+msgstr "山丘阈值"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -3253,168 +3285,186 @@ msgid "Homepage of server, to be displayed in the serverlist."
msgstr "æœåŠ¡å™¨é¦–é¡µï¼Œå°†ä¼šæ˜¾ç¤ºåœ¨æœåŠ¡å™¨åˆ—è¡¨ä¸­ã€‚"
#: src/settings_translation_file.cpp
-msgid "Hotbar next key"
+msgid ""
+"Horizontal acceleration in air when jumping or falling,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar previous key"
+msgid ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Hotbar slot 1 key"
+msgid ""
+"Horizontal and vertical acceleration on ground or when climbing,\n"
+"in nodes per second per second."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Hotbar next key"
+msgstr "å¿«æ·æ ä¸‹ä¸€ä¸ª é”®"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar previous key"
+msgstr "å¿«æ·æ ä¸Šä¸€ä¸ª é”®"
+
+#: src/settings_translation_file.cpp
+msgid "Hotbar slot 1 key"
+msgstr "å¿«æ·æ 1 é”®"
+
+#: src/settings_translation_file.cpp
msgid "Hotbar slot 10 key"
-msgstr ""
+msgstr "å¿«æ·æ 10 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 11 key"
-msgstr ""
+msgstr "å¿«æ·æ 11 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 12 key"
-msgstr ""
+msgstr "å¿«æ·æ 12 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 13 key"
-msgstr ""
+msgstr "å¿«æ·æ 13 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 14 key"
-msgstr ""
+msgstr "å¿«æ·æ 14 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 15 key"
-msgstr ""
+msgstr "å¿«æ·æ 15 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 16 key"
-msgstr ""
+msgstr "å¿«æ·æ 16 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 17 key"
-msgstr ""
+msgstr "å¿«æ·æ 17 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 18 key"
-msgstr ""
+msgstr "å¿«æ·æ 18 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 19 key"
-msgstr ""
+msgstr "å¿«æ·æ 19 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 2 key"
-msgstr ""
+msgstr "å¿«æ·æ 2 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 20 key"
-msgstr ""
+msgstr "å¿«æ·æ 20 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 21 key"
-msgstr ""
+msgstr "å¿«æ·æ 21 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 22 key"
-msgstr ""
+msgstr "å¿«æ·æ 22 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 23 key"
-msgstr ""
+msgstr "å¿«æ·æ 23 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 24 key"
-msgstr ""
+msgstr "å¿«æ·æ 24 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 25 key"
-msgstr ""
+msgstr "å¿«æ·æ 25 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 26 key"
-msgstr ""
+msgstr "å¿«æ·æ 26 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 27 key"
-msgstr ""
+msgstr "å¿«æ·æ 27 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 28 key"
-msgstr ""
+msgstr "å¿«æ·æ 28 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 29 key"
-msgstr ""
+msgstr "å¿«æ·æ 29 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 3 key"
-msgstr ""
+msgstr "å¿«æ·æ 3 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 30 key"
-msgstr ""
+msgstr "å¿«æ·æ 30 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 31 key"
-msgstr ""
+msgstr "å¿«æ·æ 31 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 32 key"
-msgstr ""
+msgstr "å¿«æ·æ 32 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 4 key"
-msgstr ""
+msgstr "å¿«æ·æ 4 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 5 key"
-msgstr ""
+msgstr "å¿«æ·æ 5 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 6 key"
-msgstr ""
+msgstr "å¿«æ·æ 6 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 7 key"
-msgstr ""
+msgstr "å¿«æ·æ 7 é”®"
#: src/settings_translation_file.cpp
msgid "Hotbar slot 8 key"
-msgstr ""
+msgstr "å¿«æ·æ 8 é”®"
#: src/settings_translation_file.cpp
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 ""
"How much the server will wait before unloading unused mapblocks.\n"
"Higher value is smoother, but will use more RAM."
msgstr ""
+"在å¸è½½ä¸ä½¿ç”¨çš„地图区å—å‰ï¼ŒæœåС噍è¦ç­‰å¾…多少时间。\n"
+"值越高越平滑,但是会使用更多内存。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "How wide to make rivers."
-msgstr "æ²³æµæœ‰å¤šå®½"
+msgstr "使河æµå¤šå®½ã€‚"
#: src/settings_translation_file.cpp
msgid "Humidity blend noise"
-msgstr ""
+msgstr "湿度混åˆå™ªå£°"
#: src/settings_translation_file.cpp
msgid "Humidity noise"
-msgstr ""
+msgstr "湿度噪声"
#: src/settings_translation_file.cpp
msgid "Humidity variation for biomes."
-msgstr ""
+msgstr "生物群系的湿度å˜åŒ–。"
#: src/settings_translation_file.cpp
msgid "IPv6"
@@ -3439,7 +3489,7 @@ msgid ""
"If disabled, \"special\" key is used to fly fast if both fly and fast mode "
"are\n"
"enabled."
-msgstr ""
+msgstr "如果ç¦ç”¨ï¼Œå½“é£žè¡Œå’Œç–¾è·‘åŒæ—¶å¼€å¯æ—¶â€œç‰¹æ®Šâ€é”®ç”¨äºŽæ€¥é€Ÿé£žè¡Œã€‚"
#: src/settings_translation_file.cpp
msgid ""
@@ -3449,6 +3499,10 @@ msgid ""
"invisible\n"
"so that the utility of noclip mode is reduced."
msgstr ""
+"如果å¯ç”¨ï¼ŒæœåŠ¡å™¨ä¼šæ ¹æ®çŽ©å®¶çš„è§†é‡Žé®æŒ¡\n"
+"剔除地图区å—。这å¯ä»¥å‡å°‘å‘客户端å‘é€\n"
+"çš„ 50-80% 的区å—。客户端将ä¸ä¼šæ”¶åˆ°æœ€\n"
+"ä¸å¯è§çš„内容,é™ä½Ž noclip 模å¼çš„实用性。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3456,46 +3510,55 @@ msgid ""
"nodes.\n"
"This requires the \"noclip\" privilege on the server."
msgstr ""
+"使玩家å¯ä»¥åœ¨é£žè¡Œå¯ç”¨æ—¶é£žè¿‡å›ºä½“æ–¹å—。\n"
+"è¿™éœ€è¦æœåŠ¡å™¨çš„â€œnoclipâ€ç‰¹æƒã€‚"
#: src/settings_translation_file.cpp
msgid ""
"If enabled, \"special\" key instead of \"sneak\" key is used for climbing "
"down and\n"
"descending."
-msgstr ""
+msgstr "如果å¯ç”¨ï¼Œâ€œç‰¹æ®Šâ€é”®å°†ä»£æ›¿æ½œè¡Œé”®çš„å‘下攀爬和下é™ã€‚"
#: src/settings_translation_file.cpp
msgid ""
"If enabled, actions are recorded for rollback.\n"
"This option is only read when server starts."
msgstr ""
+"如果å¯ç”¨ï¼Œåˆ™ä¼šè®°å½•æ“作以进行回滚。\n"
+"仅在æœåС噍å¯åŠ¨æ—¶è¯»å–æ­¤é€‰é¡¹ã€‚"
#: src/settings_translation_file.cpp
msgid "If enabled, disable cheat prevention in multiplayer."
-msgstr ""
+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 ""
+"如果å¯ç”¨ï¼Œæ— æ•ˆçš„世界数æ®å°†ä¸ä¼šå¯¼è‡´æœåŠ¡å™¨å…³é—­ã€‚\n"
+"åªæœ‰åœ¨ä½ çŸ¥é“自己在åšä»€ä¹ˆçš„æƒ…况下æ‰èƒ½å¯ç”¨å®ƒã€‚"
#: src/settings_translation_file.cpp
msgid ""
"If enabled, makes move directions relative to the player's pitch when flying "
"or swimming."
-msgstr ""
+msgstr "如果å¯ç”¨ï¼Œåˆ™åœ¨é£žè¡Œæˆ–游泳时相对于玩家的视角æ¥ç§»åŠ¨æ–¹å‘。"
#: src/settings_translation_file.cpp
msgid "If enabled, new players cannot join with an empty password."
-msgstr ""
+msgstr "如果å¯ç”¨ï¼Œæ–°çŽ©å®¶å°†æ— æ³•ä½¿ç”¨ç©ºå¯†ç åŠ å…¥ã€‚"
#: src/settings_translation_file.cpp
+#, fuzzy
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 ""
+"如果å¯ç”¨ï¼Œæ‚¨å¯ä»¥å°†å—放置在您站立的ä½ç½®ï¼ˆè„š+视线水平)。\n"
+"在å°åŒºåŸŸä¸­ä½¿ç”¨æ–¹å—框时,这很有用。"
#: src/settings_translation_file.cpp
msgid ""
@@ -3505,10 +3568,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "If this is set, players will always (re)spawn at the given position."
+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 "If this is set, players will always (re)spawn at the given position."
+msgstr "如果设置了此选项,玩家将始终在指定ä½ç½®å‡ºï¼ˆé‡ï¼‰ç”Ÿã€‚"
+
+#: src/settings_translation_file.cpp
msgid "Ignore world errors"
msgstr "忽略世界错误"
@@ -3518,36 +3589,43 @@ msgstr "游æˆä¸­"
#: src/settings_translation_file.cpp
msgid "In-game chat console background alpha (opaqueness, between 0 and 255)."
-msgstr ""
+msgstr "游æˆå†…èŠå¤©æŽ§åˆ¶å°èƒŒæ™¯ alpha 值(ä¸é€æ˜Žåº¦ï¼Œ0~255)。"
#: src/settings_translation_file.cpp
msgid "In-game chat console background color (R,G,B)."
-msgstr ""
+msgstr "游æˆå†…èŠå¤©æŽ§åˆ¶å°èƒŒæ™¯è‰²(R,G,B)。"
#: src/settings_translation_file.cpp
msgid "In-game chat console height, between 0.1 (10%) and 1.0 (100%)."
-msgstr ""
+msgstr "游æˆå†…èŠå¤©æŽ§åˆ¶å°é«˜åº¦ï¼Œ0.1(10%)~1.0(100%)。"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Inc. volume key"
-msgstr "控制å°é”®"
+msgstr "音é‡å¢žå¤§é”®"
+
+#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
msgstr ""
+"内部构建工具。\n"
+"这通常åªè¢«æ ¸å¿ƒï¼å†…部构建者需è¦"
#: src/settings_translation_file.cpp
msgid "Instrument chatcommands on registration."
-msgstr ""
+msgstr "登录时的èŠå¤©å‘½ä»¤ã€‚"
#: src/settings_translation_file.cpp
msgid ""
"Instrument global callback functions on registration.\n"
"(anything you pass to a minetest.register_*() function)"
msgstr ""
+"登录时检测全局回调函数。\n"
+"(传递给 minetest.register_*() 函数的任何内容)"
#: src/settings_translation_file.cpp
msgid ""
@@ -3565,15 +3643,15 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Instrumentation"
-msgstr ""
+msgstr "仪表"
#: src/settings_translation_file.cpp
msgid "Interval of saving important changes in the world, stated in seconds."
-msgstr ""
+msgstr "ä¿å­˜ä¸–界é‡è¦å˜åŒ–的时间间隔,以秒为å•ä½ã€‚"
#: src/settings_translation_file.cpp
msgid "Interval of sending time of day to clients."
-msgstr ""
+msgstr "å‘客户端å‘逿—¶é—´çš„间隔。"
#: src/settings_translation_file.cpp
msgid "Inventory items animations"
@@ -3597,7 +3675,7 @@ msgstr "物å“实体 TTL"
#: src/settings_translation_file.cpp
msgid "Iterations"
-msgstr ""
+msgstr "迭代"
#: src/settings_translation_file.cpp
msgid ""
@@ -3609,21 +3687,19 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid "Joystick ID"
-msgstr ""
+msgstr "æ‘‡æ† ID"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Joystick button repetition interval"
-msgstr "å³å‡»é‡å¤é—´éš”"
+msgstr "æ‘‡æ†æŒ‰é’®é‡å¤é—´éš”"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Joystick frustum sensitivity"
-msgstr "é¼ æ ‡çµæ•度"
+msgstr "摇æ†çµæ•度"
#: src/settings_translation_file.cpp
msgid "Joystick type"
-msgstr ""
+msgstr "摇æ†ç±»åž‹"
#: src/settings_translation_file.cpp
msgid ""
@@ -4305,7 +4381,7 @@ msgstr "液体队列清除时间"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "液体下沉"
#: src/settings_translation_file.cpp
@@ -4379,6 +4455,13 @@ 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 ""
+"Map generation attributes specific to Mapgen flat.\n"
"Occasional lakes and hills can be added to the flat world."
msgstr ""
@@ -4390,7 +4473,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
@@ -4453,6 +4536,11 @@ msgstr "地图生æˆå™¨åˆ†å½¢"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "地图生æˆå™¨å¹³é¢æ ‡å¿—"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "地图生æˆå™¨ v5"
@@ -4540,6 +4628,12 @@ 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 ""
"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)"
@@ -4729,10 +4823,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4751,7 +4843,7 @@ msgid ""
msgstr "æœåС噍å称,将显示在æä¾›ç»™çŽ©å®¶çš„æœåŠ¡å™¨åˆ—è¡¨ã€‚"
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -4806,16 +4898,18 @@ msgstr "生产线程数"
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -4972,10 +5066,6 @@ msgid "Profiling"
msgstr "Mod 剖æž"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5062,6 +5152,16 @@ msgstr "å³å‡»é‡å¤é—´éš”"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "æ²³æµæ·±åº¦"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "æ²³æµæ·±åº¦"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "æ²³æµæ·±åº¦"
@@ -5076,6 +5176,11 @@ msgid "River size"
msgstr "æ²³æµå¤§å°"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "æ²³æµæ·±åº¦"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "回滚记录"
@@ -5386,6 +5491,10 @@ msgid "Sneaking speed"
msgstr "步行速度"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "音效"
@@ -5705,10 +5814,11 @@ msgstr ""
#: src/settings_translation_file.cpp
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"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
@@ -5817,6 +5927,10 @@ msgid "Varies steepness of cliffs."
msgstr "控制山丘的å¡åº¦/高度。"
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "å±å¹•åž‚ç›´åŒæ­¥ã€‚"
@@ -5870,10 +5984,18 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr "水级别"
@@ -5898,16 +6020,19 @@ msgid "Waving water"
msgstr "摇动水"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "摇动水高度"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "摇动水长度"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "摇动水速度"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "摇动水速度"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "摇动水长度"
#: src/settings_translation_file.cpp
msgid ""
@@ -5943,10 +6068,6 @@ msgid ""
msgstr ""
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr ""
@@ -5978,9 +6099,8 @@ msgid ""
msgstr "æ˜¯å¦æ˜¾ç¤ºå®¢æˆ·ç«¯è°ƒè¯•ä¿¡æ¯ï¼ˆä¸ŽæŒ‰ F5 的效果相åŒï¼‰ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
msgid "Width component of the initial window size."
-msgstr "åˆå§‹åŒ–窗å£å°ºå¯¸çš„宽度组件。"
+msgstr "åˆå§‹çª—å£å¤§å°çš„宽度。"
#: src/settings_translation_file.cpp
#, fuzzy
@@ -6036,11 +6156,6 @@ msgid "Y of upper limit of large caves."
msgstr "å¤§åž‹éšæœºæ´žç©´çš„Y轴最大值。"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "å¤§åž‹éšæœºæ´žç©´çš„Y轴最大值。"
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr ""
@@ -6084,526 +6199,15 @@ msgstr "cURL å¹¶å‘é™åˆ¶"
msgid "cURL timeout"
msgstr "cURL è¶…æ—¶"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "关闭商店"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "高级设置"
-
-#, fuzzy
-#~ msgid "Preload inventory textures"
-#~ msgstr "载入中..."
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "èœå•元素应用缩放因å­"
-
-#~ msgid "Touch free target"
-#~ msgstr "自由触摸目标"
+#~ msgid "Waving Water"
+#~ msgstr "æµåŠ¨çš„æ°´é¢"
#, fuzzy
-#~ msgid "Downloading"
-#~ msgstr "下载中"
-
-#~ msgid " KB/s"
-#~ msgstr "åƒå­—节/ç§’"
-
-#~ msgid " MB/s"
-#~ msgstr "兆字节/秒"
-
-#~ msgid "Left click: Move all items, Right click: Move single item"
-#~ msgstr "左键:移动所有物å“,å³é”®ï¼šç§»åЍå•个物å“"
-
-#~ msgid "is required by:"
-#~ msgstr "被需è¦ï¼š"
-
-#~ msgid "Configuration saved. "
-#~ msgstr "é…置已ä¿å­˜ã€‚ "
-
-#~ msgid "Warning: Configuration not consistent. "
-#~ msgstr "警告:é…ç½®ä¸ä¸€è‡´ã€‚ "
-
-#~ msgid "Cannot create world: Name contains invalid characters"
-#~ msgstr "无法创建世界:å字包å«éžæ³•字符"
-
-#~ msgid "Show Public"
-#~ msgstr "显示公共"
-
-#~ msgid "Show Favorites"
-#~ msgstr "显示最爱"
-
-#~ msgid "Leave address blank to start a local server."
-#~ msgstr "åœ°å€æ ç•™ç©ºå¯å¯åŠ¨æœ¬åœ°æœåŠ¡å™¨ã€‚"
-
-#~ msgid "Create world"
-#~ msgstr "创造世界"
-
-#~ msgid "Address required."
-#~ msgstr "需è¦åœ°å€ã€‚"
-
-#~ msgid "Cannot delete world: Nothing selected"
-#~ msgstr "无法删除世界:没有选择世界"
-
-#~ msgid "Files to be deleted"
-#~ msgstr "将被删除的文件"
-
-#~ msgid "Cannot create world: No games found"
-#~ msgstr "æ— æ³•åˆ›é€ ä¸–ç•Œï¼šæœªæ‰¾åˆ°æ¸¸æˆæ¨¡å¼"
-
-#~ msgid "Cannot configure world: Nothing selected"
-#~ msgstr "无法é…置世界:没有选择世界"
-
-#~ msgid "Failed to delete all world files"
-#~ msgstr "无法删除所有该世界的文件"
-
-#~ msgid ""
-#~ "Default Controls:\n"
-#~ "- WASD: Walk\n"
-#~ "- Mouse left: dig/hit\n"
-#~ "- Mouse right: place/use\n"
-#~ "- Mouse wheel: select item\n"
-#~ "- 0...9: select item\n"
-#~ "- Shift: sneak\n"
-#~ "- R: Toggle viewing all loaded chunks\n"
-#~ "- I: Inventory menu\n"
-#~ "- ESC: This menu\n"
-#~ "- T: Chat\n"
-#~ msgstr ""
-#~ "默认控制:\n"
-#~ "W/A/S/D: èµ°\n"
-#~ "空格: 跳\n"
-#~ "鼠标左键: 挖方å—/攻击\n"
-#~ "é¼ æ ‡å³é”®: 放置/使用\n"
-#~ "鼠标滚轮: 选择物å“\n"
-#~ "0-9: 选择物å“\n"
-#~ "Shift: 潜行\n"
-#~ "Rï¼šåˆ‡æ¢æŸ¥çœ‹æ‰€æœ‰å·²è½½å…¥åŒºå—\n"
-#~ "Iï¼šç‰©å“æ \n"
-#~ "ESC:èœå•\n"
-#~ "T:èŠå¤©\n"
-
-#~ msgid ""
-#~ "Warning: Some configured mods are missing.\n"
-#~ "Their setting will be removed when you save the configuration. "
-#~ msgstr ""
-#~ "警告:缺少一些设定了的MOD。\n"
-#~ "它们的设置会在你ä¿å­˜é…置的时候被移除。 "
-
-#~ msgid ""
-#~ "Warning: Some mods are not configured yet.\n"
-#~ "They will be enabled by default when you save the configuration. "
-#~ msgstr ""
-#~ "警告:一些MOD仿œªè®¾å®šã€‚\n"
-#~ "它们会在你ä¿å­˜é…置的时候自动å¯ç”¨ã€‚ "
-
-#~ msgid "Add mod:"
-#~ msgstr "添加MOD:"
-
-#~ msgid "MODS"
-#~ msgstr "MODS"
-
-#~ msgid "TEXTURE PACKS"
-#~ msgstr "æè´¨åŒ…"
-
-#~ msgid "SINGLE PLAYER"
-#~ msgstr "å•人游æˆ"
-
-#~ msgid "Finite Liquid"
-#~ msgstr "液体有é™å»¶ä¼¸"
-
-#~ msgid "Preload item visuals"
-#~ msgstr "预先加载物å“图åƒ"
-
-#~ msgid "SETTINGS"
-#~ msgstr "设置"
-
-#~ msgid "Password"
-#~ msgstr "密ç "
-
-#~ msgid "Name"
-#~ msgstr "åå­—"
-
-#~ msgid "START SERVER"
-#~ msgstr "å¯åЍæœåС噍"
-
-#~ msgid "CLIENT"
-#~ msgstr "客户端"
-
-#~ msgid "<<-- Add mod"
-#~ msgstr "<<-- 添加MOD"
-
-#~ msgid "Remove selected mod"
-#~ msgstr "删除选中MOD"
-
-#~ msgid "EDIT GAME"
-#~ msgstr "编辑游æˆ"
-
-#~ msgid "new game"
-#~ msgstr "新建游æˆ"
-
-#~ msgid "Mods:"
-#~ msgstr "MODS:"
-
-#~ msgid "GAMES"
-#~ msgstr "游æˆ"
-
-#~ msgid "Gamemgr: Unable to copy mod \"$1\" to game \"$2\""
-#~ msgstr "游æˆç®¡ç†: 无法å¤åˆ¶MOD“$1â€åˆ°æ¸¸æˆâ€œ$2â€"
-
-#~ msgid "Restart minetest for driver change to take effect"
-#~ msgstr "é‡å¯minetest让驱动å˜åŒ–生效"
-
-#, fuzzy
-#~ msgid "If enabled, "
-#~ msgstr "å¯ç”¨"
-
-#~ msgid "No!!!"
-#~ msgstr "ä¸!!!"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "公共æœåŠ¡å™¨åˆ—è¡¨"
-
-#~ msgid "No of course not!"
-#~ msgstr "当然ä¸ï¼"
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "适用 MOD å¼€å‘者。"
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "详细 mod 剖æž"
-
-#, fuzzy
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "巨大洞穴深度"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "地图生æˆå™¨ v6 沙漠频率"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "地图生æˆå™¨ v6 沙滩频率"
-
-#, fuzzy
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "巨大洞穴深度"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢ç‰‡ w"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢è§„模"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢åç§»"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢ julia z"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢ julia y"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢ julia x"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢ julia w"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢è¿­ä»£"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢åˆ†å½¢"
-
-#, fuzzy
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "地图生æˆå™¨åˆ†å½¢ç‰‡ w"
-
-#, fuzzy
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "地图生æˆå™¨å¹³é¢é˜ˆå€¼"
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr "决定地形尺寸。"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "控制在 Mapgen v6 中的沙漠与沙滩大å°ã€‚\n"
-#~ "当 snowbiomes å¯ç”¨æ—¶ã€Œmgv6_freq_desertã€ä¼šè¢«å¿½ç•¥ã€‚"
-
-#~ msgid "Plus"
-#~ msgstr "加å·"
-
-#~ msgid "Period"
-#~ msgstr "å¥å·"
-
-#~ msgid "PA1"
-#~ msgstr "PA1é”®"
-
-#~ msgid "Minus"
-#~ msgstr "å‡å·"
-
-#~ msgid "Kanji"
-#~ msgstr "Kanjié”®"
-
-#~ msgid "Kana"
-#~ msgstr "Kanaé”®"
-
-#~ msgid "Junja"
-#~ msgstr "Junjaé”®"
-
-#~ msgid "Final"
-#~ msgstr "Finalé”®"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSelé”®"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSelé”®"
-
-#~ msgid "Comma"
-#~ msgstr "逗å·"
-
-#~ msgid "Capital"
-#~ msgstr "大写é”定键"
-
-#~ msgid "Attn"
-#~ msgstr "Attné”®"
-
-#~ msgid "Hide mp content"
-#~ msgstr "éšè—MOD包内容"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "æ˜¯å¦æ”¯æŒå议版本在25之å‰çš„æ—§ç‰ˆæœåŠ¡å™¨ã€‚\n"
-#~ "å¯ç”¨å¦‚果你想连接到0.4.12åŠä¹‹å‰ç‰ˆæœ¬çš„æœåŠ¡å™¨ã€‚\n"
-#~ "0.4.13开始的æœåŠ¡å™¨ä¼šå·¥ä½œï¼Œ0.4.12-devæœåС噍å¯èƒ½ä¼šå·¥ä½œã€‚\n"
-#~ "ç¦ç”¨è¯¥é¡¹å¯ä»¥æ›´å¥½åœ°ä¿æŠ¤ä½ çš„密ç ã€‚"
-
-#~ msgid "Water Features"
-#~ msgstr "水特性"
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "山谷 C 标志"
-
-#~ msgid "Use key"
-#~ msgstr "使用按键"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Irrlicht 的渲染åŽç«¯ã€‚"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Mod 存储的 Mod 列表 URL"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "Mod 存储下载 URL"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "Mod 存储详情 URL"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "巨大洞穴噪音"
-
-#~ msgid "Massive cave depth"
-#~ msgstr "巨大洞穴深度"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "主èœå• mode 管ç†å™¨"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "主èœå•游æˆç®¡ç†å™¨"
-
-#~ msgid "Lava Features"
-#~ msgstr "熔岩特性"
-
-#, fuzzy
-#~ msgid "Inventory image hack"
-#~ msgstr "库存键"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "云在多高的高度出现。"
-
-#~ msgid "General"
-#~ msgstr "常规"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "快速移动(通过“使用â€é”®ï¼‰ã€‚\n"
-#~ "è¿™éœ€è¦æœåС噍å…è®¸â€œå¿«é€Ÿç§»åŠ¨â€æƒé™ã€‚"
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "放大时的视界"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "å¯ç”¨èµ°åŠ¨æ—¶è§†è§’æ‘‡åŠ¨ã€‚"
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "å¯ç”¨è§†è§’摇动"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "åœç”¨è„±ç¦»åºåˆ—,比如èŠå¤©é¢œè‰²ã€‚\n"
-#~ "使用该项,如果你想使用 0.4.14 版本之å‰çš„客户端è¿è¡ŒæœåŠ¡å™¨å¹¶ä¸”ç¦æ­¢\n"
-#~ "模组生æˆçš„转义åºåˆ—。"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "ç¦ç”¨è½¬ä¹‰åºåˆ—"
-
-#~ msgid "Descending speed"
-#~ msgstr "下é™é€Ÿåº¦"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "巨型洞穴的最浅深度。"
-
-#~ msgid "Crouch speed"
-#~ msgstr "è¹²ä¼é€Ÿåº¦"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "åœ¨æ´žç©´ä¸­åˆ›å»ºéšæœºçš„æ°´åŸŸã€‚\n"
-#~ "水域会使挖矿å˜å¾—困难。值为0则ç¦ç”¨ã€‚(0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "在山洞中创建ä¸å¯é¢„知的熔岩特性。\n"
-#~ "è¿™å¯ä»¥ä½¿æŒ–掘更加困难。0 表示ç¦ç”¨ã€‚ (0-10)"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "连续å‘å‰ç§»åŠ¨ï¼ˆä»…ç”¨äºŽæµ‹è¯•ï¼‰ã€‚"
-
-#~ msgid "Console key"
-#~ msgstr "控制å°é”®"
-
-#~ msgid "Cloud height"
-#~ msgstr "云高度"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "洞穴与隧é“由两ç§å™ªéŸ³çš„交集形æˆ"
-
-#~ msgid "Autorun key"
-#~ msgstr "自动奔跑键"
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "大约 (X,Y,Z) 的节点分形规模。"
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "å‘布到此æœåŠ¡å™¨åˆ—è¡¨ã€‚\n"
-#~ "如果你想å‘布你的 IPv6 地å€ï¼Œä½¿ç”¨ serverlist_url = v6.servers.minetest."
-#~ "net 。"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr "åªæœ‰ Android 系统: 在未找到支æŒçš„æ¸²æŸ“æ—¶, å°è¯•从网格创建库存纹ç†ã€‚"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "活动区å—修改间隔"
-
-#~ msgid "Prior"
-#~ msgstr "Prioré”®"
-
-#~ msgid "Next"
-#~ msgstr "下一个"
-
-#~ msgid "Use"
-#~ msgstr "使用"
-
-#~ msgid "Print stacks"
-#~ msgstr "æ‰“å°æ ˆ"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "éŸ³é‡æ”¹åˆ°100%"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "éŸ³é‡æ”¹åˆ°0%"
-
-#~ msgid "No information available"
-#~ msgstr "æ— ä¿¡æ¯å¯ç”¨"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "法线贴图"
-
-#~ msgid "Play Online"
-#~ msgstr "è”网游æˆ"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "删除选中的MOD包"
-
-#~ msgid "Local Game"
-#~ msgstr "本地游æˆ"
-
-#~ msgid "re-Install"
-#~ msgstr "釿–°å®‰è£…"
-
-#~ msgid "Unsorted"
-#~ msgstr "未分类"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "æˆåŠŸçš„å®‰è£…ï¼š"
-
-#~ msgid "Shortname:"
-#~ msgstr "短åç§°:"
-
-#~ msgid "Rating"
-#~ msgstr "评级"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "第$1页,共$2页"
-
-#~ msgid "Subgame Mods"
-#~ msgstr "å­æ¸¸æˆæ¨¡ç»„"
-
-#~ msgid "Select path"
-#~ msgstr "选择路径"
-
-#~ msgid "Possible values are: "
-#~ msgstr "å¯è®¾ç½®çš„ flag: "
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "请输入 flag, 多个 flag 以åŠè§’逗å·åˆ†éš”."
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "å¯é€‰é™„加一逗å·èµ·å§‹çš„å­”éš™åº¦å‚æ•°ã€‚"
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "æ ¼å¼: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "æ ¼å¼: (X, Y, Z)."
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "\"$1\" 䏿˜¯åˆæ³•çš„ flag."
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "æœªæŒ‡å®šä¸–ç•Œåæˆ–未选择游æˆ"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "å¤§åž‹éšæœºæ´žç©´çš„Y轴最大值。"
-#~ msgid "Enable MP"
-#~ msgstr "å¯ç”¨MOD包"
+#~ msgid "Select Package File:"
+#~ msgstr "选择包文件:"
-#~ msgid "Disable MP"
-#~ msgstr "ç¦ç”¨MOD包"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "切æ¢ç”µå½±æ¨¡å¼"
diff --git a/po/zh_TW/minetest.po b/po/zh_TW/minetest.po
index 02cf58eee..4a1d1c027 100644
--- a/po/zh_TW/minetest.po
+++ b/po/zh_TW/minetest.po
@@ -1,10 +1,10 @@
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Chinese (Traditional) (Minetest)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-02-24 18:43+0100\n"
-"PO-Revision-Date: 2019-01-30 22:28+0000\n"
-"Last-Translator: Nore <nore@mesecons.net>\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 <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
"minetest/minetest/zh_Hant/>\n"
"Language: zh_TW\n"
@@ -12,24 +12,22 @@ 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.5-dev\n"
+"X-Generator: Weblate 3.9-dev\n"
#: builtin/client/death_formspec.lua src/client/game.cpp
msgid "Respawn"
msgstr "é‡ç”Ÿ"
#: builtin/client/death_formspec.lua src/client/game.cpp
-#, fuzzy
msgid "You died"
-msgstr "您已經死亡。"
+msgstr "您已經死亡"
#: builtin/fstk/ui.lua
#, fuzzy
-msgid "An error occurred in a Lua script, such as a mod:"
+msgid "An error occurred in a Lua script:"
msgstr "在 Lua 指令稿中發生錯誤,如 mod:"
#: builtin/fstk/ui.lua
-#, fuzzy
msgid "An error occurred:"
msgstr "發生錯誤:"
@@ -96,18 +94,16 @@ msgid "Disable all"
msgstr "åœç”¨å…¨éƒ¨"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Disable modpack"
-msgstr "å·²åœç”¨"
+msgstr "å·²åœç”¨ Mod包"
#: builtin/mainmenu/dlg_config_world.lua
msgid "Enable all"
msgstr "啟用全部"
#: builtin/mainmenu/dlg_config_world.lua
-#, fuzzy
msgid "Enable modpack"
-msgstr "釿–°å‘½å Mod 包:"
+msgstr "釿–°å‘½å Mod 包"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
@@ -124,17 +120,30 @@ msgstr "Mod:"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No (optional) dependencies"
+msgstr "é¸ç”¨çš„相ä¾å…ƒä»¶:"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No game description provided."
-msgstr "找ä¸åˆ° mod æè¿°"
+msgstr "找ä¸åˆ° mod æè¿°ã€‚"
#: builtin/mainmenu/dlg_config_world.lua
#, fuzzy
+msgid "No hard dependencies"
+msgstr "無相ä¾å…ƒä»¶ã€‚"
+
+#: builtin/mainmenu/dlg_config_world.lua
msgid "No modpack description provided."
-msgstr "找ä¸åˆ° mod æè¿°"
+msgstr "找ä¸åˆ° mod æè¿°ã€‚"
+
+#: builtin/mainmenu/dlg_config_world.lua
+#, fuzzy
+msgid "No optional dependencies"
+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/dlg_settings_advanced.lua src/gui/guiKeyChangeMenu.cpp
@@ -151,21 +160,19 @@ msgstr "已啟用"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "All packages"
-msgstr ""
+msgstr "所有套件"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Back"
msgstr "Back"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Back to Main Menu"
msgstr "主é¸å–®"
#: builtin/mainmenu/dlg_contentstore.lua
-#, fuzzy
msgid "Downloading and installing $1, please wait..."
-msgstr "正在下載 $1,請ç¨å€™..."
+msgstr "正在下載 $1,請ç¨å€™â€¦â€¦"
#: builtin/mainmenu/dlg_contentstore.lua
#, fuzzy
@@ -188,11 +195,11 @@ msgstr "Mods"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No packages could be retrieved"
-msgstr ""
+msgstr "無法å–得任何套件"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "No results"
-msgstr ""
+msgstr "沒有æœå°‹åˆ°ä»»ä½•é …ç›®"
#: builtin/mainmenu/dlg_contentstore.lua
#: builtin/mainmenu/dlg_settings_advanced.lua builtin/mainmenu/tab_online.lua
@@ -211,7 +218,7 @@ msgstr "安è£"
#: builtin/mainmenu/dlg_contentstore.lua
msgid "Update"
-msgstr ""
+msgstr "æ›´æ–°"
#: builtin/mainmenu/dlg_create_world.lua
msgid "A world named \"$1\" already exists"
@@ -298,6 +305,8 @@ msgid ""
"This modpack has an explicit name given in its modpack.conf which will "
"override any renaming here."
msgstr ""
+"這個Mod包有給定一個明確的å稱在它所屬的 modpack.conf 之中,å¯ä»¥åœ¨è©²æª”案中複寫"
+"Mod包的å稱。"
#: builtin/mainmenu/dlg_settings_advanced.lua
msgid "(No description of setting given)"
@@ -508,7 +517,7 @@ msgstr "已安è£çš„ Mod:"
#: builtin/mainmenu/tab_content.lua
msgid "No dependencies."
-msgstr "無相ä¾ã€‚"
+msgstr "無相ä¾å…ƒä»¶ã€‚"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
@@ -521,11 +530,6 @@ msgstr "釿–°å‘½å"
#: builtin/mainmenu/tab_content.lua
#, fuzzy
-msgid "Select Package File:"
-msgstr "é¸å– Mod 檔案:"
-
-#: builtin/mainmenu/tab_content.lua
-#, fuzzy
msgid "Uninstall Package"
msgstr "解除安è£å·²é¸å–çš„ mod"
@@ -817,12 +821,13 @@ msgid "Waving Leaves"
msgstr "è‘‰å­æ“ºå‹•"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Plants"
-msgstr "æ¤ç‰©æ“ºå‹•"
+#, fuzzy
+msgid "Waving Liquids"
+msgstr "擺動節點"
#: builtin/mainmenu/tab_settings.lua
-msgid "Waving Water"
-msgstr "波動的水"
+msgid "Waving Plants"
+msgstr "æ¤ç‰©æ“ºå‹•"
#: builtin/mainmenu/tab_settings.lua
msgid "Yes"
@@ -890,7 +895,7 @@ msgstr "玩家å稱太長。"
#: src/client/clientlauncher.cpp
msgid "Please choose a name!"
-msgstr "è«‹é¸æ“‡å稱ï¼"
+msgstr "è«‹é¸æ“‡åå­—!"
#: src/client/clientlauncher.cpp
msgid "Provided password file failed to open: "
@@ -1089,28 +1094,24 @@ msgid "Exit to OS"
msgstr "離開到作業系統"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode disabled"
-msgstr "快速模å¼é€Ÿåº¦"
+msgstr "å·²åœç”¨å¿«é€Ÿæ¨¡å¼"
#: src/client/game.cpp
-#, fuzzy
msgid "Fast mode enabled"
-msgstr "快速模å¼é€Ÿåº¦"
+msgstr "已啟用快速模å¼"
#: src/client/game.cpp
msgid "Fast mode enabled (note: no 'fast' privilege)"
msgstr ""
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode disabled"
-msgstr "快速模å¼é€Ÿåº¦"
+msgstr "å·²åœç”¨é£›è¡Œæ¨¡å¼"
#: src/client/game.cpp
-#, fuzzy
msgid "Fly mode enabled"
-msgstr "已啟用傷害"
+msgstr "已啟用飛行模å¼"
#: src/client/game.cpp
msgid "Fly mode enabled (note: no 'fly' privilege)"
@@ -1585,11 +1586,11 @@ msgstr ""
#: src/gui/guiConfirmRegistration.cpp
#, c-format
msgid ""
-"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."
msgstr ""
#: src/gui/guiFormSpecMenu.cpp
@@ -1710,10 +1711,6 @@ msgid "Special"
msgstr ""
#: src/gui/guiKeyChangeMenu.cpp
-msgid "Toggle Cinematic"
-msgstr "切æ›éŽå ´å‹•ç•«"
-
-#: src/gui/guiKeyChangeMenu.cpp
#, fuzzy
msgid "Toggle HUD"
msgstr "切æ›é£›è¡Œ"
@@ -1746,6 +1743,11 @@ msgid "Toggle noclip"
msgstr "切æ›ç„¡çœç•¥"
#: src/gui/guiKeyChangeMenu.cpp
+#, fuzzy
+msgid "Toggle pitchmove"
+msgstr "切æ›å¿«é€Ÿ"
+
+#: src/gui/guiKeyChangeMenu.cpp
msgid "press key"
msgstr "按下按éµ"
@@ -1860,6 +1862,10 @@ msgid "2D noise that controls the size/occurrence of step mountain ranges."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "2D noise that locates the river valleys and channels."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "3D clouds"
msgstr "3D 雲朵"
@@ -1893,6 +1899,10 @@ msgid "3D noise for mountain overhangs, cliffs, etc. Usually small variations."
msgstr ""
#: src/settings_translation_file.cpp
+msgid "3D noise that determines number of dungeons per mapchunk."
+msgstr ""
+
+#: src/settings_translation_file.cpp
#, fuzzy
msgid ""
"3D support.\n"
@@ -1945,6 +1955,10 @@ msgid "Acceleration in air"
msgstr "在空氣中的加速"
#: src/settings_translation_file.cpp
+msgid "Acceleration of gravity, in nodes per second per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Active Block Modifiers"
msgstr "活動å€å¡Šèª¿æ•´å™¨"
@@ -2172,7 +2186,7 @@ msgstr "映射貼圖"
#: src/settings_translation_file.cpp
msgid ""
-"Camera near plane distance in nodes, between 0 and 0.5\n"
+"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."
@@ -2260,6 +2274,11 @@ msgstr "連線時的狀態訊æ¯"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Chat message format"
+msgstr "連線時的狀態訊æ¯"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Chat message kick threshold"
msgstr "沙漠噪音閾值"
@@ -2425,6 +2444,10 @@ msgstr ""
"範例:72 = 20分é˜ï¼Œ360 = 4分é˜ï¼Œ1 = 24å°æ™‚,0 = æ—¥ï¼å¤œï¼ä¸€åˆ‡ä¿æŒä¸è®Šã€‚"
#: src/settings_translation_file.cpp
+msgid "Controls sinking speed in liquid."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Controls steepness/depth of lake depressions."
msgstr "æŽ§åˆ¶æ¹–æ³Šçªªåœ°çš„é™¡åº¦ï¼æ·±åº¦ã€‚"
@@ -2487,6 +2510,11 @@ msgid "Debug info toggle key"
msgstr "é™¤éŒ¯è³‡è¨Šåˆ‡æ›æŒ‰éµ"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Debug log file size threshold"
+msgstr "沙漠噪音閾值"
+
+#: src/settings_translation_file.cpp
msgid "Debug log level"
msgstr "除錯記錄等級"
@@ -2495,6 +2523,10 @@ msgid "Dec. volume key"
msgstr "éŸ³é‡æ¸›å°‘éµ"
#: src/settings_translation_file.cpp
+msgid "Decrease this to increase liquid resistence to movement."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Dedicated server step"
msgstr "專用伺æœå™¨æ­¥é©Ÿ"
@@ -2586,10 +2618,25 @@ msgid "Defines the base ground level."
msgstr "定義樹木å€èˆ‡æ¨¹æœ¨å¯†åº¦ã€‚"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the depth of the river channel."
+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 "定義大型河é“çµæ§‹ã€‚"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Defines the width of the river valley."
+msgstr "定義樹上有蘋果的å€åŸŸã€‚"
+
+#: src/settings_translation_file.cpp
msgid "Defines tree areas and tree density."
msgstr "定義樹木å€èˆ‡æ¨¹æœ¨å¯†åº¦ã€‚"
@@ -2614,6 +2661,12 @@ msgid "Deprecated Lua API handling"
msgstr "ä¸æŽ¨è–¦ä½¿ç”¨ Lua API 處ç†"
#: 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
#, fuzzy
msgid "Depth below which you'll find giant caverns."
msgstr "您會發ç¾å¤§åž‹æ´žç©´çš„æ·±åº¦ã€‚"
@@ -2633,9 +2686,10 @@ msgid "Desert noise threshold"
msgstr "沙漠噪音閾值"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
"Deserts occur when np_biome exceeds this value.\n"
-"When the new biome system is enabled, this is ignored."
+"When the 'snowbiomes' flag is enabled, this is ignored."
msgstr ""
"ç•¶ np_biome è¶…éŽæ­¤å€¼æ™‚,會產生沙漠。\n"
"當啟用新的生物群系統時,這個將會被忽略。"
@@ -2686,6 +2740,11 @@ msgid "Dungeon minimum Y"
msgstr ""
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "Dungeon noise"
+msgstr "山噪音"
+
+#: src/settings_translation_file.cpp
msgid ""
"Enable Lua modding support on client.\n"
"This support is experimental and API can change."
@@ -3038,6 +3097,13 @@ msgid "Font size"
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 "Format of screenshots."
msgstr "螢幕截圖的格å¼ã€‚"
@@ -3288,6 +3354,24 @@ msgid "Homepage of server, to be displayed in the serverlist."
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 ""
+"Horizontal and vertical acceleration in fast mode,\n"
+"in nodes per second per second."
+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 "Hotbar next key"
msgstr "Hotbar 下一個éµ"
@@ -3590,6 +3674,14 @@ msgid ""
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 "If this is set, players will always (re)spawn at the given position."
msgstr "如果設定了這個,玩家將會總是在指定的ä½ç½®é‡ç”Ÿã€‚"
@@ -3618,6 +3710,10 @@ msgid "Inc. volume key"
msgstr "æé«˜éŸ³é‡éµ"
#: src/settings_translation_file.cpp
+msgid "Initial vertical speed when jumping, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid ""
"Instrument builtin.\n"
"This is usually only needed by core/builtin contributors"
@@ -4673,7 +4769,7 @@ msgstr "液體佇列清除時間"
#: src/settings_translation_file.cpp
#, fuzzy
-msgid "Liquid sinking speed"
+msgid "Liquid sinking"
msgstr "液體下沉"
#: src/settings_translation_file.cpp
@@ -4750,6 +4846,18 @@ msgstr ""
#, 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 flat 的地圖生æˆå±¬æ€§ã€‚\n"
+"å¯èƒ½æœƒæœ‰å°‘數的湖泊或是丘陵會在æ‰å¹³çš„世界中生æˆã€‚\n"
+"æœªåœ¨æ——æ¨™å­—ä¸²ä¸­æŒ‡å®šçš„æ——æ¨™å°‡ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
+"以「noã€é–‹é ­çš„æ——標字串將會用於明確的åœç”¨å®ƒå€‘。"
+
+#: 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 ""
"專用於 Mapgen flat 的地圖生æˆå±¬æ€§ã€‚\n"
@@ -4766,7 +4874,7 @@ msgstr ""
msgid ""
"Map generation attributes specific to Mapgen v6.\n"
"The 'snowbiomes' flag enables the new 5 biome system.\n"
-"When the new biome system is enabled jungles are automatically enabled and\n"
+"When the 'snowbiomes' flag is enabled jungles are automatically enabled and\n"
"the 'jungles' flag is ignored."
msgstr ""
"專用於 Mapgen v6 的地圖生æˆå±¬æ€§ã€‚\n"
@@ -4834,6 +4942,11 @@ msgstr "地圖產生器分形"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "Mapgen Fractal specific flags"
+msgstr "Mapgen flat 特別旗標"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "Mapgen V5"
msgstr "Mapgen v5"
@@ -4921,6 +5034,12 @@ 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 ""
"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)"
@@ -5123,10 +5242,8 @@ msgstr ""
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 stable mapgens:\n"
-"v5, v6, v7 (except floatlands), singlenode.\n"
-"'stable' means the terrain shape in an existing world will not be changed\n"
-"in the future. Note that biomes are defined by games and may still change."
+"Current mapgens in a highly unstable state:\n"
+"- The optional floatlands of v7 (disabled by default)."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5145,7 +5262,7 @@ msgid ""
msgstr "伺æœå™¨å稱,當玩家加入時會顯示,也會顯示在伺æœå™¨æ¸…單中。"
#: src/settings_translation_file.cpp
-msgid "Near plane"
+msgid "Near clipping plane"
msgstr ""
#: src/settings_translation_file.cpp
@@ -5199,16 +5316,18 @@ msgstr "出ç¾çš„執行緒數"
#: src/settings_translation_file.cpp
msgid ""
"Number of emerge threads to use.\n"
-"Empty or 0 value:\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"
+"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'.\n"
-"For many users the optimum setting may be '1'."
+"'on_generated'. For many users the optimum setting may be '1'."
msgstr ""
#: src/settings_translation_file.cpp
@@ -5371,10 +5490,6 @@ msgid "Profiling"
msgstr "分æž"
#: src/settings_translation_file.cpp
-msgid "Projecting dungeons"
-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 "
@@ -5464,6 +5579,16 @@ msgstr "å³éµé»žæ“Šé‡è¦†é–“éš”"
#: src/settings_translation_file.cpp
#, fuzzy
+msgid "River channel depth"
+msgstr "æ²³æµæ·±åº¦"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River channel width"
+msgstr "æ²³æµæ·±åº¦"
+
+#: src/settings_translation_file.cpp
+#, fuzzy
msgid "River depth"
msgstr "æ²³æµæ·±åº¦"
@@ -5478,6 +5603,11 @@ msgid "River size"
msgstr "æ²³æµå¤§å°"
#: src/settings_translation_file.cpp
+#, fuzzy
+msgid "River valley width"
+msgstr "æ²³æµæ·±åº¦"
+
+#: src/settings_translation_file.cpp
msgid "Rollback recording"
msgstr "返回記錄"
@@ -5810,6 +5940,10 @@ msgid "Sneaking speed"
msgstr "走路速度"
#: src/settings_translation_file.cpp
+msgid "Sneaking speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Sound"
msgstr "è²éŸ³"
@@ -6160,11 +6294,13 @@ msgid "Undersampling"
msgstr "Undersampling"
#: src/settings_translation_file.cpp
+#, fuzzy
msgid ""
-"Undersampling is similar to using lower screen resolution, but it applies\n"
+"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 significant performance boost at the cost of less detailed "
-"image."
+"It should give a significant performance boost at the cost of less detailed "
+"image.\n"
+"Higher values result in a less detailed image."
msgstr ""
"Undersampling 類似於較低的螢幕解æžåº¦ï¼Œä½†å…¶\n"
"僅é©ç”¨æ–¼éŠæˆ²ä¸–ç•Œï¼Œä¿æŒåœ–形使用者介é¢å®Œå¥½ç„¡æã€‚\n"
@@ -6279,6 +6415,10 @@ msgid "Varies steepness of cliffs."
msgstr "懸崖å¡åº¦è®ŠåŒ–。"
#: src/settings_translation_file.cpp
+msgid "Vertical climbing speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Vertical screen synchronization."
msgstr "åž‚ç›´èž¢å¹•åŒæ­¥ã€‚"
@@ -6333,10 +6473,18 @@ msgstr ""
"範åœç´„在 -2 至 2 間。"
#: src/settings_translation_file.cpp
+msgid "Walking and flying speed, in nodes per second."
+msgstr ""
+
+#: src/settings_translation_file.cpp
msgid "Walking 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 "Water level"
msgstr "æ°´ä½"
@@ -6361,16 +6509,19 @@ msgid "Waving water"
msgstr "波動的水"
#: src/settings_translation_file.cpp
-msgid "Waving water height"
+#, fuzzy
+msgid "Waving water wave height"
msgstr "波動的水高度"
#: src/settings_translation_file.cpp
-msgid "Waving water length"
-msgstr "波動的水長度"
+#, fuzzy
+msgid "Waving water wave speed"
+msgstr "波動的水速度"
#: src/settings_translation_file.cpp
-msgid "Waving water speed"
-msgstr "波動的水速度"
+#, fuzzy
+msgid "Waving water wavelength"
+msgstr "波動的水長度"
#: src/settings_translation_file.cpp
msgid ""
@@ -6422,10 +6573,6 @@ msgid ""
msgstr "是å¦ä½¿ç”¨ freetype 字型,需è¦å°‡ freetype 支æ´ç·¨è­¯é€²ä¾†ã€‚"
#: src/settings_translation_file.cpp
-msgid "Whether dungeons occasionally project from the terrain."
-msgstr ""
-
-#: src/settings_translation_file.cpp
msgid "Whether node texture animations should be desynchronized per mapblock."
msgstr "æ˜¯å¦æ¯å€‹åœ°åœ–å€å¡Šçš„節點æè³ªå‹•ç•«å¯ä»¥ä¸åŒæ­¥ã€‚"
@@ -6519,11 +6666,6 @@ msgid "Y of upper limit of large caves."
msgstr "大型å½éš¨æ©Ÿæ´žç©´çš„ Y 上é™ã€‚"
#: src/settings_translation_file.cpp
-#, fuzzy
-msgid "Y of upper limit of lava in large caves."
-msgstr "大型å½éš¨æ©Ÿæ´žç©´çš„ Y 上é™ã€‚"
-
-#: src/settings_translation_file.cpp
msgid "Y-distance over which caverns expand to full size."
msgstr "洞穴拓展至全尺寸的 Y è·é›¢ã€‚"
@@ -6569,735 +6711,16 @@ msgstr "cURL 並行é™åˆ¶"
msgid "cURL timeout"
msgstr "cURL 逾時"
-#, fuzzy
-#~ msgid "Content Store"
-#~ msgstr "關閉商店"
-
-#, fuzzy
-#~ msgid ""
-#~ "Number of emerge threads to use.\n"
-#~ "Make this field blank or 0, or increase this number to use multiple "
-#~ "threads.\n"
-#~ "On multiprocessor systems, this will improve mapgen speed greatly at the "
-#~ "cost\n"
-#~ "of slightly buggy caves."
-#~ msgstr ""
-#~ "è¦ä½¿ç”¨çš„出ç¾çš„執行緒數。讓這個欄ä½ç•™ç©ºï¼Œæˆ–是增大這個數字\n"
-#~ "來使用多執行緒。在多處ç†å™¨çš„系統上,這將會大大地改善mapgen 的速度\n"
-#~ "åœ¨ç¨æœ‰è‡­èŸ²çš„æ´žç©´ä¸­çš„耗費資æºã€‚"
-
-#~ msgid "Advanced Settings"
-#~ msgstr "進階設定"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen flat.\n"
-#~ "Occasional lakes and hills can be added to the flat world.\n"
-#~ "The default flags set in the engine are: none\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "專用於 Mapgen flat 的地圖生æˆå±¬æ€§ã€‚\n"
-#~ "å¶è€Œæœƒåœ¨å¹³å¦çš„世界中加入湖泊與山丘。\n"
-#~ "æœªåœ¨æ——æ¨™å­—ä¸²ä¸­æŒ‡å®šçš„æ——æ¨™å°‡ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
-#~ "以「noã€é–‹é ­çš„æ——標字串將會用於明確的åœç”¨å®ƒå€‘。"
-
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag controls the rivers.\n"
-#~ "The default flags set in the engine are: mountains, ridges\n"
-#~ "The flags string modifies the engine defaults.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "專用於 Mapgen v6 的地圖生æˆå±¬æ€§ã€‚\n"
-#~ "ç•¶ snowbiomes èˆ‡å¢æž—éƒ½å•Ÿç”¨æ™‚ï¼Œå¢æž—旗標會被忽略。\n"
-#~ "æœªåœ¨æ——æ¨™å­—ä¸²ä¸­æŒ‡å®šçš„æ——æ¨™å°‡ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
-#~ "以「noã€é–‹é ­çš„æ——標字串將會用於明確的åœç”¨å®ƒå€‘。"
-
-#~ msgid ""
-#~ "Enable a bit lower water surface, so it doesn't \"fill\" the node "
-#~ "completely.\n"
-#~ "Note that this is not quite optimized and that smooth lighting on the\n"
-#~ "water surface doesn't work with this."
-#~ msgstr ""
-#~ "啟用略低的的水é¢ï¼Œæ‰€ä»¥å®ƒå°±ä¸æœƒå®Œå…¨ã€Œå¡«æ»¿ã€ç¯€é»žã€‚\n"
-#~ "注æ„,這個功能並未最佳化完æˆï¼Œæ°´é¢çš„\n"
-#~ "柔和光功能無法與此功能一åŒé‹ä½œã€‚"
-
-#~ msgid "Enable selection highlighting for nodes (disables selectionbox)."
-#~ msgstr "å•Ÿç”¨ç¯€é»žé¸æ“‡çªé¡¯ï¼ˆåœç”¨é¸å–框)。"
-
-#~ msgid "Preload inventory textures"
-#~ msgstr "é å…ˆè¼‰å…¥ç‰©å“欄æè³ª"
-
-#~ msgid "Scaling factor applied to menu elements: "
-#~ msgstr "套用在é¸å–®å…ƒç´ çš„縮放係數: "
-
-#~ msgid "Touch free target"
-#~ msgstr "碰觸自由目標"
-
-#~ msgid "If enabled, "
-#~ msgstr "若啟用, "
-
-#~ msgid "Enable a bit lower water surface, so it doesn't "
-#~ msgstr "啟用較低的水é¢ï¼Œæ‰€ä»¥å®ƒä¸æœƒ "
-
-#~ msgid "\""
-#~ msgstr "\""
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with \"no\" are used to explicitly disable them.\n"
-#~ "\"altitude_chill\" makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "\"humid_rivers\" modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool. It may interfere with delicately adjusted "
-#~ "biomes."
-#~ msgstr ""
-#~ "專用於 Mapgen 山谷的地圖生æˆå±¬æ€§ã€‚\n"
-#~ "æœªåœ¨æ——æ¨™å­—ä¸²ä¸­æŒ‡å®šçš„æ——æ¨™å°‡ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
-#~ "以「noã€é–‹é ­çš„æ——標字串將會用於明確的åœç”¨å®ƒå€‘。\n"
-#~ "「altitude_chillã€æœƒè®“較高的地方更寒冷,å¯èƒ½æœƒé€ æˆç”Ÿç‰©ç¾¤è½çš„å•題。\n"
-#~ "「humid_riversã€æœƒä¿®æ”¹åœ¨æ²³æµé™„近的濕度,在那些å€åŸŸé™„近水將會傾å‘變為一池。"
-#~ "這å¯èƒ½æœƒå°å¾®å¦™èª¿æ•´éŽçš„生物群è½é€ æˆå¹²æ“¾ã€‚"
-
-#~ msgid "No!!!"
-#~ msgstr "å¦ï¼ï¼ï¼"
-
-#~ msgid "Public Serverlist"
-#~ msgstr "公共伺æœå™¨æ¸…å–®"
-
-#~ msgid "No of course not!"
-#~ msgstr "ä¸ï¼Œçµ•å°ä¸æ˜¯ï¼"
-
-#~ msgid "Useful for mod developers."
-#~ msgstr "å° mod 開發者很有用。"
-
-#~ msgid "How many blocks are flying in the wire simultaneously per client."
-#~ msgstr "æ¯å€‹å®¢æˆ¶ç«¯æœ‰å¤šå°‘個å€å¡ŠåŒæ™‚以線性方å¼é£›è¡Œã€‚"
-
-#~ msgid ""
-#~ "How many blocks are flying in the wire simultaneously for the whole "
-#~ "server."
-#~ msgstr "整個伺æœå™¨æœ‰å¤šå°‘個å€å¡ŠåŒæ™‚以線性方å¼é£›è¡Œã€‚"
-
-#~ msgid "Detailed mod profiling"
-#~ msgstr "詳細的 mod 檔案"
-
-#~ msgid "Detailed mod profile data. Useful for mod developers."
-#~ msgstr "詳細的 mod æª”æ¡ˆè³‡æ–™ã€‚å° mod 開發者很有用。"
-
-#~ msgid ""
-#~ "Where the map generator stops.\n"
-#~ "Please note:\n"
-#~ "- Limited to 31000 (setting above has no effect)\n"
-#~ "- The map generator works in groups of 80x80x80 nodes (5x5x5 "
-#~ "MapBlocks).\n"
-#~ "- Those groups have an offset of -32, -32 nodes from the origin.\n"
-#~ "- Only groups which are within the map_generation_limit are generated"
-#~ msgstr ""
-#~ "地圖產生器è¦åœ¨å“ªè£¡åœæ­¢ã€‚\n"
-#~ "請注æ„:\n"
-#~ "- é™åˆ¶ç‚º 31000(上é¢çš„設定沒有影響)\n"
-#~ "- 地圖產生器以 80x80x80 個節點為一組的方å¼é‹ä½œï¼ˆ5x5x5 地圖å€å¡Šï¼‰ã€‚\n"
-#~ "- 這些群組有 -32 çš„å移,從原點åç§» -32 節點。\n"
-#~ "- åªæœ‰åœ¨ map_generation_limit 內的群組會被生æˆ"
-
-#~ msgid ""
-#~ "Noise parameters for biome API temperature, humidity and biome blend."
-#~ msgstr "å™ªéŸ³åƒæ•¸ä¾›ç”Ÿç‰©ç¾¤è½ API æº«åº¦ã€æ¿•度與生物混åˆä½¿ç”¨ã€‚"
-
-#~ msgid "Mapgen v7 terrain persistation noise parameters"
-#~ msgstr "Mapgen v7 地形 æŒä¹… 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 terrain base noise parameters"
-#~ msgstr "Mapgen v7 地形 基礎 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 terrain altitude noise parameters"
-#~ msgstr "Mapgen v7 地形 æµ·æ‹” 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 ridge water noise parameters"
-#~ msgstr "Mapgen v7 ridge æ°´ 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 ridge noise parameters"
-#~ msgstr "Mapgen v7 ridge 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 mountain noise parameters"
-#~ msgstr "Mapgen v7 å±± 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 height select noise parameters"
-#~ msgstr "Mapgen v7 高度 鏿“‡ 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 filler depth noise parameters"
-#~ msgstr "Mapgen v7 填充器 深度 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 cave2 noise parameters"
-#~ msgstr "Mapgen v7 æ´žç©´2 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 cave1 noise parameters"
-#~ msgstr "Mapgen v7 æ´žç©´1 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v7 cave width"
-#~ msgstr "Mapgen v7 洞穴寬度"
-
-#~ msgid "Mapgen v6 trees noise parameters"
-#~ msgstr "Mapgen v6 樹 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v6 terrain base noise parameters"
-#~ msgstr "Mapgen v6 地形 基礎 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v6 terrain altitude noise parameters"
-#~ msgstr "Mapgen v6 地形 æµ·æ‹” 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v6 steepness noise parameters"
-#~ msgstr "Mapgen v6 å¡åº¦ 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v6 mud noise parameters"
-#~ msgstr "Mapgen v6 泥土 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v6 desert frequency"
-#~ msgstr "Mapgen v6 沙漠頻率"
-
-#~ msgid "Mapgen v6 cave noise parameters"
-#~ msgstr "Mapgen v6 æ´žç©´ 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v6 biome noise parameters"
-#~ msgstr "Mapgen v6 ç”Ÿç‰©ç¾¤è½ å™ªéŸ³ åƒæ•¸"
-
-#~ msgid "Mapgen v6 beach noise parameters"
-#~ msgstr "Mapgen v6 æµ·ç˜ å™ªéŸ³ åƒæ•¸"
-
-#~ msgid "Mapgen v6 beach frequency"
-#~ msgstr "Mapgen v6 æµ·ç˜é »çއ"
-
-#~ msgid "Mapgen v6 apple trees noise parameters"
-#~ msgstr "Mapgen v6 蘋果樹 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v5 height noise parameters"
-#~ msgstr "Mapgen v5 高度 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v5 filler depth noise parameters"
-#~ msgstr "Mapgen v5 填充器 深度 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v5 factor noise parameters"
-#~ msgstr "Mapgen v5 å› å­ å™ªéŸ³ åƒæ•¸"
-
-#~ msgid "Mapgen v5 cave2 noise parameters"
-#~ msgstr "Mapgen v5 æ´žç©´2 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v5 cave1 noise parameters"
-#~ msgstr "Mapgen v5 æ´žç©´1 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen v5 cave width"
-#~ msgstr "Mapgen v5 洞穴寬度"
-
-#~ msgid "Mapgen fractal slice w"
-#~ msgstr "Mapgen fractal slice w"
-
-#~ msgid "Mapgen fractal seabed noise parameters"
-#~ msgstr "Mapgen fractal 海床 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen fractal scale"
-#~ msgstr "Mapgen fractal è¦æ¨¡"
-
-#~ msgid "Mapgen fractal offset"
-#~ msgstr "Mapgen fractal åç§»"
-
-#~ msgid "Mapgen fractal julia z"
-#~ msgstr "Mapgen fractal 朱利亞 z"
-
-#~ msgid "Mapgen fractal julia y"
-#~ msgstr "Mapgen fractal 朱利亞 y"
-
-#~ msgid "Mapgen fractal julia x"
-#~ msgstr "Mapgen fractal 朱利亞 x"
-
-#~ msgid "Mapgen fractal julia w"
-#~ msgstr "Mapgen fractal 朱利亞 w"
-
-#~ msgid "Mapgen fractal iterations"
-#~ msgstr "Mapgen fractal 迭代"
-
-#~ msgid "Mapgen fractal fractal"
-#~ msgstr "Mapgen fractal fractal"
-
-#~ msgid "Mapgen fractal filler depth noise parameters"
-#~ msgstr "Mapgen fractal 填充器 深度 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen fractal cave2 noise parameters"
-#~ msgstr "Mapgen fractal æ´žç©´2 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen fractal cave1 noise parameters"
-#~ msgstr "Mapgen fractal æ´žç©´1 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen fractal cave width"
-#~ msgstr "Mapgen 分形洞穴寬度"
-
-#~ msgid "Mapgen flat terrain noise parameters"
-#~ msgstr "Mapgen flat 地形 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen flat large cave depth"
-#~ msgstr "Mapgen flat 大型洞穴深度"
-
-#~ msgid "Mapgen flat filler depth noise parameters"
-#~ msgstr "Mapgen flat 填充器 深度 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen flat cave2 noise parameters"
-#~ msgstr "Mapgen flat æ´žç©´2 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen flat cave1 noise parameters"
-#~ msgstr "Mapgen flat æ´žç©´1 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen flat cave width"
-#~ msgstr "Mapgen flat 洞穴寬度"
-
-#~ msgid "Mapgen biome humidity noise parameters"
-#~ msgstr "Mapgen ç”Ÿç‰©ç¾¤è½ æ¿•åº¦ 噪音 åƒæ•¸"
-
-#~ msgid "Mapgen biome humidity blend noise parameters"
-#~ msgstr "Mapgen ç”Ÿç‰©ç¾¤è½ æ¿•åº¦ æ··åˆ å™ªéŸ³ åƒæ•¸"
-
-#~ msgid "Mapgen biome heat noise parameters"
-#~ msgstr "Mapgen ç”Ÿç‰©ç¾¤è½ ç†± 噪音 åƒæ•¸"
-
-#~ msgid ""
-#~ "Determines terrain shape.\n"
-#~ "The 3 numbers in brackets control the scale of the\n"
-#~ "terrain, the 3 numbers should be identical."
-#~ msgstr ""
-#~ "決定地形的形狀。\n"
-#~ "在括號中的 3 個數字控制著\n"
-#~ "åœ°å½¢çš„è¦æ¨¡ï¼Œé‚£ä¸‰å€‹æ•¸å­—æ‡‰è©²è¦æ˜¯ç›¸åŒçš„。"
-
-#~ msgid ""
-#~ "Controls size of deserts and beaches in Mapgen v6.\n"
-#~ "When snowbiomes are enabled 'mgv6_freq_desert' is ignored."
-#~ msgstr ""
-#~ "控制在 Mapgen v6 中的沙漠與沙ç˜å¤§å°ã€‚\n"
-#~ "ç•¶ snowbiomes 啟用時「mgv6_freq_desertã€æœƒè¢«å¿½ç•¥ã€‚"
-
-#~ msgid "Plus"
-#~ msgstr "加號"
-
-#~ msgid "Period"
-#~ msgstr "å¥è™Ÿ"
-
-#~ msgid "PA1"
-#~ msgstr "PA1"
-
-#~ msgid "Minus"
-#~ msgstr "減號"
-
-#~ msgid "Kanji"
-#~ msgstr "日文漢字"
-
-#~ msgid "Kana"
-#~ msgstr "å‡å"
-
-#~ msgid "Junja"
-#~ msgstr "Junja"
-
-#~ msgid "Final"
-#~ msgstr "Final"
-
-#~ msgid "ExSel"
-#~ msgstr "ExSel"
-
-#~ msgid "CrSel"
-#~ msgstr "CrSel"
-
-#~ msgid "Comma"
-#~ msgstr "逗號"
-
-#~ msgid "Capital"
-#~ msgstr "大寫"
-
-#~ msgid "Attn"
-#~ msgstr "Attn"
-
-#~ msgid "Hide mp content"
-#~ msgstr "éš±è— mp 內容"
-
-#~ msgid "Y-level of higher (cliff-top) terrain."
-#~ msgstr "較高(懸崖頂部)的 Y 高度。"
-
-#~ msgid ""
-#~ "Whether to support older servers before protocol version 25.\n"
-#~ "Enable if you want to connect to 0.4.12 servers and before.\n"
-#~ "Servers starting with 0.4.13 will work, 0.4.12-dev servers may work.\n"
-#~ "Disabling this option will protect your password better."
-#~ msgstr ""
-#~ "æ˜¯å¦æ”¯æ´åœ¨å”議版本 25 å‰çš„舊伺æœå™¨ã€‚\n"
-#~ "若您想è¦é€£ç·šåˆ° 0.4.12 版或更舊的伺æœå™¨å°±å•Ÿç”¨ã€‚\n"
-#~ "自 0.4.13 起的伺æœå™¨å°‡å¯ä»¥æ­£å¸¸é‹ä½œï¼Œ0.4.12-dev 版的伺æœå™¨å¯èƒ½å¯ä»¥æ­£å¸¸é‹"
-#~ "作。\n"
-#~ "åœç”¨é€™å€‹é¸é …å¯ä»¥å°‡æ‚¨çš„密碼ä¿è­·çš„æ¯”較好一點。"
-
-#~ msgid "Water Features"
-#~ msgstr "水的特徵"
-
-#~ msgid "Valleys C Flags"
-#~ msgstr "山谷 C 旗標"
-
-#~ msgid ""
-#~ "Use mip mapping to scale textures. May slightly increase performance."
-#~ msgstr "ä½¿ç”¨å¤šé‡æè³ªè²¼åœ–ä¾†ç¸®æ”¾æè³ªã€‚å¯èƒ½æœƒç¨ç¨åœ°å¢žåŠ æ•ˆèƒ½ã€‚"
-
-#~ msgid "Use key"
-#~ msgstr "使用按éµ"
-
-#~ msgid "The rendering back-end for Irrlicht."
-#~ msgstr "Irrlicht çš„æˆåƒå¾Œç«¯ã€‚"
-
-#~ msgid "The altitude at which temperature drops by 20C"
-#~ msgstr "會é™ä½Žæ”æ° 20 度的高度"
-
-#~ msgid "Support older servers"
-#~ msgstr "支æ´è¼ƒèˆŠç‰ˆæœ¬çš„伺æœå™¨"
-
-#~ msgid ""
-#~ "Size of chunks to be generated at once by mapgen, stated in mapblocks (16 "
-#~ "nodes)."
-#~ msgstr "è¦ç”± mapgen 生æˆçš„å€å¡Šå¤§å°ï¼Œä»¥åœ°åœ–å€å¡Šï¼ˆ16 個節電)。"
-
-#~ msgid "River noise -- rivers occur close to zero"
-#~ msgstr "æ²³æµå™ªéŸ³ -- æœƒåœ¨æŽ¥è¿‘æ²³æµæœ€ä½Žé»žçš„地方é‡åˆ°"
-
-#~ msgid ""
-#~ "Name of map generator to be used when creating a new world.\n"
-#~ "Creating a world in the main menu will override this."
-#~ msgstr ""
-#~ "è¦ç”¨ä¾†å»ºç«‹æ–°ä¸–界的地圖產生器的å稱。\n"
-#~ "在主é¸å–®ä¸­å»ºç«‹ä¸–界將會覆蓋它。"
-
-#~ msgid "Modstore mods list URL"
-#~ msgstr "Modstore mod 清單 URL"
-
-#~ msgid "Modstore download URL"
-#~ msgstr "Modstore 下載 URL"
-
-#~ msgid "Modstore details URL"
-#~ msgstr "Modstore 詳細資訊 URL"
-
-#~ msgid "Maximum simultaneous block sends total"
-#~ msgstr "ç¸½å’Œæœ€å¤§åŒæ™‚傳é€å€å¡Šæ•¸"
-
-#~ msgid "Maximum number of blocks that are simultaneously sent per client."
-#~ msgstr "æ¯å€‹å®¢æˆ¶ç«¯å¯åŒæ™‚傳é€çš„æœ€å¤§å€å¡Šæ•¸é‡ã€‚"
-
-#~ msgid "Maximum number of blocks that are simultaneously sent in total."
-#~ msgstr "æœ€å¤§åŒæ™‚總傳é€çš„å€å¡Šæ•¸é‡ã€‚"
-
-#~ msgid "Massive caves form here."
-#~ msgstr "é€™è£¡çš„å¤§è¦æ¨¡æ´žç©´çµæ§‹ã€‚"
-
-#~ msgid "Massive cave noise"
-#~ msgstr "å¤§è¦æ¨¡æ´žç©´å™ªéŸ³"
-
-#~ msgid "Massive cave depth"
-#~ msgstr "å¤§è¦æ¨¡æ´žç©´æ·±åº¦"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "The 'ridges' flag enables the rivers.\n"
-#~ "Floatlands are currently experimental and subject to change.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "專用於 Mapgen v7 的地圖生æˆå±¬æ€§ã€‚\n"
-#~ "「ridgesã€æ——標會啟用河æµã€‚\n"
-#~ "æµ®åœ°ç›®å‰æ˜¯å¯¦é©—性的,å¯èƒ½æœƒç™¼ç”Ÿè®ŠåŒ–。\n"
-#~ "æœªåœ¨æ——æ¨™å­—ä¸²ä¸­æŒ‡å®šçš„æ——æ¨™å°‡ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
-#~ "以「noã€é–‹é ­çš„æ——標字串將會用於明確的åœç”¨å®ƒå€‘。"
-
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Valleys.\n"
-#~ "'altitude_chill' makes higher elevations colder, which may cause biome "
-#~ "issues.\n"
-#~ "'humid_rivers' modifies the humidity around rivers and in areas where "
-#~ "water would tend to pool,\n"
-#~ "it may interfere with delicately adjusted biomes.\n"
-#~ "Flags that are not specified in the flag string are not modified from the "
-#~ "default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "專用於 Mapgen Valleys 的地圖生æˆå±¬æ€§ã€‚\n"
-#~ "'altitude_chill' 讓高海拔處更冷,這å¯èƒ½æœƒå°Žè‡´ä¸€äº›èˆ‡ç”Ÿç‰©ç¾¤è½ç›¸é—œçš„å•題。\n"
-#~ "'humid_rivers' 修改了河æµå‘¨åœçš„æ¿•度,該處的水會傾å‘å½¢æˆæ± å­ã€‚\n"
-#~ "這å¯èƒ½æœƒå¹²æ“¾ç¶“éŽå¾®ç§’調整的生物群è½ã€‚\n"
-#~ "æœªåœ¨æ——æ¨™å­—ä¸²ä¸­æŒ‡å®šçš„æ——æ¨™ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
-#~ "以 'no' 開頭的旗標會用於明確地åœç”¨å®ƒå€‘。"
-
-#~ msgid "Main menu mod manager"
-#~ msgstr "主é¸å–® mod 管ç†å“¡"
-
-#~ msgid "Main menu game manager"
-#~ msgstr "主é¸å–®éŠæˆ²ç®¡ç†å“¡"
-
-#~ msgid "Lava Features"
-#~ msgstr "岩漿功能"
-
-#~ msgid ""
-#~ "Key for printing debug stacks. Used for development.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "å°å‡ºé™¤éŒ¯å †ç–Šçš„æŒ‰éµã€‚å°é–‹ç™¼ä¾†èªªå¾ˆæœ‰ç”¨ã€‚\n"
-#~ "請見 http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Key for opening the chat console.\n"
-#~ "See http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-#~ msgstr ""
-#~ "開啟èŠå¤©è¦–窗的按éµã€‚\n"
-#~ "請見 http://irrlicht.sourceforge.net/docu/namespaceirr."
-#~ "html#a54da2a0e231901735e3da1b0edf72eb3"
-
-#~ msgid ""
-#~ "Iterations of the recursive function.\n"
-#~ "Controls the amount of fine detail."
-#~ msgstr ""
-#~ "éžè¿´å‡½æ•¸çš„迭代。\n"
-#~ "控制細節的å“質。"
-
-#~ msgid "Inventory image hack"
-#~ msgstr "ç‰©å“æ¬„圖片 hack"
-
-#~ msgid "If enabled, show the server status message on player connection."
-#~ msgstr "若啟用,在玩家連線時顯示伺æœå™¨ç‹€æ…‹è¨Šæ¯ã€‚"
-
-#~ msgid ""
-#~ "How large area of blocks are subject to the active block stuff, stated in "
-#~ "mapblocks (16 nodes).\n"
-#~ "In active blocks objects are loaded and ABMs run."
-#~ msgstr ""
-#~ "æ´»èºçš„å€å¡Šè¦éµå¾ªå¤šå¤§çš„å€åŸŸï¼Œä»¥åœ°åœ–å€å¡Šï¼ˆ16 個節點)計。\n"
-#~ "活動å€å¡Šç‰©ä»¶å°‡æœƒè¢«è¼‰å…¥ï¼Œè€Œ ABM 會執行。"
-
-#~ msgid "Height on which clouds are appearing."
-#~ msgstr "雲朵è¦å‡ºç¾çš„高度。"
-
-#~ msgid "General"
-#~ msgstr "一般"
-
-#~ msgid ""
-#~ "From how far clients know about objects, stated in mapblocks (16 nodes)."
-#~ msgstr "客戶端上知é“多é çš„å€å¡Šä¸Šçš„物件,以地圖å€å¡Šè¨ˆç®—(16 個節點)。"
-
-#~ msgid ""
-#~ "Field of view while zooming in degrees.\n"
-#~ "This requires the \"zoom\" privilege on the server."
-#~ msgstr ""
-#~ "縮放視野。\n"
-#~ "這需è¦ä¼ºæœå™¨ä¸Šçš„「縮放ã€ç‰¹æ¬Šã€‚"
-
-#~ msgid "Field of view for zoom"
-#~ msgstr "放大åŽçš„視野"
-
-#~ msgid "Enables view bobbing when walking."
-#~ msgstr "啟用當走路時視野晃動。"
-
-#~ msgid "Enable view bobbing"
-#~ msgstr "啟用視野晃動"
-
-#~ msgid ""
-#~ "Disable escape sequences, e.g. chat coloring.\n"
-#~ "Use this if you want to run a server with pre-0.4.14 clients and you want "
-#~ "to disable\n"
-#~ "the escape sequences generated by mods."
-#~ msgstr ""
-#~ "åœç”¨é€ƒè„«å­—元。例如èŠå¤©è¨Šæ¯çš„é¡è‰²ã€‚\n"
-#~ "如果您想è¦èˆ‡æ—©æ–¼ 0.4.14 的客戶端一åŒåŸ·è¡Œä¼ºæœå™¨ä¸¦ä¸”您也想è¦åœç”¨\n"
-#~ "ç”± mod 所生æˆçš„逃脫字元的話就用這個。"
-
-#~ msgid "Disable escape sequences"
-#~ msgstr "åœç”¨é€ƒè„«å­—å…ƒ"
-
-#~ msgid "Descending speed"
-#~ msgstr "éžæ¸›é€Ÿåº¦"
-
-#~ msgid "Depth below which you'll find massive caves."
-#~ msgstr "您會發ç¾å¤§é‡æ´žç©´çš„æ·±åº¦ã€‚"
-
-#~ msgid "Crouch speed"
-#~ msgstr "è¹²ä¼é€Ÿåº¦"
-
-#~ msgid ""
-#~ "Creates unpredictable water features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "åœ¨æ´žç©´ä¸­å»ºç«‹ç„¡æ³•é æ¸¬çš„æ°´åŠŸèƒ½ã€‚\n"
-#~ "這些會讓挖礦變得困難。設為零以åœç”¨ã€‚ (0-10)"
-
-#~ msgid ""
-#~ "Creates unpredictable lava features in caves.\n"
-#~ "These can make mining difficult. Zero disables them. (0-10)"
-#~ msgstr ""
-#~ "åœ¨æ´žç©´ä¸­å»ºç«‹ç„¡æ³•é æ¸¬çš„岩漿功能。\n"
-#~ "這些會讓挖礦變得困難。設為零以åœç”¨ã€‚ (0-10)"
-
-#~ msgid "Continuous forward movement (only used for testing)."
-#~ msgstr "連續å‰é€²ç§»å‹•(僅供測試使用)。"
-
-#~ msgid "Console key"
-#~ msgstr "終端機按éµ"
-
-#~ msgid "Cloud height"
-#~ msgstr "雲朵高度"
-
-#~ msgid "Caves and tunnels form at the intersection of the two noises"
-#~ msgstr "洞穴與隧é“å½¢æˆå…©ç¨®å™ªéŸ³çš„交集"
-
-#~ msgid "Autorun key"
-#~ msgstr "自動奔跑按éµ"
-
-#~ msgid "Approximate (X,Y,Z) scale of fractal in nodes."
-#~ msgstr "大約 (X,Y,Z) çš„ç¯€é»žç¢Žå½¢è¦æ¨¡ã€‚"
-
-#~ msgid ""
-#~ "Announce to this serverlist.\n"
-#~ "If you want to announce your ipv6 address, use serverlist_url = v6."
-#~ "servers.minetest.net."
-#~ msgstr ""
-#~ "公佈到這個伺æœå™¨åˆ—表。\n"
-#~ "若您想è¦å…¬ä½ˆæ‚¨çš„ IPv6 地å€ï¼Œä½¿ç”¨ serverlist_url = v6.servers.minetest."
-#~ "net。"
-
-#~ msgid ""
-#~ "Android systems only: Tries to create inventory textures from meshes\n"
-#~ "when no supported render was found."
-#~ msgstr ""
-#~ "僅 Android 系統:當找ä¸åˆ°æ”¯æ´çš„彩ç¾å™¨æ™‚\n"
-#~ "嘗試從網格建立物å“ç´‹ç†ã€‚"
-
-#~ msgid "Active Block Modifier interval"
-#~ msgstr "活動方塊調整間隔"
-
-#~ msgid "Prior"
-#~ msgstr "上一個"
-
-#~ msgid "Next"
-#~ msgstr "下一個"
-
-#~ msgid "Use"
-#~ msgstr "使用"
-
-#~ msgid "Print stacks"
-#~ msgstr "å°å‡ºå †ç–Š"
-
-#~ msgid "Volume changed to 100%"
-#~ msgstr "音é‡å·²èª¿æ•´ç‚º100%"
-
-#~ msgid "Volume changed to 0%"
-#~ msgstr "音é‡å·²èª¿æ•´ç‚º0%"
-
-#~ msgid "No information available"
-#~ msgstr "ä¸æä¾›è³‡è¨Š"
-
-#~ msgid "Normal Mapping"
-#~ msgstr "法線貼圖"
-
-#~ msgid "Play Online"
-#~ msgstr "線上éŠçŽ©"
-
-#~ msgid "Uninstall selected modpack"
-#~ msgstr "解除安è£å·²é¸å–çš„ mod 包"
-
-#~ msgid "Local Game"
-#~ msgstr "æœ¬æ©ŸéŠæˆ²"
-
-#~ msgid "re-Install"
-#~ msgstr "釿–°å®‰è£"
-
-#~ msgid "Unsorted"
-#~ msgstr "未分類"
-
-#~ msgid "Successfully installed:"
-#~ msgstr "å·²æˆåŠŸå®‰è£ï¼š"
-
-#~ msgid "Shortname:"
-#~ msgstr "短å稱:"
-
-#~ msgid "Rating"
-#~ msgstr "評分"
-
-#~ msgid "Page $1 of $2"
-#~ msgstr "$2 的第 $1 é "
-
-#~ msgid "Subgame Mods"
-#~ msgstr "é™„å±¬éŠæˆ²çš„ Mod"
-
-#~ msgid "Select path"
-#~ msgstr "é¸å–路徑"
-
-#~ msgid "Possible values are: "
-#~ msgstr "å¯èƒ½çš„值為: "
-
-#~ msgid "Please enter a comma seperated list of flags."
-#~ msgstr "請輸入逗號以分離å„項旗標。"
-
-#~ msgid "Optionally the lacunarity can be appended with a leading comma."
-#~ msgstr "鏿“‡æ€§çš„空隙度å¯ä»¥ä»¥ä¸€å€‹é€—號開頭附加。"
-
-#~ msgid ""
-#~ "Format: <offset>, <scale>, (<spreadX>, <spreadY>, <spreadZ>), <seed>, "
-#~ "<octaves>, <persistence>"
-#~ msgstr ""
-#~ "æ ¼å¼ï¼š<åç§»>, <尺寸>, (<寬度 X>, <寬度 Y>, <寬度 Z>), <種å­>, <八進ä½>, <"
-#~ "æŒçºŒæ€§>"
-
-#~ msgid "Format is 3 numbers separated by commas and inside brackets."
-#~ msgstr "æ ¼å¼ç‚º 3 個在括號內的以逗號分離的數字。"
-
-#~ msgid "\"$1\" is not a valid flag."
-#~ msgstr "「$1ã€ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„æ——標。"
-
-#~ msgid "No worldname given or no game selected"
-#~ msgstr "æœªçµ¦äºˆä¸–ç•ŒéŠæˆ²æˆ–是未é¸å–éŠæˆ²"
-
-#~ msgid "Enable MP"
-#~ msgstr "啟用 MP"
-
-#~ msgid "Disable MP"
-#~ msgstr "åœç”¨ MP"
+#~ msgid "Waving Water"
+#~ msgstr "波動的水"
#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v7.\n"
-#~ "'ridges' enables the rivers.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "專用於 Mapgen v5 的地圖生æˆå±¬æ€§ã€‚\n"
-#~ "æœªåœ¨æ——æ¨™å­—ä¸²ä¸­æŒ‡å®šçš„æ——æ¨™å°‡ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
-#~ "以「noã€é–‹é ­çš„æ——標字串將會用於明確的åœç”¨å®ƒå€‘。"
+#~ msgid "Y of upper limit of lava in large caves."
+#~ msgstr "大型å½éš¨æ©Ÿæ´žç©´çš„ Y 上é™ã€‚"
#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen v5.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "專用於 Mapgen v5 的地圖生æˆå±¬æ€§ã€‚\n"
-#~ "æœªåœ¨æ——æ¨™å­—ä¸²ä¸­æŒ‡å®šçš„æ——æ¨™å°‡ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
-#~ "以「noã€é–‹é ­çš„æ——標字串將會用於明確的åœç”¨å®ƒå€‘。"
+#~ msgid "Select Package File:"
+#~ msgstr "é¸å– Mod 檔案:"
-#, fuzzy
-#~ msgid ""
-#~ "Map generation attributes specific to Mapgen Carpathian.\n"
-#~ "Flags that are not enabled are not modified from the default.\n"
-#~ "Flags starting with 'no' are used to explicitly disable them."
-#~ msgstr ""
-#~ "專用於 Mapgen v5 的地圖生æˆå±¬æ€§ã€‚\n"
-#~ "æœªåœ¨æ——æ¨™å­—ä¸²ä¸­æŒ‡å®šçš„æ——æ¨™å°‡ä¸æœƒè‡ªé è¨­å€¼ä¿®æ”¹ã€‚\n"
-#~ "以「noã€é–‹é ­çš„æ——標字串將會用於明確的åœç”¨å®ƒå€‘。"
+#~ msgid "Toggle Cinematic"
+#~ msgstr "切æ›éŽå ´å‹•ç•«"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 764706776..70a5ab3c8 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -102,10 +102,20 @@ if(BUILD_CLIENT AND ENABLE_SOUND)
endif()
-option(ENABLE_GLES "Enable OpenGL ES support" FALSE)
+option(ENABLE_GLES "Use OpenGL ES instead of OpenGL" FALSE)
mark_as_advanced(ENABLE_GLES)
-if(ENABLE_GLES)
- find_package(OpenGLES2)
+if(BUILD_CLIENT)
+ if(ENABLE_GLES)
+ find_package(OpenGLES2 REQUIRED)
+ else()
+ if(NOT WIN32) # Unix probably
+ set(OPENGL_GL_PREFERENCE "LEGACY" CACHE STRING
+ "See CMake Policy CMP0072 for reference. GLVND is broken on some nvidia setups")
+ set(OpenGL_GL_PREFERENCE ${OPENGL_GL_PREFERENCE})
+
+ find_package(OpenGL REQUIRED)
+ endif()
+ endif()
endif()
@@ -159,27 +169,14 @@ option(ENABLE_POSTGRESQL "Enable PostgreSQL backend" TRUE)
set(USE_POSTGRESQL FALSE)
if(ENABLE_POSTGRESQL)
- find_program(POSTGRESQL_CONFIG_EXECUTABLE pg_config DOC "pg_config")
- find_library(POSTGRESQL_LIBRARY pq)
- if(POSTGRESQL_CONFIG_EXECUTABLE)
- execute_process(COMMAND ${POSTGRESQL_CONFIG_EXECUTABLE} --includedir-server
- OUTPUT_VARIABLE POSTGRESQL_SERVER_INCLUDE_DIRS
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- execute_process(COMMAND ${POSTGRESQL_CONFIG_EXECUTABLE}
- OUTPUT_VARIABLE POSTGRESQL_CLIENT_INCLUDE_DIRS
- OUTPUT_STRIP_TRAILING_WHITESPACE)
- # This variable is case sensitive for the cmake PostgreSQL module
- set(PostgreSQL_ADDITIONAL_SEARCH_PATHS ${POSTGRESQL_SERVER_INCLUDE_DIRS} ${POSTGRESQL_CLIENT_INCLUDE_DIRS})
- endif()
-
find_package("PostgreSQL")
- if(POSTGRESQL_FOUND)
+ if(PostgreSQL_FOUND)
set(USE_POSTGRESQL TRUE)
message(STATUS "PostgreSQL backend enabled")
# This variable is case sensitive, don't try to change it to POSTGRESQL_INCLUDE_DIR
- message(STATUS "PostgreSQL includes: ${PostgreSQL_INCLUDE_DIR}")
- include_directories(${PostgreSQL_INCLUDE_DIR})
+ message(STATUS "PostgreSQL includes: ${PostgreSQL_INCLUDE_DIRS}")
+ include_directories(${PostgreSQL_INCLUDE_DIRS})
else()
message(STATUS "PostgreSQL not found!")
endif()
@@ -189,7 +186,7 @@ option(ENABLE_LEVELDB "Enable LevelDB backend" TRUE)
set(USE_LEVELDB FALSE)
if(ENABLE_LEVELDB)
- find_library(LEVELDB_LIBRARY leveldb)
+ find_library(LEVELDB_LIBRARY NAMES leveldb libleveldb)
find_path(LEVELDB_INCLUDE_DIR db.h PATH_SUFFIXES leveldb)
if(LEVELDB_LIBRARY AND LEVELDB_INCLUDE_DIR)
set(USE_LEVELDB TRUE)
@@ -264,32 +261,23 @@ if(WIN32)
set(PLATFORM_LIBS ws2_32.lib version.lib shlwapi.lib ${PLATFORM_LIBS})
# Zlib stuff
- set(ZLIB_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../zlib/zlib-1.2.5"
- CACHE PATH "Zlib include directory")
- set(ZLIB_LIBRARIES "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.lib"
- CACHE FILEPATH "Path to zlib library (usually zlibwapi.lib)")
- set(ZLIB_DLL "${PROJECT_SOURCE_DIR}/../../zlib125dll/dll32/zlibwapi.dll"
- CACHE FILEPATH "Path to zlib DLL (for installation)")
- set(ZLIBWAPI_DLL "" CACHE FILEPATH "Path to zlibwapi DLL")
- set(IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../irrlicht-1.7.2"
- CACHE PATH "irrlicht dir")
- if(USE_FREETYPE)
- set(FREETYPE_INCLUDE_DIR_ft2build "${PROJECT_SOURCE_DIR}/../../freetype2/include/"
- CACHE PATH "freetype include dir")
- set(FREETYPE_INCLUDE_DIR_freetype2 "${PROJECT_SOURCE_DIR}/../../freetype2/include/freetype"
- CACHE PATH "freetype include dir")
- set(FREETYPE_LIBRARY "${PROJECT_SOURCE_DIR}/../../freetype2/objs/win32/vc2005/freetype247.lib"
- CACHE FILEPATH "Path to freetype247.lib")
- endif()
- if(ENABLE_SOUND)
- set(OPENAL_DLL "" CACHE FILEPATH "Path to OpenAL32.dll for installation (optional)")
- set(OGG_DLL "" CACHE FILEPATH "Path to libogg.dll for installation (optional)")
- set(VORBIS_DLL "" CACHE FILEPATH "Path to libvorbis.dll for installation (optional)")
- set(VORBISFILE_DLL "" CACHE FILEPATH "Path to libvorbisfile.dll for installation (optional)")
- endif()
- if(USE_LUAJIT)
- set(LUA_DLL "" CACHE FILEPATH "Path to lua51.dll for installation (optional)")
+ find_path(ZLIB_INCLUDE_DIR "zlib.h" DOC "Zlib include directory")
+ find_library(ZLIB_LIBRARIES "zlib" DOC "Path to zlib library")
+
+ # Dll's are automatically copied to the output directory by vcpkg when VCPKG_APPLOCAL_DEPS=ON
+ if(NOT VCPKG_APPLOCAL_DEPS)
+ find_file(ZLIB_DLL NAMES "zlib.dll" "zlib1.dll" DOC "Path to zlib.dll for installation (optional)")
+ if(ENABLE_SOUND)
+ set(OPENAL_DLL "" CACHE FILEPATH "Path to OpenAL32.dll for installation (optional)")
+ set(OGG_DLL "" CACHE FILEPATH "Path to libogg.dll for installation (optional)")
+ set(VORBIS_DLL "" CACHE FILEPATH "Path to libvorbis.dll for installation (optional)")
+ set(VORBISFILE_DLL "" CACHE FILEPATH "Path to libvorbisfile.dll for installation (optional)")
+ endif()
+ if(USE_LUAJIT)
+ set(LUA_DLL "" CACHE FILEPATH "Path to lua51.dll for installation (optional)")
+ endif()
endif()
+
else()
# Unix probably
if(BUILD_CLIENT)
@@ -297,11 +285,6 @@ else()
find_package(X11 REQUIRED)
endif(NOT HAIKU)
- set(OPENGL_GL_PREFERENCE "LEGACY" CACHE STRING
- "See CMake Policy CMP0072 for reference. GLVND is broken on some nvidia setups")
- set(OpenGL_GL_PREFERENCE ${OPENGL_GL_PREFERENCE})
-
- find_package(OpenGL REQUIRED)
find_package(JPEG REQUIRED)
find_package(BZip2 REQUIRED)
find_package(PNG REQUIRED)
@@ -423,7 +406,6 @@ set(common_SRCS
player.cpp
porting.cpp
profiler.cpp
- quicktune.cpp
raycast.cpp
reflowscan.cpp
remoteplayer.cpp
@@ -541,7 +523,6 @@ if(BUILD_CLIENT)
${PROJECT_NAME}
${ZLIB_LIBRARIES}
${IRRLICHT_LIBRARY}
- ${OPENGL_LIBRARIES}
${JPEG_LIBRARIES}
${BZIP2_LIBRARIES}
${PNG_LIBRARIES}
@@ -551,7 +532,6 @@ if(BUILD_CLIENT)
${LUA_LIBRARY}
${GMP_LIBRARY}
${JSON_LIBRARY}
- ${OPENGLES2_LIBRARIES}
${PLATFORM_LIBS}
${CLIENT_PLATFORM_LIBS}
)
@@ -565,6 +545,18 @@ if(BUILD_CLIENT)
${client_LIBS}
)
endif()
+ if(ENABLE_GLES)
+ target_link_libraries(
+ ${PROJECT_NAME}
+ ${OPENGLES2_LIBRARIES}
+ ${EGL_LIBRARIES}
+ )
+ else()
+ target_link_libraries(
+ ${PROJECT_NAME}
+ ${OPENGL_LIBRARIES}
+ )
+ endif()
if(USE_GETTEXT)
target_link_libraries(
${PROJECT_NAME}
@@ -593,7 +585,7 @@ if(BUILD_CLIENT)
target_link_libraries(${PROJECT_NAME} ${CURSES_LIBRARIES})
endif()
if (USE_POSTGRESQL)
- target_link_libraries(${PROJECT_NAME} ${POSTGRESQL_LIBRARY})
+ target_link_libraries(${PROJECT_NAME} ${PostgreSQL_LIBRARIES})
endif()
if (USE_LEVELDB)
target_link_libraries(${PROJECT_NAME} ${LEVELDB_LIBRARY})
@@ -628,7 +620,7 @@ if(BUILD_SERVER)
target_link_libraries(${PROJECT_NAME}server ${CURSES_LIBRARIES})
endif()
if (USE_POSTGRESQL)
- target_link_libraries(${PROJECT_NAME}server ${POSTGRESQL_LIBRARY})
+ target_link_libraries(${PROJECT_NAME}server ${PostgreSQL_LIBRARIES})
endif()
if (USE_LEVELDB)
target_link_libraries(${PROJECT_NAME}server ${LEVELDB_LIBRARY})
@@ -716,12 +708,6 @@ else()
set(OTHER_FLAGS "${OTHER_FLAGS} -Wsign-compare")
endif()
- if(WIN32 AND NOT ZLIBWAPI_DLL AND CMAKE_SIZEOF_VOID_P EQUAL 4)
- set(OTHER_FLAGS "${OTHER_FLAGS} -DWIN32_NO_ZLIB_WINAPI")
- message(WARNING "Defaulting to cdecl for zlib on win32 because ZLIBWAPI_DLL"
- " isn't set, ensure that ZLIBWAPI_DLL is set if you want stdcall.")
- endif()
-
if(MINGW)
set(OTHER_FLAGS "${OTHER_FLAGS} -mthreads -fexceptions")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWIN32_LEAN_AND_MEAN")
@@ -749,40 +735,58 @@ endif()
# Installation
if(WIN32)
- if(USE_SOUND)
- if(OPENAL_DLL)
- install(FILES ${OPENAL_DLL} DESTINATION ${BINDIR})
+ if(VCPKG_APPLOCAL_DEPS)
+ # Collect the dll's from the output path
+ install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/Release/
+ DESTINATION ${BINDIR}
+ CONFIGURATIONS Release
+ FILES_MATCHING PATTERN "*.dll")
+ install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/Debug/
+ DESTINATION ${BINDIR}
+ CONFIGURATIONS Debug
+ FILES_MATCHING PATTERN "*.dll")
+ install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/RelWithDebInfo/
+ DESTINATION ${BINDIR}
+ CONFIGURATIONS RelWithDebInfo
+ FILES_MATCHING PATTERN "*.dll")
+ install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/MinSizeRel/
+ DESTINATION ${BINDIR}
+ CONFIGURATIONS RelWithDebInfo
+ FILES_MATCHING PATTERN "*.dll")
+ else()
+ # Use the old-style way to install dll's
+ if(USE_SOUND)
+ if(OPENAL_DLL)
+ install(FILES ${OPENAL_DLL} DESTINATION ${BINDIR})
+ endif()
+ if(OGG_DLL)
+ install(FILES ${OGG_DLL} DESTINATION ${BINDIR})
+ endif()
+ if(VORBIS_DLL)
+ install(FILES ${VORBIS_DLL} DESTINATION ${BINDIR})
+ endif()
+ if(VORBISFILE_DLL)
+ install(FILES ${VORBISFILE_DLL} DESTINATION ${BINDIR})
+ endif()
endif()
- if(OGG_DLL)
- install(FILES ${OGG_DLL} DESTINATION ${BINDIR})
+ if(CURL_DLL)
+ install(FILES ${CURL_DLL} DESTINATION ${BINDIR})
endif()
- if(VORBIS_DLL)
- install(FILES ${VORBIS_DLL} DESTINATION ${BINDIR})
+ if(ZLIB_DLL)
+ install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR})
endif()
- if(VORBISFILE_DLL)
- install(FILES ${VORBISFILE_DLL} DESTINATION ${BINDIR})
+ if(FREETYPE_DLL)
+ install(FILES ${FREETYPE_DLL} DESTINATION ${BINDIR})
+ endif()
+ if(SQLITE3_DLL)
+ install(FILES ${SQLITE3_DLL} DESTINATION ${BINDIR})
+ endif()
+ if(LEVELDB_DLL)
+ install(FILES ${LEVELDB_DLL} DESTINATION ${BINDIR})
+ endif()
+ if(LUA_DLL)
+ install(FILES ${LUA_DLL} DESTINATION ${BINDIR})
endif()
- endif()
- if(CURL_DLL)
- install(FILES ${CURL_DLL} DESTINATION ${BINDIR})
- endif()
- if(ZLIB_DLL)
- install(FILES ${ZLIB_DLL} DESTINATION ${BINDIR})
- endif()
- if(ZLIBWAPI_DLL)
- install(FILES ${ZLIBWAPI_DLL} DESTINATION ${BINDIR})
- endif()
- if(FREETYPE_DLL)
- install(FILES ${FREETYPE_DLL} DESTINATION ${BINDIR})
- endif()
- if(SQLITE3_DLL)
- install(FILES ${SQLITE3_DLL} DESTINATION ${BINDIR})
- endif()
- if(LEVELDB_DLL)
- install(FILES ${LEVELDB_DLL} DESTINATION ${BINDIR})
- endif()
- if(LUA_DLL)
- install(FILES ${LUA_DLL} DESTINATION ${BINDIR})
endif()
endif()
@@ -819,15 +823,17 @@ if(BUILD_CLIENT)
endif()
if(WIN32)
- if(DEFINED IRRLICHT_DLL)
- install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR})
- endif()
- if(USE_GETTEXT)
- if(DEFINED GETTEXT_DLL)
- install(FILES ${GETTEXT_DLL} DESTINATION ${BINDIR})
+ if(NOT VCPKG_APPLOCAL_DEPS)
+ if(DEFINED IRRLICHT_DLL)
+ install(FILES ${IRRLICHT_DLL} DESTINATION ${BINDIR})
endif()
- if(DEFINED GETTEXT_ICONV_DLL)
- install(FILES ${GETTEXT_ICONV_DLL} DESTINATION ${BINDIR})
+ if(USE_GETTEXT)
+ if(DEFINED GETTEXT_DLL)
+ install(FILES ${GETTEXT_DLL} DESTINATION ${BINDIR})
+ endif()
+ if(DEFINED GETTEXT_ICONV_DLL)
+ install(FILES ${GETTEXT_ICONV_DLL} DESTINATION ${BINDIR})
+ endif()
endif()
endif()
endif()
diff --git a/src/activeobject.h b/src/activeobject.h
index b6a0e67af..a319ef904 100644
--- a/src/activeobject.h
+++ b/src/activeobject.h
@@ -20,8 +20,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#pragma once
#include "irr_aabb3d.h"
+#include "irr_v3d.h"
#include <string>
+
enum ActiveObjectType {
ACTIVEOBJECT_TYPE_INVALID = 0,
ACTIVEOBJECT_TYPE_TEST = 1,
@@ -98,6 +100,16 @@ public:
virtual bool collideWithObjects() const = 0;
+
+
+ virtual void setAttachment(int parent_id, const std::string &bone, v3f position,
+ v3f rotation) {}
+ virtual void getAttachment(int *parent_id, std::string *bone, v3f *position,
+ v3f *rotation) const {}
+ virtual void clearChildAttachments() {}
+ virtual void clearParentAttachment() {}
+ virtual void addAttachmentChild(int child_id) {}
+ virtual void removeAttachmentChild(int child_id) {}
protected:
u16 m_id; // 0 is invalid, "no id"
};
diff --git a/src/client/activeobjectmgr.cpp b/src/client/activeobjectmgr.cpp
index 4ed98d79b..82f3cb944 100644
--- a/src/client/activeobjectmgr.cpp
+++ b/src/client/activeobjectmgr.cpp
@@ -29,14 +29,16 @@ void ActiveObjectMgr::clear()
// delete active objects
for (auto &active_object : m_active_objects) {
delete active_object.second;
+ // Object must be marked as gone when children try to detach
+ active_object.second = nullptr;
}
+ m_active_objects.clear();
}
void ActiveObjectMgr::step(
float dtime, const std::function<void(ClientActiveObject *)> &f)
{
- g_profiler->avg("Client::ActiveObjectMgr: num of objects",
- m_active_objects.size());
+ g_profiler->avg("ActiveObjectMgr: CAO count [#]", m_active_objects.size());
for (auto &ao_it : m_active_objects) {
f(ao_it.second);
}
@@ -91,15 +93,16 @@ void ActiveObjectMgr::removeObject(u16 id)
void ActiveObjectMgr::getActiveObjects(const v3f &origin, f32 max_d,
std::vector<DistanceSortedActiveObject> &dest)
{
+ f32 max_d2 = max_d * max_d;
for (auto &ao_it : m_active_objects) {
ClientActiveObject *obj = ao_it.second;
- f32 d = (obj->getPosition() - origin).getLength();
+ f32 d2 = (obj->getPosition() - origin).getLengthSQ();
- if (d > max_d)
+ if (d2 > max_d2)
continue;
- dest.emplace_back(obj, d);
+ dest.emplace_back(obj, d2);
}
}
diff --git a/src/client/camera.cpp b/src/client/camera.cpp
index 1bbdb56ea..d1e76026d 100644
--- a/src/client/camera.cpp
+++ b/src/client/camera.cpp
@@ -99,9 +99,9 @@ bool Camera::successfullyCreated(std::string &error_message)
error_message.clear();
}
- if (g_settings->getBool("enable_client_modding")) {
+ if (m_client->modsLoaded())
m_client->getScript()->on_camera_ready(this);
- }
+
return error_message.empty();
}
@@ -412,7 +412,7 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, f32 tool_r
// Prevent camera positioned inside nodes
const NodeDefManager *nodemgr = m_client->ndef();
MapNode n = m_client->getEnv().getClientMap()
- .getNodeNoEx(floatToInt(my_cp, BS));
+ .getNode(floatToInt(my_cp, BS));
const ContentFeatures& features = nodemgr->get(n);
if (features.walkable) {
@@ -448,12 +448,26 @@ void Camera::update(LocalPlayer* player, f32 frametime, f32 busytime, f32 tool_r
if (m_camera_mode != CAMERA_MODE_FIRST)
m_camera_position = my_cp;
- // Get FOV
+ /*
+ * Apply server-sent FOV. If server doesn't enforce FOV,
+ * check for zoom and set to zoom FOV.
+ * Otherwise, default to m_cache_fov
+ */
+
f32 fov_degrees;
- // Disable zoom with zoom FOV = 0
- if (player->getPlayerControl().zoom && player->getZoomFOV() > 0.001f) {
+ PlayerFovSpec fov_spec = player->getFov();
+ if (fov_spec.fov > 0.0f) {
+ // If server-sent FOV is a multiplier, multiply
+ // it with m_cache_fov instead of overriding
+ if (fov_spec.is_multiplier)
+ fov_degrees = m_cache_fov * fov_spec.fov;
+ else
+ fov_degrees = fov_spec.fov;
+ } else if (player->getPlayerControl().zoom && player->getZoomFOV() > 0.001f) {
+ // Player requests zoom, apply zoom FOV
fov_degrees = player->getZoomFOV();
} else {
+ // Set to client's selected FOV
fov_degrees = m_cache_fov;
}
fov_degrees = rangelim(fov_degrees, 1.0f, 160.0f);
diff --git a/src/client/client.cpp b/src/client/client.cpp
index a4a379a73..caa3cc78c 100644
--- a/src/client/client.cpp
+++ b/src/client/client.cpp
@@ -108,30 +108,15 @@ Client::Client(
m_minimap = new Minimap(this);
}
m_cache_save_interval = g_settings->getU16("server_map_save_interval");
-
- m_modding_enabled = g_settings->getBool("enable_client_modding");
- // Only create the client script environment if client scripting is enabled by the
- // client.
- if (m_modding_enabled) {
- m_script = new ClientScripting(this);
- m_env.setScript(m_script);
- m_script->setEnv(&m_env);
- }
}
void Client::loadMods()
{
- // Don't load mods twice
- if (m_mods_loaded) {
- return;
- }
-
+ // Don't load mods twice.
// If client scripting is disabled by the client, don't load builtin or
// client-provided mods.
- if (!m_modding_enabled) {
- warningstream << "Client side scripting is disabled by client." << std::endl;
+ if (m_mods_loaded || !g_settings->getBool("enable_client_modding"))
return;
- }
// If client scripting is disabled by the server, don't load builtin or
// client-provided mods.
@@ -140,11 +125,13 @@ void Client::loadMods()
if (checkCSMRestrictionFlag(CSMRestrictionFlags::CSM_RF_LOAD_CLIENT_MODS)) {
warningstream << "Client-provided mod loading is disabled by server." <<
std::endl;
- // This line is needed because builtin is not loaded
- m_modding_enabled = false;
return;
}
+ m_script = new ClientScripting(this);
+ m_env.setScript(m_script);
+ m_script->setEnv(&m_env);
+
// Load builtin
scanModIntoMemory(BUILTIN_MOD_NAME, getBuiltinLuaPath());
m_script->loadModFromMemory(BUILTIN_MOD_NAME);
@@ -190,9 +177,15 @@ void Client::loadMods()
for (const ModSpec &mod : m_mods)
m_script->loadModFromMemory(mod.name);
+ // Mods are done loading. Unlock callbacks
+ m_mods_loaded = true;
+
// Run a callback when mods are loaded
m_script->on_mods_loaded();
- m_mods_loaded = true;
+ if (m_state == LC_Ready)
+ m_script->on_client_ready(m_env.getLocalPlayer());
+ if (m_camera)
+ m_script->on_camera_ready(m_camera);
}
bool Client::checkBuiltinIntegrity()
@@ -244,7 +237,7 @@ const ModSpec* Client::getModSpec(const std::string &modname) const
void Client::Stop()
{
m_shutdown = true;
- if (m_modding_enabled)
+ if (m_mods_loaded)
m_script->on_shutdown();
//request all client managed threads to stop
m_mesh_update_thread.stop();
@@ -254,7 +247,7 @@ void Client::Stop()
m_localdb->endSave();
}
- if (m_modding_enabled)
+ if (m_mods_loaded)
delete m_script;
}
@@ -371,7 +364,6 @@ void Client::step(float dtime)
*/
const float map_timer_and_unload_dtime = 5.25;
if(m_map_timer_and_unload_interval.step(dtime, map_timer_and_unload_dtime)) {
- ScopeProfiler sp(g_profiler, "Client: map timer and unload");
std::vector<v3s16> deleted_blocks;
m_env.getMap().timerUpdate(map_timer_and_unload_dtime,
g_settings->getFloat("client_unload_unused_data_timeout"),
@@ -480,6 +472,7 @@ void Client::step(float dtime)
*/
{
int num_processed_meshes = 0;
+ std::vector<v3s16> blocks_to_ack;
while (!m_mesh_update_thread.m_queue_out.empty())
{
num_processed_meshes++;
@@ -518,14 +511,18 @@ void Client::step(float dtime)
m_minimap->addBlock(r.p, minimap_mapblock);
if (r.ack_block_to_server) {
- /*
- Acknowledge block
- [0] u8 count
- [1] v3s16 pos_0
- */
- sendGotBlocks(r.p);
+ if (blocks_to_ack.size() == 255) {
+ sendGotBlocks(blocks_to_ack);
+ blocks_to_ack.clear();
+ }
+
+ blocks_to_ack.emplace_back(r.p);
}
}
+ if (blocks_to_ack.size() > 0) {
+ // Acknowledge block(s)
+ sendGotBlocks(blocks_to_ack);
+ }
if (num_processed_meshes > 0)
g_profiler->graphAdd("num_processed_meshes", num_processed_meshes);
@@ -558,8 +555,8 @@ void Client::step(float dtime)
if (count_after != count_before) {
// Do this every <interval> seconds after TOCLIENT_INVENTORY
// Reset the locally changed inventory to the authoritative inventory
- m_env.getLocalPlayer()->inventory = *m_inventory_from_server;
- m_inventory_updated = true;
+ player->inventory = *m_inventory_from_server;
+ m_update_wielded_item = true;
}
}
@@ -908,7 +905,7 @@ void writePlayerPos(LocalPlayer *myplayer, ClientMap *clientMap, NetworkPacket *
*pkt << fov << wanted_range;
}
-void Client::interact(u8 action, const PointedThing& pointed)
+void Client::interact(InteractAction action, const PointedThing& pointed)
{
if(m_state != LC_Ready) {
errorstream << "Client::interact() "
@@ -928,19 +925,12 @@ void Client::interact(u8 action, const PointedThing& pointed)
[5] u32 length of the next item (plen)
[9] serialized PointedThing
[9 + plen] player position information
- actions:
- 0: start digging (from undersurface) or use
- 1: stop digging (all parameters ignored)
- 2: digging completed
- 3: place block or item (to abovesurface)
- 4: use item
- 5: perform secondary action of item
*/
NetworkPacket pkt(TOSERVER_INTERACT, 1 + 2 + 0);
- pkt << action;
- pkt << (u16)getPlayerItem();
+ pkt << (u8)action;
+ pkt << myplayer->getWieldIndex();
std::ostringstream tmp_os(std::ios::binary);
pointed.serialize(tmp_os);
@@ -1074,10 +1064,13 @@ void Client::sendDeletedBlocks(std::vector<v3s16> &blocks)
Send(&pkt);
}
-void Client::sendGotBlocks(v3s16 block)
+void Client::sendGotBlocks(const std::vector<v3s16> &blocks)
{
- NetworkPacket pkt(TOSERVER_GOTBLOCKS, 1 + 6);
- pkt << (u8) 1 << block;
+ NetworkPacket pkt(TOSERVER_GOTBLOCKS, 1 + 6 * blocks.size());
+ pkt << (u8) blocks.size();
+ for (const v3s16 &block : blocks)
+ pkt << block;
+
Send(&pkt);
}
@@ -1200,7 +1193,7 @@ void Client::clearOutChatQueue()
}
void Client::sendChangePassword(const std::string &oldpassword,
- const std::string &newpassword)
+ const std::string &newpassword)
{
LocalPlayer *player = m_env.getLocalPlayer();
if (player == NULL)
@@ -1229,60 +1222,54 @@ void Client::sendRespawn()
void Client::sendReady()
{
NetworkPacket pkt(TOSERVER_CLIENT_READY,
- 1 + 1 + 1 + 1 + 2 + sizeof(char) * strlen(g_version_hash));
+ 1 + 1 + 1 + 1 + 2 + sizeof(char) * strlen(g_version_hash) + 2);
pkt << (u8) VERSION_MAJOR << (u8) VERSION_MINOR << (u8) VERSION_PATCH
<< (u8) 0 << (u16) strlen(g_version_hash);
pkt.putRawString(g_version_hash, (u16) strlen(g_version_hash));
+ pkt << (u16)FORMSPEC_API_VERSION;
Send(&pkt);
}
void Client::sendPlayerPos()
{
- LocalPlayer *myplayer = m_env.getLocalPlayer();
- if (!myplayer)
+ LocalPlayer *player = m_env.getLocalPlayer();
+ if (!player)
return;
ClientMap &map = m_env.getClientMap();
-
- u8 camera_fov = map.getCameraFov();
- u8 wanted_range = map.getControl().wanted_range;
-
- // Save bandwidth by only updating position when something changed
- if(myplayer->last_position == myplayer->getPosition() &&
- myplayer->last_speed == myplayer->getSpeed() &&
- myplayer->last_pitch == myplayer->getPitch() &&
- myplayer->last_yaw == myplayer->getYaw() &&
- myplayer->last_keyPressed == myplayer->keyPressed &&
- myplayer->last_camera_fov == camera_fov &&
- myplayer->last_wanted_range == wanted_range)
+ u8 camera_fov = map.getCameraFov();
+ u8 wanted_range = map.getControl().wanted_range;
+
+ // Save bandwidth by only updating position when
+ // player is not dead and something changed
+
+ // FIXME: This part causes breakages in mods like 3d_armor, and has been commented for now
+ // if (m_activeobjects_received && player->isDead())
+ // return;
+
+ if (
+ player->last_position == player->getPosition() &&
+ player->last_speed == player->getSpeed() &&
+ player->last_pitch == player->getPitch() &&
+ player->last_yaw == player->getYaw() &&
+ player->last_keyPressed == player->keyPressed &&
+ player->last_camera_fov == camera_fov &&
+ player->last_wanted_range == wanted_range)
return;
- myplayer->last_position = myplayer->getPosition();
- myplayer->last_speed = myplayer->getSpeed();
- myplayer->last_pitch = myplayer->getPitch();
- myplayer->last_yaw = myplayer->getYaw();
- myplayer->last_keyPressed = myplayer->keyPressed;
- myplayer->last_camera_fov = camera_fov;
- myplayer->last_wanted_range = wanted_range;
+ player->last_position = player->getPosition();
+ player->last_speed = player->getSpeed();
+ player->last_pitch = player->getPitch();
+ player->last_yaw = player->getYaw();
+ player->last_keyPressed = player->keyPressed;
+ player->last_camera_fov = camera_fov;
+ player->last_wanted_range = wanted_range;
NetworkPacket pkt(TOSERVER_PLAYERPOS, 12 + 12 + 4 + 4 + 4 + 1 + 1);
- writePlayerPos(myplayer, &map, &pkt);
-
- Send(&pkt);
-}
-
-void Client::sendPlayerItem(u16 item)
-{
- LocalPlayer *myplayer = m_env.getLocalPlayer();
- if (!myplayer)
- return;
-
- NetworkPacket pkt(TOSERVER_PLAYERITEM, 2);
-
- pkt << item;
+ writePlayerPos(player, &map, &pkt);
Send(&pkt);
}
@@ -1318,7 +1305,7 @@ MapNode Client::getNode(v3s16 p, bool *is_valid_position)
return {};
}
}
- return m_env.getMap().getNodeNoEx(p, is_valid_position);
+ return m_env.getMap().getNode(p, is_valid_position);
}
void Client::addNode(v3s16 p, MapNode n, bool remove_metadata)
@@ -1346,28 +1333,33 @@ void Client::setPlayerControl(PlayerControl &control)
player->control = control;
}
-void Client::selectPlayerItem(u16 item)
+void Client::setPlayerItem(u16 item)
{
- m_playeritem = item;
- m_inventory_updated = true;
- sendPlayerItem(item);
-}
+ m_env.getLocalPlayer()->setWieldIndex(item);
+ m_update_wielded_item = true;
-// Returns true if the inventory of the local player has been
-// updated from the server. If it is true, it is set to false.
-bool Client::getLocalInventoryUpdated()
-{
- bool updated = m_inventory_updated;
- m_inventory_updated = false;
- return updated;
+ NetworkPacket pkt(TOSERVER_PLAYERITEM, 2);
+ pkt << item;
+ Send(&pkt);
}
-// Copies the inventory of the local player to parameter
-void Client::getLocalInventory(Inventory &dst)
+// Returns true once after the inventory of the local player
+// has been updated from the server.
+bool Client::updateWieldedItem()
{
+ if (!m_update_wielded_item)
+ return false;
+
+ m_update_wielded_item = false;
+
LocalPlayer *player = m_env.getLocalPlayer();
assert(player);
- dst = player->inventory;
+ if (auto *list = player->inventory.getList("main"))
+ list->setModified(false);
+ if (auto *list = player->inventory.getList("hand"))
+ list->setModified(false);
+
+ return true;
}
Inventory* Client::getInventory(const InventoryLocation &loc)
@@ -1510,7 +1502,7 @@ void Client::typeChatMessage(const std::wstring &message)
return;
// If message was consumed by script API, don't send it to server
- if (m_modding_enabled && m_script->on_sending_message(wide_to_utf8(message)))
+ if (m_mods_loaded && m_script->on_sending_message(wide_to_utf8(message)))
return;
// Send to others
@@ -1706,9 +1698,8 @@ void Client::afterContentReceived()
m_state = LC_Ready;
sendReady();
- if (g_settings->getBool("enable_client_modding")) {
+ if (m_mods_loaded)
m_script->on_client_ready(m_env.getLocalPlayer());
- }
text = wgettext("Done!");
RenderingEngine::draw_load_screen(text, guienv, m_tsrc, 0, 100);
diff --git a/src/client/client.h b/src/client/client.h
index 312b8c87f..e3c931837 100644
--- a/src/client/client.h
+++ b/src/client/client.h
@@ -193,6 +193,7 @@ public:
void handleCommand_ActiveObjectRemoveAdd(NetworkPacket* pkt);
void handleCommand_ActiveObjectMessages(NetworkPacket* pkt);
void handleCommand_Movement(NetworkPacket* pkt);
+ void handleCommand_Fov(NetworkPacket *pkt);
void handleCommand_HP(NetworkPacket* pkt);
void handleCommand_Breath(NetworkPacket* pkt);
void handleCommand_MovePlayer(NetworkPacket* pkt);
@@ -227,12 +228,13 @@ public:
void handleCommand_SrpBytesSandB(NetworkPacket *pkt);
void handleCommand_FormspecPrepend(NetworkPacket *pkt);
void handleCommand_CSMRestrictionFlags(NetworkPacket *pkt);
+ void handleCommand_PlayerSpeed(NetworkPacket *pkt);
void ProcessData(NetworkPacket *pkt);
void Send(NetworkPacket* pkt);
- void interact(u8 action, const PointedThing& pointed);
+ void interact(InteractAction action, const PointedThing &pointed);
void sendNodemetaFields(v3s16 p, const std::string &formname,
const StringMap &fields);
@@ -271,20 +273,17 @@ public:
void setPlayerControl(PlayerControl &control);
- void selectPlayerItem(u16 item);
- u16 getPlayerItem() const
- { return m_playeritem; }
-
// Returns true if the inventory of the local player has been
// updated from the server. If it is true, it is set to false.
- bool getLocalInventoryUpdated();
- // Copies the inventory of the local player to parameter
- void getLocalInventory(Inventory &dst);
+ bool updateWieldedItem();
/* InventoryManager interface */
Inventory* getInventory(const InventoryLocation &loc) override;
void inventoryAction(InventoryAction *a) override;
+ // Send the item number 'item' as player item to the server
+ void setPlayerItem(u16 item);
+
const std::list<std::string> &getConnectedPlayerNames()
{
return m_env.getPlayerNames();
@@ -335,12 +334,14 @@ public:
// disconnect client when CSM failed.
const std::string &accessDeniedReason() const { return m_access_denied_reason; }
- bool itemdefReceived()
+ const bool itemdefReceived() const
{ return m_itemdef_received; }
- bool nodedefReceived()
+ const bool nodedefReceived() const
{ return m_nodedef_received; }
- bool mediaReceived()
+ const bool mediaReceived() const
{ return !m_media_downloader; }
+ const bool activeObjectsReceived() const
+ { return m_activeobjects_received; }
u16 getProtoVersion()
{ return m_proto_ver; }
@@ -399,7 +400,6 @@ public:
}
ClientScripting *getScript() { return m_script; }
- const bool moddingEnabled() const { return m_modding_enabled; }
const bool modsLoaded() const { return m_mods_loaded; }
void pushToEventQueue(ClientEvent *event);
@@ -454,8 +454,6 @@ private:
void Receive();
void sendPlayerPos();
- // Send the item number 'item' as player item to the server
- void sendPlayerItem(u16 item);
void deleteAuthData();
// helper method shared with clientpackethandler
@@ -465,7 +463,7 @@ private:
void promptConfirmRegistration(AuthMechanism chosen_auth_mechanism);
void startAuth(AuthMechanism chosen_auth_mechanism);
void sendDeletedBlocks(std::vector<v3s16> &blocks);
- void sendGotBlocks(v3s16 block);
+ void sendGotBlocks(const std::vector<v3s16> &blocks);
void sendRemovedSounds(std::vector<s32> &soundList);
// Helper function
@@ -506,8 +504,7 @@ private:
// If 0, server init hasn't been received yet.
u16 m_proto_ver = 0;
- u16 m_playeritem = 0;
- bool m_inventory_updated = false;
+ bool m_update_wielded_item = false;
Inventory *m_inventory_from_server = nullptr;
float m_inventory_from_server_age = 0.0f;
PacketCounter m_packetcounter;
@@ -545,6 +542,7 @@ private:
std::queue<ClientEvent *> m_client_event_queue;
bool m_itemdef_received = false;
bool m_nodedef_received = false;
+ bool m_activeobjects_received = false;
bool m_mods_loaded = false;
ClientMediaDownloader *m_media_downloader;
diff --git a/src/client/clientenvironment.cpp b/src/client/clientenvironment.cpp
index a788c93c2..5eb033302 100644
--- a/src/client/clientenvironment.cpp
+++ b/src/client/clientenvironment.cpp
@@ -47,8 +47,6 @@ ClientEnvironment::ClientEnvironment(ClientMap *map,
m_texturesource(texturesource),
m_client(client)
{
- char zero = 0;
- memset(attachement_parent_ids, zero, sizeof(attachement_parent_ids));
}
ClientEnvironment::~ClientEnvironment()
@@ -220,7 +218,7 @@ void ClientEnvironment::step(float dtime)
f32 post_factor = 1; // 1 hp per node/s
if (info.type == COLLISION_NODE) {
const ContentFeatures &f = m_client->ndef()->
- get(m_map->getNodeNoEx(info.node_p));
+ get(m_map->getNode(info.node_p));
// Determine fall damage multiplier
int addp = itemgroup_get(f.groups, "fall_damage_add_percent");
pre_factor = 1.0f + (float)addp / 100.0f;
@@ -250,7 +248,7 @@ void ClientEnvironment::step(float dtime)
MapNode node_at_lplayer(CONTENT_AIR, 0x0f, 0);
v3s16 p = lplayer->getLightPosition();
- node_at_lplayer = m_map->getNodeNoEx(p);
+ node_at_lplayer = m_map->getNode(p);
u16 light = getInteriorLight(node_at_lplayer, 0, m_client->ndef());
final_color_blend(&lplayer->light_color, light, day_night_ratio);
@@ -272,7 +270,7 @@ void ClientEnvironment::step(float dtime)
// Get node at head
v3s16 p = cao->getLightPosition();
- MapNode n = this->m_map->getNodeNoEx(p, &pos_ok);
+ MapNode n = this->m_map->getNode(p, &pos_ok);
if (pos_ok)
light = n.getLightBlend(day_night_ratio, m_client->ndef());
else
@@ -287,15 +285,14 @@ void ClientEnvironment::step(float dtime)
/*
Step and handle simple objects
*/
- g_profiler->avg("CEnv: num of simple objects", m_simple_objects.size());
+ g_profiler->avg("ClientEnv: CSO count [#]", m_simple_objects.size());
for (auto i = m_simple_objects.begin(); i != m_simple_objects.end();) {
- auto cur = i;
- ClientSimpleObject *simple = *cur;
+ ClientSimpleObject *simple = *i;
simple->step(dtime);
if(simple->m_to_be_removed) {
delete simple;
- i = m_simple_objects.erase(cur);
+ i = m_simple_objects.erase(i);
}
else {
++i;
@@ -353,7 +350,7 @@ u16 ClientEnvironment::addActiveObject(ClientActiveObject *object)
// Get node at head
v3s16 p = object->getLightPosition();
- MapNode n = m_map->getNodeNoEx(p, &pos_ok);
+ MapNode n = m_map->getNode(p, &pos_ok);
if (pos_ok)
light = n.getLightBlend(getDayNightRatio(), m_client->ndef());
else
@@ -392,7 +389,34 @@ void ClientEnvironment::addActiveObject(u16 id, u8 type,
<<std::endl;
}
- addActiveObject(obj);
+ u16 new_id = addActiveObject(obj);
+ // Object initialized:
+ if ((obj = getActiveObject(new_id))) {
+ // Final step is to update all children which are already known
+ // Data provided by GENERIC_CMD_SPAWN_INFANT
+ const auto &children = obj->getAttachmentChildIds();
+ for (auto c_id : children) {
+ if (auto *o = getActiveObject(c_id))
+ o->updateAttachments();
+ }
+ }
+}
+
+
+void ClientEnvironment::removeActiveObject(u16 id)
+{
+ // Get current attachment childs to detach them visually
+ std::unordered_set<int> attachment_childs;
+ if (auto *obj = getActiveObject(id))
+ attachment_childs = obj->getAttachmentChildIds();
+
+ m_ao_manager.removeObject(id);
+
+ // Perform a proper detach in Irrlicht
+ for (auto c_id : attachment_childs) {
+ if (ClientActiveObject *child = getActiveObject(c_id))
+ child->updateAttachments();
+ }
}
void ClientEnvironment::processActiveObjectMessage(u16 id, const std::string &data)
diff --git a/src/client/clientenvironment.h b/src/client/clientenvironment.h
index 4fa3f4848..864496a41 100644
--- a/src/client/clientenvironment.h
+++ b/src/client/clientenvironment.h
@@ -104,10 +104,7 @@ public:
u16 addActiveObject(ClientActiveObject *object);
void addActiveObject(u16 id, u8 type, const std::string &init_data);
- void removeActiveObject(u16 id)
- {
- m_ao_manager.removeObject(id);
- }
+ void removeActiveObject(u16 id);
void processActiveObjectMessage(u16 id, const std::string &data);
@@ -138,8 +135,6 @@ public:
std::vector<PointedThing> &objects
);
- u16 attachement_parent_ids[USHRT_MAX + 1];
-
const std::list<std::string> &getPlayerNames() { return m_player_names; }
void addPlayerName(const std::string &name) { m_player_names.push_back(name); }
void removePlayerName(const std::string &name) { m_player_names.remove(name); }
diff --git a/src/client/clientmap.cpp b/src/client/clientmap.cpp
index 969c55539..3e4ab2e94 100644
--- a/src/client/clientmap.cpp
+++ b/src/client/clientmap.cpp
@@ -63,14 +63,13 @@ ClientMap::ClientMap(
MapSector * ClientMap::emergeSector(v2s16 p2d)
{
// Check that it doesn't exist already
- try {
- return getSectorNoGenerate(p2d);
- } catch(InvalidPositionException &e) {
- }
+ MapSector *sector = getSectorNoGenerate(p2d);
- // Create a sector
- MapSector *sector = new MapSector(this, p2d, m_gamedef);
- m_sectors[p2d] = sector;
+ // Create it if it does not exist yet
+ if (!sector) {
+ sector = new MapSector(this, p2d, m_gamedef);
+ m_sectors[p2d] = sector;
+ }
return sector;
}
@@ -116,7 +115,6 @@ void ClientMap::getBlocksInViewRange(v3s16 cam_pos_nodes,
void ClientMap::updateDrawList()
{
ScopeProfiler sp(g_profiler, "CM::updateDrawList()", SPT_AVG);
- g_profiler->add("CM::updateDrawList() count", 1);
for (auto &i : m_drawlist) {
MapBlock *block = i.second;
@@ -138,34 +136,26 @@ void ClientMap::updateDrawList()
v3s16 p_blocks_max;
getBlocksInViewRange(cam_pos_nodes, &p_blocks_min, &p_blocks_max);
- // Number of blocks in rendering range
- u32 blocks_in_range = 0;
+ // Number of blocks with mesh in rendering range
+ u32 blocks_in_range_with_mesh = 0;
// Number of blocks occlusion culled
u32 blocks_occlusion_culled = 0;
- // Number of blocks in rendering range but don't have a mesh
- u32 blocks_in_range_without_mesh = 0;
- // Blocks that had mesh that would have been drawn according to
- // rendering range (if max blocks limit didn't kick in)
- u32 blocks_would_have_drawn = 0;
- // Blocks that were drawn and had a mesh
- u32 blocks_drawn = 0;
- // Blocks which had a corresponding meshbuffer for this pass
- //u32 blocks_had_pass_meshbuf = 0;
- // Blocks from which stuff was actually drawn
- //u32 blocks_without_stuff = 0;
- // Distance to farthest drawn block
- float farthest_drawn = 0;
// No occlusion culling when free_move is on and camera is
// inside ground
bool occlusion_culling_enabled = true;
- if (g_settings->getBool("free_move")) {
- MapNode n = getNodeNoEx(cam_pos_nodes);
+ if (g_settings->getBool("free_move") && g_settings->getBool("noclip")) {
+ MapNode n = getNode(cam_pos_nodes);
if (n.getContent() == CONTENT_IGNORE ||
m_nodedef->get(n).solidness == 2)
occlusion_culling_enabled = false;
}
+ // Uncomment to debug occluded blocks in the wireframe mode
+ // TODO: Include this as a flag for an extended debugging setting
+ //if (occlusion_culling_enabled && m_control.show_wireframe)
+ // occlusion_culling_enabled = porting::getTimeS() & 1;
+
for (const auto &sector_it : m_sectors) {
MapSector *sector = sector_it.second;
v2s16 sp = sector->getPos();
@@ -185,11 +175,11 @@ void ClientMap::updateDrawList()
u32 sector_blocks_drawn = 0;
- for (auto block : sectorblocks) {
+ for (MapBlock *block : sectorblocks) {
/*
- Compare block position to camera position, skip
- if not seen on display
- */
+ Compare block position to camera position, skip
+ if not seen on display
+ */
if (block->mesh)
block->mesh->updateCameraOffset(m_camera_offset);
@@ -203,20 +193,20 @@ void ClientMap::updateDrawList()
camera_direction, camera_fov, range, &d))
continue;
- blocks_in_range++;
/*
Ignore if mesh doesn't exist
*/
- if (!block->mesh) {
- blocks_in_range_without_mesh++;
+ if (!block->mesh)
continue;
- }
+
+ blocks_in_range_with_mesh++;
/*
Occlusion culling
*/
- if (occlusion_culling_enabled && isBlockOccluded(block, cam_pos_nodes)) {
+ if ((!m_control.range_all && d > m_control.wanted_range * BS) ||
+ (occlusion_culling_enabled && isBlockOccluded(block, cam_pos_nodes))) {
blocks_occlusion_culled++;
continue;
}
@@ -224,36 +214,20 @@ void ClientMap::updateDrawList()
// This block is in range. Reset usage timer.
block->resetUsageTimer();
- // Limit block count in case of a sudden increase
- blocks_would_have_drawn++;
- if (blocks_drawn >= m_control.wanted_max_blocks &&
- !m_control.range_all &&
- d > m_control.wanted_range * BS)
- continue;
-
// Add to set
block->refGrab();
m_drawlist[block->getPos()] = block;
sector_blocks_drawn++;
- blocks_drawn++;
- if (d / BS > farthest_drawn)
- farthest_drawn = d / BS;
-
} // foreach sectorblocks
if (sector_blocks_drawn != 0)
m_last_drawn_sectors.insert(sp);
}
- g_profiler->avg("CM: blocks in range", blocks_in_range);
- g_profiler->avg("CM: blocks occlusion culled", blocks_occlusion_culled);
- if (blocks_in_range != 0)
- g_profiler->avg("CM: blocks in range without mesh (frac)",
- (float)blocks_in_range_without_mesh / blocks_in_range);
- g_profiler->avg("CM: blocks drawn", blocks_drawn);
- g_profiler->avg("CM: farthest drawn", farthest_drawn);
- g_profiler->avg("CM: wanted max blocks", m_control.wanted_max_blocks);
+ g_profiler->avg("MapBlock meshes in range [#]", blocks_in_range_with_mesh);
+ g_profiler->avg("MapBlocks occlusion culled [#]", blocks_occlusion_culled);
+ g_profiler->avg("MapBlocks drawn [#]", m_drawlist.size());
}
struct MeshBufList
@@ -306,9 +280,9 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
std::string prefix;
if (pass == scene::ESNRP_SOLID)
- prefix = "CM: solid: ";
+ prefix = "renderMap(SOLID): ";
else
- prefix = "CM: transparent: ";
+ prefix = "renderMap(TRANSPARENT): ";
/*
This is called two times per frame, reset on the non-transparent one
@@ -317,14 +291,6 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
m_last_drawn_sectors.clear();
/*
- Get time for measuring timeout.
-
- Measuring time is very useful for long delays when the
- machine is swapping a lot.
- */
- std::time_t time1 = time(0);
-
- /*
Get animation parameters
*/
float animation_time = m_client->getAnimationTime();
@@ -340,26 +306,15 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
*/
u32 vertex_count = 0;
- u32 meshbuffer_count = 0;
// For limiting number of mesh animations per frame
u32 mesh_animate_count = 0;
- u32 mesh_animate_count_far = 0;
-
- // Blocks that were drawn and had a mesh
- u32 blocks_drawn = 0;
- // Blocks which had a corresponding meshbuffer for this pass
- u32 blocks_had_pass_meshbuf = 0;
- // Blocks from which stuff was actually drawn
- u32 blocks_without_stuff = 0;
+ //u32 mesh_animate_count_far = 0;
/*
Draw the selected MapBlocks
*/
- {
- ScopeProfiler sp(g_profiler, prefix + "drawing blocks", SPT_AVG);
-
MeshBufListList drawbufs;
for (auto &i : m_drawlist) {
@@ -381,15 +336,13 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
assert(mapBlockMesh);
// Pretty random but this should work somewhat nicely
bool faraway = d >= BS * 50;
- //bool faraway = d >= m_control.wanted_range * BS;
if (mapBlockMesh->isAnimationForced() || !faraway ||
- mesh_animate_count_far < (m_control.range_all ? 200 : 50)) {
+ mesh_animate_count < (m_control.range_all ? 200 : 50)) {
+
bool animated = mapBlockMesh->animate(faraway, animation_time,
crack, daynight_ratio);
if (animated)
mesh_animate_count++;
- if (animated && faraway)
- mesh_animate_count_far++;
} else {
mapBlockMesh->decreaseAnimationForceTimer();
}
@@ -437,46 +390,33 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
}
}
+ TimeTaker draw("Drawing mesh buffers");
+
// Render all layers in order
for (auto &lists : drawbufs.lists) {
- int timecheck_counter = 0;
for (MeshBufList &list : lists) {
- timecheck_counter++;
- if (timecheck_counter > 50) {
- timecheck_counter = 0;
- std::time_t time2 = time(0);
- if (time2 > time1 + 4) {
- infostream << "ClientMap::renderMap(): "
- "Rendering takes ages, returning."
- << std::endl;
- return;
- }
+ // Check and abort if the machine is swapping a lot
+ if (draw.getTimerTime() > 2000) {
+ infostream << "ClientMap::renderMap(): Rendering took >2s, " <<
+ "returning." << std::endl;
+ return;
}
-
driver->setMaterial(list.m);
for (scene::IMeshBuffer *buf : list.bufs) {
driver->drawMeshBuffer(buf);
vertex_count += buf->getVertexCount();
- meshbuffer_count++;
}
}
}
- } // ScopeProfiler
+ g_profiler->avg(prefix + "draw meshes [ms]", draw.stop(true));
// Log only on solid pass because values are the same
if (pass == scene::ESNRP_SOLID) {
- g_profiler->avg("CM: animated meshes", mesh_animate_count);
- g_profiler->avg("CM: animated meshes (far)", mesh_animate_count_far);
+ g_profiler->avg("renderMap(): animated meshes [#]", mesh_animate_count);
}
- g_profiler->avg(prefix + "vertices drawn", vertex_count);
- if (blocks_had_pass_meshbuf != 0)
- g_profiler->avg(prefix + "meshbuffers per block",
- (float)meshbuffer_count / (float)blocks_had_pass_meshbuf);
- if (blocks_drawn != 0)
- g_profiler->avg(prefix + "empty blocks (frac)",
- (float)blocks_without_stuff / blocks_drawn);
+ g_profiler->avg(prefix + "vertices drawn [#]", vertex_count);
}
static bool getVisibleBrightness(Map *map, const v3f &p0, v3f dir, float step,
@@ -497,7 +437,7 @@ static bool getVisibleBrightness(Map *map, const v3f &p0, v3f dir, float step,
// Check content nearly at camera position
{
v3s16 p = floatToInt(p0 /*+ dir * 3*BS*/, BS);
- MapNode n = map->getNodeNoEx(p);
+ MapNode n = map->getNode(p);
if(ndef->get(n).param_type == CPT_LIGHT &&
!ndef->get(n).sunlight_propagates)
allow_allowing_non_sunlight_propagates = true;
@@ -505,7 +445,7 @@ static bool getVisibleBrightness(Map *map, const v3f &p0, v3f dir, float step,
// If would start at CONTENT_IGNORE, start closer
{
v3s16 p = floatToInt(pf, BS);
- MapNode n = map->getNodeNoEx(p);
+ MapNode n = map->getNode(p);
if(n.getContent() == CONTENT_IGNORE){
float newd = 2*BS;
pf = p0 + dir * 2*newd;
@@ -519,7 +459,7 @@ static bool getVisibleBrightness(Map *map, const v3f &p0, v3f dir, float step,
step *= step_multiplier;
v3s16 p = floatToInt(pf, BS);
- MapNode n = map->getNodeNoEx(p);
+ MapNode n = map->getNode(p);
if (allow_allowing_non_sunlight_propagates && i == 0 &&
ndef->get(n).param_type == CPT_LIGHT &&
!ndef->get(n).sunlight_propagates) {
@@ -555,6 +495,7 @@ static bool getVisibleBrightness(Map *map, const v3f &p0, v3f dir, float step,
int ClientMap::getBackgroundBrightness(float max_d, u32 daylight_factor,
int oldvalue, bool *sunlight_seen_result)
{
+ ScopeProfiler sp(g_profiler, "CM::getBackgroundBrightness", SPT_AVG);
static v3f z_directions[50] = {
v3f(-100, 0, 0)
};
@@ -621,7 +562,7 @@ int ClientMap::getBackgroundBrightness(float max_d, u32 daylight_factor,
int ret = 0;
if(brightness_count == 0){
- MapNode n = getNodeNoEx(floatToInt(m_camera_position, BS));
+ MapNode n = getNode(floatToInt(m_camera_position, BS));
if(m_nodedef->get(n).param_type == CPT_LIGHT){
ret = decode_light(n.getLightBlend(daylight_factor, m_nodedef));
} else {
@@ -640,7 +581,7 @@ void ClientMap::renderPostFx(CameraMode cam_mode)
// Sadly ISceneManager has no "post effects" render pass, in that case we
// could just register for that and handle it in renderMap().
- MapNode n = getNodeNoEx(floatToInt(m_camera_position, BS));
+ MapNode n = getNode(floatToInt(m_camera_position, BS));
// - If the player is in a solid node, make everything black.
// - If the player is in liquid, draw a semi-transparent overlay.
diff --git a/src/client/clientmap.h b/src/client/clientmap.h
index 8402bb00d..172e3a1d6 100644
--- a/src/client/clientmap.h
+++ b/src/client/clientmap.h
@@ -31,8 +31,6 @@ struct MapDrawControl
bool range_all = false;
// Wanted drawing range
float wanted_range = 0.0f;
- // Maximum number of blocks to draw
- u32 wanted_max_blocks = 0;
// show a wire frame for debugging
bool show_wireframe = false;
};
diff --git a/src/client/clientmedia.cpp b/src/client/clientmedia.cpp
index e3ad92dbc..6da99bbbf 100644
--- a/src/client/clientmedia.cpp
+++ b/src/client/clientmedia.cpp
@@ -254,6 +254,16 @@ void ClientMediaDownloader::initialStep(Client *client)
fetch_request.post_data = required_hash_set;
fetch_request.extra_headers.emplace_back(
"Content-Type: application/octet-stream");
+
+ // Encapsulate possible IPv6 plain address in []
+ std::string addr = client->getAddressName();
+ if (addr.find(':', 0) != std::string::npos)
+ addr = '[' + addr + ']';
+ fetch_request.extra_headers.emplace_back(
+ std::string("Referer: minetest://") +
+ addr + ":" +
+ std::to_string(client->getServerAddress().getPort()));
+
httpfetch_async(fetch_request);
m_httpfetch_active++;
diff --git a/src/client/clientobject.h b/src/client/clientobject.h
index 9377d1e67..c673fff9a 100644
--- a/src/client/clientobject.h
+++ b/src/client/clientobject.h
@@ -22,6 +22,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "irrlichttypes_extrabloated.h"
#include "activeobject.h"
#include <unordered_map>
+#include <unordered_set>
+
class ClientEnvironment;
class ITextureSource;
@@ -37,51 +39,53 @@ public:
ClientActiveObject(u16 id, Client *client, ClientEnvironment *env);
virtual ~ClientActiveObject();
- virtual void addToScene(ITextureSource *tsrc) {};
+ virtual void addToScene(ITextureSource *tsrc) {}
virtual void removeFromScene(bool permanent) {}
// 0 <= light_at_pos <= LIGHT_SUN
- virtual void updateLight(u8 light_at_pos){}
- virtual void updateLightNoCheck(u8 light_at_pos){}
- virtual v3s16 getLightPosition(){return v3s16(0,0,0);}
+ virtual void updateLight(u8 light_at_pos) {}
+ virtual void updateLightNoCheck(u8 light_at_pos) {}
+ virtual v3s16 getLightPosition() { return v3s16(0, 0, 0); }
virtual bool getCollisionBox(aabb3f *toset) const { return false; }
virtual bool getSelectionBox(aabb3f *toset) const { return false; }
virtual bool collideWithObjects() const { return false; }
- virtual v3f getPosition(){ return v3f(0,0,0); }
- virtual float getYaw() const { return 0; }
+ virtual const v3f getPosition() const { return v3f(0.0f); }
virtual scene::ISceneNode *getSceneNode() { return NULL; }
virtual scene::IAnimatedMeshSceneNode *getAnimatedMeshSceneNode() { return NULL; }
- virtual bool isLocalPlayer() const {return false;}
+ virtual bool isLocalPlayer() const { return false; }
+
virtual ClientActiveObject *getParent() const { return nullptr; };
- virtual void setAttachments() {}
- virtual bool doShowSelectionBox(){return true;}
+ virtual const std::unordered_set<int> &getAttachmentChildIds() const
+ { static std::unordered_set<int> rv; return rv; }
+ virtual void updateAttachments() {};
+
+ virtual bool doShowSelectionBox() { return true; }
// Step object in time
- virtual void step(float dtime, ClientEnvironment *env){}
+ virtual void step(float dtime, ClientEnvironment *env) {}
// Process a message sent by the server side object
- virtual void processMessage(const std::string &data){}
+ virtual void processMessage(const std::string &data) {}
- virtual std::string infoText() {return "";}
- virtual std::string debugInfoText() {return "";}
+ virtual std::string infoText() { return ""; }
+ virtual std::string debugInfoText() { return ""; }
/*
This takes the return value of
ServerActiveObject::getClientInitializationData
*/
- virtual void initialize(const std::string &data){}
+ virtual void initialize(const std::string &data) {}
// Create a certain type of ClientActiveObject
- static ClientActiveObject* create(ActiveObjectType type, Client *client,
- ClientEnvironment *env);
+ static ClientActiveObject *create(ActiveObjectType type, Client *client,
+ ClientEnvironment *env);
// If returns true, punch will not be sent to the server
- virtual bool directReportPunch(v3f dir, const ItemStack *punchitem=NULL,
- float time_from_last_punch=1000000)
- { return false; }
+ virtual bool directReportPunch(v3f dir, const ItemStack *punchitem = nullptr,
+ float time_from_last_punch = 1000000) { return false; }
protected:
// Used for creating objects based on type
- typedef ClientActiveObject* (*Factory)(Client *client, ClientEnvironment *env);
+ typedef ClientActiveObject *(*Factory)(Client *client, ClientEnvironment *env);
static void registerType(u16 type, Factory f);
Client *m_client;
ClientEnvironment *m_env;
@@ -90,10 +94,10 @@ private:
static std::unordered_map<u16, Factory> m_types;
};
-struct DistanceSortedActiveObject
+class DistanceSortedActiveObject
{
+public:
ClientActiveObject *obj;
- f32 d;
DistanceSortedActiveObject(ClientActiveObject *a_obj, f32 a_d)
{
@@ -105,4 +109,7 @@ struct DistanceSortedActiveObject
{
return d < other.d;
}
+
+private:
+ f32 d;
};
diff --git a/src/client/clouds.cpp b/src/client/clouds.cpp
index 13051f32c..887a62f25 100644
--- a/src/client/clouds.cpp
+++ b/src/client/clouds.cpp
@@ -99,7 +99,7 @@ void Clouds::render()
//if(SceneManager->getSceneNodeRenderPass() != scene::ESNRP_SOLID)
return;
- ScopeProfiler sp(g_profiler, "Rendering of clouds, avg", SPT_AVG);
+ ScopeProfiler sp(g_profiler, "Clouds::render()", SPT_AVG);
int num_faces_to_draw = m_enable_3d ? 6 : 1;
diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp
index 8643b5824..a15c1cc0b 100644
--- a/src/client/content_cao.cpp
+++ b/src/client/content_cao.cpp
@@ -17,36 +17,35 @@ with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include "content_cao.h"
+#include <IBillboardSceneNode.h>
#include <ICameraSceneNode.h>
#include <ITextSceneNode.h>
-#include <IBillboardSceneNode.h>
#include <IMeshManipulator.h>
#include <IAnimatedMeshSceneNode.h>
-#include "content_cao.h"
-#include "util/numeric.h" // For IntervalLimiter & setPitchYawRoll
-#include "util/serialize.h"
-#include "util/basic_macros.h"
+#include "client/client.h"
+#include "client/renderingengine.h"
#include "client/sound.h"
#include "client/tile.h"
-#include "environment.h"
+#include "util/basic_macros.h"
+#include "util/numeric.h" // For IntervalLimiter & setPitchYawRoll
+#include "util/serialize.h"
+#include "camera.h" // CameraModes
#include "collision.h"
-#include "settings.h"
-#include "serialization.h" // For decompressZlib
-#include "clientobject.h"
-#include "mesh.h"
-#include "itemdef.h"
-#include "tool.h"
#include "content_cso.h"
-#include "sound.h"
-#include "nodedef.h"
+#include "environment.h"
+#include "itemdef.h"
#include "localplayer.h"
#include "map.h"
-#include "camera.h" // CameraModes
-#include "client.h"
+#include "mesh.h"
+#include "nodedef.h"
+#include "serialization.h" // For decompressZlib
+#include "settings.h"
+#include "sound.h"
+#include "tool.h"
#include "wieldmesh.h"
#include <algorithm>
#include <cmath>
-#include "client/renderingengine.h"
class Settings;
struct ToolCapabilities;
@@ -305,6 +304,7 @@ void TestCAO::processMessage(const std::string &data)
*/
#include "genericobject.h"
+#include "clientobject.h"
GenericCAO::GenericCAO(Client *client, ClientEnvironment *env):
ClientActiveObject(0, client, env)
@@ -372,6 +372,7 @@ void GenericCAO::processInitData(const std::string &data)
m_position = readV3F32(is);
m_rotation = readV3F32(is);
m_hp = readU16(is);
+
const u8 num_messages = readU8(is);
for (int i = 0; i < num_messages; i++) {
@@ -400,7 +401,7 @@ bool GenericCAO::getSelectionBox(aabb3f *toset) const
return true;
}
-v3f GenericCAO::getPosition()
+const v3f GenericCAO::getPosition() const
{
if (getParent() != nullptr) {
if (m_matrixnode)
@@ -443,7 +444,7 @@ scene::IAnimatedMeshSceneNode* GenericCAO::getAnimatedMeshSceneNode()
void GenericCAO::setChildrenVisible(bool toset)
{
- for (u16 cao_id : m_children) {
+ for (u16 cao_id : m_attachment_child_ids) {
GenericCAO *obj = m_env->getGenericCAO(cao_id);
if (obj) {
obj->setVisible(toset);
@@ -451,43 +452,81 @@ void GenericCAO::setChildrenVisible(bool toset)
}
}
-void GenericCAO::setAttachments()
+void GenericCAO::setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation)
{
+ int old_parent = m_attachment_parent_id;
+ m_attachment_parent_id = parent_id;
+ m_attachment_bone = bone;
+ m_attachment_position = position;
+ m_attachment_rotation = rotation;
+
+ ClientActiveObject *parent = m_env->getActiveObject(parent_id);
+
+ if (parent_id != old_parent) {
+ if (auto *o = m_env->getActiveObject(old_parent))
+ o->removeAttachmentChild(m_id);
+ if (parent)
+ parent->addAttachmentChild(m_id);
+ }
+
updateAttachments();
}
-ClientActiveObject* GenericCAO::getParent() const
+void GenericCAO::getAttachment(int *parent_id, std::string *bone, v3f *position,
+ v3f *rotation) const
+{
+ *parent_id = m_attachment_parent_id;
+ *bone = m_attachment_bone;
+ *position = m_attachment_position;
+ *rotation = m_attachment_rotation;
+}
+
+void GenericCAO::clearChildAttachments()
{
- ClientActiveObject *obj = NULL;
+ // Cannot use for-loop here: setAttachment() modifies 'm_attachment_child_ids'!
+ while (!m_attachment_child_ids.empty()) {
+ int child_id = *m_attachment_child_ids.begin();
- u16 attached_id = m_env->attachement_parent_ids[getId()];
+ if (ClientActiveObject *child = m_env->getActiveObject(child_id))
+ child->setAttachment(0, "", v3f(), v3f());
- if ((attached_id != 0) &&
- (attached_id != getId())) {
- obj = m_env->getActiveObject(attached_id);
+ removeAttachmentChild(child_id);
}
- return obj;
}
-void GenericCAO::removeFromScene(bool permanent)
+void GenericCAO::clearParentAttachment()
{
- // Should be true when removing the object permanently and false when refreshing (eg: updating visuals)
- if((m_env != NULL) && (permanent))
- {
- for (u16 ci : m_children) {
- if (m_env->attachement_parent_ids[ci] == getId()) {
- m_env->attachement_parent_ids[ci] = 0;
- }
- }
- m_children.clear();
+ if (m_attachment_parent_id)
+ setAttachment(0, "", m_attachment_position, m_attachment_rotation);
+ else
+ setAttachment(0, "", v3f(), v3f());
+}
- m_env->attachement_parent_ids[getId()] = 0;
+void GenericCAO::addAttachmentChild(int child_id)
+{
+ m_attachment_child_ids.insert(child_id);
+}
- LocalPlayer* player = m_env->getLocalPlayer();
- if (this == player->parent) {
- player->parent = nullptr;
- player->isAttached = false;
- }
+void GenericCAO::removeAttachmentChild(int child_id)
+{
+ m_attachment_child_ids.erase(child_id);
+}
+
+ClientActiveObject* GenericCAO::getParent() const
+{
+ return m_attachment_parent_id ? m_env->getActiveObject(m_attachment_parent_id) :
+ nullptr;
+}
+
+void GenericCAO::removeFromScene(bool permanent)
+{
+ // Should be true when removing the object permanently
+ // and false when refreshing (eg: updating visuals)
+ if (m_env && permanent) {
+ // The client does not know whether this object does re-appear to
+ // a later time, thus do not clear child attachments.
+
+ clearParentAttachment();
}
if (m_meshnode) {
@@ -711,6 +750,7 @@ void GenericCAO::addToScene(ITextureSource *tsrc)
updateTextures(m_current_texture_modifier);
scene::ISceneNode *node = getSceneNode();
+
if (node && !m_prop.nametag.empty() && !m_is_local_player) {
// Add nametag
v3f pos;
@@ -736,7 +776,7 @@ void GenericCAO::updateLight(u8 light_at_pos)
updateLightNoCheck(light_at_pos);
// Update light of all children
- for (u16 i : m_children) {
+ for (u16 i : m_attachment_child_ids) {
ClientActiveObject *obj = m_env->getActiveObject(i);
if (obj) {
obj->updateLightNoCheck(light_at_pos);
@@ -871,12 +911,8 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
// Attachments, part 1: All attached objects must be unparented first,
// or Irrlicht causes a segmentation fault
- for (auto ci = m_children.begin(); ci != m_children.end();) {
- if (m_env->attachement_parent_ids[*ci] != getId()) {
- ci = m_children.erase(ci);
- continue;
- }
- ClientActiveObject *obj = m_env->getActiveObject(*ci);
+ for (u16 cao_id : m_attachment_child_ids) {
+ ClientActiveObject *obj = m_env->getActiveObject(cao_id);
if (obj) {
scene::ISceneNode *child_node = obj->getSceneNode();
// The node's parent is always an IDummyTraformationSceneNode,
@@ -884,18 +920,16 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
if (child_node)
child_node->getParent()->setParent(m_smgr->getRootSceneNode());
}
- ++ci;
}
removeFromScene(false);
addToScene(m_client->tsrc());
// Attachments, part 2: Now that the parent has been refreshed, put its attachments back
- for (u16 cao_id : m_children) {
- // Get the object of the child
+ for (u16 cao_id : m_attachment_child_ids) {
ClientActiveObject *obj = m_env->getActiveObject(cao_id);
if (obj)
- obj->setAttachments();
+ obj->updateAttachments();
}
}
@@ -916,7 +950,6 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
{
LocalPlayer *player = m_env->getLocalPlayer();
player->overridePosition = getParent()->getPosition();
- m_env->getLocalPlayer()->parent = getParent();
}
} else {
rot_translator.translate(dtime);
@@ -960,7 +993,7 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
const NodeDefManager *ndef = m_client->ndef();
v3s16 p = floatToInt(getPosition() +
v3f(0.0f, (m_prop.collisionbox.MinEdge.Y - 0.5f) * BS, 0.0f), BS);
- MapNode n = m_env->getMap().getNodeNoEx(p);
+ MapNode n = m_env->getMap().getNode(p);
SimpleSoundSpec spec = ndef->get(n).sound_footstep;
// Reduce footstep gain, as non-local-player footsteps are
// somehow louder.
@@ -997,15 +1030,20 @@ void GenericCAO::step(float dtime, ClientEnvironment *env)
if (!getParent() && m_prop.automatic_face_movement_dir &&
(fabs(m_velocity.Z) > 0.001 || fabs(m_velocity.X) > 0.001)) {
-
float target_yaw = atan2(m_velocity.Z, m_velocity.X) * 180 / M_PI
+ m_prop.automatic_face_movement_dir_offset;
- float max_rotation_delta =
- dtime * m_prop.automatic_face_movement_max_rotation_per_sec;
+ float max_rotation_per_sec =
+ m_prop.automatic_face_movement_max_rotation_per_sec;
- wrappedApproachShortest(m_rotation.Y, target_yaw, max_rotation_delta, 360.f);
- rot_translator.val_current = m_rotation;
+ if (max_rotation_per_sec > 0) {
+ wrappedApproachShortest(m_rotation.Y, target_yaw,
+ dtime * max_rotation_per_sec, 360.f);
+ } else {
+ // Negative values of max_rotation_per_sec mean disabled.
+ m_rotation.Y = target_yaw;
+ }
+ rot_translator.val_current = m_rotation;
updateNodePos();
}
}
@@ -1057,6 +1095,7 @@ void GenericCAO::updateTexturePos()
}
}
+// Do not pass by reference, see header.
void GenericCAO::updateTextures(std::string mod)
{
ITextureSource *tsrc = m_client->tsrc();
@@ -1225,18 +1264,19 @@ void GenericCAO::updateTextures(std::string mod)
buf->getMaterial().AmbientColor = m_prop.colors[1];
buf->getMaterial().DiffuseColor = m_prop.colors[1];
buf->getMaterial().SpecularColor = m_prop.colors[1];
- setMeshColor(mesh, m_prop.colors[1]);
} else if (!m_prop.colors.empty()) {
buf->getMaterial().AmbientColor = m_prop.colors[0];
buf->getMaterial().DiffuseColor = m_prop.colors[0];
buf->getMaterial().SpecularColor = m_prop.colors[0];
- setMeshColor(mesh, m_prop.colors[0]);
}
buf->getMaterial().setFlag(video::EMF_TRILINEAR_FILTER, use_trilinear_filter);
buf->getMaterial().setFlag(video::EMF_BILINEAR_FILTER, use_bilinear_filter);
buf->getMaterial().setFlag(video::EMF_ANISOTROPIC_FILTER, use_anisotropic_filter);
}
+ // Set mesh color (only if lighting is disabled)
+ if (!m_prop.colors.empty() && m_glow < 0)
+ setMeshColor(mesh, m_prop.colors[0]);
}
}
}
@@ -1290,6 +1330,21 @@ void GenericCAO::updateBonePosition()
void GenericCAO::updateAttachments()
{
ClientActiveObject *parent = getParent();
+
+ m_attached_to_local = parent && parent->isLocalPlayer();
+
+ /*
+ Following cases exist:
+ m_attachment_parent_id == 0 && !parent
+ This object is not attached
+ m_attachment_parent_id != 0 && parent
+ This object is attached
+ m_attachment_parent_id != 0 && !parent
+ This object will be attached as soon the parent is known
+ m_attachment_parent_id == 0 && parent
+ Impossible case
+ */
+
if (!parent) { // Detach or don't attach
if (m_matrixnode) {
v3f old_pos = m_matrixnode->getAbsolutePosition();
@@ -1297,10 +1352,6 @@ void GenericCAO::updateAttachments()
getPosRotMatrix().setTranslation(old_pos);
m_matrixnode->updateAbsolutePosition();
}
- if (m_is_local_player) {
- LocalPlayer *player = m_env->getLocalPlayer();
- player->isAttached = false;
- }
}
else // Attach
{
@@ -1319,10 +1370,11 @@ void GenericCAO::updateAttachments()
getPosRotMatrix().setRotationDegrees(m_attachment_rotation);
m_matrixnode->updateAbsolutePosition();
}
- if (m_is_local_player) {
- LocalPlayer *player = m_env->getLocalPlayer();
- player->isAttached = true;
- }
+ }
+ if (m_is_local_player) {
+ LocalPlayer *player = m_env->getLocalPlayer();
+ player->isAttached = parent;
+ player->parent = parent;
}
}
@@ -1482,31 +1534,15 @@ void GenericCAO::processMessage(const std::string &data)
updateBonePosition();
} else if (cmd == GENERIC_CMD_ATTACH_TO) {
u16 parent_id = readS16(is);
- u16 &old_parent_id = m_env->attachement_parent_ids[getId()];
- if (parent_id != old_parent_id) {
- if (GenericCAO *old_parent = m_env->getGenericCAO(old_parent_id)) {
- old_parent->m_children.erase(std::remove(
- m_children.begin(), m_children.end(),
- getId()), m_children.end());
- }
- if (GenericCAO *new_parent = m_env->getGenericCAO(parent_id))
- new_parent->m_children.push_back(getId());
-
- old_parent_id = parent_id;
- }
+ std::string bone = deSerializeString(is);
+ v3f position = readV3F32(is);
+ v3f rotation = readV3F32(is);
- m_attachment_bone = deSerializeString(is);
- m_attachment_position = readV3F32(is);
- m_attachment_rotation = readV3F32(is);
+ setAttachment(parent_id, bone, position, rotation);
// localplayer itself can't be attached to localplayer
- if (!m_is_local_player) {
- m_attached_to_local = getParent() != NULL && getParent()->isLocalPlayer();
- // Objects attached to the local player should be hidden by default
+ if (!m_is_local_player)
m_is_visible = !m_attached_to_local;
- }
-
- updateAttachments();
} else if (cmd == GENERIC_CMD_PUNCHED) {
u16 result_hp = readU16(is);
@@ -1515,9 +1551,12 @@ void GenericCAO::processMessage(const std::string &data)
m_hp = result_hp;
+ if (m_is_local_player)
+ m_env->getLocalPlayer()->hp = m_hp;
+
if (damage > 0)
{
- if (m_hp <= 0)
+ if (m_hp == 0)
{
// TODO: Execute defined fast response
// As there is no definition, make a smoke puff
@@ -1534,6 +1573,14 @@ void GenericCAO::processMessage(const std::string &data)
updateTextures(m_current_texture_modifier + "^[brighten");
}
}
+
+ if (m_hp == 0) {
+ // Same as 'Server::DiePlayer'
+ clearParentAttachment();
+ // Same as 'ObjectRef::l_remove'
+ if (!m_is_player)
+ clearChildAttachments();
+ }
} else if (cmd == GENERIC_CMD_UPDATE_ARMOR_GROUPS) {
m_armor_groups.clear();
int armor_groups_size = readU16(is);
@@ -1555,13 +1602,10 @@ void GenericCAO::processMessage(const std::string &data)
}
} else if (cmd == GENERIC_CMD_SPAWN_INFANT) {
u16 child_id = readU16(is);
- u8 type = readU8(is);
+ u8 type = readU8(is); // maybe this will be useful later
+ (void)type;
- if (GenericCAO *childobj = m_env->getGenericCAO(child_id)) {
- childobj->processInitData(deSerializeLongString(is));
- } else {
- m_env->addActiveObject(child_id, type, deSerializeLongString(is));
- }
+ addAttachmentChild(child_id);
} else {
warningstream << FUNCTION_NAME
<< ": unknown command or outdated client \""
diff --git a/src/client/content_cao.h b/src/client/content_cao.h
index 3ce628d30..2c2d11077 100644
--- a/src/client/content_cao.h
+++ b/src/client/content_cao.h
@@ -102,10 +102,14 @@ private:
bool m_animation_loop = true;
// stores position and rotation for each bone name
std::unordered_map<std::string, core::vector2d<v3f>> m_bone_position;
+
+ int m_attachment_parent_id = 0;
+ std::unordered_set<int> m_attachment_child_ids;
std::string m_attachment_bone = "";
v3f m_attachment_position;
v3f m_attachment_rotation;
bool m_attached_to_local = false;
+
int m_anim_frame = 0;
int m_anim_num_frames = 1;
float m_anim_framelength = 0.2f;
@@ -122,8 +126,6 @@ private:
bool m_is_visible = false;
s8 m_glow = 0;
- std::vector<u16> m_children;
-
public:
GenericCAO(Client *client, ClientEnvironment *env);
@@ -152,13 +154,15 @@ public:
virtual bool getSelectionBox(aabb3f *toset) const;
- v3f getPosition();
+ const v3f getPosition() const;
- inline const v3f &getRotation()
+ void setPosition(const v3f &pos)
{
- return m_rotation;
+ pos_translator.val_current = pos;
}
+ inline const v3f &getRotation() const { return m_rotation; }
+
const bool isImmortal();
scene::ISceneNode *getSceneNode();
@@ -178,6 +182,12 @@ public:
return m_matrixnode->getRelativeTransformationMatrix();
}
+ inline const core::matrix4 &getAbsolutePosRotMatrix() const
+ {
+ assert(m_matrixnode);
+ return m_matrixnode->getAbsoluteTransformation();
+ }
+
inline f32 getStepHeight() const
{
return m_prop.stepheight;
@@ -199,10 +209,17 @@ public:
}
void setChildrenVisible(bool toset);
-
+ void setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation);
+ void getAttachment(int *parent_id, std::string *bone, v3f *position,
+ v3f *rotation) const;
+ void clearChildAttachments();
+ void clearParentAttachment();
+ void addAttachmentChild(int child_id);
+ void removeAttachmentChild(int child_id);
ClientActiveObject *getParent() const;
-
- void setAttachments();
+ const std::unordered_set<int> &getAttachmentChildIds() const
+ { return m_attachment_child_ids; }
+ void updateAttachments();
void removeFromScene(bool permanent);
@@ -225,8 +242,8 @@ public:
void updateTexturePos();
- // std::string copy is mandatory as mod can be a class member and there is a swap
- // on those class members... do NOT pass by reference
+ // ffs this HAS TO BE a string copy! See #5739 if you think otherwise
+ // Reason: updateTextures(m_previous_texture_modifier);
void updateTextures(std::string mod);
void updateAnimation();
@@ -235,8 +252,6 @@ public:
void updateBonePosition();
- void updateAttachments();
-
void processMessage(const std::string &data);
bool directReportPunch(v3f dir, const ItemStack *punchitem=NULL,
diff --git a/src/client/content_cso.cpp b/src/client/content_cso.cpp
index 04c503f44..f9641afbe 100644
--- a/src/client/content_cso.cpp
+++ b/src/client/content_cso.cpp
@@ -48,7 +48,7 @@ public:
/* Update brightness */
u8 light;
bool pos_ok;
- MapNode n = env->getMap().getNodeNoEx(floatToInt(pos, BS), &pos_ok);
+ MapNode n = env->getMap().getNode(floatToInt(pos, BS), &pos_ok);
light = pos_ok ? decode_light(n.getLightBlend(env->getDayNightRatio(),
env->getGameDef()->ndef()))
: 64;
diff --git a/src/client/fontengine.cpp b/src/client/fontengine.cpp
index 59e5bedee..858d6780e 100644
--- a/src/client/fontengine.cpp
+++ b/src/client/fontengine.cpp
@@ -23,9 +23,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "config.h"
#include "porting.h"
#include "filesys.h"
+#include "gettext.h"
#if USE_FREETYPE
-#include "gettext.h"
#include "irrlicht_changes/CGUITTFont.h"
#endif
@@ -55,36 +55,7 @@ FontEngine::FontEngine(Settings* main_settings, gui::IGUIEnvironment* env) :
assert(m_env != NULL); // pre-condition
assert(m_env->getSkin() != NULL); // pre-condition
- m_currentMode = FM_Simple;
-
-#if USE_FREETYPE
- if (g_settings->getBool("freetype")) {
- m_default_size[FM_Standard] = m_settings->getU16("font_size");
- m_default_size[FM_Fallback] = m_settings->getU16("fallback_font_size");
- m_default_size[FM_Mono] = m_settings->getU16("mono_font_size");
-
- if (is_yes(gettext("needs_fallback_font"))) {
- m_currentMode = FM_Fallback;
- }
- else {
- m_currentMode = FM_Standard;
- }
- }
-
- // having freetype but not using it is quite a strange case so we need to do
- // special handling for it
- if (m_currentMode == FM_Simple) {
- std::stringstream fontsize;
- fontsize << DEFAULT_FONT_SIZE;
- m_settings->setDefault("font_size", fontsize.str());
- m_settings->setDefault("mono_font_size", fontsize.str());
- }
-#endif
-
- m_default_size[FM_Simple] = m_settings->getU16("font_size");
- m_default_size[FM_SimpleMono] = m_settings->getU16("mono_font_size");
-
- updateSkin();
+ readSettings();
if (m_currentMode == FM_Standard) {
m_settings->registerChangedCallback("font_size", font_setting_changed, NULL);
@@ -129,32 +100,26 @@ irr::gui::IGUIFont* FontEngine::getFont(unsigned int font_size, FontMode mode)
{
if (mode == FM_Unspecified) {
mode = m_currentMode;
- }
- else if ((mode == FM_Mono) && (m_currentMode == FM_Simple)) {
- mode = FM_SimpleMono;
+ } else if (m_currentMode == FM_Simple) {
+ // Freetype disabled -> Force simple mode
+ mode = (mode == FM_Mono || mode == FM_SimpleMono) ?
+ FM_SimpleMono : FM_Simple;
}
- if (font_size == FONT_SIZE_UNSPECIFIED) {
+ // Fallback to default size
+ if (font_size == FONT_SIZE_UNSPECIFIED)
font_size = m_default_size[mode];
- }
-
- if ((font_size == m_lastSize) && (mode == m_lastMode)) {
- return m_lastFont;
- }
-
- if (m_font_cache[mode].find(font_size) == m_font_cache[mode].end()) {
- initFont(font_size, mode);
- }
- if (m_font_cache[mode].find(font_size) == m_font_cache[mode].end()) {
- return NULL;
+ const auto &cache = m_font_cache[mode];
+ if (cache.find(font_size) == cache.end()) {
+ if (mode == FM_Simple || mode == FM_SimpleMono)
+ initSimpleFont(font_size, mode);
+ else
+ initFont(font_size, mode);
}
- m_lastSize = font_size;
- m_lastMode = mode;
- m_lastFont = m_font_cache[mode][font_size];
-
- return m_font_cache[mode][font_size];
+ const auto &font = cache.find(font_size);
+ return font != cache.end() ? font->second : nullptr;
}
/******************************************************************************/
@@ -211,20 +176,17 @@ unsigned int FontEngine::getDefaultFontSize()
/******************************************************************************/
void FontEngine::readSettings()
{
-#if USE_FREETYPE
- if (g_settings->getBool("freetype")) {
+ if (USE_FREETYPE && g_settings->getBool("freetype")) {
m_default_size[FM_Standard] = m_settings->getU16("font_size");
m_default_size[FM_Fallback] = m_settings->getU16("fallback_font_size");
m_default_size[FM_Mono] = m_settings->getU16("mono_font_size");
- if (is_yes(gettext("needs_fallback_font"))) {
- m_currentMode = FM_Fallback;
- }
- else {
- m_currentMode = FM_Standard;
- }
+ m_currentMode = is_yes(gettext("needs_fallback_font")) ?
+ FM_Fallback : FM_Standard;
+ } else {
+ m_currentMode = FM_Simple;
}
-#endif
+
m_default_size[FM_Simple] = m_settings->getU16("font_size");
m_default_size[FM_SimpleMono] = m_settings->getU16("mono_font_size");
@@ -260,81 +222,55 @@ void FontEngine::updateFontCache()
{
/* the only font to be initialized is default one,
* all others are re-initialized on demand */
- initFont(m_default_size[m_currentMode], m_currentMode);
-
- /* reset font quick access */
- m_lastMode = FM_Unspecified;
- m_lastSize = 0;
- m_lastFont = NULL;
+ getFont(FONT_SIZE_UNSPECIFIED, FM_Unspecified);
}
/******************************************************************************/
void FontEngine::initFont(unsigned int basesize, FontMode mode)
{
+ assert(mode != FM_Unspecified);
+ assert(basesize != FONT_SIZE_UNSPECIFIED);
- std::string font_config_prefix;
-
- if (mode == FM_Unspecified) {
- mode = m_currentMode;
- }
+ if (m_font_cache[mode].find(basesize) != m_font_cache[mode].end())
+ return;
- switch (mode) {
- case FM_Standard:
- font_config_prefix = "";
- break;
+ std::string setting_prefix = "";
+ switch (mode) {
case FM_Fallback:
- font_config_prefix = "fallback_";
+ setting_prefix = "fallback_";
break;
-
case FM_Mono:
- font_config_prefix = "mono_";
- if (m_currentMode == FM_Simple)
- mode = FM_SimpleMono;
+ case FM_SimpleMono:
+ setting_prefix = "mono_";
break;
-
- case FM_Simple: /* Fallthrough */
- case FM_SimpleMono: /* Fallthrough */
default:
- font_config_prefix = "";
-
+ break;
}
- if (m_font_cache[mode].find(basesize) != m_font_cache[mode].end())
- return;
-
- if ((mode == FM_Simple) || (mode == FM_SimpleMono)) {
- initSimpleFont(basesize, mode);
- return;
+ u32 size = std::floor(RenderingEngine::getDisplayDensity() *
+ m_settings->getFloat("gui_scaling") * basesize);
+ if (size == 0) {
+ errorstream << "FontEngine: attempt to use font size 0" << std::endl;
+ errorstream << " display density: " << RenderingEngine::getDisplayDensity() << std::endl;
+ abort();
}
-#if USE_FREETYPE
- else {
- if (!is_yes(m_settings->get("freetype"))) {
- return;
- }
- u32 size = std::floor(RenderingEngine::getDisplayDensity() *
- m_settings->getFloat("gui_scaling") * basesize);
- if (size == 0) {
- errorstream << "FontEngine: attempt to use font size 0" << std::endl;
- errorstream << " display density: " << RenderingEngine::getDisplayDensity() << std::endl;
- abort();
- }
- u32 font_shadow = 0;
- u32 font_shadow_alpha = 0;
- try {
- font_shadow =
- g_settings->getU16(font_config_prefix + "font_shadow");
- } catch (SettingNotFoundException&) {}
- try {
- font_shadow_alpha =
- g_settings->getU16(font_config_prefix + "font_shadow_alpha");
- } catch (SettingNotFoundException&) {}
+ u16 font_shadow = 0;
+ u16 font_shadow_alpha = 0;
+ g_settings->getU16NoEx(setting_prefix + "font_shadow", font_shadow);
+ g_settings->getU16NoEx(setting_prefix + "font_shadow_alpha", font_shadow_alpha);
- std::string font_path = g_settings->get(font_config_prefix + "font_path");
+ std::string fallback_settings[] = {
+ m_settings->get(setting_prefix + "font_path"),
+ m_settings->get("fallback_font_path"),
+ m_settings->getDefault(setting_prefix + "font_path")
+ };
- irr::gui::IGUIFont* font = gui::CGUITTFont::createTTFont(m_env,
+#if USE_FREETYPE
+ for (const std::string &font_path : fallback_settings) {
+ irr::gui::IGUIFont *font = gui::CGUITTFont::createTTFont(m_env,
font_path.c_str(), size, true, true, font_shadow,
font_shadow_alpha);
@@ -343,93 +279,42 @@ void FontEngine::initFont(unsigned int basesize, FontMode mode)
return;
}
- if (font_config_prefix == "mono_") {
- const std::string &mono_font_path = m_settings->getDefault("mono_font_path");
-
- if (font_path != mono_font_path) {
- // try original mono font
- errorstream << "FontEngine: failed to load custom mono "
- "font: " << font_path << ", trying to fall back to "
- "original mono font" << std::endl;
-
- font = gui::CGUITTFont::createTTFont(m_env,
- mono_font_path.c_str(), size, true, true,
- font_shadow, font_shadow_alpha);
-
- if (font) {
- m_font_cache[mode][basesize] = font;
- return;
- }
- }
- } else {
- // try fallback font
- errorstream << "FontEngine: failed to load: " << font_path <<
- ", trying to fall back to fallback font" << std::endl;
-
- font_path = g_settings->get(font_config_prefix + "fallback_font_path");
-
- font = gui::CGUITTFont::createTTFont(m_env,
- font_path.c_str(), size, true, true, font_shadow,
- font_shadow_alpha);
-
- if (font) {
- m_font_cache[mode][basesize] = font;
- return;
- }
-
- const std::string &fallback_font_path = m_settings->getDefault("fallback_font_path");
-
- if (font_path != fallback_font_path) {
- // try original fallback font
- errorstream << "FontEngine: failed to load custom fallback "
- "font: " << font_path << ", trying to fall back to "
- "original fallback font" << std::endl;
-
- font = gui::CGUITTFont::createTTFont(m_env,
- fallback_font_path.c_str(), size, true, true,
- font_shadow, font_shadow_alpha);
+ errorstream << "FontEngine: Cannot load '" << font_path <<
+ "'. Trying to fall back to another path." << std::endl;
+ }
- if (font) {
- m_font_cache[mode][basesize] = font;
- return;
- }
- }
- }
- // give up
- errorstream << "FontEngine: failed to load freetype font: "
- << font_path << std::endl;
- errorstream << "minetest can not continue without a valid font. "
- "Please correct the 'font_path' setting or install the font "
- "file in the proper location" << std::endl;
- abort();
- }
+ // give up
+ errorstream << "minetest can not continue without a valid font. "
+ "Please correct the 'font_path' setting or install the font "
+ "file in the proper location" << std::endl;
+#else
+ errorstream << "FontEngine: Tried to load freetype fonts but Minetest was"
+ " not compiled with that library." << std::endl;
#endif
+ abort();
}
/** initialize a font without freetype */
void FontEngine::initSimpleFont(unsigned int basesize, FontMode mode)
{
- assert(mode == FM_Simple || mode == FM_SimpleMono); // pre-condition
+ assert(mode == FM_Simple || mode == FM_SimpleMono);
- std::string font_path;
- if (mode == FM_Simple) {
- font_path = m_settings->get("font_path");
- } else {
- font_path = m_settings->get("mono_font_path");
- }
+ const std::string &font_path = m_settings->get(
+ (mode == FM_SimpleMono) ? "mono_font_path" : "font_path");
+
+ size_t pos_dot = font_path.find_last_of('.');
std::string basename = font_path;
- std::string ending = font_path.substr(font_path.length() -4);
+ std::string ending = lowercase(font_path.substr(pos_dot));
if (ending == ".ttf") {
- errorstream << "FontEngine: Not trying to open \"" << font_path
- << "\" which seems to be a truetype font." << std::endl;
+ errorstream << "FontEngine: Found font \"" << font_path
+ << "\" but freetype is not available." << std::endl;
return;
}
- if ((ending == ".xml") || (ending == ".png")) {
- basename = font_path.substr(0,font_path.length()-4);
- }
+ if (ending == ".xml" || ending == ".png")
+ basename = font_path.substr(0, pos_dot);
if (basesize == FONT_SIZE_UNSPECIFIED)
basesize = DEFAULT_FONT_SIZE;
@@ -439,59 +324,35 @@ void FontEngine::initSimpleFont(unsigned int basesize, FontMode mode)
m_settings->getFloat("gui_scaling") *
basesize);
- irr::gui::IGUIFont* font = NULL;
+ irr::gui::IGUIFont *font = nullptr;
+ std::string font_extensions[] = { ".png", ".xml" };
- for(unsigned int offset = 0; offset < MAX_FONT_SIZE_OFFSET; offset++) {
+ // Find nearest matching font scale
+ // Does a "zig-zag motion" (positibe/negative), from 0 to MAX_FONT_SIZE_OFFSET
+ for (s32 zoffset = 0; zoffset < MAX_FONT_SIZE_OFFSET * 2; zoffset++) {
+ std::stringstream path;
- // try opening positive offset
- std::stringstream fontsize_plus_png;
- fontsize_plus_png << basename << "_" << (size + offset) << ".png";
+ // LSB to sign
+ s32 sign = (zoffset & 1) ? -1 : 1;
+ s32 offset = zoffset >> 1;
- if (fs::PathExists(fontsize_plus_png.str())) {
- font = m_env->getFont(fontsize_plus_png.str().c_str());
+ for (const std::string &ext : font_extensions) {
+ path.str(""); // Clear
+ path << basename << "_" << (size + offset * sign) << ext;
- if (font) {
- verbosestream << "FontEngine: found font: " << fontsize_plus_png.str() << std::endl;
- break;
- }
- }
-
- std::stringstream fontsize_plus_xml;
- fontsize_plus_xml << basename << "_" << (size + offset) << ".xml";
+ if (!fs::PathExists(path.str()))
+ continue;
- if (fs::PathExists(fontsize_plus_xml.str())) {
- font = m_env->getFont(fontsize_plus_xml.str().c_str());
+ font = m_env->getFont(path.str().c_str());
if (font) {
- verbosestream << "FontEngine: found font: " << fontsize_plus_xml.str() << std::endl;
+ verbosestream << "FontEngine: found font: " << path.str() << std::endl;
break;
}
}
- // try negative offset
- std::stringstream fontsize_minus_png;
- fontsize_minus_png << basename << "_" << (size - offset) << ".png";
-
- if (fs::PathExists(fontsize_minus_png.str())) {
- font = m_env->getFont(fontsize_minus_png.str().c_str());
-
- if (font) {
- verbosestream << "FontEngine: found font: " << fontsize_minus_png.str() << std::endl;
- break;
- }
- }
-
- std::stringstream fontsize_minus_xml;
- fontsize_minus_xml << basename << "_" << (size - offset) << ".xml";
-
- if (fs::PathExists(fontsize_minus_xml.str())) {
- font = m_env->getFont(fontsize_minus_xml.str().c_str());
-
- if (font) {
- verbosestream << "FontEngine: found font: " << fontsize_minus_xml.str() << std::endl;
- break;
- }
- }
+ if (font)
+ break;
}
// try name direct
@@ -503,8 +364,6 @@ void FontEngine::initSimpleFont(unsigned int basesize, FontMode mode)
}
}
- if (font) {
- font->grab();
+ if (font)
m_font_cache[mode][basesize] = font;
- }
}
diff --git a/src/client/fontengine.h b/src/client/fontengine.h
index a75618f86..62aa71897 100644
--- a/src/client/fontengine.h
+++ b/src/client/fontengine.h
@@ -112,15 +112,6 @@ private:
/** current font engine mode */
FontMode m_currentMode = FM_Standard;
- /** font mode of last request */
- FontMode m_lastMode;
-
- /** size of last request */
- unsigned int m_lastSize = 0;
-
- /** last font returned */
- irr::gui::IGUIFont* m_lastFont = nullptr;
-
DISABLE_CLASS_COPY(FontEngine);
};
diff --git a/src/client/game.cpp b/src/client/game.cpp
index 37680dda3..450eb4e32 100644
--- a/src/client/game.cpp
+++ b/src/client/game.cpp
@@ -55,7 +55,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "particles.h"
#include "porting.h"
#include "profiler.h"
-#include "quicktune_shortcutter.h"
#include "raycast.h"
#include "server.h"
#include "settings.h"
@@ -65,6 +64,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "util/basic_macros.h"
#include "util/directiontables.h"
#include "util/pointedthing.h"
+#include "util/quicktune_shortcutter.h"
#include "irrlicht_changes/static_text.h"
#include "version.h"
#include "script/scripting_client.h"
@@ -184,7 +184,7 @@ struct LocalFormspecHandler : public TextDest
return;
}
- if (m_client && m_client->moddingEnabled())
+ if (m_client && m_client->modsLoaded())
m_client->getScript()->on_formspec_input(m_formname, fields);
}
@@ -413,6 +413,8 @@ class GameGlobalShaderConstantSetter : public IShaderConstantSetter
CachedPixelShaderSetting<float, 3> m_eye_position_pixel;
CachedVertexShaderSetting<float, 3> m_eye_position_vertex;
CachedPixelShaderSetting<float, 3> m_minimap_yaw;
+ CachedPixelShaderSetting<float, 3> m_camera_offset_pixel;
+ CachedPixelShaderSetting<float, 3> m_camera_offset_vertex;
CachedPixelShaderSetting<SamplerLayer_t> m_base_texture;
CachedPixelShaderSetting<SamplerLayer_t> m_normal_texture;
CachedPixelShaderSetting<SamplerLayer_t> m_texture_flags;
@@ -445,6 +447,8 @@ public:
m_eye_position_pixel("eyePosition"),
m_eye_position_vertex("eyePosition"),
m_minimap_yaw("yawVec"),
+ m_camera_offset_pixel("cameraOffset"),
+ m_camera_offset_vertex("cameraOffset"),
m_base_texture("baseTexture"),
m_normal_texture("normalTexture"),
m_texture_flags("textureFlags"),
@@ -493,7 +497,7 @@ public:
sunlight.b };
m_day_light.set(dnc, services);
- u32 animation_timer = porting::getTimeMs() % 100000;
+ u32 animation_timer = porting::getTimeMs() % 1000000;
float animation_timer_f = (float)animation_timer / 100000.f;
m_animation_timer_vertex.set(&animation_timer_f, services);
m_animation_timer_pixel.set(&animation_timer_f, services);
@@ -523,6 +527,18 @@ public:
m_minimap_yaw.set(minimap_yaw_array, services);
}
+ float camera_offset_array[3];
+ v3f offset = intToFloat(m_client->getCamera()->getOffset(), BS);
+#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 8)
+ camera_offset_array[0] = offset.X;
+ camera_offset_array[1] = offset.Y;
+ camera_offset_array[2] = offset.Z;
+#else
+ offset.getAs3Values(camera_offset_array);
+#endif
+ m_camera_offset_pixel.set(camera_offset_array, services);
+ m_camera_offset_vertex.set(camera_offset_array, services);
+
SamplerLayer_t base_tex = 0,
normal_tex = 1,
flags_tex = 2;
@@ -599,7 +615,6 @@ struct GameRunData {
bool dig_instantly;
bool digging_blocked;
bool left_punch;
- bool update_wielded_item_trigger;
bool reset_jump_timer;
float nodig_delay_timer;
float dig_time;
@@ -689,8 +704,8 @@ protected:
bool handleCallbacks();
void processQueues();
void updateProfilers(const RunStats &stats, const FpsControl &draw_times, f32 dtime);
- void addProfilerGraphs(const RunStats &stats, const FpsControl &draw_times, f32 dtime);
void updateStats(RunStats *stats, const FpsControl &draw_times, f32 dtime);
+ void updateProfilerGraphs(ProfilerGraph *graph);
// Input related
void processUserInput(f32 dtime);
@@ -744,15 +759,13 @@ protected:
bool look_for_object, const v3s16 &camera_offset);
void handlePointingAtNothing(const ItemStack &playerItem);
void handlePointingAtNode(const PointedThing &pointed,
- const ItemDefinition &playeritem_def, const ItemStack &playeritem,
- const ToolCapabilities &playeritem_toolcap, f32 dtime);
+ const ItemStack &selected_item, const ItemStack &hand_item, f32 dtime);
void handlePointingAtObject(const PointedThing &pointed, const ItemStack &playeritem,
const v3f &player_position, bool show_debug);
void handleDigging(const PointedThing &pointed, const v3s16 &nodepos,
- const ToolCapabilities &playeritem_toolcap, f32 dtime);
+ const ItemStack &selected_item, const ItemStack &hand_item, f32 dtime);
void updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
const CameraOrientation &cam);
- void updateProfilerGraphs(ProfilerGraph *graph);
// Misc
void limitFps(FpsControl *fps_timings, f32 *dtime);
@@ -804,8 +817,9 @@ private:
void updateChat(f32 dtime, const v2u32 &screensize);
- bool nodePlacementPrediction(const ItemDefinition &playeritem_def,
- const ItemStack &playeritem, const v3s16 &nodepos, const v3s16 &neighbourpos);
+ bool nodePlacement(const ItemDefinition &selected_def, const ItemStack &selected_item,
+ const v3s16 &nodepos, const v3s16 &neighbourpos, const PointedThing &pointed,
+ const NodeMetadata *meta);
static const ClientEventHandler clientEventHandler[CLIENTEVENT_MAX];
InputHandler *input = nullptr;
@@ -827,10 +841,6 @@ private:
ChatBackend *chat_backend = nullptr;
- GUIFormSpecMenu *current_formspec = nullptr;
- //default: "". If other than "", empty show_formspec packets will only close the formspec when the formname matches
- std::string cur_formname;
-
EventManager *eventmgr = nullptr;
QuicktuneShortcutter *quicktune = nullptr;
bool registration_confirmation_shown = false;
@@ -841,7 +851,6 @@ private:
Camera *camera = nullptr;
Clouds *clouds = nullptr; // Free using ->Drop()
Sky *sky = nullptr; // Free using ->Drop()
- Inventory *local_inventory = nullptr;
Hud *hud = nullptr;
Minimap *mapper = nullptr;
@@ -955,7 +964,6 @@ Game::~Game()
delete server; // deleted first to stop all server threads
delete hud;
- delete local_inventory;
delete camera;
delete quicktune;
delete eventmgr;
@@ -1026,7 +1034,6 @@ bool Game::startup(bool *kill,
// Reinit runData
runData = GameRunData();
runData.time_from_last_punch = 10.0;
- runData.update_wielded_item_trigger = true;
m_game_ui->initFlags();
@@ -1089,11 +1096,13 @@ void Game::run()
previous_screen_size = current_screen_size;
}
- /* Must be called immediately after a device->run() call because it
- * uses device->getTimer()->getTime()
- */
+ // Calculate dtime =
+ // RenderingEngine::run() from this iteration
+ // + Sleep time until the wanted FPS are reached
limitFps(&draw_times, &dtime);
+ // Prepare render data for next iteration
+
updateStats(&stats, draw_times, dtime);
updateInteractTimers(dtime);
@@ -1143,8 +1152,9 @@ void Game::shutdown()
driver->setRenderTarget(irr::video::ERT_STEREO_BOTH_BUFFERS);
}
#endif
- if (current_formspec)
- current_formspec->quitMenu();
+ auto formspec = m_game_ui->getFormspecGUI();
+ if (formspec)
+ formspec->quitMenu();
showOverlayMessage(N_("Shutting down..."), 0, 0, false);
@@ -1163,10 +1173,7 @@ void Game::shutdown()
g_menumgr.deletingMenu(g_menumgr.m_stack.front());
}
- if (current_formspec) {
- current_formspec->drop();
- current_formspec = NULL;
- }
+ m_game_ui->deleteFormspec();
chat_backend->addMessage(L"", L"# Disconnected.");
chat_backend->addMessage(L"", L"");
@@ -1355,10 +1362,8 @@ bool Game::createClient(const std::string &playername,
scsf->setSky(sky);
skybox = NULL; // This is used/set later on in the main run loop
- local_inventory = new Inventory(itemdef_manager);
-
- if (!(sky && local_inventory)) {
- *error_message = "Memory allocation error (sky or local inventory)";
+ if (!sky) {
+ *error_message = "Memory allocation error sky";
errorstream << *error_message << std::endl;
return false;
}
@@ -1390,7 +1395,7 @@ bool Game::createClient(const std::string &playername,
player->hurt_tilt_timer = 0;
player->hurt_tilt_strength = 0;
- hud = new Hud(guienv, client, player, local_inventory);
+ hud = new Hud(guienv, client, player, &player->inventory);
if (!hud) {
*error_message = "Memory error: could not create HUD";
@@ -1545,7 +1550,7 @@ bool Game::connectToServer(const std::string &playername,
} else {
registration_confirmation_shown = true;
(new GUIConfirmRegistration(guienv, guienv->getRootGUIElement(), -1,
- &g_menumgr, client, playername, password, *address, connection_aborted))->drop();
+ &g_menumgr, client, playername, password, connection_aborted))->drop();
}
} else {
wait_time += dtime;
@@ -1733,7 +1738,8 @@ void Game::processQueues()
}
-void Game::updateProfilers(const RunStats &stats, const FpsControl &draw_times, f32 dtime)
+void Game::updateProfilers(const RunStats &stats, const FpsControl &draw_times,
+ f32 dtime)
{
float profiler_print_interval =
g_settings->getFloat("profiler_print_interval");
@@ -1741,7 +1747,7 @@ void Game::updateProfilers(const RunStats &stats, const FpsControl &draw_times,
if (profiler_print_interval == 0) {
print_to_log = false;
- profiler_print_interval = 5;
+ profiler_print_interval = 3;
}
if (profiler_interval.step(dtime, profiler_print_interval)) {
@@ -1754,25 +1760,14 @@ void Game::updateProfilers(const RunStats &stats, const FpsControl &draw_times,
g_profiler->clear();
}
- addProfilerGraphs(stats, draw_times, dtime);
-}
-
-
-void Game::addProfilerGraphs(const RunStats &stats,
- const FpsControl &draw_times, f32 dtime)
-{
- g_profiler->graphAdd("mainloop_other",
- draw_times.busy_time / 1000.0f - stats.drawtime / 1000.0f);
-
- if (draw_times.sleep_time != 0)
- g_profiler->graphAdd("mainloop_sleep", draw_times.sleep_time / 1000.0f);
- g_profiler->graphAdd("mainloop_dtime", dtime);
+ // Update update graphs
+ g_profiler->graphAdd("Time non-rendering [ms]",
+ draw_times.busy_time - stats.drawtime);
- g_profiler->add("Elapsed time", dtime);
- g_profiler->avg("FPS", 1. / dtime);
+ g_profiler->graphAdd("Sleep [ms]", draw_times.sleep_time);
+ g_profiler->graphAdd("FPS", 1.0f / dtime);
}
-
void Game::updateStats(RunStats *stats, const FpsControl &draw_times,
f32 dtime)
{
@@ -1853,8 +1848,9 @@ void Game::processUserInput(f32 dtime)
input->step(dtime);
#ifdef __ANDROID__
- if (current_formspec != NULL)
- current_formspec->getAndroidUIInput();
+ auto formspec = m_game_ui->getFormspecGUI();
+ if (formspec)
+ formspec->getAndroidUIInput();
else
handleAndroidChatInput();
#endif
@@ -1880,6 +1876,9 @@ void Game::processKeyInput()
} else if (wasKeyDown(KeyType::INVENTORY)) {
openInventory();
} else if (input->cancelPressed()) {
+#ifdef __ANDROID__
+ m_android_chat_open = false;
+#endif
if (!gui_chat_console->isOpenInhibited()) {
showPauseMenu();
}
@@ -1888,7 +1887,7 @@ void Game::processKeyInput()
} else if (wasKeyDown(KeyType::CMD)) {
openConsole(0.2, L"/");
} else if (wasKeyDown(KeyType::CMD_LOCAL)) {
- if (client->moddingEnabled())
+ if (client->modsLoaded())
openConsole(0.2, L".");
else
m_game_ui->showStatusText(wgettext("Client side scripting is disabled"));
@@ -1979,7 +1978,7 @@ void Game::processItemSelection(u16 *new_playeritem)
/* Item selection using mouse wheel
*/
- *new_playeritem = client->getPlayerItem();
+ *new_playeritem = player->getWieldIndex();
s32 wheel = input->getMouseWheel();
u16 max_item = MYMIN(PLAYER_INVENTORY_SIZE - 1,
@@ -2021,7 +2020,7 @@ void Game::dropSelectedItem(bool single_item)
a->count = single_item ? 1 : 0;
a->from_inv.setCurrentPlayer();
a->from_list = "main";
- a->from_i = client->getPlayerItem();
+ a->from_i = client->getEnv().getLocalPlayer()->getWieldIndex();
client->inventoryAction(a);
}
@@ -2044,13 +2043,14 @@ void Game::openInventory()
InventoryLocation inventoryloc;
inventoryloc.setCurrentPlayer();
- if (!client->moddingEnabled()
+ if (!client->modsLoaded()
|| !client->getScript()->on_inventory_open(fs_src->m_client->getInventory(inventoryloc))) {
TextDest *txt_dst = new TextDestPlayerInventory(client);
- GUIFormSpecMenu::create(current_formspec, client, &input->joystick, fs_src,
+ auto *&formspec = m_game_ui->updateFormspec("");
+ GUIFormSpecMenu::create(formspec, client, &input->joystick, fs_src,
txt_dst, client->getFormspecPrepend());
- cur_formname = "";
- current_formspec->setFormSpec(fs_src->getForm(), inventoryloc);
+
+ formspec->setFormSpec(fs_src->getForm(), inventoryloc);
}
}
@@ -2079,6 +2079,7 @@ void Game::handleAndroidChatInput()
if (m_android_chat_open && porting::getInputDialogState() == 0) {
std::string text = porting::getInputDialogValue();
client->typeChatMessage(utf8_to_wide(text));
+ m_android_chat_open = false;
}
}
#endif
@@ -2348,7 +2349,7 @@ void Game::toggleFullViewRange()
void Game::checkZoomEnabled()
{
LocalPlayer *player = client->getEnv().getLocalPlayer();
- if (player->getZoomFOV() < 0.001f)
+ if (player->getZoomFOV() < 0.001f || player->getFov().fov > 0.0f)
m_game_ui->showTranslatedStatusText("Zoom currently disabled by game or mod");
}
@@ -2479,6 +2480,13 @@ void Game::updatePlayerControl(const CameraOrientation &cam)
keypress_bits |= 1U << 4;
}
+ // autoforward if set: simulate "up" key
+ if (player->getPlayerSettings().continuous_forward &&
+ client->activeObjectsReceived() && !player->isDead()) {
+ control.up = true;
+ keypress_bits |= 1U << 0;
+ }
+
client->setPlayerControl(control);
player->keyPressed = keypress_bits;
@@ -2491,7 +2499,7 @@ inline void Game::step(f32 *dtime)
bool can_be_and_is_paused =
(simple_singleplayer_mode && g_menumgr.pausesGame());
- if (can_be_and_is_paused) { // This is for a singleplayer server
+ if (can_be_and_is_paused) { // This is for a singleplayer server
*dtime = 0; // No time passes
} else {
if (server)
@@ -2526,9 +2534,8 @@ void Game::handleClientEvent_None(ClientEvent *event, CameraOrientation *cam)
void Game::handleClientEvent_PlayerDamage(ClientEvent *event, CameraOrientation *cam)
{
- if (client->moddingEnabled()) {
+ if (client->modsLoaded())
client->getScript()->on_damage_taken(event->player_damage.amount);
- }
// Damage flash and hurt tilt are not used at death
if (client->getHP() > 0) {
@@ -2556,7 +2563,7 @@ void Game::handleClientEvent_Deathscreen(ClientEvent *event, CameraOrientation *
{
// If client scripting is enabled, deathscreen is handled by CSM code in
// builtin/client/init.lua
- if (client->moddingEnabled())
+ if (client->modsLoaded())
client->getScript()->on_death();
else
showDeathFormspec();
@@ -2571,9 +2578,10 @@ void Game::handleClientEvent_Deathscreen(ClientEvent *event, CameraOrientation *
void Game::handleClientEvent_ShowFormSpec(ClientEvent *event, CameraOrientation *cam)
{
if (event->show_formspec.formspec->empty()) {
- if (current_formspec && (event->show_formspec.formname->empty()
- || *(event->show_formspec.formname) == cur_formname)) {
- current_formspec->quitMenu();
+ auto formspec = m_game_ui->getFormspecGUI();
+ if (formspec && (event->show_formspec.formname->empty()
+ || *(event->show_formspec.formname) == m_game_ui->getFormspecName())) {
+ formspec->quitMenu();
}
} else {
FormspecFormSource *fs_src =
@@ -2581,9 +2589,9 @@ void Game::handleClientEvent_ShowFormSpec(ClientEvent *event, CameraOrientation
TextDestPlayerInventory *txt_dst =
new TextDestPlayerInventory(client, *(event->show_formspec.formname));
- GUIFormSpecMenu::create(current_formspec, client, &input->joystick,
+ auto *&formspec = m_game_ui->updateFormspec(*(event->show_formspec.formname));
+ GUIFormSpecMenu::create(formspec, client, &input->joystick,
fs_src, txt_dst, client->getFormspecPrepend());
- cur_formname = *(event->show_formspec.formname);
}
delete event->show_formspec.formspec;
@@ -2595,7 +2603,7 @@ void Game::handleClientEvent_ShowLocalFormSpec(ClientEvent *event, CameraOrienta
FormspecFormSource *fs_src = new FormspecFormSource(*event->show_formspec.formspec);
LocalFormspecHandler *txt_dst =
new LocalFormspecHandler(*event->show_formspec.formname, client);
- GUIFormSpecMenu::create(current_formspec, client, &input->joystick,
+ GUIFormSpecMenu::create(m_game_ui->getFormspecGUI(), client, &input->joystick,
fs_src, txt_dst, client->getFormspecPrepend());
delete event->show_formspec.formspec;
@@ -2840,19 +2848,10 @@ void Game::updateCamera(u32 busy_time, f32 dtime)
*/
ItemStack playeritem;
{
- InventoryList *mlist = local_inventory->getList("main");
-
- if (mlist && client->getPlayerItem() < mlist->getSize())
- playeritem = mlist->getItem(client->getPlayerItem());
- }
-
- if (playeritem.getDefinition(itemdef_manager).name.empty()) { // override the hand
- InventoryList *hlist = local_inventory->getList("hand");
- if (hlist)
- playeritem = hlist->getItem(0);
+ ItemStack selected, hand;
+ playeritem = player->getWieldedItem(&selected, &hand);
}
-
ToolCapabilities playeritem_toolcap =
playeritem.getToolCapabilities(itemdef_manager);
@@ -2933,7 +2932,7 @@ void Game::updateSound(f32 dtime)
soundmaker->step(dtime);
ClientMap &map = client->getEnv().getClientMap();
- MapNode n = map.getNodeNoEx(player->getFootstepNodePos());
+ MapNode n = map.getNode(player->getFootstepNodePos());
soundmaker->m_player_step_sound = nodedef_manager->get(n).sound_footstep;
}
@@ -2942,46 +2941,35 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud, bool show_debug)
{
LocalPlayer *player = client->getEnv().getLocalPlayer();
- ItemStack playeritem;
- {
- InventoryList *mlist = local_inventory->getList("main");
-
- if (mlist && client->getPlayerItem() < mlist->getSize())
- playeritem = mlist->getItem(client->getPlayerItem());
- }
-
- const ItemDefinition &playeritem_def =
- playeritem.getDefinition(itemdef_manager);
- InventoryList *hlist = local_inventory->getList("hand");
- const ItemDefinition &hand_def =
- hlist ? hlist->getItem(0).getDefinition(itemdef_manager) : itemdef_manager->get("");
-
v3f player_position = player->getPosition();
+ v3f player_eye_position = player->getEyePosition();
v3f camera_position = camera->getPosition();
v3f camera_direction = camera->getDirection();
v3s16 camera_offset = camera->getOffset();
+ if (camera->getCameraMode() == CAMERA_MODE_FIRST)
+ player_eye_position += player->eye_offset_first;
+ else
+ player_eye_position += player->eye_offset_third;
/*
Calculate what block is the crosshair pointing to
*/
- f32 d = playeritem_def.range; // max. distance
- f32 d_hand = hand_def.range;
+ ItemStack selected_item, hand_item;
+ const ItemStack &tool_item = player->getWieldedItem(&selected_item, &hand_item);
- if (d < 0 && d_hand >= 0)
- d = d_hand;
- else if (d < 0)
- d = 4.0;
+ const ItemDefinition &selected_def = selected_item.getDefinition(itemdef_manager);
+ f32 d = getToolRange(selected_def, hand_item.getDefinition(itemdef_manager));
core::line3d<f32> shootline;
if (camera->getCameraMode() != CAMERA_MODE_THIRD_FRONT) {
- shootline = core::line3d<f32>(camera_position,
- camera_position + camera_direction * BS * d);
+ shootline = core::line3d<f32>(player_eye_position,
+ player_eye_position + camera_direction * BS * d);
} else {
- // prevent player pointing anything in front-view
- shootline = core::line3d<f32>(camera_position,camera_position);
+ // prevent player pointing anything in front-view
+ shootline = core::line3d<f32>(camera_position, camera_position);
}
#ifdef HAVE_TOUCHSCREENGUI
@@ -2998,7 +2986,7 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud, bool show_debug)
#endif
PointedThing pointed = updatePointedThing(shootline,
- playeritem_def.liquids_pointable,
+ selected_def.liquids_pointable,
!runData.ldown_for_dig,
camera_offset);
@@ -3020,7 +3008,7 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud, bool show_debug)
if (runData.digging) {
if (input->getLeftReleased()) {
infostream << "Left button released"
- << " (stopped digging)" << std::endl;
+ << " (stopped digging)" << std::endl;
runData.digging = false;
} else if (pointed != runData.pointed_old) {
if (pointed.type == POINTEDTHING_NODE
@@ -3031,14 +3019,14 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud, bool show_debug)
// Don't reset.
} else {
infostream << "Pointing away from node"
- << " (stopped digging)" << std::endl;
+ << " (stopped digging)" << std::endl;
runData.digging = false;
hud->updateSelectionMesh(camera_offset);
}
}
if (!runData.digging) {
- client->interact(1, runData.pointed_old);
+ client->interact(INTERACT_STOP_DIGGING, runData.pointed_old);
client->setCrack(-1, v3s16(0, 0, 0));
runData.dig_time = 0.0;
}
@@ -3062,30 +3050,19 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud, bool show_debug)
else
runData.repeat_rightclick_timer = 0;
- if (playeritem_def.usable && input->getLeftState()) {
- if (input->getLeftClicked() && (!client->moddingEnabled()
- || !client->getScript()->on_item_use(playeritem, pointed)))
- client->interact(4, pointed);
+ if (selected_def.usable && input->getLeftState()) {
+ if (input->getLeftClicked() && (!client->modsLoaded()
+ || !client->getScript()->on_item_use(selected_item, pointed)))
+ client->interact(INTERACT_USE, pointed);
} else if (pointed.type == POINTEDTHING_NODE) {
- ToolCapabilities playeritem_toolcap =
- playeritem.getToolCapabilities(itemdef_manager);
- if (playeritem.name.empty()) {
- const ToolCapabilities *handToolcap = hlist
- ? &hlist->getItem(0).getToolCapabilities(itemdef_manager)
- : itemdef_manager->get("").tool_capabilities;
-
- if (handToolcap != nullptr)
- playeritem_toolcap = *handToolcap;
- }
- handlePointingAtNode(pointed, playeritem_def, playeritem,
- playeritem_toolcap, dtime);
+ handlePointingAtNode(pointed, selected_item, hand_item, dtime);
} else if (pointed.type == POINTEDTHING_OBJECT) {
- handlePointingAtObject(pointed, playeritem, player_position, show_debug);
+ handlePointingAtObject(pointed, tool_item, player_position, show_debug);
} else if (input->getLeftState()) {
// When button is held down in air, show continuous animation
runData.left_punch = true;
} else if (input->getRightClicked()) {
- handlePointingAtNothing(playeritem);
+ handlePointingAtNothing(selected_item);
}
runData.pointed_old = pointed;
@@ -3133,7 +3110,7 @@ PointedThing Game::updatePointedThing(
}
} else if (result.type == POINTEDTHING_NODE) {
// Update selection boxes
- MapNode n = map.getNodeNoEx(result.node_undersurface);
+ MapNode n = map.getNode(result.node_undersurface);
std::vector<aabb3f> boxes;
n.getSelectionBoxes(nodedef, &boxes,
n.getNeighbors(result.node_undersurface, &map));
@@ -3160,12 +3137,12 @@ PointedThing Game::updatePointedThing(
v3s16 p = floatToInt(pf, BS);
// Get selection mesh light level
- MapNode n = map.getNodeNoEx(p);
+ MapNode n = map.getNode(p);
u16 node_light = getInteriorLight(n, -1, nodedef);
u16 light_level = node_light;
for (const v3s16 &dir : g_6dirs) {
- n = map.getNodeNoEx(p + dir);
+ n = map.getNode(p + dir);
node_light = getInteriorLight(n, -1, nodedef);
if (node_light > light_level)
light_level = node_light;
@@ -3197,13 +3174,12 @@ void Game::handlePointingAtNothing(const ItemStack &playerItem)
infostream << "Right Clicked in Air" << std::endl;
PointedThing fauxPointed;
fauxPointed.type = POINTEDTHING_NOTHING;
- client->interact(5, fauxPointed);
+ client->interact(INTERACT_ACTIVATE, fauxPointed);
}
void Game::handlePointingAtNode(const PointedThing &pointed,
- const ItemDefinition &playeritem_def, const ItemStack &playeritem,
- const ToolCapabilities &playeritem_toolcap, f32 dtime)
+ const ItemStack &selected_item, const ItemStack &hand_item, f32 dtime)
{
v3s16 nodepos = pointed.node_undersurface;
v3s16 neighbourpos = pointed.node_abovesurface;
@@ -3217,7 +3193,7 @@ void Game::handlePointingAtNode(const PointedThing &pointed,
if (runData.nodig_delay_timer <= 0.0 && input->getLeftState()
&& !runData.digging_blocked
&& client->checkPrivilege("interact")) {
- handleDigging(pointed, nodepos, playeritem_toolcap, dtime);
+ handleDigging(pointed, nodepos, selected_item, hand_item, dtime);
}
// This should be done after digging handling
@@ -3227,7 +3203,7 @@ void Game::handlePointingAtNode(const PointedThing &pointed,
m_game_ui->setInfoText(unescape_translate(utf8_to_wide(
meta->getString("infotext"))));
} else {
- MapNode n = map.getNodeNoEx(nodepos);
+ MapNode n = map.getNode(nodepos);
if (nodedef_manager->get(n).tiledef[0].name == "unknown_node.png") {
m_game_ui->setInfoText(L"Unknown node: " +
@@ -3241,213 +3217,219 @@ void Game::handlePointingAtNode(const PointedThing &pointed,
runData.repeat_rightclick_timer = 0;
infostream << "Ground right-clicked" << std::endl;
- if (meta && !meta->getString("formspec").empty() && !random_input
- && !isKeyDown(KeyType::SNEAK)) {
- // Report right click to server
- if (nodedef_manager->get(map.getNodeNoEx(nodepos)).rightclickable) {
- client->interact(3, pointed);
- }
-
- infostream << "Launching custom inventory view" << std::endl;
-
- InventoryLocation inventoryloc;
- inventoryloc.setNodeMeta(nodepos);
+ camera->setDigging(1); // right click animation (always shown for feedback)
- NodeMetadataFormSource *fs_src = new NodeMetadataFormSource(
- &client->getEnv().getClientMap(), nodepos);
- TextDest *txt_dst = new TextDestNodeMetadata(nodepos, client);
+ soundmaker->m_player_rightpunch_sound = SimpleSoundSpec();
- GUIFormSpecMenu::create(current_formspec, client, &input->joystick, fs_src,
- txt_dst, client->getFormspecPrepend());
- cur_formname.clear();
+ // If the wielded item has node placement prediction,
+ // make that happen
+ // And also set the sound and send the interact
+ // But first check for meta formspec and rightclickable
+ auto &def = selected_item.getDefinition(itemdef_manager);
+ bool placed = nodePlacement(def, selected_item, nodepos, neighbourpos,
+ pointed, meta);
- current_formspec->setFormSpec(meta->getString("formspec"), inventoryloc);
- } else {
- // Report right click to server
-
- camera->setDigging(1); // right click animation (always shown for feedback)
-
- // If the wielded item has node placement prediction,
- // make that happen
- bool placed = nodePlacementPrediction(playeritem_def, playeritem, nodepos,
- neighbourpos);
-
- if (placed) {
- // Report to server
- client->interact(3, pointed);
- // Read the sound
- soundmaker->m_player_rightpunch_sound =
- playeritem_def.sound_place;
-
- if (client->moddingEnabled())
- client->getScript()->on_placenode(pointed, playeritem_def);
- } else {
- soundmaker->m_player_rightpunch_sound =
- SimpleSoundSpec();
-
- if (playeritem_def.node_placement_prediction.empty() ||
- nodedef_manager->get(map.getNodeNoEx(nodepos)).rightclickable) {
- client->interact(3, pointed); // Report to server
- } else {
- soundmaker->m_player_rightpunch_sound =
- playeritem_def.sound_place_failed;
- }
- }
- }
+ if (placed && client->modsLoaded())
+ client->getScript()->on_placenode(pointed, def);
}
}
-bool Game::nodePlacementPrediction(const ItemDefinition &playeritem_def,
- const ItemStack &playeritem, const v3s16 &nodepos, const v3s16 &neighbourpos)
+bool Game::nodePlacement(const ItemDefinition &selected_def,
+ const ItemStack &selected_item, const v3s16 &nodepos, const v3s16 &neighbourpos,
+ const PointedThing &pointed, const NodeMetadata *meta)
{
- std::string prediction = playeritem_def.node_placement_prediction;
+ std::string prediction = selected_def.node_placement_prediction;
const NodeDefManager *nodedef = client->ndef();
ClientMap &map = client->getEnv().getClientMap();
MapNode node;
bool is_valid_position;
- node = map.getNodeNoEx(nodepos, &is_valid_position);
- if (!is_valid_position)
+ node = map.getNode(nodepos, &is_valid_position);
+ if (!is_valid_position) {
+ soundmaker->m_player_rightpunch_sound = selected_def.sound_place_failed;
+ return false;
+ }
+
+ // formspec in meta
+ if (meta && !meta->getString("formspec").empty() && !random_input
+ && !isKeyDown(KeyType::SNEAK)) {
+ // on_rightclick callbacks are called anyway
+ if (nodedef_manager->get(map.getNode(nodepos)).rightclickable)
+ client->interact(INTERACT_PLACE, pointed);
+
+ infostream << "Launching custom inventory view" << std::endl;
+
+ InventoryLocation inventoryloc;
+ inventoryloc.setNodeMeta(nodepos);
+
+ NodeMetadataFormSource *fs_src = new NodeMetadataFormSource(
+ &client->getEnv().getClientMap(), nodepos);
+ TextDest *txt_dst = new TextDestNodeMetadata(nodepos, client);
+
+ auto *&formspec = m_game_ui->updateFormspec("");
+ GUIFormSpecMenu::create(formspec, client, &input->joystick, fs_src,
+ txt_dst, client->getFormspecPrepend());
+
+ formspec->setFormSpec(meta->getString("formspec"), inventoryloc);
return false;
+ }
+
+ // on_rightclick callback
+ if (prediction.empty() || (nodedef->get(node).rightclickable &&
+ !isKeyDown(KeyType::SNEAK))) {
+ // Report to server
+ client->interact(INTERACT_PLACE, pointed);
+ return false;
+ }
- if (!prediction.empty() && !nodedef->get(node).rightclickable) {
- verbosestream << "Node placement prediction for "
- << playeritem_def.name << " is "
- << prediction << std::endl;
- v3s16 p = neighbourpos;
-
- // Place inside node itself if buildable_to
- MapNode n_under = map.getNodeNoEx(nodepos, &is_valid_position);
- if (is_valid_position)
- {
- if (nodedef->get(n_under).buildable_to)
- p = nodepos;
- else {
- node = map.getNodeNoEx(p, &is_valid_position);
- if (is_valid_position &&!nodedef->get(node).buildable_to)
- return false;
+ verbosestream << "Node placement prediction for "
+ << selected_def.name << " is "
+ << prediction << std::endl;
+ v3s16 p = neighbourpos;
+
+ // Place inside node itself if buildable_to
+ MapNode n_under = map.getNode(nodepos, &is_valid_position);
+ if (is_valid_position) {
+ if (nodedef->get(n_under).buildable_to) {
+ p = nodepos;
+ } else {
+ node = map.getNode(p, &is_valid_position);
+ if (is_valid_position && !nodedef->get(node).buildable_to) {
+ // Report to server
+ client->interact(INTERACT_PLACE, pointed);
+ return false;
}
}
+ }
- // Find id of predicted node
- content_t id;
- bool found = nodedef->getId(prediction, id);
+ // Find id of predicted node
+ content_t id;
+ bool found = nodedef->getId(prediction, id);
- if (!found) {
- errorstream << "Node placement prediction failed for "
- << playeritem_def.name << " (places "
- << prediction
- << ") - Name not known" << std::endl;
- return false;
- }
+ if (!found) {
+ errorstream << "Node placement prediction failed for "
+ << selected_def.name << " (places "
+ << prediction
+ << ") - Name not known" << std::endl;
+ // Handle this as if prediction was empty
+ // Report to server
+ client->interact(INTERACT_PLACE, pointed);
+ return false;
+ }
- const ContentFeatures &predicted_f = nodedef->get(id);
+ const ContentFeatures &predicted_f = nodedef->get(id);
- // Predict param2 for facedir and wallmounted nodes
- u8 param2 = 0;
+ // Predict param2 for facedir and wallmounted nodes
+ u8 param2 = 0;
- if (predicted_f.param_type_2 == CPT2_WALLMOUNTED ||
+ if (predicted_f.param_type_2 == CPT2_WALLMOUNTED ||
predicted_f.param_type_2 == CPT2_COLORED_WALLMOUNTED) {
- v3s16 dir = nodepos - neighbourpos;
+ v3s16 dir = nodepos - neighbourpos;
- if (abs(dir.Y) > MYMAX(abs(dir.X), abs(dir.Z))) {
- param2 = dir.Y < 0 ? 1 : 0;
- } else if (abs(dir.X) > abs(dir.Z)) {
- param2 = dir.X < 0 ? 3 : 2;
- } else {
- param2 = dir.Z < 0 ? 5 : 4;
- }
+ if (abs(dir.Y) > MYMAX(abs(dir.X), abs(dir.Z))) {
+ param2 = dir.Y < 0 ? 1 : 0;
+ } else if (abs(dir.X) > abs(dir.Z)) {
+ param2 = dir.X < 0 ? 3 : 2;
+ } else {
+ param2 = dir.Z < 0 ? 5 : 4;
}
+ }
- if (predicted_f.param_type_2 == CPT2_FACEDIR ||
+ if (predicted_f.param_type_2 == CPT2_FACEDIR ||
predicted_f.param_type_2 == CPT2_COLORED_FACEDIR) {
- v3s16 dir = nodepos - floatToInt(client->getEnv().getLocalPlayer()->getPosition(), BS);
+ v3s16 dir = nodepos - floatToInt(client->getEnv().getLocalPlayer()->getPosition(), BS);
- if (abs(dir.X) > abs(dir.Z)) {
- param2 = dir.X < 0 ? 3 : 1;
- } else {
- param2 = dir.Z < 0 ? 2 : 0;
- }
+ if (abs(dir.X) > abs(dir.Z)) {
+ param2 = dir.X < 0 ? 3 : 1;
+ } else {
+ param2 = dir.Z < 0 ? 2 : 0;
}
+ }
+
+ assert(param2 <= 5);
- assert(param2 <= 5);
-
- //Check attachment if node is in group attached_node
- if (((ItemGroupList) predicted_f.groups)["attached_node"] != 0) {
- static v3s16 wallmounted_dirs[8] = {
- v3s16(0, 1, 0),
- v3s16(0, -1, 0),
- v3s16(1, 0, 0),
- v3s16(-1, 0, 0),
- v3s16(0, 0, 1),
- v3s16(0, 0, -1),
- };
- v3s16 pp;
-
- if (predicted_f.param_type_2 == CPT2_WALLMOUNTED ||
+ //Check attachment if node is in group attached_node
+ if (((ItemGroupList) predicted_f.groups)["attached_node"] != 0) {
+ static v3s16 wallmounted_dirs[8] = {
+ v3s16(0, 1, 0),
+ v3s16(0, -1, 0),
+ v3s16(1, 0, 0),
+ v3s16(-1, 0, 0),
+ v3s16(0, 0, 1),
+ v3s16(0, 0, -1),
+ };
+ v3s16 pp;
+
+ if (predicted_f.param_type_2 == CPT2_WALLMOUNTED ||
predicted_f.param_type_2 == CPT2_COLORED_WALLMOUNTED)
- pp = p + wallmounted_dirs[param2];
- else
- pp = p + v3s16(0, -1, 0);
+ pp = p + wallmounted_dirs[param2];
+ else
+ pp = p + v3s16(0, -1, 0);
- if (!nodedef->get(map.getNodeNoEx(pp)).walkable)
- return false;
+ if (!nodedef->get(map.getNode(pp)).walkable) {
+ // Report to server
+ client->interact(INTERACT_PLACE, pointed);
+ return false;
}
+ }
- // Apply color
- if ((predicted_f.param_type_2 == CPT2_COLOR
+ // Apply color
+ if ((predicted_f.param_type_2 == CPT2_COLOR
|| predicted_f.param_type_2 == CPT2_COLORED_FACEDIR
|| predicted_f.param_type_2 == CPT2_COLORED_WALLMOUNTED)) {
- const std::string &indexstr = playeritem.metadata.getString(
- "palette_index", 0);
- if (!indexstr.empty()) {
- s32 index = mystoi(indexstr);
- if (predicted_f.param_type_2 == CPT2_COLOR) {
- param2 = index;
- } else if (predicted_f.param_type_2
- == CPT2_COLORED_WALLMOUNTED) {
- // param2 = pure palette index + other
- param2 = (index & 0xf8) | (param2 & 0x07);
- } else if (predicted_f.param_type_2
- == CPT2_COLORED_FACEDIR) {
- // param2 = pure palette index + other
- param2 = (index & 0xe0) | (param2 & 0x1f);
- }
+ const std::string &indexstr = selected_item.metadata.getString(
+ "palette_index", 0);
+ if (!indexstr.empty()) {
+ s32 index = mystoi(indexstr);
+ if (predicted_f.param_type_2 == CPT2_COLOR) {
+ param2 = index;
+ } else if (predicted_f.param_type_2 == CPT2_COLORED_WALLMOUNTED) {
+ // param2 = pure palette index + other
+ param2 = (index & 0xf8) | (param2 & 0x07);
+ } else if (predicted_f.param_type_2 == CPT2_COLORED_FACEDIR) {
+ // param2 = pure palette index + other
+ param2 = (index & 0xe0) | (param2 & 0x1f);
}
}
+ }
- // Add node to client map
- MapNode n(id, 0, param2);
+ // Add node to client map
+ MapNode n(id, 0, param2);
- try {
- LocalPlayer *player = client->getEnv().getLocalPlayer();
+ try {
+ LocalPlayer *player = client->getEnv().getLocalPlayer();
- // Dont place node when player would be inside new node
- // NOTE: This is to be eventually implemented by a mod as client-side Lua
- if (!nodedef->get(n).walkable ||
+ // Dont place node when player would be inside new node
+ // NOTE: This is to be eventually implemented by a mod as client-side Lua
+ if (!nodedef->get(n).walkable ||
g_settings->getBool("enable_build_where_you_stand") ||
(client->checkPrivilege("noclip") && g_settings->getBool("noclip")) ||
(nodedef->get(n).walkable &&
neighbourpos != player->getStandingNodePos() + v3s16(0, 1, 0) &&
neighbourpos != player->getStandingNodePos() + v3s16(0, 2, 0))) {
-
- // This triggers the required mesh update too
- client->addNode(p, n);
- return true;
- }
- } catch (InvalidPositionException &e) {
- errorstream << "Node placement prediction failed for "
- << playeritem_def.name << " (places "
- << prediction
- << ") - Position not loaded" << std::endl;
+ // This triggers the required mesh update too
+ client->addNode(p, n);
+ // Report to server
+ client->interact(INTERACT_PLACE, pointed);
+ // A node is predicted, also play a sound
+ soundmaker->m_player_rightpunch_sound = selected_def.sound_place;
+ return true;
+ } else {
+ soundmaker->m_player_rightpunch_sound = selected_def.sound_place_failed;
+ return false;
}
+ } catch (InvalidPositionException &e) {
+ errorstream << "Node placement prediction failed for "
+ << selected_def.name << " (places "
+ << prediction
+ << ") - Position not loaded" << std::endl;
+ soundmaker->m_player_rightpunch_sound = selected_def.sound_place_failed;
+ return false;
}
-
- return false;
}
-void Game::handlePointingAtObject(const PointedThing &pointed, const ItemStack &playeritem,
- const v3f &player_position, bool show_debug)
+void Game::handlePointingAtObject(const PointedThing &pointed,
+ const ItemStack &tool_item, const v3f &player_position, bool show_debug)
{
std::wstring infotext = unescape_translate(
utf8_to_wide(runData.selected_object->infoText()));
@@ -3483,50 +3465,39 @@ void Game::handlePointingAtObject(const PointedThing &pointed, const ItemStack &
// Report direct punch
v3f objpos = runData.selected_object->getPosition();
v3f dir = (objpos - player_position).normalize();
- ItemStack item = playeritem;
- if (playeritem.name.empty()) {
- InventoryList *hlist = local_inventory->getList("hand");
- if (hlist) {
- item = hlist->getItem(0);
- }
- }
bool disable_send = runData.selected_object->directReportPunch(
- dir, &item, runData.time_from_last_punch);
+ dir, &tool_item, runData.time_from_last_punch);
runData.time_from_last_punch = 0;
if (!disable_send)
- client->interact(0, pointed);
+ client->interact(INTERACT_START_DIGGING, pointed);
}
} else if (input->getRightClicked()) {
infostream << "Right-clicked object" << std::endl;
- client->interact(3, pointed); // place
+ client->interact(INTERACT_PLACE, pointed); // place
}
}
void Game::handleDigging(const PointedThing &pointed, const v3s16 &nodepos,
- const ToolCapabilities &playeritem_toolcap, f32 dtime)
+ const ItemStack &selected_item, const ItemStack &hand_item, f32 dtime)
{
+ // See also: serverpackethandle.cpp, action == 2
LocalPlayer *player = client->getEnv().getLocalPlayer();
ClientMap &map = client->getEnv().getClientMap();
- MapNode n = client->getEnv().getClientMap().getNodeNoEx(nodepos);
+ MapNode n = client->getEnv().getClientMap().getNode(nodepos);
// NOTE: Similar piece of code exists on the server side for
// cheat detection.
// Get digging parameters
DigParams params = getDigParams(nodedef_manager->get(n).groups,
- &playeritem_toolcap);
+ &selected_item.getToolCapabilities(itemdef_manager));
// If can't dig, try hand
if (!params.diggable) {
- InventoryList *hlist = local_inventory->getList("hand");
- const ToolCapabilities *tp = hlist
- ? &hlist->getItem(0).getToolCapabilities(itemdef_manager)
- : itemdef_manager->get("").tool_capabilities;
-
- if (tp)
- params = getDigParams(nodedef_manager->get(n).groups, tp);
+ params = getDigParams(nodedef_manager->get(n).groups,
+ &hand_item.getToolCapabilities(itemdef_manager));
}
if (!params.diggable) {
@@ -3545,9 +3516,9 @@ void Game::handleDigging(const PointedThing &pointed, const v3s16 &nodepos,
if (!runData.digging) {
infostream << "Started digging" << std::endl;
runData.dig_instantly = runData.dig_time_complete == 0;
- if (client->moddingEnabled() && client->getScript()->on_punchnode(nodepos, n))
+ if (client->modsLoaded() && client->getScript()->on_punchnode(nodepos, n))
return;
- client->interact(0, pointed);
+ client->interact(INTERACT_START_DIGGING, pointed);
runData.digging = true;
runData.ldown_for_dig = true;
}
@@ -3603,10 +3574,10 @@ void Game::handleDigging(const PointedThing &pointed, const v3s16 &nodepos,
runData.nodig_delay_timer = 0.15;
bool is_valid_position;
- MapNode wasnode = map.getNodeNoEx(nodepos, &is_valid_position);
+ MapNode wasnode = map.getNode(nodepos, &is_valid_position);
if (is_valid_position) {
- if (client->moddingEnabled() &&
- client->getScript()->on_dignode(nodepos, wasnode)) {
+ if (client->modsLoaded() &&
+ client->getScript()->on_dignode(nodepos, wasnode)) {
return;
}
@@ -3622,7 +3593,7 @@ void Game::handleDigging(const PointedThing &pointed, const v3s16 &nodepos,
// implicit else: no prediction
}
- client->interact(2, pointed);
+ client->interact(INTERACT_DIGGING_COMPLETED, pointed);
if (m_cache_enable_particles) {
const ContentFeatures &features =
@@ -3650,6 +3621,7 @@ void Game::handleDigging(const PointedThing &pointed, const v3s16 &nodepos,
void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
const CameraOrientation &cam)
{
+ TimeTaker tt_update("Game::updateFrame()");
LocalPlayer *player = client->getEnv().getLocalPlayer();
/*
@@ -3674,7 +3646,6 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
direct_brightness = time_brightness;
sunlight_seen = true;
} else {
- ScopeProfiler sp(g_profiler, "Detecting background light", SPT_AVG);
float old_brightness = sky->getBrightness();
direct_brightness = client->getEnv().getClientMap()
.getBackgroundBrightness(MYMIN(runData.fog_range * 1.2, 60 * BS),
@@ -3780,31 +3751,14 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
Inventory
*/
- if (client->getPlayerItem() != runData.new_playeritem)
- client->selectPlayerItem(runData.new_playeritem);
+ if (player->getWieldIndex() != runData.new_playeritem)
+ client->setPlayerItem(runData.new_playeritem);
- // Update local inventory if it has changed
- if (client->getLocalInventoryUpdated()) {
- //infostream<<"Updating local inventory"<<std::endl;
- client->getLocalInventory(*local_inventory);
- runData.update_wielded_item_trigger = true;
- }
-
- if (runData.update_wielded_item_trigger) {
+ if (client->updateWieldedItem()) {
// Update wielded tool
- InventoryList *mlist = local_inventory->getList("main");
-
- if (mlist && (client->getPlayerItem() < mlist->getSize())) {
- ItemStack item = mlist->getItem(client->getPlayerItem());
- if (item.getDefinition(itemdef_manager).name.empty()) { // override the hand
- InventoryList *hlist = local_inventory->getList("hand");
- if (hlist)
- item = hlist->getItem(0);
- }
- camera->wield(item);
- }
-
- runData.update_wielded_item_trigger = false;
+ ItemStack selected_item, hand_item;
+ ItemStack &tool_item = player->getWieldedItem(&selected_item, &hand_item);
+ camera->wield(tool_item);
}
/*
@@ -3822,28 +3776,42 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
runData.update_draw_list_last_cam_dir = camera_direction;
}
- m_game_ui->update(*stats, client, draw_control, cam, runData.pointed_old, dtime);
+ m_game_ui->update(*stats, client, draw_control, cam, runData.pointed_old, gui_chat_console, dtime);
/*
make sure menu is on top
1. Delete formspec menu reference if menu was removed
2. Else, make sure formspec menu is on top
*/
- if (current_formspec) {
- if (current_formspec->getReferenceCount() == 1) {
- current_formspec->drop();
- current_formspec = NULL;
- } else if (isMenuActive()) {
- guiroot->bringToFront(current_formspec);
+ auto formspec = m_game_ui->getFormspecGUI();
+ do { // breakable. only runs for one iteration
+ if (!formspec)
+ break;
+
+ if (formspec->getReferenceCount() == 1) {
+ m_game_ui->deleteFormspec();
+ break;
}
- }
+
+ auto &loc = formspec->getFormspecLocation();
+ if (loc.type == InventoryLocation::NODEMETA) {
+ NodeMetadata *meta = client->getEnv().getClientMap().getNodeMetadata(loc.p);
+ if (!meta || meta->getString("formspec").empty()) {
+ formspec->quitMenu();
+ break;
+ }
+ }
+
+ if (isMenuActive())
+ guiroot->bringToFront(formspec);
+ } while (false);
/*
Drawing begins
*/
const video::SColor &skycolor = sky->getSkyColor();
- TimeTaker tt_draw("mainloop: draw");
+ TimeTaker tt_draw("Draw scene");
driver->beginScene(true, true, skycolor);
bool draw_wield_tool = (m_game_ui->m_flags.show_hud &&
@@ -3903,7 +3871,8 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
driver->endScene();
stats->drawtime = tt_draw.stop(true);
- g_profiler->graphAdd("mainloop_draw", stats->drawtime / 1000.0f);
+ g_profiler->avg("Game::updateFrame(): draw scene [ms]", stats->drawtime);
+ g_profiler->graphAdd("Update frame [ms]", tt_update.stop(true));
}
/* Log times and stuff for visualization */
@@ -4033,8 +4002,8 @@ void Game::extendedResourceCleanup()
void Game::showDeathFormspec()
{
- static std::string formspec =
- std::string(FORMSPEC_VERSION_STRING) +
+ static std::string formspec_str =
+ std::string("formspec_version[1]") +
SIZE_TAG
"bgcolor[#320000b4;true]"
"label[4.85,1.35;" + gettext("You died") + "]"
@@ -4044,12 +4013,13 @@ void Game::showDeathFormspec()
/* Create menu */
/* Note: FormspecFormSource and LocalFormspecHandler *
* are deleted by guiFormSpecMenu */
- FormspecFormSource *fs_src = new FormspecFormSource(formspec);
+ FormspecFormSource *fs_src = new FormspecFormSource(formspec_str);
LocalFormspecHandler *txt_dst = new LocalFormspecHandler("MT_DEATH_SCREEN", client);
- GUIFormSpecMenu::create(current_formspec, client, &input->joystick, fs_src,
- txt_dst, client->getFormspecPrepend());
- current_formspec->setFocus("btn_respawn");
+ auto *&formspec = m_game_ui->getFormspecGUI();
+ GUIFormSpecMenu::create(formspec, client, &input->joystick,
+ fs_src, txt_dst, client->getFormspecPrepend());
+ formspec->setFocus("btn_respawn");
}
#define GET_KEY_NAME(KEY) gettext(getKeySetting(#KEY).name())
@@ -4107,7 +4077,7 @@ void Game::showPauseMenu()
float ypos = simple_singleplayer_mode ? 0.7f : 0.1f;
std::ostringstream os;
- os << FORMSPEC_VERSION_STRING << SIZE_TAG
+ os << "formspec_version[1]" << SIZE_TAG
<< "button_exit[4," << (ypos++) << ";3,0.5;btn_continue;"
<< strgettext("Continue") << "]";
@@ -4173,10 +4143,11 @@ void Game::showPauseMenu()
FormspecFormSource *fs_src = new FormspecFormSource(os.str());
LocalFormspecHandler *txt_dst = new LocalFormspecHandler("MT_PAUSE_MENU");
- GUIFormSpecMenu::create(current_formspec, client, &input->joystick,
+ auto *&formspec = m_game_ui->getFormspecGUI();
+ GUIFormSpecMenu::create(formspec, client, &input->joystick,
fs_src, txt_dst, client->getFormspecPrepend());
- current_formspec->setFocus("btn_continue");
- current_formspec->doPause = true;
+ formspec->setFocus("btn_continue");
+ formspec->doPause = true;
}
/****************************************************************************/
@@ -4227,7 +4198,8 @@ void the_game(bool *kill,
error_message = e.what();
errorstream << "ServerError: " << error_message << std::endl;
} catch (ModError &e) {
- error_message = e.what() + strgettext("\nCheck debug.txt for details.");
- errorstream << "ModError: " << error_message << std::endl;
+ error_message = std::string("ModError: ") + e.what() +
+ strgettext("\nCheck debug.txt for details.");
+ errorstream << error_message << std::endl;
}
}
diff --git a/src/client/gameui.cpp b/src/client/gameui.cpp
index 1f433e49a..674d07fa6 100644
--- a/src/client/gameui.cpp
+++ b/src/client/gameui.cpp
@@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <irrlicht_changes/static_text.h>
#include <gettext.h>
#include "gui/mainmenumanager.h"
+#include "gui/guiChatConsole.h"
#include "util/pointedthing.h"
#include "client.h"
#include "clientmap.h"
@@ -79,13 +80,15 @@ void GameUI::init()
// Profiler text (size is updated when text is updated)
m_guitext_profiler = gui::StaticText::add(guienv, L"<Profiler>",
core::rect<s32>(0, 0, 0, 0), false, false, guiroot);
+ m_guitext_profiler->setOverrideFont(g_fontengine->getFont(
+ g_fontengine->getDefaultFontSize() * 0.9f, FM_Mono));
m_guitext_profiler->setBackgroundColor(video::SColor(120, 0, 0, 0));
m_guitext_profiler->setVisible(false);
- m_guitext_profiler->setWordWrap(true);
}
void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_control,
- const CameraOrientation &cam, const PointedThing &pointed_old, float dtime)
+ const CameraOrientation &cam, const PointedThing &pointed_old,
+ const GUIChatConsole *chat_console, float dtime)
{
v2u32 screensize = RenderingEngine::get_instance()->getWindowSize();
@@ -97,17 +100,17 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_
std::ostringstream os(std::ios_base::binary);
os << std::fixed
<< PROJECT_NAME_C " " << g_version_hash
- << ", FPS: " << fps
+ << " | FPS: " << fps
<< std::setprecision(0)
- << ", drawtime: " << drawtime_avg << "ms"
+ << " | drawtime: " << drawtime_avg << "ms"
<< std::setprecision(1)
- << ", dtime jitter: "
+ << " | dtime jitter: "
<< (stats.dtime_jitter.max_fraction * 100.0) << "%"
<< std::setprecision(1)
- << ", view range: "
+ << " | view range: "
<< (draw_control->range_all ? "All" : itos(draw_control->wanted_range))
<< std::setprecision(3)
- << ", RTT: " << client->getRTT() << "s";
+ << " | RTT: " << client->getRTT() << "s";
setStaticText(m_guitext, utf8_to_wide(os.str()).c_str());
m_guitext->setRelativePosition(core::rect<s32>(5, 5, screensize.X,
@@ -126,14 +129,15 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_
<< "pos: (" << (player_position.X / BS)
<< ", " << (player_position.Y / BS)
<< ", " << (player_position.Z / BS)
- << "), yaw: " << (wrapDegrees_0_360(cam.camera_yaw)) << "° "
+ << ") | yaw: " << (wrapDegrees_0_360(cam.camera_yaw)) << "° "
<< yawToDirectionString(cam.camera_yaw)
- << ", seed: " << ((u64)client->getMapSeed());
+ << " | pitch: " << (-wrapDegrees_180(cam.camera_pitch)) << "°"
+ << " | seed: " << ((u64)client->getMapSeed());
if (pointed_old.type == POINTEDTHING_NODE) {
ClientMap &map = client->getEnv().getClientMap();
const NodeDefManager *nodedef = client->getNodeDefManager();
- MapNode n = map.getNodeNoEx(pointed_old.node_undersurface);
+ MapNode n = map.getNode(pointed_old.node_undersurface);
if (n.getContent() != CONTENT_IGNORE && nodedef->get(n).name != "unknown") {
os << ", pointed: " << nodedef->get(n).name
@@ -185,6 +189,9 @@ void GameUI::update(const RunStats &stats, Client *client, MapDrawControl *draw_
m_guitext_status->setOverrideColor(fade_color);
m_guitext_status->enableOverrideColor(true);
}
+
+ // Hide chat when console is visible
+ m_guitext_chat->setVisible(isChatVisible() && !chat_console->isVisible());
}
void GameUI::initFlags()
@@ -226,38 +233,28 @@ void GameUI::setChatText(const EnrichedString &chat_text, u32 recent_chat_count)
m_guitext_chat->setRelativePosition(core::rect<s32>(10, chat_y, width,
chat_y + m_guitext_chat->getTextHeight()));
- // Don't show chat if disabled or empty or profiler is enabled
- m_guitext_chat->setVisible(m_flags.show_chat &&
- recent_chat_count != 0 && m_profiler_current_page == 0);
+ m_recent_chat_count = recent_chat_count;
}
void GameUI::updateProfiler()
{
if (m_profiler_current_page != 0) {
std::ostringstream os(std::ios_base::binary);
- g_profiler->printPage(os, m_profiler_current_page, m_profiler_max_page);
-
- std::wstring text = translate_string(utf8_to_wide(os.str()));
- setStaticText(m_guitext_profiler, text.c_str());
-
- s32 w = g_fontengine->getTextWidth(text);
-
- if (w < 400)
- w = 400;
-
- u32 text_height = g_fontengine->getTextHeight();
-
- core::position2di upper_left, lower_right;
+ os << " Profiler page " << (int)m_profiler_current_page <<
+ ", elapsed: " << g_profiler->getElapsedMs() << " ms)" << std::endl;
- upper_left.X = 6;
- upper_left.Y = (text_height + 5) * 2;
- lower_right.X = 12 + w;
- lower_right.Y = upper_left.Y + (text_height + 1) * MAX_PROFILER_TEXT_ROWS;
+ int lines = g_profiler->print(os, m_profiler_current_page, m_profiler_max_page);
+ ++lines;
- s32 screen_height = RenderingEngine::get_video_driver()->getScreenSize().Height;
+ std::wstring text = utf8_to_wide(os.str());
+ setStaticText(m_guitext_profiler, text.c_str());
- if (lower_right.Y > screen_height * 2 / 3)
- lower_right.Y = screen_height * 2 / 3;
+ core::dimension2d<u32> size = m_guitext_profiler->getOverrideFont()->
+ getDimension(text.c_str());
+ core::position2di upper_left(6, 50);
+ core::position2di lower_right = upper_left;
+ lower_right.X += size.Width + 10;
+ lower_right.Y += size.Height;
m_guitext_profiler->setRelativePosition(core::rect<s32>(upper_left, lower_right));
}
@@ -301,3 +298,14 @@ void GameUI::toggleProfiler()
showTranslatedStatusText("Profiler hidden");
}
}
+
+
+void GameUI::deleteFormspec()
+{
+ if (m_formspec) {
+ m_formspec->drop();
+ m_formspec = nullptr;
+ }
+
+ m_formname.clear();
+}
diff --git a/src/client/gameui.h b/src/client/gameui.h
index b6b54562a..67c6a9921 100644
--- a/src/client/gameui.h
+++ b/src/client/gameui.h
@@ -21,12 +21,14 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#pragma once
#include <IGUIEnvironment.h>
+#include "gui/guiFormSpecMenu.h"
#include "util/enriched_string.h"
#include "util/pointedthing.h"
#include "game.h"
using namespace irr;
class Client;
+class GUIChatConsole;
struct MapDrawControl;
/*
@@ -62,7 +64,7 @@ public:
void init();
void update(const RunStats &stats, Client *client, MapDrawControl *draw_control,
const CameraOrientation &cam, const PointedThing &pointed_old,
- float dtime);
+ const GUIChatConsole *chat_console, float dtime);
void initFlags();
const Flags &getFlags() const { return m_flags; }
@@ -80,6 +82,10 @@ public:
void showTranslatedStatusText(const char *str);
inline void clearStatusText() { m_statustext.clear(); }
+ const bool isChatVisible()
+ {
+ return m_flags.show_chat && m_recent_chat_count != 0 && m_profiler_current_page == 0;
+ }
void setChatText(const EnrichedString &chat_text, u32 recent_chat_count);
void updateProfiler();
@@ -88,6 +94,16 @@ public:
void toggleHud();
void toggleProfiler();
+ GUIFormSpecMenu *&updateFormspec(const std::string &formname)
+ {
+ m_formname = formname;
+ return m_formspec;
+ }
+
+ const std::string &getFormspecName() { return m_formname; }
+ GUIFormSpecMenu *&getFormspecGUI() { return m_formspec; }
+ void deleteFormspec();
+
private:
Flags m_flags;
@@ -103,8 +119,14 @@ private:
video::SColor m_statustext_initial_color;
gui::IGUIStaticText *m_guitext_chat = nullptr; // Chat text
+ u32 m_recent_chat_count = 0;
gui::IGUIStaticText *m_guitext_profiler = nullptr; // Profiler text
u8 m_profiler_current_page = 0;
const u8 m_profiler_max_page = 3;
+
+ // Default: "". If other than "": Empty show_formspec packets will only
+ // close the formspec when the formname matches
+ std::string m_formname;
+ GUIFormSpecMenu *m_formspec = nullptr;
};
diff --git a/src/client/guiscalingfilter.cpp b/src/client/guiscalingfilter.cpp
index 3b4377da5..2ff57ab74 100644
--- a/src/client/guiscalingfilter.cpp
+++ b/src/client/guiscalingfilter.cpp
@@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "util/numeric.h"
#include <cstdio>
#include "client/renderingengine.h"
+#include "client/tile.h" // hasNPotSupport()
/* Maintain a static cache to store the images that correspond to textures
* in a format that's manipulable by code. Some platforms exhibit issues
@@ -39,7 +40,7 @@ std::map<io::path, video::ITexture *> g_txrCache;
/* Manually insert an image into the cache, useful to avoid texture-to-image
* conversion whenever we can intercept it.
*/
-void guiScalingCache(io::path key, video::IVideoDriver *driver, video::IImage *value)
+void guiScalingCache(const io::path &key, video::IVideoDriver *driver, video::IImage *value)
{
if (!g_settings->getBool("gui_scaling_filter"))
return;
@@ -113,17 +114,18 @@ video::ITexture *guiScalingResizeCached(video::IVideoDriver *driver,
(u32)destrect.getHeight()));
imageScaleNNAA(srcimg, srcrect, destimg);
-#ifdef __ANDROID__
- // Android is very picky about textures being powers of 2, so expand
- // the image dimensions to the next power of 2, if necessary, for
- // that platform.
- video::IImage *po2img = driver->createImage(src->getColorFormat(),
- core::dimension2d<u32>(npot2((u32)destrect.getWidth()),
- npot2((u32)destrect.getHeight())));
- po2img->fill(video::SColor(0, 0, 0, 0));
- destimg->copyTo(po2img);
- destimg->drop();
- destimg = po2img;
+#if ENABLE_GLES
+ // Some platforms are picky about textures being powers of 2, so expand
+ // the image dimensions to the next power of 2, if necessary.
+ if (!hasNPotSupport()) {
+ video::IImage *po2img = driver->createImage(src->getColorFormat(),
+ core::dimension2d<u32>(npot2((u32)destrect.getWidth()),
+ npot2((u32)destrect.getHeight())));
+ po2img->fill(video::SColor(0, 0, 0, 0));
+ destimg->copyTo(po2img);
+ destimg->drop();
+ destimg = po2img;
+ }
#endif
// Convert the scaled image back into a texture.
@@ -167,3 +169,62 @@ void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr,
driver->draw2DImage(scaled, destrect, mysrcrect, cliprect, colors, usealpha);
}
+
+void draw2DImage9Slice(video::IVideoDriver *driver, video::ITexture *texture,
+ const core::rect<s32> &rect, const core::rect<s32> &middle)
+{
+ const video::SColor color(255,255,255,255);
+ const video::SColor colors[] = {color,color,color,color};
+
+ auto originalSize = texture->getOriginalSize();
+ core::vector2di lowerRightOffset = core::vector2di(originalSize.Width, originalSize.Height) - middle.LowerRightCorner;
+
+ for (int y = 0; y < 3; ++y) {
+ for (int x = 0; x < 3; ++x) {
+ core::rect<s32> src({0, 0}, originalSize);
+ core::rect<s32> dest = rect;
+
+ switch (x) {
+ case 0:
+ dest.LowerRightCorner.X = rect.UpperLeftCorner.X + middle.UpperLeftCorner.X;
+ src.LowerRightCorner.X = middle.UpperLeftCorner.X;
+ break;
+
+ case 1:
+ dest.UpperLeftCorner.X += middle.UpperLeftCorner.X;
+ dest.LowerRightCorner.X -= lowerRightOffset.X;
+ src.UpperLeftCorner.X = middle.UpperLeftCorner.X;
+ src.LowerRightCorner.X = middle.LowerRightCorner.X;
+ break;
+
+ case 2:
+ dest.UpperLeftCorner.X = rect.LowerRightCorner.X - lowerRightOffset.X;
+ src.UpperLeftCorner.X = middle.LowerRightCorner.X;
+ break;
+ }
+
+ switch (y) {
+ case 0:
+ dest.LowerRightCorner.Y = rect.UpperLeftCorner.Y + middle.UpperLeftCorner.Y;
+ src.LowerRightCorner.Y = middle.UpperLeftCorner.Y;
+ break;
+
+ case 1:
+ dest.UpperLeftCorner.Y += middle.UpperLeftCorner.Y;
+ dest.LowerRightCorner.Y -= lowerRightOffset.Y;
+ src.UpperLeftCorner.Y = middle.UpperLeftCorner.Y;
+ src.LowerRightCorner.Y = middle.LowerRightCorner.Y;
+ break;
+
+ case 2:
+ dest.UpperLeftCorner.Y = rect.LowerRightCorner.Y - lowerRightOffset.Y;
+ src.UpperLeftCorner.Y = middle.LowerRightCorner.Y;
+ break;
+ }
+
+ draw2DImageFilterScaled(driver, texture, dest,
+ src,
+ NULL/*&AbsoluteClippingRect*/, colors, true);
+ }
+ }
+}
diff --git a/src/client/guiscalingfilter.h b/src/client/guiscalingfilter.h
index 4661bf8da..181009551 100644
--- a/src/client/guiscalingfilter.h
+++ b/src/client/guiscalingfilter.h
@@ -23,7 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/* Manually insert an image into the cache, useful to avoid texture-to-image
* conversion whenever we can intercept it.
*/
-void guiScalingCache(io::path key, video::IVideoDriver *driver, video::IImage *value);
+void guiScalingCache(const io::path &key, video::IVideoDriver *driver, video::IImage *value);
// Manually clear the cache, e.g. when switching to different worlds.
void guiScalingCacheClear();
@@ -48,3 +48,9 @@ void draw2DImageFilterScaled(video::IVideoDriver *driver, video::ITexture *txr,
const core::rect<s32> &destrect, const core::rect<s32> &srcrect,
const core::rect<s32> *cliprect = 0, const video::SColor *const colors = 0,
bool usealpha = false);
+
+/*
+ * 9-slice / segment drawing
+ */
+void draw2DImage9Slice(video::IVideoDriver *driver, video::ITexture *texture,
+ const core::rect<s32> &rect, const core::rect<s32> &middle);
diff --git a/src/client/hud.cpp b/src/client/hud.cpp
index 1a2287a13..291d03816 100644
--- a/src/client/hud.cpp
+++ b/src/client/hud.cpp
@@ -372,7 +372,7 @@ void Hud::drawLuaElements(const v3s16 &camera_offset)
}
-void Hud::drawStatbar(v2s32 pos, u16 corner, u16 drawdir, std::string texture,
+void Hud::drawStatbar(v2s32 pos, u16 corner, u16 drawdir, const std::string &texture,
s32 count, v2s32 offset, v2s32 size)
{
const video::SColor color(255, 255, 255, 255);
@@ -649,10 +649,31 @@ void drawItemStack(video::IVideoDriver *driver,
core::rect<s32> oldViewPort = driver->getViewPort();
core::matrix4 oldProjMat = driver->getTransform(video::ETS_PROJECTION);
core::matrix4 oldViewMat = driver->getTransform(video::ETS_VIEW);
+ core::rect<s32> viewrect = rect;
+ if (clip)
+ viewrect.clipAgainst(*clip);
+
core::matrix4 ProjMatrix;
- ProjMatrix.buildProjectionMatrixOrthoLH(2, 2, -1, 100);
+ ProjMatrix.buildProjectionMatrixOrthoLH(2.0f, 2.0f, -1.0f, 100.0f);
+
+ core::matrix4 ViewMatrix;
+ ViewMatrix.buildProjectionMatrixOrthoLH(
+ 2.0f * viewrect.getWidth() / rect.getWidth(),
+ 2.0f * viewrect.getHeight() / rect.getHeight(),
+ -1.0f,
+ 100.0f);
+ ViewMatrix.setTranslation(core::vector3df(
+ 1.0f * (rect.LowerRightCorner.X + rect.UpperLeftCorner.X -
+ viewrect.LowerRightCorner.X - viewrect.UpperLeftCorner.X) /
+ viewrect.getWidth(),
+ 1.0f * (viewrect.LowerRightCorner.Y + viewrect.UpperLeftCorner.Y -
+ rect.LowerRightCorner.Y - rect.UpperLeftCorner.Y) /
+ viewrect.getHeight(),
+ 0.0f));
+
driver->setTransform(video::ETS_PROJECTION, ProjMatrix);
- driver->setTransform(video::ETS_VIEW, ProjMatrix);
+ driver->setTransform(video::ETS_VIEW, ViewMatrix);
+
core::matrix4 matrix;
matrix.makeIdentity();
@@ -662,7 +683,7 @@ void drawItemStack(video::IVideoDriver *driver,
}
driver->setTransform(video::ETS_WORLD, matrix);
- driver->setViewPort(rect);
+ driver->setViewPort(viewrect);
video::SColor basecolor =
client->idef()->getItemstackColor(item, client);
@@ -693,6 +714,16 @@ void drawItemStack(video::IVideoDriver *driver,
driver->setTransform(video::ETS_VIEW, oldViewMat);
driver->setTransform(video::ETS_PROJECTION, oldProjMat);
driver->setViewPort(oldViewPort);
+
+ // draw the inventory_overlay
+ if (def.type == ITEM_NODE && def.inventory_image.empty() &&
+ !def.inventory_overlay.empty()) {
+ ITextureSource *tsrc = client->getTextureSource();
+ video::ITexture *overlay_texture = tsrc->getTexture(def.inventory_overlay);
+ core::dimension2d<u32> dimens = overlay_texture->getOriginalSize();
+ core::rect<s32> srcrect(0, 0, dimens.Width, dimens.Height);
+ draw2DImageFilterScaled(driver, overlay_texture, rect, srcrect, clip, 0, true);
+ }
}
if(def.type == ITEM_TOOL && item.wear != 0)
diff --git a/src/client/hud.h b/src/client/hud.h
index e9bcdf4e2..693d2adee 100644
--- a/src/client/hud.h
+++ b/src/client/hud.h
@@ -81,7 +81,7 @@ public:
void drawLuaElements(const v3s16 &camera_offset);
private:
- void drawStatbar(v2s32 pos, u16 corner, u16 drawdir, std::string texture,
+ void drawStatbar(v2s32 pos, u16 corner, u16 drawdir, const std::string &texture,
s32 count, v2s32 offset, v2s32 size = v2s32());
void drawItems(v2s32 upperleftpos, v2s32 screen_offset, s32 itemcount,
diff --git a/src/client/localplayer.cpp b/src/client/localplayer.cpp
index 7e7b1a867..c086d860a 100644
--- a/src/client/localplayer.cpp
+++ b/src/client/localplayer.cpp
@@ -41,7 +41,7 @@ LocalPlayer::LocalPlayer(Client *client, const char *name):
static aabb3f getNodeBoundingBox(const std::vector<aabb3f> &nodeboxes)
{
if (nodeboxes.empty())
- return aabb3f(0, 0, 0, 0, 0, 0);
+ return aabb3f(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
aabb3f b_max;
@@ -56,7 +56,7 @@ static aabb3f getNodeBoundingBox(const std::vector<aabb3f> &nodeboxes)
}
bool LocalPlayer::updateSneakNode(Map *map, const v3f &position,
- const v3f &sneak_max)
+ const v3f &sneak_max)
{
static const v3s16 dir9_center[9] = {
v3s16( 0, 0, 0),
@@ -76,17 +76,17 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position,
bool new_sneak_node_exists = m_sneak_node_exists;
// We want the top of the sneak node to be below the players feet
- f32 position_y_mod = 0.05 * BS;
+ f32 position_y_mod = 0.05f * BS;
if (m_sneak_node_exists)
position_y_mod = m_sneak_node_bb_top.MaxEdge.Y - position_y_mod;
// Get position of current standing node
- const v3s16 current_node = floatToInt(position - v3f(0, position_y_mod, 0), BS);
+ const v3s16 current_node = floatToInt(position - v3f(0.0f, position_y_mod, 0.0f), BS);
if (current_node != m_sneak_node) {
new_sneak_node_exists = false;
} else {
- node = map->getNodeNoEx(current_node, &is_valid_position);
+ node = map->getNode(current_node, &is_valid_position);
if (!is_valid_position || !nodemgr->get(node).walkable)
new_sneak_node_exists = false;
}
@@ -97,7 +97,7 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position,
// Get new sneak node
m_sneak_ladder_detected = false;
- f32 min_distance_f = 100000.0 * BS;
+ f32 min_distance_f = 100000.0f * BS;
for (const auto &d : dir9_center) {
const v3s16 p = current_node + d;
@@ -106,23 +106,22 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position,
f32 distance_f = diff.getLength();
if (distance_f > min_distance_f ||
- fabs(diff.X) > (.5 + .1) * BS + sneak_max.X ||
- fabs(diff.Y) > (.5 + .1) * BS + sneak_max.Z)
+ fabs(diff.X) > (0.5f + 0.1f) * BS + sneak_max.X ||
+ fabs(diff.Y) > (0.5f + 0.1f) * BS + sneak_max.Z)
continue;
// The node to be sneaked on has to be walkable
- node = map->getNodeNoEx(p, &is_valid_position);
+ node = map->getNode(p, &is_valid_position);
if (!is_valid_position || !nodemgr->get(node).walkable)
continue;
// And the node(s) above have to be nonwalkable
bool ok = true;
if (!physics_override_sneak_glitch) {
- u16 height = ceilf(
- (m_collisionbox.MaxEdge.Y - m_collisionbox.MinEdge.Y) / BS
- );
+ u16 height =
+ ceilf((m_collisionbox.MaxEdge.Y - m_collisionbox.MinEdge.Y) / BS);
for (u16 y = 1; y <= height; y++) {
- node = map->getNodeNoEx(p + v3s16(0, y, 0), &is_valid_position);
+ node = map->getNode(p + v3s16(0, y, 0), &is_valid_position);
if (!is_valid_position || nodemgr->get(node).walkable) {
ok = false;
break;
@@ -130,7 +129,7 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position,
}
} else {
// legacy behaviour: check just one node
- node = map->getNodeNoEx(p + v3s16(0, 1, 0), &is_valid_position);
+ node = map->getNode(p + v3s16(0, 1, 0), &is_valid_position);
ok = is_valid_position && !nodemgr->get(node).walkable;
}
if (!ok)
@@ -145,7 +144,7 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position,
return false;
// Update saved top bounding box of sneak node
- node = map->getNodeNoEx(m_sneak_node);
+ node = map->getNode(m_sneak_node);
std::vector<aabb3f> nodeboxes;
node.getCollisionBoxes(nodemgr, &nodeboxes);
m_sneak_node_bb_top = getNodeBoundingBox(nodeboxes);
@@ -153,11 +152,11 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position,
if (physics_override_sneak_glitch) {
// Detect sneak ladder:
// Node two meters above sneak node must be solid
- node = map->getNodeNoEx(m_sneak_node + v3s16(0, 2, 0),
+ node = map->getNode(m_sneak_node + v3s16(0, 2, 0),
&is_valid_position);
if (is_valid_position && nodemgr->get(node).walkable) {
// Node three meters above: must be non-solid
- node = map->getNodeNoEx(m_sneak_node + v3s16(0, 3, 0),
+ node = map->getNode(m_sneak_node + v3s16(0, 3, 0),
&is_valid_position);
m_sneak_ladder_detected = is_valid_position &&
!nodemgr->get(node).walkable;
@@ -169,10 +168,9 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position,
void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
std::vector<CollisionInfo> *collision_info)
{
- if (!collision_info || collision_info->empty()) {
- // Node below the feet, update each ClientEnvironment::step()
- m_standing_node = floatToInt(m_position, BS) - v3s16(0, 1, 0);
- }
+ // Node at feet position, update each ClientEnvironment::step()
+ if (!collision_info || collision_info->empty())
+ m_standing_node = floatToInt(m_position, BS);
// Temporary option for old move code
if (!physics_override_new_move) {
@@ -188,6 +186,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
// Copy parent position if local player is attached
if (isAttached) {
setPosition(overridePosition);
+ added_velocity = v3f(0.0f); // ignored
return;
}
@@ -201,9 +200,13 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
if (noclip && free_move) {
position += m_speed * dtime;
setPosition(position);
+ added_velocity = v3f(0.0f); // ignored
return;
}
+ m_speed += added_velocity;
+ added_velocity = v3f(0.0f);
+
/*
Collision detection
*/
@@ -219,20 +222,19 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
// If in liquid, the threshold of coming out is at higher y
if (in_liquid)
{
- pp = floatToInt(position + v3f(0,BS*0.1,0), BS);
- node = map->getNodeNoEx(pp, &is_valid_position);
+ pp = floatToInt(position + v3f(0.0f, BS * 0.1f, 0.0f), BS);
+ node = map->getNode(pp, &is_valid_position);
if (is_valid_position) {
in_liquid = nodemgr->get(node.getContent()).isLiquid();
liquid_viscosity = nodemgr->get(node.getContent()).liquid_viscosity;
} else {
in_liquid = false;
}
- }
- // If not in liquid, the threshold of going in is at lower y
- else
- {
- pp = floatToInt(position + v3f(0,BS*0.5,0), BS);
- node = map->getNodeNoEx(pp, &is_valid_position);
+ } else {
+ // If not in liquid, the threshold of going in is at lower y
+
+ pp = floatToInt(position + v3f(0.0f, BS * 0.5f, 0.0f), BS);
+ node = map->getNode(pp, &is_valid_position);
if (is_valid_position) {
in_liquid = nodemgr->get(node.getContent()).isLiquid();
liquid_viscosity = nodemgr->get(node.getContent()).liquid_viscosity;
@@ -245,8 +247,8 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
/*
Check if player is in liquid (the stable value)
*/
- pp = floatToInt(position + v3f(0,0,0), BS);
- node = map->getNodeNoEx(pp, &is_valid_position);
+ pp = floatToInt(position + v3f(0.0f), BS);
+ node = map->getNode(pp, &is_valid_position);
if (is_valid_position) {
in_liquid_stable = nodemgr->get(node.getContent()).isLiquid();
} else {
@@ -254,21 +256,20 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
}
/*
- Check if player is climbing
+ Check if player is climbing
*/
-
- pp = floatToInt(position + v3f(0,0.5*BS,0), BS);
- v3s16 pp2 = floatToInt(position + v3f(0,-0.2*BS,0), BS);
- node = map->getNodeNoEx(pp, &is_valid_position);
+ pp = floatToInt(position + v3f(0.0f, 0.5f * BS, 0.0f), BS);
+ v3s16 pp2 = floatToInt(position + v3f(0.0f, -0.2f * BS, 0.0f), BS);
+ node = map->getNode(pp, &is_valid_position);
bool is_valid_position2;
- MapNode node2 = map->getNodeNoEx(pp2, &is_valid_position2);
+ MapNode node2 = map->getNode(pp2, &is_valid_position2);
if (!(is_valid_position && is_valid_position2)) {
is_climbing = false;
} else {
- is_climbing = (nodemgr->get(node.getContent()).climbable
- || nodemgr->get(node2.getContent()).climbable) && !free_move;
+ is_climbing = (nodemgr->get(node.getContent()).climbable ||
+ nodemgr->get(node2.getContent()).climbable) && !free_move;
}
/*
@@ -277,7 +278,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
*/
//f32 d = pos_max_d * 1.1;
// A fairly large value in here makes moving smoother
- f32 d = 0.15*BS;
+ f32 d = 0.15f * BS;
// This should always apply, otherwise there are glitches
sanity_check(d > pos_max_d);
@@ -287,7 +288,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
float player_stepheight = (m_cao == nullptr) ? 0.0f :
(touching_ground ? m_cao->getStepHeight() : (0.2f * BS));
- v3f accel_f = v3f(0,0,0);
+ v3f accel_f;
const v3f initial_position = position;
const v3f initial_speed = m_speed;
@@ -309,7 +310,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
collision_info->push_back(colinfo);
if (colinfo.type != COLLISION_NODE ||
- colinfo.new_speed.Y != 0 ||
+ colinfo.axis != COLLISION_AXIS_Y ||
(could_sneak && m_sneak_node_exists))
continue;
@@ -320,6 +321,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
if (is_first || len < distance) {
m_standing_node = colinfo.node_p;
distance = len;
+ is_first = false;
}
}
}
@@ -340,7 +342,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
if (m_sneak_ladder_detected) {
// restore legacy behaviour (this makes the m_speed.Y hack necessary)
- sneak_max = v3f(0.4 * BS, 0, 0.4 * BS);
+ sneak_max = v3f(0.4f * BS, 0.0f, 0.4f * BS);
}
/*
@@ -364,12 +366,12 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
bmin.Z - sneak_max.Z, bmax.Z + sneak_max.Z);
if (position.X != old_pos.X)
- m_speed.X = 0;
+ m_speed.X = 0.0f;
if (position.Z != old_pos.Z)
- m_speed.Z = 0;
+ m_speed.Z = 0.0f;
}
- if (y_diff > 0 && m_speed.Y <= 0 &&
+ if (y_diff > 0 && m_speed.Y <= 0.0f &&
(physics_override_sneak_glitch || y_diff < BS * 0.6f)) {
// Move player to the maximal height when falling or when
// the ledge is climbed on the next step.
@@ -377,11 +379,11 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
// Smoothen the movement (based on 'position.Y = bmax.Y')
position.Y += y_diff * dtime * 22.0f + BS * 0.01f;
position.Y = std::min(position.Y, bmax.Y);
- m_speed.Y = 0;
+ m_speed.Y = 0.0f;
}
// Allow jumping on node edges while sneaking
- if (m_speed.Y == 0 || m_sneak_ladder_detected)
+ if (m_speed.Y == 0.0f || m_sneak_ladder_detected)
sneak_can_jump = true;
if (collision_info &&
@@ -413,7 +415,7 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
Report collisions
*/
- if(!result.standing_on_object && !touching_ground_was && touching_ground) {
+ if (!result.standing_on_object && !touching_ground_was && touching_ground) {
m_client->getEventManager()->put(new SimpleTriggerEvent(MtEvent::PLAYER_REGAIN_GROUND));
// Set camera impact value to be used for view bobbing
@@ -423,31 +425,29 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d,
{
camera_barely_in_ceiling = false;
v3s16 camera_np = floatToInt(getEyePosition(), BS);
- MapNode n = map->getNodeNoEx(camera_np);
- if(n.getContent() != CONTENT_IGNORE){
- if(nodemgr->get(n).walkable && nodemgr->get(n).solidness == 2){
+ MapNode n = map->getNode(camera_np);
+ if (n.getContent() != CONTENT_IGNORE) {
+ if (nodemgr->get(n).walkable && nodemgr->get(n).solidness == 2)
camera_barely_in_ceiling = true;
- }
}
}
/*
Check properties of the node on which the player is standing
*/
- const ContentFeatures &f = nodemgr->get(map->getNodeNoEx(m_standing_node));
+ const ContentFeatures &f = nodemgr->get(map->getNode(m_standing_node));
+
// Determine if jumping is possible
- m_can_jump = (touching_ground && !in_liquid && !is_climbing)
- || sneak_can_jump;
- if (itemgroup_get(f.groups, "disable_jump"))
- m_can_jump = false;
+ m_disable_jump = itemgroup_get(f.groups, "disable_jump");
+ m_can_jump = ((touching_ground && !is_climbing) || sneak_can_jump) && !m_disable_jump;
// Jump key pressed while jumping off from a bouncy block
if (m_can_jump && control.jump && itemgroup_get(f.groups, "bouncy") &&
- m_speed.Y >= -0.5 * BS) {
+ m_speed.Y >= -0.5f * BS) {
float jumpspeed = movement_speed_jump * physics_override_jump;
- if (m_speed.Y > 1) {
+ if (m_speed.Y > 1.0f) {
// Reduce boost when speed already is high
- m_speed.Y += jumpspeed / (1 + (m_speed.Y / 16 ));
+ m_speed.Y += jumpspeed / (1.0f + (m_speed.Y / 16.0f));
} else {
m_speed.Y += jumpspeed;
}
@@ -474,19 +474,17 @@ void LocalPlayer::applyControl(float dtime, Environment *env)
setYaw(control.yaw);
// Nullify speed and don't run positioning code if the player is attached
- if(isAttached)
- {
- setSpeed(v3f(0,0,0));
+ if (isAttached) {
+ setSpeed(v3f(0.0f));
return;
}
PlayerSettings &player_settings = getPlayerSettings();
// All vectors are relative to the player's yaw,
- // (and pitch if pitch fly mode enabled),
+ // (and pitch if pitch move mode enabled),
// and will be rotated at the end
- v3f speedH = v3f(0,0,0); // Horizontal (X, Z)
- v3f speedV = v3f(0,0,0); // Vertical (Y)
+ v3f speedH, speedV; // Horizontal (X, Z) and Vertical (Y)
bool fly_allowed = m_client->checkLocalPrivilege("fly");
bool fast_allowed = m_client->checkLocalPrivilege("fast");
@@ -496,7 +494,6 @@ void LocalPlayer::applyControl(float dtime, Environment *env)
bool pitch_move = (free_move || in_liquid) && player_settings.pitch_move;
// When aux1_descends is enabled the fast key is used to go down, so fast isn't possible
bool fast_climb = fast_move && control.aux1 && !player_settings.aux1_descends;
- bool continuous_forward = player_settings.continuous_forward;
bool always_fly_fast = player_settings.always_fly_fast;
// Whether superspeed mode is used or not
@@ -506,76 +503,58 @@ void LocalPlayer::applyControl(float dtime, Environment *env)
superspeed = true;
// Old descend control
- if (player_settings.aux1_descends)
- {
+ if (player_settings.aux1_descends) {
// If free movement and fast movement, always move fast
- if(free_move && fast_move)
+ if (free_move && fast_move)
superspeed = true;
// Auxiliary button 1 (E)
- if(control.aux1)
- {
- if(free_move)
- {
+ if (control.aux1) {
+ if (free_move) {
// In free movement mode, aux1 descends
- if(fast_move)
+ if (fast_move)
speedV.Y = -movement_speed_fast;
else
speedV.Y = -movement_speed_walk;
- }
- else if(in_liquid || in_liquid_stable)
- {
+ } else if (in_liquid || in_liquid_stable) {
speedV.Y = -movement_speed_walk;
swimming_vertical = true;
- }
- else if(is_climbing)
- {
+ } else if (is_climbing) {
speedV.Y = -movement_speed_climb;
- }
- else
- {
+ } else {
// If not free movement but fast is allowed, aux1 is
// "Turbo button"
- if(fast_move)
+ if (fast_move)
superspeed = true;
}
}
- }
- // New minecraft-like descend control
- else
- {
+ } else {
+ // New minecraft-like descend control
+
// Auxiliary button 1 (E)
- if(control.aux1)
- {
- if(!is_climbing)
- {
+ if (control.aux1) {
+ if (!is_climbing) {
// aux1 is "Turbo button"
- if(fast_move)
+ if (fast_move)
superspeed = true;
}
}
- if(control.sneak)
- {
- if(free_move)
- {
+ if (control.sneak) {
+ if (free_move) {
// In free movement mode, sneak descends
if (fast_move && (control.aux1 || always_fly_fast))
speedV.Y = -movement_speed_fast;
else
speedV.Y = -movement_speed_walk;
- }
- else if(in_liquid || in_liquid_stable)
- {
- if(fast_climb)
+ } else if (in_liquid || in_liquid_stable) {
+ if (fast_climb)
speedV.Y = -movement_speed_fast;
else
speedV.Y = -movement_speed_walk;
swimming_vertical = true;
- }
- else if(is_climbing)
- {
- if(fast_climb)
+ } else if (is_climbing) {
+ if (fast_climb)
speedV.Y = -movement_speed_fast;
else
speedV.Y = -movement_speed_climb;
@@ -583,42 +562,32 @@ void LocalPlayer::applyControl(float dtime, Environment *env)
}
}
- if (continuous_forward)
- speedH += v3f(0,0,1);
+ if (control.up)
+ speedH += v3f(0.0f, 0.0f, 1.0f);
+
+ if (control.down)
+ speedH -= v3f(0.0f, 0.0f, 1.0f);
+
+ if (!control.up && !control.down)
+ speedH -= v3f(0.0f, 0.0f, 1.0f) * (control.forw_move_joystick_axis / 32767.f);
+
+ if (control.left)
+ speedH += v3f(-1.0f, 0.0f, 0.0f);
+
+ if (control.right)
+ speedH += v3f(1.0f, 0.0f, 0.0f);
+
+ if (!control.left && !control.right)
+ speedH += v3f(1.0f, 0.0f, 0.0f) * (control.sidew_move_joystick_axis / 32767.f);
- if (control.up) {
- if (continuous_forward) {
- if (fast_move)
- superspeed = true;
- } else {
- speedH += v3f(0,0,1);
- }
- }
- if (control.down) {
- speedH -= v3f(0,0,1);
- }
- if (!control.up && !control.down) {
- speedH -= v3f(0,0,1) *
- (control.forw_move_joystick_axis / 32767.f);
- }
- if (control.left) {
- speedH += v3f(-1,0,0);
- }
- if (control.right) {
- speedH += v3f(1,0,0);
- }
- if (!control.left && !control.right) {
- speedH += v3f(1,0,0) *
- (control.sidew_move_joystick_axis / 32767.f);
- }
if (m_autojump) {
// release autojump after a given time
m_autojump_time -= dtime;
if (m_autojump_time <= 0.0f)
m_autojump = false;
}
- if(control.jump)
- {
+
+ if (control.jump) {
if (free_move) {
if (player_settings.aux1_descends || always_fly_fast) {
if (fast_move)
@@ -626,37 +595,31 @@ void LocalPlayer::applyControl(float dtime, Environment *env)
else
speedV.Y = movement_speed_walk;
} else {
- if(fast_move && control.aux1)
+ if (fast_move && control.aux1)
speedV.Y = movement_speed_fast;
else
speedV.Y = movement_speed_walk;
}
- }
- else if(m_can_jump)
- {
+ } else if (m_can_jump) {
/*
NOTE: The d value in move() affects jump height by
raising the height at which the jump speed is kept
at its starting value
*/
v3f speedJ = getSpeed();
- if(speedJ.Y >= -0.5 * BS) {
+ if (speedJ.Y >= -0.5f * BS) {
speedJ.Y = movement_speed_jump * physics_override_jump;
setSpeed(speedJ);
m_client->getEventManager()->put(new SimpleTriggerEvent(MtEvent::PLAYER_JUMP));
}
- }
- else if(in_liquid)
- {
- if(fast_climb)
+ } else if (in_liquid && !m_disable_jump) {
+ if (fast_climb)
speedV.Y = movement_speed_fast;
else
speedV.Y = movement_speed_walk;
swimming_vertical = true;
- }
- else if(is_climbing)
- {
- if(fast_climb)
+ } else if (is_climbing && !m_disable_jump) {
+ if (fast_climb)
speedV.Y = movement_speed_fast;
else
speedV.Y = movement_speed_climb;
@@ -664,29 +627,31 @@ void LocalPlayer::applyControl(float dtime, Environment *env)
}
// The speed of the player (Y is ignored)
- if(superspeed || (is_climbing && fast_climb) || ((in_liquid || in_liquid_stable) && fast_climb))
+ if (superspeed || (is_climbing && fast_climb) ||
+ ((in_liquid || in_liquid_stable) && fast_climb))
speedH = speedH.normalize() * movement_speed_fast;
- else if(control.sneak && !free_move && !in_liquid && !in_liquid_stable)
+ else if (control.sneak && !free_move && !in_liquid && !in_liquid_stable)
speedH = speedH.normalize() * movement_speed_crouch;
else
speedH = speedH.normalize() * movement_speed_walk;
// Acceleration increase
- f32 incH = 0; // Horizontal (X, Z)
- f32 incV = 0; // Vertical (Y)
- if((!touching_ground && !free_move && !is_climbing && !in_liquid) || (!free_move && m_can_jump && control.jump))
- {
+ f32 incH = 0.0f; // Horizontal (X, Z)
+ f32 incV = 0.0f; // Vertical (Y)
+ if ((!touching_ground && !free_move && !is_climbing && !in_liquid) ||
+ (!free_move && m_can_jump && control.jump)) {
// Jumping and falling
- if(superspeed || (fast_move && control.aux1))
+ if (superspeed || (fast_move && control.aux1))
incH = movement_acceleration_fast * BS * dtime;
else
incH = movement_acceleration_air * BS * dtime;
- incV = 0; // No vertical acceleration in air
- }
- else if (superspeed || (is_climbing && fast_climb) || ((in_liquid || in_liquid_stable) && fast_climb))
+ incV = 0.0f; // No vertical acceleration in air
+ } else if (superspeed || (is_climbing && fast_climb) ||
+ ((in_liquid || in_liquid_stable) && fast_climb)) {
incH = incV = movement_acceleration_fast * BS * dtime;
- else
+ } else {
incH = incV = movement_acceleration_default * BS * dtime;
+ }
float slip_factor = 1.0f;
if (!free_move && !in_liquid && !in_liquid_stable)
@@ -701,47 +666,55 @@ void LocalPlayer::applyControl(float dtime, Environment *env)
// Accelerate to target speed with maximum increment
accelerate((speedH + speedV) * physics_override_speed,
- incH * physics_override_speed * slip_factor, incV * physics_override_speed,
- pitch_move);
+ incH * physics_override_speed * slip_factor, incV * physics_override_speed,
+ pitch_move);
}
v3s16 LocalPlayer::getStandingNodePos()
{
- if(m_sneak_node_exists)
+ if (m_sneak_node_exists)
return m_sneak_node;
+
return m_standing_node;
}
v3s16 LocalPlayer::getFootstepNodePos()
{
+ // Emit swimming sound if the player is in liquid
if (in_liquid_stable)
- // Emit swimming sound if the player is in liquid
return floatToInt(getPosition(), 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)
- // BS * 0.05 below the player's feet ensures a 1/16th height
- // nodebox is detected instead of the node below it.
- return floatToInt(getPosition() - v3f(0, BS * 0.05f, 0), BS);
+ return floatToInt(getPosition() - 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, BS * 0.5f, 0), BS);
+ return floatToInt(getPosition() - v3f(0.0f, BS * 0.5f, 0.0f), BS);
}
v3s16 LocalPlayer::getLightPosition() const
{
- return floatToInt(m_position + v3f(0,BS+BS/2,0), BS);
+ return floatToInt(m_position + v3f(0.0f, BS * 1.5f, 0.0f), BS);
}
v3f LocalPlayer::getEyeOffset() const
{
- float eye_height = camera_barely_in_ceiling ?
- m_eye_height - 0.125f : m_eye_height;
- return v3f(0, BS * eye_height, 0);
+ float eye_height = camera_barely_in_ceiling ? m_eye_height - 0.125f : m_eye_height;
+ return v3f(0.0f, BS * eye_height, 0.0f);
+}
+
+bool LocalPlayer::isDead() const
+{
+ FATAL_ERROR_IF(!getCAO(), "LocalPlayer's CAO isn't initialized");
+ return !getCAO()->isImmortal() && hp == 0;
}
// 3D acceleration
void LocalPlayer::accelerate(const v3f &target_speed, const f32 max_increase_H,
- const f32 max_increase_V, const bool use_pitch)
+ const f32 max_increase_V, const bool use_pitch)
{
const f32 yaw = getYaw();
const f32 pitch = getPitch();
@@ -752,18 +725,18 @@ void LocalPlayer::accelerate(const v3f &target_speed, const f32 max_increase_H,
flat_speed.rotateYZBy(-pitch);
v3f d_wanted = target_speed - flat_speed;
- v3f d = v3f(0,0,0);
+ v3f d;
// Then compare the horizontal and vertical components with the wanted speed
- if (max_increase_H > 0) {
- v3f d_wanted_H = d_wanted * v3f(1,0,1);
+ if (max_increase_H > 0.0f) {
+ v3f d_wanted_H = d_wanted * v3f(1.0f, 0.0f, 1.0f);
if (d_wanted_H.getLength() > max_increase_H)
d += d_wanted_H.normalize() * max_increase_H;
else
d += d_wanted_H;
}
- if (max_increase_V > 0) {
+ if (max_increase_V > 0.0f) {
f32 d_wanted_V = d_wanted.Y;
if (d_wanted_V > max_increase_V)
d.Y += max_increase_V;
@@ -783,7 +756,7 @@ void LocalPlayer::accelerate(const v3f &target_speed, const f32 max_increase_H,
// Temporary option for old move code
void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
- std::vector<CollisionInfo> *collision_info)
+ std::vector<CollisionInfo> *collision_info)
{
Map *map = &env->getMap();
const NodeDefManager *nodemgr = m_client->ndef();
@@ -794,6 +767,7 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
if (isAttached) {
setPosition(overridePosition);
m_sneak_node_exists = false;
+ added_velocity = v3f(0.0f);
return;
}
@@ -807,9 +781,13 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
position += m_speed * dtime;
setPosition(position);
m_sneak_node_exists = false;
+ added_velocity = v3f(0.0f);
return;
}
+ m_speed += added_velocity;
+ added_velocity = v3f(0.0f);
+
/*
Collision detection
*/
@@ -822,8 +800,8 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
*/
if (in_liquid) {
// If in liquid, the threshold of coming out is at higher y
- pp = floatToInt(position + v3f(0, BS * 0.1, 0), BS);
- node = map->getNodeNoEx(pp, &is_valid_position);
+ pp = floatToInt(position + v3f(0.0f, BS * 0.1f, 0.0f), BS);
+ node = map->getNode(pp, &is_valid_position);
if (is_valid_position) {
in_liquid = nodemgr->get(node.getContent()).isLiquid();
liquid_viscosity = nodemgr->get(node.getContent()).liquid_viscosity;
@@ -832,8 +810,8 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
}
} else {
// If not in liquid, the threshold of going in is at lower y
- pp = floatToInt(position + v3f(0, BS * 0.5, 0), BS);
- node = map->getNodeNoEx(pp, &is_valid_position);
+ pp = floatToInt(position + v3f(0.0f, BS * 0.5f, 0.0f), BS);
+ node = map->getNode(pp, &is_valid_position);
if (is_valid_position) {
in_liquid = nodemgr->get(node.getContent()).isLiquid();
liquid_viscosity = nodemgr->get(node.getContent()).liquid_viscosity;
@@ -845,8 +823,8 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
/*
Check if player is in liquid (the stable value)
*/
- pp = floatToInt(position + v3f(0, 0, 0), BS);
- node = map->getNodeNoEx(pp, &is_valid_position);
+ pp = floatToInt(position + v3f(0.0f), BS);
+ node = map->getNode(pp, &is_valid_position);
if (is_valid_position)
in_liquid_stable = nodemgr->get(node.getContent()).isLiquid();
else
@@ -855,17 +833,17 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
/*
Check if player is climbing
*/
- pp = floatToInt(position + v3f(0, 0.5 * BS, 0), BS);
- v3s16 pp2 = floatToInt(position + v3f(0, -0.2 * BS, 0), BS);
- node = map->getNodeNoEx(pp, &is_valid_position);
+ pp = floatToInt(position + v3f(0.0f, 0.5f * BS, 0.0f), BS);
+ v3s16 pp2 = floatToInt(position + v3f(0.0f, -0.2f * BS, 0.0f), BS);
+ node = map->getNode(pp, &is_valid_position);
bool is_valid_position2;
- MapNode node2 = map->getNodeNoEx(pp2, &is_valid_position2);
+ MapNode node2 = map->getNode(pp2, &is_valid_position2);
if (!(is_valid_position && is_valid_position2))
is_climbing = false;
else
is_climbing = (nodemgr->get(node.getContent()).climbable ||
- nodemgr->get(node2.getContent()).climbable) && !free_move;
+ nodemgr->get(node2.getContent()).climbable) && !free_move;
/*
Collision uncertainty radius
@@ -873,11 +851,11 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
*/
//f32 d = pos_max_d * 1.1;
// A fairly large value in here makes moving smoother
- f32 d = 0.15 * BS;
+ f32 d = 0.15f * BS;
// This should always apply, otherwise there are glitches
sanity_check(d > pos_max_d);
// Maximum distance over border for sneaking
- f32 sneak_max = BS * 0.4;
+ f32 sneak_max = BS * 0.4f;
/*
If sneaking, keep in range from the last walked node and don't
@@ -886,14 +864,14 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
if (control.sneak && m_sneak_node_exists &&
!(fly_allowed && player_settings.free_move) && !in_liquid &&
physics_override_sneak) {
- f32 maxd = 0.5 * BS + sneak_max;
+ f32 maxd = 0.5f * BS + sneak_max;
v3f lwn_f = intToFloat(m_sneak_node, BS);
position.X = rangelim(position.X, lwn_f.X - maxd, lwn_f.X + maxd);
position.Z = rangelim(position.Z, lwn_f.Z - maxd, lwn_f.Z + maxd);
if (!is_climbing) {
// Move up if necessary
- f32 new_y = (lwn_f.Y - 0.5 * BS) + m_sneak_node_bb_ymax;
+ f32 new_y = (lwn_f.Y - 0.5f * BS) + m_sneak_node_bb_ymax;
if (position.Y < new_y)
position.Y = new_y;
/*
@@ -901,15 +879,15 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
sneaking over the edges of current sneaking_node.
TODO (when fixed): Set Y-speed only to 0 when position.Y < new_y.
*/
- if (m_speed.Y < 0)
- m_speed.Y = 0;
+ if (m_speed.Y < 0.0f)
+ m_speed.Y = 0.0f;
}
}
- // this shouldn't be hardcoded but transmitted from server
- float player_stepheight = touching_ground ? (BS * 0.6) : (BS * 0.2);
+ // TODO: This shouldn't be hardcoded but decided by the server
+ float player_stepheight = touching_ground ? (BS * 0.6f) : (BS * 0.2f);
- v3f accel_f = v3f(0, 0, 0);
+ v3f accel_f;
const v3f initial_position = position;
const v3f initial_speed = m_speed;
@@ -917,6 +895,12 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
pos_max_d, m_collisionbox, player_stepheight, dtime,
&position, &m_speed, accel_f);
+ // Positition was slightly changed; update standing node pos
+ if (touching_ground)
+ m_standing_node = floatToInt(m_position - v3f(0.0f, 0.1f * BS, 0.0f), BS);
+ else
+ m_standing_node = floatToInt(m_position, BS);
+
/*
If the player's feet touch the topside of any node, this is
set to true.
@@ -926,35 +910,35 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
bool touching_ground_was = touching_ground;
touching_ground = result.touching_ground;
- //bool standing_on_unloaded = result.standing_on_unloaded;
+ //bool standing_on_unloaded = result.standing_on_unloaded;
/*
Check the nodes under the player to see from which node the
- player is sneaking from, if any. If the node from under
+ player is sneaking from, if any. If the node from under
the player has been removed, the player falls.
*/
- f32 position_y_mod = 0.05 * BS;
- if (m_sneak_node_bb_ymax > 0)
+ f32 position_y_mod = 0.05f * BS;
+ if (m_sneak_node_bb_ymax > 0.0f)
position_y_mod = m_sneak_node_bb_ymax - position_y_mod;
- v3s16 current_node = floatToInt(position - v3f(0, position_y_mod, 0), BS);
+ v3s16 current_node = floatToInt(position - v3f(0.0f, position_y_mod, 0.0f), BS);
if (m_sneak_node_exists &&
- nodemgr->get(map->getNodeNoEx(m_old_node_below)).name == "air" &&
+ nodemgr->get(map->getNode(m_old_node_below)).name == "air" &&
m_old_node_below_type != "air") {
// Old node appears to have been removed; that is,
// it wasn't air before but now it is
m_need_to_get_new_sneak_node = false;
m_sneak_node_exists = false;
- } else if (nodemgr->get(map->getNodeNoEx(current_node)).name != "air") {
+ } else if (nodemgr->get(map->getNode(current_node)).name != "air") {
// We are on something, so make sure to recalculate the sneak
// node.
m_need_to_get_new_sneak_node = true;
}
if (m_need_to_get_new_sneak_node && physics_override_sneak) {
- m_sneak_node_bb_ymax = 0;
- v3s16 pos_i_bottom = floatToInt(position - v3f(0, position_y_mod, 0), BS);
+ m_sneak_node_bb_ymax = 0.0f;
+ v3s16 pos_i_bottom = floatToInt(position - v3f(0.0f, position_y_mod, 0.0f), BS);
v2f player_p2df(position.X, position.Z);
- f32 min_distance_f = 100000.0 * BS;
+ f32 min_distance_f = 100000.0f * BS;
// If already seeking from some node, compare to it.
v3s16 new_sneak_node = m_sneak_node;
for (s16 x= -1; x <= 1; x++)
@@ -964,24 +948,24 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
v2f node_p2df(pf.X, pf.Z);
f32 distance_f = player_p2df.getDistanceFrom(node_p2df);
f32 max_axis_distance_f = MYMAX(
- std::fabs(player_p2df.X - node_p2df.X),
- std::fabs(player_p2df.Y - node_p2df.Y));
+ std::fabs(player_p2df.X - node_p2df.X),
+ std::fabs(player_p2df.Y - node_p2df.Y));
if (distance_f > min_distance_f ||
- max_axis_distance_f > 0.5 * BS + sneak_max + 0.1 * BS)
+ max_axis_distance_f > 0.5f * BS + sneak_max + 0.1f * BS)
continue;
// The node to be sneaked on has to be walkable
- node = map->getNodeNoEx(p, &is_valid_position);
+ node = map->getNode(p, &is_valid_position);
if (!is_valid_position || !nodemgr->get(node).walkable)
continue;
// And the node above it has to be nonwalkable
- node = map->getNodeNoEx(p + v3s16(0, 1, 0), &is_valid_position);
+ node = map->getNode(p + v3s16(0, 1, 0), &is_valid_position);
if (!is_valid_position || nodemgr->get(node).walkable)
continue;
// If not 'sneak_glitch' the node 2 nodes above it has to be nonwalkable
if (!physics_override_sneak_glitch) {
- node =map->getNodeNoEx(p + v3s16(0, 2, 0), &is_valid_position);
+ node = map->getNode(p + v3s16(0, 2, 0), &is_valid_position);
if (!is_valid_position || nodemgr->get(node).walkable)
continue;
}
@@ -990,14 +974,14 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
new_sneak_node = p;
}
- bool sneak_node_found = (min_distance_f < 100000.0 * BS * 0.9);
+ bool sneak_node_found = (min_distance_f < 100000.0f * BS * 0.9f);
m_sneak_node = new_sneak_node;
m_sneak_node_exists = sneak_node_found;
if (sneak_node_found) {
- f32 cb_max = 0;
- MapNode n = map->getNodeNoEx(m_sneak_node);
+ f32 cb_max = 0.0f;
+ MapNode n = map->getNode(m_sneak_node);
std::vector<aabb3f> nodeboxes;
n.getCollisionBoxes(nodemgr, &nodeboxes);
for (const auto &box : nodeboxes) {
@@ -1025,7 +1009,7 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
/*
Report collisions
*/
- // Dont report if flying
+ // Don't report if flying
if (collision_info && !(player_settings.free_move && fly_allowed)) {
for (const auto &info : result.collisions) {
collision_info->push_back(info);
@@ -1035,13 +1019,13 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
if (!result.standing_on_object && !touching_ground_was && touching_ground) {
m_client->getEventManager()->put(new SimpleTriggerEvent(MtEvent::PLAYER_REGAIN_GROUND));
// Set camera impact value to be used for view bobbing
- camera_impact = getSpeed().Y * -1;
+ camera_impact = getSpeed().Y * -1.0f;
}
{
camera_barely_in_ceiling = false;
v3s16 camera_np = floatToInt(getEyePosition(), BS);
- MapNode n = map->getNodeNoEx(camera_np);
+ MapNode n = map->getNode(camera_np);
if (n.getContent() != CONTENT_IGNORE) {
if (nodemgr->get(n).walkable && nodemgr->get(n).solidness == 2)
camera_barely_in_ceiling = true;
@@ -1051,24 +1035,25 @@ void LocalPlayer::old_move(f32 dtime, Environment *env, f32 pos_max_d,
/*
Update the node last under the player
*/
- m_old_node_below = floatToInt(position - v3f(0, BS / 2, 0), BS);
- m_old_node_below_type = nodemgr->get(map->getNodeNoEx(m_old_node_below)).name;
+ m_old_node_below = floatToInt(position - v3f(0.0f, BS / 2.0f, 0.0f), BS);
+ m_old_node_below_type = nodemgr->get(map->getNode(m_old_node_below)).name;
/*
Check properties of the node on which the player is standing
*/
- const ContentFeatures &f = nodemgr->get(map->getNodeNoEx(getStandingNodePos()));
+ const ContentFeatures &f = nodemgr->get(map->getNode(getStandingNodePos()));
+
// Determine if jumping is possible
- m_can_jump = touching_ground && !in_liquid;
- if (itemgroup_get(f.groups, "disable_jump"))
- m_can_jump = false;
+ m_disable_jump = itemgroup_get(f.groups, "disable_jump");
+ m_can_jump = touching_ground && !m_disable_jump;
+
// Jump key pressed while jumping off from a bouncy block
if (m_can_jump && control.jump && itemgroup_get(f.groups, "bouncy") &&
- m_speed.Y >= -0.5 * BS) {
+ m_speed.Y >= -0.5f * BS) {
float jumpspeed = movement_speed_jump * physics_override_jump;
- if (m_speed.Y > 1) {
+ if (m_speed.Y > 1.0f) {
// Reduce boost when speed already is high
- m_speed.Y += jumpspeed / (1 + (m_speed.Y / 16 ));
+ m_speed.Y += jumpspeed / (1.0f + (m_speed.Y / 16.0f));
} else {
m_speed.Y += jumpspeed;
}
@@ -1085,24 +1070,23 @@ float LocalPlayer::getSlipFactor(Environment *env, const v3f &speedH)
// Slip on slippery nodes
const NodeDefManager *nodemgr = env->getGameDef()->ndef();
Map *map = &env->getMap();
- const ContentFeatures &f = nodemgr->get(map->getNodeNoEx(
- getStandingNodePos()));
+ const ContentFeatures &f = nodemgr->get(map->getNode(getStandingNodePos()));
int slippery = 0;
if (f.walkable)
slippery = itemgroup_get(f.groups, "slippery");
if (slippery >= 1) {
- if (speedH == v3f(0.0f)) {
- slippery = slippery * 2;
- }
+ if (speedH == v3f(0.0f))
+ slippery *= 2;
+
return core::clamp(1.0f / (slippery + 1), 0.001f, 1.0f);
}
return 1.0f;
}
void LocalPlayer::handleAutojump(f32 dtime, Environment *env,
- const collisionMoveResult &result, const v3f &initial_position,
- const v3f &initial_speed, f32 pos_max_d)
+ const collisionMoveResult &result, const v3f &initial_position,
+ const v3f &initial_speed, f32 pos_max_d)
{
PlayerSettings &player_settings = getPlayerSettings();
if (!player_settings.autojump)
@@ -1111,11 +1095,13 @@ void LocalPlayer::handleAutojump(f32 dtime, Environment *env,
if (m_autojump)
return;
- bool control_forward = control.up || player_settings.continuous_forward ||
- (!control.up && !control.down &&
- control.forw_move_joystick_axis < -0.05);
+ bool control_forward = control.up ||
+ (!control.up && !control.down &&
+ control.forw_move_joystick_axis < -0.05f);
+
bool could_autojump =
- m_can_jump && !control.jump && !control.sneak && control_forward;
+ m_can_jump && !control.jump && !control.sneak && control_forward;
+
if (!could_autojump)
return;
@@ -1139,9 +1125,9 @@ void LocalPlayer::handleAutojump(f32 dtime, Environment *env,
v3s16 ceilpos_max = floatToInt(headpos_max, BS) + v3s16(0, 1, 0);
const NodeDefManager *ndef = env->getGameDef()->ndef();
bool is_position_valid;
- for (s16 z = ceilpos_min.Z; z <= ceilpos_max.Z; z++) {
- for (s16 x = ceilpos_min.X; x <= ceilpos_max.X; x++) {
- MapNode n = env->getMap().getNodeNoEx(v3s16(x, ceilpos_max.Y, z), &is_position_valid);
+ for (s16 z = ceilpos_min.Z; z <= ceilpos_max.Z; ++z) {
+ for (s16 x = ceilpos_min.X; x <= ceilpos_max.X; ++x) {
+ MapNode n = env->getMap().getNode(v3s16(x, ceilpos_max.Y, z), &is_position_valid);
if (!is_position_valid)
break; // won't collide with the void outside
@@ -1159,8 +1145,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, 0, 0));
+ m_collisionbox, 0.0f, dtime, &jump_pos, &jump_speed, v3f(0.0f));
// see if we can get a little bit farther horizontally if we had
// jumped
diff --git a/src/client/localplayer.h b/src/client/localplayer.h
index b1fc1fbc8..45dc6776e 100644
--- a/src/client/localplayer.h
+++ b/src/client/localplayer.h
@@ -100,7 +100,7 @@ public:
bool makes_footstep_sound = true;
int last_animation = NO_ANIM;
- float last_animation_speed;
+ float last_animation_speed = 0.0f;
std::string hotbar_image = "";
std::string hotbar_selected_image = "";
@@ -149,15 +149,22 @@ public:
bool getAutojump() const { return m_autojump; }
+ bool isDead() const;
+
+ inline void addVelocity(const v3f &vel)
+ {
+ added_velocity += vel;
+ }
+
private:
void accelerate(const v3f &target_speed, const f32 max_increase_H,
- const f32 max_increase_V, const bool use_pitch);
+ const f32 max_increase_V, const bool use_pitch);
bool updateSneakNode(Map *map, const v3f &position, const v3f &sneak_max);
float getSlipFactor(Environment *env, const v3f &speedH);
void handleAutojump(f32 dtime, Environment *env,
- const collisionMoveResult &result,
- const v3f &position_before_move, const v3f &speed_before_move,
- f32 pos_max_d);
+ const collisionMoveResult &result,
+ const v3f &position_before_move, const v3f &speed_before_move,
+ f32 pos_max_d);
v3f m_position;
v3s16 m_standing_node;
@@ -183,17 +190,21 @@ private:
// ***** End of variables for temporary option *****
bool m_can_jump = false;
+ bool m_disable_jump = false;
u16 m_breath = PLAYER_MAX_BREATH_DEFAULT;
f32 m_yaw = 0.0f;
f32 m_pitch = 0.0f;
bool camera_barely_in_ceiling = false;
aabb3f m_collisionbox = aabb3f(-BS * 0.30f, 0.0f, -BS * 0.30f, BS * 0.30f,
- BS * 1.75f, BS * 0.30f);
+ BS * 1.75f, BS * 0.30f);
float m_eye_height = 1.625f;
float m_zoom_fov = 0.0f;
bool m_autojump = false;
float m_autojump_time = 0.0f;
+ v3f added_velocity = v3f(0.0f); // cleared on each move()
+ // TODO: Rename to adhere to convention: added_velocity --> m_added_velocity
+
GenericCAO *m_cao = nullptr;
Client *m_client;
};
diff --git a/src/client/mapblock_mesh.cpp b/src/client/mapblock_mesh.cpp
index 6b5ba9f9d..2bfaa7a4f 100644
--- a/src/client/mapblock_mesh.cpp
+++ b/src/client/mapblock_mesh.cpp
@@ -942,10 +942,7 @@ static void updateFastFaceRow(
makeFastFace(tile, lights[0], lights[1], lights[2], lights[3],
pf, sp, face_dir_corrected, scale, dest);
-
- g_profiler->avg("Meshgen: faces drawn by tiling", 0);
- for (int i = 1; i < continuous_tiles_count; i++)
- g_profiler->avg("Meshgen: faces drawn by tiling", 1);
+ g_profiler->avg("Meshgen: Tiles per face [#]", continuous_tiles_count);
}
continuous_tiles_count = 1;
diff --git a/src/client/mesh.cpp b/src/client/mesh.cpp
index 7fc7531f2..4d73ead8a 100644
--- a/src/client/mesh.cpp
+++ b/src/client/mesh.cpp
@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "debug.h"
#include "log.h"
#include "irrMap.h"
+#include <cmath>
#include <iostream>
#include <IAnimatedMesh.h>
#include <SAnimatedMesh.h>
@@ -202,6 +203,20 @@ void setMeshColor(scene::IMesh *mesh, const video::SColor &color)
setMeshBufferColor(mesh->getMeshBuffer(j), color);
}
+template <typename F>
+static void applyToMesh(scene::IMesh *mesh, const F &fn)
+{
+ u16 mc = mesh->getMeshBufferCount();
+ for (u16 j = 0; j < mc; j++) {
+ scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
+ const u32 stride = getVertexPitchFromType(buf->getVertexType());
+ u32 vertex_count = buf->getVertexCount();
+ char *vertices = reinterpret_cast<char *>(buf->getVertices());
+ for (u32 i = 0; i < vertex_count; i++)
+ fn(reinterpret_cast<video::S3DVertex *>(vertices + i * stride));
+ }
+}
+
void colorizeMeshBuffer(scene::IMeshBuffer *buf, const video::SColor *buffercolor)
{
const u32 stride = getVertexPitchFromType(buf->getVertexType());
@@ -222,28 +237,20 @@ void setMeshColorByNormalXYZ(scene::IMesh *mesh,
const video::SColor &colorY,
const video::SColor &colorZ)
{
- if (mesh == NULL)
+ if (!mesh)
return;
-
- u16 mc = mesh->getMeshBufferCount();
- for (u16 j = 0; j < mc; j++) {
- scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
- const u32 stride = getVertexPitchFromType(buf->getVertexType());
- u32 vertex_count = buf->getVertexCount();
- u8 *vertices = (u8 *)buf->getVertices();
- for (u32 i = 0; i < vertex_count; i++) {
- video::S3DVertex *vertex = (video::S3DVertex *)(vertices + i * stride);
- f32 x = fabs(vertex->Normal.X);
- f32 y = fabs(vertex->Normal.Y);
- f32 z = fabs(vertex->Normal.Z);
- if (x >= y && x >= z)
- vertex->Color = colorX;
- else if (y >= z)
- vertex->Color = colorY;
- else
- vertex->Color = colorZ;
- }
- }
+ auto colorizator = [=] (video::S3DVertex *vertex) {
+ f32 x = fabs(vertex->Normal.X);
+ f32 y = fabs(vertex->Normal.Y);
+ f32 z = fabs(vertex->Normal.Z);
+ if (x >= y && x >= z)
+ vertex->Color = colorX;
+ else if (y >= z)
+ vertex->Color = colorY;
+ else
+ vertex->Color = colorZ;
+ };
+ applyToMesh(mesh, colorizator);
}
void setMeshColorByNormal(scene::IMesh *mesh, const v3f &normal,
@@ -251,132 +258,58 @@ void setMeshColorByNormal(scene::IMesh *mesh, const v3f &normal,
{
if (!mesh)
return;
+ auto colorizator = [normal, color] (video::S3DVertex *vertex) {
+ if (vertex->Normal == normal)
+ vertex->Color = color;
+ };
+ applyToMesh(mesh, colorizator);
+}
- u16 mc = mesh->getMeshBufferCount();
- for (u16 j = 0; j < mc; j++) {
- scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
- const u32 stride = getVertexPitchFromType(buf->getVertexType());
- u32 vertex_count = buf->getVertexCount();
- u8 *vertices = (u8 *)buf->getVertices();
- for (u32 i = 0; i < vertex_count; i++) {
- video::S3DVertex *vertex = (video::S3DVertex *)(vertices + i * stride);
- if (normal == vertex->Normal) {
- vertex->Color = color;
- }
- }
- }
+template <float v3f::*U, float v3f::*V>
+static void rotateMesh(scene::IMesh *mesh, float degrees)
+{
+ degrees *= M_PI / 180.0f;
+ float c = std::cos(degrees);
+ float s = std::sin(degrees);
+ auto rotator = [c, s] (video::S3DVertex *vertex) {
+ float u = vertex->Pos.*U;
+ float v = vertex->Pos.*V;
+ vertex->Pos.*U = c * u - s * v;
+ vertex->Pos.*V = s * u + c * v;
+ };
+ applyToMesh(mesh, rotator);
}
void rotateMeshXYby(scene::IMesh *mesh, f64 degrees)
{
- u16 mc = mesh->getMeshBufferCount();
- for (u16 j = 0; j < mc; j++) {
- scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
- const u32 stride = getVertexPitchFromType(buf->getVertexType());
- u32 vertex_count = buf->getVertexCount();
- u8 *vertices = (u8 *)buf->getVertices();
- for (u32 i = 0; i < vertex_count; i++)
- ((video::S3DVertex *)(vertices + i * stride))->Pos.rotateXYBy(degrees);
- }
+ rotateMesh<&v3f::X, &v3f::Y>(mesh, degrees);
}
void rotateMeshXZby(scene::IMesh *mesh, f64 degrees)
{
- u16 mc = mesh->getMeshBufferCount();
- for (u16 j = 0; j < mc; j++) {
- scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
- const u32 stride = getVertexPitchFromType(buf->getVertexType());
- u32 vertex_count = buf->getVertexCount();
- u8 *vertices = (u8 *)buf->getVertices();
- for (u32 i = 0; i < vertex_count; i++)
- ((video::S3DVertex *)(vertices + i * stride))->Pos.rotateXZBy(degrees);
- }
+ rotateMesh<&v3f::X, &v3f::Z>(mesh, degrees);
}
void rotateMeshYZby(scene::IMesh *mesh, f64 degrees)
{
- u16 mc = mesh->getMeshBufferCount();
- for (u16 j = 0; j < mc; j++) {
- scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
- const u32 stride = getVertexPitchFromType(buf->getVertexType());
- u32 vertex_count = buf->getVertexCount();
- u8 *vertices = (u8 *)buf->getVertices();
- for (u32 i = 0; i < vertex_count; i++)
- ((video::S3DVertex *)(vertices + i * stride))->Pos.rotateYZBy(degrees);
- }
+ rotateMesh<&v3f::Y, &v3f::Z>(mesh, degrees);
}
void rotateMeshBy6dFacedir(scene::IMesh *mesh, int facedir)
{
int axisdir = facedir >> 2;
facedir &= 0x03;
-
- u16 mc = mesh->getMeshBufferCount();
- for (u16 j = 0; j < mc; j++) {
- scene::IMeshBuffer *buf = mesh->getMeshBuffer(j);
- const u32 stride = getVertexPitchFromType(buf->getVertexType());
- u32 vertex_count = buf->getVertexCount();
- u8 *vertices = (u8 *)buf->getVertices();
- for (u32 i = 0; i < vertex_count; i++) {
- video::S3DVertex *vertex = (video::S3DVertex *)(vertices + i * stride);
- switch (axisdir) {
- case 0:
- if (facedir == 1)
- vertex->Pos.rotateXZBy(-90);
- else if (facedir == 2)
- vertex->Pos.rotateXZBy(180);
- else if (facedir == 3)
- vertex->Pos.rotateXZBy(90);
- break;
- case 1: // z+
- vertex->Pos.rotateYZBy(90);
- if (facedir == 1)
- vertex->Pos.rotateXYBy(90);
- else if (facedir == 2)
- vertex->Pos.rotateXYBy(180);
- else if (facedir == 3)
- vertex->Pos.rotateXYBy(-90);
- break;
- case 2: //z-
- vertex->Pos.rotateYZBy(-90);
- if (facedir == 1)
- vertex->Pos.rotateXYBy(-90);
- else if (facedir == 2)
- vertex->Pos.rotateXYBy(180);
- else if (facedir == 3)
- vertex->Pos.rotateXYBy(90);
- break;
- case 3: //x+
- vertex->Pos.rotateXYBy(-90);
- if (facedir == 1)
- vertex->Pos.rotateYZBy(90);
- else if (facedir == 2)
- vertex->Pos.rotateYZBy(180);
- else if (facedir == 3)
- vertex->Pos.rotateYZBy(-90);
- break;
- case 4: //x-
- vertex->Pos.rotateXYBy(90);
- if (facedir == 1)
- vertex->Pos.rotateYZBy(-90);
- else if (facedir == 2)
- vertex->Pos.rotateYZBy(180);
- else if (facedir == 3)
- vertex->Pos.rotateYZBy(90);
- break;
- case 5:
- vertex->Pos.rotateXYBy(-180);
- if (facedir == 1)
- vertex->Pos.rotateXZBy(90);
- else if (facedir == 2)
- vertex->Pos.rotateXZBy(180);
- else if (facedir == 3)
- vertex->Pos.rotateXZBy(-90);
- break;
- default:
- break;
- }
- }
+ switch (facedir) {
+ case 1: rotateMeshXZby(mesh, -90); break;
+ case 2: rotateMeshXZby(mesh, 180); break;
+ case 3: rotateMeshXZby(mesh, 90); break;
+ }
+ switch (axisdir) {
+ case 1: rotateMeshYZby(mesh, 90); break; // z+
+ case 2: rotateMeshYZby(mesh, -90); break; // z-
+ case 3: rotateMeshXYby(mesh, -90); break; // x+
+ case 4: rotateMeshXYby(mesh, 90); break; // x-
+ case 5: rotateMeshXYby(mesh, -180); break;
}
}
@@ -410,8 +343,8 @@ scene::IMeshBuffer* cloneMeshBuffer(scene::IMeshBuffer *mesh_buffer)
video::S3DVertex2TCoords *v =
(video::S3DVertex2TCoords *) mesh_buffer->getVertices();
u16 *indices = mesh_buffer->getIndices();
- scene::SMeshBufferTangents *cloned_buffer =
- new scene::SMeshBufferTangents();
+ scene::SMeshBufferLightMap *cloned_buffer =
+ new scene::SMeshBufferLightMap();
cloned_buffer->append(v, mesh_buffer->getVertexCount(), indices,
mesh_buffer->getIndexCount());
return cloned_buffer;
diff --git a/src/client/mesh_generator_thread.cpp b/src/client/mesh_generator_thread.cpp
index be4bcc1f4..53b980eeb 100644
--- a/src/client/mesh_generator_thread.cpp
+++ b/src/client/mesh_generator_thread.cpp
@@ -98,7 +98,7 @@ void MeshUpdateQueue::addBlock(Map *map, v3s16 p, bool ack_block_to_server, bool
&cache_hit_counter);
cached_blocks.push_back(cached_block);
}
- g_profiler->avg("MeshUpdateQueue MapBlock cache hit %",
+ g_profiler->avg("MeshUpdateQueue: MapBlocks from cache [%]",
100.0f * cache_hit_counter / cached_blocks.size());
/*
@@ -162,39 +162,36 @@ QueuedMeshUpdate *MeshUpdateQueue::pop()
CachedMapBlockData* MeshUpdateQueue::cacheBlock(Map *map, v3s16 p, UpdateMode mode,
size_t *cache_hit_counter)
{
+ CachedMapBlockData *cached_block = nullptr;
std::map<v3s16, CachedMapBlockData*>::iterator it =
m_cache.find(p);
+
if (it != m_cache.end()) {
- // Already in cache
- CachedMapBlockData *cached_block = it->second;
+ cached_block = it->second;
+
if (mode == SKIP_UPDATE_IF_ALREADY_CACHED) {
if (cache_hit_counter)
(*cache_hit_counter)++;
return cached_block;
}
- MapBlock *b = map->getBlockNoCreateNoEx(p);
- if (b) {
- if (cached_block->data == NULL)
- cached_block->data =
- new MapNode[MAP_BLOCKSIZE * MAP_BLOCKSIZE * MAP_BLOCKSIZE];
- memcpy(cached_block->data, b->getData(),
- MAP_BLOCKSIZE * MAP_BLOCKSIZE * MAP_BLOCKSIZE * sizeof(MapNode));
- } else {
- delete[] cached_block->data;
- cached_block->data = NULL;
- }
- return cached_block;
}
- // Not yet in cache
- CachedMapBlockData *cached_block = new CachedMapBlockData();
- m_cache[p] = cached_block;
+ if (!cached_block) {
+ // Not yet in cache
+ cached_block = new CachedMapBlockData();
+ m_cache[p] = cached_block;
+ }
+
MapBlock *b = map->getBlockNoCreateNoEx(p);
if (b) {
- cached_block->data =
- new MapNode[MAP_BLOCKSIZE * MAP_BLOCKSIZE * MAP_BLOCKSIZE];
+ if (!cached_block->data)
+ cached_block->data =
+ new MapNode[MAP_BLOCKSIZE * MAP_BLOCKSIZE * MAP_BLOCKSIZE];
memcpy(cached_block->data, b->getData(),
MAP_BLOCKSIZE * MAP_BLOCKSIZE * MAP_BLOCKSIZE * sizeof(MapNode));
+ } else {
+ delete[] cached_block->data;
+ cached_block->data = nullptr;
}
return cached_block;
}
@@ -292,7 +289,7 @@ void MeshUpdateThread::doUpdate()
while ((q = m_queue_in.pop())) {
if (m_generation_interval)
sleep_ms(m_generation_interval);
- ScopeProfiler sp(g_profiler, "Client: Mesh making");
+ ScopeProfiler sp(g_profiler, "Client: Mesh making (sum)");
MapBlockMesh *mesh_new = new MapBlockMesh(q->data, m_camera_offset);
diff --git a/src/client/minimap.cpp b/src/client/minimap.cpp
index 4d83c088a..68770ec19 100644
--- a/src/client/minimap.cpp
+++ b/src/client/minimap.cpp
@@ -569,7 +569,7 @@ void Minimap::updateActiveMarkers()
m_active_markers.clear();
for (Nametag *nametag : nametags) {
- v3s16 pos = floatToInt(nametag->parent_node->getPosition() +
+ v3s16 pos = floatToInt(nametag->parent_node->getAbsolutePosition() +
intToFloat(client->getCamera()->getOffset(), BS), BS);
pos -= data->pos - v3s16(data->map_size / 2,
data->scan_height / 2,
diff --git a/src/client/particles.cpp b/src/client/particles.cpp
index ebd52f0f0..a0e4e54eb 100644
--- a/src/client/particles.cpp
+++ b/src/client/particles.cpp
@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <cmath>
#include "client.h"
#include "collision.h"
+#include "client/content_cao.h"
#include "client/clientevent.h"
#include "client/renderingengine.h"
#include "util/numeric.h"
@@ -38,9 +39,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
v3f random_v3f(v3f min, v3f max)
{
- return v3f( rand()/(float)RAND_MAX*(max.X-min.X)+min.X,
- rand()/(float)RAND_MAX*(max.Y-min.Y)+min.Y,
- rand()/(float)RAND_MAX*(max.Z-min.Z)+min.Z);
+ return v3f(
+ rand() / (float)RAND_MAX * (max.X - min.X) + min.X,
+ rand() / (float)RAND_MAX * (max.Y - min.Y) + min.Y,
+ rand() / (float)RAND_MAX * (max.Z - min.Z) + min.Z);
}
Particle::Particle(
@@ -99,8 +101,13 @@ Particle::Particle(
m_glow = glow;
// Irrlicht stuff
- m_collisionbox = aabb3f
- (-size/2,-size/2,-size/2,size/2,size/2,size/2);
+ m_collisionbox = aabb3f(
+ -size / 2,
+ -size / 2,
+ -size / 2,
+ size / 2,
+ size / 2,
+ size / 2);
this->setAutomaticCulling(scene::EAC_OFF);
// Init lighting
@@ -120,7 +127,7 @@ void Particle::OnRegisterSceneNode()
void Particle::render()
{
- video::IVideoDriver* driver = SceneManager->getVideoDriver();
+ video::IVideoDriver *driver = SceneManager->getVideoDriver();
driver->setMaterial(m_material);
driver->setTransform(video::ETS_WORLD, AbsoluteTransformation);
@@ -181,7 +188,7 @@ void Particle::updateLight()
floor(m_pos.Y+0.5),
floor(m_pos.Z+0.5)
);
- MapNode n = m_env->getClientMap().getNodeNoEx(p, &pos_ok);
+ MapNode n = m_env->getClientMap().getNode(p, &pos_ok);
if (pos_ok)
light = n.getLightBlend(m_env->getDayNightRatio(), m_gamedef->ndef());
else
@@ -291,24 +298,29 @@ ParticleSpawner::ParticleSpawner(
m_animation = anim;
m_glow = glow;
- for (u16 i = 0; i<=m_amount; i++)
+ for (u16 i = 0; i <= m_amount; i++)
{
- float spawntime = (float)rand()/(float)RAND_MAX*m_spawntime;
+ float spawntime = (float)rand() / (float)RAND_MAX * m_spawntime;
m_spawntimes.push_back(spawntime);
}
}
void ParticleSpawner::spawnParticle(ClientEnvironment *env, float radius,
- bool is_attached, const v3f &attached_pos, float attached_yaw)
+ const core::matrix4 *attached_absolute_pos_rot_matrix)
{
v3f ppos = m_player->getPosition() / BS;
v3f pos = random_v3f(m_minpos, m_maxpos);
// Need to apply this first or the following check
// will be wrong for attached spawners
- if (is_attached) {
- pos.rotateXZBy(attached_yaw);
- pos += attached_pos;
+ if (attached_absolute_pos_rot_matrix) {
+ pos *= BS;
+ attached_absolute_pos_rot_matrix->transformVect(pos);
+ pos /= BS;
+ v3s16 camera_offset = m_particlemanager->m_env->getCameraOffset();
+ pos.X += camera_offset.X;
+ pos.Y += camera_offset.Y;
+ pos.Z += camera_offset.Z;
}
if (pos.getDistanceFrom(ppos) > radius)
@@ -317,18 +329,19 @@ void ParticleSpawner::spawnParticle(ClientEnvironment *env, float radius,
v3f vel = random_v3f(m_minvel, m_maxvel);
v3f acc = random_v3f(m_minacc, m_maxacc);
- if (is_attached) {
- // Apply attachment yaw
- vel.rotateXZBy(attached_yaw);
- acc.rotateXZBy(attached_yaw);
+ if (attached_absolute_pos_rot_matrix) {
+ // Apply attachment rotation
+ attached_absolute_pos_rot_matrix->rotateVect(vel);
+ attached_absolute_pos_rot_matrix->rotateVect(acc);
}
float exptime = rand() / (float)RAND_MAX
- * (m_maxexptime - m_minexptime)
- + m_minexptime;
+ * (m_maxexptime - m_minexptime)
+ + m_minexptime;
+
float size = rand() / (float)RAND_MAX
- * (m_maxsize - m_minsize)
- + m_minsize;
+ * (m_maxsize - m_minsize)
+ + m_minsize;
m_particlemanager->addParticle(new Particle(
m_gamedef,
@@ -351,7 +364,7 @@ void ParticleSpawner::spawnParticle(ClientEnvironment *env, float radius,
));
}
-void ParticleSpawner::step(float dtime, ClientEnvironment* env)
+void ParticleSpawner::step(float dtime, ClientEnvironment *env)
{
m_time += dtime;
@@ -359,14 +372,10 @@ void ParticleSpawner::step(float dtime, ClientEnvironment* env)
g_settings->getS16("max_block_send_distance") * MAP_BLOCKSIZE;
bool unloaded = false;
- bool is_attached = false;
- v3f attached_pos = v3f(0,0,0);
- float attached_yaw = 0;
- if (m_attached_id != 0) {
- if (ClientActiveObject *attached = env->getActiveObject(m_attached_id)) {
- attached_pos = attached->getPosition() / BS;
- attached_yaw = attached->getYaw();
- is_attached = true;
+ const core::matrix4 *attached_absolute_pos_rot_matrix = nullptr;
+ if (m_attached_id) {
+ if (GenericCAO *attached = dynamic_cast<GenericCAO *>(env->getActiveObject(m_attached_id))) {
+ attached_absolute_pos_rot_matrix = &attached->getAbsolutePosRotMatrix();
} else {
unloaded = true;
}
@@ -377,12 +386,12 @@ void ParticleSpawner::step(float dtime, ClientEnvironment* env)
for (std::vector<float>::iterator i = m_spawntimes.begin();
i != m_spawntimes.end();) {
if ((*i) <= m_time && m_amount > 0) {
- m_amount--;
+ --m_amount;
// Pretend to, but don't actually spawn a particle if it is
// attached to an unloaded object or distant from player.
if (!unloaded)
- spawnParticle(env, radius, is_attached, attached_pos, attached_yaw);
+ spawnParticle(env, radius, attached_absolute_pos_rot_matrix);
i = m_spawntimes.erase(i);
} else {
@@ -398,13 +407,13 @@ void ParticleSpawner::step(float dtime, ClientEnvironment* env)
for (int i = 0; i <= m_amount; i++) {
if (rand() / (float)RAND_MAX < dtime)
- spawnParticle(env, radius, is_attached, attached_pos, attached_yaw);
+ spawnParticle(env, radius, attached_absolute_pos_rot_matrix);
}
}
}
-ParticleManager::ParticleManager(ClientEnvironment* env) :
+ParticleManager::ParticleManager(ClientEnvironment *env) :
m_env(env)
{}
@@ -419,7 +428,7 @@ void ParticleManager::step(float dtime)
stepSpawners (dtime);
}
-void ParticleManager::stepSpawners (float dtime)
+void ParticleManager::stepSpawners(float dtime)
{
MutexAutoLock lock(m_spawner_list_lock);
for (auto i = m_particle_spawners.begin(); i != m_particle_spawners.end();) {
@@ -433,7 +442,7 @@ void ParticleManager::stepSpawners (float dtime)
}
}
-void ParticleManager::stepParticles (float dtime)
+void ParticleManager::stepParticles(float dtime)
{
MutexAutoLock lock(m_particle_list_lock);
for (auto i = m_particles.begin(); i != m_particles.end();) {
@@ -448,7 +457,7 @@ void ParticleManager::stepParticles (float dtime)
}
}
-void ParticleManager::clearAll ()
+void ParticleManager::clearAll()
{
MutexAutoLock lock(m_spawner_list_lock);
MutexAutoLock lock2(m_particle_list_lock);
@@ -457,9 +466,7 @@ void ParticleManager::clearAll ()
m_particle_spawners.erase(i++);
}
- for(std::vector<Particle*>::iterator i =
- m_particles.begin();
- i != m_particles.end();)
+ for(auto i = m_particles.begin(); i != m_particles.end();)
{
(*i)->remove();
delete *i;
@@ -568,7 +575,7 @@ void ParticleManager::handleParticleEvent(ClientEvent *event, Client *client,
// The final burst of particles when a node is finally dug, *not* particles
// spawned during the digging of a node.
-void ParticleManager::addDiggingParticles(IGameDef* gamedef,
+void ParticleManager::addDiggingParticles(IGameDef *gamedef,
LocalPlayer *player, v3s16 pos, const MapNode &n, const ContentFeatures &f)
{
// No particles for "airlike" nodes
@@ -583,7 +590,7 @@ void ParticleManager::addDiggingParticles(IGameDef* gamedef,
// During the digging of a node particles are spawned individually by this
// function, called from Game::handleDigging() in game.cpp.
-void ParticleManager::addNodeParticle(IGameDef* gamedef,
+void ParticleManager::addNodeParticle(IGameDef *gamedef,
LocalPlayer *player, v3s16 pos, const MapNode &n, const ContentFeatures &f)
{
// No particles for "airlike" nodes
@@ -635,7 +642,7 @@ void ParticleManager::addNodeParticle(IGameDef* gamedef,
else
n.getColor(f, &color);
- Particle* toadd = new Particle(
+ Particle *toadd = new Particle(
gamedef,
player,
m_env,
@@ -658,7 +665,7 @@ void ParticleManager::addNodeParticle(IGameDef* gamedef,
addParticle(toadd);
}
-void ParticleManager::addParticle(Particle* toadd)
+void ParticleManager::addParticle(Particle *toadd)
{
MutexAutoLock lock(m_particle_list_lock);
m_particles.push_back(toadd);
diff --git a/src/client/particles.h b/src/client/particles.h
index 353743372..e7b8cbe24 100644
--- a/src/client/particles.h
+++ b/src/client/particles.h
@@ -144,8 +144,7 @@ public:
private:
void spawnParticle(ClientEnvironment *env, float radius,
- bool is_attached, const v3f &attached_pos,
- float attached_yaw);
+ const core::matrix4 *attached_absolute_pos_rot_matrix);
ParticleManager *m_particlemanager;
float m_time;
diff --git a/src/client/render/core.cpp b/src/client/render/core.cpp
index 8c70b36c6..bf5aa6c2c 100644
--- a/src/client/render/core.cpp
+++ b/src/client/render/core.cpp
@@ -86,7 +86,7 @@ void RenderingCore::drawHUD()
if (show_hud) {
if (draw_crosshair)
hud->drawCrosshair();
- hud->drawHotbar(client->getPlayerItem());
+ hud->drawHotbar(client->getEnv().getLocalPlayer()->getWieldIndex());
hud->drawLuaElements(camera->getOffset());
camera->drawNametags();
if (mapper && show_minimap)
diff --git a/src/client/render/plain.cpp b/src/client/render/plain.cpp
index cc17c98c3..a130a14eb 100644
--- a/src/client/render/plain.cpp
+++ b/src/client/render/plain.cpp
@@ -35,7 +35,7 @@ RenderingCorePlain::RenderingCorePlain(
void RenderingCorePlain::initTextures()
{
- if (!scale)
+ if (scale <= 1)
return;
v2u32 size{scaledown(scale, screensize.X), scaledown(scale, screensize.Y)};
lowres = driver->addRenderTargetTexture(
@@ -44,21 +44,21 @@ void RenderingCorePlain::initTextures()
void RenderingCorePlain::clearTextures()
{
- if (!scale)
+ if (scale <= 1)
return;
driver->removeTexture(lowres);
}
void RenderingCorePlain::beforeDraw()
{
- if (!scale)
+ if (scale <= 1)
return;
driver->setRenderTarget(lowres, true, true, skycolor);
}
void RenderingCorePlain::upscale()
{
- if (!scale)
+ if (scale <= 1)
return;
driver->setRenderTarget(0, true, true);
v2u32 size{scaledown(scale, screensize.X), scaledown(scale, screensize.Y)};
diff --git a/src/client/renderingengine.cpp b/src/client/renderingengine.cpp
index b18e91f6e..6e6509eeb 100644
--- a/src/client/renderingengine.cpp
+++ b/src/client/renderingengine.cpp
@@ -35,6 +35,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "render/factory.h"
#include "inputhandler.h"
#include "gettext.h"
+#include "../gui/guiSkin.h"
#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__ANDROID__) && \
!defined(SERVER) && !defined(__HAIKU__)
@@ -44,14 +45,38 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
+
#endif
-#ifdef __ANDROID__
+#if ENABLE_GLES
#include "filesys.h"
#endif
RenderingEngine *RenderingEngine::s_singleton = nullptr;
+
+static gui::GUISkin *createSkin(gui::IGUIEnvironment *environment,
+ gui::EGUI_SKIN_TYPE type, video::IVideoDriver *driver)
+{
+ gui::GUISkin *skin = new gui::GUISkin(type, driver);
+
+ gui::IGUIFont *builtinfont = environment->getBuiltInFont();
+ gui::IGUIFontBitmap *bitfont = nullptr;
+ if (builtinfont && builtinfont->getType() == gui::EGFT_BITMAP)
+ bitfont = (gui::IGUIFontBitmap*)builtinfont;
+
+ gui::IGUISpriteBank *bank = 0;
+ skin->setFont(builtinfont);
+
+ if (bitfont)
+ bank = bitfont->getSpriteBank();
+
+ skin->setSpriteBank(bank);
+
+ return skin;
+}
+
+
RenderingEngine::RenderingEngine(IEventReceiver *receiver)
{
sanity_check(!s_singleton);
@@ -77,7 +102,7 @@ RenderingEngine::RenderingEngine(IEventReceiver *receiver)
u32 i;
for (i = 0; i != drivers.size(); i++) {
if (!strcasecmp(driverstring.c_str(),
- RenderingEngine::getVideoDriverName(drivers[i]))) {
+ RenderingEngine::getVideoDriverName(drivers[i]))) {
driverType = drivers[i];
break;
}
@@ -106,12 +131,22 @@ RenderingEngine::RenderingEngine(IEventReceiver *receiver)
params.OGLES2ShaderPath = std::string(porting::path_user + DIR_DELIM + "media" +
DIR_DELIM + "Shaders" + DIR_DELIM).c_str();
// clang-format on
+#elif ENABLE_GLES
+ // there is no standardized path for these on desktop
+ std::string rel_path = std::string("client") + DIR_DELIM
+ + "shaders" + DIR_DELIM + "Irrlicht";
+ params.OGLES2ShaderPath = (porting::path_share + DIR_DELIM + rel_path + DIR_DELIM).c_str();
#endif
m_device = createDeviceEx(params);
driver = m_device->getVideoDriver();
s_singleton = this;
+
+ auto skin = createSkin(m_device->getGUIEnvironment(),
+ gui::EGST_WINDOWS_METALLIC, driver);
+ m_device->getGUIEnvironment()->setSkin(skin);
+ skin->drop();
}
RenderingEngine::~RenderingEngine()
@@ -193,7 +228,7 @@ bool RenderingEngine::setupTopLevelWindow(const std::string &name)
// sort here that would call the correct toplevel setup methods for
// the environment Minetest is running in but for now not deviating
// from the original pattern.
-
+
/* Setting Xorg properties for the top level window */
setupTopLevelXorgWindow(name);
/* Done with Xorg properties */
@@ -211,7 +246,7 @@ bool RenderingEngine::setupTopLevelWindow(const std::string &name)
/* Done with general properties */
// FIXME: setWindowIcon returns a bool result but it is unused.
- // For now continue to return this result.
+ // For now continue to return this result.
return result;
}
@@ -223,7 +258,7 @@ void RenderingEngine::setupTopLevelXorgWindow(const std::string &name)
Display *x11_dpl = reinterpret_cast<Display *>(exposedData.OpenGLLinux.X11Display);
if (x11_dpl == NULL) {
warningstream << "Client: Could not find X11 Display in ExposedVideoData"
- << std::endl;
+ << std::endl;
return;
}
@@ -244,30 +279,30 @@ void RenderingEngine::setupTopLevelXorgWindow(const std::string &name)
// FIXME: In the future WMNormalHints should be set ... e.g see the
// gtk/gdk code (gdk/x11/gdksurface-x11.c) for the setup_top_level
- // method. But for now (as it would require some significant changes)
- // leave the code as is.
-
+ // method. But for now (as it would require some significant changes)
+ // leave the code as is.
+
// The following is borrowed from the above gdk source for setting top
// level windows. The source indicates and the Xlib docs suggest that
- // this will set the WM_CLIENT_MACHINE and WM_LOCAL_NAME. This will not
- // set the WM_CLIENT_MACHINE to a Fully Qualified Domain Name (FQDN) which is
+ // this will set the WM_CLIENT_MACHINE and WM_LOCAL_NAME. This will not
+ // set the WM_CLIENT_MACHINE to a Fully Qualified Domain Name (FQDN) which is
// required by the Extended Window Manager Hints (EWMH) spec when setting
// the _NET_WM_PID (see further down) but running Minetest in an env
// where the window manager is on another machine from Minetest (therefore
// making the PID useless) is not expected to be a problem. Further
// more, using gtk/gdk as the model it would seem that not using a FQDN is
// not an issue for modern Xorg window managers.
-
+
verbosestream << "Client: Setting Xorg window manager Properties"
<< std::endl;
XSetWMProperties (x11_dpl, x11_win, NULL, NULL, NULL, 0, NULL, NULL, NULL);
- // Set the _NET_WM_PID window property according to the EWMH spec. _NET_WM_PID
- // (in conjunction with WM_CLIENT_MACHINE) can be used by window managers to
- // force a shutdown of an application if it doesn't respond to the destroy
- // window message.
-
+ // Set the _NET_WM_PID window property according to the EWMH spec. _NET_WM_PID
+ // (in conjunction with WM_CLIENT_MACHINE) can be used by window managers to
+ // force a shutdown of an application if it doesn't respond to the destroy
+ // window message.
+
verbosestream << "Client: Setting Xorg _NET_WM_PID extened window manager property"
<< std::endl;
@@ -277,12 +312,12 @@ void RenderingEngine::setupTopLevelXorgWindow(const std::string &name)
infostream << "Client: PID is '" << static_cast<long>(pid) << "'"
<< std::endl;
- XChangeProperty(x11_dpl, x11_win, NET_WM_PID,
- XA_CARDINAL, 32, PropModeReplace,
+ XChangeProperty(x11_dpl, x11_win, NET_WM_PID,
+ XA_CARDINAL, 32, PropModeReplace,
reinterpret_cast<unsigned char *>(&pid),1);
// Set the WM_CLIENT_LEADER window property here. Minetest has only one
- // window and that window will always be the leader.
+ // window and that window will always be the leader.
verbosestream << "Client: Setting Xorg WM_CLIENT_LEADER property"
<< std::endl;
diff --git a/src/client/shader.cpp b/src/client/shader.cpp
index 3b49a36ba..f36ff3d85 100644
--- a/src/client/shader.cpp
+++ b/src/client/shader.cpp
@@ -527,15 +527,18 @@ ShaderInfo generate_shader(const std::string &name, u8 material_type, u8 drawtyp
switch (material_type) {
case TILE_MATERIAL_OPAQUE:
case TILE_MATERIAL_LIQUID_OPAQUE:
+ case TILE_MATERIAL_WAVING_LIQUID_OPAQUE:
shaderinfo.base_material = video::EMT_SOLID;
break;
case TILE_MATERIAL_ALPHA:
case TILE_MATERIAL_LIQUID_TRANSPARENT:
+ case TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT:
shaderinfo.base_material = video::EMT_TRANSPARENT_ALPHA_CHANNEL;
break;
case TILE_MATERIAL_BASIC:
case TILE_MATERIAL_WAVING_LEAVES:
case TILE_MATERIAL_WAVING_PLANTS:
+ case TILE_MATERIAL_WAVING_LIQUID_BASIC:
shaderinfo.base_material = video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF;
break;
}
@@ -631,10 +634,13 @@ ShaderInfo generate_shader(const std::string &name, u8 material_type, u8 drawtyp
"TILE_MATERIAL_LIQUID_OPAQUE",
"TILE_MATERIAL_WAVING_LEAVES",
"TILE_MATERIAL_WAVING_PLANTS",
- "TILE_MATERIAL_OPAQUE"
+ "TILE_MATERIAL_OPAQUE",
+ "TILE_MATERIAL_WAVING_LIQUID_BASIC",
+ "TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT",
+ "TILE_MATERIAL_WAVING_LIQUID_OPAQUE",
};
- for (int i = 0; i < 7; i++){
+ for (int i = 0; i < 10; i++){
shaders_header += "#define ";
shaders_header += materialTypes[i];
shaders_header += " ";
diff --git a/src/client/sky.cpp b/src/client/sky.cpp
index ff968444d..346cd0642 100644
--- a/src/client/sky.cpp
+++ b/src/client/sky.cpp
@@ -30,6 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "client/renderingengine.h"
#include "settings.h"
#include "camera.h" // CameraModes
+#include "config.h"
Sky::Sky(s32 id, ITextureSource *tsrc):
@@ -44,7 +45,7 @@ Sky::Sky(s32 id, ITextureSource *tsrc):
video::SMaterial mat;
mat.Lighting = false;
-#ifdef __ANDROID__
+#if ENABLE_GLES
mat.ZBuffer = video::ECFN_DISABLED;
#else
mat.ZBuffer = video::ECFN_NEVER;
@@ -118,8 +119,8 @@ void Sky::render()
if (!m_visible)
return;
- video::IVideoDriver* driver = SceneManager->getVideoDriver();
- scene::ICameraSceneNode* camera = SceneManager->getActiveCamera();
+ video::IVideoDriver *driver = SceneManager->getVideoDriver();
+ scene::ICameraSceneNode *camera = SceneManager->getActiveCamera();
if (!camera || !driver)
return;
@@ -273,7 +274,7 @@ void Sky::render()
// Stars are only drawn when brighter than skycolor
if (starcolor.getBlue() < m_skycolor.getBlue())
break;
-#ifdef __ANDROID__
+#if ENABLE_GLES
u16 indices[SKY_STAR_COUNT * 3];
video::S3DVertex vertices[SKY_STAR_COUNT * 3];
for (u32 i = 0; i < SKY_STAR_COUNT; i++) {
@@ -337,7 +338,7 @@ void Sky::render()
indices, SKY_STAR_COUNT, video::EVT_STANDARD,
scene::EPT_QUADS, video::EIT_16BIT);
#endif
- } while(false);
+ } while (false);
// Draw sunrise/sunset horizon glow texture (textures/base/pack/sunrisebg.png)
{
@@ -366,154 +367,12 @@ void Sky::render()
// Draw sun
if (wicked_time_of_day > 0.15 && wicked_time_of_day < 0.85) {
- if (!m_sun_texture) {
- driver->setMaterial(m_materials[1]);
- float d = sunsize * 1.7;
- video::SColor c = suncolor;
- c.setAlpha(0.05 * 255);
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, c, t, t);
- vertices[1] = video::S3DVertex( d, -d, -1, 0, 0, 1, c, o, t);
- vertices[2] = video::S3DVertex( d, d, -1, 0, 0, 1, c, o, o);
- vertices[3] = video::S3DVertex(-d, d, -1, 0, 0, 1, c, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to +X (east)
- vertex.Pos.rotateXZBy(90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
-
- d = sunsize * 1.2;
- c = suncolor;
- c.setAlpha(0.15 * 255);
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, c, t, t);
- vertices[1] = video::S3DVertex( d, -d, -1, 0, 0, 1, c, o, t);
- vertices[2] = video::S3DVertex( d, d, -1, 0, 0, 1, c, o, o);
- vertices[3] = video::S3DVertex(-d, d, -1, 0, 0, 1, c, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to +X (east)
- vertex.Pos.rotateXZBy(90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
-
- d = sunsize;
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, suncolor, t, t);
- vertices[1] = video::S3DVertex( d, -d, -1, 0, 0, 1, suncolor, o, t);
- vertices[2] = video::S3DVertex( d, d, -1, 0, 0, 1, suncolor, o, o);
- vertices[3] = video::S3DVertex(-d, d, -1, 0, 0, 1, suncolor, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to +X (east)
- vertex.Pos.rotateXZBy(90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
-
- d = sunsize * 0.7;
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, suncolor2, t, t);
- vertices[1] = video::S3DVertex( d, -d, -1, 0, 0, 1, suncolor2, o, t);
- vertices[2] = video::S3DVertex( d, d, -1, 0, 0, 1, suncolor2, o, o);
- vertices[3] = video::S3DVertex(-d, d, -1, 0, 0, 1, suncolor2, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to +X (east)
- vertex.Pos.rotateXZBy(90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
- } else {
- driver->setMaterial(m_materials[3]);
- float d = sunsize * 1.7;
- video::SColor c;
- if (m_sun_tonemap)
- c = video::SColor (0, 0, 0, 0);
- else
- c = video::SColor (255, 255, 255, 255);
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, c, t, t);
- vertices[1] = video::S3DVertex( d, -d, -1, 0, 0, 1, c, o, t);
- vertices[2] = video::S3DVertex( d, d, -1, 0, 0, 1, c, o, o);
- vertices[3] = video::S3DVertex(-d, d, -1, 0, 0, 1, c, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to +X (east)
- vertex.Pos.rotateXZBy(90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
- }
+ draw_sun(driver, sunsize, suncolor, suncolor2, wicked_time_of_day);
}
// Draw moon
if (wicked_time_of_day < 0.3 || wicked_time_of_day > 0.7) {
- if (!m_moon_texture) {
- driver->setMaterial(m_materials[1]);
- float d = moonsize * 1.9;
- video::SColor c = mooncolor;
- c.setAlpha(0.05 * 255);
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, c, t, t);
- vertices[1] = video::S3DVertex( d, -d, -1, 0, 0, 1, c, o, t);
- vertices[2] = video::S3DVertex( d, d, -1, 0, 0, 1, c, o, o);
- vertices[3] = video::S3DVertex(-d, d, -1, 0, 0, 1, c, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to -X (west)
- vertex.Pos.rotateXZBy(-90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
-
- d = moonsize * 1.3;
- c = mooncolor;
- c.setAlpha(0.15 * 255);
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, c, t, t);
- vertices[1] = video::S3DVertex( d, -d, -1, 0, 0, 1, c, o, t);
- vertices[2] = video::S3DVertex( d, d, -1, 0, 0, 1, c, o, o);
- vertices[3] = video::S3DVertex(-d, d, -1, 0, 0, 1, c, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to -X (west)
- vertex.Pos.rotateXZBy(-90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
-
- d = moonsize;
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, mooncolor, t, t);
- vertices[1] = video::S3DVertex( d, -d, -1, 0, 0, 1, mooncolor, o, t);
- vertices[2] = video::S3DVertex( d, d, -1, 0, 0, 1, mooncolor, o, o);
- vertices[3] = video::S3DVertex(-d, d, -1, 0, 0, 1, mooncolor, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to -X (west)
- vertex.Pos.rotateXZBy(-90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
-
- float d2 = moonsize * 0.6;
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, mooncolor2, t, t);
- vertices[1] = video::S3DVertex( d2,-d, -1, 0, 0, 1, mooncolor2, o, t);
- vertices[2] = video::S3DVertex( d2, d2, -1, 0, 0, 1, mooncolor2, o, o);
- vertices[3] = video::S3DVertex(-d, d2, -1, 0, 0, 1, mooncolor2, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to -X (west)
- vertex.Pos.rotateXZBy(-90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
- } else {
- driver->setMaterial(m_materials[4]);
- float d = moonsize * 1.9;
- video::SColor c;
- if (m_moon_tonemap)
- c = video::SColor (0, 0, 0, 0);
- else
- c = video::SColor (255, 255, 255, 255);
- vertices[0] = video::S3DVertex(-d, -d, -1, 0, 0, 1, c, t, t);
- vertices[1] = video::S3DVertex( d, -d, -1, 0, 0, 1, c, o, t);
- vertices[2] = video::S3DVertex( d, d, -1, 0, 0, 1, c, o, o);
- vertices[3] = video::S3DVertex(-d, d, -1, 0, 0, 1, c, t, o);
- for (video::S3DVertex &vertex : vertices) {
- // Switch from -Z (south) to -X (west)
- vertex.Pos.rotateXZBy(-90);
- vertex.Pos.rotateXYBy(wicked_time_of_day * 360 - 90);
- }
- driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
- }
+ draw_moon(driver, moonsize, mooncolor, mooncolor2, wicked_time_of_day);
}
// Draw far cloudy fog thing below all horizons in front of sun, moon
@@ -555,8 +414,8 @@ void Sky::render()
void Sky::update(float time_of_day, float time_brightness,
- float direct_brightness, bool sunlight_seen,
- CameraMode cam_mode, float yaw, float pitch)
+ float direct_brightness, bool sunlight_seen,
+ CameraMode cam_mode, float yaw, float pitch)
{
// Stabilize initial brightness and color values by flooding updates
if (m_first_update) {
@@ -766,3 +625,128 @@ void Sky::update(float time_of_day, float time_brightness,
video::SColorf(pointcolor), m_horizon_blend() * 0.25);
}
}
+
+void Sky::draw_sun(video::IVideoDriver *driver, float sunsize, const video::SColor &suncolor,
+ const video::SColor &suncolor2, float wicked_time_of_day)
+ /* Draw sun in the sky.
+ * driver: Video driver object used to draw
+ * sunsize: the default size of the sun
+ * suncolor: main sun color
+ * suncolor2: second sun color
+ * wicked_time_of_day: current time of day, to know where should be the sun in the sky
+ */
+{
+ static const u16 indices[4] = {0, 1, 2, 3};
+ std::array<video::S3DVertex, 4> vertices;
+ if (!m_sun_texture) {
+ driver->setMaterial(m_materials[1]);
+ const float sunsizes[4] = {sunsize * 1.7f, sunsize * 1.2f, sunsize, sunsize * 0.7f};
+ video::SColor c1 = suncolor;
+ video::SColor c2 = suncolor;
+ c1.setAlpha(0.05 * 255);
+ c2.setAlpha(0.15 * 255);
+ const video::SColor colors[4] = {c1, c2, suncolor, suncolor2};
+ for (int i = 0; i < 4; i++) {
+ draw_sky_body(vertices, -sunsizes[i], sunsizes[i], colors[i]);
+ place_sky_body(vertices, 90, wicked_time_of_day * 360 - 90);
+ driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
+ }
+ } else {
+ driver->setMaterial(m_materials[3]);
+ float d = sunsize * 1.7;
+ video::SColor c;
+ if (m_sun_tonemap)
+ c = video::SColor(0, 0, 0, 0);
+ else
+ c = video::SColor(255, 255, 255, 255);
+ draw_sky_body(vertices, -d, d, c);
+ place_sky_body(vertices, 90, wicked_time_of_day * 360 - 90);
+ driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
+ }
+}
+
+
+void Sky::draw_moon(video::IVideoDriver *driver, float moonsize, const video::SColor &mooncolor,
+ const video::SColor &mooncolor2, float wicked_time_of_day)
+ /*
+ * Draw moon in the sky.
+ * driver: Video driver object used to draw
+ * moonsize: the default size of the moon
+ * mooncolor: main moon color
+ * mooncolor2: second moon color
+ * wicked_time_of_day: current time of day, to know where should be the moon in the sky
+ */
+{
+ static const u16 indices[4] = {0, 1, 2, 3};
+ std::array<video::S3DVertex, 4> vertices;
+ if (!m_moon_texture) {
+ driver->setMaterial(m_materials[1]);
+ const float moonsizes_1[4] = {
+ -moonsize * 1.9f,
+ -moonsize * 1.3f,
+ -moonsize,
+ -moonsize
+ };
+ const float moonsizes_2[4] = {
+ moonsize * 1.9f,
+ moonsize * 1.3f,
+ moonsize,
+ moonsize * 0.6f
+ };
+ video::SColor c1 = mooncolor;
+ video::SColor c2 = mooncolor;
+ c1.setAlpha(0.05 * 255);
+ c2.setAlpha(0.15 * 255);
+ const video::SColor colors[4] = {c1, c2, mooncolor, mooncolor2};
+ for (int i = 0; i < 4; i++) {
+ draw_sky_body(vertices, moonsizes_1[i], moonsizes_2[i], colors[i]);
+ place_sky_body(vertices, -90, wicked_time_of_day * 360 - 90);
+ driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
+ }
+ } else {
+ driver->setMaterial(m_materials[4]);
+ float d = moonsize * 1.9;
+ video::SColor c;
+ if (m_moon_tonemap)
+ c = video::SColor(0, 0, 0, 0);
+ else
+ c = video::SColor(255, 255, 255, 255);
+ draw_sky_body(vertices, -d, d, c);
+ place_sky_body(vertices, -90, wicked_time_of_day * 360 - 90);
+ driver->drawIndexedTriangleFan(&vertices[0], 4, indices, 2);
+ }
+}
+
+
+void Sky::draw_sky_body(std::array<video::S3DVertex, 4> &vertices, float pos_1, float pos_2, const video::SColor &c)
+{
+ /*
+ * Create an array of vertices with the dimensions specified.
+ * pos_1, pos_2: position of the body's vertices
+ * c: color of the body
+ */
+
+ const f32 t = 1.0f;
+ const f32 o = 0.0f;
+ vertices[0] = video::S3DVertex(pos_1, pos_1, -1, 0, 0, 1, c, t, t);
+ vertices[1] = video::S3DVertex(pos_2, pos_1, -1, 0, 0, 1, c, o, t);
+ vertices[2] = video::S3DVertex(pos_2, pos_2, -1, 0, 0, 1, c, o, o);
+ vertices[3] = video::S3DVertex(pos_1, pos_2, -1, 0, 0, 1, c, t, o);
+}
+
+
+void Sky::place_sky_body(
+ std::array<video::S3DVertex, 4> &vertices, float horizon_position, float day_position)
+ /*
+ * Place body in the sky.
+ * vertices: The body as a rectangle of 4 vertices
+ * horizon_position: turn the body around the Y axis
+ * day_position: turn the body around the Z axis, to place it depending of the time of the day
+ */
+{
+ for (video::S3DVertex &vertex : vertices) {
+ // Body is directed to -Z (south) by default
+ vertex.Pos.rotateXZBy(horizon_position);
+ vertex.Pos.rotateXYBy(day_position);
+ }
+}
diff --git a/src/client/sky.h b/src/client/sky.h
index b66a4990f..9cff20e08 100644
--- a/src/client/sky.h
+++ b/src/client/sky.h
@@ -18,6 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/
#include <ISceneNode.h>
+#include <array>
#include "camera.h"
#include "irrlichttypes_extrabloated.h"
@@ -145,4 +146,13 @@ private:
video::ITexture *m_moon_texture;
video::ITexture *m_sun_tonemap;
video::ITexture *m_moon_tonemap;
+ void draw_sun(video::IVideoDriver *driver, float sunsize, const video::SColor &suncolor,
+ const video::SColor &suncolor2, float wicked_time_of_day);
+ void draw_moon(video::IVideoDriver *driver, float moonsize, const video::SColor &mooncolor,
+ const video::SColor &mooncolor2, float wicked_time_of_day);
+ void draw_sky_body(std::array<video::S3DVertex, 4> &vertices,
+ float pos_1, float pos_2, const video::SColor &c);
+ void place_sky_body(
+ std::array<video::S3DVertex, 4> &vertices, float horizon_position,
+ float day_position);
};
diff --git a/src/client/tile.cpp b/src/client/tile.cpp
index 4911013ae..3d9e2470a 100644
--- a/src/client/tile.cpp
+++ b/src/client/tile.cpp
@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <algorithm>
#include <ICameraSceneNode.h>
+#include <IrrCompileConfig.h>
#include "util/string.h"
#include "util/container.h"
#include "util/thread.h"
@@ -34,8 +35,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "renderingengine.h"
-#ifdef __ANDROID__
+#if ENABLE_GLES
+#ifdef _IRR_COMPILE_WITH_OGLES1_
#include <GLES/gl.h>
+#else
+#include <GLES2/gl2.h>
+#endif
#endif
/*
@@ -117,9 +122,14 @@ std::string getImagePath(std::string path)
Utilizes a thread-safe cache.
*/
-std::string getTexturePath(const std::string &filename)
+std::string getTexturePath(const std::string &filename, bool *is_base_pack)
{
std::string fullpath;
+
+ // This can set a wrong value on cached textures, but is irrelevant because
+ // is_base_pack is only passed when initializing the textures the first time
+ if (is_base_pack)
+ *is_base_pack = false;
/*
Check from cache
*/
@@ -131,7 +141,8 @@ std::string getTexturePath(const std::string &filename)
Check from texture_path
*/
for (const auto &path : getTextureDirs()) {
- std::string testpath = path + DIR_DELIM + filename;
+ std::string testpath = path + DIR_DELIM;
+ testpath.append(filename);
// Check all filename extensions. Returns "" if not found.
fullpath = getImagePath(testpath);
if (!fullpath.empty())
@@ -148,6 +159,8 @@ std::string getTexturePath(const std::string &filename)
std::string testpath = base_path + DIR_DELIM + filename;
// Check all filename extensions. Returns "" if not found.
fullpath = getImagePath(testpath);
+ if (is_base_pack && !fullpath.empty())
+ *is_base_pack = true;
}
// Add to cache (also an empty result is cached)
@@ -209,9 +222,11 @@ public:
bool need_to_grab = true;
// Try to use local texture instead if asked to
- if (prefer_local){
- std::string path = getTexturePath(name);
- if (!path.empty()) {
+ if (prefer_local) {
+ bool is_base_pack;
+ std::string path = getTexturePath(name, &is_base_pack);
+ // Ignore base pack
+ if (!path.empty() && !is_base_pack) {
video::IImage *img2 = RenderingEngine::get_video_driver()->
createImageFromFile(path.c_str());
if (img2){
@@ -594,7 +609,7 @@ u32 TextureSource::generateTexture(const std::string &name)
video::ITexture *tex = NULL;
if (img != NULL) {
-#ifdef __ANDROID__
+#if ENABLE_GLES
img = Align2Npot2(img, driver);
#endif
// Create texture from resulting image
@@ -751,7 +766,7 @@ void TextureSource::rebuildImagesAndTextures()
// Recreate textures
for (TextureInfo &ti : m_textureinfo_cache) {
video::IImage *img = generateImage(ti.name);
-#ifdef __ANDROID__
+#if ENABLE_GLES
img = Align2Npot2(img, driver);
#endif
// Create texture from resulting image
@@ -988,8 +1003,30 @@ video::IImage* TextureSource::generateImage(const std::string &name)
return baseimg;
}
-#ifdef __ANDROID__
-#include <GLES/gl.h>
+#if ENABLE_GLES
+
+
+static inline u16 get_GL_major_version()
+{
+ const GLubyte *gl_version = glGetString(GL_VERSION);
+ return (u16) (gl_version[0] - '0');
+}
+
+/**
+ * Check if hardware requires npot2 aligned textures
+ * @return true if alignment NOT(!) requires, false otherwise
+ */
+
+bool hasNPotSupport()
+{
+ // Only GLES2 is trusted to correctly report npot support
+ // Note: we cache the boolean result, the GL context will never change.
+ static const bool supported = get_GL_major_version() > 1 &&
+ glGetString(GL_EXTENSIONS) &&
+ strstr((char *)glGetString(GL_EXTENSIONS), "GL_OES_texture_npot");
+ return supported;
+}
+
/**
* Check and align image to npot2 if required by hardware
* @param image image to check for npot2 alignment
@@ -997,53 +1034,33 @@ video::IImage* TextureSource::generateImage(const std::string &name)
* @return image or copy of image aligned to npot2
*/
-inline u16 get_GL_major_version()
-{
- const GLubyte *gl_version = glGetString(GL_VERSION);
- return (u16) (gl_version[0] - '0');
-}
-
video::IImage * Align2Npot2(video::IImage * image,
video::IVideoDriver* driver)
{
- if (image == NULL) {
+ if (image == NULL)
return image;
- }
- core::dimension2d<u32> dim = image->getDimension();
-
- // Only GLES2 is trusted to correctly report npot support
- // Note: we cache the boolean result. GL context will never change on Android.
- static const bool hasNPotSupport = get_GL_major_version() > 1 &&
- glGetString(GL_EXTENSIONS) &&
- strstr((char *)glGetString(GL_EXTENSIONS), "GL_OES_texture_npot");
-
- if (hasNPotSupport)
+ if (hasNPotSupport())
return image;
+ core::dimension2d<u32> dim = image->getDimension();
unsigned int height = npot2(dim.Height);
unsigned int width = npot2(dim.Width);
- if ((dim.Height == height) &&
- (dim.Width == width)) {
+ if (dim.Height == height && dim.Width == width)
return image;
- }
- if (dim.Height > height) {
+ if (dim.Height > height)
height *= 2;
- }
-
- if (dim.Width > width) {
+ if (dim.Width > width)
width *= 2;
- }
video::IImage *targetimage =
driver->createImage(video::ECF_A8R8G8B8,
core::dimension2d<u32>(width, height));
- if (targetimage != NULL) {
+ if (targetimage != NULL)
image->copyToScaling(targetimage);
- }
image->drop();
return targetimage;
}
@@ -1077,7 +1094,7 @@ 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);
-#ifdef __ANDROID__
+#if ENABLE_GLES
image = Align2Npot2(image, driver);
#endif
if (image == NULL) {
diff --git a/src/client/tile.h b/src/client/tile.h
index 2a33dd160..533df676e 100644
--- a/src/client/tile.h
+++ b/src/client/tile.h
@@ -27,8 +27,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <SMaterial.h>
#include <memory>
#include "util/numeric.h"
+#include "config.h"
-#if __ANDROID__
+#if ENABLE_GLES
#include <IVideoDriver.h>
#endif
@@ -63,7 +64,7 @@ std::string getImagePath(std::string path);
Utilizes a thread-safe cache.
*/
-std::string getTexturePath(const std::string &filename);
+std::string getTexturePath(const std::string &filename, bool *is_base_pack = nullptr);
void clearTextureNameCache();
@@ -133,7 +134,8 @@ public:
IWritableTextureSource *createTextureSource();
-#ifdef __ANDROID__
+#if ENABLE_GLES
+bool hasNPotSupport();
video::IImage * Align2Npot2(video::IImage * image, irr::video::IVideoDriver* driver);
#endif
@@ -144,7 +146,10 @@ enum MaterialType{
TILE_MATERIAL_LIQUID_OPAQUE,
TILE_MATERIAL_WAVING_LEAVES,
TILE_MATERIAL_WAVING_PLANTS,
- TILE_MATERIAL_OPAQUE
+ TILE_MATERIAL_OPAQUE,
+ TILE_MATERIAL_WAVING_LIQUID_BASIC,
+ TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT,
+ TILE_MATERIAL_WAVING_LIQUID_OPAQUE,
};
// Material flags
@@ -208,16 +213,19 @@ struct TileLayer
switch (material_type) {
case TILE_MATERIAL_OPAQUE:
case TILE_MATERIAL_LIQUID_OPAQUE:
+ case TILE_MATERIAL_WAVING_LIQUID_OPAQUE:
material.MaterialType = video::EMT_SOLID;
break;
case TILE_MATERIAL_BASIC:
case TILE_MATERIAL_WAVING_LEAVES:
case TILE_MATERIAL_WAVING_PLANTS:
+ case TILE_MATERIAL_WAVING_LIQUID_BASIC:
material.MaterialTypeParam = 0.5;
material.MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF;
break;
case TILE_MATERIAL_ALPHA:
case TILE_MATERIAL_LIQUID_TRANSPARENT:
+ case TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT:
material.MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL;
break;
default:
diff --git a/src/clientiface.cpp b/src/clientiface.cpp
index a55e0f7b5..dceaa64f2 100644
--- a/src/clientiface.cpp
+++ b/src/clientiface.cpp
@@ -636,7 +636,7 @@ ClientInterface::~ClientInterface()
Delete clients
*/
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (auto &client_it : m_clients) {
// Delete client
@@ -648,7 +648,7 @@ ClientInterface::~ClientInterface()
std::vector<session_t> ClientInterface::getClientIDs(ClientState min_state)
{
std::vector<session_t> reply;
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (const auto &m_client : m_clients) {
if (m_client.second->getState() >= min_state)
@@ -660,7 +660,7 @@ std::vector<session_t> ClientInterface::getClientIDs(ClientState min_state)
void ClientInterface::markBlockposAsNotSent(const v3s16 &pos)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (const auto &client : m_clients) {
if (client.second->getState() >= CS_Active)
client.second->SetBlockNotSent(pos);
@@ -705,7 +705,7 @@ void ClientInterface::UpdatePlayerList()
infostream << "* " << player->getName() << "\t";
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
RemoteClient* client = lockedGetClientNoEx(i);
if (client)
client->PrintInfo(infostream);
@@ -724,7 +724,7 @@ void ClientInterface::send(session_t peer_id, u8 channelnum,
void ClientInterface::sendToAll(NetworkPacket *pkt)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (auto &client_it : m_clients) {
RemoteClient *client = client_it.second;
@@ -739,7 +739,7 @@ void ClientInterface::sendToAll(NetworkPacket *pkt)
void ClientInterface::sendToAllCompat(NetworkPacket *pkt, NetworkPacket *legacypkt,
u16 min_proto_ver)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
for (auto &client_it : m_clients) {
RemoteClient *client = client_it.second;
NetworkPacket *pkt_to_send = nullptr;
@@ -763,7 +763,7 @@ void ClientInterface::sendToAllCompat(NetworkPacket *pkt, NetworkPacket *legacyp
RemoteClient* ClientInterface::getClientNoEx(session_t peer_id, ClientState state_min)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
RemoteClientMap::const_iterator n = m_clients.find(peer_id);
// The client may not exist; clients are immediately removed if their
// access is denied, and this event occurs later then.
@@ -792,7 +792,7 @@ RemoteClient* ClientInterface::lockedGetClientNoEx(session_t peer_id, ClientStat
ClientState ClientInterface::getClientState(session_t peer_id)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
RemoteClientMap::const_iterator n = m_clients.find(peer_id);
// The client may not exist; clients are immediately removed if their
// access is denied, and this event occurs later then.
@@ -804,7 +804,7 @@ ClientState ClientInterface::getClientState(session_t peer_id)
void ClientInterface::setPlayerName(session_t peer_id, const std::string &name)
{
- MutexAutoLock clientslock(m_clients_mutex);
+ RecursiveMutexAutoLock clientslock(m_clients_mutex);
RemoteClientMap::iterator n = m_clients.find(peer_id);
// The client may not exist; clients are immediately removed if their
// access is denied, and this event occurs later then.
@@ -814,7 +814,7 @@ void ClientInterface::setPlayerName(session_t peer_id, const std::string &name)
void ClientInterface::DeleteClient(session_t peer_id)
{
- MutexAutoLock conlock(m_clients_mutex);
+ RecursiveMutexAutoLock conlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);
@@ -844,7 +844,7 @@ void ClientInterface::DeleteClient(session_t peer_id)
void ClientInterface::CreateClient(session_t peer_id)
{
- MutexAutoLock conlock(m_clients_mutex);
+ RecursiveMutexAutoLock conlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);
@@ -860,7 +860,7 @@ void ClientInterface::CreateClient(session_t peer_id)
void ClientInterface::event(session_t peer_id, ClientStateEvent event)
{
{
- MutexAutoLock clientlock(m_clients_mutex);
+ RecursiveMutexAutoLock clientlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);
@@ -881,7 +881,7 @@ void ClientInterface::event(session_t peer_id, ClientStateEvent event)
u16 ClientInterface::getProtocolVersion(session_t peer_id)
{
- MutexAutoLock conlock(m_clients_mutex);
+ RecursiveMutexAutoLock conlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);
@@ -896,7 +896,7 @@ u16 ClientInterface::getProtocolVersion(session_t peer_id)
void ClientInterface::setClientVersion(session_t peer_id, u8 major, u8 minor, u8 patch,
const std::string &full)
{
- MutexAutoLock conlock(m_clients_mutex);
+ RecursiveMutexAutoLock conlock(m_clients_mutex);
// Error check
RemoteClientMap::iterator n = m_clients.find(peer_id);
diff --git a/src/clientiface.h b/src/clientiface.h
index 5335fa644..2b0ccfbb1 100644
--- a/src/clientiface.h
+++ b/src/clientiface.h
@@ -501,7 +501,7 @@ private:
// Connection
std::shared_ptr<con::Connection> m_con;
- std::mutex m_clients_mutex;
+ std::recursive_mutex m_clients_mutex;
// Connected clients (behind the con mutex)
RemoteClientMap m_clients;
std::vector<std::string> m_clients_names; //for announcing masterserver
diff --git a/src/cmake_config.h.in b/src/cmake_config.h.in
index 81b8c2695..cb54cb488 100644
--- a/src/cmake_config.h.in
+++ b/src/cmake_config.h.in
@@ -26,6 +26,7 @@
#cmakedefine01 USE_SPATIAL
#cmakedefine01 USE_SYSTEM_GMP
#cmakedefine01 USE_REDIS
+#cmakedefine01 ENABLE_GLES
#cmakedefine01 HAVE_ENDIAN_H
#cmakedefine01 CURSES_HAVE_CURSES_H
#cmakedefine01 CURSES_HAVE_NCURSES_H
diff --git a/src/collision.cpp b/src/collision.cpp
index a07899e65..a443be7ab 100644
--- a/src/collision.cpp
+++ b/src/collision.cpp
@@ -59,7 +59,7 @@ struct NearbyCollisionInfo {
// Checks for collision of a moving aabbox with a static aabbox
// Returns -1 if no collision, 0 if X collision, 1 if Y collision, 2 if Z collision
// The time after which the collision occurs is stored in dtime.
-int axisAlignedCollision(
+CollisionAxis axisAlignedCollision(
const aabb3f &staticbox, const aabb3f &movingbox,
const v3f &speed, f32 d, f32 *dtime)
{
@@ -86,11 +86,11 @@ int axisAlignedCollision(
(relbox.MaxEdge.Y + speed.Y * (*dtime) > COLL_ZERO) &&
(relbox.MinEdge.Z + speed.Z * (*dtime) < zsize) &&
(relbox.MaxEdge.Z + speed.Z * (*dtime) > COLL_ZERO))
- return 0;
+ return COLLISION_AXIS_X;
}
else if(relbox.MinEdge.X > xsize)
{
- return -1;
+ return COLLISION_AXIS_NONE;
}
}
else if(speed.X < 0) // Check for collision with X+ plane
@@ -101,11 +101,11 @@ int axisAlignedCollision(
(relbox.MaxEdge.Y + speed.Y * (*dtime) > COLL_ZERO) &&
(relbox.MinEdge.Z + speed.Z * (*dtime) < zsize) &&
(relbox.MaxEdge.Z + speed.Z * (*dtime) > COLL_ZERO))
- return 0;
+ return COLLISION_AXIS_X;
}
else if(relbox.MaxEdge.X < 0)
{
- return -1;
+ return COLLISION_AXIS_NONE;
}
}
@@ -119,11 +119,11 @@ int axisAlignedCollision(
(relbox.MaxEdge.X + speed.X * (*dtime) > COLL_ZERO) &&
(relbox.MinEdge.Z + speed.Z * (*dtime) < zsize) &&
(relbox.MaxEdge.Z + speed.Z * (*dtime) > COLL_ZERO))
- return 1;
+ return COLLISION_AXIS_Y;
}
else if(relbox.MinEdge.Y > ysize)
{
- return -1;
+ return COLLISION_AXIS_NONE;
}
}
else if(speed.Y < 0) // Check for collision with Y+ plane
@@ -134,11 +134,11 @@ int axisAlignedCollision(
(relbox.MaxEdge.X + speed.X * (*dtime) > COLL_ZERO) &&
(relbox.MinEdge.Z + speed.Z * (*dtime) < zsize) &&
(relbox.MaxEdge.Z + speed.Z * (*dtime) > COLL_ZERO))
- return 1;
+ return COLLISION_AXIS_Y;
}
else if(relbox.MaxEdge.Y < 0)
{
- return -1;
+ return COLLISION_AXIS_NONE;
}
}
@@ -152,11 +152,11 @@ int axisAlignedCollision(
(relbox.MaxEdge.X + speed.X * (*dtime) > COLL_ZERO) &&
(relbox.MinEdge.Y + speed.Y * (*dtime) < ysize) &&
(relbox.MaxEdge.Y + speed.Y * (*dtime) > COLL_ZERO))
- return 2;
+ return COLLISION_AXIS_Z;
}
//else if(relbox.MinEdge.Z > zsize)
//{
- // return -1;
+ // return COLLISION_AXIS_NONE;
//}
}
else if(speed.Z < 0) // Check for collision with Z+ plane
@@ -167,15 +167,15 @@ int axisAlignedCollision(
(relbox.MaxEdge.X + speed.X * (*dtime) > COLL_ZERO) &&
(relbox.MinEdge.Y + speed.Y * (*dtime) < ysize) &&
(relbox.MaxEdge.Y + speed.Y * (*dtime) > COLL_ZERO))
- return 2;
+ return COLLISION_AXIS_Z;
}
//else if(relbox.MaxEdge.Z < 0)
//{
- // return -1;
+ // return COLLISION_AXIS_NONE;
//}
}
- return -1;
+ return COLLISION_AXIS_NONE;
}
// Helper function:
@@ -206,7 +206,7 @@ bool wouldCollideWithCeiling(
static inline void getNeighborConnectingFace(const v3s16 &p,
const NodeDefManager *nodedef, Map *map, MapNode n, int v, int *neighbors)
{
- MapNode n2 = map->getNodeNoEx(p);
+ MapNode n2 = map->getNode(p);
if (nodedef->nodeboxConnects(n, n2, v))
*neighbors |= v;
}
@@ -220,8 +220,8 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
{
static bool time_notification_done = false;
Map *map = &env->getMap();
- //TimeTaker tt("collisionMoveSimple");
- ScopeProfiler sp(g_profiler, "collisionMoveSimple avg", SPT_AVG);
+
+ ScopeProfiler sp(g_profiler, "collisionMoveSimple()", SPT_AVG);
collisionMoveResult result;
@@ -255,7 +255,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
std::vector<NearbyCollisionInfo> cinfo;
{
//TimeTaker tt2("collisionMoveSimple collect boxes");
- ScopeProfiler sp2(g_profiler, "collisionMoveSimple collect boxes avg", SPT_AVG);
+ ScopeProfiler sp2(g_profiler, "collisionMoveSimple(): collect boxes", SPT_AVG);
v3f newpos_f = *pos_f + *speed_f * dtime;
v3f minpos_f(
@@ -278,7 +278,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
for (p.Y = min.Y; p.Y <= max.Y; p.Y++)
for (p.Z = min.Z; p.Z <= max.Z; p.Z++) {
bool is_position_valid;
- MapNode n = map->getNodeNoEx(p, &is_position_valid);
+ MapNode n = map->getNode(p, &is_position_valid);
if (is_position_valid && n.getContent() != CONTENT_IGNORE) {
// Object collides into walkable nodes
@@ -351,9 +351,6 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
if(collideWithObjects)
{
- ScopeProfiler sp2(g_profiler, "collisionMoveSimple objects avg", SPT_AVG);
- //TimeTaker tt3("collisionMoveSimple collect object boxes");
-
/* add object boxes to cinfo */
std::vector<ActiveObject*> objects;
@@ -428,9 +425,6 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
int loopcount = 0;
while(dtime > BS * 1e-10f) {
- //TimeTaker tt3("collisionMoveSimple dtime loop");
- ScopeProfiler sp2(g_profiler, "collisionMoveSimple dtime loop avg", SPT_AVG);
-
// Avoid infinite loop
loopcount++;
if (loopcount >= 100) {
@@ -442,7 +436,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
movingbox.MinEdge += *pos_f;
movingbox.MaxEdge += *pos_f;
- int nearest_collided = -1;
+ CollisionAxis nearest_collided = COLLISION_AXIS_NONE;
f32 nearest_dtime = dtime;
int nearest_boxindex = -1;
@@ -457,7 +451,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
// Find nearest collision of the two boxes (raytracing-like)
f32 dtime_tmp;
- int collided = axisAlignedCollision(box_info.box,
+ CollisionAxis collided = axisAlignedCollision(box_info.box,
movingbox, *speed_f, d, &dtime_tmp);
if (collided == -1 || dtime_tmp >= nearest_dtime)
@@ -468,7 +462,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
nearest_boxindex = boxindex;
}
- if (nearest_collided == -1) {
+ if (nearest_collided == COLLISION_AXIS_NONE) {
// No collision with any collision box.
*pos_f += *speed_f * dtime;
dtime = 0; // Set to 0 to avoid "infinite" loop due to small FP numbers
@@ -477,7 +471,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
NearbyCollisionInfo &nearest_info = cinfo[nearest_boxindex];
const aabb3f& cbox = nearest_info.box;
// Check for stairs.
- bool step_up = (nearest_collided != 1) && // must not be Y direction
+ bool step_up = (nearest_collided != COLLISION_AXIS_Y) && // must not be Y direction
(movingbox.MinEdge.Y < cbox.MaxEdge.Y) &&
(movingbox.MinEdge.Y + stepheight > cbox.MaxEdge.Y) &&
(!wouldCollideWithCeiling(cinfo, movingbox,
@@ -491,11 +485,11 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
if (nearest_dtime < 0) {
// Handle negative nearest_dtime (can be caused by the d allowance)
if (!step_up) {
- if (nearest_collided == 0)
+ if (nearest_collided == COLLISION_AXIS_X)
pos_f->X += speed_f->X * nearest_dtime;
- if (nearest_collided == 1)
+ if (nearest_collided == COLLISION_AXIS_Y)
pos_f->Y += speed_f->Y * nearest_dtime;
- if (nearest_collided == 2)
+ if (nearest_collided == COLLISION_AXIS_Z)
pos_f->Z += speed_f->Z * nearest_dtime;
}
} else {
@@ -522,19 +516,19 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
// Special case: Handle stairs
nearest_info.is_step_up = true;
is_collision = false;
- } else if (nearest_collided == 0) { // X
+ } else if (nearest_collided == COLLISION_AXIS_X) {
if (fabs(speed_f->X) > BS * 3)
speed_f->X *= bounce;
else
speed_f->X = 0;
result.collides = true;
- } else if (nearest_collided == 1) { // Y
+ } else if (nearest_collided == COLLISION_AXIS_Y) {
if(fabs(speed_f->Y) > BS * 3)
speed_f->Y *= bounce;
else
speed_f->Y = 0;
result.collides = true;
- } else if (nearest_collided == 2) { // Z
+ } else if (nearest_collided == COLLISION_AXIS_Z) {
if (fabs(speed_f->Z) > BS * 3)
speed_f->Z *= bounce;
else
@@ -547,6 +541,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
is_collision = false;
if (is_collision) {
+ info.axis = nearest_collided;
result.collisions.push_back(info);
}
}
diff --git a/src/collision.h b/src/collision.h
index 4c5594528..85df02c96 100644
--- a/src/collision.h
+++ b/src/collision.h
@@ -33,11 +33,20 @@ enum CollisionType
COLLISION_OBJECT,
};
+enum CollisionAxis
+{
+ COLLISION_AXIS_NONE = -1,
+ COLLISION_AXIS_X,
+ COLLISION_AXIS_Y,
+ COLLISION_AXIS_Z,
+};
+
struct CollisionInfo
{
CollisionInfo() = default;
CollisionType type = COLLISION_NODE;
+ CollisionAxis axis = COLLISION_AXIS_NONE;
v3s16 node_p = v3s16(-32768,-32768,-32768); // COLLISION_NODE
v3f old_speed;
v3f new_speed;
@@ -66,7 +75,7 @@ collisionMoveResult collisionMoveSimple(Environment *env,IGameDef *gamedef,
// Checks for collision of a moving aabbox with a static aabbox
// Returns -1 if no collision, 0 if X collision, 1 if Y collision, 2 if Z collision
// dtime receives time until first collision, invalid if -1 is returned
-int axisAlignedCollision(
+CollisionAxis axisAlignedCollision(
const aabb3f &staticbox, const aabb3f &movingbox,
const v3f &speed, f32 d, f32 *dtime);
diff --git a/src/content/subgames.cpp b/src/content/subgames.cpp
index 4b0e37f7c..39cdc056f 100644
--- a/src/content/subgames.cpp
+++ b/src/content/subgames.cpp
@@ -67,15 +67,19 @@ SubgameSpec findSubgame(const std::string &id)
std::vector<GameFindPath> find_paths;
while (!search_paths.at_end()) {
std::string path = search_paths.next(PATH_DELIM);
- find_paths.emplace_back(path + DIR_DELIM + id, false);
- find_paths.emplace_back(path + DIR_DELIM + id + "_game", false);
+ path.append(DIR_DELIM).append(id);
+ find_paths.emplace_back(path, false);
+ path.append("_game");
+ find_paths.emplace_back(path, false);
}
- find_paths.emplace_back(
- user + DIR_DELIM + "games" + DIR_DELIM + id + "_game", true);
- find_paths.emplace_back(user + DIR_DELIM + "games" + DIR_DELIM + id, true);
- find_paths.emplace_back(
- share + DIR_DELIM + "games" + DIR_DELIM + id + "_game", false);
- find_paths.emplace_back(share + DIR_DELIM + "games" + DIR_DELIM + id, false);
+
+ std::string game_base = DIR_DELIM;
+ game_base = game_base.append("games").append(DIR_DELIM).append(id);
+ std::string game_suffixed = game_base + "_game";
+ find_paths.emplace_back(user + game_suffixed, true);
+ find_paths.emplace_back(user + game_base, true);
+ find_paths.emplace_back(share + game_suffixed, false);
+ find_paths.emplace_back(share + game_base, false);
// Find game directory
std::string game_path;
diff --git a/src/content_sao.cpp b/src/content_sao.cpp
index cb0a969eb..87e6466a9 100644
--- a/src/content_sao.cpp
+++ b/src/content_sao.cpp
@@ -134,7 +134,7 @@ void UnitSAO::setArmorGroups(const ItemGroupList &armor_groups)
m_armor_groups_sent = false;
}
-const ItemGroupList &UnitSAO::getArmorGroups()
+const ItemGroupList &UnitSAO::getArmorGroups() const
{
return m_armor_groups;
}
@@ -200,7 +200,7 @@ void UnitSAO::setAttachment(int parent_id, const std::string &bone, v3f position
}
void UnitSAO::getAttachment(int *parent_id, std::string *bone, v3f *position,
- v3f *rotation)
+ v3f *rotation) const
{
*parent_id = m_attachment_parent_id;
*bone = m_attachment_bone;
@@ -242,7 +242,7 @@ void UnitSAO::removeAttachmentChild(int child_id)
m_attachment_child_ids.erase(child_id);
}
-const std::unordered_set<int> &UnitSAO::getAttachmentChildIds()
+const std::unordered_set<int> &UnitSAO::getAttachmentChildIds() const
{
return m_attachment_child_ids;
}
@@ -331,7 +331,7 @@ void LuaEntitySAO::addedToEnvironment(u32 dtime_s)
if(m_registered){
// Get properties
m_env->getScriptIface()->
- luaentity_GetProperties(m_id, &m_prop);
+ luaentity_GetProperties(m_id, this, &m_prop);
// Initialize HP from properties
m_hp = m_prop.hp_max;
// Activate entity, supplying serialized state
@@ -454,14 +454,19 @@ void LuaEntitySAO::step(float dtime, bool send_recommended)
if (m_prop.automatic_face_movement_dir &&
(fabs(m_velocity.Z) > 0.001 || fabs(m_velocity.X) > 0.001)) {
-
float target_yaw = atan2(m_velocity.Z, m_velocity.X) * 180 / M_PI
+ m_prop.automatic_face_movement_dir_offset;
- float max_rotation_delta =
- dtime * m_prop.automatic_face_movement_max_rotation_per_sec;
-
- m_rotation.Y = wrapDegrees_0_360(m_rotation.Y);
- wrappedApproachShortest(m_rotation.Y, target_yaw, max_rotation_delta, 360.f);
+ float max_rotation_per_sec =
+ m_prop.automatic_face_movement_max_rotation_per_sec;
+
+ if (max_rotation_per_sec > 0) {
+ m_rotation.Y = wrapDegrees_0_360(m_rotation.Y);
+ wrappedApproachShortest(m_rotation.Y, target_yaw,
+ dtime * max_rotation_per_sec, 360.f);
+ } else {
+ // Negative values of max_rotation_per_sec mean disabled.
+ m_rotation.Y = target_yaw;
+ }
}
}
@@ -570,6 +575,8 @@ std::string LuaEntitySAO::getClientInitializationData(u16 protocol_version)
(ii != m_attachment_child_ids.end()); ++ii) {
if (ServerActiveObject *obj = m_env->getActiveObject(*ii)) {
message_count++;
+ // TODO after a protocol bump: only send the object initialization data
+ // to older clients (superfluous since this message exists)
msg_os << serializeLongString(gob_cmd_update_infant(*ii, obj->getSendType(),
obj->getClientInitializationData(protocol_version)));
}
@@ -617,7 +624,7 @@ void LuaEntitySAO::getStaticData(std::string *result) const
*result = os.str();
}
-int LuaEntitySAO::punch(v3f dir,
+u16 LuaEntitySAO::punch(v3f dir,
const ToolCapabilities *toolcap,
ServerActiveObject *puncher,
float time_from_last_punch)
@@ -628,17 +635,16 @@ int LuaEntitySAO::punch(v3f dir,
return 0;
}
- ItemStack *punchitem = NULL;
- ItemStack punchitem_static;
- if (puncher) {
- punchitem_static = puncher->getWieldedItem();
- punchitem = &punchitem_static;
- }
+ FATAL_ERROR_IF(!puncher, "Punch action called without SAO");
+
+ s32 old_hp = getHP();
+ ItemStack selected_item, hand_item;
+ ItemStack tool_item = puncher->getWieldedItem(&selected_item, &hand_item);
PunchDamageResult result = getPunchDamage(
m_armor_groups,
toolcap,
- punchitem,
+ &tool_item,
time_from_last_punch);
bool damage_handled = m_env->getScriptIface()->luaentity_Punch(m_id, puncher,
@@ -649,14 +655,6 @@ int LuaEntitySAO::punch(v3f dir,
setHP((s32)getHP() - result.damage,
PlayerHPChangeReason(PlayerHPChangeReason::SET_HP));
- if (result.damage > 0) {
- std::string punchername = puncher ? puncher->getDescription() : "nil";
-
- actionstream << getDescription() << " punched by "
- << punchername << ", damage " << result.damage
- << " hp, health now " << getHP() << " hp" << std::endl;
- }
-
std::string str = gob_cmd_punched(getHP());
// create message and add to list
ActiveObjectMessage aom(getId(), true, str);
@@ -671,6 +669,12 @@ int LuaEntitySAO::punch(v3f dir,
m_env->getScriptIface()->luaentity_on_death(m_id, puncher);
}
+ actionstream << puncher->getDescription() << " (id=" << puncher->getId() <<
+ ", hp=" << puncher->getHP() << ") punched " <<
+ getDescription() << " (id=" << m_id << ", hp=" << m_hp <<
+ "), damage=" << (old_hp - (s32)getHP()) <<
+ (damage_handled ? " (handled by Lua)" : "") << std::endl;
+
return result.wear;
}
@@ -888,12 +892,9 @@ PlayerSAO::PlayerSAO(ServerEnvironment *env_, RemotePlayer *player_, session_t p
m_breath = m_prop.breath_max;
// Disable zoom in survival mode using a value of 0
m_prop.zoom_fov = g_settings->getBool("creative_mode") ? 15.0f : 0.0f;
-}
-PlayerSAO::~PlayerSAO()
-{
- if(m_inventory != &m_player->inventory)
- delete m_inventory;
+ if (!g_settings->getBool("enable_damage"))
+ m_armor_groups["immortal"] = 1;
}
void PlayerSAO::finalize(RemotePlayer *player, const std::set<std::string> &privs)
@@ -901,7 +902,6 @@ void PlayerSAO::finalize(RemotePlayer *player, const std::set<std::string> &priv
assert(player);
m_player = player;
m_privs = privs;
- m_inventory = &m_player->inventory;
}
v3f PlayerSAO::getEyeOffset() const
@@ -990,10 +990,10 @@ void PlayerSAO::getStaticData(std::string * result) const
void PlayerSAO::step(float dtime, bool send_recommended)
{
- if (m_drowning_interval.step(dtime, 2.0f)) {
+ if (!isImmortal() && m_drowning_interval.step(dtime, 2.0f)) {
// Get nose/mouth position, approximate with eye position
v3s16 p = floatToInt(getEyePosition(), BS);
- MapNode n = m_env->getMap().getNodeNoEx(p);
+ MapNode n = m_env->getMap().getNode(p);
const ContentFeatures &c = m_env->getGameDef()->ndef()->get(n);
// If node generates drown
if (c.drowning > 0 && m_hp > 0) {
@@ -1009,19 +1009,20 @@ void PlayerSAO::step(float dtime, bool send_recommended)
}
}
- if (m_breathing_interval.step(dtime, 0.5f)) {
+ if (m_breathing_interval.step(dtime, 0.5f) && !isImmortal()) {
// Get nose/mouth position, approximate with eye position
v3s16 p = floatToInt(getEyePosition(), BS);
- MapNode n = m_env->getMap().getNodeNoEx(p);
+ MapNode n = m_env->getMap().getNode(p);
const ContentFeatures &c = m_env->getGameDef()->ndef()->get(n);
- // If player is alive & no drowning & not in ignore, breathe
- if (m_breath < m_prop.breath_max &&
- c.drowning == 0 && n.getContent() != CONTENT_IGNORE && m_hp > 0)
+ // If player is alive & not drowning & not in ignore & not immortal, breathe
+ if (m_breath < m_prop.breath_max && c.drowning == 0 &&
+ n.getContent() != CONTENT_IGNORE && m_hp > 0)
setBreath(m_breath + 1);
}
- if (m_node_hurt_interval.step(dtime, 1.0f)) {
+ if (!isImmortal() && m_node_hurt_interval.step(dtime, 1.0f)) {
u32 damage_per_second = 0;
+ std::string nodename;
// Lowest and highest damage points are 0.1 within collisionbox
float dam_top = m_prop.collisionbox.MaxEdge.Y - 0.1f;
@@ -1030,21 +1031,27 @@ void PlayerSAO::step(float dtime, bool send_recommended)
for (float dam_height = 0.1f; dam_height < dam_top; dam_height++) {
v3s16 p = floatToInt(m_base_position +
v3f(0.0f, dam_height * BS, 0.0f), BS);
- MapNode n = m_env->getMap().getNodeNoEx(p);
- damage_per_second = std::max(damage_per_second,
- m_env->getGameDef()->ndef()->get(n).damage_per_second);
+ MapNode n = m_env->getMap().getNode(p);
+ const ContentFeatures &c = m_env->getGameDef()->ndef()->get(n);
+ if (c.damage_per_second > damage_per_second) {
+ damage_per_second = c.damage_per_second;
+ nodename = c.name;
+ }
}
// Top damage point
v3s16 ptop = floatToInt(m_base_position +
v3f(0.0f, dam_top * BS, 0.0f), BS);
- MapNode ntop = m_env->getMap().getNodeNoEx(ptop);
- damage_per_second = std::max(damage_per_second,
- m_env->getGameDef()->ndef()->get(ntop).damage_per_second);
+ MapNode ntop = m_env->getMap().getNode(ptop);
+ const ContentFeatures &c = m_env->getGameDef()->ndef()->get(ntop);
+ if (c.damage_per_second > damage_per_second) {
+ damage_per_second = c.damage_per_second;
+ nodename = c.name;
+ }
if (damage_per_second != 0 && m_hp > 0) {
s32 newhp = (s32)m_hp - (s32)damage_per_second;
- PlayerHPChangeReason reason(PlayerHPChangeReason::NODE_DAMAGE);
+ PlayerHPChangeReason reason(PlayerHPChangeReason::NODE_DAMAGE, nodename);
setHP(newhp, reason);
m_env->getGameDef()->SendPlayerHPOrDie(this, reason);
}
@@ -1056,6 +1063,7 @@ void PlayerSAO::step(float dtime, bool send_recommended)
// create message and add to list
ActiveObjectMessage aom(getId(), true, str);
m_messages_out.push(aom);
+ m_env->getScriptIface()->player_event(this, "properties_changed");
}
// If attached, check that our parent is still there. If it isn't, detach.
@@ -1084,6 +1092,7 @@ void PlayerSAO::step(float dtime, bool send_recommended)
m_time_from_last_teleport += dtime;
m_time_from_last_punch += dtime;
m_nocheat_dig_time += dtime;
+ m_max_speed_override_time = MYMAX(m_max_speed_override_time - dtime, 0.0f);
// Each frame, parent position is copied if the object is attached,
// otherwise it's calculated normally.
@@ -1098,14 +1107,14 @@ void PlayerSAO::step(float dtime, bool send_recommended)
if (!send_recommended)
return;
- // If the object is attached client-side, don't waste bandwidth sending its
- // position or rotation to clients.
- if (m_position_not_sent && !isAttached()) {
+ if (m_position_not_sent) {
m_position_not_sent = false;
float update_interval = m_env->getSendRecommendedInterval();
v3f pos;
- if (isAttached()) // Just in case we ever do send attachment position too
- pos = m_env->getActiveObject(m_attachment_parent_id)->getBasePosition();
+ // When attached, the position is only sent to clients where the
+ // parent isn't known
+ if (isAttached())
+ pos = m_last_good_position;
else
pos = m_base_position;
@@ -1193,6 +1202,10 @@ void PlayerSAO::setPos(const v3f &pos)
if(isAttached())
return;
+ // Send mapblock of target location
+ v3s16 blockpos = v3s16(pos.X / MAP_BLOCKSIZE, pos.Y / MAP_BLOCKSIZE, pos.Z / MAP_BLOCKSIZE);
+ m_env->getGameDef()->SendBlock(m_peer_id, blockpos);
+
setBasePosition(pos);
// Movement caused by this command is always valid
m_last_good_position = pos;
@@ -1260,7 +1273,7 @@ void PlayerSAO::setLookPitchAndSend(const float pitch)
m_env->getGameDef()->SendMovePlayer(m_peer_id);
}
-int PlayerSAO::punch(v3f dir,
+u16 PlayerSAO::punch(v3f dir,
const ToolCapabilities *toolcap,
ServerActiveObject *puncher,
float time_from_last_punch)
@@ -1268,8 +1281,10 @@ int PlayerSAO::punch(v3f dir,
if (!toolcap)
return 0;
- // No effect if PvP disabled
- if (!g_settings->getBool("enable_pvp")) {
+ FATAL_ERROR_IF(!puncher, "Punch action called without SAO");
+
+ // No effect if PvP disabled or if immortal
+ if (isImmortal() || !g_settings->getBool("enable_pvp")) {
if (puncher->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
std::string str = gob_cmd_punched(getHP());
// create message and add to list
@@ -1279,14 +1294,10 @@ int PlayerSAO::punch(v3f dir,
}
}
+ s32 old_hp = getHP();
HitParams hitparams = getHitParams(m_armor_groups, toolcap,
time_from_last_punch);
- std::string punchername = "nil";
-
- if (puncher != 0)
- punchername = puncher->getDescription();
-
PlayerSAO *playersao = m_player->getPlayerSAO();
bool damage_handled = m_env->getScriptIface()->on_punchplayer(playersao,
@@ -1305,15 +1316,11 @@ int PlayerSAO::punch(v3f dir,
}
}
-
- actionstream << "Player " << m_player->getName() << " punched by "
- << punchername;
- if (!damage_handled) {
- actionstream << ", damage " << hitparams.hp << " HP";
- } else {
- actionstream << ", damage handled by lua";
- }
- actionstream << std::endl;
+ actionstream << puncher->getDescription() << " (id=" << puncher->getId() <<
+ ", hp=" << puncher->getHP() << ") punched " <<
+ getDescription() << " (id=" << m_id << ", hp=" << m_hp <<
+ "), damage=" << (old_hp - (s32)getHP()) <<
+ (damage_handled ? " (handled by Lua)" : "") << std::endl;
return hitparams.wear;
}
@@ -1322,13 +1329,17 @@ void PlayerSAO::setHP(s32 hp, const PlayerHPChangeReason &reason)
{
s32 oldhp = m_hp;
- s32 hp_change = m_env->getScriptIface()->on_player_hpchange(this, hp - oldhp, reason);
- if (hp_change == 0)
- return;
+ hp = rangelim(hp, 0, m_prop.hp_max);
- hp = rangelim(oldhp + hp_change, 0, m_prop.hp_max);
+ if (oldhp != hp) {
+ s32 hp_change = m_env->getScriptIface()->on_player_hpchange(this, hp - oldhp, reason);
+ if (hp_change == 0)
+ return;
+
+ hp = rangelim(oldhp + hp_change, 0, m_prop.hp_max);
+ }
- if (hp < oldhp && !g_settings->getBool("enable_damage"))
+ if (hp < oldhp && isImmortal())
return;
m_hp = hp;
@@ -1343,19 +1354,15 @@ void PlayerSAO::setBreath(const u16 breath, bool send)
if (m_player && breath != m_breath)
m_player->setDirty(true);
- m_breath = MYMIN(breath, m_prop.breath_max);
+ m_breath = rangelim(breath, 0, m_prop.breath_max);
if (send)
m_env->getGameDef()->SendPlayerBreath(this);
}
-Inventory* PlayerSAO::getInventory()
+Inventory *PlayerSAO::getInventory() const
{
- return m_inventory;
-}
-const Inventory* PlayerSAO::getInventory() const
-{
- return m_inventory;
+ return m_player ? &m_player->inventory : nullptr;
}
InventoryLocation PlayerSAO::getInventoryLocation() const
@@ -1365,61 +1372,26 @@ InventoryLocation PlayerSAO::getInventoryLocation() const
return loc;
}
-std::string PlayerSAO::getWieldList() const
-{
- return "main";
-}
-
-ItemStack PlayerSAO::getWieldedItem() const
+u16 PlayerSAO::getWieldIndex() const
{
- const Inventory *inv = getInventory();
- ItemStack ret;
- const InventoryList *mlist = inv->getList(getWieldList());
- if (mlist && getWieldIndex() < (s32)mlist->getSize())
- ret = mlist->getItem(getWieldIndex());
- return ret;
+ return m_player->getWieldIndex();
}
-ItemStack PlayerSAO::getWieldedItemOrHand() const
+ItemStack PlayerSAO::getWieldedItem(ItemStack *selected, ItemStack *hand) const
{
- const Inventory *inv = getInventory();
- ItemStack ret;
- const InventoryList *mlist = inv->getList(getWieldList());
- if (mlist && getWieldIndex() < (s32)mlist->getSize())
- ret = mlist->getItem(getWieldIndex());
- if (ret.name.empty()) {
- const InventoryList *hlist = inv->getList("hand");
- if (hlist)
- ret = hlist->getItem(0);
- }
- return ret;
+ return m_player->getWieldedItem(selected, hand);
}
bool PlayerSAO::setWieldedItem(const ItemStack &item)
{
- Inventory *inv = getInventory();
- if (inv) {
- InventoryList *mlist = inv->getList(getWieldList());
- if (mlist) {
- mlist->changeItem(getWieldIndex(), item);
- return true;
- }
+ InventoryList *mlist = m_player->inventory.getList(getWieldList());
+ if (mlist) {
+ mlist->changeItem(m_player->getWieldIndex(), item);
+ return true;
}
return false;
}
-int PlayerSAO::getWieldIndex() const
-{
- return m_wield_index;
-}
-
-void PlayerSAO::setWieldIndex(int i)
-{
- if(i != m_wield_index) {
- m_wield_index = i;
- }
-}
-
void PlayerSAO::disconnected()
{
m_peer_id = 0;
@@ -1441,6 +1413,19 @@ std::string PlayerSAO::getPropertyPacket()
return gob_cmd_set_properties(m_prop);
}
+void PlayerSAO::setMaxSpeedOverride(const v3f &vel)
+{
+ if (m_max_speed_override_time == 0.0f)
+ m_max_speed_override = vel;
+ else
+ m_max_speed_override += vel;
+ if (m_player) {
+ float accel = MYMIN(m_player->movement_acceleration_default,
+ m_player->movement_acceleration_air);
+ m_max_speed_override_time = m_max_speed_override.getLength() / accel / BS;
+ }
+}
+
bool PlayerSAO::checkMovementCheat()
{
if (isAttached() || m_is_singleplayer ||
@@ -1460,6 +1445,14 @@ bool PlayerSAO::checkMovementCheat()
too, and much more lightweight.
*/
+ float override_max_H, override_max_V;
+ if (m_max_speed_override_time > 0.0f) {
+ override_max_H = MYMAX(fabs(m_max_speed_override.X), fabs(m_max_speed_override.Z));
+ override_max_V = fabs(m_max_speed_override.Y);
+ } else {
+ override_max_H = override_max_V = 0.0f;
+ }
+
float player_max_walk = 0; // horizontal movement
float player_max_jump = 0; // vertical upwards movement
@@ -1468,10 +1461,13 @@ bool PlayerSAO::checkMovementCheat()
else
player_max_walk = m_player->movement_speed_walk; // Normal speed
player_max_walk *= m_physics_override_speed;
+ player_max_walk = MYMAX(player_max_walk, override_max_H);
+
player_max_jump = m_player->movement_speed_jump * m_physics_override_jump;
// FIXME: Bouncy nodes cause practically unbound increase in Y speed,
// until this can be verified correctly, tolerate higher jumping speeds
player_max_jump *= 2.0;
+ player_max_jump = MYMAX(player_max_jump, override_max_V);
// Don't divide by zero!
if (player_max_walk < 0.0001f)
diff --git a/src/content_sao.h b/src/content_sao.h
index f54bc16c2..e9047daf0 100644
--- a/src/content_sao.h
+++ b/src/content_sao.h
@@ -46,20 +46,24 @@ public:
inline bool isAttached() const
{ return getParent(); }
+ inline bool isImmortal() const
+ { return itemgroup_get(getArmorGroups(), "immortal"); }
+
void setArmorGroups(const ItemGroupList &armor_groups);
- const ItemGroupList &getArmorGroups();
+ const ItemGroupList &getArmorGroups() const;
void setAnimation(v2f frame_range, float frame_speed, float frame_blend, bool frame_loop);
void getAnimation(v2f *frame_range, float *frame_speed, float *frame_blend, bool *frame_loop);
void setAnimationSpeed(float frame_speed);
void setBonePosition(const std::string &bone, v3f position, v3f rotation);
void getBonePosition(const std::string &bone, v3f *position, v3f *rotation);
void setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation);
- void getAttachment(int *parent_id, std::string *bone, v3f *position, v3f *rotation);
+ void getAttachment(int *parent_id, std::string *bone, v3f *position,
+ v3f *rotation) const;
void clearChildAttachments();
void clearParentAttachment();
void addAttachmentChild(int child_id);
void removeAttachmentChild(int child_id);
- const std::unordered_set<int> &getAttachmentChildIds();
+ const std::unordered_set<int> &getAttachmentChildIds() const;
ServerActiveObject *getParent() const;
ObjectProperties* accessObjectProperties();
void notifyObjectPropertiesModified();
@@ -104,7 +108,7 @@ class LuaEntitySAO : public UnitSAO
{
public:
LuaEntitySAO(ServerEnvironment *env, v3f pos,
- const std::string &name, const std::string &state);
+ const std::string &name, const std::string &state);
~LuaEntitySAO();
ActiveObjectType getType() const
{ return ACTIVEOBJECT_TYPE_LUAENTITY; }
@@ -112,16 +116,16 @@ public:
{ return ACTIVEOBJECT_TYPE_GENERIC; }
virtual void addedToEnvironment(u32 dtime_s);
static ServerActiveObject* create(ServerEnvironment *env, v3f pos,
- const std::string &data);
+ const std::string &data);
void step(float dtime, bool send_recommended);
std::string getClientInitializationData(u16 protocol_version);
bool isStaticAllowed() const
{ return m_prop.static_save; }
void getStaticData(std::string *result) const;
- int punch(v3f dir,
- const ToolCapabilities *toolcap=NULL,
- ServerActiveObject *puncher=NULL,
- float time_from_last_punch=1000000);
+ u16 punch(v3f dir,
+ const ToolCapabilities *toolcap = nullptr,
+ ServerActiveObject *puncher = nullptr,
+ float time_from_last_punch = 1000000.0f);
void rightClick(ServerActiveObject *clicker);
void setPos(const v3f &pos);
void moveTo(v3f pos, bool continuous);
@@ -129,6 +133,7 @@ public:
std::string getDescription();
void setHP(s32 hp, const PlayerHPChangeReason &reason);
u16 getHP() const;
+
/* LuaEntitySAO-specific */
void setVelocity(v3f velocity);
void addVelocity(v3f velocity)
@@ -214,7 +219,7 @@ class PlayerSAO : public UnitSAO
public:
PlayerSAO(ServerEnvironment *env_, RemotePlayer *player_, session_t peer_id_,
bool is_singleplayer);
- ~PlayerSAO();
+
ActiveObjectType getType() const
{ return ACTIVEOBJECT_TYPE_PLAYER; }
ActiveObjectType getSendType() const
@@ -253,7 +258,7 @@ public:
Interaction interface
*/
- int punch(v3f dir,
+ u16 punch(v3f dir,
const ToolCapabilities *toolcap,
ServerActiveObject *puncher,
float time_from_last_punch);
@@ -267,16 +272,13 @@ public:
/*
Inventory interface
*/
-
- Inventory* getInventory();
- const Inventory* getInventory() const;
+ Inventory *getInventory() const;
InventoryLocation getInventoryLocation() const;
- std::string getWieldList() const;
- ItemStack getWieldedItem() const;
- ItemStack getWieldedItemOrHand() const;
+ void setInventoryModified() {}
+ std::string getWieldList() const { return "main"; }
+ u16 getWieldIndex() const;
+ ItemStack getWieldedItem(ItemStack *selected, ItemStack *hand = nullptr) const;
bool setWieldedItem(const ItemStack &item);
- int getWieldIndex() const;
- void setWieldIndex(int i);
/*
PlayerSAO-specific
@@ -320,6 +322,7 @@ public:
{
return m_dig_pool;
}
+ void setMaxSpeedOverride(const v3f &vel);
// Returns true if cheated
bool checkMovementCheat();
@@ -350,7 +353,6 @@ private:
RemotePlayer *m_player = nullptr;
session_t m_peer_id = 0;
- Inventory *m_inventory = nullptr;
// Cheat prevention
LagPool m_dig_pool;
@@ -360,13 +362,14 @@ private:
float m_time_from_last_punch = 0.0f;
v3s16 m_nocheat_dig_pos = v3s16(32767, 32767, 32767);
float m_nocheat_dig_time = 0.0f;
+ float m_max_speed_override_time = 0.0f;
+ v3f m_max_speed_override = v3f(0.0f, 0.0f, 0.0f);
// Timers
IntervalLimiter m_breathing_interval;
IntervalLimiter m_drowning_interval;
IntervalLimiter m_node_hurt_interval;
- int m_wield_index = 0;
bool m_position_not_sent = false;
// Cached privileges for enforcement
@@ -401,10 +404,14 @@ struct PlayerHPChangeReason {
};
Type type = SET_HP;
- ServerActiveObject *object;
bool from_mod = false;
int lua_reference = -1;
+ // For PLAYER_PUNCH
+ ServerActiveObject *object = nullptr;
+ // For NODE_DAMAGE
+ std::string node;
+
inline bool hasLuaReference() const
{
return lua_reference >= 0;
@@ -450,7 +457,15 @@ struct PlayerHPChangeReason {
}
}
- PlayerHPChangeReason(Type type, ServerActiveObject *object=NULL):
+ PlayerHPChangeReason(Type type):
+ type(type)
+ {}
+
+ PlayerHPChangeReason(Type type, ServerActiveObject *object):
type(type), object(object)
{}
+
+ PlayerHPChangeReason(Type type, std::string node):
+ type(type), node(node)
+ {}
};
diff --git a/src/craftdef.cpp b/src/craftdef.cpp
index 077d7e044..0181ceb60 100644
--- a/src/craftdef.cpp
+++ b/src/craftdef.cpp
@@ -37,6 +37,15 @@ inline bool isGroupRecipeStr(const std::string &rec_name)
return str_starts_with(rec_name, std::string("group:"));
}
+static bool hasGroupItem(const std::vector<std::string> &recipe)
+{
+ for (const auto &item : recipe) {
+ if (isGroupRecipeStr(item))
+ return true;
+ }
+ return false;
+}
+
inline u64 getHashForString(const std::string &recipe_str)
{
/*errorstream << "Hashing craft string \"" << recipe_str << '"';*/
@@ -278,6 +287,15 @@ std::string craftDumpMatrix(const std::vector<ItemStack> &items,
CraftInput
*/
+bool CraftInput::empty() const
+{
+ for (const auto &item : items) {
+ if (!item.empty())
+ return false;
+ }
+ return true;
+}
+
std::string CraftInput::dump() const
{
std::ostringstream os(std::ios::binary);
@@ -320,6 +338,19 @@ std::string CraftReplacements::dump() const
CraftDefinitionShaped
*/
+CraftDefinitionShaped::CraftDefinitionShaped(
+ const std::string &output_,
+ unsigned int width_,
+ const std::vector<std::string> &recipe_,
+ const CraftReplacements &replacements_):
+ output(output_), width(width_), recipe(recipe_), replacements(replacements_)
+{
+ if (hasGroupItem(recipe))
+ priority = PRIORITY_SHAPED_AND_GROUPS;
+ else
+ priority = PRIORITY_SHAPED;
+}
+
std::string CraftDefinitionShaped::getName() const
{
return "shaped";
@@ -407,22 +438,6 @@ void CraftDefinitionShaped::decrementInput(CraftInput &input, std::vector<ItemSt
craftDecrementOrReplaceInput(input, output_replacements, replacements, gamedef);
}
-CraftHashType CraftDefinitionShaped::getHashType() const
-{
- assert(hash_inited); // Pre-condition
- bool has_group = false;
- for (const auto &recipe_name : recipe_names) {
- if (isGroupRecipeStr(recipe_name)) {
- has_group = true;
- break;
- }
- }
- if (has_group)
- return CRAFT_HASH_TYPE_COUNT;
-
- return CRAFT_HASH_TYPE_ITEM_NAMES;
-}
-
u64 CraftDefinitionShaped::getHash(CraftHashType type) const
{
assert(hash_inited); // Pre-condition
@@ -440,6 +455,11 @@ void CraftDefinitionShaped::initHash(IGameDef *gamedef)
return;
hash_inited = true;
recipe_names = craftGetItemNames(recipe, gamedef);
+
+ if (hasGroupItem(recipe_names))
+ hash_type = CRAFT_HASH_TYPE_COUNT;
+ else
+ hash_type = CRAFT_HASH_TYPE_ITEM_NAMES;
}
std::string CraftDefinitionShaped::dump() const
@@ -455,6 +475,18 @@ std::string CraftDefinitionShaped::dump() const
CraftDefinitionShapeless
*/
+CraftDefinitionShapeless::CraftDefinitionShapeless(
+ const std::string &output_,
+ const std::vector<std::string> &recipe_,
+ const CraftReplacements &replacements_):
+ output(output_), recipe(recipe_), replacements(replacements_)
+{
+ if (hasGroupItem(recipe))
+ priority = PRIORITY_SHAPELESS_AND_GROUPS;
+ else
+ priority = PRIORITY_SHAPELESS;
+}
+
std::string CraftDefinitionShapeless::getName() const
{
return "shapeless";
@@ -527,22 +559,6 @@ void CraftDefinitionShapeless::decrementInput(CraftInput &input, std::vector<Ite
craftDecrementOrReplaceInput(input, output_replacements, replacements, gamedef);
}
-CraftHashType CraftDefinitionShapeless::getHashType() const
-{
- assert(hash_inited); // Pre-condition
- bool has_group = false;
- for (const auto &recipe_name : recipe_names) {
- if (isGroupRecipeStr(recipe_name)) {
- has_group = true;
- break;
- }
- }
- if (has_group)
- return CRAFT_HASH_TYPE_COUNT;
-
- return CRAFT_HASH_TYPE_ITEM_NAMES;
-}
-
u64 CraftDefinitionShapeless::getHash(CraftHashType type) const
{
assert(hash_inited); // Pre-condition
@@ -558,6 +574,11 @@ void CraftDefinitionShapeless::initHash(IGameDef *gamedef)
hash_inited = true;
recipe_names = craftGetItemNames(recipe, gamedef);
std::sort(recipe_names.begin(), recipe_names.end());
+
+ if (hasGroupItem(recipe_names))
+ hash_type = CRAFT_HASH_TYPE_COUNT;
+ else
+ hash_type = CRAFT_HASH_TYPE_ITEM_NAMES;
}
std::string CraftDefinitionShapeless::dump() const
@@ -573,6 +594,12 @@ std::string CraftDefinitionShapeless::dump() const
CraftDefinitionToolRepair
*/
+CraftDefinitionToolRepair::CraftDefinitionToolRepair(float additional_wear_):
+ additional_wear(additional_wear_)
+{
+ priority = PRIORITY_TOOLREPAIR;
+}
+
static ItemStack craftToolRepair(
const ItemStack &item1,
const ItemStack &item2,
@@ -667,6 +694,19 @@ std::string CraftDefinitionToolRepair::dump() const
CraftDefinitionCooking
*/
+CraftDefinitionCooking::CraftDefinitionCooking(
+ const std::string &output_,
+ const std::string &recipe_,
+ float cooktime_,
+ const CraftReplacements &replacements_):
+ output(output_), recipe(recipe_), cooktime(cooktime_), replacements(replacements_)
+{
+ if (isGroupRecipeStr(recipe))
+ priority = PRIORITY_SHAPELESS_AND_GROUPS;
+ else
+ priority = PRIORITY_SHAPELESS;
+}
+
std::string CraftDefinitionCooking::getName() const
{
return "cooking";
@@ -715,14 +755,6 @@ void CraftDefinitionCooking::decrementInput(CraftInput &input, std::vector<ItemS
craftDecrementOrReplaceInput(input, output_replacements, replacements, gamedef);
}
-CraftHashType CraftDefinitionCooking::getHashType() const
-{
- if (isGroupRecipeStr(recipe_name))
- return CRAFT_HASH_TYPE_COUNT;
-
- return CRAFT_HASH_TYPE_ITEM_NAMES;
-}
-
u64 CraftDefinitionCooking::getHash(CraftHashType type) const
{
if (type == CRAFT_HASH_TYPE_ITEM_NAMES) {
@@ -744,6 +776,11 @@ void CraftDefinitionCooking::initHash(IGameDef *gamedef)
return;
hash_inited = true;
recipe_name = craftGetItemName(recipe, gamedef);
+
+ if (isGroupRecipeStr(recipe_name))
+ hash_type = CRAFT_HASH_TYPE_COUNT;
+ else
+ hash_type = CRAFT_HASH_TYPE_ITEM_NAMES;
}
std::string CraftDefinitionCooking::dump() const
@@ -760,6 +797,18 @@ std::string CraftDefinitionCooking::dump() const
CraftDefinitionFuel
*/
+CraftDefinitionFuel::CraftDefinitionFuel(
+ const std::string &recipe_,
+ float burntime_,
+ const CraftReplacements &replacements_):
+ recipe(recipe_), burntime(burntime_), replacements(replacements_)
+{
+ if (isGroupRecipeStr(recipe_name))
+ priority = PRIORITY_SHAPELESS_AND_GROUPS;
+ else
+ priority = PRIORITY_SHAPELESS;
+}
+
std::string CraftDefinitionFuel::getName() const
{
return "fuel";
@@ -808,14 +857,6 @@ void CraftDefinitionFuel::decrementInput(CraftInput &input, std::vector<ItemStac
craftDecrementOrReplaceInput(input, output_replacements, replacements, gamedef);
}
-CraftHashType CraftDefinitionFuel::getHashType() const
-{
- if (isGroupRecipeStr(recipe_name))
- return CRAFT_HASH_TYPE_COUNT;
-
- return CRAFT_HASH_TYPE_ITEM_NAMES;
-}
-
u64 CraftDefinitionFuel::getHash(CraftHashType type) const
{
if (type == CRAFT_HASH_TYPE_ITEM_NAMES) {
@@ -837,7 +878,13 @@ void CraftDefinitionFuel::initHash(IGameDef *gamedef)
return;
hash_inited = true;
recipe_name = craftGetItemName(recipe, gamedef);
+
+ if (isGroupRecipeStr(recipe_name))
+ hash_type = CRAFT_HASH_TYPE_COUNT;
+ else
+ hash_type = CRAFT_HASH_TYPE_ITEM_NAMES;
}
+
std::string CraftDefinitionFuel::dump() const
{
std::ostringstream os(std::ios::binary);
@@ -868,25 +915,18 @@ public:
std::vector<ItemStack> &output_replacement, bool decrementInput,
IGameDef *gamedef) const
{
- output.item = "";
- output.time = 0;
-
- // If all input items are empty, abort.
- bool all_empty = true;
- for (const auto &item : input.items) {
- if (!item.empty()) {
- all_empty = false;
- break;
- }
- }
- if (all_empty)
+ if (input.empty())
return false;
std::vector<std::string> input_names;
input_names = craftGetItemNames(input.items, gamedef);
std::sort(input_names.begin(), input_names.end());
- // Try hash types with increasing collision rate, and return if found.
+ // Try hash types with increasing collision rate
+ // while remembering the latest, highest priority recipe.
+ CraftDefinition::RecipePriority priority_best =
+ CraftDefinition::PRIORITY_NO_RECIPE;
+ CraftDefinition *def_best = nullptr;
for (int type = 0; type <= craft_hash_type_max; type++) {
u64 hash = getHashForGrid((CraftHashType) type, input_names);
@@ -909,7 +949,9 @@ public:
/*errorstream << "Checking " << input.dump() << std::endl
<< " against " << def->dump() << std::endl;*/
- if (def->check(input, gamedef)) {
+ CraftDefinition::RecipePriority priority = def->getPriority();
+ if (priority > priority_best
+ && def->check(input, gamedef)) {
// Check if the crafted node/item exists
CraftOutput out = def->getOutput(input, gamedef);
ItemStack is;
@@ -920,17 +962,17 @@ public:
continue;
}
- // Get output, then decrement input (if requested)
output = out;
-
- if (decrementInput)
- def->decrementInput(input, output_replacement, gamedef);
- /*errorstream << "Check RETURNS TRUE" << std::endl;*/
- return true;
+ priority_best = priority;
+ def_best = def;
}
}
}
- return false;
+ if (priority_best == CraftDefinition::PRIORITY_NO_RECIPE)
+ return false;
+ if (decrementInput)
+ def_best->decrementInput(input, output_replacement, gamedef);
+ return true;
}
virtual std::vector<CraftDefinition*> getCraftRecipes(CraftOutput &output,
@@ -958,84 +1000,48 @@ public:
return recipes;
}
- virtual bool clearCraftRecipesByOutput(const CraftOutput &output, IGameDef *gamedef)
+ virtual bool clearCraftsByOutput(const CraftOutput &output, IGameDef *gamedef)
{
- auto vec_iter = m_output_craft_definitions.find(output.item);
+ auto to_clear = m_output_craft_definitions.find(output.item);
- if (vec_iter == m_output_craft_definitions.end())
+ if (to_clear == m_output_craft_definitions.end())
return false;
- std::vector<CraftDefinition*> &vec = vec_iter->second;
- for (auto def : vec) {
+ for (auto def : to_clear->second) {
// Recipes are not yet hashed at this point
- std::vector<CraftDefinition*> &unhashed_inputs_vec = m_craft_defs[(int) CRAFT_HASH_TYPE_UNHASHED][0];
- std::vector<CraftDefinition*> new_vec_by_input;
- /* We will preallocate necessary memory addresses, so we don't need to reallocate them later.
- This would save us some performance. */
- new_vec_by_input.reserve(unhashed_inputs_vec.size());
- for (auto &i2 : unhashed_inputs_vec) {
- if (def != i2) {
- new_vec_by_input.push_back(i2);
- }
- }
- m_craft_defs[(int) CRAFT_HASH_TYPE_UNHASHED][0].swap(new_vec_by_input);
+ std::vector<CraftDefinition *> &defs = m_craft_defs[(int)CRAFT_HASH_TYPE_UNHASHED][0];
+ defs.erase(std::remove(defs.begin(), defs.end(), def), defs.end());
+ delete def;
}
- m_output_craft_definitions.erase(output.item);
+ m_output_craft_definitions.erase(to_clear);
return true;
}
- virtual bool clearCraftRecipesByInput(CraftMethod craft_method, unsigned int craft_grid_width,
- const std::vector<std::string> &recipe, IGameDef *gamedef)
+ virtual bool clearCraftsByInput(const CraftInput &input, IGameDef *gamedef)
{
- bool all_empty = true;
- for (const auto &i : recipe) {
- if (!i.empty()) {
- all_empty = false;
- break;
- }
- }
- if (all_empty)
+ if (input.empty())
return false;
- CraftInput input(craft_method, craft_grid_width, craftGetItems(recipe, gamedef));
// Recipes are not yet hashed at this point
- std::vector<CraftDefinition*> &unhashed_inputs_vec = m_craft_defs[(int) CRAFT_HASH_TYPE_UNHASHED][0];
- std::vector<CraftDefinition*> new_vec_by_input;
+ std::vector<CraftDefinition *> &defs = m_craft_defs[(int)CRAFT_HASH_TYPE_UNHASHED][0];
+ std::vector<CraftDefinition *> new_defs;
bool got_hit = false;
- for (std::vector<CraftDefinition*>::size_type
- i = unhashed_inputs_vec.size(); i > 0; i--) {
- CraftDefinition *def = unhashed_inputs_vec[i - 1];
- /* If the input doesn't match the recipe definition, this recipe definition later
- will be added back in source map. */
+ for (auto def : defs) {
if (!def->check(input, gamedef)) {
- new_vec_by_input.push_back(def);
+ new_defs.push_back(def);
continue;
}
- CraftOutput output = def->getOutput(input, gamedef);
got_hit = true;
- auto vec_iter = m_output_craft_definitions.find(output.item);
- if (vec_iter == m_output_craft_definitions.end())
+ 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<CraftDefinition*> &vec = vec_iter->second;
- std::vector<CraftDefinition*> new_vec_by_output;
- /* We will preallocate necessary memory addresses, so we don't need
- to reallocate them later. This would save us some performance. */
- new_vec_by_output.reserve(vec.size());
- for (auto &vec_i : vec) {
- /* If pointers from map by input and output are not same,
- we will add 'CraftDefinition*' to a new vector. */
- if (def != vec_i) {
- /* Adding dereferenced iterator value (which are
- 'CraftDefinition' reference) to a new vector. */
- new_vec_by_output.push_back(vec_i);
- }
- }
- // Swaps assigned to current key value with new vector for output map.
- m_output_craft_definitions[output.item].swap(new_vec_by_output);
+ std::vector<CraftDefinition *> &outdefs = it->second;
+ outdefs.erase(std::remove(outdefs.begin(), outdefs.end(), def), outdefs.end());
}
if (got_hit)
- // Swaps value with new vector for input map.
- m_craft_defs[(int) CRAFT_HASH_TYPE_UNHASHED][0].swap(new_vec_by_input);
+ defs.swap(new_defs);
return got_hit;
}
@@ -1099,9 +1105,10 @@ public:
unhashed.clear();
}
private:
- //TODO: change both maps to unordered_map when c++11 can be used
- std::vector<std::map<u64, std::vector<CraftDefinition*> > > m_craft_defs;
- std::map<std::string, std::vector<CraftDefinition*> > m_output_craft_definitions;
+ std::vector<std::unordered_map<u64, std::vector<CraftDefinition*> > >
+ m_craft_defs;
+ std::unordered_map<std::string, std::vector<CraftDefinition*> >
+ m_output_craft_definitions;
};
IWritableCraftDefManager* createCraftDefManager()
diff --git a/src/craftdef.h b/src/craftdef.h
index 46ee2164e..5971a89bf 100644
--- a/src/craftdef.h
+++ b/src/craftdef.h
@@ -80,6 +80,9 @@ struct CraftInput
method(method_), width(width_), items(items_)
{}
+ // Returns true if all items are empty.
+ bool empty() const;
+
std::string dump() const;
};
@@ -132,6 +135,23 @@ struct CraftReplacements
class CraftDefinition
{
public:
+ /*
+ Craft recipe priorities, from low to high
+
+ Recipes are searched from latest to first.
+ If a recipe with higher priority than a previous found one is
+ encountered, it is selected instead.
+ */
+ enum RecipePriority
+ {
+ PRIORITY_NO_RECIPE,
+ PRIORITY_TOOLREPAIR,
+ PRIORITY_SHAPELESS_AND_GROUPS,
+ PRIORITY_SHAPELESS,
+ PRIORITY_SHAPED_AND_GROUPS,
+ PRIORITY_SHAPED,
+ };
+
CraftDefinition() = default;
virtual ~CraftDefinition() = default;
@@ -140,6 +160,10 @@ public:
// Checks whether the recipe is applicable
virtual bool check(const CraftInput &input, IGameDef *gamedef) const=0;
+ RecipePriority getPriority() const
+ {
+ return priority;
+ }
// Returns the output structure, meaning depends on crafting method
// The implementation can assume that check(input) returns true
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const=0;
@@ -149,13 +173,20 @@ public:
virtual void decrementInput(CraftInput &input,
std::vector<ItemStack> &output_replacements, IGameDef *gamedef) const=0;
- virtual CraftHashType getHashType() const = 0;
+ CraftHashType getHashType() const
+ {
+ return hash_type;
+ }
virtual u64 getHash(CraftHashType type) const = 0;
// to be called after all mods are loaded, so that we catch all aliases
virtual void initHash(IGameDef *gamedef) = 0;
virtual std::string dump() const=0;
+
+protected:
+ CraftHashType hash_type;
+ RecipePriority priority;
};
/*
@@ -168,15 +199,12 @@ class CraftDefinitionShaped: public CraftDefinition
{
public:
CraftDefinitionShaped() = delete;
-
CraftDefinitionShaped(
- const std::string &output_,
- unsigned int width_,
- const std::vector<std::string> &recipe_,
- const CraftReplacements &replacements_):
- output(output_), width(width_), recipe(recipe_),
- replacements(replacements_)
- {}
+ const std::string &output_,
+ unsigned int width_,
+ const std::vector<std::string> &recipe_,
+ const CraftReplacements &replacements_);
+
virtual ~CraftDefinitionShaped() = default;
virtual std::string getName() const;
@@ -186,7 +214,6 @@ public:
virtual void decrementInput(CraftInput &input,
std::vector<ItemStack> &output_replacements, IGameDef *gamedef) const;
- virtual CraftHashType getHashType() const;
virtual u64 getHash(CraftHashType type) const;
virtual void initHash(IGameDef *gamedef);
@@ -218,11 +245,10 @@ class CraftDefinitionShapeless: public CraftDefinition
public:
CraftDefinitionShapeless() = delete;
CraftDefinitionShapeless(
- const std::string &output_,
- const std::vector<std::string> &recipe_,
- const CraftReplacements &replacements_):
- output(output_), recipe(recipe_), replacements(replacements_)
- {}
+ const std::string &output_,
+ const std::vector<std::string> &recipe_,
+ const CraftReplacements &replacements_);
+
virtual ~CraftDefinitionShapeless() = default;
virtual std::string getName() const;
@@ -232,7 +258,6 @@ public:
virtual void decrementInput(CraftInput &input,
std::vector<ItemStack> &output_replacements, IGameDef *gamedef) const;
- virtual CraftHashType getHashType() const;
virtual u64 getHash(CraftHashType type) const;
virtual void initHash(IGameDef *gamedef);
@@ -262,9 +287,8 @@ class CraftDefinitionToolRepair: public CraftDefinition
{
public:
CraftDefinitionToolRepair() = delete;
- CraftDefinitionToolRepair(float additional_wear_):
- additional_wear(additional_wear_)
- {}
+ CraftDefinitionToolRepair(float additional_wear_);
+
virtual ~CraftDefinitionToolRepair() = default;
virtual std::string getName() const;
@@ -274,10 +298,12 @@ public:
virtual void decrementInput(CraftInput &input,
std::vector<ItemStack> &output_replacements, IGameDef *gamedef) const;
- virtual CraftHashType getHashType() const { return CRAFT_HASH_TYPE_COUNT; }
virtual u64 getHash(CraftHashType type) const { return 2; }
- virtual void initHash(IGameDef *gamedef) {}
+ virtual void initHash(IGameDef *gamedef)
+ {
+ hash_type = CRAFT_HASH_TYPE_COUNT;
+ }
virtual std::string dump() const;
@@ -299,12 +325,11 @@ class CraftDefinitionCooking: public CraftDefinition
public:
CraftDefinitionCooking() = delete;
CraftDefinitionCooking(
- const std::string &output_,
- const std::string &recipe_,
- float cooktime_,
- const CraftReplacements &replacements_):
- output(output_), recipe(recipe_), cooktime(cooktime_), replacements(replacements_)
- {}
+ const std::string &output_,
+ const std::string &recipe_,
+ float cooktime_,
+ const CraftReplacements &replacements_);
+
virtual ~CraftDefinitionCooking() = default;
virtual std::string getName() const;
@@ -314,7 +339,6 @@ public:
virtual void decrementInput(CraftInput &input,
std::vector<ItemStack> &output_replacements, IGameDef *gamedef) const;
- virtual CraftHashType getHashType() const;
virtual u64 getHash(CraftHashType type) const;
virtual void initHash(IGameDef *gamedef);
@@ -344,11 +368,11 @@ class CraftDefinitionFuel: public CraftDefinition
{
public:
CraftDefinitionFuel() = delete;
- CraftDefinitionFuel(const std::string &recipe_,
- float burntime_,
- const CraftReplacements &replacements_):
- recipe(recipe_), burntime(burntime_), replacements(replacements_)
- {}
+ CraftDefinitionFuel(
+ const std::string &recipe_,
+ float burntime_,
+ const CraftReplacements &replacements_);
+
virtual ~CraftDefinitionFuel() = default;
virtual std::string getName() const;
@@ -358,7 +382,6 @@ public:
virtual void decrementInput(CraftInput &input,
std::vector<ItemStack> &output_replacements, IGameDef *gamedef) const;
- virtual CraftHashType getHashType() const;
virtual u64 getHash(CraftHashType type) const;
virtual void initHash(IGameDef *gamedef);
@@ -411,9 +434,8 @@ public:
virtual std::vector<CraftDefinition*> getCraftRecipes(CraftOutput &output,
IGameDef *gamedef, unsigned limit=0) const=0;
- virtual bool clearCraftRecipesByOutput(const CraftOutput &output, IGameDef *gamedef) = 0;
- virtual bool clearCraftRecipesByInput(CraftMethod craft_method,
- unsigned int craft_grid_width, const std::vector<std::string> &recipe, IGameDef *gamedef) = 0;
+ virtual bool clearCraftsByOutput(const CraftOutput &output, IGameDef *gamedef) = 0;
+ virtual bool clearCraftsByInput(const CraftInput &input, IGameDef *gamedef) = 0;
// Print crafting recipes for debugging
virtual std::string dump() const=0;
diff --git a/src/daynightratio.h b/src/daynightratio.h
index f959cdf6c..5986da5fc 100644
--- a/src/daynightratio.h
+++ b/src/daynightratio.h
@@ -22,45 +22,51 @@ with this program; if not, write to the Free Software Foundation, Inc.,
inline u32 time_to_daynight_ratio(float time_of_day, bool smooth)
{
float t = time_of_day;
- if(t < 0)
- t += ((int)(-t)/24000)*24000;
- if(t >= 24000)
- t -= ((int)(t)/24000)*24000;
- if(t > 12000)
- t = 24000 - t;
- float values[][2] = {
- {4250+125, 150},
- {4500+125, 150},
- {4750+125, 250},
- {5000+125, 350},
- {5250+125, 500},
- {5500+125, 675},
- {5750+125, 875},
- {6000+125, 1000},
- {6250+125, 1000},
+ if (t < 0.0f)
+ t += ((int)(-t) / 24000) * 24000.0f;
+ if (t >= 24000.0f)
+ t -= ((int)(t) / 24000) * 24000.0f;
+ if (t > 12000.0f)
+ t = 24000.0f - t;
+
+ const float values[9][2] = {
+ {4250.0f + 125.0f, 150.0f},
+ {4500.0f + 125.0f, 150.0f},
+ {4750.0f + 125.0f, 250.0f},
+ {5000.0f + 125.0f, 350.0f},
+ {5250.0f + 125.0f, 500.0f},
+ {5500.0f + 125.0f, 675.0f},
+ {5750.0f + 125.0f, 875.0f},
+ {6000.0f + 125.0f, 1000.0f},
+ {6250.0f + 125.0f, 1000.0f},
};
- if(!smooth){
+
+ if (!smooth) {
float lastt = values[0][0];
- for(u32 i=1; i<sizeof(values)/sizeof(*values); i++){
+ for (u32 i = 1; i < 9; i++) {
float t0 = values[i][0];
- float switch_t = (t0 + lastt) / 2;
+ float switch_t = (t0 + lastt) / 2.0f;
lastt = t0;
- if(switch_t <= t)
+ if (switch_t <= t)
continue;
+
return values[i][1];
}
return 1000;
}
- for (u32 i=0; i < sizeof(values) / sizeof(*values); i++) {
- if (values[i][0] <= t)
- continue;
- if (i == 0)
- return values[i][1];
- float td0 = values[i][0] - values[i-1][0];
- float f = (t - values[i-1][0]) / td0;
- return f * values[i][1] + (1.0 - f) * values[i-1][1];
- }
+ if (t <= 4625.0f) // 4500 + 125
+ return values[0][1];
+ else if (t >= 6125.0f) // 6000 + 125
return 1000;
+ for (u32 i = 0; i < 9; i++) {
+ if (values[i][0] <= t)
+ continue;
+
+ float td0 = values[i][0] - values[i - 1][0];
+ float f = (t - values[i - 1][0]) / td0;
+ return f * values[i][1] + (1.0f - f) * values[i - 1][1];
+ }
+ return 1000;
}
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index 5a56f3d77..01ee97a33 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.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 <IrrCompileConfig.h>
#include "settings.h"
#include "porting.h"
#include "filesys.h"
@@ -82,7 +83,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("keymap_console", "KEY_F10");
settings->setDefault("keymap_rangeselect", "KEY_KEY_R");
settings->setDefault("keymap_freemove", "KEY_KEY_K");
- settings->setDefault("keymap_pitchmove", "KEY_KEY_L");
+ settings->setDefault("keymap_pitchmove", "KEY_KEY_P");
settings->setDefault("keymap_fastmove", "KEY_KEY_J");
settings->setDefault("keymap_noclip", "KEY_KEY_H");
settings->setDefault("keymap_hotbar_next", "KEY_KEY_N");
@@ -182,7 +183,15 @@ void set_default_settings(Settings *settings)
settings->setDefault("lighting_boost_spread", "0.2");
settings->setDefault("texture_path", "");
settings->setDefault("shader_path", "");
+#if ENABLE_GLES
+#ifdef _IRR_COMPILE_WITH_OGLES1_
+ settings->setDefault("video_driver", "ogles1");
+#else
+ settings->setDefault("video_driver", "ogles2");
+#endif
+#else
settings->setDefault("video_driver", "opengl");
+#endif
settings->setDefault("cinematic", "false");
settings->setDefault("camera_smoothing", "0");
settings->setDefault("cinematic_camera_smoothing", "0.7");
@@ -217,7 +226,11 @@ void set_default_settings(Settings *settings)
settings->setDefault("texture_clean_transparent", "false");
settings->setDefault("texture_min_size", "64");
settings->setDefault("ambient_occlusion_gamma", "2.2");
+#if ENABLE_GLES
+ settings->setDefault("enable_shaders", "false");
+#else
settings->setDefault("enable_shaders", "true");
+#endif
settings->setDefault("enable_particles", "true");
settings->setDefault("arm_inertia", "true");
@@ -343,6 +356,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("kick_msg_crash", "This server has experienced an internal error. You will now be disconnected.");
settings->setDefault("ask_reconnect_on_crash", "false");
+ settings->setDefault("chat_message_format", "<@name> @message");
settings->setDefault("profiler_print_interval", "0");
settings->setDefault("active_object_send_range_blocks", "4");
settings->setDefault("active_block_range", "3");
@@ -355,7 +369,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("csm_restriction_noderange", "0");
settings->setDefault("max_clearobjects_extra_loaded_blocks", "4096");
settings->setDefault("time_speed", "72");
- settings->setDefault("world_start_time", "5250");
+ settings->setDefault("world_start_time", "6125");
settings->setDefault("server_unload_unused_data_timeout", "29");
settings->setDefault("max_objects_per_block", "64");
settings->setDefault("server_map_save_interval", "5.3");
@@ -371,6 +385,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("ignore_world_load_errors", "false");
settings->setDefault("remote_media", "");
settings->setDefault("debug_log_level", "action");
+ settings->setDefault("debug_log_size_max", "50");
settings->setDefault("emergequeue_limit_total", "512");
settings->setDefault("emergequeue_limit_diskonly", "64");
settings->setDefault("emergequeue_limit_generate", "64");
@@ -403,10 +418,9 @@ void set_default_settings(Settings *settings)
settings->setDefault("water_level", "1");
settings->setDefault("mapgen_limit", "31000");
settings->setDefault("chunksize", "5");
- settings->setDefault("mg_flags", "dungeons");
+ settings->setDefault("mg_flags", "caves,dungeons,light,decorations,biomes");
settings->setDefault("fixed_map_seed", "");
settings->setDefault("max_block_generate_distance", "8");
- settings->setDefault("projecting_dungeons", "true");
settings->setDefault("enable_mapgen_debug_info", "false");
// Server list announcing
@@ -429,11 +443,9 @@ void set_default_settings(Settings *settings)
#ifdef __ANDROID__
settings->setDefault("screen_w", "0");
settings->setDefault("screen_h", "0");
- settings->setDefault("enable_shaders", "false");
settings->setDefault("fullscreen", "true");
- settings->setDefault("video_driver", "ogles1");
settings->setDefault("touchtarget", "true");
- settings->setDefault("TMPFolder","/sdcard/" PROJECT_NAME_C "/tmp/");
+ settings->setDefault("TMPFolder", porting::getDataPath("tmp" DIR_DELIM));
settings->setDefault("touchscreen_threshold","20");
settings->setDefault("fixed_virtual_joystick", "false");
settings->setDefault("virtual_joystick_triggers_aux", "false");
@@ -450,8 +462,8 @@ void set_default_settings(Settings *settings)
settings->setDefault("server_map_save_interval", "15");
settings->setDefault("client_mapblock_limit", "1000");
settings->setDefault("active_block_range", "2");
- settings->setDefault("chunksize", "5");
settings->setDefault("viewing_range", "50");
+ settings->setDefault("leaves_style", "simple");
settings->setDefault("curl_verify_cert","false");
// Apply settings according to screen size
diff --git a/src/emerge.cpp b/src/emerge.cpp
index 0a1852985..fc1da4ee7 100644
--- a/src/emerge.cpp
+++ b/src/emerge.cpp
@@ -184,33 +184,28 @@ EmergeManager::~EmergeManager()
}
-bool EmergeManager::initMapgens(MapgenParams *params)
+void EmergeManager::initMapgens(MapgenParams *params)
{
- if (!m_mapgens.empty())
- return false;
+ FATAL_ERROR_IF(!m_mapgens.empty(), "Mapgen already initialised.");
- this->mgparams = params;
+ mgparams = params;
- for (u32 i = 0; i != m_threads.size(); i++) {
- Mapgen *mg = Mapgen::createMapgen(params->mgtype, i, params, this);
- m_mapgens.push_back(mg);
- }
-
- return true;
+ for (u32 i = 0; i != m_threads.size(); i++)
+ m_mapgens.push_back(Mapgen::createMapgen(params->mgtype, params, this));
}
Mapgen *EmergeManager::getCurrentMapgen()
{
if (!m_threads_active)
- return NULL;
+ return nullptr;
for (u32 i = 0; i != m_threads.size(); i++) {
if (m_threads[i]->isCurrentThread())
return m_threads[i]->m_mapgen;
}
- return NULL;
+ return nullptr;
}
@@ -642,12 +637,8 @@ void *EmergeThread::run()
{
ScopeProfiler sp(g_profiler,
"EmergeThread: Mapgen::makeChunk", SPT_AVG);
- TimeTaker t("mapgen::make_block()");
m_mapgen->makeChunk(&bmdata);
-
- if (!enable_mapgen_debug_info)
- t.stop(true); // Hide output
}
block = finishGen(pos, &bmdata, &modified_blocks);
diff --git a/src/emerge.h b/src/emerge.h
index d4a34451d..df849e542 100644
--- a/src/emerge.h
+++ b/src/emerge.h
@@ -117,7 +117,7 @@ public:
~EmergeManager();
DISABLE_CLASS_COPY(EmergeManager);
- bool initMapgens(MapgenParams *mgparams);
+ void initMapgens(MapgenParams *mgparams);
void startThreads();
void stopThreads();
diff --git a/src/environment.cpp b/src/environment.cpp
index ac7b7ce69..906f35219 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -159,7 +159,7 @@ void Environment::continueRaycast(RaycastState *state, PointedThing *result)
v3s16 np(x, y, z);
bool is_valid_position;
- n = map.getNodeNoEx(np, &is_valid_position);
+ n = map.getNode(np, &is_valid_position);
if (!(is_valid_position && isPointableNode(n, nodedef,
state->m_liquids_pointable))) {
continue;
diff --git a/src/gettime.h b/src/gettime.h
index f20728dfd..66efef1d7 100644
--- a/src/gettime.h
+++ b/src/gettime.h
@@ -19,7 +19,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#pragma once
-#include "irrlichttypes.h"
#include <ctime>
#include <string>
diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
index 4bc451825..2307856a4 100644
--- a/src/gui/CMakeLists.txt
+++ b/src/gui/CMakeLists.txt
@@ -1,4 +1,5 @@
set(gui_SRCS
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiButton.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiChatConsole.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiConfirmRegistration.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiEditBoxWithScrollbar.cpp
@@ -7,6 +8,8 @@ set(gui_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/guiKeyChangeMenu.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiPasswordChange.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiPathSelectMenu.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiScrollBar.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/guiSkin.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiTable.cpp
${CMAKE_CURRENT_SOURCE_DIR}/guiVolumeChange.cpp
${CMAKE_CURRENT_SOURCE_DIR}/intlGUIEditBox.cpp
diff --git a/src/gui/StyleSpec.h b/src/gui/StyleSpec.h
new file mode 100644
index 000000000..29aae0836
--- /dev/null
+++ b/src/gui/StyleSpec.h
@@ -0,0 +1,135 @@
+/*
+Minetest
+Copyright (C) 2019 rubenwardy
+
+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.
+*/
+
+#include "irrlichttypes_extrabloated.h"
+#include <array>
+
+#pragma once
+
+class StyleSpec
+{
+public:
+ enum Property
+ {
+ TEXTCOLOR,
+ BGCOLOR,
+ NOCLIP,
+ BORDER,
+ BGIMG,
+ BGIMG_PRESSED,
+ ALPHA,
+ NUM_PROPERTIES,
+ NONE
+ };
+
+private:
+ std::array<bool, NUM_PROPERTIES> property_set;
+ std::array<std::string, NUM_PROPERTIES> properties;
+
+public:
+ static Property GetPropertyByName(const std::string &name)
+ {
+ if (name == "textcolor") {
+ return TEXTCOLOR;
+ } else if (name == "bgcolor") {
+ return BGCOLOR;
+ } else if (name == "noclip") {
+ return NOCLIP;
+ } else if (name == "border") {
+ return BORDER;
+ } else if (name == "bgimg") {
+ return BGIMG;
+ } else if (name == "bgimg_pressed") {
+ return BGIMG_PRESSED;
+ } else if (name == "alpha") {
+ return ALPHA;
+ } else {
+ return NONE;
+ }
+ }
+
+ std::string get(Property prop, std::string def) const
+ {
+ const auto &val = properties[prop];
+ return val.empty() ? def : val;
+ }
+
+ void set(Property prop, const std::string &value)
+ {
+ properties[prop] = value;
+ property_set[prop] = true;
+ }
+
+ video::SColor getColor(Property prop, video::SColor def) const
+ {
+ const auto &val = properties[prop];
+ if (val.empty()) {
+ return def;
+ }
+
+ parseColorString(val, def, false, 0xFF);
+ return def;
+ }
+
+ video::SColor getColor(Property prop) const
+ {
+ const auto &val = properties[prop];
+ FATAL_ERROR_IF(val.empty(), "Unexpected missing property");
+
+ video::SColor color;
+ parseColorString(val, color, false, 0xFF);
+ return color;
+ }
+
+ bool getBool(Property prop, bool def) const
+ {
+ const auto &val = properties[prop];
+ if (val.empty()) {
+ return def;
+ }
+
+ return is_yes(val);
+ }
+
+ inline bool isNotDefault(Property prop) const
+ {
+ return !properties[prop].empty();
+ }
+
+ inline bool hasProperty(Property prop) const { return property_set[prop]; }
+
+ StyleSpec &operator|=(const StyleSpec &other)
+ {
+ for (size_t i = 0; i < NUM_PROPERTIES; i++) {
+ auto prop = (Property)i;
+ if (other.hasProperty(prop)) {
+ set(prop, other.get(prop, ""));
+ }
+ }
+
+ return *this;
+ }
+
+ StyleSpec operator|(const StyleSpec &other) const
+ {
+ StyleSpec newspec = *this;
+ newspec |= other;
+ return newspec;
+ }
+};
diff --git a/src/gui/guiButton.cpp b/src/gui/guiButton.cpp
new file mode 100644
index 000000000..60d330f4a
--- /dev/null
+++ b/src/gui/guiButton.cpp
@@ -0,0 +1,649 @@
+// Copyright (C) 2002-2012 Nikolaus Gebhardt
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in irrlicht.h
+
+#include "guiButton.h"
+
+
+#include "IGUISkin.h"
+#include "IGUIEnvironment.h"
+#include "IVideoDriver.h"
+#include "IGUIFont.h"
+#include "porting.h"
+
+using namespace irr;
+using namespace gui;
+
+//! constructor
+GUIButton::GUIButton(IGUIEnvironment* environment, IGUIElement* parent,
+ s32 id, core::rect<s32> rectangle, bool noclip)
+: IGUIButton(environment, parent, id, rectangle),
+ SpriteBank(0), OverrideFont(0),
+ OverrideColorEnabled(false), OverrideColor(video::SColor(101,255,255,255)),
+ ClickTime(0), HoverTime(0), FocusTime(0),
+ ClickShiftState(false), ClickControlState(false),
+ IsPushButton(false), Pressed(false),
+ UseAlphaChannel(false), DrawBorder(true), ScaleImage(false)
+{
+ setNotClipped(noclip);
+
+ // This element can be tabbed.
+ setTabStop(true);
+ setTabOrder(-1);
+
+ // PATCH
+ for (size_t i = 0; i < 4; i++) {
+ Colors[i] = Environment->getSkin()->getColor((EGUI_DEFAULT_COLOR)i);
+ }
+ // END PATCH
+}
+
+//! destructor
+GUIButton::~GUIButton()
+{
+ if (OverrideFont)
+ OverrideFont->drop();
+
+ if (SpriteBank)
+ SpriteBank->drop();
+}
+
+
+//! Sets if the images should be scaled to fit the button
+void GUIButton::setScaleImage(bool scaleImage)
+{
+ ScaleImage = scaleImage;
+}
+
+
+//! Returns whether the button scale the used images
+bool GUIButton::isScalingImage() const
+{
+ return ScaleImage;
+}
+
+
+//! Sets if the button should use the skin to draw its border
+void GUIButton::setDrawBorder(bool border)
+{
+ DrawBorder = border;
+}
+
+
+void GUIButton::setSpriteBank(IGUISpriteBank* sprites)
+{
+ if (sprites)
+ sprites->grab();
+
+ if (SpriteBank)
+ SpriteBank->drop();
+
+ SpriteBank = sprites;
+}
+
+void GUIButton::setSprite(EGUI_BUTTON_STATE state, s32 index, video::SColor color, bool loop, bool scale)
+{
+ ButtonSprites[(u32)state].Index = index;
+ ButtonSprites[(u32)state].Color = color;
+ ButtonSprites[(u32)state].Loop = loop;
+ ButtonSprites[(u32)state].Scale = scale;
+}
+
+//! Get the sprite-index for the given state or -1 when no sprite is set
+s32 GUIButton::getSpriteIndex(EGUI_BUTTON_STATE state) const
+{
+ return ButtonSprites[(u32)state].Index;
+}
+
+//! Get the sprite color for the given state. Color is only used when a sprite is set.
+video::SColor GUIButton::getSpriteColor(EGUI_BUTTON_STATE state) const
+{
+ return ButtonSprites[(u32)state].Color;
+}
+
+//! Returns if the sprite in the given state does loop
+bool GUIButton::getSpriteLoop(EGUI_BUTTON_STATE state) const
+{
+ return ButtonSprites[(u32)state].Loop;
+}
+
+//! Returns if the sprite in the given state is scaled
+bool GUIButton::getSpriteScale(EGUI_BUTTON_STATE state) const
+{
+ return ButtonSprites[(u32)state].Scale;
+}
+
+//! called if an event happened.
+bool GUIButton::OnEvent(const SEvent& event)
+{
+ if (!isEnabled())
+ return IGUIElement::OnEvent(event);
+
+ switch(event.EventType)
+ {
+ case EET_KEY_INPUT_EVENT:
+ if (event.KeyInput.PressedDown &&
+ (event.KeyInput.Key == KEY_RETURN || event.KeyInput.Key == KEY_SPACE))
+ {
+ if (!IsPushButton)
+ setPressed(true);
+ else
+ setPressed(!Pressed);
+
+ return true;
+ }
+ if (Pressed && !IsPushButton && event.KeyInput.PressedDown && event.KeyInput.Key == KEY_ESCAPE)
+ {
+ setPressed(false);
+ return true;
+ }
+ else
+ if (!event.KeyInput.PressedDown && Pressed &&
+ (event.KeyInput.Key == KEY_RETURN || event.KeyInput.Key == KEY_SPACE))
+ {
+
+ if (!IsPushButton)
+ setPressed(false);
+
+ if (Parent)
+ {
+ ClickShiftState = event.KeyInput.Shift;
+ ClickControlState = event.KeyInput.Control;
+
+ SEvent newEvent;
+ newEvent.EventType = EET_GUI_EVENT;
+ newEvent.GUIEvent.Caller = this;
+ newEvent.GUIEvent.Element = 0;
+ newEvent.GUIEvent.EventType = EGET_BUTTON_CLICKED;
+ Parent->OnEvent(newEvent);
+ }
+ return true;
+ }
+ break;
+ case EET_GUI_EVENT:
+ if (event.GUIEvent.Caller == this)
+ {
+ if (event.GUIEvent.EventType == EGET_ELEMENT_FOCUS_LOST)
+ {
+ if (!IsPushButton)
+ setPressed(false);
+ FocusTime = (u32)porting::getTimeMs();
+ }
+ else if (event.GUIEvent.EventType == EGET_ELEMENT_FOCUSED)
+ {
+ FocusTime = (u32)porting::getTimeMs();
+ }
+ else if (event.GUIEvent.EventType == EGET_ELEMENT_HOVERED || event.GUIEvent.EventType == EGET_ELEMENT_LEFT)
+ {
+ HoverTime = (u32)porting::getTimeMs();
+ }
+ }
+ break;
+ case EET_MOUSE_INPUT_EVENT:
+ if (event.MouseInput.Event == EMIE_LMOUSE_PRESSED_DOWN)
+ {
+ if (!IsPushButton)
+ setPressed(true);
+
+ return true;
+ }
+ else
+ if (event.MouseInput.Event == EMIE_LMOUSE_LEFT_UP)
+ {
+ bool wasPressed = Pressed;
+
+ if ( !AbsoluteClippingRect.isPointInside( core::position2d<s32>(event.MouseInput.X, event.MouseInput.Y ) ) )
+ {
+ if (!IsPushButton)
+ setPressed(false);
+ return true;
+ }
+
+ if (!IsPushButton)
+ setPressed(false);
+ else
+ {
+ setPressed(!Pressed);
+ }
+
+ if ((!IsPushButton && wasPressed && Parent) ||
+ (IsPushButton && wasPressed != Pressed))
+ {
+ ClickShiftState = event.MouseInput.Shift;
+ ClickControlState = event.MouseInput.Control;
+
+ SEvent newEvent;
+ newEvent.EventType = EET_GUI_EVENT;
+ newEvent.GUIEvent.Caller = this;
+ newEvent.GUIEvent.Element = 0;
+ newEvent.GUIEvent.EventType = EGET_BUTTON_CLICKED;
+ Parent->OnEvent(newEvent);
+ }
+
+ return true;
+ }
+ break;
+ default:
+ break;
+ }
+
+ return Parent ? Parent->OnEvent(event) : false;
+}
+
+
+//! draws the element and its children
+void GUIButton::draw()
+{
+ if (!IsVisible)
+ return;
+
+ // PATCH
+ GUISkin* skin = dynamic_cast<GUISkin*>(Environment->getSkin());
+ video::IVideoDriver* driver = Environment->getVideoDriver();
+ // END PATCH
+
+ if (DrawBorder)
+ {
+ if (!Pressed)
+ {
+ // PATCH
+ skin->drawColored3DButtonPaneStandard(this, AbsoluteRect, &AbsoluteClippingRect, Colors);
+ // END PATCH
+ }
+ else
+ {
+ // PATCH
+ skin->drawColored3DButtonPanePressed(this, AbsoluteRect, &AbsoluteClippingRect, Colors);
+ // END PATCH
+ }
+ }
+
+ const core::position2di buttonCenter(AbsoluteRect.getCenter());
+ EGUI_BUTTON_IMAGE_STATE imageState = getImageState(Pressed);
+ if ( ButtonImages[(u32)imageState].Texture )
+ {
+ core::position2d<s32> pos(buttonCenter);
+ core::rect<s32> sourceRect(ButtonImages[(u32)imageState].SourceRect);
+ if ( sourceRect.getWidth() == 0 && sourceRect.getHeight() == 0 )
+ sourceRect = core::rect<s32>(core::position2di(0,0), ButtonImages[(u32)imageState].Texture->getOriginalSize());
+
+ pos.X -= sourceRect.getWidth() / 2;
+ pos.Y -= sourceRect.getHeight() / 2;
+
+ if ( Pressed )
+ {
+ // Create a pressed-down effect by moving the image when it looks identical to the unpressed state image
+ EGUI_BUTTON_IMAGE_STATE unpressedState = getImageState(false);
+ if ( unpressedState == imageState || ButtonImages[(u32)imageState] == ButtonImages[(u32)unpressedState] )
+ {
+ pos.X += skin->getSize(EGDS_BUTTON_PRESSED_IMAGE_OFFSET_X);
+ pos.Y += skin->getSize(EGDS_BUTTON_PRESSED_IMAGE_OFFSET_Y);
+ }
+ }
+
+ driver->draw2DImage(ButtonImages[(u32)imageState].Texture,
+ ScaleImage? AbsoluteRect : core::rect<s32>(pos, sourceRect.getSize()),
+ sourceRect, &AbsoluteClippingRect,
+ 0, UseAlphaChannel);
+ }
+
+ if (SpriteBank)
+ {
+ core::position2di pos(buttonCenter);
+
+ if (isEnabled())
+ {
+ // pressed / unpressed animation
+ EGUI_BUTTON_STATE state = Pressed ? EGBS_BUTTON_DOWN : EGBS_BUTTON_UP;
+ drawSprite(state, ClickTime, pos);
+
+ // focused / unfocused animation
+ state = Environment->hasFocus(this) ? EGBS_BUTTON_FOCUSED : EGBS_BUTTON_NOT_FOCUSED;
+ drawSprite(state, FocusTime, pos);
+
+ // mouse over / off animation
+ state = Environment->getHovered() == this ? EGBS_BUTTON_MOUSE_OVER : EGBS_BUTTON_MOUSE_OFF;
+ drawSprite(state, HoverTime, pos);
+ }
+ else
+ {
+ // draw disabled
+// drawSprite(EGBS_BUTTON_DISABLED, 0, pos);
+ }
+ }
+
+ if (Text.size())
+ {
+ IGUIFont* font = getActiveFont();
+
+ core::rect<s32> rect = AbsoluteRect;
+ if (Pressed)
+ {
+ rect.UpperLeftCorner.X += skin->getSize(EGDS_BUTTON_PRESSED_TEXT_OFFSET_X);
+ rect.UpperLeftCorner.Y += skin->getSize(EGDS_BUTTON_PRESSED_TEXT_OFFSET_Y);
+ }
+
+ if (font)
+ font->draw(Text.c_str(), rect,
+ OverrideColorEnabled ? OverrideColor : skin->getColor(isEnabled() ? EGDC_BUTTON_TEXT : EGDC_GRAY_TEXT),
+ true, true, &AbsoluteClippingRect);
+ }
+
+ IGUIElement::draw();
+}
+
+void GUIButton::drawSprite(EGUI_BUTTON_STATE state, u32 startTime, const core::position2di& center)
+{
+ u32 stateIdx = (u32)state;
+
+ if (ButtonSprites[stateIdx].Index != -1)
+ {
+ if ( ButtonSprites[stateIdx].Scale )
+ {
+ const video::SColor colors[] = {ButtonSprites[stateIdx].Color,ButtonSprites[stateIdx].Color,ButtonSprites[stateIdx].Color,ButtonSprites[stateIdx].Color};
+ SpriteBank->draw2DSprite(ButtonSprites[stateIdx].Index, AbsoluteRect.UpperLeftCorner,
+ &AbsoluteClippingRect, colors[0], // FIXME: remove [0]
+ porting::getTimeMs()-startTime, ButtonSprites[stateIdx].Loop);
+ }
+ else
+ {
+ SpriteBank->draw2DSprite(ButtonSprites[stateIdx].Index, center,
+ &AbsoluteClippingRect, ButtonSprites[stateIdx].Color, startTime, porting::getTimeMs(),
+ ButtonSprites[stateIdx].Loop, true);
+ }
+ }
+}
+
+EGUI_BUTTON_IMAGE_STATE GUIButton::getImageState(bool pressed) const
+{
+ // figure state we should have
+ EGUI_BUTTON_IMAGE_STATE state = EGBIS_IMAGE_DISABLED;
+ bool focused = Environment->hasFocus((IGUIElement*)this);
+ bool mouseOver = static_cast<const IGUIElement*>(Environment->getHovered()) == this; // (static cast for Borland)
+ if (isEnabled())
+ {
+ if ( pressed )
+ {
+ if ( focused && mouseOver )
+ state = EGBIS_IMAGE_DOWN_FOCUSED_MOUSEOVER;
+ else if ( focused )
+ state = EGBIS_IMAGE_DOWN_FOCUSED;
+ else if ( mouseOver )
+ state = EGBIS_IMAGE_DOWN_MOUSEOVER;
+ else
+ state = EGBIS_IMAGE_DOWN;
+ }
+ else // !pressed
+ {
+ if ( focused && mouseOver )
+ state = EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER;
+ else if ( focused )
+ state = EGBIS_IMAGE_UP_FOCUSED;
+ else if ( mouseOver )
+ state = EGBIS_IMAGE_UP_MOUSEOVER;
+ else
+ state = EGBIS_IMAGE_UP;
+ }
+ }
+
+ // find a compatible state that has images
+ while ( state != EGBIS_IMAGE_UP && !ButtonImages[(u32)state].Texture )
+ {
+ switch ( state )
+ {
+ case EGBIS_IMAGE_UP_FOCUSED:
+ state = EGBIS_IMAGE_UP_MOUSEOVER;
+ break;
+ case EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER:
+ state = EGBIS_IMAGE_UP_FOCUSED;
+ break;
+ case EGBIS_IMAGE_DOWN_MOUSEOVER:
+ state = EGBIS_IMAGE_DOWN;
+ break;
+ case EGBIS_IMAGE_DOWN_FOCUSED:
+ state = EGBIS_IMAGE_DOWN_MOUSEOVER;
+ break;
+ case EGBIS_IMAGE_DOWN_FOCUSED_MOUSEOVER:
+ state = EGBIS_IMAGE_DOWN_FOCUSED;
+ break;
+ case EGBIS_IMAGE_DISABLED:
+ if ( pressed )
+ state = EGBIS_IMAGE_DOWN;
+ else
+ state = EGBIS_IMAGE_UP;
+ break;
+ default:
+ state = EGBIS_IMAGE_UP;
+ }
+ }
+
+ return state;
+}
+
+//! sets another skin independent font. if this is set to zero, the button uses the font of the skin.
+void GUIButton::setOverrideFont(IGUIFont* font)
+{
+ if (OverrideFont == font)
+ return;
+
+ if (OverrideFont)
+ OverrideFont->drop();
+
+ OverrideFont = font;
+
+ if (OverrideFont)
+ OverrideFont->grab();
+}
+
+//! Gets the override font (if any)
+IGUIFont * GUIButton::getOverrideFont() const
+{
+ return OverrideFont;
+}
+
+//! Get the font which is used right now for drawing
+IGUIFont* GUIButton::getActiveFont() const
+{
+ if ( OverrideFont )
+ return OverrideFont;
+ IGUISkin* skin = Environment->getSkin();
+ if (skin)
+ return skin->getFont(EGDF_BUTTON);
+ return 0;
+}
+
+//! Sets another color for the text.
+void GUIButton::setOverrideColor(video::SColor color)
+{
+ OverrideColor = color;
+ OverrideColorEnabled = true;
+}
+
+video::SColor GUIButton::getOverrideColor() const
+{
+ return OverrideColor;
+}
+
+void GUIButton::enableOverrideColor(bool enable)
+{
+ OverrideColorEnabled = enable;
+}
+
+bool GUIButton::isOverrideColorEnabled() const
+{
+ return OverrideColorEnabled;
+}
+
+void GUIButton::setImage(EGUI_BUTTON_IMAGE_STATE state, video::ITexture* image, const core::rect<s32>& sourceRect)
+{
+ if ( state >= EGBIS_COUNT )
+ return;
+
+ if ( image )
+ image->grab();
+
+ u32 stateIdx = (u32)state;
+ if ( ButtonImages[stateIdx].Texture )
+ ButtonImages[stateIdx].Texture->drop();
+
+ ButtonImages[stateIdx].Texture = image;
+ ButtonImages[stateIdx].SourceRect = sourceRect;
+}
+
+//! Sets if the button should behave like a push button. Which means it
+//! can be in two states: Normal or Pressed. With a click on the button,
+//! the user can change the state of the button.
+void GUIButton::setIsPushButton(bool isPushButton)
+{
+ IsPushButton = isPushButton;
+}
+
+
+//! Returns if the button is currently pressed
+bool GUIButton::isPressed() const
+{
+ return Pressed;
+}
+
+
+//! Sets the pressed state of the button if this is a pushbutton
+void GUIButton::setPressed(bool pressed)
+{
+ if (Pressed != pressed)
+ {
+ ClickTime = porting::getTimeMs();
+ Pressed = pressed;
+ }
+}
+
+
+//! Returns whether the button is a push button
+bool GUIButton::isPushButton() const
+{
+ return IsPushButton;
+}
+
+
+//! Sets if the alpha channel should be used for drawing images on the button (default is false)
+void GUIButton::setUseAlphaChannel(bool useAlphaChannel)
+{
+ UseAlphaChannel = useAlphaChannel;
+}
+
+
+//! Returns if the alpha channel should be used for drawing images on the button
+bool GUIButton::isAlphaChannelUsed() const
+{
+ return UseAlphaChannel;
+}
+
+
+bool GUIButton::isDrawingBorder() const
+{
+ return DrawBorder;
+}
+
+
+//! Writes attributes of the element.
+void GUIButton::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const
+{
+ IGUIButton::serializeAttributes(out,options);
+
+ out->addBool ("PushButton", IsPushButton );
+ if (IsPushButton)
+ out->addBool("Pressed", Pressed);
+
+ for ( u32 i=0; i<(u32)EGBIS_COUNT; ++i )
+ {
+ if ( ButtonImages[i].Texture )
+ {
+ core::stringc name( GUIButtonImageStateNames[i] );
+ out->addTexture(name.c_str(), ButtonImages[i].Texture);
+ name += "Rect";
+ out->addRect(name.c_str(), ButtonImages[i].SourceRect);
+ }
+ }
+
+ out->addBool ("UseAlphaChannel", UseAlphaChannel);
+ out->addBool ("Border", DrawBorder);
+ out->addBool ("ScaleImage", ScaleImage);
+
+ for ( u32 i=0; i<(u32)EGBS_COUNT; ++i )
+ {
+ if ( ButtonSprites[i].Index >= 0 )
+ {
+ core::stringc nameIndex( GUIButtonStateNames[i] );
+ nameIndex += "Index";
+ out->addInt(nameIndex.c_str(), ButtonSprites[i].Index );
+
+ core::stringc nameColor( GUIButtonStateNames[i] );
+ nameColor += "Color";
+ out->addColor(nameColor.c_str(), ButtonSprites[i].Color );
+
+ core::stringc nameLoop( GUIButtonStateNames[i] );
+ nameLoop += "Loop";
+ out->addBool(nameLoop.c_str(), ButtonSprites[i].Loop );
+
+ core::stringc nameScale( GUIButtonStateNames[i] );
+ nameScale += "Scale";
+ out->addBool(nameScale.c_str(), ButtonSprites[i].Scale );
+ }
+ }
+
+ // out->addString ("OverrideFont", OverrideFont);
+}
+
+
+//! Reads attributes of the element
+void GUIButton::deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0)
+{
+ IGUIButton::deserializeAttributes(in,options);
+
+ IsPushButton = in->getAttributeAsBool("PushButton");
+ Pressed = IsPushButton ? in->getAttributeAsBool("Pressed") : false;
+
+ core::rect<s32> rec = in->getAttributeAsRect("ImageRect");
+ if (rec.isValid())
+ setImage( in->getAttributeAsTexture("Image"), rec);
+ else
+ setImage( in->getAttributeAsTexture("Image") );
+
+ rec = in->getAttributeAsRect("PressedImageRect");
+ if (rec.isValid())
+ setPressedImage( in->getAttributeAsTexture("PressedImage"), rec);
+ else
+ setPressedImage( in->getAttributeAsTexture("PressedImage") );
+
+ setDrawBorder(in->getAttributeAsBool("Border"));
+ setUseAlphaChannel(in->getAttributeAsBool("UseAlphaChannel"));
+ setScaleImage(in->getAttributeAsBool("ScaleImage"));
+
+ // setOverrideFont(in->getAttributeAsString("OverrideFont"));
+
+ updateAbsolutePosition();
+}
+
+// PATCH
+GUIButton* GUIButton::addButton(IGUIEnvironment *environment, const core::rect<s32>& rectangle,
+ IGUIElement* parent, s32 id, const wchar_t* text, const wchar_t *tooltiptext)
+{
+ GUIButton* button = new GUIButton(environment, parent ? parent : environment->getRootGUIElement(), id, rectangle);
+ if (text)
+ button->setText(text);
+
+ if ( tooltiptext )
+ button->setToolTipText ( tooltiptext );
+
+ button->drop();
+ return button;
+}
+
+void GUIButton::setColor(video::SColor color)
+{
+ float d = 0.65f;
+ for (size_t i = 0; i < 4; i++) {
+ video::SColor base = Environment->getSkin()->getColor((gui::EGUI_DEFAULT_COLOR)i);
+ Colors[i] = base.getInterpolated(color, d);
+ }
+}
+// END PATCH
diff --git a/src/gui/guiButton.h b/src/gui/guiButton.h
new file mode 100644
index 000000000..63e29ccfc
--- /dev/null
+++ b/src/gui/guiButton.h
@@ -0,0 +1,310 @@
+// Copyright (C) 2002-2012 Nikolaus Gebhardt
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in irrlicht.h
+
+#pragma once
+
+#include "IrrCompileConfig.h"
+
+#include "IGUIButton.h"
+#include "IGUISpriteBank.h"
+#include "ITexture.h"
+#include "SColor.h"
+#include "guiSkin.h"
+
+using namespace irr;
+
+#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR <= 8)
+ namespace irr { namespace gui {
+
+ //! State of buttons used for drawing texture images.
+ //! Note that only a single state is active at a time
+ //! Also when no image is defined for a state it will use images from another state
+ //! and if that state is not set from the replacement for that,etc.
+ //! So in many cases setting EGBIS_IMAGE_UP and EGBIS_IMAGE_DOWN is sufficient.
+ enum EGUI_BUTTON_IMAGE_STATE {
+ //! When no other states have images they will all use this one.
+ EGBIS_IMAGE_UP,
+ //! When not set EGBIS_IMAGE_UP is used.
+ EGBIS_IMAGE_UP_MOUSEOVER,
+ //! When not set EGBIS_IMAGE_UP_MOUSEOVER is used.
+ EGBIS_IMAGE_UP_FOCUSED,
+ //! When not set EGBIS_IMAGE_UP_FOCUSED is used.
+ EGBIS_IMAGE_UP_FOCUSED_MOUSEOVER,
+ //! When not set EGBIS_IMAGE_UP is used.
+ EGBIS_IMAGE_DOWN,
+ //! When not set EGBIS_IMAGE_DOWN is used.
+ EGBIS_IMAGE_DOWN_MOUSEOVER,
+ //! When not set EGBIS_IMAGE_DOWN_MOUSEOVER is used.
+ EGBIS_IMAGE_DOWN_FOCUSED,
+ //! When not set EGBIS_IMAGE_DOWN_FOCUSED is used.
+ EGBIS_IMAGE_DOWN_FOCUSED_MOUSEOVER,
+ //! When not set EGBIS_IMAGE_UP or EGBIS_IMAGE_DOWN are used (depending on button state).
+ EGBIS_IMAGE_DISABLED,
+ //! not used, counts the number of enumerated items
+ EGBIS_COUNT
+ };
+
+ //! Names for gui button image states
+ const c8 *const GUIButtonImageStateNames[EGBIS_COUNT + 1] =
+ {
+ "Image", // not "ImageUp" as it otherwise breaks serialization of old files
+ "ImageUpOver",
+ "ImageUpFocused",
+ "ImageUpFocusedOver",
+ "PressedImage", // not "ImageDown" as it otherwise breaks serialization of old files
+ "ImageDownOver",
+ "ImageDownFocused",
+ "ImageDownFocusedOver",
+ "ImageDisabled",
+ 0 // count
+ };
+
+ }}
+
+#endif
+
+class GUIButton : public gui::IGUIButton
+{
+public:
+
+ //! constructor
+ GUIButton(gui::IGUIEnvironment* environment, gui::IGUIElement* parent,
+ s32 id, core::rect<s32> rectangle, bool noclip=false);
+
+ //! destructor
+ virtual ~GUIButton();
+
+ //! called if an event happened.
+ virtual bool OnEvent(const SEvent& event) override;
+
+ //! draws the element and its children
+ virtual void draw() override;
+
+ //! sets another skin independent font. if this is set to zero, the button uses the font of the skin.
+ virtual void setOverrideFont(gui::IGUIFont* font=0) override;
+
+ //! Gets the override font (if any)
+ virtual gui::IGUIFont* getOverrideFont() const override;
+
+ //! Get the font which is used right now for drawing
+ virtual gui::IGUIFont* getActiveFont() const override;
+
+ //! Sets another color for the button text.
+ virtual void setOverrideColor(video::SColor color);
+
+ //! Gets the override color
+ virtual video::SColor getOverrideColor(void) const;
+
+ //! Sets if the button text should use the override color or the color in the gui skin.
+ virtual void enableOverrideColor(bool enable);
+
+ //! Checks if an override color is enabled
+ virtual bool isOverrideColorEnabled(void) const;
+
+ //! Sets an image which should be displayed on the button when it is in the given state.
+ virtual void setImage(gui::EGUI_BUTTON_IMAGE_STATE state,
+ video::ITexture* image=0,
+ const core::rect<s32>& sourceRect=core::rect<s32>(0,0,0,0));
+
+ //! Sets an image which should be displayed on the button when it is in normal state.
+ virtual void setImage(video::ITexture* image=0) override
+ {
+ setImage(gui::EGBIS_IMAGE_UP, image);
+ }
+
+ //! Sets an image which should be displayed on the button when it is in normal state.
+ virtual void setImage(video::ITexture* image, const core::rect<s32>& pos) override
+ {
+ setImage(gui::EGBIS_IMAGE_UP, image, pos);
+ }
+
+ //! Sets an image which should be displayed on the button when it is in pressed state.
+ virtual void setPressedImage(video::ITexture* image=0) override
+ {
+ setImage(gui::EGBIS_IMAGE_DOWN, image);
+ }
+
+ //! Sets an image which should be displayed on the button when it is in pressed state.
+ virtual void setPressedImage(video::ITexture* image, const core::rect<s32>& pos) override
+ {
+ setImage(gui::EGBIS_IMAGE_DOWN, image, pos);
+ }
+
+ //! Sets the sprite bank used by the button
+ virtual void setSpriteBank(gui::IGUISpriteBank* bank=0) override;
+
+ //! Sets the animated sprite for a specific button state
+ /** \param index: Number of the sprite within the sprite bank, use -1 for no sprite
+ \param state: State of the button to set the sprite for
+ \param index: The sprite number from the current sprite bank
+ \param color: The color of the sprite
+ */
+ virtual void setSprite(gui::EGUI_BUTTON_STATE state, s32 index,
+ video::SColor color=video::SColor(255,255,255,255),
+ bool loop=false, bool scale=false);
+
+#if (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR <= 8)
+ void setSprite(gui::EGUI_BUTTON_STATE state, s32 index, video::SColor color, bool loop) override {
+ setSprite(state, index, color, loop, false);
+ }
+#endif
+
+ //! Get the sprite-index for the given state or -1 when no sprite is set
+ virtual s32 getSpriteIndex(gui::EGUI_BUTTON_STATE state) const;
+
+ //! Get the sprite color for the given state. Color is only used when a sprite is set.
+ virtual video::SColor getSpriteColor(gui::EGUI_BUTTON_STATE state) const;
+
+ //! Returns if the sprite in the given state does loop
+ virtual bool getSpriteLoop(gui::EGUI_BUTTON_STATE state) const;
+
+ //! Returns if the sprite in the given state is scaled
+ virtual bool getSpriteScale(gui::EGUI_BUTTON_STATE state) const;
+
+ //! Sets if the button should behave like a push button. Which means it
+ //! can be in two states: Normal or Pressed. With a click on the button,
+ //! the user can change the state of the button.
+ virtual void setIsPushButton(bool isPushButton=true) override;
+
+ //! Checks whether the button is a push button
+ virtual bool isPushButton() const override;
+
+ //! Sets the pressed state of the button if this is a pushbutton
+ virtual void setPressed(bool pressed=true) override;
+
+ //! Returns if the button is currently pressed
+ virtual bool isPressed() const override;
+
+ //! Sets if the button should use the skin to draw its border
+ virtual void setDrawBorder(bool border=true) override;
+
+ //! Checks if the button face and border are being drawn
+ virtual bool isDrawingBorder() const override;
+
+ //! Sets if the alpha channel should be used for drawing images on the button (default is false)
+ virtual void setUseAlphaChannel(bool useAlphaChannel=true) override;
+
+ //! Checks if the alpha channel should be used for drawing images on the button
+ virtual bool isAlphaChannelUsed() const override;
+
+ //! Sets if the button should scale the button images to fit
+ virtual void setScaleImage(bool scaleImage=true) override;
+
+ //! Checks whether the button scales the used images
+ virtual bool isScalingImage() const override;
+
+ //! Get if the shift key was pressed in last EGET_BUTTON_CLICKED event
+ virtual bool getClickShiftState() const
+ {
+ return ClickShiftState;
+ }
+
+ //! Get if the control key was pressed in last EGET_BUTTON_CLICKED event
+ virtual bool getClickControlState() const
+ {
+ return ClickControlState;
+ }
+
+ //! Writes attributes of the element.
+ virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const override;
+
+ //! Reads attributes of the element
+ virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options) override;
+
+
+
+ void setColor(video::SColor color);
+
+
+ //! Do not drop returned handle
+ static GUIButton* addButton(gui::IGUIEnvironment *environment, const core::rect<s32>& rectangle,
+ IGUIElement* parent, s32 id, const wchar_t* text, const wchar_t *tooltiptext=L"");
+
+protected:
+ void drawSprite(gui::EGUI_BUTTON_STATE state, u32 startTime, const core::position2di& center);
+ gui::EGUI_BUTTON_IMAGE_STATE getImageState(bool pressed) const;
+
+private:
+
+ struct ButtonSprite
+ {
+ ButtonSprite() : Index(-1), Loop(false), Scale(false)
+ {
+ }
+
+ bool operator==(const ButtonSprite& other) const
+ {
+ return Index == other.Index && Color == other.Color && Loop == other.Loop && Scale == other.Scale;
+ }
+
+ s32 Index;
+ video::SColor Color;
+ bool Loop;
+ bool Scale;
+ };
+
+ ButtonSprite ButtonSprites[gui::EGBS_COUNT];
+ gui::IGUISpriteBank* SpriteBank;
+
+ struct ButtonImage
+ {
+ ButtonImage() : Texture(0), SourceRect(core::rect<s32>(0,0,0,0))
+ {
+ }
+
+ ButtonImage(const ButtonImage& other) : Texture(0), SourceRect(core::rect<s32>(0,0,0,0))
+ {
+ *this = other;
+ }
+
+ ~ButtonImage()
+ {
+ if ( Texture )
+ Texture->drop();
+ }
+
+ ButtonImage& operator=(const ButtonImage& other)
+ {
+ if ( this == &other )
+ return *this;
+
+ if (other.Texture)
+ other.Texture->grab();
+ if ( Texture )
+ Texture->drop();
+ Texture = other.Texture;
+ SourceRect = other.SourceRect;
+ return *this;
+ }
+
+ bool operator==(const ButtonImage& other) const
+ {
+ return Texture == other.Texture && SourceRect == other.SourceRect;
+ }
+
+
+ video::ITexture* Texture;
+ core::rect<s32> SourceRect;
+ };
+
+ ButtonImage ButtonImages[gui::EGBIS_COUNT];
+
+ gui::IGUIFont* OverrideFont;
+
+ bool OverrideColorEnabled;
+ video::SColor OverrideColor;
+
+ u32 ClickTime, HoverTime, FocusTime;
+
+ bool ClickShiftState;
+ bool ClickControlState;
+
+ bool IsPushButton;
+ bool Pressed;
+ bool UseAlphaChannel;
+ bool DrawBorder;
+ bool ScaleImage;
+
+ video::SColor Colors[4];
+};
diff --git a/src/gui/guiChatConsole.cpp b/src/gui/guiChatConsole.cpp
index 1ccb4e6d1..e67fae3c6 100644
--- a/src/gui/guiChatConsole.cpp
+++ b/src/gui/guiChatConsole.cpp
@@ -77,7 +77,7 @@ GUIChatConsole::GUIChatConsole(
m_font = g_fontengine->getFont(FONT_SIZE_UNSPECIFIED, FM_Mono);
if (!m_font) {
- errorstream << "GUIChatConsole: Unable to load mono font ";
+ errorstream << "GUIChatConsole: Unable to load mono font" << std::endl;
} else {
core::dimension2d<u32> dim = m_font->getDimension(L"M");
m_fontsize = v2u32(dim.Width, dim.Height);
@@ -139,7 +139,7 @@ f32 GUIChatConsole::getDesiredHeight() const
return m_desired_height_fraction;
}
-void GUIChatConsole::replaceAndAddToHistory(std::wstring line)
+void GUIChatConsole::replaceAndAddToHistory(const std::wstring &line)
{
ChatPrompt& prompt = m_chat_backend->getPrompt();
prompt.addToHistory(prompt.getLine());
@@ -322,9 +322,9 @@ void GUIChatConsole::drawText()
core::rect<s32> destrect(
x, y, x + m_fontsize.X * fragment.text.size(), y + m_fontsize.Y);
-
- #if USE_FREETYPE
- // Draw colored text if FreeType is enabled
+#if USE_FREETYPE
+ if (m_font->getType() == irr::gui::EGFT_CUSTOM) {
+ // Draw colored text if FreeType is enabled
irr::gui::CGUITTFont *tmp = dynamic_cast<irr::gui::CGUITTFont *>(m_font);
tmp->draw(
fragment.text,
@@ -333,8 +333,10 @@ void GUIChatConsole::drawText()
false,
false,
&AbsoluteClippingRect);
- #else
- // Otherwise use standard text
+ } else
+#endif
+ {
+ // Otherwise use standard text
m_font->draw(
fragment.text.c_str(),
destrect,
@@ -342,7 +344,7 @@ void GUIChatConsole::drawText()
false,
false,
&AbsoluteClippingRect);
- #endif
+ }
}
}
}
diff --git a/src/gui/guiChatConsole.h b/src/gui/guiChatConsole.h
index ef8a87673..7be40e27c 100644
--- a/src/gui/guiChatConsole.h
+++ b/src/gui/guiChatConsole.h
@@ -60,7 +60,7 @@ public:
f32 getDesiredHeight() const;
// Replace actual line when adding the actual to the history (if there is any)
- void replaceAndAddToHistory(std::wstring line);
+ void replaceAndAddToHistory(const std::wstring &line);
// Change how the cursor looks
void setCursor(
diff --git a/src/gui/guiConfirmRegistration.cpp b/src/gui/guiConfirmRegistration.cpp
index 6e6b7ad16..6fe2a4fc4 100644
--- a/src/gui/guiConfirmRegistration.cpp
+++ b/src/gui/guiConfirmRegistration.cpp
@@ -38,10 +38,10 @@ const int ID_cancel = 265;
GUIConfirmRegistration::GUIConfirmRegistration(gui::IGUIEnvironment *env,
gui::IGUIElement *parent, s32 id, IMenuManager *menumgr, Client *client,
const std::string &playername, const std::string &password,
- const std::string &address, bool *aborted) :
+ bool *aborted) :
GUIModalMenu(env, parent, id, menumgr),
m_client(client), m_playername(playername), m_password(password),
- m_address(address), m_aborted(aborted)
+ m_aborted(aborted)
{
#ifdef __ANDROID__
m_touchscreen_visible = false;
@@ -62,6 +62,7 @@ void GUIConfirmRegistration::removeChildren()
for (gui::IGUIElement *i : children_copy)
i->remove();
}
+
void GUIConfirmRegistration::regenerateGui(v2u32 screensize)
{
acceptInput();
@@ -119,6 +120,7 @@ void GUIConfirmRegistration::regenerateGui(v2u32 screensize)
gui::IGUIEditBox *e = Environment->addEditBox(m_pass_confirm.c_str(),
rect2, true, this, ID_confirmPassword);
e->setPasswordBox(true);
+ Environment->setFocus(e);
}
ypos += 60 * s;
@@ -218,8 +220,7 @@ bool GUIConfirmRegistration::OnEvent(const SEvent &event)
if (event.GUIEvent.EventType == gui::EGET_ELEMENT_FOCUS_LOST && isVisible()) {
if (!canTakeFocus(event.GUIEvent.Element)) {
- dstream << "GUIConfirmRegistration: Not allowing focus "
- "change."
+ dstream << "GUIConfirmRegistration: Not allowing focus change."
<< std::endl;
// Returning true disables focus change
return true;
diff --git a/src/gui/guiConfirmRegistration.h b/src/gui/guiConfirmRegistration.h
index 2f2066c21..42c07e4ed 100644
--- a/src/gui/guiConfirmRegistration.h
+++ b/src/gui/guiConfirmRegistration.h
@@ -32,7 +32,7 @@ public:
GUIConfirmRegistration(gui::IGUIEnvironment *env, gui::IGUIElement *parent,
s32 id, IMenuManager *menumgr, Client *client,
const std::string &playername, const std::string &password,
- const std::string &address, bool *aborted);
+ bool *aborted);
~GUIConfirmRegistration();
void removeChildren();
@@ -61,7 +61,6 @@ private:
Client *m_client = nullptr;
const std::string &m_playername;
const std::string &m_password;
- const std::string &m_address;
bool *m_aborted = nullptr;
std::wstring m_pass_confirm = L"";
};
diff --git a/src/gui/guiEditBoxWithScrollbar.cpp b/src/gui/guiEditBoxWithScrollbar.cpp
index 4a821c7b4..2f909f54f 100644
--- a/src/gui/guiEditBoxWithScrollbar.cpp
+++ b/src/gui/guiEditBoxWithScrollbar.cpp
@@ -13,7 +13,6 @@
#include "porting.h"
#include "Keycodes.h"
-
/*
todo:
optional scrollbars [done]
@@ -76,7 +75,8 @@ GUIEditBoxWithScrollBar::~GUIEditBoxWithScrollBar()
if (m_operator)
m_operator->drop();
- m_vscrollbar->remove();
+ if (m_vscrollbar)
+ m_vscrollbar->drop();
}
@@ -1400,7 +1400,9 @@ void GUIEditBoxWithScrollBar::createVScrollBar()
irr::core::rect<s32> scrollbarrect = m_frame_rect;
scrollbarrect.UpperLeftCorner.X += m_frame_rect.getWidth() - m_scrollbar_width;
- m_vscrollbar = Environment->addScrollBar(false, scrollbarrect, getParent(), getID());
+ m_vscrollbar = new GUIScrollBar(Environment, getParent(), -1,
+ scrollbarrect, false, true);
+
m_vscrollbar->setVisible(false);
m_vscrollbar->setSmallStep(1);
m_vscrollbar->setLargeStep(1);
@@ -1422,6 +1424,7 @@ void GUIEditBoxWithScrollBar::updateVScrollBar()
if (scrollymax != m_vscrollbar->getMax()) {
// manage a newline or a deleted line
m_vscrollbar->setMax(scrollymax);
+ m_vscrollbar->setPageSize(s32(getTextDimension().Height));
calculateScrollPos();
} else {
// manage a newline or a deleted line
@@ -1436,6 +1439,7 @@ void GUIEditBoxWithScrollBar::updateVScrollBar()
s32 scrollymax = getTextDimension().Height - m_frame_rect.getHeight();
if (scrollymax != m_vscrollbar->getMax()) {
m_vscrollbar->setMax(scrollymax);
+ m_vscrollbar->setPageSize(s32(getTextDimension().Height));
}
if (!m_vscrollbar->isVisible()) {
@@ -1448,10 +1452,10 @@ void GUIEditBoxWithScrollBar::updateVScrollBar()
m_vscroll_pos = 0;
m_vscrollbar->setPos(0);
m_vscrollbar->setMax(1);
+ m_vscrollbar->setPageSize(s32(getTextDimension().Height));
}
}
-
}
//! set true if this editbox is writable
diff --git a/src/gui/guiEditBoxWithScrollbar.h b/src/gui/guiEditBoxWithScrollbar.h
index cedffd82f..77538e2f7 100644
--- a/src/gui/guiEditBoxWithScrollbar.h
+++ b/src/gui/guiEditBoxWithScrollbar.h
@@ -7,7 +7,7 @@
#include "IGUIEditBox.h"
#include "IOSOperator.h"
-#include "IGUIScrollBar.h"
+#include "guiScrollBar.h"
#include <vector>
using namespace irr;
@@ -116,7 +116,7 @@ public:
//! Updates the absolute position, splits text if required
virtual void updateAbsolutePosition();
-
+
virtual void setWritable(bool writable);
//! Change the background color
@@ -187,7 +187,7 @@ protected:
core::rect<s32> m_current_text_rect, m_frame_rect; // temporary values
u32 m_scrollbar_width;
- IGUIScrollBar *m_vscrollbar;
+ GUIScrollBar *m_vscrollbar;
bool m_writable;
bool m_bg_color_used;
diff --git a/src/gui/guiEngine.cpp b/src/gui/guiEngine.cpp
index 6030a5bfb..3107d64cd 100644
--- a/src/gui/guiEngine.cpp
+++ b/src/gui/guiEngine.cpp
@@ -39,9 +39,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "client/guiscalingfilter.h"
#include "irrlicht_changes/static_text.h"
-#ifdef __ANDROID__
+#if ENABLE_GLES
#include "client/tile.h"
-#include <GLES/gl.h>
#endif
@@ -78,7 +77,7 @@ video::ITexture *MenuTextureSource::getTexture(const std::string &name, u32 *id)
m_to_delete.insert(name);
-#ifdef __ANDROID__
+#if ENABLE_GLES
video::ITexture *retval = m_driver->findTexture(name.c_str());
if (retval)
return retval;
@@ -391,6 +390,15 @@ void GUIEngine::cloudPostProcess()
}
/******************************************************************************/
+void GUIEngine::setFormspecPrepend(const std::string &fs)
+{
+ if (m_menu) {
+ m_menu->setFormspecPrepend(fs);
+ }
+}
+
+
+/******************************************************************************/
void GUIEngine::drawBackground(video::IVideoDriver *driver)
{
v2u32 screensize = driver->getScreenSize();
@@ -518,7 +526,7 @@ void GUIEngine::drawFooter(video::IVideoDriver *driver)
}
/******************************************************************************/
-bool GUIEngine::setTexture(texture_layer layer, std::string texturepath,
+bool GUIEngine::setTexture(texture_layer layer, const std::string &texturepath,
bool tile_image, unsigned int minsize)
{
video::IVideoDriver *driver = RenderingEngine::get_video_driver();
@@ -593,7 +601,7 @@ void GUIEngine::updateTopLeftTextSize()
}
/******************************************************************************/
-s32 GUIEngine::playSound(SimpleSoundSpec spec, bool looped)
+s32 GUIEngine::playSound(const SimpleSoundSpec &spec, bool looped)
{
s32 handle = m_sound_manager->playSound(spec, looped);
return handle;
@@ -611,4 +619,3 @@ unsigned int GUIEngine::queueAsync(const std::string &serialized_func,
{
return m_script->queueAsync(serialized_func, serialized_params);
}
-
diff --git a/src/gui/guiEngine.h b/src/gui/guiEngine.h
index 409ba94c4..e55531bbc 100644
--- a/src/gui/guiEngine.h
+++ b/src/gui/guiEngine.h
@@ -221,6 +221,8 @@ private:
/** script basefolder */
std::string m_scriptdir = "";
+ void setFormspecPrepend(const std::string &fs);
+
/**
* draw background layer
* @param driver to use for drawing
@@ -247,7 +249,7 @@ private:
* @param layer draw layer to specify texture
* @param texturepath full path of texture to load
*/
- bool setTexture(texture_layer layer, std::string texturepath,
+ bool setTexture(texture_layer layer, const std::string &texturepath,
bool tile_image, unsigned int minsize);
/**
@@ -296,7 +298,7 @@ private:
clouddata m_cloud;
/** start playing a sound and return handle */
- s32 playSound(SimpleSoundSpec spec, bool looped);
+ s32 playSound(const SimpleSoundSpec &spec, bool looped);
/** stop playing a sound started with playSound() */
void stopSound(s32 handle);
diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp
index 6c404728f..aee7da869 100644
--- a/src/gui/guiFormSpecMenu.cpp
+++ b/src/gui/guiFormSpecMenu.cpp
@@ -23,6 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <iterator>
#include <sstream>
#include <limits>
+#include "guiButton.h"
#include "guiFormSpecMenu.h"
#include "guiTable.h"
#include "constants.h"
@@ -66,8 +67,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define MY_CHECKGEOM(a,b) \
if (v_geom.size() != 2) { \
- errorstream<< "Invalid pos for element " << a << "specified: \"" \
- << parts[b] << "\"" << std::endl; \
+ errorstream<< "Invalid geometry for element " << a << \
+ "specified: \"" << parts[b] << "\"" << std::endl; \
return; \
}
/*
@@ -86,7 +87,7 @@ inline u32 clamp_u8(s32 value)
GUIFormSpecMenu::GUIFormSpecMenu(JoystickController *joystick,
gui::IGUIElement *parent, s32 id, IMenuManager *menumgr,
Client *client, ISimpleTextureSource *tsrc, IFormSource *fsrc, TextDest *tdst,
- std::string formspecPrepend,
+ const std::string &formspecPrepend,
bool remap_dbl_click):
GUIModalMenu(RenderingEngine::get_gui_env(), parent, id, menumgr),
m_invmgr(client),
@@ -270,6 +271,25 @@ v2s32 GUIFormSpecMenu::getElementBasePos(bool absolute,
return v2s32(pos_f.X, pos_f.Y);
}
+v2s32 GUIFormSpecMenu::getRealCoordinateBasePos(bool absolute,
+ const std::vector<std::string> &v_pos)
+{
+ v2f32 pos_f = v2f32(0.0f, 0.0f);
+
+ pos_f.X += stof(v_pos[0]) + pos_offset.X;
+ pos_f.Y += stof(v_pos[1]) + pos_offset.Y;
+
+ if (absolute)
+ return v2s32(pos_f.X * imgsize.X + AbsoluteRect.UpperLeftCorner.X,
+ pos_f.Y * imgsize.Y + AbsoluteRect.UpperLeftCorner.Y);
+ return v2s32(pos_f.X * imgsize.X, pos_f.Y * imgsize.Y);
+}
+
+v2s32 GUIFormSpecMenu::getRealCoordinateGeometry(const std::vector<std::string> &v_geom)
+{
+ return v2s32(stof(v_geom[0]) * imgsize.X, stof(v_geom[1]) * imgsize.Y);
+}
+
void GUIFormSpecMenu::parseSize(parserData* data, const std::string &element)
{
std::vector<std::string> parts = split(element,',');
@@ -306,8 +326,8 @@ void GUIFormSpecMenu::parseContainer(parserData* data, const std::string &elemen
parts[1] = parts[1].substr(0, parts[1].find(';'));
container_stack.push(pos_offset);
- pos_offset.X += MYMAX(0, stof(parts[0]));
- pos_offset.Y += MYMAX(0, stof(parts[1]));
+ pos_offset.X += stof(parts[0]);
+ pos_offset.Y += stof(parts[1]);
return;
}
errorstream<< "Invalid container start element (" << parts.size() << "): '" << element << "'" << std::endl;
@@ -348,13 +368,19 @@ void GUIFormSpecMenu::parseList(parserData* data, const std::string &element)
InventoryLocation loc;
- if(location == "context" || location == "current_name")
+ if (location == "context" || location == "current_name")
loc = m_current_inventory_location;
else
loc.deSerialize(location);
- v2s32 pos = getElementBasePos(true, &v_pos);
+ v2s32 pos;
v2s32 geom;
+
+ if (data->real_coordinates)
+ pos = getRealCoordinateBasePos(true, v_pos);
+ else
+ pos = getElementBasePos(true, &v_pos);
+
geom.X = stoi(v_geom[0]);
geom.Y = stoi(v_geom[1]);
@@ -369,7 +395,7 @@ void GUIFormSpecMenu::parseList(parserData* data, const std::string &element)
if(!data->explicit_size)
warningstream<<"invalid use of list without a size[] element"<<std::endl;
- m_inventorylists.emplace_back(loc, listname, pos, geom, start_i);
+ m_inventorylists.emplace_back(loc, listname, pos, geom, start_i, data->real_coordinates);
return;
}
errorstream<< "Invalid list element(" << parts.size() << "): '" << element << "'" << std::endl;
@@ -430,20 +456,37 @@ void GUIFormSpecMenu::parseCheckbox(parserData* data, const std::string &element
MY_CHECKPOS("checkbox",0);
- v2s32 pos = getElementBasePos(false, &v_pos);
-
bool fselected = false;
if (selected == "true")
fselected = true;
std::wstring wlabel = translate_string(utf8_to_wide(unescape_string(label)));
- s32 spacing = Environment->getSkin()->getSize(gui::EGDS_CHECK_BOX_WIDTH) + 7;
+ const core::dimension2d<u32> label_size = m_font->getDimension(wlabel.c_str());
+ s32 cb_size = Environment->getSkin()->getSize(gui::EGDS_CHECK_BOX_WIDTH);
+ s32 y_center = (std::max(label_size.Height, (u32)cb_size) + 1) / 2;
+
+ v2s32 pos;
+ core::rect<s32> rect;
- core::rect<s32> rect = core::rect<s32>(
- pos.X, pos.Y + ((imgsize.Y / 2) - m_btn_height),
- pos.X + m_font->getDimension(wlabel.c_str()).Width + spacing,
- pos.Y + ((imgsize.Y / 2) + m_btn_height));
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+
+ rect = core::rect<s32>(
+ pos.X,
+ pos.Y - y_center,
+ pos.X + label_size.Width + cb_size + 7,
+ pos.Y + y_center
+ );
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+ rect = core::rect<s32>(
+ pos.X,
+ pos.Y + imgsize.Y / 2 - y_center,
+ pos.X + label_size.Width + cb_size + 7,
+ pos.Y + imgsize.Y / 2 + y_center
+ );
+ }
FieldSpec spec(
name,
@@ -457,6 +500,9 @@ void GUIFormSpecMenu::parseCheckbox(parserData* data, const std::string &element
gui::IGUICheckBox* e = Environment->addCheckBox(fselected, rect, this,
spec.fid, spec.flabel.c_str());
+ auto style = getStyleForElement("checkbox", name);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+
if (spec.fname == data->focused_fieldname) {
Environment->setFocus(e);
}
@@ -474,24 +520,25 @@ void GUIFormSpecMenu::parseScrollBar(parserData* data, const std::string &elemen
if (parts.size() >= 5) {
std::vector<std::string> v_pos = split(parts[0],',');
- std::vector<std::string> v_dim = split(parts[1],',');
+ std::vector<std::string> v_geom = split(parts[1],',');
std::string name = parts[3];
std::string value = parts[4];
MY_CHECKPOS("scrollbar",0);
+ MY_CHECKGEOM("scrollbar",1);
- v2s32 pos = getElementBasePos(false, &v_pos);
+ v2s32 pos;
+ v2s32 dim;
- if (v_dim.size() != 2) {
- errorstream<< "Invalid size for element " << "scrollbar"
- << "specified: \"" << parts[1] << "\"" << std::endl;
- return;
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+ dim = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+ dim.X = stof(v_geom[0]) * spacing.X;
+ dim.Y = stof(v_geom[1]) * spacing.Y;
}
- v2s32 dim;
- dim.X = stof(v_dim[0]) * spacing.X;
- dim.Y = stof(v_dim[1]) * spacing.Y;
-
core::rect<s32> rect =
core::rect<s32>(pos.X, pos.Y, pos.X + dim.X, pos.Y + dim.Y);
@@ -512,6 +559,9 @@ void GUIFormSpecMenu::parseScrollBar(parserData* data, const std::string &elemen
gui::IGUIScrollBar* e =
Environment->addScrollBar(is_horizontal,rect,this,spec.fid);
+ auto style = getStyleForElement("scrollbar", name);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+
e->setMax(1000);
e->setMin(0);
e->setPos(stoi(parts[4]));
@@ -539,10 +589,17 @@ void GUIFormSpecMenu::parseImage(parserData* data, const std::string &element)
MY_CHECKPOS("image", 0);
MY_CHECKGEOM("image", 1);
- v2s32 pos = getElementBasePos(true, &v_pos);
+ v2s32 pos;
v2s32 geom;
- geom.X = stof(v_geom[0]) * (float)imgsize.X;
- geom.Y = stof(v_geom[1]) * (float)imgsize.Y;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(true, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(true, &v_pos);
+ geom.X = stof(v_geom[0]) * (float)imgsize.X;
+ geom.Y = stof(v_geom[1]) * (float)imgsize.Y;
+ }
if (!data->explicit_size)
warningstream<<"invalid use of image without a size[] element"<<std::endl;
@@ -580,10 +637,17 @@ void GUIFormSpecMenu::parseItemImage(parserData* data, const std::string &elemen
MY_CHECKPOS("itemimage",0);
MY_CHECKGEOM("itemimage",1);
- v2s32 pos = getElementBasePos(true, &v_pos);
+ v2s32 pos;
v2s32 geom;
- geom.X = stof(v_geom[0]) * (float)imgsize.X;
- geom.Y = stof(v_geom[1]) * (float)imgsize.Y;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(true, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(true, &v_pos);
+ geom.X = stof(v_geom[0]) * (float)imgsize.X;
+ geom.Y = stof(v_geom[1]) * (float)imgsize.Y;
+ }
if(!data->explicit_size)
warningstream<<"invalid use of item_image without a size[] element"<<std::endl;
@@ -609,14 +673,23 @@ void GUIFormSpecMenu::parseButton(parserData* data, const std::string &element,
MY_CHECKPOS("button",0);
MY_CHECKGEOM("button",1);
- v2s32 pos = getElementBasePos(false, &v_pos);
+ v2s32 pos;
v2s32 geom;
- geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
- pos.Y += (stof(v_geom[1]) * (float)imgsize.Y)/2;
+ core::rect<s32> rect;
- core::rect<s32> rect =
- core::rect<s32>(pos.X, pos.Y - m_btn_height,
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X,
+ pos.Y+geom.Y);
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+ geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
+ pos.Y += (stof(v_geom[1]) * (float)imgsize.Y)/2;
+
+ rect = core::rect<s32>(pos.X, pos.Y - m_btn_height,
pos.X + geom.X, pos.Y + m_btn_height);
+ }
if(!data->explicit_size)
warningstream<<"invalid use of button without a size[] element"<<std::endl;
@@ -632,8 +705,38 @@ void GUIFormSpecMenu::parseButton(parserData* data, const std::string &element,
spec.ftype = f_Button;
if(type == "button_exit")
spec.is_exit = true;
- gui::IGUIButton* e = Environment->addButton(rect, this, spec.fid,
- spec.flabel.c_str());
+
+ GUIButton *e = GUIButton::addButton(Environment, rect, this, spec.fid, spec.flabel.c_str());
+
+ auto style = getStyleForElement(type, name, (type != "button") ? "button" : "");
+ if (style.isNotDefault(StyleSpec::BGCOLOR)) {
+ e->setColor(style.getColor(StyleSpec::BGCOLOR));
+ }
+ if (style.isNotDefault(StyleSpec::TEXTCOLOR)) {
+ e->setOverrideColor(style.getColor(StyleSpec::TEXTCOLOR));
+ }
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+ e->setDrawBorder(style.getBool(StyleSpec::BORDER, true));
+
+ if (style.isNotDefault(StyleSpec::BGIMG)) {
+ std::string image_name = style.get(StyleSpec::BGIMG, "");
+ std::string pressed_image_name = style.get(StyleSpec::BGIMG_PRESSED, "");
+
+ video::ITexture *texture = 0;
+ video::ITexture *pressed_texture = 0;
+ texture = m_tsrc->getTexture(image_name);
+ if (!pressed_image_name.empty())
+ pressed_texture = m_tsrc->getTexture(pressed_image_name);
+ else
+ pressed_texture = texture;
+
+ e->setUseAlphaChannel(style.getBool(StyleSpec::ALPHA, true));
+ e->setImage(guiScalingImageButton(
+ Environment->getVideoDriver(), texture, geom.X, geom.Y));
+ e->setPressedImage(guiScalingImageButton(
+ Environment->getVideoDriver(), pressed_texture, geom.X, geom.Y));
+ e->setScaleImage(true);
+ }
if (spec.fname == data->focused_fieldname) {
Environment->setFocus(e);
@@ -649,9 +752,8 @@ void GUIFormSpecMenu::parseBackground(parserData* data, const std::string &eleme
{
std::vector<std::string> parts = split(element,';');
- if (((parts.size() == 3) || (parts.size() == 4)) ||
- ((parts.size() > 4) && (m_formspec_version > FORMSPEC_API_VERSION)))
- {
+ if ((parts.size() >= 3 && parts.size() <= 5) ||
+ (parts.size() > 5 && m_formspec_version > FORMSPEC_API_VERSION)) {
std::vector<std::string> v_pos = split(parts[0],',');
std::vector<std::string> v_geom = split(parts[1],',');
std::string name = unescape_string(parts[2]);
@@ -659,25 +761,58 @@ void GUIFormSpecMenu::parseBackground(parserData* data, const std::string &eleme
MY_CHECKPOS("background",0);
MY_CHECKGEOM("background",1);
- v2s32 pos = getElementBasePos(true, &v_pos);
- pos.X -= (spacing.X - (float)imgsize.X) / 2;
- pos.Y -= (spacing.Y - (float)imgsize.Y) / 2;
-
+ v2s32 pos;
v2s32 geom;
- geom.X = stof(v_geom[0]) * spacing.X;
- geom.Y = stof(v_geom[1]) * spacing.Y;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(true, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(true, &v_pos);
+ pos.X -= (spacing.X - (float)imgsize.X) / 2;
+ pos.Y -= (spacing.Y - (float)imgsize.Y) / 2;
+
+ geom.X = stof(v_geom[0]) * spacing.X;
+ geom.Y = stof(v_geom[1]) * spacing.Y;
+ }
bool clip = false;
- if (parts.size() == 4 && is_yes(parts[3])) {
- pos.X = stoi(v_pos[0]); //acts as offset
- pos.Y = stoi(v_pos[1]); //acts as offset
+ if (parts.size() >= 4 && is_yes(parts[3])) {
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos) * -1;
+ geom = v2s32(0, 0);
+ } else {
+ pos.X = stoi(v_pos[0]); //acts as offset
+ pos.Y = stoi(v_pos[1]);
+ }
clip = true;
}
+ core::rect<s32> middle;
+ if (parts.size() >= 5) {
+ std::vector<std::string> v_middle = split(parts[4], ',');
+ if (v_middle.size() == 1) {
+ s32 x = stoi(v_middle[0]);
+ middle.UpperLeftCorner = core::vector2di(x, x);
+ middle.LowerRightCorner = core::vector2di(-x, -x);
+ } else if (v_middle.size() == 2) {
+ s32 x = stoi(v_middle[0]);
+ s32 y = stoi(v_middle[1]);
+ middle.UpperLeftCorner = core::vector2di(x, y);
+ middle.LowerRightCorner = core::vector2di(-x, -y);
+ // `-x` is interpreted as `w - x`
+ } else if (v_middle.size() == 4) {
+ middle.UpperLeftCorner = core::vector2di(stoi(v_middle[0]), stoi(v_middle[1]));
+ middle.LowerRightCorner = core::vector2di(stoi(v_middle[2]), stoi(v_middle[3]));
+ } else {
+ warningstream << "Invalid rectangle given to middle param of background[] element" << std::endl;
+ }
+ }
+
if (!data->explicit_size && !clip)
warningstream << "invalid use of unclipped background without a size[] element" << std::endl;
- m_backgrounds.emplace_back(name, pos, geom, clip);
+ m_backgrounds.emplace_back(name, pos, geom, middle, clip);
return;
}
@@ -736,10 +871,17 @@ void GUIFormSpecMenu::parseTable(parserData* data, const std::string &element)
MY_CHECKPOS("table",0);
MY_CHECKGEOM("table",1);
- v2s32 pos = getElementBasePos(false, &v_pos);
+ v2s32 pos;
v2s32 geom;
- geom.X = stof(v_geom[0]) * spacing.X;
- geom.Y = stof(v_geom[1]) * spacing.Y;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+ geom.X = stof(v_geom[0]) * spacing.X;
+ geom.Y = stof(v_geom[1]) * spacing.Y;
+ }
core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X, pos.Y+geom.Y);
@@ -773,6 +915,9 @@ void GUIFormSpecMenu::parseTable(parserData* data, const std::string &element)
if (!str_initial_selection.empty() && str_initial_selection != "0")
e->setSelected(stoi(str_initial_selection));
+ auto style = getStyleForElement("table", name);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+
m_tables.emplace_back(spec, e);
m_fields.push_back(spec);
return;
@@ -803,11 +948,17 @@ void GUIFormSpecMenu::parseTextList(parserData* data, const std::string &element
MY_CHECKPOS("textlist",0);
MY_CHECKGEOM("textlist",1);
- v2s32 pos = getElementBasePos(false, &v_pos);
+ v2s32 pos;
v2s32 geom;
- geom.X = stof(v_geom[0]) * spacing.X;
- geom.Y = stof(v_geom[1]) * spacing.Y;
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+ geom.X = stof(v_geom[0]) * spacing.X;
+ geom.Y = stof(v_geom[1]) * spacing.Y;
+ }
core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X, pos.Y+geom.Y);
@@ -841,6 +992,9 @@ void GUIFormSpecMenu::parseTextList(parserData* data, const std::string &element
if (!str_initial_selection.empty() && str_initial_selection != "0")
e->setSelected(stoi(str_initial_selection));
+ auto style = getStyleForElement("textlist", name);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+
m_tables.emplace_back(spec, e);
m_fields.push_back(spec);
return;
@@ -864,12 +1018,29 @@ void GUIFormSpecMenu::parseDropDown(parserData* data, const std::string &element
MY_CHECKPOS("dropdown",0);
- v2s32 pos = getElementBasePos(false, &v_pos);
+ v2s32 pos;
+ v2s32 geom;
+ core::rect<s32> rect;
+
+ if (data->real_coordinates) {
+ std::vector<std::string> v_geom = split(parts[1],',');
+
+ if (v_geom.size() == 1)
+ v_geom.emplace_back("1");
+
+ MY_CHECKGEOM("dropdown",1);
- s32 width = stof(parts[1]) * spacing.Y;
+ pos = getRealCoordinateBasePos(false, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X, pos.Y+geom.Y);
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+
+ s32 width = stof(parts[1]) * spacing.Y;
- core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y,
- pos.X + width, pos.Y + (m_btn_height * 2));
+ rect = core::rect<s32>(pos.X, pos.Y,
+ pos.X + width, pos.Y + (m_btn_height * 2));
+ }
FieldSpec spec(
name,
@@ -896,6 +1067,9 @@ void GUIFormSpecMenu::parseDropDown(parserData* data, const std::string &element
if (!str_initial_selection.empty())
e->setSelected(stoi(str_initial_selection)-1);
+ auto style = getStyleForElement("dropdown", name);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+
m_fields.push_back(spec);
m_dropdowns.emplace_back(spec, std::vector<std::string>());
@@ -934,15 +1108,22 @@ void GUIFormSpecMenu::parsePwdField(parserData* data, const std::string &element
MY_CHECKPOS("pwdfield",0);
MY_CHECKGEOM("pwdfield",1);
- v2s32 pos = getElementBasePos(false, &v_pos);
- pos -= padding;
-
+ v2s32 pos;
v2s32 geom;
- geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
- pos.Y += (stof(v_geom[1]) * (float)imgsize.Y)/2;
- pos.Y -= m_btn_height;
- geom.Y = m_btn_height*2;
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+ pos -= padding;
+
+ geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
+
+ pos.Y += (stof(v_geom[1]) * (float)imgsize.Y)/2;
+ pos.Y -= m_btn_height;
+ geom.Y = m_btn_height*2;
+ }
core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X, pos.Y+geom.Y);
@@ -972,6 +1153,11 @@ void GUIFormSpecMenu::parsePwdField(parserData* data, const std::string &element
e->setPasswordBox(true,L'*');
+ auto style = getStyleForElement("pwdfield", name, "field");
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+ e->setDrawBorder(style.getBool(StyleSpec::BORDER, true));
+ e->setOverrideColor(style.getColor(StyleSpec::TEXTCOLOR, video::SColor(0xFFFFFFFF)));
+
irr::SEvent evt;
evt.EventType = EET_KEY_INPUT_EVENT;
evt.KeyInput.Key = KEY_END;
@@ -1022,12 +1208,14 @@ void GUIFormSpecMenu::createTextField(parserData *data, FieldSpec &spec,
true, Environment, this, spec.fid, rect, is_editable, is_multiline);
e->drop();
} else {
- if (is_multiline)
+ if (is_multiline) {
e = new GUIEditBoxWithScrollBar(spec.fdefault.c_str(), true,
Environment, this, spec.fid, rect, is_editable, true);
- else if (is_editable)
+ e->drop();
+ } else if (is_editable) {
e = Environment->addEditBox(spec.fdefault.c_str(), rect, true,
this, spec.fid);
+ }
}
if (e) {
@@ -1048,6 +1236,14 @@ void GUIFormSpecMenu::createTextField(parserData *data, FieldSpec &spec,
evt.KeyInput.PressedDown = true;
e->OnEvent(evt);
}
+
+ auto style = getStyleForElement(is_multiline ? "textarea" : "field", spec.fname);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+ e->setDrawBorder(style.getBool(StyleSpec::BORDER, true));
+ e->setOverrideColor(style.getColor(StyleSpec::TEXTCOLOR, video::SColor(0xFFFFFFFF)));
+ if (style.get(StyleSpec::BGCOLOR, "") == "transparent") {
+ e->setDrawBackground(false);
+ }
}
if (!spec.flabel.empty()) {
@@ -1117,23 +1313,29 @@ void GUIFormSpecMenu::parseTextArea(parserData* data, std::vector<std::string>&
MY_CHECKPOS(type,0);
MY_CHECKGEOM(type,1);
- v2s32 pos = getElementBasePos(false, &v_pos);
- pos -= padding;
-
+ v2s32 pos;
v2s32 geom;
- geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+ pos -= padding;
- if (type == "textarea")
- {
- geom.Y = (stof(v_geom[1]) * (float)imgsize.Y) - (spacing.Y-imgsize.Y);
- pos.Y += m_btn_height;
- }
- else
- {
- pos.Y += (stof(v_geom[1]) * (float)imgsize.Y)/2;
- pos.Y -= m_btn_height;
- geom.Y = m_btn_height*2;
+ geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
+
+ if (type == "textarea")
+ {
+ geom.Y = (stof(v_geom[1]) * (float)imgsize.Y) - (spacing.Y-imgsize.Y);
+ pos.Y += m_btn_height;
+ }
+ else
+ {
+ pos.Y += (stof(v_geom[1]) * (float)imgsize.Y)/2;
+ pos.Y -= m_btn_height;
+ geom.Y = m_btn_height*2;
+ }
}
core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X, pos.Y+geom.Y);
@@ -1197,46 +1399,79 @@ void GUIFormSpecMenu::parseLabel(parserData* data, const std::string &element)
MY_CHECKPOS("label",0);
- v2s32 pos = getElementBasePos(false, nullptr);
- pos.X += stof(v_pos[0]) * spacing.X;
- pos.Y += (stof(v_pos[1]) + 7.0f / 30.0f) * spacing.Y;
-
if(!data->explicit_size)
warningstream<<"invalid use of label without a size[] element"<<std::endl;
std::vector<std::string> lines = split(text, '\n');
for (unsigned int i = 0; i != lines.size(); i++) {
- // Lines are spaced at the nominal distance of
- // 2/5 inventory slot, even if the font doesn't
- // quite match that. This provides consistent
- // form layout, at the expense of sometimes
- // having sub-optimal spacing for the font.
- // We multiply by 2 and then divide by 5, rather
- // than multiply by 0.4, to get exact results
- // in the integer cases: 0.4 is not exactly
- // representable in binary floating point.
- s32 posy = pos.Y + ((float)i) * spacing.Y * 2.0 / 5.0;
- std::wstring wlabel = utf8_to_wide(unescape_string(lines[i]));
- core::rect<s32> rect = core::rect<s32>(
- pos.X, posy - m_btn_height,
- pos.X + m_font->getDimension(wlabel.c_str()).Width,
- posy + m_btn_height);
+ std::wstring wlabel_colors = translate_string(
+ utf8_to_wide(unescape_string(lines[i])));
+ // Without color escapes to get the font dimensions
+ std::wstring wlabel_plain = unescape_enriched(wlabel_colors);
+
+ core::rect<s32> rect;
+
+ if (data->real_coordinates) {
+ // Lines are spaced at the distance of 1/2 imgsize.
+ // This alows lines that line up with the new elements
+ // easily without sacrificing good line distance. If
+ // it was one whole imgsize, it would have too much
+ // spacing.
+ v2s32 pos = getRealCoordinateBasePos(false, v_pos);
+
+ // Labels are positioned by their center, not their top.
+ pos.Y += (((float) imgsize.Y) / -2) + (((float) imgsize.Y) * i / 2);
+
+ rect = core::rect<s32>(
+ pos.X, pos.Y,
+ pos.X + m_font->getDimension(wlabel_plain.c_str()).Width,
+ pos.Y + imgsize.Y);
+
+ } else {
+ // Lines are spaced at the nominal distance of
+ // 2/5 inventory slot, even if the font doesn't
+ // quite match that. This provides consistent
+ // form layout, at the expense of sometimes
+ // having sub-optimal spacing for the font.
+ // We multiply by 2 and then divide by 5, rather
+ // than multiply by 0.4, to get exact results
+ // in the integer cases: 0.4 is not exactly
+ // representable in binary floating point.
+
+ v2s32 pos = getElementBasePos(false, nullptr);
+ pos.X += stof(v_pos[0]) * spacing.X;
+ pos.Y += (stof(v_pos[1]) + 7.0f / 30.0f) * spacing.Y;
+
+ pos.Y += ((float) i) * spacing.Y * 2.0 / 5.0;
+
+ rect = core::rect<s32>(
+ pos.X, pos.Y - m_btn_height,
+ pos.X + m_font->getDimension(wlabel_plain.c_str()).Width,
+ pos.Y + m_btn_height);
+ }
+
FieldSpec spec(
"",
- wlabel,
+ wlabel_colors,
L"",
258+m_fields.size()
);
gui::IGUIStaticText *e = gui::StaticText::add(Environment,
spec.flabel.c_str(), rect, false, false, this, spec.fid);
e->setTextAlignment(gui::EGUIA_UPPERLEFT, gui::EGUIA_CENTER);
+
+ auto style = getStyleForElement("label", spec.fname);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+ e->setOverrideColor(style.getColor(StyleSpec::TEXTCOLOR, video::SColor(0xFFFFFFFF)));
+
m_fields.push_back(spec);
}
return;
}
- errorstream<< "Invalid label element(" << parts.size() << "): '" << element << "'" << std::endl;
+ errorstream << "Invalid label element(" << parts.size() << "): '" << element
+ << "'" << std::endl;
}
void GUIFormSpecMenu::parseVertLabel(parserData* data, const std::string &element)
@@ -1252,15 +1487,35 @@ void GUIFormSpecMenu::parseVertLabel(parserData* data, const std::string &elemen
MY_CHECKPOS("vertlabel",1);
- v2s32 pos = getElementBasePos(false, &v_pos);
+ v2s32 pos;
+ core::rect<s32> rect;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+
+ // Vertlabels are positioned by center, not left.
+ pos.X -= imgsize.X / 2;
+
+ // We use text.length + 1 because without it, the rect
+ // isn't quite tall enough and cuts off the text.
+ rect = core::rect<s32>(pos.X, pos.Y,
+ pos.X + imgsize.X,
+ pos.Y + font_line_height(m_font) *
+ (text.length() + 1));
- core::rect<s32> rect = core::rect<s32>(
- pos.X, pos.Y+((imgsize.Y/2)- m_btn_height),
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+
+ // As above, the length must be one longer. The width of
+ // the rect (15 pixels) seems rather arbitrary, but
+ // changing it might break something.
+ rect = core::rect<s32>(
+ pos.X, pos.Y+((imgsize.Y/2) - m_btn_height),
pos.X+15, pos.Y +
- font_line_height(m_font)
- * (text.length()+1)
- +((imgsize.Y/2)- m_btn_height));
- //actually text.length() would be correct but adding +1 avoids to break all mods
+ font_line_height(m_font) *
+ (text.length() + 1) +
+ ((imgsize.Y/2) - m_btn_height));
+ }
if(!data->explicit_size)
warningstream<<"invalid use of label without a size[] element"<<std::endl;
@@ -1278,9 +1533,14 @@ void GUIFormSpecMenu::parseVertLabel(parserData* data, const std::string &elemen
L"",
258+m_fields.size()
);
- gui::IGUIStaticText *t = gui::StaticText::add(Environment, spec.flabel.c_str(),
+ gui::IGUIStaticText *e = gui::StaticText::add(Environment, spec.flabel.c_str(),
rect, false, false, this, spec.fid);
- t->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_CENTER);
+ e->setTextAlignment(gui::EGUIA_CENTER, gui::EGUIA_CENTER);
+
+ auto style = getStyleForElement("vertlabel", spec.fname, "label");
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+ e->setOverrideColor(style.getColor(StyleSpec::TEXTCOLOR, video::SColor(0xFFFFFFFF)));
+
m_fields.push_back(spec);
return;
}
@@ -1304,11 +1564,6 @@ void GUIFormSpecMenu::parseImageButton(parserData* data, const std::string &elem
MY_CHECKPOS("imagebutton",0);
MY_CHECKGEOM("imagebutton",1);
- v2s32 pos = getElementBasePos(false, &v_pos);
- v2s32 geom;
- geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
- geom.Y = (stof(v_geom[1]) * spacing.Y) - (spacing.Y - imgsize.Y);
-
bool noclip = false;
bool drawborder = true;
std::string pressed_image_name;
@@ -1324,9 +1579,22 @@ void GUIFormSpecMenu::parseImageButton(parserData* data, const std::string &elem
pressed_image_name = parts[7];
}
- core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X, pos.Y+geom.Y);
+ v2s32 pos;
+ v2s32 geom;
- if(!data->explicit_size)
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+ geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
+ geom.Y = (stof(v_geom[1]) * spacing.Y) - (spacing.Y - imgsize.Y);
+ }
+
+ core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X,
+ pos.Y+geom.Y);
+
+ if (!data->explicit_size)
warningstream<<"invalid use of image_button without a size[] element"<<std::endl;
image_name = unescape_string(image_name);
@@ -1341,7 +1609,7 @@ void GUIFormSpecMenu::parseImageButton(parserData* data, const std::string &elem
258+m_fields.size()
);
spec.ftype = f_Button;
- if(type == "image_button_exit")
+ if (type == "image_button_exit")
spec.is_exit = true;
video::ITexture *texture = 0;
@@ -1358,14 +1626,21 @@ void GUIFormSpecMenu::parseImageButton(parserData* data, const std::string &elem
Environment->setFocus(e);
}
- e->setUseAlphaChannel(true);
+ auto style = getStyleForElement("image_button", spec.fname);
+
+ e->setUseAlphaChannel(style.getBool(StyleSpec::ALPHA, true));
e->setImage(guiScalingImageButton(
Environment->getVideoDriver(), texture, geom.X, geom.Y));
e->setPressedImage(guiScalingImageButton(
Environment->getVideoDriver(), pressed_texture, geom.X, geom.Y));
e->setScaleImage(true);
- e->setNotClipped(noclip);
- e->setDrawBorder(drawborder);
+ if (parts.size() >= 7) {
+ e->setNotClipped(noclip);
+ e->setDrawBorder(drawborder);
+ } else {
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+ e->setDrawBorder(style.getBool(StyleSpec::BORDER, true));
+ }
m_fields.push_back(spec);
return;
@@ -1376,25 +1651,43 @@ void GUIFormSpecMenu::parseImageButton(parserData* data, const std::string &elem
void GUIFormSpecMenu::parseTabHeader(parserData* data, const std::string &element)
{
- std::vector<std::string> parts = split(element,';');
+ std::vector<std::string> parts = split(element, ';');
- if (((parts.size() == 4) || (parts.size() == 6)) ||
- ((parts.size() > 6) && (m_formspec_version > FORMSPEC_API_VERSION)))
+ if (((parts.size() == 4) || (parts.size() == 6)) || (parts.size() == 7 &&
+ data->real_coordinates) || ((parts.size() > 6) &&
+ (m_formspec_version > FORMSPEC_API_VERSION)))
{
std::vector<std::string> v_pos = split(parts[0],',');
- std::string name = parts[1];
- std::vector<std::string> buttons = split(parts[2],',');
- std::string str_index = parts[3];
+
+ // If we're using real coordinates, add an extra field for height.
+ // Width is not here because tabs are the width of the text, and
+ // there's no reason to change that.
+ unsigned int i = 0;
+ std::vector<std::string> v_geom = {"1", "0.75"}; // Dummy width and default height
+ bool auto_width = true;
+ if (parts.size() == 7) {
+ i++;
+
+ v_geom = split(parts[1], ',');
+ if (v_geom.size() == 1)
+ v_geom.insert(v_geom.begin(), "1"); // Dummy value
+ else
+ auto_width = false;
+ }
+
+ std::string name = parts[i+1];
+ std::vector<std::string> buttons = split(parts[i+2], ',');
+ std::string str_index = parts[i+3];
bool show_background = true;
bool show_border = true;
- int tab_index = stoi(str_index) -1;
+ int tab_index = stoi(str_index) - 1;
- MY_CHECKPOS("tabheader",0);
+ MY_CHECKPOS("tabheader", 0);
- if (parts.size() == 6) {
- if (parts[4] == "true")
+ if (parts.size() == 6 + i) {
+ if (parts[4+i] == "true")
show_background = false;
- if (parts[5] == "false")
+ if (parts[5+i] == "false")
show_border = false;
}
@@ -1408,15 +1701,26 @@ void GUIFormSpecMenu::parseTabHeader(parserData* data, const std::string &elemen
spec.ftype = f_TabHeader;
v2s32 pos;
- {
+ v2s32 geom;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+
+ geom = getRealCoordinateGeometry(v_geom);
+ pos.Y -= geom.Y; // TabHeader base pos is the bottom, not the top.
+ if (auto_width)
+ geom.X = DesiredRect.getWidth(); // Set automatic width
+
+ MY_CHECKGEOM("tabheader", 1);
+ } else {
v2f32 pos_f = pos_offset * spacing;
pos_f.X += stof(v_pos[0]) * spacing.X;
pos_f.Y += stof(v_pos[1]) * spacing.Y - m_btn_height * 2;
pos = v2s32(pos_f.X, pos_f.Y);
+
+ geom.Y = m_btn_height * 2;
+ geom.X = DesiredRect.getWidth();
}
- v2s32 geom;
- geom.X = DesiredRect.getWidth();
- geom.Y = m_btn_height*2;
core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X,
pos.Y+geom.Y);
@@ -1425,17 +1729,22 @@ void GUIFormSpecMenu::parseTabHeader(parserData* data, const std::string &elemen
show_background, show_border, spec.fid);
e->setAlignment(irr::gui::EGUIA_UPPERLEFT, irr::gui::EGUIA_UPPERLEFT,
irr::gui::EGUIA_UPPERLEFT, irr::gui::EGUIA_LOWERRIGHT);
- e->setTabHeight(m_btn_height*2);
+ e->setTabHeight(geom.Y);
if (spec.fname == data->focused_fieldname) {
Environment->setFocus(e);
}
- e->setNotClipped(true);
+ auto style = getStyleForElement("tabheader", name);
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, true));
for (const std::string &button : buttons) {
- e->addTab(unescape_translate(unescape_string(
+ auto tab = e->addTab(unescape_translate(unescape_string(
utf8_to_wide(button))).c_str(), -1);
+ if (style.isNotDefault(StyleSpec::BGCOLOR))
+ tab->setBackgroundColor(style.getColor(StyleSpec::BGCOLOR));
+
+ tab->setTextColor(style.getColor(StyleSpec::TEXTCOLOR, video::SColor(0xFFFFFFFF)));
}
if ((tab_index >= 0) &&
@@ -1476,10 +1785,17 @@ void GUIFormSpecMenu::parseItemImageButton(parserData* data, const std::string &
MY_CHECKPOS("itemimagebutton",0);
MY_CHECKGEOM("itemimagebutton",1);
- v2s32 pos = getElementBasePos(false, &v_pos);
+ v2s32 pos;
v2s32 geom;
- geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
- geom.Y = (stof(v_geom[1]) * spacing.Y) - (spacing.Y - imgsize.Y);
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(false, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(false, &v_pos);
+ geom.X = (stof(v_geom[0]) * spacing.X) - (spacing.X - imgsize.X);
+ geom.Y = (stof(v_geom[1]) * spacing.Y) - (spacing.Y - imgsize.Y);
+ }
core::rect<s32> rect = core::rect<s32>(pos.X, pos.Y, pos.X+geom.X, pos.Y+geom.Y);
@@ -1504,6 +1820,10 @@ void GUIFormSpecMenu::parseItemImageButton(parserData* data, const std::string &
gui::IGUIButton *e = Environment->addButton(rect, this, spec.fid, L"");
+ auto style = getStyleForElement("item_image_button", spec.fname, "image_button");
+ e->setNotClipped(style.getBool(StyleSpec::NOCLIP, false));
+ e->setDrawBorder(style.getBool(StyleSpec::BORDER, true));
+
if (spec.fname == data->focused_fieldname) {
Environment->setFocus(e);
}
@@ -1513,7 +1833,11 @@ void GUIFormSpecMenu::parseItemImageButton(parserData* data, const std::string &
spec.rect=rect;
m_fields.push_back(spec);
- pos = getElementBasePos(true, &v_pos);
+ if (data->real_coordinates)
+ pos = getRealCoordinateBasePos(true, v_pos);
+ else
+ pos = getElementBasePos(true, &v_pos);
+
m_itemimages.emplace_back("", item_name, e, pos, geom);
m_static_texts.emplace_back(utf8_to_wide(label), rect, e);
return;
@@ -1534,10 +1858,17 @@ void GUIFormSpecMenu::parseBox(parserData* data, const std::string &element)
MY_CHECKPOS("box",0);
MY_CHECKGEOM("box",1);
- v2s32 pos = getElementBasePos(true, &v_pos);
+ v2s32 pos;
v2s32 geom;
- geom.X = stof(v_geom[0]) * spacing.X;
- geom.Y = stof(v_geom[1]) * spacing.Y;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(true, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(true, &v_pos);
+ geom.X = stof(v_geom[0]) * spacing.X;
+ geom.Y = stof(v_geom[1]) * spacing.Y;
+ }
video::SColor tmp_color;
@@ -1640,13 +1971,20 @@ void GUIFormSpecMenu::parseTooltip(parserData* data, const std::string &element)
std::vector<std::string> v_pos = split(parts[0], ',');
std::vector<std::string> v_geom = split(parts[1], ',');
- MY_CHECKPOS("tooltip", 0);
+ MY_CHECKPOS("tooltip", 0);
MY_CHECKGEOM("tooltip", 1);
- v2s32 pos = getElementBasePos(true, &v_pos);
+ v2s32 pos;
v2s32 geom;
- geom.X = stof(v_geom[0]) * spacing.X;
- geom.Y = stof(v_geom[1]) * spacing.Y;
+
+ if (data->real_coordinates) {
+ pos = getRealCoordinateBasePos(true, v_pos);
+ geom = getRealCoordinateGeometry(v_geom);
+ } else {
+ pos = getElementBasePos(true, &v_pos);
+ geom.X = stof(v_geom[0]) * spacing.X;
+ geom.Y = stof(v_geom[1]) * spacing.Y;
+ }
irr::core::rect<s32> rect(pos, pos + geom);
m_tooltip_rects.emplace_back(rect, spec);
@@ -1772,12 +2110,70 @@ void GUIFormSpecMenu::parseAnchor(parserData *data, const std::string &element)
<< "'" << std::endl;
}
+bool GUIFormSpecMenu::parseStyle(parserData *data, const std::string &element, bool style_type)
+{
+ std::vector<std::string> parts = split(element, ';');
+
+ if (parts.size() < 2) {
+ errorstream << "Invalid style element (" << parts.size() << "): '" << element
+ << "'" << std::endl;
+ return false;
+ }
+
+ std::string selector = trim(parts[0]);
+ if (selector.empty()) {
+ errorstream << "Invalid style element (Selector required): '" << element
+ << "'" << std::endl;
+ return false;
+ }
+
+ StyleSpec spec;
+
+ for (size_t i = 1; i < parts.size(); i++) {
+ size_t equal_pos = parts[i].find('=');
+ if (equal_pos == std::string::npos) {
+ errorstream << "Invalid style element (Property missing value): '" << element
+ << "'" << std::endl;
+ return false;
+ }
+
+ std::string propname = trim(parts[i].substr(0, equal_pos));
+ std::string value = trim(unescape_string(parts[i].substr(equal_pos + 1)));
+
+ std::transform(propname.begin(), propname.end(), propname.begin(), ::tolower);
+
+ StyleSpec::Property prop = StyleSpec::GetPropertyByName(propname);
+ if (prop == StyleSpec::NONE) {
+ if (property_warned.find(propname) != property_warned.end()) {
+ warningstream << "Invalid style element (Unknown property " << propname << "): '"
+ << element
+ << "'" << std::endl;
+ property_warned.insert(propname);
+ }
+ return false;
+ }
+
+ spec.set(prop, value);
+ }
+
+ if (style_type) {
+ theme_by_type[selector] |= spec;
+ } else {
+ theme_by_name[selector] |= spec;
+ }
+
+ return true;
+}
+
void GUIFormSpecMenu::parseElement(parserData* data, const std::string &element)
{
//some prechecks
if (element.empty())
return;
+ if (parseVersionDirect(element))
+ return;
+
std::vector<std::string> parts = split(element,'[');
// ugly workaround to keep compatibility
@@ -1837,8 +2233,8 @@ void GUIFormSpecMenu::parseElement(parserData* data, const std::string &element)
return;
}
- if (type == "background") {
- parseBackground(data,description);
+ if (type == "background" || type == "background9") {
+ parseBackground(data, description);
return;
}
@@ -1932,6 +2328,21 @@ void GUIFormSpecMenu::parseElement(parserData* data, const std::string &element)
return;
}
+ if (type == "real_coordinates") {
+ data->real_coordinates = is_yes(description);
+ return;
+ }
+
+ if (type == "style") {
+ parseStyle(data, description, false);
+ return;
+ }
+
+ if (type == "style_type") {
+ parseStyle(data, description, true);
+ return;
+ }
+
// Ignore others
infostream << "Unknown DrawSpec: type=" << type << ", data=\"" << description << "\""
<< std::endl;
@@ -2002,6 +2413,8 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
m_inventory_rings.clear();
m_static_texts.clear();
m_dropdowns.clear();
+ theme_by_name.clear();
+ theme_by_type.clear();
m_bgfullscreen = false;
@@ -2096,6 +2509,17 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
break;
}
+ /* Copy of the "real_coordinates" element for after the form size. */
+ mydata.real_coordinates = m_formspec_version >= 2;
+ for (; i < elements.size(); i++) {
+ std::vector<std::string> parts = split(elements[i], '[');
+ std::string name = trim(parts[0]);
+ if (name != "real_coordinates" || parts.size() != 2)
+ break; // Invalid format
+
+ mydata.real_coordinates = is_yes(trim(parts[1]));
+ }
+
if (mydata.explicit_size) {
// compute scaling for specified form size
if (m_lock) {
@@ -2186,10 +2610,18 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
m_font = g_fontengine->getFont();
- mydata.size = v2s32(
- padding.X*2+spacing.X*(mydata.invsize.X-1.0)+imgsize.X,
- padding.Y*2+spacing.Y*(mydata.invsize.Y-1.0)+imgsize.Y + m_btn_height*2.0/3.0
- );
+ if (mydata.real_coordinates) {
+ mydata.size = v2s32(
+ mydata.invsize.X*imgsize.X,
+ mydata.invsize.Y*imgsize.Y
+ );
+ } else {
+ mydata.size = v2s32(
+ padding.X*2+spacing.X*(mydata.invsize.X-1.0)+imgsize.X,
+ padding.Y*2+spacing.Y*(mydata.invsize.Y-1.0)+imgsize.Y + m_btn_height*2.0/3.0
+ );
+ }
+
DesiredRect = mydata.rect = core::rect<s32>(
(s32)((f32)mydata.screensize.X * mydata.offset.X) - (s32)(mydata.anchor.X * (f32)mydata.size.X) + offset.X,
(s32)((f32)mydata.screensize.Y * mydata.offset.Y) - (s32)(mydata.anchor.Y * (f32)mydata.size.Y) + offset.Y,
@@ -2221,9 +2653,17 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
pos_offset = v2f32();
if (enable_prepends) {
+ // Backup the coordinates so that prepends can use the coordinates of choice.
+ bool rc_backup = mydata.real_coordinates;
+ u16 version_backup = m_formspec_version;
+ mydata.real_coordinates = false; // Old coordinates by default.
+
std::vector<std::string> prepend_elements = split(m_formspec_prepend, ']');
for (const auto &element : prepend_elements)
parseElement(&mydata, element);
+
+ m_formspec_version = version_backup;
+ mydata.real_coordinates = rc_backup; // Restore coordinates
}
for (; i< elements.size(); i++) {
@@ -2313,8 +2753,16 @@ GUIFormSpecMenu::ItemSpec GUIFormSpecMenu::getItemAtPos(v2s32 p) const
for (const GUIFormSpecMenu::ListDrawSpec &s : m_inventorylists) {
for(s32 i=0; i<s.geom.X*s.geom.Y; i++) {
s32 item_i = i + s.start_item_i;
- s32 x = (i%s.geom.X) * spacing.X;
- s32 y = (i/s.geom.X) * spacing.Y;
+
+ s32 x;
+ s32 y;
+ if (s.real_coordinates) {
+ x = (i%s.geom.X) * (imgsize.X * 1.25);
+ y = (i/s.geom.X) * (imgsize.Y * 1.25);
+ } else {
+ x = (i%s.geom.X) * spacing.X;
+ y = (i/s.geom.X) * spacing.Y;
+ }
v2s32 p0(x,y);
core::rect<s32> rect = imgrect + s.pos + p0;
if(rect.isPointInside(p))
@@ -2356,8 +2804,15 @@ void GUIFormSpecMenu::drawList(const ListDrawSpec &s, int layer,
if (item_i >= (s32)ilist->getSize())
break;
- s32 x = (i%s.geom.X) * spacing.X;
- s32 y = (i/s.geom.X) * spacing.Y;
+ s32 x;
+ s32 y;
+ if (s.real_coordinates) {
+ x = (i%s.geom.X) * (imgsize.X * 1.25);
+ y = (i/s.geom.X) * (imgsize.Y * 1.25);
+ } else {
+ x = (i%s.geom.X) * spacing.X;
+ y = (i/s.geom.X) * spacing.Y;
+ }
v2s32 p(x,y);
core::rect<s32> rect = imgrect + s.pos + p;
ItemStack item = ilist->getItem(item_i);
@@ -2401,37 +2856,23 @@ void GUIFormSpecMenu::drawList(const ListDrawSpec &s, int layer,
}
if (layer == 1) {
- // Draw item stack
if (selected)
item.takeItem(m_selected_amount);
if (!item.empty()) {
+ // Draw item stack
drawItemStack(driver, m_font, item,
rect, &AbsoluteClippingRect, m_client,
rotation_kind);
- }
-
- // Draw tooltip
- std::wstring tooltip_text;
- if (hovering && !m_selected_item) {
- const std::string &desc = item.metadata.getString("description");
- if (desc.empty())
- tooltip_text =
- utf8_to_wide(item.getDefinition(m_client->idef()).description);
- else
- tooltip_text = utf8_to_wide(desc);
-
- if (!item.name.empty()) {
- if (tooltip_text.empty())
- tooltip_text = utf8_to_wide(item.name);
- else if (m_tooltip_append_itemname)
- tooltip_text += utf8_to_wide(" [" + item.name + "]");
+ // Draw tooltip
+ if (hovering && !m_selected_item) {
+ std::string tooltip = item.getDescription(m_client->idef());
+ if (m_tooltip_append_itemname)
+ tooltip += "\n[" + item.name + "]";
+ showTooltip(utf8_to_wide(tooltip), m_default_tooltip_color,
+ m_default_tooltip_bgcolor);
}
}
- if (!tooltip_text.empty()) {
- showTooltip(tooltip_text, m_default_tooltip_color,
- m_default_tooltip_bgcolor);
- }
}
}
}
@@ -2510,6 +2951,8 @@ void GUIFormSpecMenu::drawMenu()
core::rect<s32> imgrect(0, 0, spec.geom.X, spec.geom.Y);
// Image rectangle on screen
core::rect<s32> rect = imgrect + spec.pos;
+ // Middle rect for 9-slicing
+ core::rect<s32> middle = spec.middle;
if (spec.clip) {
core::dimension2d<s32> absrec_size = AbsoluteRect.getSize();
@@ -2519,12 +2962,23 @@ void GUIFormSpecMenu::drawMenu()
AbsoluteRect.UpperLeftCorner.Y + absrec_size.Height + spec.pos.Y);
}
- const video::SColor color(255,255,255,255);
- const video::SColor colors[] = {color,color,color,color};
- draw2DImageFilterScaled(driver, texture, rect,
- core::rect<s32>(core::position2d<s32>(0,0),
- core::dimension2di(texture->getOriginalSize())),
- NULL/*&AbsoluteClippingRect*/, colors, true);
+ if (middle.getArea() == 0) {
+ const video::SColor color(255, 255, 255, 255);
+ const video::SColor colors[] = {color, color, color, color};
+ draw2DImageFilterScaled(driver, texture, rect,
+ core::rect<s32>(core::position2d<s32>(0, 0),
+ core::dimension2di(texture->getOriginalSize())),
+ NULL/*&AbsoluteClippingRect*/, colors, true);
+ } else {
+ // `-x` is interpreted as `w - x`
+ if (middle.LowerRightCorner.X < 0) {
+ middle.LowerRightCorner.X += texture->getOriginalSize().Width;
+ }
+ if (middle.LowerRightCorner.Y < 0) {
+ middle.LowerRightCorner.Y += texture->getOriginalSize().Height;
+ }
+ draw2DImage9Slice(driver, texture, rect, middle);
+ }
} else {
errorstream << "GUIFormSpecMenu::drawMenu() Draw backgrounds unable to load texture:" << std::endl;
errorstream << "\t" << spec.name << std::endl;
@@ -3406,7 +3860,7 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
// Mouse has been moved and rmb is down and mouse pointer just
// entered a new inventory field (checked in the entry-if, this
// is the only action here that is generated by mouse movement)
- if (m_selected_item && s.isValid()) {
+ if (m_selected_item && s.isValid() && s.listname != "craftpreview") {
// Move 1 item
// TODO: middle mouse to move 10 items might be handy
if (m_auto_place) {
@@ -3740,3 +4194,27 @@ std::wstring GUIFormSpecMenu::getLabelByID(s32 id)
}
return L"";
}
+
+StyleSpec GUIFormSpecMenu::getStyleForElement(const std::string &type,
+ const std::string &name, const std::string &parent_type) {
+ StyleSpec ret;
+
+ if (!parent_type.empty()) {
+ auto it = theme_by_type.find(parent_type);
+ if (it != theme_by_type.end()) {
+ ret |= it->second;
+ }
+ }
+
+ auto it = theme_by_type.find(type);
+ if (it != theme_by_type.end()) {
+ ret |= it->second;
+ }
+
+ it = theme_by_name.find(name);
+ if (it != theme_by_name.end()) {
+ ret |= it->second;
+ }
+
+ return ret;
+}
diff --git a/src/gui/guiFormSpecMenu.h b/src/gui/guiFormSpecMenu.h
index d75a108d4..46df0930c 100644
--- a/src/gui/guiFormSpecMenu.h
+++ b/src/gui/guiFormSpecMenu.h
@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <utility>
#include <stack>
+#include <unordered_set>
#include "irrlichttypes_extrabloated.h"
#include "inventorymanager.h"
@@ -30,6 +31,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "client/joystick_controller.h"
#include "util/string.h"
#include "util/enriched_string.h"
+#include "StyleSpec.h"
class InventoryManager;
class ISimpleTextureSource;
@@ -99,12 +101,14 @@ class GUIFormSpecMenu : public GUIModalMenu
ListDrawSpec(const InventoryLocation &a_inventoryloc,
const std::string &a_listname,
- v2s32 a_pos, v2s32 a_geom, s32 a_start_item_i):
+ v2s32 a_pos, v2s32 a_geom, s32 a_start_item_i,
+ bool a_real_coordinates):
inventoryloc(a_inventoryloc),
listname(a_listname),
pos(a_pos),
geom(a_geom),
- start_item_i(a_start_item_i)
+ start_item_i(a_start_item_i),
+ real_coordinates(a_real_coordinates)
{
}
@@ -113,6 +117,7 @@ class GUIFormSpecMenu : public GUIModalMenu
v2s32 pos;
v2s32 geom;
s32 start_item_i;
+ bool real_coordinates;
};
struct ListRingSpec
@@ -177,6 +182,18 @@ class GUIFormSpecMenu : public GUIModalMenu
}
ImageDrawSpec(const std::string &a_name,
+ const v2s32 &a_pos, const v2s32 &a_geom, const core::rect<s32> &middle, bool clip=false):
+ name(a_name),
+ parent_button(NULL),
+ pos(a_pos),
+ geom(a_geom),
+ middle(middle),
+ scale(true),
+ clip(clip)
+ {
+ }
+
+ ImageDrawSpec(const std::string &a_name,
const v2s32 &a_pos):
name(a_name),
parent_button(NULL),
@@ -191,6 +208,7 @@ class GUIFormSpecMenu : public GUIModalMenu
gui::IGUIButton *parent_button;
v2s32 pos;
v2s32 geom;
+ core::rect<s32> middle;
bool scale;
bool clip;
};
@@ -287,7 +305,7 @@ public:
ISimpleTextureSource *tsrc,
IFormSource* fs_src,
TextDest* txt_dst,
- std::string formspecPrepend,
+ const std::string &formspecPrepend,
bool remap_dbl_click = true);
~GUIFormSpecMenu();
@@ -304,6 +322,11 @@ public:
regenerateGui(m_screensize_old);
}
+ const InventoryLocation &getFormspecLocation()
+ {
+ return m_current_inventory_location;
+ }
+
void setFormspecPrepend(const std::string &formspecPrepend)
{
m_formspec_prepend = formspecPrepend;
@@ -376,6 +399,16 @@ protected:
std::string getNameByID(s32 id);
v2s32 getElementBasePos(bool absolute,
const std::vector<std::string> *v_pos);
+ v2s32 getRealCoordinateBasePos(bool absolute,
+ const std::vector<std::string> &v_pos);
+ v2s32 getRealCoordinateGeometry(const std::vector<std::string> &v_geom);
+
+ std::unordered_map<std::string, StyleSpec> theme_by_type;
+ std::unordered_map<std::string, StyleSpec> theme_by_name;
+ std::unordered_set<std::string> property_warned;
+
+ StyleSpec getStyleForElement(const std::string &type,
+ const std::string &name="", const std::string &parent_type="");
v2s32 padding;
v2f32 spacing;
@@ -439,12 +472,13 @@ protected:
private:
IFormSource *m_form_src;
TextDest *m_text_dst;
- u32 m_formspec_version = 0;
+ u16 m_formspec_version = 1;
std::string m_focused_element = "";
JoystickController *m_joystick;
typedef struct {
bool explicit_size;
+ bool real_coordinates;
v2f invsize;
v2s32 size;
v2f32 offset;
@@ -512,6 +546,7 @@ private:
void parsePosition(parserData *data, const std::string &element);
bool parseAnchorDirect(parserData *data, const std::string &element);
void parseAnchor(parserData *data, const std::string &element);
+ bool parseStyle(parserData *data, const std::string &element, bool style_type);
void tryClose();
@@ -542,7 +577,6 @@ private:
* and the default value for the setting is true.
*/
bool m_remap_dbl_click;
-
};
class FormspecFormSource: public IFormSource
@@ -557,7 +591,7 @@ public:
void setForm(const std::string &formspec)
{
- m_formspec = FORMSPEC_VERSION_STRING + formspec;
+ m_formspec = formspec;
}
const std::string &getForm() const
diff --git a/src/gui/guiKeyChangeMenu.cpp b/src/gui/guiKeyChangeMenu.cpp
index 1a41e5828..ca331a7d4 100644
--- a/src/gui/guiKeyChangeMenu.cpp
+++ b/src/gui/guiKeyChangeMenu.cpp
@@ -50,7 +50,7 @@ enum
GUI_ID_KEY_FAST_BUTTON,
GUI_ID_KEY_JUMP_BUTTON,
GUI_ID_KEY_NOCLIP_BUTTON,
- GUI_ID_KEY_CINEMATIC_BUTTON,
+ GUI_ID_KEY_PITCH_MOVE,
GUI_ID_KEY_CHAT_BUTTON,
GUI_ID_KEY_CMD_BUTTON,
GUI_ID_KEY_CMD_LOCAL_BUTTON,
@@ -119,9 +119,9 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
const float s = m_gui_scale;
DesiredRect = core::rect<s32>(
- screensize.X / 2 - 745 * s / 2,
+ screensize.X / 2 - 835 * s / 2,
screensize.Y / 2 - 430 * s / 2,
- screensize.X / 2 + 745 * s / 2,
+ screensize.X / 2 + 835 * s / 2,
screensize.Y / 2 + 430 * s / 2
);
recalculateAbsolutePosition(false);
@@ -155,13 +155,13 @@ void GUIKeyChangeMenu::regenerateGui(v2u32 screensize)
{
core::rect<s32> rect(0, 0, 100 * s, 30 * s);
- rect += topleft + v2s32(offset.X + 120 * s, offset.Y - 5 * s);
+ rect += topleft + v2s32(offset.X + 150 * s, offset.Y - 5 * s);
const wchar_t *text = wgettext(k->key.name());
k->button = Environment->addButton(rect, this, k->id, text);
delete[] text;
}
if ((i + 1) % KMaxButtonPerColumns == 0) {
- offset.X += 230 * s;
+ offset.X += 260 * s;
offset.Y = 60 * s;
} else {
offset += v2s32(0, 25 * s);
@@ -430,9 +430,9 @@ void GUIKeyChangeMenu::init_keys()
this->add_key(GUI_ID_KEY_HOTBAR_NEXT_BUTTON,wgettext("Next item"), "keymap_hotbar_next");
this->add_key(GUI_ID_KEY_ZOOM_BUTTON, wgettext("Zoom"), "keymap_zoom");
this->add_key(GUI_ID_KEY_CAMERA_BUTTON, wgettext("Change camera"), "keymap_camera_mode");
- this->add_key(GUI_ID_KEY_CINEMATIC_BUTTON, wgettext("Toggle Cinematic"), "keymap_cinematic");
this->add_key(GUI_ID_KEY_MINIMAP_BUTTON, wgettext("Toggle minimap"), "keymap_minimap");
this->add_key(GUI_ID_KEY_FLY_BUTTON, wgettext("Toggle fly"), "keymap_freemove");
+ this->add_key(GUI_ID_KEY_PITCH_MOVE, wgettext("Toggle pitchmove"), "keymap_pitchmove");
this->add_key(GUI_ID_KEY_FAST_BUTTON, wgettext("Toggle fast"), "keymap_fastmove");
this->add_key(GUI_ID_KEY_NOCLIP_BUTTON, wgettext("Toggle noclip"), "keymap_noclip");
this->add_key(GUI_ID_KEY_MUTE_BUTTON, wgettext("Mute"), "keymap_mute");
@@ -451,4 +451,3 @@ void GUIKeyChangeMenu::init_keys()
this->add_key(GUI_ID_KEY_CHATLOG_BUTTON, wgettext("Toggle chat log"), "keymap_toggle_chat");
this->add_key(GUI_ID_KEY_FOG_BUTTON, wgettext("Toggle fog"), "keymap_toggle_fog");
}
-
diff --git a/src/gui/guiScrollBar.cpp b/src/gui/guiScrollBar.cpp
new file mode 100644
index 000000000..f7218e733
--- /dev/null
+++ b/src/gui/guiScrollBar.cpp
@@ -0,0 +1,425 @@
+/*
+Copyright (C) 2002-2013 Nikolaus Gebhardt
+This file is part of the "Irrlicht Engine".
+For conditions of distribution and use, see copyright notice in irrlicht.h
+
+Modified 2019.05.01 by stujones11, Stuart Jones <stujones111@gmail.com>
+
+This is a heavily modified copy of the Irrlicht CGUIScrollBar class
+which includes automatic scaling of the thumb slider and hiding of
+the arrow buttons where there is insufficient space.
+*/
+
+#include "guiScrollBar.h"
+#include <IGUIButton.h>
+#include <IGUISkin.h>
+
+GUIScrollBar::GUIScrollBar(IGUIEnvironment *environment, IGUIElement *parent, s32 id,
+ core::rect<s32> rectangle, bool horizontal, bool auto_scale) :
+ IGUIElement(EGUIET_ELEMENT, environment, parent, id, rectangle),
+ up_button(nullptr), down_button(nullptr), is_dragging(false),
+ is_horizontal(horizontal), is_auto_scaling(auto_scale),
+ dragged_by_slider(false), tray_clicked(false), scroll_pos(0),
+ draw_center(0), thumb_size(0), min_pos(0), max_pos(100), small_step(10),
+ large_step(50), last_change(0), drag_offset(0), page_size(100), border_size(0)
+{
+ refreshControls();
+ setNotClipped(false);
+ setTabStop(true);
+ setTabOrder(-1);
+ setPos(0);
+}
+
+bool GUIScrollBar::OnEvent(const SEvent &event)
+{
+ if (isEnabled()) {
+ switch (event.EventType) {
+ case EET_KEY_INPUT_EVENT:
+ if (event.KeyInput.PressedDown) {
+ const s32 old_pos = scroll_pos;
+ bool absorb = true;
+ switch (event.KeyInput.Key) {
+ case KEY_LEFT:
+ case KEY_UP:
+ setPos(scroll_pos - small_step);
+ break;
+ case KEY_RIGHT:
+ case KEY_DOWN:
+ setPos(scroll_pos + small_step);
+ break;
+ case KEY_HOME:
+ setPos(min_pos);
+ break;
+ case KEY_PRIOR:
+ setPos(scroll_pos - large_step);
+ break;
+ case KEY_END:
+ setPos(max_pos);
+ break;
+ case KEY_NEXT:
+ setPos(scroll_pos + large_step);
+ break;
+ default:
+ absorb = false;
+ }
+ if (scroll_pos != old_pos) {
+ SEvent e;
+ e.EventType = EET_GUI_EVENT;
+ e.GUIEvent.Caller = this;
+ e.GUIEvent.Element = nullptr;
+ e.GUIEvent.EventType = EGET_SCROLL_BAR_CHANGED;
+ Parent->OnEvent(e);
+ }
+ if (absorb)
+ return true;
+ }
+ break;
+ case EET_GUI_EVENT:
+ if (event.GUIEvent.EventType == EGET_BUTTON_CLICKED) {
+ if (event.GUIEvent.Caller == up_button)
+ setPos(scroll_pos - small_step);
+ else if (event.GUIEvent.Caller == down_button)
+ setPos(scroll_pos + small_step);
+
+ SEvent e;
+ e.EventType = EET_GUI_EVENT;
+ e.GUIEvent.Caller = this;
+ e.GUIEvent.Element = nullptr;
+ e.GUIEvent.EventType = EGET_SCROLL_BAR_CHANGED;
+ Parent->OnEvent(e);
+ return true;
+ } else if (event.GUIEvent.EventType == EGET_ELEMENT_FOCUS_LOST)
+ if (event.GUIEvent.Caller == this)
+ is_dragging = false;
+ break;
+ case EET_MOUSE_INPUT_EVENT: {
+ const core::position2di p(event.MouseInput.X, event.MouseInput.Y);
+ bool is_inside = isPointInside(p);
+ switch (event.MouseInput.Event) {
+ case EMIE_MOUSE_WHEEL:
+ if (Environment->hasFocus(this)) {
+ s8 d = event.MouseInput.Wheel < 0 ? -1 : 1;
+ s8 h = is_horizontal ? 1 : -1;
+ setPos(getPos() + (d * small_step * h));
+
+ SEvent e;
+ e.EventType = EET_GUI_EVENT;
+ e.GUIEvent.Caller = this;
+ e.GUIEvent.Element = nullptr;
+ e.GUIEvent.EventType = EGET_SCROLL_BAR_CHANGED;
+ Parent->OnEvent(e);
+ return true;
+ }
+ break;
+ case EMIE_LMOUSE_PRESSED_DOWN: {
+ if (is_inside) {
+ is_dragging = true;
+ dragged_by_slider = slider_rect.isPointInside(p);
+ core::vector2di corner = slider_rect.UpperLeftCorner;
+ drag_offset = is_horizontal ? p.X - corner.X : p.Y - corner.Y;
+ tray_clicked = !dragged_by_slider;
+ if (tray_clicked) {
+ const s32 new_pos = getPosFromMousePos(p);
+ const s32 old_pos = scroll_pos;
+ setPos(new_pos);
+ // drag in the middle
+ drag_offset = thumb_size / 2;
+ // report the scroll event
+ if (scroll_pos != old_pos && Parent) {
+ SEvent e;
+ e.EventType = EET_GUI_EVENT;
+ e.GUIEvent.Caller = this;
+ e.GUIEvent.Element = nullptr;
+ e.GUIEvent.EventType = EGET_SCROLL_BAR_CHANGED;
+ Parent->OnEvent(e);
+ }
+ }
+ Environment->setFocus(this);
+ return true;
+ }
+ break;
+ }
+ case EMIE_LMOUSE_LEFT_UP:
+ case EMIE_MOUSE_MOVED: {
+ if (!event.MouseInput.isLeftPressed())
+ is_dragging = false;
+
+ if (!is_dragging) {
+ if (event.MouseInput.Event == EMIE_MOUSE_MOVED)
+ break;
+ return is_inside;
+ }
+
+ if (event.MouseInput.Event == EMIE_LMOUSE_LEFT_UP)
+ is_dragging = false;
+
+ // clang-format off
+ if (!dragged_by_slider) {
+ if (is_inside) {
+ dragged_by_slider = slider_rect.isPointInside(p);
+ tray_clicked = !dragged_by_slider;
+ }
+ if (!dragged_by_slider) {
+ tray_clicked = false;
+ if (event.MouseInput.Event == EMIE_MOUSE_MOVED)
+ return is_inside;
+ }
+ }
+ // clang-format on
+
+ const s32 new_pos = getPosFromMousePos(p);
+ const s32 old_pos = scroll_pos;
+
+ setPos(new_pos);
+
+ if (scroll_pos != old_pos && Parent) {
+ SEvent e;
+ e.EventType = EET_GUI_EVENT;
+ e.GUIEvent.Caller = this;
+ e.GUIEvent.Element = nullptr;
+ e.GUIEvent.EventType = EGET_SCROLL_BAR_CHANGED;
+ Parent->OnEvent(e);
+ }
+ return is_inside;
+ }
+ default:
+ break;
+ }
+ } break;
+ default:
+ break;
+ }
+ }
+ return IGUIElement::OnEvent(event);
+}
+
+void GUIScrollBar::draw()
+{
+ if (!IsVisible)
+ return;
+
+ IGUISkin *skin = Environment->getSkin();
+ if (!skin)
+ return;
+
+ video::SColor icon_color = skin->getColor(
+ isEnabled() ? EGDC_WINDOW_SYMBOL : EGDC_GRAY_WINDOW_SYMBOL);
+ if (icon_color != current_icon_color)
+ refreshControls();
+
+ slider_rect = AbsoluteRect;
+ skin->draw2DRectangle(this, skin->getColor(EGDC_SCROLLBAR), slider_rect,
+ &AbsoluteClippingRect);
+
+ if (core::isnotzero(range())) {
+ if (is_horizontal) {
+ slider_rect.UpperLeftCorner.X = AbsoluteRect.UpperLeftCorner.X +
+ draw_center - thumb_size / 2;
+ slider_rect.LowerRightCorner.X =
+ slider_rect.UpperLeftCorner.X + thumb_size;
+ } else {
+ slider_rect.UpperLeftCorner.Y = AbsoluteRect.UpperLeftCorner.Y +
+ draw_center - thumb_size / 2;
+ slider_rect.LowerRightCorner.Y =
+ slider_rect.UpperLeftCorner.Y + thumb_size;
+ }
+ skin->draw3DButtonPaneStandard(this, slider_rect, &AbsoluteClippingRect);
+ }
+ IGUIElement::draw();
+}
+
+void GUIScrollBar::updateAbsolutePosition()
+{
+ IGUIElement::updateAbsolutePosition();
+ refreshControls();
+ setPos(scroll_pos);
+}
+
+s32 GUIScrollBar::getPosFromMousePos(const core::position2di &pos) const
+{
+ s32 w, p;
+ s32 offset = dragged_by_slider ? drag_offset : thumb_size / 2;
+
+ if (is_horizontal) {
+ w = RelativeRect.getWidth() - border_size * 2 - thumb_size;
+ p = pos.X - AbsoluteRect.UpperLeftCorner.X - border_size - offset;
+ } else {
+ w = RelativeRect.getHeight() - border_size * 2 - thumb_size;
+ p = pos.Y - AbsoluteRect.UpperLeftCorner.Y - border_size - offset;
+ }
+ return core::isnotzero(range()) ? s32(f32(p) / f32(w) * range()) + min_pos : 0;
+}
+
+void GUIScrollBar::setPos(const s32 &pos)
+{
+ s32 thumb_area = 0;
+ s32 thumb_min = 0;
+
+ if (is_horizontal) {
+ thumb_min = RelativeRect.getHeight();
+ thumb_area = RelativeRect.getWidth() - border_size * 2;
+ } else {
+ thumb_min = RelativeRect.getWidth();
+ thumb_area = RelativeRect.getHeight() - border_size * 2;
+ }
+
+ if (is_auto_scaling)
+ thumb_size = s32(thumb_area /
+ (f32(page_size) / f32(thumb_area + border_size * 2)));
+
+ thumb_size = core::s32_clamp(thumb_size, thumb_min, thumb_area);
+ scroll_pos = core::s32_clamp(pos, min_pos, max_pos);
+
+ f32 f = core::isnotzero(range()) ? (f32(thumb_area) - f32(thumb_size)) / range()
+ : 1.0f;
+ draw_center = s32((f32(scroll_pos) * f) + (f32(thumb_size) * 0.5f)) + border_size;
+}
+
+void GUIScrollBar::setSmallStep(const s32 &step)
+{
+ small_step = step > 0 ? step : 10;
+}
+
+void GUIScrollBar::setLargeStep(const s32 &step)
+{
+ large_step = step > 0 ? step : 50;
+}
+
+void GUIScrollBar::setMax(const s32 &max)
+{
+ max_pos = max;
+ if (min_pos > max_pos)
+ min_pos = max_pos;
+
+ bool enable = core::isnotzero(range());
+ up_button->setEnabled(enable);
+ down_button->setEnabled(enable);
+ setPos(scroll_pos);
+}
+
+void GUIScrollBar::setMin(const s32 &min)
+{
+ min_pos = min;
+ if (max_pos < min_pos)
+ max_pos = min_pos;
+
+ bool enable = core::isnotzero(range());
+ up_button->setEnabled(enable);
+ down_button->setEnabled(enable);
+ setPos(scroll_pos);
+}
+
+void GUIScrollBar::setPageSize(const s32 &size)
+{
+ page_size = size;
+ setPos(scroll_pos);
+}
+
+s32 GUIScrollBar::getPos() const
+{
+ return scroll_pos;
+}
+
+void GUIScrollBar::refreshControls()
+{
+ IGUISkin *skin = Environment->getSkin();
+ IGUISpriteBank *sprites = nullptr;
+ current_icon_color = video::SColor(255, 255, 255, 255);
+
+ if (skin) {
+ sprites = skin->getSpriteBank();
+ current_icon_color =
+ skin->getColor(isEnabled() ? EGDC_WINDOW_SYMBOL
+ : EGDC_GRAY_WINDOW_SYMBOL);
+ }
+ if (is_horizontal) {
+ s32 h = RelativeRect.getHeight();
+ border_size = RelativeRect.getWidth() < h * 4 ? 0 : h;
+ if (!up_button) {
+ up_button = Environment->addButton(
+ core::rect<s32>(0, 0, h, h), this);
+ up_button->setSubElement(true);
+ up_button->setTabStop(false);
+ }
+ if (sprites) {
+ up_button->setSpriteBank(sprites);
+ up_button->setSprite(EGBS_BUTTON_UP,
+ s32(skin->getIcon(EGDI_CURSOR_LEFT)),
+ current_icon_color);
+ up_button->setSprite(EGBS_BUTTON_DOWN,
+ s32(skin->getIcon(EGDI_CURSOR_LEFT)),
+ current_icon_color);
+ }
+ up_button->setRelativePosition(core::rect<s32>(0, 0, h, h));
+ up_button->setAlignment(EGUIA_UPPERLEFT, EGUIA_UPPERLEFT, EGUIA_UPPERLEFT,
+ EGUIA_LOWERRIGHT);
+ if (!down_button) {
+ down_button = Environment->addButton(
+ core::rect<s32>(RelativeRect.getWidth() - h, 0,
+ RelativeRect.getWidth(), h),
+ this);
+ down_button->setSubElement(true);
+ down_button->setTabStop(false);
+ }
+ if (sprites) {
+ down_button->setSpriteBank(sprites);
+ down_button->setSprite(EGBS_BUTTON_UP,
+ s32(skin->getIcon(EGDI_CURSOR_RIGHT)),
+ current_icon_color);
+ down_button->setSprite(EGBS_BUTTON_DOWN,
+ s32(skin->getIcon(EGDI_CURSOR_RIGHT)),
+ current_icon_color);
+ }
+ down_button->setRelativePosition(
+ core::rect<s32>(RelativeRect.getWidth() - h, 0,
+ RelativeRect.getWidth(), h));
+ down_button->setAlignment(EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT,
+ EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT);
+ } else {
+ s32 w = RelativeRect.getWidth();
+ border_size = RelativeRect.getHeight() < w * 4 ? 0 : w;
+ if (!up_button) {
+ up_button = Environment->addButton(
+ core::rect<s32>(0, 0, w, w), this);
+ up_button->setSubElement(true);
+ up_button->setTabStop(false);
+ }
+ if (sprites) {
+ up_button->setSpriteBank(sprites);
+ up_button->setSprite(EGBS_BUTTON_UP,
+ s32(skin->getIcon(EGDI_CURSOR_UP)),
+ current_icon_color);
+ up_button->setSprite(EGBS_BUTTON_DOWN,
+ s32(skin->getIcon(EGDI_CURSOR_UP)),
+ current_icon_color);
+ }
+ up_button->setRelativePosition(core::rect<s32>(0, 0, w, w));
+ up_button->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT,
+ EGUIA_UPPERLEFT, EGUIA_UPPERLEFT);
+ if (!down_button) {
+ down_button = Environment->addButton(
+ core::rect<s32>(0, RelativeRect.getHeight() - w,
+ w, RelativeRect.getHeight()),
+ this);
+ down_button->setSubElement(true);
+ down_button->setTabStop(false);
+ }
+ if (sprites) {
+ down_button->setSpriteBank(sprites);
+ down_button->setSprite(EGBS_BUTTON_UP,
+ s32(skin->getIcon(EGDI_CURSOR_DOWN)),
+ current_icon_color);
+ down_button->setSprite(EGBS_BUTTON_DOWN,
+ s32(skin->getIcon(EGDI_CURSOR_DOWN)),
+ current_icon_color);
+ }
+ down_button->setRelativePosition(
+ core::rect<s32>(0, RelativeRect.getHeight() - w, w,
+ RelativeRect.getHeight()));
+ down_button->setAlignment(EGUIA_UPPERLEFT, EGUIA_LOWERRIGHT,
+ EGUIA_LOWERRIGHT, EGUIA_LOWERRIGHT);
+ }
+ bool visible = (border_size != 0);
+ up_button->setVisible(visible);
+ down_button->setVisible(visible);
+}
diff --git a/src/gui/guiScrollBar.h b/src/gui/guiScrollBar.h
new file mode 100644
index 000000000..349411fc1
--- /dev/null
+++ b/src/gui/guiScrollBar.h
@@ -0,0 +1,69 @@
+/*
+Copyright (C) 2002-2013 Nikolaus Gebhardt
+This file is part of the "Irrlicht Engine".
+For conditions of distribution and use, see copyright notice in irrlicht.h
+
+Modified 2019.05.01 by stujones11, Stuart Jones <stujones111@gmail.com>
+
+This is a heavily modified copy of the Irrlicht CGUIScrollBar class
+which includes automatic scaling of the thumb slider and hiding of
+the arrow buttons where there is insufficient space.
+*/
+
+#pragma once
+
+#include "irrlichttypes_extrabloated.h"
+
+using namespace irr;
+using namespace gui;
+
+class GUIScrollBar : public IGUIElement
+{
+public:
+ GUIScrollBar(IGUIEnvironment *environment, IGUIElement *parent, s32 id,
+ core::rect<s32> rectangle, bool horizontal, bool auto_scale);
+
+ virtual void draw();
+ virtual void updateAbsolutePosition();
+ virtual bool OnEvent(const SEvent &event);
+
+ s32 getMax() const { return max_pos; }
+ s32 getMin() const { return min_pos; }
+ s32 getLargeStep() const { return large_step; }
+ s32 getSmallStep() const { return small_step; }
+ s32 getPos() const;
+
+ void setMax(const s32 &max);
+ void setMin(const s32 &min);
+ void setSmallStep(const s32 &step);
+ void setLargeStep(const s32 &step);
+ void setPos(const s32 &pos);
+ void setPageSize(const s32 &size);
+
+private:
+ void refreshControls();
+ s32 getPosFromMousePos(const core::position2di &p) const;
+ f32 range() const { return f32(max_pos - min_pos); }
+
+ IGUIButton *up_button;
+ IGUIButton *down_button;
+ bool is_dragging;
+ bool is_horizontal;
+ bool is_auto_scaling;
+ bool dragged_by_slider;
+ bool tray_clicked;
+ s32 scroll_pos;
+ s32 draw_center;
+ s32 thumb_size;
+ s32 min_pos;
+ s32 max_pos;
+ s32 small_step;
+ s32 large_step;
+ u32 last_change;
+ s32 drag_offset;
+ s32 page_size;
+ s32 border_size;
+
+ core::rect<s32> slider_rect;
+ video::SColor current_icon_color;
+};
diff --git a/src/gui/guiSkin.cpp b/src/gui/guiSkin.cpp
new file mode 100644
index 000000000..8892a00b4
--- /dev/null
+++ b/src/gui/guiSkin.cpp
@@ -0,0 +1,1084 @@
+// Copyright (C) 2002-2012 Nikolaus Gebhardt
+// Copyright (C) 2019 Irrlick
+//
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in irrlicht.h
+
+#include "guiSkin.h"
+#ifdef _IRR_COMPILE_WITH_GUI_
+
+#include "IGUIFont.h"
+#include "IGUISpriteBank.h"
+#include "IGUIElement.h"
+#include "IVideoDriver.h"
+#include "IAttributes.h"
+
+namespace irr
+{
+namespace gui
+{
+
+GUISkin::GUISkin(EGUI_SKIN_TYPE type, video::IVideoDriver* driver)
+: SpriteBank(0), Driver(driver), Type(type)
+{
+ #ifdef _DEBUG
+ setDebugName("GUISkin");
+ #endif
+
+ if ((Type == EGST_WINDOWS_CLASSIC) || (Type == EGST_WINDOWS_METALLIC))
+ {
+ Colors[EGDC_3D_DARK_SHADOW] = video::SColor(101,50,50,50);
+ Colors[EGDC_3D_SHADOW] = video::SColor(101,130,130,130);
+ Colors[EGDC_3D_FACE] = video::SColor(101,210,210,210);
+ Colors[EGDC_3D_HIGH_LIGHT] = video::SColor(101,255,255,255);
+ Colors[EGDC_3D_LIGHT] = video::SColor(101,210,210,210);
+ Colors[EGDC_ACTIVE_BORDER] = video::SColor(101,16,14,115);
+ Colors[EGDC_ACTIVE_CAPTION] = video::SColor(255,255,255,255);
+ Colors[EGDC_APP_WORKSPACE] = video::SColor(101,100,100,100);
+ Colors[EGDC_BUTTON_TEXT] = video::SColor(240,10,10,10);
+ Colors[EGDC_GRAY_TEXT] = video::SColor(240,130,130,130);
+ Colors[EGDC_HIGH_LIGHT] = video::SColor(101,8,36,107);
+ Colors[EGDC_HIGH_LIGHT_TEXT] = video::SColor(240,255,255,255);
+ Colors[EGDC_INACTIVE_BORDER] = video::SColor(101,165,165,165);
+ Colors[EGDC_INACTIVE_CAPTION] = video::SColor(255,30,30,30);
+ Colors[EGDC_TOOLTIP] = video::SColor(200,0,0,0);
+ Colors[EGDC_TOOLTIP_BACKGROUND] = video::SColor(200,255,255,225);
+ Colors[EGDC_SCROLLBAR] = video::SColor(101,230,230,230);
+ Colors[EGDC_WINDOW] = video::SColor(101,255,255,255);
+ Colors[EGDC_WINDOW_SYMBOL] = video::SColor(200,10,10,10);
+ Colors[EGDC_ICON] = video::SColor(200,255,255,255);
+ Colors[EGDC_ICON_HIGH_LIGHT] = video::SColor(200,8,36,107);
+ Colors[EGDC_GRAY_WINDOW_SYMBOL] = video::SColor(240,100,100,100);
+ Colors[EGDC_EDITABLE] = video::SColor(255,255,255,255);
+ Colors[EGDC_GRAY_EDITABLE] = video::SColor(255,120,120,120);
+ Colors[EGDC_FOCUSED_EDITABLE] = video::SColor(255,240,240,255);
+
+
+ Sizes[EGDS_SCROLLBAR_SIZE] = 14;
+ Sizes[EGDS_MENU_HEIGHT] = 30;
+ Sizes[EGDS_WINDOW_BUTTON_WIDTH] = 15;
+ Sizes[EGDS_CHECK_BOX_WIDTH] = 18;
+ Sizes[EGDS_MESSAGE_BOX_WIDTH] = 500;
+ Sizes[EGDS_MESSAGE_BOX_HEIGHT] = 200;
+ Sizes[EGDS_BUTTON_WIDTH] = 80;
+ Sizes[EGDS_BUTTON_HEIGHT] = 30;
+
+ Sizes[EGDS_TEXT_DISTANCE_X] = 2;
+ Sizes[EGDS_TEXT_DISTANCE_Y] = 0;
+
+ Sizes[EGDS_TITLEBARTEXT_DISTANCE_X] = 2;
+ Sizes[EGDS_TITLEBARTEXT_DISTANCE_Y] = 0;
+ }
+ else
+ {
+ //0x80a6a8af
+ Colors[EGDC_3D_DARK_SHADOW] = 0x60767982;
+ //Colors[EGDC_3D_FACE] = 0xc0c9ccd4; // tab background
+ Colors[EGDC_3D_FACE] = 0xc0cbd2d9; // tab background
+ Colors[EGDC_3D_SHADOW] = 0x50e4e8f1; // tab background, and left-top highlight
+ Colors[EGDC_3D_HIGH_LIGHT] = 0x40c7ccdc;
+ Colors[EGDC_3D_LIGHT] = 0x802e313a;
+ Colors[EGDC_ACTIVE_BORDER] = 0x80404040; // window title
+ Colors[EGDC_ACTIVE_CAPTION] = 0xffd0d0d0;
+ Colors[EGDC_APP_WORKSPACE] = 0xc0646464; // unused
+ Colors[EGDC_BUTTON_TEXT] = 0xd0161616;
+ Colors[EGDC_GRAY_TEXT] = 0x3c141414;
+ Colors[EGDC_HIGH_LIGHT] = 0x6c606060;
+ Colors[EGDC_HIGH_LIGHT_TEXT] = 0xd0e0e0e0;
+ Colors[EGDC_INACTIVE_BORDER] = 0xf0a5a5a5;
+ Colors[EGDC_INACTIVE_CAPTION] = 0xffd2d2d2;
+ Colors[EGDC_TOOLTIP] = 0xf00f2033;
+ Colors[EGDC_TOOLTIP_BACKGROUND] = 0xc0cbd2d9;
+ Colors[EGDC_SCROLLBAR] = 0xf0e0e0e0;
+ Colors[EGDC_WINDOW] = 0xf0f0f0f0;
+ Colors[EGDC_WINDOW_SYMBOL] = 0xd0161616;
+ Colors[EGDC_ICON] = 0xd0161616;
+ Colors[EGDC_ICON_HIGH_LIGHT] = 0xd0606060;
+ Colors[EGDC_GRAY_WINDOW_SYMBOL] = 0x3c101010;
+ Colors[EGDC_EDITABLE] = 0xf0ffffff;
+ Colors[EGDC_GRAY_EDITABLE] = 0xf0cccccc;
+ Colors[EGDC_FOCUSED_EDITABLE] = 0xf0fffff0;
+
+ Sizes[EGDS_SCROLLBAR_SIZE] = 14;
+ Sizes[EGDS_MENU_HEIGHT] = 48;
+ Sizes[EGDS_WINDOW_BUTTON_WIDTH] = 15;
+ Sizes[EGDS_CHECK_BOX_WIDTH] = 18;
+ Sizes[EGDS_MESSAGE_BOX_WIDTH] = 500;
+ Sizes[EGDS_MESSAGE_BOX_HEIGHT] = 200;
+ Sizes[EGDS_BUTTON_WIDTH] = 80;
+ Sizes[EGDS_BUTTON_HEIGHT] = 30;
+
+ Sizes[EGDS_TEXT_DISTANCE_X] = 3;
+ Sizes[EGDS_TEXT_DISTANCE_Y] = 2;
+
+ Sizes[EGDS_TITLEBARTEXT_DISTANCE_X] = 3;
+ Sizes[EGDS_TITLEBARTEXT_DISTANCE_Y] = 2;
+ }
+
+ Sizes[EGDS_MESSAGE_BOX_GAP_SPACE] = 15;
+ Sizes[EGDS_MESSAGE_BOX_MIN_TEXT_WIDTH] = 0;
+ Sizes[EGDS_MESSAGE_BOX_MAX_TEXT_WIDTH] = 500;
+ Sizes[EGDS_MESSAGE_BOX_MIN_TEXT_HEIGHT] = 0;
+ Sizes[EGDS_MESSAGE_BOX_MAX_TEXT_HEIGHT] = 99999;
+
+ Sizes[EGDS_BUTTON_PRESSED_IMAGE_OFFSET_X] = 1;
+ Sizes[EGDS_BUTTON_PRESSED_IMAGE_OFFSET_Y] = 1;
+ Sizes[EGDS_BUTTON_PRESSED_TEXT_OFFSET_X] = 0;
+ Sizes[EGDS_BUTTON_PRESSED_TEXT_OFFSET_Y] = 2;
+
+ Texts[EGDT_MSG_BOX_OK] = L"OK";
+ Texts[EGDT_MSG_BOX_CANCEL] = L"Cancel";
+ Texts[EGDT_MSG_BOX_YES] = L"Yes";
+ Texts[EGDT_MSG_BOX_NO] = L"No";
+ Texts[EGDT_WINDOW_CLOSE] = L"Close";
+ Texts[EGDT_WINDOW_RESTORE] = L"Restore";
+ Texts[EGDT_WINDOW_MINIMIZE] = L"Minimize";
+ Texts[EGDT_WINDOW_MAXIMIZE] = L"Maximize";
+
+ Icons[EGDI_WINDOW_MAXIMIZE] = 225;
+ Icons[EGDI_WINDOW_RESTORE] = 226;
+ Icons[EGDI_WINDOW_CLOSE] = 227;
+ Icons[EGDI_WINDOW_MINIMIZE] = 228;
+ Icons[EGDI_CURSOR_UP] = 229;
+ Icons[EGDI_CURSOR_DOWN] = 230;
+ Icons[EGDI_CURSOR_LEFT] = 231;
+ Icons[EGDI_CURSOR_RIGHT] = 232;
+ Icons[EGDI_MENU_MORE] = 232;
+ Icons[EGDI_CHECK_BOX_CHECKED] = 233;
+ Icons[EGDI_DROP_DOWN] = 234;
+ Icons[EGDI_SMALL_CURSOR_UP] = 235;
+ Icons[EGDI_SMALL_CURSOR_DOWN] = 236;
+ Icons[EGDI_RADIO_BUTTON_CHECKED] = 237;
+ Icons[EGDI_MORE_LEFT] = 238;
+ Icons[EGDI_MORE_RIGHT] = 239;
+ Icons[EGDI_MORE_UP] = 240;
+ Icons[EGDI_MORE_DOWN] = 241;
+ Icons[EGDI_WINDOW_RESIZE] = 242;
+ Icons[EGDI_EXPAND] = 243;
+ Icons[EGDI_COLLAPSE] = 244;
+
+ Icons[EGDI_FILE] = 245;
+ Icons[EGDI_DIRECTORY] = 246;
+
+ for (u32 i=0; i<EGDF_COUNT; ++i)
+ Fonts[i] = 0;
+
+ UseGradient = (Type == EGST_WINDOWS_METALLIC) || (Type == EGST_BURNING_SKIN) ;
+}
+
+
+//! destructor
+GUISkin::~GUISkin()
+{
+ for (u32 i=0; i<EGDF_COUNT; ++i)
+ {
+ if (Fonts[i])
+ Fonts[i]->drop();
+ }
+
+ if (SpriteBank)
+ SpriteBank->drop();
+}
+
+
+//! returns default color
+video::SColor GUISkin::getColor(EGUI_DEFAULT_COLOR color) const
+{
+ if ((u32)color < EGDC_COUNT)
+ return Colors[color];
+ else
+ return video::SColor();
+}
+
+
+//! sets a default color
+void GUISkin::setColor(EGUI_DEFAULT_COLOR which, video::SColor newColor)
+{
+ if ((u32)which < EGDC_COUNT)
+ Colors[which] = newColor;
+}
+
+
+//! returns size for the given size type
+s32 GUISkin::getSize(EGUI_DEFAULT_SIZE size) const
+{
+ if ((u32)size < EGDS_COUNT)
+ return Sizes[size];
+ else
+ return 0;
+}
+
+
+//! sets a default size
+void GUISkin::setSize(EGUI_DEFAULT_SIZE which, s32 size)
+{
+ if ((u32)which < EGDS_COUNT)
+ Sizes[which] = size;
+}
+
+
+//! returns the default font
+IGUIFont* GUISkin::getFont(EGUI_DEFAULT_FONT which) const
+{
+ if (((u32)which < EGDF_COUNT) && Fonts[which])
+ return Fonts[which];
+ else
+ return Fonts[EGDF_DEFAULT];
+}
+
+
+//! sets a default font
+void GUISkin::setFont(IGUIFont* font, EGUI_DEFAULT_FONT which)
+{
+ if ((u32)which >= EGDF_COUNT)
+ return;
+
+ if (font)
+ {
+ font->grab();
+ if (Fonts[which])
+ Fonts[which]->drop();
+
+ Fonts[which] = font;
+ }
+}
+
+
+//! gets the sprite bank stored
+IGUISpriteBank* GUISkin::getSpriteBank() const
+{
+ return SpriteBank;
+}
+
+
+//! set a new sprite bank or remove one by passing 0
+void GUISkin::setSpriteBank(IGUISpriteBank* bank)
+{
+ if (bank)
+ bank->grab();
+
+ if (SpriteBank)
+ SpriteBank->drop();
+
+ SpriteBank = bank;
+}
+
+
+//! Returns a default icon
+u32 GUISkin::getIcon(EGUI_DEFAULT_ICON icon) const
+{
+ if ((u32)icon < EGDI_COUNT)
+ return Icons[icon];
+ else
+ return 0;
+}
+
+
+//! Sets a default icon
+void GUISkin::setIcon(EGUI_DEFAULT_ICON icon, u32 index)
+{
+ if ((u32)icon < EGDI_COUNT)
+ Icons[icon] = index;
+}
+
+
+//! Returns a default text. For example for Message box button captions:
+//! "OK", "Cancel", "Yes", "No" and so on.
+const wchar_t* GUISkin::getDefaultText(EGUI_DEFAULT_TEXT text) const
+{
+ if ((u32)text < EGDT_COUNT)
+ return Texts[text].c_str();
+ else
+ return Texts[0].c_str();
+}
+
+
+//! Sets a default text. For example for Message box button captions:
+//! "OK", "Cancel", "Yes", "No" and so on.
+void GUISkin::setDefaultText(EGUI_DEFAULT_TEXT which, const wchar_t* newText)
+{
+ if ((u32)which < EGDT_COUNT)
+ Texts[which] = newText;
+}
+
+
+//! draws a standard 3d button pane
+/** Used for drawing for example buttons in normal state.
+It uses the colors EGDC_3D_DARK_SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and
+EGDC_3D_FACE for this. See EGUI_DEFAULT_COLOR for details.
+\param rect: Defining area where to draw.
+\param clip: Clip area.
+\param element: Pointer to the element which wishes to draw this. This parameter
+is usually not used by ISkin, but can be used for example by more complex
+implementations to find out how to draw the part exactly. */
+// PATCH
+void GUISkin::drawColored3DButtonPaneStandard(IGUIElement* element,
+ const core::rect<s32>& r,
+ const core::rect<s32>* clip,
+ const video::SColor* colors)
+{
+ if (!Driver)
+ return;
+
+ if (!colors)
+ colors = Colors;
+
+ core::rect<s32> rect = r;
+
+ if ( Type == EGST_BURNING_SKIN )
+ {
+ rect.UpperLeftCorner.X -= 1;
+ rect.UpperLeftCorner.Y -= 1;
+ rect.LowerRightCorner.X += 1;
+ rect.LowerRightCorner.Y += 1;
+ draw3DSunkenPane(element,
+ colors[ EGDC_WINDOW ].getInterpolated( 0xFFFFFFFF, 0.9f )
+ ,false, true, rect, clip);
+ return;
+ }
+
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], rect, clip);
+
+ rect.LowerRightCorner.X -= 1;
+ rect.LowerRightCorner.Y -= 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip);
+
+ rect.UpperLeftCorner.X += 1;
+ rect.UpperLeftCorner.Y += 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip);
+
+ rect.LowerRightCorner.X -= 1;
+ rect.LowerRightCorner.Y -= 1;
+
+ if (!UseGradient)
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_FACE], rect, clip);
+ }
+ else
+ {
+ const video::SColor c1 = colors[EGDC_3D_FACE];
+ const video::SColor c2 = c1.getInterpolated(colors[EGDC_3D_DARK_SHADOW], 0.4f);
+ Driver->draw2DRectangle(rect, c1, c1, c2, c2, clip);
+ }
+}
+// END PATCH
+
+
+//! draws a pressed 3d button pane
+/** Used for drawing for example buttons in pressed state.
+It uses the colors EGDC_3D_DARK_SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and
+EGDC_3D_FACE for this. See EGUI_DEFAULT_COLOR for details.
+\param rect: Defining area where to draw.
+\param clip: Clip area.
+\param element: Pointer to the element which wishes to draw this. This parameter
+is usually not used by ISkin, but can be used for example by more complex
+implementations to find out how to draw the part exactly. */
+// PATCH
+void GUISkin::drawColored3DButtonPanePressed(IGUIElement* element,
+ const core::rect<s32>& r,
+ const core::rect<s32>* clip,
+ const video::SColor* colors)
+{
+ if (!Driver)
+ return;
+
+ if (!colors)
+ colors = Colors;
+
+ core::rect<s32> rect = r;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip);
+
+ rect.LowerRightCorner.X -= 1;
+ rect.LowerRightCorner.Y -= 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], rect, clip);
+
+ rect.UpperLeftCorner.X += 1;
+ rect.UpperLeftCorner.Y += 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip);
+
+ rect.UpperLeftCorner.X += 1;
+ rect.UpperLeftCorner.Y += 1;
+
+ if (!UseGradient)
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_FACE], rect, clip);
+ }
+ else
+ {
+ const video::SColor c1 = colors[EGDC_3D_FACE];
+ const video::SColor c2 = c1.getInterpolated(colors[EGDC_3D_DARK_SHADOW], 0.4f);
+ Driver->draw2DRectangle(rect, c1, c1, c2, c2, clip);
+ }
+}
+// END PATCH
+
+
+//! draws a sunken 3d pane
+/** Used for drawing the background of edit, combo or check boxes.
+\param element: Pointer to the element which wishes to draw this. This parameter
+is usually not used by ISkin, but can be used for example by more complex
+implementations to find out how to draw the part exactly.
+\param bgcolor: Background color.
+\param flat: Specifies if the sunken pane should be flat or displayed as sunken
+deep into the ground.
+\param rect: Defining area where to draw.
+\param clip: Clip area. */
+// PATCH
+void GUISkin::drawColored3DSunkenPane(IGUIElement* element, video::SColor bgcolor,
+ bool flat, bool fillBackGround,
+ const core::rect<s32>& r,
+ const core::rect<s32>* clip,
+ const video::SColor* colors)
+{
+ if (!Driver)
+ return;
+
+ if (!colors)
+ colors = Colors;
+
+ core::rect<s32> rect = r;
+
+ if (fillBackGround)
+ Driver->draw2DRectangle(bgcolor, rect, clip);
+
+ if (flat)
+ {
+ // draw flat sunken pane
+
+ rect.LowerRightCorner.Y = rect.UpperLeftCorner.Y + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip); // top
+
+ ++rect.UpperLeftCorner.Y;
+ rect.LowerRightCorner.Y = r.LowerRightCorner.Y;
+ rect.LowerRightCorner.X = rect.UpperLeftCorner.X + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip); // left
+
+ rect = r;
+ ++rect.UpperLeftCorner.Y;
+ rect.UpperLeftCorner.X = rect.LowerRightCorner.X - 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip); // right
+
+ rect = r;
+ ++rect.UpperLeftCorner.X;
+ rect.UpperLeftCorner.Y = r.LowerRightCorner.Y - 1;
+ --rect.LowerRightCorner.X;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip); // bottom
+ }
+ else
+ {
+ // draw deep sunken pane
+ rect.LowerRightCorner.Y = rect.UpperLeftCorner.Y + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip); // top
+ ++rect.UpperLeftCorner.X;
+ ++rect.UpperLeftCorner.Y;
+ --rect.LowerRightCorner.X;
+ ++rect.LowerRightCorner.Y;
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], rect, clip);
+
+ rect.UpperLeftCorner.X = r.UpperLeftCorner.X;
+ rect.UpperLeftCorner.Y = r.UpperLeftCorner.Y+1;
+ rect.LowerRightCorner.X = rect.UpperLeftCorner.X + 1;
+ rect.LowerRightCorner.Y = r.LowerRightCorner.Y;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip); // left
+ ++rect.UpperLeftCorner.X;
+ ++rect.UpperLeftCorner.Y;
+ ++rect.LowerRightCorner.X;
+ --rect.LowerRightCorner.Y;
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], rect, clip);
+
+ rect = r;
+ rect.UpperLeftCorner.X = rect.LowerRightCorner.X - 1;
+ ++rect.UpperLeftCorner.Y;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip); // right
+ --rect.UpperLeftCorner.X;
+ ++rect.UpperLeftCorner.Y;
+ --rect.LowerRightCorner.X;
+ --rect.LowerRightCorner.Y;
+ Driver->draw2DRectangle(colors[EGDC_3D_LIGHT], rect, clip);
+
+ rect = r;
+ ++rect.UpperLeftCorner.X;
+ rect.UpperLeftCorner.Y = r.LowerRightCorner.Y - 1;
+ --rect.LowerRightCorner.X;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip); // bottom
+ ++rect.UpperLeftCorner.X;
+ --rect.UpperLeftCorner.Y;
+ --rect.LowerRightCorner.X;
+ --rect.LowerRightCorner.Y;
+ Driver->draw2DRectangle(colors[EGDC_3D_LIGHT], rect, clip);
+ }
+}
+// END PATCH
+
+//! draws a window background
+// return where to draw title bar text.
+// PATCH
+core::rect<s32> GUISkin::drawColored3DWindowBackground(IGUIElement* element,
+ bool drawTitleBar, video::SColor titleBarColor,
+ const core::rect<s32>& r,
+ const core::rect<s32>* clip,
+ core::rect<s32>* checkClientArea,
+ const video::SColor* colors)
+{
+ if (!Driver)
+ {
+ if ( checkClientArea )
+ {
+ *checkClientArea = r;
+ }
+ return r;
+ }
+
+ if (!colors)
+ colors = Colors;
+
+ core::rect<s32> rect = r;
+
+ // top border
+ rect.LowerRightCorner.Y = rect.UpperLeftCorner.Y + 1;
+ if ( !checkClientArea )
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip);
+ }
+
+ // left border
+ rect.LowerRightCorner.Y = r.LowerRightCorner.Y;
+ rect.LowerRightCorner.X = rect.UpperLeftCorner.X + 1;
+ if ( !checkClientArea )
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip);
+ }
+
+ // right border dark outer line
+ rect.UpperLeftCorner.X = r.LowerRightCorner.X - 1;
+ rect.LowerRightCorner.X = r.LowerRightCorner.X;
+ rect.UpperLeftCorner.Y = r.UpperLeftCorner.Y;
+ rect.LowerRightCorner.Y = r.LowerRightCorner.Y;
+ if ( !checkClientArea )
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], rect, clip);
+ }
+
+ // right border bright innner line
+ rect.UpperLeftCorner.X -= 1;
+ rect.LowerRightCorner.X -= 1;
+ rect.UpperLeftCorner.Y += 1;
+ rect.LowerRightCorner.Y -= 1;
+ if ( !checkClientArea )
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip);
+ }
+
+ // bottom border dark outer line
+ rect.UpperLeftCorner.X = r.UpperLeftCorner.X;
+ rect.UpperLeftCorner.Y = r.LowerRightCorner.Y - 1;
+ rect.LowerRightCorner.Y = r.LowerRightCorner.Y;
+ rect.LowerRightCorner.X = r.LowerRightCorner.X;
+ if ( !checkClientArea )
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], rect, clip);
+ }
+
+ // bottom border bright inner line
+ rect.UpperLeftCorner.X += 1;
+ rect.LowerRightCorner.X -= 1;
+ rect.UpperLeftCorner.Y -= 1;
+ rect.LowerRightCorner.Y -= 1;
+ if ( !checkClientArea )
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip);
+ }
+
+ // client area for background
+ rect = r;
+ rect.UpperLeftCorner.X +=1;
+ rect.UpperLeftCorner.Y +=1;
+ rect.LowerRightCorner.X -= 2;
+ rect.LowerRightCorner.Y -= 2;
+ if (checkClientArea)
+ {
+ *checkClientArea = rect;
+ }
+
+ if ( !checkClientArea )
+ {
+ if (!UseGradient)
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_FACE], rect, clip);
+ }
+ else if ( Type == EGST_BURNING_SKIN )
+ {
+ const video::SColor c1 = colors[EGDC_WINDOW].getInterpolated ( 0xFFFFFFFF, 0.9f );
+ const video::SColor c2 = colors[EGDC_WINDOW].getInterpolated ( 0xFFFFFFFF, 0.8f );
+
+ Driver->draw2DRectangle(rect, c1, c1, c2, c2, clip);
+ }
+ else
+ {
+ const video::SColor c2 = colors[EGDC_3D_SHADOW];
+ const video::SColor c1 = colors[EGDC_3D_FACE];
+ Driver->draw2DRectangle(rect, c1, c1, c1, c2, clip);
+ }
+ }
+
+ // title bar
+ rect = r;
+ rect.UpperLeftCorner.X += 2;
+ rect.UpperLeftCorner.Y += 2;
+ rect.LowerRightCorner.X -= 2;
+ rect.LowerRightCorner.Y = rect.UpperLeftCorner.Y + getSize(EGDS_WINDOW_BUTTON_WIDTH) + 2;
+
+ if (drawTitleBar )
+ {
+ if (checkClientArea)
+ {
+ (*checkClientArea).UpperLeftCorner.Y = rect.LowerRightCorner.Y;
+ }
+ else
+ {
+ // draw title bar
+ //if (!UseGradient)
+ // Driver->draw2DRectangle(titleBarColor, rect, clip);
+ //else
+ if ( Type == EGST_BURNING_SKIN )
+ {
+ const video::SColor c = titleBarColor.getInterpolated( video::SColor(titleBarColor.getAlpha(),255,255,255), 0.8f);
+ Driver->draw2DRectangle(rect, titleBarColor, titleBarColor, c, c, clip);
+ }
+ else
+ {
+ const video::SColor c = titleBarColor.getInterpolated(video::SColor(titleBarColor.getAlpha(),0,0,0), 0.2f);
+ Driver->draw2DRectangle(rect, titleBarColor, c, titleBarColor, c, clip);
+ }
+ }
+ }
+
+ return rect;
+}
+// END PATCH
+
+
+//! draws a standard 3d menu pane
+/** Used for drawing for menus and context menus.
+It uses the colors EGDC_3D_DARK_SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and
+EGDC_3D_FACE for this. See EGUI_DEFAULT_COLOR for details.
+\param element: Pointer to the element which wishes to draw this. This parameter
+is usually not used by ISkin, but can be used for example by more complex
+implementations to find out how to draw the part exactly.
+\param rect: Defining area where to draw.
+\param clip: Clip area. */
+// PATCH
+void GUISkin::drawColored3DMenuPane(IGUIElement* element,
+ const core::rect<s32>& r, const core::rect<s32>* clip,
+ const video::SColor* colors)
+{
+ if (!Driver)
+ return;
+
+ if (!colors)
+ colors = Colors;
+
+ core::rect<s32> rect = r;
+
+ if ( Type == EGST_BURNING_SKIN )
+ {
+ rect.UpperLeftCorner.Y -= 3;
+ draw3DButtonPaneStandard(element, rect, clip);
+ return;
+ }
+
+ // in this skin, this is exactly what non pressed buttons look like,
+ // so we could simply call
+ // draw3DButtonPaneStandard(element, rect, clip);
+ // here.
+ // but if the skin is transparent, this doesn't look that nice. So
+ // We draw it a little bit better, with some more draw2DRectangle calls,
+ // but there aren't that much menus visible anyway.
+
+ rect.LowerRightCorner.Y = rect.UpperLeftCorner.Y + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip);
+
+ rect.LowerRightCorner.Y = r.LowerRightCorner.Y;
+ rect.LowerRightCorner.X = rect.UpperLeftCorner.X + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], rect, clip);
+
+ rect.UpperLeftCorner.X = r.LowerRightCorner.X - 1;
+ rect.LowerRightCorner.X = r.LowerRightCorner.X;
+ rect.UpperLeftCorner.Y = r.UpperLeftCorner.Y;
+ rect.LowerRightCorner.Y = r.LowerRightCorner.Y;
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], rect, clip);
+
+ rect.UpperLeftCorner.X -= 1;
+ rect.LowerRightCorner.X -= 1;
+ rect.UpperLeftCorner.Y += 1;
+ rect.LowerRightCorner.Y -= 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip);
+
+ rect.UpperLeftCorner.X = r.UpperLeftCorner.X;
+ rect.UpperLeftCorner.Y = r.LowerRightCorner.Y - 1;
+ rect.LowerRightCorner.Y = r.LowerRightCorner.Y;
+ rect.LowerRightCorner.X = r.LowerRightCorner.X;
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], rect, clip);
+
+ rect.UpperLeftCorner.X += 1;
+ rect.LowerRightCorner.X -= 1;
+ rect.UpperLeftCorner.Y -= 1;
+ rect.LowerRightCorner.Y -= 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip);
+
+ rect = r;
+ rect.UpperLeftCorner.X +=1;
+ rect.UpperLeftCorner.Y +=1;
+ rect.LowerRightCorner.X -= 2;
+ rect.LowerRightCorner.Y -= 2;
+
+ if (!UseGradient)
+ Driver->draw2DRectangle(colors[EGDC_3D_FACE], rect, clip);
+ else
+ {
+ const video::SColor c1 = colors[EGDC_3D_FACE];
+ const video::SColor c2 = colors[EGDC_3D_SHADOW];
+ Driver->draw2DRectangle(rect, c1, c1, c2, c2, clip);
+ }
+}
+// END PATCH
+
+
+//! draws a standard 3d tool bar
+/** Used for drawing for toolbars and menus.
+\param element: Pointer to the element which wishes to draw this. This parameter
+is usually not used by ISkin, but can be used for example by more complex
+implementations to find out how to draw the part exactly.
+\param rect: Defining area where to draw.
+\param clip: Clip area. */
+// PATCH
+void GUISkin::drawColored3DToolBar(IGUIElement* element,
+ const core::rect<s32>& r,
+ const core::rect<s32>* clip,
+ const video::SColor* colors)
+{
+ if (!Driver)
+ return;
+
+ if (!colors)
+ colors = Colors;
+
+ core::rect<s32> rect = r;
+
+ rect.UpperLeftCorner.X = r.UpperLeftCorner.X;
+ rect.UpperLeftCorner.Y = r.LowerRightCorner.Y - 1;
+ rect.LowerRightCorner.Y = r.LowerRightCorner.Y;
+ rect.LowerRightCorner.X = r.LowerRightCorner.X;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], rect, clip);
+
+ rect = r;
+ rect.LowerRightCorner.Y -= 1;
+
+ if (!UseGradient)
+ {
+ Driver->draw2DRectangle(colors[EGDC_3D_FACE], rect, clip);
+ }
+ else
+ if ( Type == EGST_BURNING_SKIN )
+ {
+ const video::SColor c1 = 0xF0000000 | colors[EGDC_3D_FACE].color;
+ const video::SColor c2 = 0xF0000000 | colors[EGDC_3D_SHADOW].color;
+
+ rect.LowerRightCorner.Y += 1;
+ Driver->draw2DRectangle(rect, c1, c2, c1, c2, clip);
+ }
+ else
+ {
+ const video::SColor c1 = colors[EGDC_3D_FACE];
+ const video::SColor c2 = colors[EGDC_3D_SHADOW];
+ Driver->draw2DRectangle(rect, c1, c1, c2, c2, clip);
+ }
+}
+// END PATCH
+
+//! draws a tab button
+/** Used for drawing for tab buttons on top of tabs.
+\param element: Pointer to the element which wishes to draw this. This parameter
+is usually not used by ISkin, but can be used for example by more complex
+implementations to find out how to draw the part exactly.
+\param active: Specifies if the tab is currently active.
+\param rect: Defining area where to draw.
+\param clip: Clip area. */
+// PATCH
+void GUISkin::drawColored3DTabButton(IGUIElement* element, bool active,
+ const core::rect<s32>& frameRect, const core::rect<s32>* clip, EGUI_ALIGNMENT alignment,
+ const video::SColor* colors)
+{
+ if (!Driver)
+ return;
+
+ if (!colors)
+ colors = Colors;
+
+ core::rect<s32> tr = frameRect;
+
+ if ( alignment == EGUIA_UPPERLEFT )
+ {
+ tr.LowerRightCorner.X -= 2;
+ tr.LowerRightCorner.Y = tr.UpperLeftCorner.Y + 1;
+ tr.UpperLeftCorner.X += 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], tr, clip);
+
+ // draw left highlight
+ tr = frameRect;
+ tr.LowerRightCorner.X = tr.UpperLeftCorner.X + 1;
+ tr.UpperLeftCorner.Y += 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], tr, clip);
+
+ // draw grey background
+ tr = frameRect;
+ tr.UpperLeftCorner.X += 1;
+ tr.UpperLeftCorner.Y += 1;
+ tr.LowerRightCorner.X -= 2;
+ Driver->draw2DRectangle(colors[EGDC_3D_FACE], tr, clip);
+
+ // draw right middle gray shadow
+ tr.LowerRightCorner.X += 1;
+ tr.UpperLeftCorner.X = tr.LowerRightCorner.X - 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], tr, clip);
+
+ tr.LowerRightCorner.X += 1;
+ tr.UpperLeftCorner.X += 1;
+ tr.UpperLeftCorner.Y += 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], tr, clip);
+ }
+ else
+ {
+ tr.LowerRightCorner.X -= 2;
+ tr.UpperLeftCorner.Y = tr.LowerRightCorner.Y - 1;
+ tr.UpperLeftCorner.X += 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], tr, clip);
+
+ // draw left highlight
+ tr = frameRect;
+ tr.LowerRightCorner.X = tr.UpperLeftCorner.X + 1;
+ tr.LowerRightCorner.Y -= 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], tr, clip);
+
+ // draw grey background
+ tr = frameRect;
+ tr.UpperLeftCorner.X += 1;
+ tr.UpperLeftCorner.Y -= 1;
+ tr.LowerRightCorner.X -= 2;
+ tr.LowerRightCorner.Y -= 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_FACE], tr, clip);
+
+ // draw right middle gray shadow
+ tr.LowerRightCorner.X += 1;
+ tr.UpperLeftCorner.X = tr.LowerRightCorner.X - 1;
+ //tr.LowerRightCorner.Y -= 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], tr, clip);
+
+ tr.LowerRightCorner.X += 1;
+ tr.UpperLeftCorner.X += 1;
+ tr.LowerRightCorner.Y -= 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_DARK_SHADOW], tr, clip);
+ }
+}
+// END PATCH
+
+
+//! draws a tab control body
+/** \param element: Pointer to the element which wishes to draw this. This parameter
+is usually not used by ISkin, but can be used for example by more complex
+implementations to find out how to draw the part exactly.
+\param border: Specifies if the border should be drawn.
+\param background: Specifies if the background should be drawn.
+\param rect: Defining area where to draw.
+\param clip: Clip area. */
+// PATCH
+void GUISkin::drawColored3DTabBody(IGUIElement* element, bool border, bool background,
+ const core::rect<s32>& rect, const core::rect<s32>* clip, s32 tabHeight, EGUI_ALIGNMENT alignment,
+ const video::SColor* colors)
+{
+ if (!Driver)
+ return;
+
+ if (!colors)
+ colors = Colors;
+
+ core::rect<s32> tr = rect;
+
+ if ( tabHeight == -1 )
+ tabHeight = getSize(gui::EGDS_BUTTON_HEIGHT);
+
+ // draw border.
+ if (border)
+ {
+ if ( alignment == EGUIA_UPPERLEFT )
+ {
+ // draw left hightlight
+ tr.UpperLeftCorner.Y += tabHeight + 2;
+ tr.LowerRightCorner.X = tr.UpperLeftCorner.X + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], tr, clip);
+
+ // draw right shadow
+ tr.UpperLeftCorner.X = rect.LowerRightCorner.X - 1;
+ tr.LowerRightCorner.X = tr.UpperLeftCorner.X + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], tr, clip);
+
+ // draw lower shadow
+ tr = rect;
+ tr.UpperLeftCorner.Y = tr.LowerRightCorner.Y - 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], tr, clip);
+ }
+ else
+ {
+ // draw left hightlight
+ tr.LowerRightCorner.Y -= tabHeight + 2;
+ tr.LowerRightCorner.X = tr.UpperLeftCorner.X + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], tr, clip);
+
+ // draw right shadow
+ tr.UpperLeftCorner.X = rect.LowerRightCorner.X - 1;
+ tr.LowerRightCorner.X = tr.UpperLeftCorner.X + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_SHADOW], tr, clip);
+
+ // draw lower shadow
+ tr = rect;
+ tr.LowerRightCorner.Y = tr.UpperLeftCorner.Y + 1;
+ Driver->draw2DRectangle(colors[EGDC_3D_HIGH_LIGHT], tr, clip);
+ }
+ }
+
+ if (background)
+ {
+ if ( alignment == EGUIA_UPPERLEFT )
+ {
+ tr = rect;
+ tr.UpperLeftCorner.Y += tabHeight + 2;
+ tr.LowerRightCorner.X -= 1;
+ tr.UpperLeftCorner.X += 1;
+ tr.LowerRightCorner.Y -= 1;
+ }
+ else
+ {
+ tr = rect;
+ tr.UpperLeftCorner.X += 1;
+ tr.UpperLeftCorner.Y -= 1;
+ tr.LowerRightCorner.X -= 1;
+ tr.LowerRightCorner.Y -= tabHeight + 2;
+ //tr.UpperLeftCorner.X += 1;
+ }
+
+ if (!UseGradient)
+ Driver->draw2DRectangle(colors[EGDC_3D_FACE], tr, clip);
+ else
+ {
+ video::SColor c1 = colors[EGDC_3D_FACE];
+ video::SColor c2 = colors[EGDC_3D_SHADOW];
+ Driver->draw2DRectangle(tr, c1, c1, c2, c2, clip);
+ }
+ }
+}
+// END PATCH
+
+
+//! draws an icon, usually from the skin's sprite bank
+/** \param parent: Pointer to the element which wishes to draw this icon.
+This parameter is usually not used by IGUISkin, but can be used for example
+by more complex implementations to find out how to draw the part exactly.
+\param icon: Specifies the icon to be drawn.
+\param position: The position to draw the icon
+\param starttime: The time at the start of the animation
+\param currenttime: The present time, used to calculate the frame number
+\param loop: Whether the animation should loop or not
+\param clip: Clip area. */
+// PATCH
+void GUISkin::drawColoredIcon(IGUIElement* element, EGUI_DEFAULT_ICON icon,
+ const core::position2di position,
+ u32 starttime, u32 currenttime,
+ bool loop, const core::rect<s32>* clip,
+ const video::SColor* colors)
+{
+ if (!SpriteBank)
+ return;
+
+ if (!colors)
+ colors = Colors;
+
+ bool gray = element && !element->isEnabled();
+ SpriteBank->draw2DSprite(Icons[icon], position, clip,
+ colors[gray? EGDC_GRAY_WINDOW_SYMBOL : EGDC_WINDOW_SYMBOL], starttime, currenttime, loop, true);
+}
+// END PATCH
+
+
+EGUI_SKIN_TYPE GUISkin::getType() const
+{
+ return Type;
+}
+
+
+//! draws a 2d rectangle.
+void GUISkin::draw2DRectangle(IGUIElement* element,
+ const video::SColor &color, const core::rect<s32>& pos,
+ const core::rect<s32>* clip)
+{
+ Driver->draw2DRectangle(color, pos, clip);
+}
+
+
+//! Writes attributes of the object.
+//! Implement this to expose the attributes of your scene node animator for
+//! scripting languages, editors, debuggers or xml serialization purposes.
+void GUISkin::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const
+{
+ u32 i;
+ for (i=0; i<EGDC_COUNT; ++i)
+ out->addColor(GUISkinColorNames[i], Colors[i]);
+
+ for (i=0; i<EGDS_COUNT; ++i)
+ out->addInt(GUISkinSizeNames[i], Sizes[i]);
+
+ for (i=0; i<EGDT_COUNT; ++i)
+ out->addString(GUISkinTextNames[i], Texts[i].c_str());
+
+ for (i=0; i<EGDI_COUNT; ++i)
+ out->addInt(GUISkinIconNames[i], Icons[i]);
+}
+
+
+//! Reads attributes of the object.
+//! Implement this to set the attributes of your scene node animator for
+//! scripting languages, editors, debuggers or xml deserialization purposes.
+void GUISkin::deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options)
+{
+ // TODO: This is not nice code for downward compatibility, whenever new values are added and users
+ // load an old skin the corresponding values will be set to 0.
+ u32 i;
+ for (i=0; i<EGDC_COUNT; ++i)
+ Colors[i] = in->getAttributeAsColor(GUISkinColorNames[i]);
+
+ for (i=0; i<EGDS_COUNT; ++i)
+ Sizes[i] = in->getAttributeAsInt(GUISkinSizeNames[i]);
+
+ for (i=0; i<EGDT_COUNT; ++i)
+ Texts[i] = in->getAttributeAsStringW(GUISkinTextNames[i]);
+
+ for (i=0; i<EGDI_COUNT; ++i)
+ Icons[i] = in->getAttributeAsInt(GUISkinIconNames[i]);
+}
+
+
+//! gets the colors
+// PATCH
+void GUISkin::getColors(video::SColor* colors)
+{
+ u32 i;
+ for (i=0; i<EGDC_COUNT; ++i)
+ colors[i] = Colors[i];
+}
+// END PATCH
+
+} // end namespace gui
+} // end namespace irr
+
+
+#endif // _IRR_COMPILE_WITH_GUI_
+
diff --git a/src/gui/guiSkin.h b/src/gui/guiSkin.h
new file mode 100644
index 000000000..bbb900f9f
--- /dev/null
+++ b/src/gui/guiSkin.h
@@ -0,0 +1,376 @@
+// Copyright (C) 2002-2012 Nikolaus Gebhardt
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in irrlicht.h
+
+#ifndef __GUI_SKIN_H_INCLUDED__
+#define __GUI_SKIN_H_INCLUDED__
+
+#include "IrrCompileConfig.h"
+#ifdef _IRR_COMPILE_WITH_GUI_
+
+#include "IGUISkin.h"
+#include "irrString.h"
+#include <string>
+#include "ITexture.h"
+
+namespace irr
+{
+namespace video
+{
+ class IVideoDriver;
+}
+namespace gui
+{
+ class GUISkin : public IGUISkin
+ {
+ public:
+
+ GUISkin(EGUI_SKIN_TYPE type, video::IVideoDriver* driver);
+
+ //! destructor
+ virtual ~GUISkin();
+
+ //! returns default color
+ virtual video::SColor getColor(EGUI_DEFAULT_COLOR color) const;
+
+ //! sets a default color
+ virtual void setColor(EGUI_DEFAULT_COLOR which, video::SColor newColor);
+
+ //! returns size for the given size type
+ virtual s32 getSize(EGUI_DEFAULT_SIZE size) const;
+
+ //! sets a default size
+ virtual void setSize(EGUI_DEFAULT_SIZE which, s32 size);
+
+ //! returns the default font
+ virtual IGUIFont* getFont(EGUI_DEFAULT_FONT which=EGDF_DEFAULT) const;
+
+ //! sets a default font
+ virtual void setFont(IGUIFont* font, EGUI_DEFAULT_FONT which=EGDF_DEFAULT);
+
+ //! sets the sprite bank used for drawing icons
+ virtual void setSpriteBank(IGUISpriteBank* bank);
+
+ //! gets the sprite bank used for drawing icons
+ virtual IGUISpriteBank* getSpriteBank() const;
+
+ //! Returns a default icon
+ /** Returns the sprite index within the sprite bank */
+ virtual u32 getIcon(EGUI_DEFAULT_ICON icon) const;
+
+ //! Sets a default icon
+ /** Sets the sprite index used for drawing icons like arrows,
+ close buttons and ticks in checkboxes
+ \param icon: Enum specifying which icon to change
+ \param index: The sprite index used to draw this icon */
+ virtual void setIcon(EGUI_DEFAULT_ICON icon, u32 index);
+
+ //! Returns a default text.
+ /** For example for Message box button captions:
+ "OK", "Cancel", "Yes", "No" and so on. */
+ virtual const wchar_t* getDefaultText(EGUI_DEFAULT_TEXT text) const;
+
+ //! Sets a default text.
+ /** For example for Message box button captions:
+ "OK", "Cancel", "Yes", "No" and so on. */
+ virtual void setDefaultText(EGUI_DEFAULT_TEXT which, const wchar_t* newText);
+
+ //! draws a standard 3d button pane
+ /** Used for drawing for example buttons in normal state.
+ It uses the colors EGDC_3D_DARK_SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and
+ EGDC_3D_FACE for this. See EGUI_DEFAULT_COLOR for details.
+ \param rect: Defining area where to draw.
+ \param clip: Clip area.
+ \param element: Pointer to the element which wishes to draw this. This parameter
+ is usually not used by ISkin, but can be used for example by more complex
+ implementations to find out how to draw the part exactly. */
+ virtual void draw3DButtonPaneStandard(IGUIElement* element,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0)
+ {
+ drawColored3DButtonPaneStandard(element, rect,clip);
+ }
+
+ virtual void drawColored3DButtonPaneStandard(IGUIElement* element,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0,
+ const video::SColor* colors=0);
+
+ //! draws a pressed 3d button pane
+ /** Used for drawing for example buttons in pressed state.
+ It uses the colors EGDC_3D_DARK_SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and
+ EGDC_3D_FACE for this. See EGUI_DEFAULT_COLOR for details.
+ \param rect: Defining area where to draw.
+ \param clip: Clip area.
+ \param element: Pointer to the element which wishes to draw this. This parameter
+ is usually not used by ISkin, but can be used for example by more complex
+ implementations to find out how to draw the part exactly. */
+ virtual void draw3DButtonPanePressed(IGUIElement* element,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0)
+ {
+ drawColored3DButtonPanePressed(element, rect, clip);
+ }
+
+ virtual void drawColored3DButtonPanePressed(IGUIElement* element,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0,
+ const video::SColor* colors=0);
+
+ //! draws a sunken 3d pane
+ /** Used for drawing the background of edit, combo or check boxes.
+ \param element: Pointer to the element which wishes to draw this. This parameter
+ is usually not used by ISkin, but can be used for example by more complex
+ implementations to find out how to draw the part exactly.
+ \param bgcolor: Background color.
+ \param flat: Specifies if the sunken pane should be flat or displayed as sunken
+ deep into the ground.
+ \param rect: Defining area where to draw.
+ \param clip: Clip area. */
+ virtual void draw3DSunkenPane(IGUIElement* element,
+ video::SColor bgcolor, bool flat,
+ bool fillBackGround,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0)
+ {
+ drawColored3DSunkenPane(element, bgcolor, flat, fillBackGround, rect, clip);
+ }
+
+ virtual void drawColored3DSunkenPane(IGUIElement* element,
+ video::SColor bgcolor, bool flat,
+ bool fillBackGround,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0,
+ const video::SColor* colors=0);
+
+ //! draws a window background
+ /** Used for drawing the background of dialogs and windows.
+ \param element: Pointer to the element which wishes to draw this. This parameter
+ is usually not used by ISkin, but can be used for example by more complex
+ implementations to find out how to draw the part exactly.
+ \param titleBarColor: Title color.
+ \param drawTitleBar: True to enable title drawing.
+ \param rect: Defining area where to draw.
+ \param clip: Clip area.
+ \param checkClientArea: When set to non-null the function will not draw anything,
+ but will instead return the clientArea which can be used for drawing by the calling window.
+ That is the area without borders and without titlebar.
+ \return Returns rect where it would be good to draw title bar text. This will
+ work even when checkClientArea is set to a non-null value.*/
+ virtual core::rect<s32> draw3DWindowBackground(IGUIElement* element,
+ bool drawTitleBar, video::SColor titleBarColor,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip,
+ core::rect<s32>* checkClientArea)
+ {
+ return drawColored3DWindowBackground(element, drawTitleBar, titleBarColor,
+ rect, clip, checkClientArea);
+ }
+
+ virtual core::rect<s32> drawColored3DWindowBackground(IGUIElement* element,
+ bool drawTitleBar, video::SColor titleBarColor,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip,
+ core::rect<s32>* checkClientArea,
+ const video::SColor* colors=0);
+
+ //! draws a standard 3d menu pane
+ /** Used for drawing for menus and context menus.
+ It uses the colors EGDC_3D_DARK_SHADOW, EGDC_3D_HIGH_LIGHT, EGDC_3D_SHADOW and
+ EGDC_3D_FACE for this. See EGUI_DEFAULT_COLOR for details.
+ \param element: Pointer to the element which wishes to draw this. This parameter
+ is usually not used by ISkin, but can be used for example by more complex
+ implementations to find out how to draw the part exactly.
+ \param rect: Defining area where to draw.
+ \param clip: Clip area. */
+ virtual void draw3DMenuPane(IGUIElement* element,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0)
+ {
+ drawColored3DMenuPane(element, rect, clip);
+ }
+
+ virtual void drawColored3DMenuPane(IGUIElement* element,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0,
+ const video::SColor* colors=0);
+
+ //! draws a standard 3d tool bar
+ /** Used for drawing for toolbars and menus.
+ \param element: Pointer to the element which wishes to draw this. This parameter
+ is usually not used by ISkin, but can be used for example by more complex
+ implementations to find out how to draw the part exactly.
+ \param rect: Defining area where to draw.
+ \param clip: Clip area. */
+ virtual void draw3DToolBar(IGUIElement* element,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0)
+ {
+ drawColored3DToolBar(element, rect, clip);
+ }
+
+ virtual void drawColored3DToolBar(IGUIElement* element,
+ const core::rect<s32>& rect,
+ const core::rect<s32>* clip=0,
+ const video::SColor* colors=0);
+
+ //! draws a tab button
+ /** Used for drawing for tab buttons on top of tabs.
+ \param element: Pointer to the element which wishes to draw this. This parameter
+ is usually not used by ISkin, but can be used for example by more complex
+ implementations to find out how to draw the part exactly.
+ \param active: Specifies if the tab is currently active.
+ \param rect: Defining area where to draw.
+ \param clip: Clip area. */
+ virtual void draw3DTabButton(IGUIElement* element, bool active,
+ const core::rect<s32>& rect, const core::rect<s32>* clip=0, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT)
+ {
+ drawColored3DTabButton(element, active, rect, clip, alignment);
+ }
+
+ virtual void drawColored3DTabButton(IGUIElement* element, bool active,
+ const core::rect<s32>& rect, const core::rect<s32>* clip=0, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT,
+ const video::SColor* colors=0);
+
+ //! draws a tab control body
+ /** \param element: Pointer to the element which wishes to draw this. This parameter
+ is usually not used by ISkin, but can be used for example by more complex
+ implementations to find out how to draw the part exactly.
+ \param border: Specifies if the border should be drawn.
+ \param background: Specifies if the background should be drawn.
+ \param rect: Defining area where to draw.
+ \param clip: Clip area. */
+ virtual void draw3DTabBody(IGUIElement* element, bool border, bool background,
+ const core::rect<s32>& rect, const core::rect<s32>* clip=0, s32 tabHeight=-1, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT)
+ {
+ drawColored3DTabBody(element, border, background, rect, clip, tabHeight, alignment);
+ }
+
+ virtual void drawColored3DTabBody(IGUIElement* element, bool border, bool background,
+ const core::rect<s32>& rect, const core::rect<s32>* clip=0, s32 tabHeight=-1, EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT,
+ const video::SColor* colors=0);
+
+ //! draws an icon, usually from the skin's sprite bank
+ /** \param element: Pointer to the element which wishes to draw this icon.
+ This parameter is usually not used by IGUISkin, but can be used for example
+ by more complex implementations to find out how to draw the part exactly.
+ \param icon: Specifies the icon to be drawn.
+ \param position: The position to draw the icon
+ \param starttime: The time at the start of the animation
+ \param currenttime: The present time, used to calculate the frame number
+ \param loop: Whether the animation should loop or not
+ \param clip: Clip area. */
+ virtual void drawIcon(IGUIElement* element, EGUI_DEFAULT_ICON icon,
+ const core::position2di position,
+ u32 starttime=0, u32 currenttime=0,
+ bool loop=false, const core::rect<s32>* clip=0)
+ {
+ drawColoredIcon(element, icon, position, starttime, currenttime, loop, clip);
+ }
+
+ virtual void drawColoredIcon(IGUIElement* element, EGUI_DEFAULT_ICON icon,
+ const core::position2di position,
+ u32 starttime=0, u32 currenttime=0,
+ bool loop=false, const core::rect<s32>* clip=0,
+ const video::SColor* colors=0);
+
+ //! draws a 2d rectangle.
+ /** \param element: Pointer to the element which wishes to draw this icon.
+ This parameter is usually not used by IGUISkin, but can be used for example
+ by more complex implementations to find out how to draw the part exactly.
+ \param color: Color of the rectangle to draw. The alpha component specifies how
+ transparent the rectangle will be.
+ \param pos: Position of the rectangle.
+ \param clip: Pointer to rectangle against which the rectangle will be clipped.
+ If the pointer is null, no clipping will be performed. */
+ virtual void draw2DRectangle(IGUIElement* element, const video::SColor &color,
+ const core::rect<s32>& pos, const core::rect<s32>* clip = 0);
+
+
+ //! get the type of this skin
+ virtual EGUI_SKIN_TYPE getType() const;
+
+ //! Writes attributes of the object.
+ //! Implement this to expose the attributes of your scene node animator for
+ //! scripting languages, editors, debuggers or xml serialization purposes.
+ virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const;
+
+ //! Reads attributes of the object.
+ //! Implement this to set the attributes of your scene node animator for
+ //! scripting languages, editors, debuggers or xml deserialization purposes.
+ virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0);
+
+ //! gets the colors
+ virtual void getColors(video::SColor* colors); // ::PATCH:
+
+ private:
+
+ video::SColor Colors[EGDC_COUNT];
+ s32 Sizes[EGDS_COUNT];
+ u32 Icons[EGDI_COUNT];
+ IGUIFont* Fonts[EGDF_COUNT];
+ IGUISpriteBank* SpriteBank;
+ core::stringw Texts[EGDT_COUNT];
+ video::IVideoDriver* Driver;
+ bool UseGradient;
+
+ EGUI_SKIN_TYPE Type;
+ };
+
+ #define set3DSkinColors(skin, button_color) \
+ { \
+ skin->setColor(EGDC_3D_FACE, button_color); \
+ skin->setColor(EGDC_3D_DARK_SHADOW, button_color, 0.25f); \
+ skin->setColor(EGDC_3D_SHADOW, button_color, 0.5f); \
+ skin->setColor(EGDC_3D_LIGHT, button_color); \
+ skin->setColor(EGDC_3D_HIGH_LIGHT, button_color, 1.5f); \
+ }
+
+ #define getElementSkinColor(color) \
+ { \
+ if (!Colors) \
+ { \
+ IGUISkin* skin = Environment->getSkin(); \
+ if (skin) \
+ return skin->getColor(color); \
+ } \
+ return Colors[color]; \
+ }
+
+ #define setElementSkinColor(which, newColor, shading) \
+ { \
+ if (!Colors) \
+ { \
+ Colors = new video::SColor[EGDC_COUNT]; \
+ GUISkin* skin = (GUISkin *)Environment->getSkin(); \
+ if (skin) \
+ skin->getColors(Colors); \
+ } \
+ Colors[which] = newColor; \
+ setShading(Colors[which],shading); \
+ }
+} // end namespace gui
+//! Sets the shading
+inline void setShading(video::SColor &color,f32 s) // :PATCH:
+{
+ if (s < 1.0f)
+ {
+ color.setRed(color.getRed() * s);
+ color.setGreen(color.getGreen() * s);
+ color.setBlue(color.getBlue() * s);
+ }
+ else if (s > 1.0f)
+ {
+ s -= 1.0f;
+
+ color.setRed(color.getRed() + (255 - color.getRed()) * s);
+ color.setGreen(color.getGreen() + (255 - color.getGreen()) * s);
+ color.setBlue(color.getBlue() + (255 - color.getBlue()) * s);
+ }
+}
+} // end namespace irr
+
+
+#endif // _IRR_COMPILE_WITH_GUI_
+
+#endif
diff --git a/src/gui/guiTable.cpp b/src/gui/guiTable.cpp
index a123bdd6d..c705e17fb 100644
--- a/src/gui/guiTable.cpp
+++ b/src/gui/guiTable.cpp
@@ -25,7 +25,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <cstring>
#include <IGUISkin.h>
#include <IGUIFont.h>
-#include <IGUIScrollBar.h>
#include "client/renderingengine.h"
#include "debug.h"
#include "log.h"
@@ -62,12 +61,12 @@ GUITable::GUITable(gui::IGUIEnvironment *env,
}
const s32 s = skin->getSize(gui::EGDS_SCROLLBAR_SIZE);
- m_scrollbar = Environment->addScrollBar(false,
+ m_scrollbar = new GUIScrollBar(Environment, this, -1,
core::rect<s32>(RelativeRect.getWidth() - s,
0,
RelativeRect.getWidth(),
RelativeRect.getHeight()),
- this, -1);
+ false, true);
m_scrollbar->setSubElement(true);
m_scrollbar->setTabStop(false);
m_scrollbar->setAlignment(gui::EGUIA_LOWERRIGHT, gui::EGUIA_LOWERRIGHT,
@@ -99,7 +98,8 @@ GUITable::~GUITable()
if (m_font)
m_font->drop();
- m_scrollbar->remove();
+ if (m_scrollbar)
+ m_scrollbar->drop();
}
GUITable::Option GUITable::splitOption(const std::string &str)
@@ -1075,6 +1075,7 @@ void GUITable::updateScrollBar()
m_scrollbar->setMax(scrollmax);
m_scrollbar->setSmallStep(m_rowheight);
m_scrollbar->setLargeStep(2 * m_rowheight);
+ m_scrollbar->setPageSize(totalheight);
}
void GUITable::sendTableEvent(s32 column, bool doubleclick)
diff --git a/src/gui/guiTable.h b/src/gui/guiTable.h
index f9337ff6d..11093ea72 100644
--- a/src/gui/guiTable.h
+++ b/src/gui/guiTable.h
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <iostream>
#include "irrlichttypes_extrabloated.h"
+#include "guiScrollBar.h"
class ISimpleTextureSource;
@@ -198,7 +199,7 @@ protected:
video::SColor m_highlight_text = video::SColor(255, 255, 255, 255);
s32 m_rowheight = 1;
gui::IGUIFont *m_font = nullptr;
- gui::IGUIScrollBar *m_scrollbar = nullptr;
+ GUIScrollBar *m_scrollbar = nullptr;
// Allocated strings and images
std::vector<core::stringw> m_strings;
diff --git a/src/gui/guiVolumeChange.cpp b/src/gui/guiVolumeChange.cpp
index e0cb6fa72..45d2ee139 100644
--- a/src/gui/guiVolumeChange.cpp
+++ b/src/gui/guiVolumeChange.cpp
@@ -58,6 +58,9 @@ void GUIVolumeChange::removeChildren()
if (gui::IGUIElement *e = getElementFromId(ID_soundSlider))
e->remove();
+
+ if (gui::IGUIElement *e = getElementFromId(ID_soundMuteButton))
+ e->remove();
}
void GUIVolumeChange::regenerateGui(v2u32 screensize)
@@ -193,4 +196,3 @@ bool GUIVolumeChange::OnEvent(const SEvent& event)
return Parent ? Parent->OnEvent(event) : false;
}
-
diff --git a/src/gui/intlGUIEditBox.cpp b/src/gui/intlGUIEditBox.cpp
index fd3caa0f7..10395423c 100644
--- a/src/gui/intlGUIEditBox.cpp
+++ b/src/gui/intlGUIEditBox.cpp
@@ -113,6 +113,9 @@ intlGUIEditBox::~intlGUIEditBox()
if (Operator)
Operator->drop();
+
+ if (m_vscrollbar)
+ m_vscrollbar->drop();
}
@@ -1479,7 +1482,9 @@ void intlGUIEditBox::createVScrollBar()
irr::core::rect<s32> scrollbarrect = FrameRect;
scrollbarrect.UpperLeftCorner.X += FrameRect.getWidth() - m_scrollbar_width;
- m_vscrollbar = Environment->addScrollBar(false, scrollbarrect, getParent(), getID());
+ m_vscrollbar = new GUIScrollBar(Environment, getParent(), -1,
+ scrollbarrect, false, true);
+
m_vscrollbar->setVisible(false);
m_vscrollbar->setSmallStep(3 * fontHeight);
m_vscrollbar->setLargeStep(10 * fontHeight);
@@ -1501,6 +1506,7 @@ void intlGUIEditBox::updateVScrollBar()
if (scrollymax != m_vscrollbar->getMax()) {
// manage a newline or a deleted line
m_vscrollbar->setMax(scrollymax);
+ m_vscrollbar->setPageSize(s32(getTextDimension().Height));
calculateScrollPos();
} else {
// manage a newline or a deleted line
@@ -1513,6 +1519,7 @@ void intlGUIEditBox::updateVScrollBar()
s32 scrollymax = getTextDimension().Height - FrameRect.getHeight();
if (scrollymax != m_vscrollbar->getMax()) {
m_vscrollbar->setMax(scrollymax);
+ m_vscrollbar->setPageSize(s32(getTextDimension().Height));
}
if (!m_vscrollbar->isVisible() && MultiLine) {
@@ -1527,6 +1534,7 @@ void intlGUIEditBox::updateVScrollBar()
VScrollPos = 0;
m_vscrollbar->setPos(0);
m_vscrollbar->setMax(1);
+ m_vscrollbar->setPageSize(s32(getTextDimension().Height));
m_vscrollbar->setVisible(false);
}
}
diff --git a/src/gui/intlGUIEditBox.h b/src/gui/intlGUIEditBox.h
index 3aa4f00b4..9d643495e 100644
--- a/src/gui/intlGUIEditBox.h
+++ b/src/gui/intlGUIEditBox.h
@@ -10,7 +10,7 @@
#include <IGUIEditBox.h>
#include "irrArray.h"
#include "IOSOperator.h"
-#include "IGUIScrollBar.h"
+#include "guiScrollBar.h"
namespace irr
{
@@ -198,7 +198,7 @@ namespace gui
core::rect<s32> CurrentTextRect = core::rect<s32>(0,0,1,1);
core::rect<s32> FrameRect; // temporary values
u32 m_scrollbar_width;
- IGUIScrollBar *m_vscrollbar;
+ GUIScrollBar *m_vscrollbar;
bool m_writable;
};
diff --git a/src/gui/mainmenumanager.h b/src/gui/mainmenumanager.h
index ea9327813..102492255 100644
--- a/src/gui/mainmenumanager.h
+++ b/src/gui/mainmenumanager.h
@@ -62,21 +62,7 @@ public:
virtual void deletingMenu(gui::IGUIElement *menu)
{
// Remove all entries if there are duplicates
- bool removed_entry;
- do{
- removed_entry = false;
- for(std::list<gui::IGUIElement*>::iterator
- i = m_stack.begin();
- i != m_stack.end(); ++i)
- {
- if(*i == menu)
- {
- m_stack.erase(i);
- removed_entry = true;
- break;
- }
- }
- }while(removed_entry);
+ m_stack.remove(menu);
/*core::list<GUIModalMenu*>::Iterator i = m_stack.getLast();
assert(*i == menu);
diff --git a/src/gui/modalMenu.cpp b/src/gui/modalMenu.cpp
index 4ffe88800..30417943d 100644
--- a/src/gui/modalMenu.cpp
+++ b/src/gui/modalMenu.cpp
@@ -260,7 +260,7 @@ bool GUIModalMenu::preprocessEvent(const SEvent &event)
return retval;
}
}
- // clang-format on
+ // clang-format on
#endif
return false;
}
diff --git a/src/gui/touchscreengui.h b/src/gui/touchscreengui.h
index 421f70963..1f9adda22 100644
--- a/src/gui/touchscreengui.h
+++ b/src/gui/touchscreengui.h
@@ -33,7 +33,8 @@ using namespace irr;
using namespace irr::core;
using namespace irr::gui;
-typedef enum {
+typedef enum
+{
jump_id = 0,
crunch_id,
zoom_id,
@@ -61,7 +62,8 @@ typedef enum {
joystick_center_id
} touch_gui_button_id;
-typedef enum {
+typedef enum
+{
j_forward = 0,
j_backward,
j_left,
@@ -69,7 +71,8 @@ typedef enum {
j_special1
} touch_gui_joystick_move_id;
-typedef enum {
+typedef enum
+{
AHBB_Dir_Top_Bottom,
AHBB_Dir_Bottom_Top,
AHBB_Dir_Left_Right,
diff --git a/src/inventory.cpp b/src/inventory.cpp
index 3bc67da1b..77ecf5876 100644
--- a/src/inventory.cpp
+++ b/src/inventory.cpp
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "inventory.h"
#include "serialization.h"
#include "debug.h"
+#include <algorithm>
#include <sstream>
#include "log.h"
#include "itemdef.h"
@@ -246,6 +247,14 @@ std::string ItemStack::getItemString() const
return os.str();
}
+std::string ItemStack::getDescription(IItemDefManager *itemdef) const
+{
+ std::string desc = metadata.getString("description");
+ if (desc.empty())
+ desc = getDefinition(itemdef).description;
+ return desc.empty() ? name : desc;
+}
+
ItemStack ItemStack::addItem(ItemStack newitem, IItemDefManager *itemdef)
{
@@ -257,17 +266,8 @@ ItemStack ItemStack::addItem(ItemStack newitem, IItemDefManager *itemdef)
// If this is an empty item, it's an easy job.
else if(empty())
{
- const u16 stackMax = newitem.getStackMax(itemdef);
-
*this = newitem;
-
- // If the item fits fully, delete it
- if (count <= stackMax) {
- newitem.clear();
- } else { // Else the item does not fit fully. Return the rest.
- count = stackMax;
- newitem.remove(count);
- }
+ newitem.clear();
}
// If item name or metadata differs, bail out
else if (name != newitem.name
@@ -306,14 +306,7 @@ bool ItemStack::itemFits(ItemStack newitem,
// If this is an empty item, it's an easy job.
else if(empty())
{
- const u16 stackMax = newitem.getStackMax(itemdef);
-
- // If the item fits fully, delete it
- if (newitem.count <= stackMax) {
- newitem.clear();
- } else { // Else the item does not fit fully. Return the rest.
- newitem.remove(stackMax);
- }
+ newitem.clear();
}
// If item name or metadata differs, bail out
else if (name != newitem.name
@@ -335,6 +328,7 @@ bool ItemStack::itemFits(ItemStack newitem,
if(restitem)
*restitem = newitem;
+
return newitem.empty();
}
@@ -389,27 +383,32 @@ void InventoryList::clearItems()
m_items.emplace_back();
}
- //setDirty(true);
+ setModified();
}
void InventoryList::setSize(u32 newsize)
{
- if(newsize != m_items.size())
- m_items.resize(newsize);
+ if (newsize == m_items.size())
+ return;
+
+ m_items.resize(newsize);
m_size = newsize;
+ setModified();
}
void InventoryList::setWidth(u32 newwidth)
{
m_width = newwidth;
+ setModified();
}
void InventoryList::setName(const std::string &name)
{
m_name = name;
+ setModified();
}
-void InventoryList::serialize(std::ostream &os) const
+void InventoryList::serialize(std::ostream &os, bool incremental) const
{
//os.imbue(std::locale("C"));
@@ -422,6 +421,9 @@ void InventoryList::serialize(std::ostream &os) const
os<<"Item ";
item.serialize(os);
}
+ // TODO: Implement this:
+ // if (!incremental || item.checkModified())
+ // os << "Keep";
os<<"\n";
}
@@ -431,8 +433,8 @@ void InventoryList::serialize(std::ostream &os) const
void InventoryList::deSerialize(std::istream &is)
{
//is.imbue(std::locale("C"));
+ setModified();
- clearItems();
u32 item_i = 0;
m_width = 0;
@@ -446,12 +448,12 @@ void InventoryList::deSerialize(std::istream &is)
std::string name;
std::getline(iss, name, ' ');
- if (name == "EndInventoryList")
- return;
-
- // This is a temporary backwards compatibility fix
- if (name == "end")
+ if (name == "EndInventoryList" || name == "end") {
+ // If partial incremental: Clear leftover items (should not happen!)
+ for (size_t i = item_i; i < m_items.size(); ++i)
+ m_items[i].clear();
return;
+ }
if (name == "Width") {
iss >> m_width;
@@ -471,6 +473,8 @@ void InventoryList::deSerialize(std::istream &is)
if(item_i > getSize() - 1)
throw SerializationError("too many items");
m_items[item_i++].clear();
+ } else if (name == "Keep") {
+ ++item_i; // Unmodified item
}
}
@@ -508,14 +512,9 @@ bool InventoryList::operator == (const InventoryList &other) const
return false;
if(m_name != other.m_name)
return false;
- for(u32 i=0; i<m_items.size(); i++)
- {
- ItemStack s1 = m_items[i];
- ItemStack s2 = other.m_items[i];
- if(s1.name != s2.name || s1.wear!= s2.wear || s1.count != s2.count ||
- s1.metadata != s2.metadata)
+ for (u32 i = 0; i < m_items.size(); i++)
+ if (m_items[i] != other.m_items[i])
return false;
- }
return true;
}
@@ -569,7 +568,7 @@ ItemStack InventoryList::changeItem(u32 i, const ItemStack &newitem)
ItemStack olditem = m_items[i];
m_items[i] = newitem;
- //setDirty(true);
+ setModified();
return olditem;
}
@@ -577,6 +576,7 @@ void InventoryList::deleteItem(u32 i)
{
assert(i < m_items.size()); // Pre-condition
m_items[i].clear();
+ setModified();
}
ItemStack InventoryList::addItem(const ItemStack &newitem_)
@@ -624,8 +624,8 @@ ItemStack InventoryList::addItem(u32 i, const ItemStack &newitem)
return newitem;
ItemStack leftover = m_items[i].addItem(newitem, m_itemdef);
- //if(leftover != newitem)
- // setDirty(true);
+ if (leftover != newitem)
+ setModified();
return leftover;
}
@@ -680,11 +680,17 @@ ItemStack InventoryList::removeItem(const ItemStack &item)
for (auto i = m_items.rbegin(); i != m_items.rend(); ++i) {
if (i->name == item.name) {
u32 still_to_remove = item.count - removed.count;
- removed.addItem(i->takeItem(still_to_remove), m_itemdef);
+ ItemStack leftover = removed.addItem(i->takeItem(still_to_remove),
+ m_itemdef);
+ // Allow oversized stacks
+ removed.count += leftover.count;
+
if (removed.count == item.count)
break;
}
}
+ if (!removed.empty())
+ setModified();
return removed;
}
@@ -694,8 +700,8 @@ ItemStack InventoryList::takeItem(u32 i, u32 takecount)
return ItemStack();
ItemStack taken = m_items[i].takeItem(takecount);
- //if(!taken.empty())
- // setDirty(true);
+ if (!taken.empty())
+ setModified();
return taken;
}
@@ -711,27 +717,13 @@ void InventoryList::moveItemSomewhere(u32 i, InventoryList *dest, u32 count)
if (item1.empty())
return;
- // Try to add the item to destination list
- u32 dest_size = dest->getSize();
- // First try all the non-empty slots
- for (u32 dest_i = 0; dest_i < dest_size; dest_i++) {
- if (!m_items[dest_i].empty()) {
- item1 = dest->addItem(dest_i, item1);
- if (item1.empty()) return;
- }
- }
+ ItemStack leftover;
+ leftover = dest->addItem(item1);
- // Then try all the empty ones
- for (u32 dest_i = 0; dest_i < dest_size; dest_i++) {
- if (m_items[dest_i].empty()) {
- item1 = dest->addItem(dest_i, item1);
- if (item1.empty()) return;
- }
+ if (!leftover.empty()) {
+ // Add the remaining part back to the source item
+ addItem(i, leftover);
}
-
- // If we reach this, the item was not fully added
- // Add the remaining part back to the source item
- addItem(i, item1);
}
u32 InventoryList::moveItem(u32 i, InventoryList *dest, u32 dest_i,
@@ -793,33 +785,22 @@ Inventory::~Inventory()
void Inventory::clear()
{
- m_dirty = true;
for (auto &m_list : m_lists) {
delete m_list;
}
m_lists.clear();
-}
-
-void Inventory::clearContents()
-{
- m_dirty = true;
- for (InventoryList *list : m_lists) {
- for (u32 j=0; j<list->getSize(); j++) {
- list->deleteItem(j);
- }
- }
+ setModified();
}
Inventory::Inventory(IItemDefManager *itemdef)
{
- m_dirty = false;
m_itemdef = itemdef;
+ setModified();
}
Inventory::Inventory(const Inventory &other)
{
*this = other;
- m_dirty = false;
}
Inventory & Inventory::operator = (const Inventory &other)
@@ -827,12 +808,12 @@ Inventory & Inventory::operator = (const Inventory &other)
// Gracefully handle self assignment
if(this != &other)
{
- m_dirty = true;
clear();
m_itemdef = other.m_itemdef;
for (InventoryList *list : other.m_lists) {
m_lists.push_back(new InventoryList(*list));
}
+ setModified();
}
return *this;
}
@@ -850,11 +831,16 @@ bool Inventory::operator == (const Inventory &other) const
return true;
}
-void Inventory::serialize(std::ostream &os) const
+void Inventory::serialize(std::ostream &os, bool incremental) const
{
- for (InventoryList *list : m_lists) {
- os<<"List "<<list->getName()<<" "<<list->getSize()<<"\n";
- list->serialize(os);
+ //std::cout << "Serialize " << (int)incremental << ", n=" << m_lists.size() << std::endl;
+ for (const InventoryList *list : m_lists) {
+ if (!incremental || list->checkModified()) {
+ os << "List " << list->getName() << " " << list->getSize() << "\n";
+ list->serialize(os, incremental);
+ } else {
+ os << "KeepList " << list->getName() << "\n";
+ }
}
os<<"EndInventory\n";
@@ -862,7 +848,8 @@ void Inventory::serialize(std::ostream &os) const
void Inventory::deSerialize(std::istream &is)
{
- clear();
+ std::vector<InventoryList *> new_lists;
+ new_lists.reserve(m_lists.size());
while (is.good()) {
std::string line;
@@ -873,12 +860,20 @@ void Inventory::deSerialize(std::istream &is)
std::string name;
std::getline(iss, name, ' ');
- if (name == "EndInventory")
- return;
+ if (name == "EndInventory" || name == "end") {
+ // Remove all lists that were not sent
+ for (auto &list : m_lists) {
+ if (std::find(new_lists.begin(), new_lists.end(), list) != new_lists.end())
+ continue;
- // This is a temporary backwards compatibility fix
- if (name == "end")
+ delete list;
+ list = nullptr;
+ setModified();
+ }
+ m_lists.erase(std::remove(m_lists.begin(), m_lists.end(),
+ nullptr), m_lists.end());
return;
+ }
if (name == "List") {
std::string listname;
@@ -887,15 +882,33 @@ void Inventory::deSerialize(std::istream &is)
std::getline(iss, listname, ' ');
iss>>listsize;
- InventoryList *list = new InventoryList(listname, listsize, m_itemdef);
+ InventoryList *list = getList(listname);
+ bool create_new = !list;
+ if (create_new)
+ list = new InventoryList(listname, listsize, m_itemdef);
+ else
+ list->setSize(listsize);
list->deSerialize(is);
- m_lists.push_back(list);
- }
- else
- {
- throw SerializationError("invalid inventory specifier: " + name);
+ new_lists.push_back(list);
+ if (create_new)
+ m_lists.push_back(list);
+
+ } else if (name == "KeepList") {
+ // Incrementally sent list
+ std::string listname;
+ std::getline(iss, listname, ' ');
+
+ InventoryList *list = getList(listname);
+ if (list) {
+ new_lists.push_back(list);
+ } else {
+ errorstream << "Inventory::deSerialize(): Tried to keep list '" <<
+ listname << "' which is non-existent." << std::endl;
+ }
}
+ // Any additional fields will throw errors when received by a client
+ // older than PROTOCOL_VERSION 38
}
// Contents given to deSerialize() were not terminated properly: throw error.
@@ -908,7 +921,7 @@ void Inventory::deSerialize(std::istream &is)
InventoryList * Inventory::addList(const std::string &name, u32 size)
{
- m_dirty = true;
+ setModified();
s32 i = getListIndex(name);
if(i != -1)
{
@@ -916,15 +929,18 @@ InventoryList * Inventory::addList(const std::string &name, u32 size)
{
delete m_lists[i];
m_lists[i] = new InventoryList(name, size, m_itemdef);
+ m_lists[i]->setModified();
}
return m_lists[i];
}
//don't create list with invalid name
- if (name.find(' ') != std::string::npos) return NULL;
+ if (name.find(' ') != std::string::npos)
+ return nullptr;
InventoryList *list = new InventoryList(name, size, m_itemdef);
+ list->setModified();
m_lists.push_back(list);
return list;
}
@@ -951,7 +967,8 @@ bool Inventory::deleteList(const std::string &name)
s32 i = getListIndex(name);
if(i == -1)
return false;
- m_dirty = true;
+
+ setModified();
delete m_lists[i];
m_lists.erase(m_lists.begin() + i);
return true;
diff --git a/src/inventory.h b/src/inventory.h
index 465aa66db..2828d3e5a 100644
--- a/src/inventory.h
+++ b/src/inventory.h
@@ -41,12 +41,14 @@ struct ItemStack
// Serialization
void serialize(std::ostream &os) const;
- // Deserialization. Pass itemdef unless you don't want aliases resolved.
+ // Deserialization. Pass itemdef unless you don't want aliases resolved.
void deSerialize(std::istream &is, IItemDefManager *itemdef = NULL);
void deSerialize(const std::string &s, IItemDefManager *itemdef = NULL);
// Returns the string used for inventory
std::string getItemString() const;
+ // Returns the tooltip
+ std::string getDescription(IItemDefManager *itemdef) const;
/*
Quantity methods
@@ -161,6 +163,19 @@ struct ItemStack
// Similar to takeItem, but keeps this ItemStack intact.
ItemStack peekItem(u32 peekcount) const;
+ bool operator ==(const ItemStack &s) const
+ {
+ return (this->name == s.name &&
+ this->count == s.count &&
+ this->wear == s.wear &&
+ this->metadata == s.metadata);
+ }
+
+ bool operator !=(const ItemStack &s) const
+ {
+ return !(*this == s);
+ }
+
/*
Properties
*/
@@ -179,7 +194,7 @@ public:
void setSize(u32 newsize);
void setWidth(u32 newWidth);
void setName(const std::string &name);
- void serialize(std::ostream &os) const;
+ void serialize(std::ostream &os, bool incremental) const;
void deSerialize(std::istream &is);
InventoryList(const InventoryList &other);
@@ -250,12 +265,16 @@ public:
// also with optional rollback recording
void moveItemSomewhere(u32 i, InventoryList *dest, u32 count);
+ inline bool checkModified() const { return m_dirty; }
+ inline void setModified(bool dirty = true) { m_dirty = dirty; }
+
private:
std::vector<ItemStack> m_items;
std::string m_name;
u32 m_size;
u32 m_width = 0;
IItemDefManager *m_itemdef;
+ bool m_dirty = true;
};
class Inventory
@@ -264,7 +283,6 @@ public:
~Inventory();
void clear();
- void clearContents();
Inventory(IItemDefManager *itemdef);
Inventory(const Inventory &other);
@@ -275,7 +293,8 @@ public:
return !(*this == other);
}
- void serialize(std::ostream &os) const;
+ // Never ever serialize to disk using "incremental"!
+ void serialize(std::ostream &os, bool incremental = false) const;
void deSerialize(std::istream &is);
InventoryList * addList(const std::string &name, u32 size);
@@ -286,28 +305,38 @@ public:
// A shorthand for adding items. Returns leftover item (possibly empty).
ItemStack addItem(const std::string &listname, const ItemStack &newitem)
{
- m_dirty = true;
InventoryList *list = getList(listname);
if(list == NULL)
return newitem;
return list->addItem(newitem);
}
- bool checkModified() const
+ inline bool checkModified() const
{
- return m_dirty;
+ if (m_dirty)
+ return true;
+
+ for (const auto &list : m_lists)
+ if (list->checkModified())
+ return true;
+
+ return false;
}
- void setModified(const bool x)
+ inline void setModified(bool dirty = true)
{
- m_dirty = x;
+ m_dirty = dirty;
+ // Set all as handled
+ if (!dirty) {
+ for (const auto &list : m_lists)
+ list->setModified(dirty);
+ }
}
-
private:
// -1 if not found
const s32 getListIndex(const std::string &name) const;
std::vector<InventoryList*> m_lists;
IItemDefManager *m_itemdef;
- bool m_dirty = false;
+ bool m_dirty = true;
};
diff --git a/src/inventorymanager.cpp b/src/inventorymanager.cpp
index 51a472a56..57b561477 100644
--- a/src/inventorymanager.cpp
+++ b/src/inventorymanager.cpp
@@ -93,7 +93,7 @@ void InventoryLocation::deSerialize(std::istream &is)
}
}
-void InventoryLocation::deSerialize(std::string s)
+void InventoryLocation::deSerialize(const std::string &s)
{
std::istringstream is(s, std::ios::binary);
deSerialize(is);
@@ -348,6 +348,13 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
/* If no items will be moved, don't go further */
if (count == 0) {
+ // Undo client prediction. See 'clientApply'
+ if (from_inv.type == InventoryLocation::PLAYER)
+ list_from->setModified();
+
+ if (to_inv.type == InventoryLocation::PLAYER)
+ list_to->setModified();
+
infostream<<"IMoveAction::apply(): move was completely disallowed:"
<<" count="<<old_count
<<" from inv=\""<<from_inv.dump()<<"\""
@@ -524,9 +531,9 @@ void IMoveAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
}
}
- mgr->setInventoryModified(from_inv, false);
+ mgr->setInventoryModified(from_inv);
if (inv_from != inv_to)
- mgr->setInventoryModified(to_inv, false);
+ mgr->setInventoryModified(to_inv);
}
void IMoveAction::clientApply(InventoryManager *mgr, IGameDef *gamedef)
@@ -646,8 +653,6 @@ void IDropAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
if (src_can_take_count != -1 && src_can_take_count < take_count)
take_count = src_can_take_count;
- int actually_dropped_count = 0;
-
// Update item due executed callbacks
src_item = list_from->getItem(from_i);
@@ -656,10 +661,14 @@ void IDropAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
item1.count = take_count;
if(PLAYER_TO_SA(player)->item_OnDrop(item1, player,
player->getBasePosition())) {
- actually_dropped_count = take_count - item1.count;
+ int actually_dropped_count = take_count - item1.count;
if (actually_dropped_count == 0) {
infostream<<"Actually dropped no items"<<std::endl;
+
+ // Revert client prediction. See 'clientApply'
+ if (from_inv.type == InventoryLocation::PLAYER)
+ list_from->setModified();
return;
}
@@ -670,9 +679,10 @@ void IDropAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
if (item2.count != actually_dropped_count)
errorstream<<"Could not take dropped count of items"<<std::endl;
-
- mgr->setInventoryModified(from_inv, false);
}
+
+ src_item.count = actually_dropped_count;
+ mgr->setInventoryModified(from_inv);
}
infostream<<"IDropAction::apply(): dropped "
@@ -681,7 +691,6 @@ void IDropAction::apply(InventoryManager *mgr, ServerActiveObject *player, IGame
<<" i="<<from_i
<<std::endl;
- src_item.count = actually_dropped_count;
/*
Report drop to endpoints
diff --git a/src/inventorymanager.h b/src/inventorymanager.h
index 30a82d4bf..69bf30169 100644
--- a/src/inventorymanager.h
+++ b/src/inventorymanager.h
@@ -97,7 +97,7 @@ struct InventoryLocation
std::string dump() const;
void serialize(std::ostream &os) const;
void deSerialize(std::istream &is);
- void deSerialize(std::string s);
+ void deSerialize(const std::string &s);
};
struct InventoryAction;
@@ -111,7 +111,7 @@ public:
// Get an inventory (server and client)
virtual Inventory* getInventory(const InventoryLocation &loc){return NULL;}
// Set modified (will be saved and sent over network; only on server)
- virtual void setInventoryModified(const InventoryLocation &loc, bool playerSend = true){}
+ virtual void setInventoryModified(const InventoryLocation &loc) {}
// Send inventory action to server (only on client)
virtual void inventoryAction(InventoryAction *a){}
};
diff --git a/src/irr_ptr.h b/src/irr_ptr.h
new file mode 100644
index 000000000..5022adb9d
--- /dev/null
+++ b/src/irr_ptr.h
@@ -0,0 +1,137 @@
+/*
+Minetest
+Copyright (C) 2018 numzero, Lobachevskiy Vitaliy <numzer0@yandex.ru>
+
+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.
+*/
+
+#pragma once
+#include <type_traits>
+#include "irrlichttypes.h"
+#include "IReferenceCounted.h"
+
+/** Shared pointer for IrrLicht objects.
+ *
+ * It should only be used for user-managed objects, i.e. those created with
+ * the @c new operator or @c create* functions, like:
+ * `irr_ptr<scene::IMeshBuffer> buf{new scene::SMeshBuffer()};`
+ *
+ * It should *never* be used for engine-managed objects, including
+ * those created with @c addTexture and similar methods.
+ */
+template <class ReferenceCounted,
+ class = typename std::enable_if<std::is_base_of<IReferenceCounted,
+ ReferenceCounted>::value>::type>
+class irr_ptr
+{
+ ReferenceCounted *value = nullptr;
+
+ /** Drops stored pointer replacing it with the given one.
+ * @note Copy semantics: reference counter *is* increased.
+ */
+ void grab(ReferenceCounted *object)
+ {
+ if (object)
+ object->grab();
+ reset(object);
+ }
+
+public:
+ irr_ptr() {}
+
+ irr_ptr(std::nullptr_t) noexcept {}
+
+ irr_ptr(const irr_ptr &b) noexcept { grab(b.get()); }
+
+ irr_ptr(irr_ptr &&b) noexcept { reset(b.release()); }
+
+ template <typename B, class = typename std::enable_if<std::is_convertible<B *,
+ ReferenceCounted *>::value>::type>
+ irr_ptr(const irr_ptr<B> &b) noexcept
+ {
+ grab(b.get());
+ }
+
+ template <typename B, class = typename std::enable_if<std::is_convertible<B *,
+ ReferenceCounted *>::value>::type>
+ irr_ptr(irr_ptr<B> &&b) noexcept
+ {
+ reset(b.release());
+ }
+
+ /** Constructs a shared pointer out of a plain one
+ * @note Move semantics: reference counter is *not* increased.
+ */
+ explicit irr_ptr(ReferenceCounted *object) noexcept { reset(object); }
+
+ ~irr_ptr() { reset(); }
+
+ irr_ptr &operator=(const irr_ptr &b) noexcept
+ {
+ grab(b.get());
+ return *this;
+ }
+
+ irr_ptr &operator=(irr_ptr &&b) noexcept
+ {
+ reset(b.release());
+ return *this;
+ }
+
+ template <typename B, class = typename std::enable_if<std::is_convertible<B *,
+ ReferenceCounted *>::value>::type>
+ irr_ptr &operator=(const irr_ptr<B> &b) noexcept
+ {
+ grab(b.get());
+ return *this;
+ }
+
+ template <typename B, class = typename std::enable_if<std::is_convertible<B *,
+ ReferenceCounted *>::value>::type>
+ irr_ptr &operator=(irr_ptr<B> &&b) noexcept
+ {
+ reset(b.release());
+ return *this;
+ }
+
+ ReferenceCounted &operator*() const noexcept { return *value; }
+ ReferenceCounted *operator->() const noexcept { return value; }
+ explicit operator ReferenceCounted *() const noexcept { return value; }
+ explicit operator bool() const noexcept { return !!value; }
+
+ /** Returns the stored pointer.
+ */
+ ReferenceCounted *get() const noexcept { return value; }
+
+ /** Returns the stored pointer, erasing it from this class.
+ * @note Move semantics: reference counter is not changed.
+ */
+ ReferenceCounted *release() noexcept
+ {
+ ReferenceCounted *object = value;
+ value = nullptr;
+ return object;
+ }
+
+ /** Drops stored pointer replacing it with the given one.
+ * @note Move semantics: reference counter is *not* increased.
+ */
+ void reset(ReferenceCounted *object = nullptr) noexcept
+ {
+ if (value)
+ value->drop();
+ value = object;
+ }
+};
diff --git a/src/irrlicht_changes/static_text.cpp b/src/irrlicht_changes/static_text.cpp
index ed1655e0a..5a0f82673 100644
--- a/src/irrlicht_changes/static_text.cpp
+++ b/src/irrlicht_changes/static_text.cpp
@@ -109,10 +109,22 @@ void StaticText::draw()
font->getDimension(cText.c_str()).Width;
}
- irr::gui::CGUITTFont *tmp = static_cast<irr::gui::CGUITTFont*>(font);
- tmp->draw(cText, frameRect,
- OverrideColorEnabled ? OverrideColor : skin->getColor(isEnabled() ? EGDC_BUTTON_TEXT : EGDC_GRAY_TEXT),
- HAlign == EGUIA_CENTER, VAlign == EGUIA_CENTER, (RestrainTextInside ? &AbsoluteClippingRect : NULL));
+#if USE_FREETYPE
+ if (font->getType() == irr::gui::EGFT_CUSTOM) {
+ irr::gui::CGUITTFont *tmp = static_cast<irr::gui::CGUITTFont*>(font);
+ tmp->draw(cText, frameRect,
+ OverrideColorEnabled ? OverrideColor :
+ skin->getColor(isEnabled() ? EGDC_BUTTON_TEXT : EGDC_GRAY_TEXT),
+ HAlign == EGUIA_CENTER, VAlign == EGUIA_CENTER,
+ (RestrainTextInside ? &AbsoluteClippingRect : NULL));
+ } else
+#endif
+ {
+ font->draw(Text.c_str(), frameRect,
+ skin->getColor(EGDC_BUTTON_TEXT),
+ HAlign == EGUIA_CENTER, VAlign == EGUIA_CENTER,
+ (RestrainTextInside ? &AbsoluteClippingRect : NULL));
+ }
}
else
{
@@ -140,18 +152,29 @@ void StaticText::draw()
font->getDimension(BrokenText[i].c_str()).Width;
}
- //std::vector<irr::video::SColor> colors;
- //std::wstring str;
EnrichedString str = BrokenText[i];
//str = colorizeText(BrokenText[i].c_str(), colors, previous_color);
//if (!colors.empty())
// previous_color = colors[colors.size() - 1];
- irr::gui::CGUITTFont *tmp = static_cast<irr::gui::CGUITTFont*>(font);
- tmp->draw(str, r,
- previous_color, // FIXME
- HAlign == EGUIA_CENTER, false, (RestrainTextInside ? &AbsoluteClippingRect : NULL));
+#if USE_FREETYPE
+ if (font->getType() == irr::gui::EGFT_CUSTOM) {
+ irr::gui::CGUITTFont *tmp = static_cast<irr::gui::CGUITTFont*>(font);
+ tmp->draw(str,
+ r, previous_color, // FIXME
+ HAlign == EGUIA_CENTER, false,
+ (RestrainTextInside ? &AbsoluteClippingRect : NULL));
+ } else
+#endif
+ {
+ // Draw non-colored text
+ font->draw(str.c_str(),
+ r, skin->getColor(EGDC_BUTTON_TEXT),
+ HAlign == EGUIA_CENTER, false,
+ (RestrainTextInside ? &AbsoluteClippingRect : NULL));
+ }
+
r.LowerRightCorner.Y += height;
r.UpperLeftCorner.Y += height;
diff --git a/src/itemdef.cpp b/src/itemdef.cpp
index 9d6068bab..0d0afeb2b 100644
--- a/src/itemdef.cpp
+++ b/src/itemdef.cpp
@@ -38,10 +38,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include <map>
#include <set>
-#ifdef __ANDROID__
-#include <GLES/gl.h>
-#endif
-
/*
ItemDefinition
*/
diff --git a/src/light.cpp b/src/light.cpp
index c60f8eaca..9b6f5c210 100644
--- a/src/light.cpp
+++ b/src/light.cpp
@@ -66,7 +66,7 @@ void set_light_table(float gamma)
params.center = g_settings->getFloat("lighting_boost_center");
params.sigma = g_settings->getFloat("lighting_boost_spread");
// Gamma correction
- params.gamma = rangelim(gamma, 0.5f, 3.0f);
+ params.gamma = rangelim(gamma, 0.5f, 10.0f);
// Boundary values should be fixed
light_LUT[0] = 0;
diff --git a/src/log.cpp b/src/log.cpp
index c84a847a5..30344b4df 100644
--- a/src/log.cpp
+++ b/src/log.cpp
@@ -310,16 +310,32 @@ void Logger::logToOutputs(LogLevel lev, const std::string &combined,
//// *LogOutput methods
////
-void FileLogOutput::open(const std::string &filename)
+void FileLogOutput::setFile(const std::string &filename, s64 file_size_max)
{
- m_stream.open(filename.c_str(), std::ios::app | std::ios::ate);
+ // Only move debug.txt if there is a valid maximum file size
+ bool is_too_large = false;
+ if (file_size_max > 0) {
+ std::ifstream ifile(filename, std::ios::binary | std::ios::ate);
+ is_too_large = ifile.tellg() > file_size_max;
+ ifile.close();
+ }
+
+ if (is_too_large) {
+ std::string filename_secondary = filename + ".1";
+ actionstream << "The log file grew too big; it is moved to " <<
+ filename_secondary << std::endl;
+ remove(filename_secondary.c_str());
+ rename(filename.c_str(), filename_secondary.c_str());
+ }
+ m_stream.open(filename, std::ios::app | std::ios::ate);
+
if (!m_stream.good())
throw FileNotGoodException("Failed to open log file " +
filename + ": " + strerror(errno));
m_stream << "\n\n"
- "-------------" << std::endl
- << " Separator" << std::endl
- << "-------------\n" << std::endl;
+ "-------------" << std::endl <<
+ " Separator" << std::endl <<
+ "-------------\n" << std::endl;
}
diff --git a/src/log.h b/src/log.h
index 952ebadb1..6350d8a86 100644
--- a/src/log.h
+++ b/src/log.h
@@ -118,16 +118,16 @@ public:
m_stream(stream)
{
#if !defined(_WIN32)
- colored = (Logger::color_mode == LOG_COLOR_ALWAYS) ||
- (Logger::color_mode == LOG_COLOR_AUTO && isatty(fileno(stdout)));
+ is_tty = isatty(fileno(stdout));
#else
- colored = Logger::color_mode == LOG_COLOR_ALWAYS;
+ is_tty = false;
#endif
}
void logRaw(LogLevel lev, const std::string &line)
{
- bool colored_message = colored;
+ bool colored_message = (Logger::color_mode == LOG_COLOR_ALWAYS) ||
+ (Logger::color_mode == LOG_COLOR_AUTO && is_tty);
if (colored_message)
switch (lev) {
case LL_ERROR:
@@ -160,12 +160,12 @@ public:
private:
std::ostream &m_stream;
- bool colored;
+ bool is_tty;
};
class FileLogOutput : public ICombinedLogOutput {
public:
- void open(const std::string &filename);
+ void setFile(const std::string &filename, s64 file_size_max);
void logRaw(LogLevel lev, const std::string &line)
{
diff --git a/src/main.cpp b/src/main.cpp
index 26ad978c6..4629f92ce 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -29,7 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "defaultsettings.h"
#include "gettext.h"
#include "log.h"
-#include "quicktune.h"
+#include "util/quicktune.h"
#include "httpfetch.h"
#include "gameparams.h"
#include "database/database.h"
@@ -79,7 +79,7 @@ static void print_modified_quicktune_values();
static void list_game_ids();
static void list_worlds(bool print_name, bool print_path);
-static void setup_log_params(const Settings &cmd_args);
+static bool setup_log_params(const Settings &cmd_args);
static bool create_userdata_path();
static bool init_common(const Settings &cmd_args, int argc, char *argv[]);
static void startup_message();
@@ -135,7 +135,8 @@ int main(int argc, char *argv[])
return 0;
}
- setup_log_params(cmd_args);
+ if (!setup_log_params(cmd_args))
+ return 1;
porting::signal_handler_init();
@@ -166,8 +167,12 @@ int main(int argc, char *argv[])
list_worlds(true, false);
} else if (cmd_args.get("worldlist") == "path") {
list_worlds(false, true);
- } else {
+ } else if (cmd_args.get("worldlist") == "both") {
list_worlds(true, true);
+ } else {
+ errorstream << "Invalid --worldlist value: "
+ << cmd_args.get("worldlist") << std::endl;
+ return 1;
}
return 0;
}
@@ -258,23 +263,17 @@ static void set_allowed_options(OptionList *allowed_options)
allowed_options->insert(std::make_pair("map-dir", ValueSpec(VALUETYPE_STRING,
_("Same as --world (deprecated)"))));
allowed_options->insert(std::make_pair("world", ValueSpec(VALUETYPE_STRING,
- _("Set world path (implies local game)"))));
+ _("Set world path (implies local game if used with option --go)"))));
allowed_options->insert(std::make_pair("worldname", ValueSpec(VALUETYPE_STRING,
- _("Set world by name (implies local game)"))));
+ _("Set world by name (implies local game if used with option --go)"))));
allowed_options->insert(std::make_pair("worldlist", ValueSpec(VALUETYPE_STRING,
- _("Get list of worlds (implies local game) ('path' lists paths, "
+ _("Get list of worlds ('path' lists paths, "
"'name' lists names, 'both' lists both)"))));
allowed_options->insert(std::make_pair("quiet", ValueSpec(VALUETYPE_FLAG,
_("Print to console errors only"))));
-#if !defined(_WIN32)
allowed_options->insert(std::make_pair("color", ValueSpec(VALUETYPE_STRING,
_("Coloured logs ('always', 'never' or 'auto'), defaults to 'auto'"
))));
-#else
- allowed_options->insert(std::make_pair("color", ValueSpec(VALUETYPE_STRING,
- _("Coloured logs ('always' or 'never'), defaults to 'never'"
- ))));
-#endif
allowed_options->insert(std::make_pair("info", ValueSpec(VALUETYPE_FLAG,
_("Print more information to console"))));
allowed_options->insert(std::make_pair("verbose", ValueSpec(VALUETYPE_FLAG,
@@ -398,7 +397,7 @@ static void print_modified_quicktune_values()
}
}
-static void setup_log_params(const Settings &cmd_args)
+static bool setup_log_params(const Settings &cmd_args)
{
// Quiet mode, print errors only
if (cmd_args.getFlag("quiet")) {
@@ -407,14 +406,27 @@ static void setup_log_params(const Settings &cmd_args)
}
// Coloured log messages (see log.h)
+ std::string color_mode;
if (cmd_args.exists("color")) {
- std::string mode = cmd_args.get("color");
- if (mode == "auto")
+ color_mode = cmd_args.get("color");
+#if !defined(_WIN32)
+ } else {
+ char *color_mode_env = getenv("MT_LOGCOLOR");
+ if (color_mode_env)
+ color_mode = color_mode_env;
+#endif
+ }
+ if (color_mode != "") {
+ if (color_mode == "auto") {
Logger::color_mode = LOG_COLOR_AUTO;
- else if (mode == "always")
+ } else if (color_mode == "always") {
Logger::color_mode = LOG_COLOR_ALWAYS;
- else
+ } else if (color_mode == "never") {
Logger::color_mode = LOG_COLOR_NEVER;
+ } else {
+ errorstream << "Invalid color mode: " << color_mode << std::endl;
+ return false;
+ }
}
// If trace is enabled, enable logging of certain things
@@ -433,6 +445,8 @@ static void setup_log_params(const Settings &cmd_args)
// In certain cases, output verbose level on stderr
if (cmd_args.getFlag("verbose") || cmd_args.getFlag("trace"))
g_logger.addOutput(&stderr_output, LL_VERBOSE);
+
+ return true;
}
static bool create_userdata_path()
@@ -566,9 +580,8 @@ static void init_log_streams(const Settings &cmd_args)
"using maximum." << std::endl;
}
- verbosestream << "log_filename = " << log_filename << std::endl;
-
- file_log_output.open(log_filename);
+ file_log_output.setFile(log_filename,
+ g_settings->getU64("debug_log_size_max") * 1000000);
g_logger.addOutputMaxLevel(&file_log_output, log_level);
}
diff --git a/src/map.cpp b/src/map.cpp
index 0114867e0..0a7099a06 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -89,14 +89,14 @@ void Map::removeEventReceiver(MapEventReceiver *event_receiver)
m_event_receivers.erase(event_receiver);
}
-void Map::dispatchEvent(MapEditEvent *event)
+void Map::dispatchEvent(const MapEditEvent &event)
{
for (MapEventReceiver *event_receiver : m_event_receivers) {
event_receiver->onMapEditEvent(event);
}
}
-MapSector * Map::getSectorNoGenerateNoExNoLock(v2s16 p)
+MapSector * Map::getSectorNoGenerateNoLock(v2s16 p)
{
if(m_sector_cache != NULL && p == m_sector_cache_p){
MapSector * sector = m_sector_cache;
@@ -117,24 +117,15 @@ MapSector * Map::getSectorNoGenerateNoExNoLock(v2s16 p)
return sector;
}
-MapSector * Map::getSectorNoGenerateNoEx(v2s16 p)
-{
- return getSectorNoGenerateNoExNoLock(p);
-}
-
MapSector * Map::getSectorNoGenerate(v2s16 p)
{
- MapSector *sector = getSectorNoGenerateNoEx(p);
- if(sector == NULL)
- throw InvalidPositionException();
-
- return sector;
+ return getSectorNoGenerateNoLock(p);
}
MapBlock * Map::getBlockNoCreateNoEx(v3s16 p3d)
{
v2s16 p2d(p3d.X, p3d.Z);
- MapSector * sector = getSectorNoGenerateNoEx(p2d);
+ MapSector * sector = getSectorNoGenerate(p2d);
if(sector == NULL)
return NULL;
MapBlock *block = sector->getBlockNoCreateNoEx(p3d.Y);
@@ -152,14 +143,8 @@ MapBlock * Map::getBlockNoCreate(v3s16 p3d)
bool Map::isNodeUnderground(v3s16 p)
{
v3s16 blockpos = getNodeBlockPos(p);
- try{
- MapBlock * block = getBlockNoCreate(blockpos);
- return block->getIsUnderground();
- }
- catch(InvalidPositionException &e)
- {
- return false;
- }
+ MapBlock *block = getBlockNoCreateNoEx(blockpos);
+ return block && block->getIsUnderground();
}
bool Map::isValidPosition(v3s16 p)
@@ -170,7 +155,7 @@ bool Map::isValidPosition(v3s16 p)
}
// Returns a CONTENT_IGNORE node if not found
-MapNode Map::getNodeNoEx(v3s16 p, bool *is_valid_position)
+MapNode Map::getNode(v3s16 p, bool *is_valid_position)
{
v3s16 blockpos = getNodeBlockPos(p);
MapBlock *block = getBlockNoCreateNoEx(blockpos);
@@ -188,25 +173,6 @@ MapNode Map::getNodeNoEx(v3s16 p, bool *is_valid_position)
return node;
}
-#if 0
-// Deprecated
-// throws InvalidPositionException if not found
-// TODO: Now this is deprecated, getNodeNoEx should be renamed
-MapNode Map::getNode(v3s16 p)
-{
- v3s16 blockpos = getNodeBlockPos(p);
- MapBlock *block = getBlockNoCreateNoEx(blockpos);
- if (block == NULL)
- throw InvalidPositionException();
- v3s16 relpos = p - blockpos*MAP_BLOCKSIZE;
- bool is_valid_position;
- MapNode node = block->getNodeNoCheck(relpos, &is_valid_position);
- if (!is_valid_position)
- throw InvalidPositionException();
- return node;
-}
-#endif
-
// throws InvalidPositionException if not found
void Map::setNode(v3s16 p, MapNode & n)
{
@@ -233,7 +199,7 @@ void Map::addNodeAndUpdate(v3s16 p, MapNode n,
RollbackNode rollback_oldnode(this, p, m_gamedef);
// This is needed for updating the lighting
- MapNode oldnode = getNodeNoEx(p);
+ MapNode oldnode = getNode(p);
// Remove node metadata
if (remove_metadata) {
@@ -273,7 +239,7 @@ void Map::addNodeAndUpdate(v3s16 p, MapNode n,
v3s16 p2 = p + dir;
bool is_valid_position;
- MapNode n2 = getNodeNoEx(p2, &is_valid_position);
+ MapNode n2 = getNode(p2, &is_valid_position);
if(is_valid_position &&
(m_nodedef->get(n2).isLiquid() ||
n2.getContent() == CONTENT_AIR))
@@ -308,7 +274,7 @@ bool Map::addNodeWithEvent(v3s16 p, MapNode n, bool remove_metadata)
succeeded = false;
}
- dispatchEvent(&event);
+ dispatchEvent(event);
return succeeded;
}
@@ -333,7 +299,7 @@ bool Map::removeNodeWithEvent(v3s16 p)
succeeded = false;
}
- dispatchEvent(&event);
+ dispatchEvent(event);
return succeeded;
}
@@ -585,7 +551,7 @@ void Map::transformLiquids(std::map<v3s16, MapBlock*> &modified_blocks,
v3s16 p0 = m_transforming_liquid.front();
m_transforming_liquid.pop_front();
- MapNode n0 = getNodeNoEx(p0);
+ MapNode n0 = getNode(p0);
/*
Collect information about current node
@@ -645,7 +611,7 @@ void Map::transformLiquids(std::map<v3s16, MapBlock*> &modified_blocks,
break;
}
v3s16 npos = p0 + dirs[i];
- NodeNeighbor nb(getNodeNoEx(npos), nt, npos);
+ NodeNeighbor nb(getNode(npos), nt, npos);
const ContentFeatures &cfnb = m_nodedef->get(nb.n);
switch (m_nodedef->get(nb.n.getContent()).liquid_type) {
case LIQUID_NONE:
@@ -1066,24 +1032,95 @@ void Map::removeNodeTimer(v3s16 p)
block->m_node_timers.remove(p_rel);
}
-bool Map::isOccluded(v3s16 p0, v3s16 p1, float step, float stepfac,
- float start_off, float end_off, u32 needed_count)
+bool Map::determineAdditionalOcclusionCheck(const v3s16 &pos_camera,
+ const core::aabbox3d<s16> &block_bounds, v3s16 &check)
+{
+ /*
+ This functions determines the node inside the target block that is
+ closest to the camera position. This increases the occlusion culling
+ accuracy in straight and diagonal corridors.
+ The returned position will be occlusion checked first in addition to the
+ others (8 corners + center).
+ No position is returned if
+ - the closest node is a corner, corners are checked anyway.
+ - the camera is inside the target block, it will never be occluded.
+ */
+#define CLOSEST_EDGE(pos, bounds, axis) \
+ ((pos).axis <= (bounds).MinEdge.axis) ? (bounds).MinEdge.axis : \
+ (bounds).MaxEdge.axis
+
+ bool x_inside = (block_bounds.MinEdge.X <= pos_camera.X) &&
+ (pos_camera.X <= block_bounds.MaxEdge.X);
+ bool y_inside = (block_bounds.MinEdge.Y <= pos_camera.Y) &&
+ (pos_camera.Y <= block_bounds.MaxEdge.Y);
+ bool z_inside = (block_bounds.MinEdge.Z <= pos_camera.Z) &&
+ (pos_camera.Z <= block_bounds.MaxEdge.Z);
+
+ if (x_inside && y_inside && z_inside)
+ return false; // Camera inside target mapblock
+
+ // straight
+ if (x_inside && y_inside) {
+ check = v3s16(pos_camera.X, pos_camera.Y, 0);
+ check.Z = CLOSEST_EDGE(pos_camera, block_bounds, Z);
+ return true;
+ } else if (y_inside && z_inside) {
+ check = v3s16(0, pos_camera.Y, pos_camera.Z);
+ check.X = CLOSEST_EDGE(pos_camera, block_bounds, X);
+ return true;
+ } else if (x_inside && z_inside) {
+ check = v3s16(pos_camera.X, 0, pos_camera.Z);
+ check.Y = CLOSEST_EDGE(pos_camera, block_bounds, Y);
+ return true;
+ }
+
+ // diagonal
+ if (x_inside) {
+ check = v3s16(pos_camera.X, 0, 0);
+ check.Y = CLOSEST_EDGE(pos_camera, block_bounds, Y);
+ check.Z = CLOSEST_EDGE(pos_camera, block_bounds, Z);
+ return true;
+ } else if (y_inside) {
+ check = v3s16(0, pos_camera.Y, 0);
+ check.X = CLOSEST_EDGE(pos_camera, block_bounds, X);
+ check.Z = CLOSEST_EDGE(pos_camera, block_bounds, Z);
+ return true;
+ } else if (z_inside) {
+ check = v3s16(0, 0, pos_camera.Z);
+ check.X = CLOSEST_EDGE(pos_camera, block_bounds, X);
+ check.Y = CLOSEST_EDGE(pos_camera, block_bounds, Y);
+ return true;
+ }
+
+ // Closest node would be a corner, none returned
+ return false;
+}
+
+bool Map::isOccluded(const v3s16 &pos_camera, const v3s16 &pos_target,
+ float step, float stepfac, float offset, float end_offset, u32 needed_count)
{
- float d0 = (float)BS * p0.getDistanceFrom(p1);
- v3s16 u0 = p1 - p0;
- v3f uf = v3f(u0.X, u0.Y, u0.Z) * BS;
- uf.normalize();
- v3f p0f = v3f(p0.X, p0.Y, p0.Z) * BS;
+ v3f direction = intToFloat(pos_target - pos_camera, BS);
+ float distance = direction.getLength();
+
+ // Normalize direction vector
+ if (distance > 0.0f)
+ direction /= distance;
+
+ v3f pos_origin_f = intToFloat(pos_camera, BS);
u32 count = 0;
- for(float s=start_off; s<d0+end_off; s+=step){
- v3f pf = p0f + uf * s;
- v3s16 p = floatToInt(pf, BS);
- MapNode n = getNodeNoEx(p);
- const ContentFeatures &f = m_nodedef->get(n);
- if(f.drawtype == NDT_NORMAL){
- // not transparent, see ContentFeature::updateTextures
+ bool is_valid_position;
+
+ for (; offset < distance + end_offset; offset += step) {
+ v3f pos_node_f = pos_origin_f + direction * offset;
+ v3s16 pos_node = floatToInt(pos_node_f, BS);
+
+ MapNode node = getNode(pos_node, &is_valid_position);
+
+ if (is_valid_position &&
+ !m_nodedef->get(node).light_propagates) {
+ // Cannot see through light-blocking nodes --> occluded
count++;
- if(count >= needed_count)
+ if (count >= needed_count)
return true;
}
step *= stepfac;
@@ -1091,44 +1128,59 @@ bool Map::isOccluded(v3s16 p0, v3s16 p1, float step, float stepfac,
return false;
}
-bool Map::isBlockOccluded(MapBlock *block, v3s16 cam_pos_nodes) {
- v3s16 cpn = block->getPos() * MAP_BLOCKSIZE;
- cpn += v3s16(MAP_BLOCKSIZE / 2, MAP_BLOCKSIZE / 2, MAP_BLOCKSIZE / 2);
- float step = BS * 1;
- float stepfac = 1.1;
- float startoff = BS * 1;
+bool Map::isBlockOccluded(MapBlock *block, v3s16 cam_pos_nodes)
+{
+ // Check occlusion for center and all 8 corners of the mapblock
+ // Overshoot a little for less flickering
+ static const s16 bs2 = MAP_BLOCKSIZE / 2 + 1;
+ static const v3s16 dir9[9] = {
+ v3s16( 0, 0, 0),
+ v3s16( 1, 1, 1) * bs2,
+ v3s16( 1, 1, -1) * bs2,
+ v3s16( 1, -1, 1) * bs2,
+ v3s16( 1, -1, -1) * bs2,
+ v3s16(-1, 1, 1) * bs2,
+ v3s16(-1, 1, -1) * bs2,
+ v3s16(-1, -1, 1) * bs2,
+ v3s16(-1, -1, -1) * bs2,
+ };
+
+ v3s16 pos_blockcenter = block->getPosRelative() + (MAP_BLOCKSIZE / 2);
+
+ // Starting step size, value between 1m and sqrt(3)m
+ float step = BS * 1.2f;
+ // Multiply step by each iteraction by 'stepfac' to reduce checks in distance
+ float stepfac = 1.05f;
+
+ float start_offset = BS * 1.0f;
+
// The occlusion search of 'isOccluded()' must stop short of the target
- // point by distance 'endoff' (end offset) to not enter the target mapblock.
- // For the 8 mapblock corners 'endoff' must therefore be the maximum diagonal
- // of a mapblock, because we must consider all view angles.
+ // point by distance 'end_offset' to not enter the target mapblock.
+ // For the 8 mapblock corners 'end_offset' must therefore be the maximum
+ // diagonal of a mapblock, because we must consider all view angles.
// sqrt(1^2 + 1^2 + 1^2) = 1.732
- float endoff = -BS * MAP_BLOCKSIZE * 1.732050807569;
- s16 bs2 = MAP_BLOCKSIZE / 2 + 1;
+ float end_offset = -BS * MAP_BLOCKSIZE * 1.732f;
+
// to reduce the likelihood of falsely occluded blocks
// require at least two solid blocks
// this is a HACK, we should think of a more precise algorithm
u32 needed_count = 2;
- return (
- // For the central point of the mapblock 'endoff' can be halved
- isOccluded(cam_pos_nodes, cpn,
- step, stepfac, startoff, endoff / 2.0f, needed_count) &&
- isOccluded(cam_pos_nodes, cpn + v3s16(bs2,bs2,bs2),
- step, stepfac, startoff, endoff, needed_count) &&
- isOccluded(cam_pos_nodes, cpn + v3s16(bs2,bs2,-bs2),
- step, stepfac, startoff, endoff, needed_count) &&
- isOccluded(cam_pos_nodes, cpn + v3s16(bs2,-bs2,bs2),
- step, stepfac, startoff, endoff, needed_count) &&
- isOccluded(cam_pos_nodes, cpn + v3s16(bs2,-bs2,-bs2),
- step, stepfac, startoff, endoff, needed_count) &&
- isOccluded(cam_pos_nodes, cpn + v3s16(-bs2,bs2,bs2),
- step, stepfac, startoff, endoff, needed_count) &&
- isOccluded(cam_pos_nodes, cpn + v3s16(-bs2,bs2,-bs2),
- step, stepfac, startoff, endoff, needed_count) &&
- isOccluded(cam_pos_nodes, cpn + v3s16(-bs2,-bs2,bs2),
- step, stepfac, startoff, endoff, needed_count) &&
- isOccluded(cam_pos_nodes, cpn + v3s16(-bs2,-bs2,-bs2),
- step, stepfac, startoff, endoff, needed_count));
+ // Additional occlusion check, see comments in that function
+ v3s16 check;
+ if (determineAdditionalOcclusionCheck(cam_pos_nodes, block->getBox(), check)) {
+ // node is always on a side facing the camera, end_offset can be lower
+ if (!isOccluded(cam_pos_nodes, check, step, stepfac, start_offset,
+ -1.0f, needed_count))
+ return false;
+ }
+
+ for (const v3s16 &dir : dir9) {
+ if (!isOccluded(cam_pos_nodes, pos_blockcenter + dir, step, stepfac,
+ start_offset, end_offset, needed_count))
+ return false;
+ }
+ return true;
}
/*
@@ -1429,7 +1481,7 @@ MapSector *ServerMap::createSector(v2s16 p2d)
/*
Check if it exists already in memory
*/
- MapSector *sector = getSectorNoGenerateNoEx(p2d);
+ MapSector *sector = getSectorNoGenerate(p2d);
if (sector)
return sector;
@@ -1660,7 +1712,7 @@ void ServerMap::updateVManip(v3s16 pos)
return;
s32 idx = vm->m_area.index(pos);
- vm->m_data[idx] = getNodeNoEx(pos);
+ vm->m_data[idx] = getNode(pos);
vm->m_flags[idx] &= ~VOXELFLAG_NO_DATA;
vm->m_is_dirty = true;
@@ -1717,7 +1769,7 @@ bool ServerMap::loadFromFolders() {
return false;
}
-void ServerMap::createDirs(std::string path)
+void ServerMap::createDirs(const std::string &path)
{
if (!fs::CreateAllDirs(path)) {
m_dout<<"ServerMap: Failed to create directory "
@@ -2139,7 +2191,7 @@ MapBlock* ServerMap::loadBlock(v3s16 blockpos)
Make sure sector is loaded
*/
- MapSector *sector = getSectorNoGenerateNoEx(p2d);
+ MapSector *sector = getSectorNoGenerate(p2d);
/*
Make sure file exists
@@ -2168,7 +2220,7 @@ MapBlock* ServerMap::loadBlock(v3s16 blockpos)
for (it = modified_blocks.begin();
it != modified_blocks.end(); ++it)
event.modified_blocks.insert(it->first);
- dispatchEvent(&event);
+ dispatchEvent(event);
}
}
return block;
@@ -2182,7 +2234,7 @@ bool ServerMap::deleteBlock(v3s16 blockpos)
MapBlock *block = getBlockNoCreateNoEx(blockpos);
if (block) {
v2s16 p2d(blockpos.X, blockpos.Z);
- MapSector *sector = getSectorNoGenerateNoEx(p2d);
+ MapSector *sector = getSectorNoGenerate(p2d);
if (!sector)
return false;
sector->deleteBlock(block);
@@ -2248,20 +2300,15 @@ void MMVManip::initialEmerge(v3s16 blockpos_min, v3s16 blockpos_max,
continue;
bool block_data_inexistent = false;
- try
{
TimeTaker timer2("emerge load", &emerge_load_time);
- block = m_map->getBlockNoCreate(p);
- if(block->isDummy())
+ block = m_map->getBlockNoCreateNoEx(p);
+ if (!block || block->isDummy())
block_data_inexistent = true;
else
block->copyTo(*this);
}
- catch(InvalidPositionException &e)
- {
- block_data_inexistent = true;
- }
if(block_data_inexistent)
{
diff --git a/src/map.h b/src/map.h
index 7ef34b279..392ec3f25 100644
--- a/src/map.h
+++ b/src/map.h
@@ -79,18 +79,7 @@ struct MapEditEvent
MapEditEvent() = default;
- MapEditEvent * clone()
- {
- MapEditEvent *event = new MapEditEvent();
- event->type = type;
- event->p = p;
- event->n = n;
- event->modified_blocks = modified_blocks;
- event->is_private_change = is_private_change;
- return event;
- }
-
- VoxelArea getArea()
+ VoxelArea getArea() const
{
switch(type){
case MEET_ADDNODE:
@@ -125,7 +114,7 @@ class MapEventReceiver
{
public:
// event shall be deleted by caller after the call.
- virtual void onMapEditEvent(MapEditEvent *event) = 0;
+ virtual void onMapEditEvent(const MapEditEvent &event) = 0;
};
class Map /*: public NodeContainer*/
@@ -152,13 +141,11 @@ public:
void addEventReceiver(MapEventReceiver *event_receiver);
void removeEventReceiver(MapEventReceiver *event_receiver);
// event shall be deleted by caller after the call.
- void dispatchEvent(MapEditEvent *event);
+ void dispatchEvent(const MapEditEvent &event);
// On failure returns NULL
- MapSector * getSectorNoGenerateNoExNoLock(v2s16 p2d);
+ MapSector * getSectorNoGenerateNoLock(v2s16 p2d);
// Same as the above (there exists no lock anymore)
- MapSector * getSectorNoGenerateNoEx(v2s16 p2d);
- // On failure throws InvalidPositionException
MapSector * getSectorNoGenerate(v2s16 p2d);
// Gets an existing sector or creates an empty one
//MapSector * getSectorCreate(v2s16 p2d);
@@ -191,7 +178,7 @@ public:
// Returns a CONTENT_IGNORE node if not found
// If is_valid_position is not NULL then this will be set to true if the
// position is valid, otherwise false
- MapNode getNodeNoEx(v3s16 p, bool *is_valid_position = NULL);
+ MapNode getNode(v3s16 p, bool *is_valid_position = NULL);
/*
These handle lighting but not faces.
@@ -312,8 +299,11 @@ protected:
// This stores the properties of the nodes on the map.
const NodeDefManager *m_nodedef;
- bool isOccluded(v3s16 p0, v3s16 p1, float step, float stepfac,
- float start_off, float end_off, u32 needed_count);
+ bool determineAdditionalOcclusionCheck(const v3s16 &pos_camera,
+ const core::aabbox3d<s16> &block_bounds, v3s16 &check);
+ bool isOccluded(const v3s16 &pos_camera, const v3s16 &pos_target,
+ float step, float stepfac, float start_offset, float end_offset,
+ u32 needed_count);
private:
f32 m_transforming_liquid_loop_count_multiplier = 1.0f;
@@ -389,7 +379,7 @@ public:
Misc. helper functions for fiddling with directory and file
names when saving
*/
- void createDirs(std::string path);
+ void createDirs(const std::string &path);
// returns something like "map/sectors/xxxxxxxx"
std::string getSectorDir(v2s16 pos, int layout = 2);
// dirname: final directory name
diff --git a/src/map_settings_manager.cpp b/src/map_settings_manager.cpp
index 16e7d8230..a0ff1c754 100644
--- a/src/map_settings_manager.cpp
+++ b/src/map_settings_manager.cpp
@@ -174,8 +174,8 @@ MapgenParams *MapSettingsManager::makeMapgenParams()
// Create our MapgenParams
MapgenParams *params = Mapgen::createMapgenParams(mgtype);
- if (params == NULL)
- return NULL;
+ if (!params)
+ return nullptr;
params->mgtype = mgtype;
diff --git a/src/mapblock.cpp b/src/mapblock.cpp
index 0996dd168..5b755b7a6 100644
--- a/src/mapblock.cpp
+++ b/src/mapblock.cpp
@@ -100,7 +100,7 @@ bool MapBlock::isValidPositionParent(v3s16 p)
MapNode MapBlock::getNodeParent(v3s16 p, bool *is_valid_position)
{
if (!isValidPosition(p))
- return m_parent->getNodeNoEx(getPosRelative() + p, is_valid_position);
+ return m_parent->getNode(getPosRelative() + p, is_valid_position);
if (!data) {
if (is_valid_position)
diff --git a/src/mapgen/cavegen.cpp b/src/mapgen/cavegen.cpp
index e54d76e08..fa34b7273 100644
--- a/src/mapgen/cavegen.cpp
+++ b/src/mapgen/cavegen.cpp
@@ -29,6 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "mg_biome.h"
#include "cavegen.h"
+// TODO Remove this. Cave liquids are now defined and located using biome definitions
static NoiseParams nparams_caveliquids(0, 1, v3f(150.0, 150.0, 150.0), 776, 3, 0.6, 2.0);
@@ -321,9 +322,26 @@ void CavesRandomWalk::makeCave(MMVManip *vm, v3s16 nmin, v3s16 nmax,
this->ystride = nmax.X - nmin.X + 1;
+ flooded = ps->range(1, 2) == 2;
+
+ // If flooded:
+ // Get biome at mapchunk midpoint. If cave liquid defined for biome, use it.
+ // If defined liquid is "air", disable 'flooded' to avoid placing "air".
+ use_biome_liquid = false;
+ if (flooded && bmgn) {
+ v3s16 midp = node_min + (node_max - node_min) / v3s16(2, 2, 2);
+ Biome *biome = (Biome *)bmgn->getBiomeAtPoint(midp);
+ if (biome->c_cave_liquid[0] != CONTENT_IGNORE) {
+ use_biome_liquid = true;
+ c_biome_liquid =
+ biome->c_cave_liquid[ps->range(0, biome->c_cave_liquid.size() - 1)];
+ if (c_biome_liquid == CONTENT_AIR)
+ flooded = false;
+ }
+ }
+
// Set initial parameters from randomness
int dswitchint = ps->range(1, 14);
- flooded = ps->range(1, 2) == 2;
if (large_cave) {
part_max_length_rs = ps->range(2, 4);
@@ -502,31 +520,21 @@ void CavesRandomWalk::carveRoute(v3f vec, float f, bool randomize_xz)
fp.Z += 0.1f * ps->range(-10, 10);
v3s16 cp(fp.X, fp.Y, fp.Z);
- // Get biome at 'cp + of', the absolute centre point of this route
- v3s16 cpabs = cp + of;
+ // Choose cave liquid
MapNode liquidnode = CONTENT_IGNORE;
- if (bmgn) {
- Biome *biome = nullptr;
- if (cpabs.X < node_min.X || cpabs.X > node_max.X ||
- cpabs.Z < node_min.Z || cpabs.Z > node_max.Z)
- // Point is outside heat and humidity noise maps so use point noise
- // calculations.
- biome = (Biome *)bmgn->calcBiomeAtPoint(cpabs);
- else
- // Point is inside heat and humidity noise maps so use them
- biome = (Biome *)bmgn->getBiomeAtPoint(cpabs);
-
- if (biome->c_cave_liquid != CONTENT_IGNORE)
- liquidnode = biome->c_cave_liquid;
- }
-
- if (liquidnode == CONTENT_IGNORE) {
- // Fallback to classic behaviour using point 'startp'
- float nval = NoisePerlin3D(np_caveliquids, startp.X,
- startp.Y, startp.Z, seed);
- liquidnode = (nval < 0.40f && node_max.Y < lava_depth) ?
- lavanode : waternode;
+ if (flooded) {
+ if (use_biome_liquid) {
+ liquidnode = c_biome_liquid;
+ } else {
+ // TODO remove this. Cave liquids are now defined and located using biome
+ // definitions.
+ // If cave liquid not defined by biome, fallback to old hardcoded behaviour.
+ float nval = NoisePerlin3D(np_caveliquids, startp.X,
+ startp.Y, startp.Z, seed);
+ liquidnode = (nval < 0.40f && node_max.Y < lava_depth) ?
+ lavanode : waternode;
+ }
}
s16 d0 = -rs / 2;
diff --git a/src/mapgen/cavegen.h b/src/mapgen/cavegen.h
index 7b7be6219..3f1730ddb 100644
--- a/src/mapgen/cavegen.h
+++ b/src/mapgen/cavegen.h
@@ -119,6 +119,8 @@ public:
// configurable parameters
s32 seed;
int water_level;
+ // TODO 'lava_depth' and 'np_caveliquids' are deprecated and should be removed.
+ // Cave liquids are now defined and located using biome definitions.
int lava_depth;
NoiseParams *np_caveliquids;
@@ -133,6 +135,7 @@ public:
bool large_cave;
bool large_cave_is_flat;
bool flooded;
+ bool use_biome_liquid;
v3s16 node_min;
v3s16 node_max;
@@ -150,6 +153,7 @@ public:
content_t c_water_source;
content_t c_lava_source;
+ content_t c_biome_liquid;
// ndef is a mandatory parameter.
// If gennotify is NULL, generation events are not logged.
diff --git a/src/mapgen/dungeongen.cpp b/src/mapgen/dungeongen.cpp
index 77ac05770..acdb1a0f0 100644
--- a/src/mapgen/dungeongen.cpp
+++ b/src/mapgen/dungeongen.cpp
@@ -31,9 +31,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
//#define DGEN_USE_TORCHES
-NoiseParams nparams_dungeon_density(0.9, 0.5, v3f(500.0, 500.0, 500.0), 0, 2, 0.8, 2.0);
-NoiseParams nparams_dungeon_alt_wall(-0.4, 1.0, v3f(40.0, 40.0, 40.0), 32474, 6, 1.1, 2.0);
-
///////////////////////////////////////////////////////////////////////////////
@@ -69,28 +66,26 @@ DungeonGen::DungeonGen(const NodeDefManager *ndef,
dp.room_size_max = v3s16(8, 6, 8);
dp.room_size_large_min = v3s16(8, 8, 8);
dp.room_size_large_max = v3s16(16, 16, 16);
- dp.rooms_min = 2;
- dp.rooms_max = 16;
+ dp.large_room_chance = 1;
+ dp.num_rooms = 8;
+ dp.num_dungeons = 1;
dp.notifytype = GENNOTIFY_DUNGEON;
- dp.np_density = nparams_dungeon_density;
- dp.np_alt_wall = nparams_dungeon_alt_wall;
+ dp.np_alt_wall =
+ NoiseParams(-0.4, 1.0, v3f(40.0, 40.0, 40.0), 32474, 6, 1.1, 2.0);
}
}
void DungeonGen::generate(MMVManip *vm, u32 bseed, v3s16 nmin, v3s16 nmax)
{
+ if (dp.num_dungeons == 0)
+ return;
+
assert(vm);
//TimeTaker t("gen dungeons");
- float nval_density = NoisePerlin3D(&dp.np_density, nmin.X, nmin.Y, nmin.Z, dp.seed);
- if (nval_density < 1.0f)
- return;
-
- static const bool preserve_ignore = !g_settings->getBool("projecting_dungeons");
-
this->vm = vm;
this->blockseed = bseed;
random.seed(bseed + 2);
@@ -99,9 +94,13 @@ void DungeonGen::generate(MMVManip *vm, u32 bseed, v3s16 nmin, v3s16 nmax)
vm->clearFlag(VMANIP_FLAG_DUNGEON_INSIDE | VMANIP_FLAG_DUNGEON_PRESERVE);
if (dp.only_in_ground) {
- // Set all air and liquid drawtypes to be untouchable to make dungeons
- // open to air and liquids. Optionally set ignore to be untouchable to
- // prevent projecting dungeons.
+ // Set all air and liquid drawtypes to be untouchable to make dungeons generate
+ // in ground only.
+ // Set 'ignore' to be untouchable to prevent generation in ungenerated neighbor
+ // mapchunks, to avoid dungeon rooms generating outside ground.
+ // Like randomwalk caves, preserve nodes that have 'is_ground_content = false',
+ // to avoid dungeons that generate out beyond the edge of a mapchunk destroying
+ // nodes added by mods in 'register_on_generated()'.
for (s16 z = nmin.Z; z <= nmax.Z; z++) {
for (s16 y = nmin.Y; y <= nmax.Y; y++) {
u32 i = vm->m_area.index(nmin.X, y, z);
@@ -109,7 +108,7 @@ void DungeonGen::generate(MMVManip *vm, u32 bseed, v3s16 nmin, v3s16 nmax)
content_t c = vm->m_data[i].getContent();
NodeDrawType dtype = ndef->get(c).drawtype;
if (dtype == NDT_AIRLIKE || dtype == NDT_LIQUID ||
- (preserve_ignore && c == CONTENT_IGNORE))
+ c == CONTENT_IGNORE || !ndef->get(c).is_ground_content)
vm->m_flags[i] |= VMANIP_FLAG_DUNGEON_PRESERVE;
i++;
}
@@ -118,7 +117,7 @@ void DungeonGen::generate(MMVManip *vm, u32 bseed, v3s16 nmin, v3s16 nmax)
}
// Add them
- for (u32 i = 0; i < std::floor(nval_density); i++)
+ for (u32 i = 0; i < dp.num_dungeons; i++)
makeDungeon(v3s16(1, 1, 1) * MAP_BLOCKSIZE);
// Optionally convert some structure to alternative structure
@@ -149,19 +148,13 @@ void DungeonGen::makeDungeon(v3s16 start_padding)
/*
Find place for first room.
- There is a 1 in 4 chance of the first room being 'large',
- all other rooms are not 'large'.
*/
bool fits = false;
for (u32 i = 0; i < 100 && !fits; i++) {
- bool is_large_room = ((random.next() & 3) == 1);
- if (is_large_room) {
- roomsize.Z = random.range(
- dp.room_size_large_min.Z, dp.room_size_large_max.Z);
- roomsize.Y = random.range(
- dp.room_size_large_min.Y, dp.room_size_large_max.Y);
- roomsize.X = random.range(
- dp.room_size_large_min.X, dp.room_size_large_max.X);
+ if (dp.large_room_chance >= 1) {
+ roomsize.Z = random.range(dp.room_size_large_min.Z, dp.room_size_large_max.Z);
+ roomsize.Y = random.range(dp.room_size_large_min.Y, dp.room_size_large_max.Y);
+ roomsize.X = random.range(dp.room_size_large_min.X, dp.room_size_large_max.X);
} else {
roomsize.Z = random.range(dp.room_size_min.Z, dp.room_size_max.Z);
roomsize.Y = random.range(dp.room_size_min.Y, dp.room_size_max.Y);
@@ -203,8 +196,7 @@ void DungeonGen::makeDungeon(v3s16 start_padding)
*/
v3s16 last_room_center = roomplace + v3s16(roomsize.X / 2, 1, roomsize.Z / 2);
- u32 room_count = random.range(dp.rooms_min, dp.rooms_max);
- for (u32 i = 0; i < room_count; i++) {
+ for (u32 i = 0; i < dp.num_rooms; i++) {
// Make a room to the determined place
makeRoom(roomsize, roomplace);
@@ -218,7 +210,7 @@ void DungeonGen::makeDungeon(v3s16 start_padding)
#endif
// Quit if last room
- if (i == room_count - 1)
+ if (i + 1 == dp.num_rooms)
break;
// Determine walker start position
@@ -256,9 +248,16 @@ void DungeonGen::makeDungeon(v3s16 start_padding)
makeCorridor(doorplace, doordir, corridor_end, corridor_end_dir);
// Find a place for a random sized room
- roomsize.Z = random.range(dp.room_size_min.Z, dp.room_size_max.Z);
- roomsize.Y = random.range(dp.room_size_min.Y, dp.room_size_max.Y);
- roomsize.X = random.range(dp.room_size_min.X, dp.room_size_max.X);
+ if (dp.large_room_chance > 1 && random.range(1, dp.large_room_chance) == 1) {
+ // Large room
+ roomsize.Z = random.range(dp.room_size_large_min.Z, dp.room_size_large_max.Z);
+ roomsize.Y = random.range(dp.room_size_large_min.Y, dp.room_size_large_max.Y);
+ roomsize.X = random.range(dp.room_size_large_min.X, dp.room_size_large_max.X);
+ } else {
+ roomsize.Z = random.range(dp.room_size_min.Z, dp.room_size_max.Z);
+ roomsize.Y = random.range(dp.room_size_min.Y, dp.room_size_max.Y);
+ roomsize.X = random.range(dp.room_size_min.X, dp.room_size_max.X);
+ }
m_pos = corridor_end;
m_dir = corridor_end_dir;
@@ -271,7 +270,6 @@ void DungeonGen::makeDungeon(v3s16 start_padding)
else
// Don't actually make a door
roomplace -= doordir;
-
}
}
@@ -490,7 +488,7 @@ void DungeonGen::makeCorridor(v3s16 doorplace, v3s16 doordir,
if (partcount >= partlength) {
partcount = 0;
- dir = random_turn(random, dir);
+ random_turn(random, dir);
partlength = random.range(1, length);
@@ -651,20 +649,19 @@ v3s16 turn_xz(v3s16 olddir, int t)
}
-v3s16 random_turn(PseudoRandom &random, v3s16 olddir)
+void random_turn(PseudoRandom &random, v3s16 &dir)
{
int turn = random.range(0, 2);
- v3s16 dir;
- if (turn == 0)
- // Go straight
- dir = olddir;
- else if (turn == 1)
+ if (turn == 0) {
+ // Go straight: nothing to do
+ return;
+ } else if (turn == 1) {
// Turn right
- dir = turn_xz(olddir, 0);
- else
+ dir = turn_xz(dir, 0);
+ } else {
// Turn left
- dir = turn_xz(olddir, 1);
- return dir;
+ dir = turn_xz(dir, 1);
+ }
}
diff --git a/src/mapgen/dungeongen.h b/src/mapgen/dungeongen.h
index 2748524c5..35e6beef5 100644
--- a/src/mapgen/dungeongen.h
+++ b/src/mapgen/dungeongen.h
@@ -34,7 +34,7 @@ class NodeDefManager;
v3s16 rand_ortho_dir(PseudoRandom &random, bool diagonal_dirs);
v3s16 turn_xz(v3s16 olddir, int t);
-v3s16 random_turn(PseudoRandom &random, v3s16 olddir);
+void random_turn(PseudoRandom &random, v3s16 &dir);
int dir_to_facedir(v3s16 d);
@@ -42,24 +42,44 @@ struct DungeonParams {
s32 seed;
content_t c_wall;
+ // Randomly scattered alternative wall nodes
content_t c_alt_wall;
content_t c_stair;
- bool diagonal_dirs;
+ // 3D noise that determines which c_wall nodes are converted to c_alt_wall
+ NoiseParams np_alt_wall;
+
+ // Number of dungeons generated in mapchunk. All will use the same set of
+ // dungeonparams.
+ u16 num_dungeons;
+ // Dungeons only generate in ground
bool only_in_ground;
- v3s16 holesize;
- u16 corridor_len_min;
- u16 corridor_len_max;
+ // Number of rooms
+ u16 num_rooms;
+ // Room size random range. Includes walls / floor / ceilng
v3s16 room_size_min;
v3s16 room_size_max;
+ // Large room size random range. Includes walls / floor / ceilng
v3s16 room_size_large_min;
v3s16 room_size_large_max;
- u16 rooms_min;
- u16 rooms_max;
+ // Value 0 disables large rooms.
+ // Value 1 results in 1 large room, the first generated room.
+ // Value > 1 makes the first generated room large, all other rooms have a
+ // '1 in value' chance of being large.
+ u16 large_room_chance;
+ // Dimensions of 3D 'brush' that creates corridors.
+ // Dimensions are of the empty space, not including walls / floor / ceilng.
+ // Diagonal corridors must have hole width >=2 to be passable.
+ // Currently, hole width >= 3 causes stair corridor bugs.
+ v3s16 holesize;
+ // Corridor length random range
+ u16 corridor_len_min;
+ u16 corridor_len_max;
+ // Diagonal corridors are possible, 1 in 4 corridors will be diagonal
+ bool diagonal_dirs;
+ // Usually 'GENNOTIFY_DUNGEON', but mapgen v6 uses 'GENNOTIFY_TEMPLE' for
+ // desert dungeons.
GenNotifyType notifytype;
-
- NoiseParams np_density;
- NoiseParams np_alt_wall;
};
class DungeonGen {
@@ -82,8 +102,7 @@ public:
DungeonGen(const NodeDefManager *ndef,
GenerateNotifier *gennotify, DungeonParams *dparams);
- void generate(MMVManip *vm, u32 bseed,
- v3s16 full_node_min, v3s16 full_node_max);
+ void generate(MMVManip *vm, u32 bseed, v3s16 full_node_min, v3s16 full_node_max);
void makeDungeon(v3s16 start_padding);
void makeRoom(v3s16 roomsize, v3s16 roomplace);
diff --git a/src/mapgen/mapgen.cpp b/src/mapgen/mapgen.cpp
index 7de367a27..6d5e721ce 100644
--- a/src/mapgen/mapgen.cpp
+++ b/src/mapgen/mapgen.cpp
@@ -19,6 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+#include <cmath>
#include "mapgen.h"
#include "voxel.h"
#include "noise.h"
@@ -38,6 +39,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "serialization.h"
#include "util/serialize.h"
#include "util/numeric.h"
+#include "util/directiontables.h"
#include "filesys.h"
#include "log.h"
#include "mapgen_carpathian.h"
@@ -80,15 +82,21 @@ struct MapgenDesc {
//// Built-in mapgens
////
+// Order used here defines the order of appearence in mainmenu.
+// v6 always last to discourage selection.
+// Special mapgens flat, fractal, singlenode, next to last. Of these, singlenode
+// last to discourage selection.
+// Of the remaining, v5 last due to age, v7 first due to being the default.
+// The order of 'enum MapgenType' in mapgen.h must match this order.
static MapgenDesc g_reg_mapgens[] = {
- {"v5", true},
- {"v6", true},
{"v7", true},
+ {"valleys", true},
+ {"carpathian", true},
+ {"v5", true},
{"flat", true},
{"fractal", true},
- {"valleys", true},
{"singlenode", true},
- {"carpathian", true},
+ {"v6", true},
};
STATIC_ASSERT(
@@ -148,28 +156,28 @@ const char *Mapgen::getMapgenName(MapgenType mgtype)
}
-Mapgen *Mapgen::createMapgen(MapgenType mgtype, int mgid,
- MapgenParams *params, EmergeManager *emerge)
+Mapgen *Mapgen::createMapgen(MapgenType mgtype, MapgenParams *params,
+ EmergeManager *emerge)
{
switch (mgtype) {
case MAPGEN_CARPATHIAN:
- return new MapgenCarpathian(mgid, (MapgenCarpathianParams *)params, emerge);
+ return new MapgenCarpathian((MapgenCarpathianParams *)params, emerge);
case MAPGEN_FLAT:
- return new MapgenFlat(mgid, (MapgenFlatParams *)params, emerge);
+ return new MapgenFlat((MapgenFlatParams *)params, emerge);
case MAPGEN_FRACTAL:
- return new MapgenFractal(mgid, (MapgenFractalParams *)params, emerge);
+ return new MapgenFractal((MapgenFractalParams *)params, emerge);
case MAPGEN_SINGLENODE:
- return new MapgenSinglenode(mgid, (MapgenSinglenodeParams *)params, emerge);
+ return new MapgenSinglenode((MapgenSinglenodeParams *)params, emerge);
case MAPGEN_V5:
- return new MapgenV5(mgid, (MapgenV5Params *)params, emerge);
+ return new MapgenV5((MapgenV5Params *)params, emerge);
case MAPGEN_V6:
- return new MapgenV6(mgid, (MapgenV6Params *)params, emerge);
+ return new MapgenV6((MapgenV6Params *)params, emerge);
case MAPGEN_V7:
- return new MapgenV7(mgid, (MapgenV7Params *)params, emerge);
+ return new MapgenV7((MapgenV7Params *)params, emerge);
case MAPGEN_VALLEYS:
- return new MapgenValleys(mgid, (MapgenValleysParams *)params, emerge);
+ return new MapgenValleys((MapgenValleysParams *)params, emerge);
default:
- return NULL;
+ return nullptr;
}
}
@@ -194,7 +202,7 @@ MapgenParams *Mapgen::createMapgenParams(MapgenType mgtype)
case MAPGEN_VALLEYS:
return new MapgenValleysParams;
default:
- return NULL;
+ return nullptr;
}
}
@@ -415,7 +423,7 @@ void Mapgen::updateLiquid(UniqueQueue<v3s16> *trans_liquid, v3s16 nmin, v3s16 nm
void Mapgen::setLighting(u8 light, v3s16 nmin, v3s16 nmax)
{
- ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG);
+ ScopeProfiler sp(g_profiler, "EmergeThread: update lighting", SPT_AVG);
VoxelArea a(nmin, nmax);
for (int z = a.MinEdge.Z; z <= a.MaxEdge.Z; z++) {
@@ -428,7 +436,8 @@ void Mapgen::setLighting(u8 light, v3s16 nmin, v3s16 nmax)
}
-void Mapgen::lightSpread(VoxelArea &a, v3s16 p, u8 light)
+void Mapgen::lightSpread(VoxelArea &a, std::queue<std::pair<v3s16, u8>> &queue,
+ const v3s16 &p, u8 light)
{
if (light <= 1 || !a.contains(p))
return;
@@ -448,8 +457,8 @@ void Mapgen::lightSpread(VoxelArea &a, v3s16 p, u8 light)
// Bail out only if we have no more light from either bank to propogate, or
// we hit a solid block that light cannot pass through.
if ((light_day <= (n.param1 & 0x0F) &&
- light_night <= (n.param1 & 0xF0)) ||
- !ndef->get(n).light_propagates)
+ light_night <= (n.param1 & 0xF0)) ||
+ !ndef->get(n).light_propagates)
return;
// Since this recursive function only terminates when there is no light from
@@ -460,19 +469,15 @@ void Mapgen::lightSpread(VoxelArea &a, v3s16 p, u8 light)
n.param1 = light;
- lightSpread(a, p + v3s16(0, 0, 1), light);
- lightSpread(a, p + v3s16(0, 1, 0), light);
- lightSpread(a, p + v3s16(1, 0, 0), light);
- lightSpread(a, p - v3s16(0, 0, 1), light);
- lightSpread(a, p - v3s16(0, 1, 0), light);
- lightSpread(a, p - v3s16(1, 0, 0), light);
+ // add to queue
+ queue.emplace(p, light);
}
void Mapgen::calcLighting(v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax,
bool propagate_shadow)
{
- ScopeProfiler sp(g_profiler, "EmergeThread: mapgen lighting update", SPT_AVG);
+ ScopeProfiler sp(g_profiler, "EmergeThread: update lighting", SPT_AVG);
//TimeTaker t("updateLighting");
propagateSunlight(nmin, nmax, propagate_shadow);
@@ -518,9 +523,10 @@ void Mapgen::propagateSunlight(v3s16 nmin, v3s16 nmax, bool propagate_shadow)
}
-void Mapgen::spreadLight(v3s16 nmin, v3s16 nmax)
+void Mapgen::spreadLight(const v3s16 &nmin, const v3s16 &nmax)
{
//TimeTaker t("spreadLight");
+ std::queue<std::pair<v3s16, u8>> queue;
VoxelArea a(nmin, nmax);
for (int z = a.MinEdge.Z; z <= a.MaxEdge.Z; z++) {
@@ -544,18 +550,24 @@ void Mapgen::spreadLight(v3s16 nmin, v3s16 nmax)
u8 light = n.param1;
if (light) {
- lightSpread(a, v3s16(x, y, z + 1), light);
- lightSpread(a, v3s16(x, y + 1, z ), light);
- lightSpread(a, v3s16(x + 1, y, z ), light);
- lightSpread(a, v3s16(x, y, z - 1), light);
- lightSpread(a, v3s16(x, y - 1, z ), light);
- lightSpread(a, v3s16(x - 1, y, z ), light);
+ const v3s16 p(x, y, z);
+ // spread to all 6 neighbor nodes
+ for (const auto &dir : g_6dirs)
+ lightSpread(a, queue, p + dir, light);
}
}
}
}
- //printf("spreadLight: %dms\n", t.stop());
+ while (!queue.empty()) {
+ const auto &i = queue.front();
+ // spread to all 6 neighbor nodes
+ for (const auto &dir : g_6dirs)
+ lightSpread(a, queue, i.first + dir, i.second);
+ queue.pop();
+ }
+
+ //printf("spreadLight: %lums\n", t.stop());
}
@@ -592,45 +604,20 @@ MapgenBasic::MapgenBasic(int mapgenid, MapgenParams *params, EmergeManager *emer
this->heightmap = new s16[csize.X * csize.Z];
//// Initialize biome generator
- // TODO(hmmmm): should we have a way to disable biomemanager biomes?
biomegen = m_bmgr->createBiomeGen(BIOMEGEN_ORIGINAL, params->bparams, csize);
biomemap = biomegen->biomemap;
//// Look up some commonly used content
c_stone = ndef->getId("mapgen_stone");
- c_desert_stone = ndef->getId("mapgen_desert_stone");
- c_sandstone = ndef->getId("mapgen_sandstone");
c_water_source = ndef->getId("mapgen_water_source");
c_river_water_source = ndef->getId("mapgen_river_water_source");
c_lava_source = ndef->getId("mapgen_lava_source");
+ c_cobble = ndef->getId("mapgen_cobble");
- // Fall back to more basic content if not defined
- // river_water_source cannot fallback to water_source because river water
- // needs to be non-renewable and have a short flow range.
- if (c_desert_stone == CONTENT_IGNORE)
- c_desert_stone = c_stone;
- if (c_sandstone == CONTENT_IGNORE)
- c_sandstone = c_stone;
-
- //// Content used for dungeon generation
- c_cobble = ndef->getId("mapgen_cobble");
- c_mossycobble = ndef->getId("mapgen_mossycobble");
- c_stair_cobble = ndef->getId("mapgen_stair_cobble");
- c_stair_desert_stone = ndef->getId("mapgen_stair_desert_stone");
- c_sandstonebrick = ndef->getId("mapgen_sandstonebrick");
- c_stair_sandstone_block = ndef->getId("mapgen_stair_sandstone_block");
-
- // Fall back to more basic content if not defined
- if (c_mossycobble == CONTENT_IGNORE)
- c_mossycobble = c_cobble;
- if (c_stair_cobble == CONTENT_IGNORE)
- c_stair_cobble = c_cobble;
- if (c_stair_desert_stone == CONTENT_IGNORE)
- c_stair_desert_stone = c_desert_stone;
- if (c_sandstonebrick == CONTENT_IGNORE)
- c_sandstonebrick = c_sandstone;
- if (c_stair_sandstone_block == CONTENT_IGNORE)
- c_stair_sandstone_block = c_sandstonebrick;
+ // Fall back to more basic content if not defined.
+ // Lava falls back to water as both are suitable as cave liquids.
+ if (c_lava_source == CONTENT_IGNORE)
+ c_lava_source = c_water_source;
}
@@ -889,94 +876,59 @@ void MapgenBasic::generateDungeons(s16 max_stone_y)
if (max_stone_y < node_min.Y)
return;
- // Get biome at mapchunk midpoint
- v3s16 chunk_mid = node_min + (node_max - node_min) / v3s16(2, 2, 2);
- Biome *biome = (Biome *)biomegen->getBiomeAtPoint(chunk_mid);
+ u16 num_dungeons = std::fmax(std::floor(
+ NoisePerlin3D(&np_dungeons, node_min.X, node_min.Y, node_min.Z, seed)), 0.0f);
+ if (num_dungeons == 0)
+ return;
+
+ PseudoRandom ps(blockseed + 70033);
DungeonParams dp;
- dp.seed = seed;
- dp.only_in_ground = true;
- dp.corridor_len_min = 1;
- dp.corridor_len_max = 13;
- dp.rooms_min = 2;
- dp.rooms_max = 16;
+ dp.np_alt_wall =
+ NoiseParams(-0.4, 1.0, v3f(40.0, 40.0, 40.0), 32474, 6, 1.1, 2.0);
+
+ dp.seed = seed;
+ dp.only_in_ground = true;
+ dp.num_dungeons = num_dungeons;
+ dp.notifytype = GENNOTIFY_DUNGEON;
+ dp.num_rooms = ps.range(2, 16);
+ dp.room_size_min = v3s16(5, 5, 5);
+ dp.room_size_max = v3s16(12, 6, 12);
+ dp.room_size_large_min = v3s16(12, 6, 12);
+ dp.room_size_large_max = v3s16(16, 16, 16);
+ dp.large_room_chance = (ps.range(1, 4) == 1) ? 8 : 0;
+ dp.diagonal_dirs = ps.range(1, 8) == 1;
+ // Diagonal corridors must have 'hole' width >=2 to be passable
+ u8 holewidth = (dp.diagonal_dirs) ? 2 : ps.range(1, 2);
+ dp.holesize = v3s16(holewidth, 3, holewidth);
+ dp.corridor_len_min = 1;
+ dp.corridor_len_max = 13;
- dp.np_density = nparams_dungeon_density;
- dp.np_alt_wall = nparams_dungeon_alt_wall;
+ // Get biome at mapchunk midpoint
+ v3s16 chunk_mid = node_min + (node_max - node_min) / v3s16(2, 2, 2);
+ Biome *biome = (Biome *)biomegen->getBiomeAtPoint(chunk_mid);
- // Biome-defined dungeon nodes
+ // Use biome-defined dungeon nodes if defined
if (biome->c_dungeon != CONTENT_IGNORE) {
- dp.c_wall = biome->c_dungeon;
+ dp.c_wall = biome->c_dungeon;
// If 'node_dungeon_alt' is not defined by biome, it and dp.c_alt_wall
// become CONTENT_IGNORE which skips the alt wall node placement loop in
// dungeongen.cpp.
- dp.c_alt_wall = biome->c_dungeon_alt;
+ dp.c_alt_wall = biome->c_dungeon_alt;
// Stairs fall back to 'c_dungeon' if not defined by biome
dp.c_stair = (biome->c_dungeon_stair != CONTENT_IGNORE) ?
biome->c_dungeon_stair : biome->c_dungeon;
-
- dp.diagonal_dirs = false;
- dp.holesize = v3s16(2, 2, 2);
- dp.room_size_min = v3s16(6, 4, 6);
- dp.room_size_max = v3s16(10, 6, 10);
- dp.room_size_large_min = v3s16(10, 8, 10);
- dp.room_size_large_max = v3s16(18, 16, 18);
- dp.notifytype = GENNOTIFY_DUNGEON;
-
- // Otherwise classic behaviour
- } else if (biome->c_stone == c_stone) {
- dp.c_wall = c_cobble;
- dp.c_alt_wall = c_mossycobble;
- dp.c_stair = c_stair_cobble;
-
- dp.diagonal_dirs = false;
- dp.holesize = v3s16(1, 2, 1);
- dp.room_size_min = v3s16(4, 4, 4);
- dp.room_size_max = v3s16(8, 6, 8);
- dp.room_size_large_min = v3s16(8, 8, 8);
- dp.room_size_large_max = v3s16(16, 16, 16);
- dp.notifytype = GENNOTIFY_DUNGEON;
-
- } else if (biome->c_stone == c_desert_stone) {
- dp.c_wall = c_desert_stone;
- dp.c_alt_wall = CONTENT_IGNORE;
- dp.c_stair = c_stair_desert_stone;
-
- dp.diagonal_dirs = true;
- dp.holesize = v3s16(2, 3, 2);
- dp.room_size_min = v3s16(6, 9, 6);
- dp.room_size_max = v3s16(10, 11, 10);
- dp.room_size_large_min = v3s16(10, 13, 10);
- dp.room_size_large_max = v3s16(18, 21, 18);
- dp.notifytype = GENNOTIFY_TEMPLE;
-
- } else if (biome->c_stone == c_sandstone) {
- dp.c_wall = c_sandstonebrick;
- dp.c_alt_wall = CONTENT_IGNORE;
- dp.c_stair = c_stair_sandstone_block;
-
- dp.diagonal_dirs = false;
- dp.holesize = v3s16(2, 2, 2);
- dp.room_size_min = v3s16(6, 4, 6);
- dp.room_size_max = v3s16(10, 6, 10);
- dp.room_size_large_min = v3s16(10, 8, 10);
- dp.room_size_large_max = v3s16(18, 16, 18);
- dp.notifytype = GENNOTIFY_DUNGEON;
-
- // Fallback to using biome 'node_stone'
+ // Fallback to using cobble mapgen alias if defined
+ } else if (c_cobble != CONTENT_IGNORE) {
+ dp.c_wall = c_cobble;
+ dp.c_alt_wall = CONTENT_IGNORE;
+ dp.c_stair = c_cobble;
+ // Fallback to using biome-defined stone
} else {
- dp.c_wall = biome->c_stone;
- dp.c_alt_wall = CONTENT_IGNORE;
- dp.c_stair = biome->c_stone;
-
- dp.diagonal_dirs = false;
- dp.holesize = v3s16(2, 2, 2);
- dp.room_size_min = v3s16(6, 4, 6);
- dp.room_size_max = v3s16(10, 6, 10);
- dp.room_size_large_min = v3s16(10, 8, 10);
- dp.room_size_large_max = v3s16(18, 16, 18);
- dp.notifytype = GENNOTIFY_DUNGEON;
+ dp.c_wall = biome->c_stone;
+ dp.c_alt_wall = CONTENT_IGNORE;
+ dp.c_stair = biome->c_stone;
}
DungeonGen dgen(ndef, &gennotify, &dp);
diff --git a/src/mapgen/mapgen.h b/src/mapgen/mapgen.h
index b60aea57e..0ac26d538 100644
--- a/src/mapgen/mapgen.h
+++ b/src/mapgen/mapgen.h
@@ -102,15 +102,16 @@ private:
std::list<GenNotifyEvent> m_notify_events;
};
+// Order must match the order of 'static MapgenDesc g_reg_mapgens[]' in mapgen.cpp
enum MapgenType {
- MAPGEN_V5,
- MAPGEN_V6,
MAPGEN_V7,
+ MAPGEN_VALLEYS,
+ MAPGEN_CARPATHIAN,
+ MAPGEN_V5,
MAPGEN_FLAT,
MAPGEN_FRACTAL,
- MAPGEN_VALLEYS,
MAPGEN_SINGLENODE,
- MAPGEN_CARPATHIAN,
+ MAPGEN_V6,
MAPGEN_INVALID,
};
@@ -189,11 +190,12 @@ public:
void updateLiquid(UniqueQueue<v3s16> *trans_liquid, v3s16 nmin, v3s16 nmax);
void setLighting(u8 light, v3s16 nmin, v3s16 nmax);
- void lightSpread(VoxelArea &a, v3s16 p, u8 light);
+ void lightSpread(VoxelArea &a, std::queue<std::pair<v3s16, u8>> &queue,
+ const v3s16 &p, u8 light);
void calcLighting(v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax,
bool propagate_shadow = true);
void propagateSunlight(v3s16 nmin, v3s16 nmax, bool propagate_shadow);
- void spreadLight(v3s16 nmin, v3s16 nmax);
+ void spreadLight(const v3s16 &nmin, const v3s16 &nmax);
virtual void makeChunk(BlockMakeData *data) {}
virtual int getGroundLevelAtPoint(v2s16 p) { return 0; }
@@ -208,8 +210,8 @@ public:
// Mapgen management functions
static MapgenType getMapgenType(const std::string &mgname);
static const char *getMapgenName(MapgenType mgtype);
- static Mapgen *createMapgen(MapgenType mgtype, int mgid,
- MapgenParams *params, EmergeManager *emerge);
+ static Mapgen *createMapgen(MapgenType mgtype, MapgenParams *params,
+ EmergeManager *emerge);
static MapgenParams *createMapgenParams(MapgenType mgtype);
static void getMapgenNames(std::vector<const char *> *mgnames, bool include_hidden);
@@ -257,21 +259,11 @@ protected:
v3s16 full_node_min;
v3s16 full_node_max;
- // Content required for generateBiomes
content_t c_stone;
- content_t c_desert_stone;
- content_t c_sandstone;
content_t c_water_source;
content_t c_river_water_source;
content_t c_lava_source;
-
- // Content required for generateDungeons
content_t c_cobble;
- content_t c_stair_cobble;
- content_t c_mossycobble;
- content_t c_stair_desert_stone;
- content_t c_sandstonebrick;
- content_t c_stair_sandstone_block;
int ystride;
int zstride;
@@ -283,9 +275,12 @@ protected:
NoiseParams np_cave1;
NoiseParams np_cave2;
NoiseParams np_cavern;
+ NoiseParams np_dungeons;
float cave_width;
float cavern_limit;
float cavern_taper;
float cavern_threshold;
+ // TODO 'lava_depth' is deprecated and should be removed. Cave liquids are
+ // now defined and located using biome definitions.
int lava_depth;
};
diff --git a/src/mapgen/mapgen_carpathian.cpp b/src/mapgen/mapgen_carpathian.cpp
index f7daef708..12ce07da4 100644
--- a/src/mapgen/mapgen_carpathian.cpp
+++ b/src/mapgen/mapgen_carpathian.cpp
@@ -1,8 +1,7 @@
/*
Minetest
-Copyright (C) 2017-2018 vlapsley, Vaughan Lapsley <vlapsley@gmail.com>
-Copyright (C) 2010-2018 paramat
-Copyright (C) 2010-2018 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
+Copyright (C) 2017-2019 vlapsley, Vaughan Lapsley <vlapsley@gmail.com>
+Copyright (C) 2017-2019 paramat
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
@@ -43,6 +42,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
FlagDesc flagdesc_mapgen_carpathian[] = {
{"caverns", MGCARPATHIAN_CAVERNS},
+ {"rivers", MGCARPATHIAN_RIVERS},
{NULL, 0}
};
@@ -50,11 +50,13 @@ FlagDesc flagdesc_mapgen_carpathian[] = {
///////////////////////////////////////////////////////////////////////////////
-MapgenCarpathian::MapgenCarpathian(
- int mapgenid, MapgenCarpathianParams *params, EmergeManager *emerge)
- : MapgenBasic(mapgenid, params, emerge)
+MapgenCarpathian::MapgenCarpathian(MapgenCarpathianParams *params, EmergeManager *emerge)
+ : MapgenBasic(MAPGEN_CARPATHIAN, params, emerge)
{
base_level = params->base_level;
+ river_width = params->river_width;
+ river_depth = params->river_depth;
+ valley_width = params->valley_width;
spflags = params->spflags;
cave_width = params->cave_width;
@@ -80,6 +82,8 @@ MapgenCarpathian::MapgenCarpathian(
noise_hills = new Noise(&params->np_hills, seed, csize.X, csize.Z);
noise_ridge_mnt = new Noise(&params->np_ridge_mnt, seed, csize.X, csize.Z);
noise_step_mnt = new Noise(&params->np_step_mnt, seed, csize.X, csize.Z);
+ if (spflags & MGCARPATHIAN_RIVERS)
+ noise_rivers = new Noise(&params->np_rivers, seed, csize.X, csize.Z);
//// 3D terrain noise
// 1 up 1 down overgeneration
@@ -89,6 +93,7 @@ MapgenCarpathian::MapgenCarpathian(
MapgenBasic::np_cave1 = params->np_cave1;
MapgenBasic::np_cave2 = params->np_cave2;
MapgenBasic::np_cavern = params->np_cavern;
+ MapgenBasic::np_dungeons = params->np_dungeons;
}
@@ -105,26 +110,31 @@ MapgenCarpathian::~MapgenCarpathian()
delete noise_hills;
delete noise_ridge_mnt;
delete noise_step_mnt;
+ if (spflags & MGCARPATHIAN_RIVERS)
+ delete noise_rivers;
+
delete noise_mnt_var;
}
MapgenCarpathianParams::MapgenCarpathianParams():
- np_filler_depth (0, 1, v3f(128, 128, 128), 261, 3, 0.7, 2.0),
- np_height1 (0, 5, v3f(251, 251, 251), 9613, 5, 0.5, 2.0),
- np_height2 (0, 5, v3f(383, 383, 383), 1949, 5, 0.5, 2.0),
- np_height3 (0, 5, v3f(509, 509, 509), 3211, 5, 0.5, 2.0),
- np_height4 (0, 5, v3f(631, 631, 631), 1583, 5, 0.5, 2.0),
- np_hills_terrain (1, 1, v3f(1301, 1301, 1301), 1692, 5, 0.5, 2.0),
- np_ridge_terrain (1, 1, v3f(1889, 1889, 1889), 3568, 5, 0.5, 2.0),
- np_step_terrain (1, 1, v3f(1889, 1889, 1889), 4157, 5, 0.5, 2.0),
- np_hills (0, 3, v3f(257, 257, 257), 6604, 6, 0.5, 2.0),
- np_ridge_mnt (0, 12, v3f(743, 743, 743), 5520, 6, 0.7, 2.0),
- np_step_mnt (0, 8, v3f(509, 509, 509), 2590, 6, 0.6, 2.0),
- np_mnt_var (0, 1, v3f(499, 499, 499), 2490, 5, 0.55, 2.0),
- np_cave1 (0, 12, v3f(61, 61, 61), 52534, 3, 0.5, 2.0),
- np_cave2 (0, 12, v3f(67, 67, 67), 10325, 3, 0.5, 2.0),
- np_cavern (0, 1, v3f(384, 128, 384), 723, 5, 0.63, 2.0)
+ np_filler_depth (0, 1, v3f(128, 128, 128), 261, 3, 0.7, 2.0),
+ np_height1 (0, 5, v3f(251, 251, 251), 9613, 5, 0.5, 2.0),
+ np_height2 (0, 5, v3f(383, 383, 383), 1949, 5, 0.5, 2.0),
+ np_height3 (0, 5, v3f(509, 509, 509), 3211, 5, 0.5, 2.0),
+ np_height4 (0, 5, v3f(631, 631, 631), 1583, 5, 0.5, 2.0),
+ np_hills_terrain (1, 1, v3f(1301, 1301, 1301), 1692, 5, 0.5, 2.0),
+ np_ridge_terrain (1, 1, v3f(1889, 1889, 1889), 3568, 5, 0.5, 2.0),
+ np_step_terrain (1, 1, v3f(1889, 1889, 1889), 4157, 5, 0.5, 2.0),
+ np_hills (0, 3, v3f(257, 257, 257), 6604, 6, 0.5, 2.0),
+ np_ridge_mnt (0, 12, v3f(743, 743, 743), 5520, 6, 0.7, 2.0),
+ np_step_mnt (0, 8, v3f(509, 509, 509), 2590, 6, 0.6, 2.0),
+ np_rivers (0, 1, v3f(1000, 1000, 1000), 85039, 5, 0.6, 2.0),
+ np_mnt_var (0, 1, v3f(499, 499, 499), 2490, 5, 0.55, 2.0),
+ np_cave1 (0, 12, v3f(61, 61, 61), 52534, 3, 0.5, 2.0),
+ np_cave2 (0, 12, v3f(67, 67, 67), 10325, 3, 0.5, 2.0),
+ np_cavern (0, 1, v3f(384, 128, 384), 723, 5, 0.63, 2.0),
+ np_dungeons (0.9, 0.5, v3f(500, 500, 500), 0, 2, 0.8, 2.0)
{
}
@@ -132,7 +142,12 @@ MapgenCarpathianParams::MapgenCarpathianParams():
void MapgenCarpathianParams::readParams(const Settings *settings)
{
settings->getFlagStrNoEx("mgcarpathian_spflags", spflags, flagdesc_mapgen_carpathian);
- settings->getFloatNoEx("mgcarpathian_base_level", base_level);
+
+ settings->getFloatNoEx("mgcarpathian_base_level", base_level);
+ settings->getFloatNoEx("mgcarpathian_river_width", river_width);
+ settings->getFloatNoEx("mgcarpathian_river_depth", river_depth);
+ settings->getFloatNoEx("mgcarpathian_valley_width", valley_width);
+
settings->getFloatNoEx("mgcarpathian_cave_width", cave_width);
settings->getS16NoEx("mgcarpathian_large_cave_depth", large_cave_depth);
settings->getS16NoEx("mgcarpathian_lava_depth", lava_depth);
@@ -153,17 +168,24 @@ void MapgenCarpathianParams::readParams(const Settings *settings)
settings->getNoiseParams("mgcarpathian_np_hills", np_hills);
settings->getNoiseParams("mgcarpathian_np_ridge_mnt", np_ridge_mnt);
settings->getNoiseParams("mgcarpathian_np_step_mnt", np_step_mnt);
+ settings->getNoiseParams("mgcarpathian_np_rivers", np_rivers);
settings->getNoiseParams("mgcarpathian_np_mnt_var", np_mnt_var);
settings->getNoiseParams("mgcarpathian_np_cave1", np_cave1);
settings->getNoiseParams("mgcarpathian_np_cave2", np_cave2);
settings->getNoiseParams("mgcarpathian_np_cavern", np_cavern);
+ settings->getNoiseParams("mgcarpathian_np_dungeons", np_dungeons);
}
void MapgenCarpathianParams::writeParams(Settings *settings) const
{
settings->setFlagStr("mgcarpathian_spflags", spflags, flagdesc_mapgen_carpathian, U32_MAX);
- settings->setFloat("mgcarpathian_base_level", base_level);
+
+ settings->setFloat("mgcarpathian_base_level", base_level);
+ settings->setFloat("mgcarpathian_river_width", river_width);
+ settings->setFloat("mgcarpathian_river_depth", river_depth);
+ settings->setFloat("mgcarpathian_valley_width", valley_width);
+
settings->setFloat("mgcarpathian_cave_width", cave_width);
settings->setS16("mgcarpathian_large_cave_depth", large_cave_depth);
settings->setS16("mgcarpathian_lava_depth", lava_depth);
@@ -184,10 +206,12 @@ void MapgenCarpathianParams::writeParams(Settings *settings) const
settings->setNoiseParams("mgcarpathian_np_hills", np_hills);
settings->setNoiseParams("mgcarpathian_np_ridge_mnt", np_ridge_mnt);
settings->setNoiseParams("mgcarpathian_np_step_mnt", np_step_mnt);
+ settings->setNoiseParams("mgcarpathian_np_rivers", np_rivers);
settings->setNoiseParams("mgcarpathian_np_mnt_var", np_mnt_var);
settings->setNoiseParams("mgcarpathian_np_cave1", np_cave1);
settings->setNoiseParams("mgcarpathian_np_cave2", np_cave2);
settings->setNoiseParams("mgcarpathian_np_cavern", np_cavern);
+ settings->setNoiseParams("mgcarpathian_np_dungeons", np_dungeons);
}
@@ -307,64 +331,95 @@ void MapgenCarpathian::makeChunk(BlockMakeData *data)
int MapgenCarpathian::getSpawnLevelAtPoint(v2s16 p)
{
- s16 level_at_point = terrainLevelAtPoint(p.X, p.Y);
- if (level_at_point <= water_level || level_at_point > water_level + 32)
- return MAX_MAP_GENERATION_LIMIT; // Unsuitable spawn point
-
- return level_at_point;
-}
-
-
-float MapgenCarpathian::terrainLevelAtPoint(s16 x, s16 z)
-{
- float height1 = NoisePerlin2D(&noise_height1->np, x, z, seed);
- float height2 = NoisePerlin2D(&noise_height2->np, x, z, seed);
- float height3 = NoisePerlin2D(&noise_height3->np, x, z, seed);
- float height4 = NoisePerlin2D(&noise_height4->np, x, z, seed);
- float hter = NoisePerlin2D(&noise_hills_terrain->np, x, z, seed);
- float rter = NoisePerlin2D(&noise_ridge_terrain->np, x, z, seed);
- float ster = NoisePerlin2D(&noise_step_terrain->np, x, z, seed);
- float n_hills = NoisePerlin2D(&noise_hills->np, x, z, seed);
- float n_ridge_mnt = NoisePerlin2D(&noise_ridge_mnt->np, x, z, seed);
- float n_step_mnt = NoisePerlin2D(&noise_step_mnt->np, x, z, seed);
-
- int height = -MAX_MAP_GENERATION_LIMIT;
+ // If rivers are enabled, first check if in a river channel
+ if (spflags & MGCARPATHIAN_RIVERS) {
+ float river = std::fabs(NoisePerlin2D(&noise_rivers->np, p.X, p.Y, seed)) -
+ river_width;
+ if (river < 0.0f)
+ return MAX_MAP_GENERATION_LIMIT; // Unsuitable spawn point
+ }
- for (s16 y = 1; y <= 30; y++) {
- float mnt_var = NoisePerlin3D(&noise_mnt_var->np, x, y, z, seed);
+ float height1 = NoisePerlin2D(&noise_height1->np, p.X, p.Y, seed);
+ float height2 = NoisePerlin2D(&noise_height2->np, p.X, p.Y, seed);
+ float height3 = NoisePerlin2D(&noise_height3->np, p.X, p.Y, seed);
+ float height4 = NoisePerlin2D(&noise_height4->np, p.X, p.Y, seed);
+
+ float hterabs = std::fabs(NoisePerlin2D(&noise_hills_terrain->np, p.X, p.Y, seed));
+ float n_hills = NoisePerlin2D(&noise_hills->np, p.X, p.Y, seed);
+ float hill_mnt = hterabs * hterabs * hterabs * n_hills * n_hills;
+
+ float rterabs = std::fabs(NoisePerlin2D(&noise_ridge_terrain->np, p.X, p.Y, seed));
+ float n_ridge_mnt = NoisePerlin2D(&noise_ridge_mnt->np, p.X, p.Y, seed);
+ float ridge_mnt = rterabs * rterabs * rterabs * (1.0f - std::fabs(n_ridge_mnt));
+
+ float sterabs = std::fabs(NoisePerlin2D(&noise_step_terrain->np, p.X, p.Y, seed));
+ float n_step_mnt = NoisePerlin2D(&noise_step_mnt->np, p.X, p.Y, seed);
+ float step_mnt = sterabs * sterabs * sterabs * getSteps(n_step_mnt);
+
+ float valley = 1.0f;
+ float river = 0.0f;
+
+ if ((spflags & MGCARPATHIAN_RIVERS) && node_max.Y >= water_level - 16) {
+ river = std::fabs(NoisePerlin2D(&noise_rivers->np, p.X, p.Y, seed)) - river_width;
+ if (river <= valley_width) {
+ // Within river valley
+ if (river < 0.0f) {
+ // River channel
+ valley = river;
+ } else {
+ // Valley slopes.
+ // 0 at river edge, 1 at valley edge.
+ float riversc = river / valley_width;
+ // Smoothstep
+ valley = riversc * riversc * (3.0f - 2.0f * riversc);
+ }
+ }
+ }
- // Gradient & shallow seabed
- s32 grad = (y < water_level) ? grad_wl + (water_level - y) * 3 : 1 - y;
+ bool solid_below = false;
+ u8 cons_non_solid = 0; // consecutive non-solid nodes
- // Hill/Mountain height (hilliness)
+ for (s16 y = water_level; y <= water_level + 32; y++) {
+ float mnt_var = NoisePerlin3D(&noise_mnt_var->np, p.X, y, p.Y, seed);
float hill1 = getLerp(height1, height2, mnt_var);
float hill2 = getLerp(height3, height4, mnt_var);
float hill3 = getLerp(height3, height2, mnt_var);
float hill4 = getLerp(height1, height4, mnt_var);
- float hilliness =
- std::fmax(std::fmin(hill1, hill2), std::fmin(hill3, hill4));
-
- // Rolling hills
- float hill_mnt = hilliness * std::pow(n_hills, 2.f);
- float hills = std::pow(std::fabs(hter), 3.f) * hill_mnt;
- // Ridged mountains
- float ridge_mnt = hilliness * (1.f - std::fabs(n_ridge_mnt));
- float ridged_mountains = std::pow(std::fabs(rter), 3.f) * ridge_mnt;
+ float hilliness = std::fmax(std::fmin(hill1, hill2), std::fmin(hill3, hill4));
+ float hills = hill_mnt * hilliness;
+ float ridged_mountains = ridge_mnt * hilliness;
+ float step_mountains = step_mnt * hilliness;
- // Step (terraced) mountains
- float step_mnt = hilliness * getSteps(n_step_mnt);
- float step_mountains = std::pow(std::fabs(ster), 3.f) * step_mnt;
+ s32 grad = 1 - y;
- // Final terrain level
float mountains = hills + ridged_mountains + step_mountains;
float surface_level = base_level + mountains + grad;
- if (y > surface_level && height < 0)
- height = y;
+ if ((spflags & MGCARPATHIAN_RIVERS) && river <= valley_width) {
+ if (valley < 0.0f) {
+ // River channel
+ surface_level = std::fmin(surface_level,
+ water_level - std::sqrt(-valley) * river_depth);
+ } else if (surface_level > water_level) {
+ // Valley slopes
+ surface_level = water_level + (surface_level - water_level) * valley;
+ }
+ }
+
+ if (y < surface_level) { //TODO '<=' fix from generateTerrain()
+ // solid node
+ solid_below = true;
+ cons_non_solid = 0;
+ } else {
+ // non-solid node
+ cons_non_solid++;
+ if (cons_non_solid == 3 && solid_below)
+ return y - 1;
+ }
}
- return height;
+ return MAX_MAP_GENERATION_LIMIT; // No suitable spawn point found
}
@@ -390,6 +445,9 @@ int MapgenCarpathian::generateTerrain()
noise_step_mnt->perlinMap2D(node_min.X, node_min.Z);
noise_mnt_var->perlinMap3D(node_min.X, node_min.Y - 1, node_min.Z);
+ if (spflags & MGCARPATHIAN_RIVERS)
+ noise_rivers->perlinMap2D(node_min.X, node_min.Z);
+
//// Place nodes
const v3s16 &em = vm->m_area.getExtent();
s16 stone_surface_max_y = -MAX_MAP_GENERATION_LIMIT;
@@ -412,13 +470,34 @@ int MapgenCarpathian::generateTerrain()
float rterabs = std::fabs(noise_ridge_terrain->result[index2d]);
float n_ridge_mnt = noise_ridge_mnt->result[index2d];
float ridge_mnt = rterabs * rterabs * rterabs *
- (1.f - std::fabs(n_ridge_mnt));
+ (1.0f - std::fabs(n_ridge_mnt));
// Step (terraced) mountains
float sterabs = std::fabs(noise_step_terrain->result[index2d]);
float n_step_mnt = noise_step_mnt->result[index2d];
float step_mnt = sterabs * sterabs * sterabs * getSteps(n_step_mnt);
+ // Rivers
+ float valley = 1.0f;
+ float river = 0.0f;
+
+ if ((spflags & MGCARPATHIAN_RIVERS) && node_max.Y >= water_level - 16) {
+ river = std::fabs(noise_rivers->result[index2d]) - river_width;
+ if (river <= valley_width) {
+ // Within river valley
+ if (river < 0.0f) {
+ // River channel
+ valley = river;
+ } else {
+ // Valley slopes.
+ // 0 at river edge, 1 at valley edge.
+ float riversc = river / valley_width;
+ // Smoothstep
+ valley = riversc * riversc * (3.0f - 2.0f * riversc);
+ }
+ }
+ }
+
// Initialise 3D noise index and voxelmanip index to column base
u32 index3d = (z - node_min.Z) * zstride_1u1d + (x - node_min.X);
u32 vi = vm->m_area.index(x, node_min.Y - 1, z);
@@ -453,7 +532,20 @@ int MapgenCarpathian::generateTerrain()
float mountains = hills + ridged_mountains + step_mountains;
float surface_level = base_level + mountains + grad;
- if (y < surface_level) {
+ // Rivers
+ if ((spflags & MGCARPATHIAN_RIVERS) && node_max.Y >= water_level - 16 &&
+ river <= valley_width) {
+ if (valley < 0.0f) {
+ // River channel
+ surface_level = std::fmin(surface_level,
+ water_level - std::sqrt(-valley) * river_depth);
+ } else if (surface_level > water_level) {
+ // Valley slopes
+ surface_level = water_level + (surface_level - water_level) * valley;
+ }
+ }
+
+ if (y < surface_level) { //TODO '<='
vm->m_data[vi] = mn_stone; // Stone
if (y > stone_surface_max_y)
stone_surface_max_y = y;
diff --git a/src/mapgen/mapgen_carpathian.h b/src/mapgen/mapgen_carpathian.h
index c32212c9a..1fbac4bfd 100644
--- a/src/mapgen/mapgen_carpathian.h
+++ b/src/mapgen/mapgen_carpathian.h
@@ -1,8 +1,7 @@
/*
Minetest
-Copyright (C) 2017-2018 vlapsley, Vaughan Lapsley <vlapsley@gmail.com>
-Copyright (C) 2010-2018 paramat
-Copyright (C) 2010-2018 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
+Copyright (C) 2017-2019 vlapsley, Vaughan Lapsley <vlapsley@gmail.com>
+Copyright (C) 2017-2019 paramat
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
@@ -23,8 +22,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "mapgen.h"
-///////// Mapgen Carpathian flags
#define MGCARPATHIAN_CAVERNS 0x01
+#define MGCARPATHIAN_RIVERS 0x02
class BiomeManager;
@@ -34,6 +33,9 @@ extern FlagDesc flagdesc_mapgen_carpathian[];
struct MapgenCarpathianParams : public MapgenParams
{
float base_level = 12.0f;
+ float river_width = 0.05f;
+ float river_depth = 24.0f;
+ float valley_width = 0.25f;
u32 spflags = MGCARPATHIAN_CAVERNS;
float cave_width = 0.09f;
@@ -56,10 +58,12 @@ struct MapgenCarpathianParams : public MapgenParams
NoiseParams np_hills;
NoiseParams np_ridge_mnt;
NoiseParams np_step_mnt;
+ NoiseParams np_rivers;
NoiseParams np_mnt_var;
NoiseParams np_cave1;
NoiseParams np_cave2;
NoiseParams np_cavern;
+ NoiseParams np_dungeons;
MapgenCarpathianParams();
~MapgenCarpathianParams() = default;
@@ -71,21 +75,19 @@ struct MapgenCarpathianParams : public MapgenParams
class MapgenCarpathian : public MapgenBasic
{
public:
- MapgenCarpathian(int mapgenid, MapgenCarpathianParams *params,
- EmergeManager *emerge);
+ MapgenCarpathian(MapgenCarpathianParams *params, EmergeManager *emerge);
~MapgenCarpathian();
virtual MapgenType getType() const { return MAPGEN_CARPATHIAN; }
- float getSteps(float noise);
- inline float getLerp(float noise1, float noise2, float mod);
-
virtual void makeChunk(BlockMakeData *data);
int getSpawnLevelAtPoint(v2s16 p);
private:
float base_level;
- s32 grad_wl;
+ float river_width;
+ float river_depth;
+ float valley_width;
s16 large_cave_depth;
s16 dungeon_ymin;
@@ -101,8 +103,12 @@ private:
Noise *noise_hills;
Noise *noise_ridge_mnt;
Noise *noise_step_mnt;
+ Noise *noise_rivers = nullptr;
Noise *noise_mnt_var;
- float terrainLevelAtPoint(s16 x, s16 z);
+ s32 grad_wl;
+
+ float getSteps(float noise);
+ inline float getLerp(float noise1, float noise2, float mod);
int generateTerrain();
};
diff --git a/src/mapgen/mapgen_flat.cpp b/src/mapgen/mapgen_flat.cpp
index 11b27f85c..773b7b10f 100644
--- a/src/mapgen/mapgen_flat.cpp
+++ b/src/mapgen/mapgen_flat.cpp
@@ -48,8 +48,8 @@ FlagDesc flagdesc_mapgen_flat[] = {
///////////////////////////////////////////////////////////////////////////////////////
-MapgenFlat::MapgenFlat(int mapgenid, MapgenFlatParams *params, EmergeManager *emerge)
- : MapgenBasic(mapgenid, params, emerge)
+MapgenFlat::MapgenFlat(MapgenFlatParams *params, EmergeManager *emerge)
+ : MapgenBasic(MAPGEN_FLAT, params, emerge)
{
spflags = params->spflags;
ground_level = params->ground_level;
@@ -69,8 +69,9 @@ MapgenFlat::MapgenFlat(int mapgenid, MapgenFlatParams *params, EmergeManager *em
if ((spflags & MGFLAT_LAKES) || (spflags & MGFLAT_HILLS))
noise_terrain = new Noise(&params->np_terrain, seed, csize.X, csize.Z);
// 3D noise
- MapgenBasic::np_cave1 = params->np_cave1;
- MapgenBasic::np_cave2 = params->np_cave2;
+ MapgenBasic::np_cave1 = params->np_cave1;
+ MapgenBasic::np_cave2 = params->np_cave2;
+ MapgenBasic::np_dungeons = params->np_dungeons;
}
@@ -84,10 +85,11 @@ MapgenFlat::~MapgenFlat()
MapgenFlatParams::MapgenFlatParams():
- np_terrain (0, 1, v3f(600, 600, 600), 7244, 5, 0.6, 2.0),
- np_filler_depth (0, 1.2, v3f(150, 150, 150), 261, 3, 0.7, 2.0),
- np_cave1 (0, 12, v3f(61, 61, 61), 52534, 3, 0.5, 2.0),
- np_cave2 (0, 12, v3f(67, 67, 67), 10325, 3, 0.5, 2.0)
+ np_terrain (0, 1, v3f(600, 600, 600), 7244, 5, 0.6, 2.0),
+ np_filler_depth (0, 1.2, v3f(150, 150, 150), 261, 3, 0.7, 2.0),
+ np_cave1 (0, 12, v3f(61, 61, 61), 52534, 3, 0.5, 2.0),
+ np_cave2 (0, 12, v3f(67, 67, 67), 10325, 3, 0.5, 2.0),
+ np_dungeons (0.9, 0.5, v3f(500, 500, 500), 0, 2, 0.8, 2.0)
{
}
@@ -110,6 +112,7 @@ void MapgenFlatParams::readParams(const Settings *settings)
settings->getNoiseParams("mgflat_np_filler_depth", np_filler_depth);
settings->getNoiseParams("mgflat_np_cave1", np_cave1);
settings->getNoiseParams("mgflat_np_cave2", np_cave2);
+ settings->getNoiseParams("mgflat_np_dungeons", np_dungeons);
}
@@ -131,6 +134,7 @@ void MapgenFlatParams::writeParams(Settings *settings) const
settings->setNoiseParams("mgflat_np_filler_depth", np_filler_depth);
settings->setNoiseParams("mgflat_np_cave1", np_cave1);
settings->setNoiseParams("mgflat_np_cave2", np_cave2);
+ settings->setNoiseParams("mgflat_np_dungeons", np_dungeons);
}
@@ -139,26 +143,31 @@ void MapgenFlatParams::writeParams(Settings *settings) const
int MapgenFlat::getSpawnLevelAtPoint(v2s16 p)
{
- s16 level_at_point = ground_level;
- float n_terrain = 0.0f;
- if ((spflags & MGFLAT_LAKES) || (spflags & MGFLAT_HILLS))
- n_terrain = NoisePerlin2D(&noise_terrain->np, p.X, p.Y, seed);
+ s16 stone_level = ground_level;
+ float n_terrain =
+ ((spflags & MGFLAT_LAKES) || (spflags & MGFLAT_HILLS)) ?
+ NoisePerlin2D(&noise_terrain->np, p.X, p.Y, seed) :
+ 0.0f;
if ((spflags & MGFLAT_LAKES) && n_terrain < lake_threshold) {
- level_at_point = ground_level -
- (lake_threshold - n_terrain) * lake_steepness;
+ s16 depress = (lake_threshold - n_terrain) * lake_steepness;
+ stone_level = ground_level - depress;
} else if ((spflags & MGFLAT_HILLS) && n_terrain > hill_threshold) {
- level_at_point = ground_level +
- (n_terrain - hill_threshold) * hill_steepness;
+ s16 rise = (n_terrain - hill_threshold) * hill_steepness;
+ stone_level = ground_level + rise;
}
- if (ground_level < water_level) // Ocean world, allow spawn in water
- return MYMAX(level_at_point, water_level);
+ if (ground_level < water_level)
+ // Ocean world, may not have islands so allow spawn in water
+ return MYMAX(stone_level + 2, water_level);
- if (level_at_point > water_level)
- return level_at_point; // Spawn on land
+ if (stone_level >= water_level)
+ // Spawn on land
+ // + 2 not + 1, to spawn above biome 'dust' nodes
+ return stone_level + 2;
- return MAX_MAP_GENERATION_LIMIT; // Unsuitable spawn point
+ // Unsuitable spawn point
+ return MAX_MAP_GENERATION_LIMIT;
}
diff --git a/src/mapgen/mapgen_flat.h b/src/mapgen/mapgen_flat.h
index d8ec9f126..d2598695f 100644
--- a/src/mapgen/mapgen_flat.h
+++ b/src/mapgen/mapgen_flat.h
@@ -48,6 +48,7 @@ struct MapgenFlatParams : public MapgenParams
NoiseParams np_filler_depth;
NoiseParams np_cave1;
NoiseParams np_cave2;
+ NoiseParams np_dungeons;
MapgenFlatParams();
~MapgenFlatParams() = default;
@@ -59,7 +60,7 @@ struct MapgenFlatParams : public MapgenParams
class MapgenFlat : public MapgenBasic
{
public:
- MapgenFlat(int mapgenid, MapgenFlatParams *params, EmergeManager *emerge);
+ MapgenFlat(MapgenFlatParams *params, EmergeManager *emerge);
~MapgenFlat();
virtual MapgenType getType() const { return MAPGEN_FLAT; }
diff --git a/src/mapgen/mapgen_fractal.cpp b/src/mapgen/mapgen_fractal.cpp
index 68a66bba9..091dbacfa 100644
--- a/src/mapgen/mapgen_fractal.cpp
+++ b/src/mapgen/mapgen_fractal.cpp
@@ -1,7 +1,7 @@
/*
Minetest
-Copyright (C) 2015-2018 paramat
-Copyright (C) 2015-2018 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
+Copyright (C) 2015-2019 paramat
+Copyright (C) 2015-2016 kwolekr, Ryan Kwolek
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
@@ -41,14 +41,15 @@ with this program; if not, write to the Free Software Foundation, Inc.,
FlagDesc flagdesc_mapgen_fractal[] = {
- {NULL, 0}
+ {"terrain", MGFRACTAL_TERRAIN},
+ {NULL, 0}
};
///////////////////////////////////////////////////////////////////////////////////////
-MapgenFractal::MapgenFractal(int mapgenid, MapgenFractalParams *params, EmergeManager *emerge)
- : MapgenBasic(mapgenid, params, emerge)
+MapgenFractal::MapgenFractal(MapgenFractalParams *params, EmergeManager *emerge)
+ : MapgenBasic(MAPGEN_FRACTAL, params, emerge)
{
spflags = params->spflags;
cave_width = params->cave_width;
@@ -66,12 +67,17 @@ MapgenFractal::MapgenFractal(int mapgenid, MapgenFractalParams *params, EmergeMa
julia_z = params->julia_z;
julia_w = params->julia_w;
- //// 2D terrain noise
- noise_seabed = new Noise(&params->np_seabed, seed, csize.X, csize.Z);
+ //// 2D noise
+ if (spflags & MGFRACTAL_TERRAIN)
+ noise_seabed = new Noise(&params->np_seabed, seed, csize.X, csize.Z);
+
noise_filler_depth = new Noise(&params->np_filler_depth, seed, csize.X, csize.Z);
- MapgenBasic::np_cave1 = params->np_cave1;
- MapgenBasic::np_cave2 = params->np_cave2;
+ //// 3D noise
+ MapgenBasic::np_dungeons = params->np_dungeons;
+ // Overgeneration to node_min.Y - 1
+ MapgenBasic::np_cave1 = params->np_cave1;
+ MapgenBasic::np_cave2 = params->np_cave2;
formula = fractal / 2 + fractal % 2;
julia = fractal % 2 == 0;
@@ -80,7 +86,9 @@ MapgenFractal::MapgenFractal(int mapgenid, MapgenFractalParams *params, EmergeMa
MapgenFractal::~MapgenFractal()
{
- delete noise_seabed;
+ if (noise_seabed)
+ delete noise_seabed;
+
delete noise_filler_depth;
}
@@ -89,7 +97,8 @@ MapgenFractalParams::MapgenFractalParams():
np_seabed (-14, 9, v3f(600, 600, 600), 41900, 5, 0.6, 2.0),
np_filler_depth (0, 1.2, v3f(150, 150, 150), 261, 3, 0.7, 2.0),
np_cave1 (0, 12, v3f(61, 61, 61), 52534, 3, 0.5, 2.0),
- np_cave2 (0, 12, v3f(67, 67, 67), 10325, 3, 0.5, 2.0)
+ np_cave2 (0, 12, v3f(67, 67, 67), 10325, 3, 0.5, 2.0),
+ np_dungeons (0.9, 0.5, v3f(500, 500, 500), 0, 2, 0.8, 2.0)
{
}
@@ -116,6 +125,7 @@ void MapgenFractalParams::readParams(const Settings *settings)
settings->getNoiseParams("mgfractal_np_filler_depth", np_filler_depth);
settings->getNoiseParams("mgfractal_np_cave1", np_cave1);
settings->getNoiseParams("mgfractal_np_cave2", np_cave2);
+ settings->getNoiseParams("mgfractal_np_dungeons", np_dungeons);
}
@@ -141,6 +151,7 @@ void MapgenFractalParams::writeParams(Settings *settings) const
settings->setNoiseParams("mgfractal_np_filler_depth", np_filler_depth);
settings->setNoiseParams("mgfractal_np_cave1", np_cave1);
settings->setNoiseParams("mgfractal_np_cave2", np_cave2);
+ settings->setNoiseParams("mgfractal_np_dungeons", np_dungeons);
}
@@ -149,21 +160,25 @@ void MapgenFractalParams::writeParams(Settings *settings) const
int MapgenFractal::getSpawnLevelAtPoint(v2s16 p)
{
- bool solid_below = false; // Dry solid node is present below to spawn on
- u8 air_count = 0; // Consecutive air nodes above the dry solid node
- s16 seabed_level = NoisePerlin2D(&noise_seabed->np, p.X, p.Y, seed);
- // Seabed can rise above water_level or might be raised to create dry land
- s16 search_start = MYMAX(seabed_level, water_level + 1);
- if (seabed_level > water_level)
- solid_below = true;
-
- for (s16 y = search_start; y <= search_start + 128; y++) {
- if (getFractalAtPoint(p.X, y, p.Y)) { // Fractal node
+ bool solid_below = false; // Fractal node is present below to spawn on
+ u8 air_count = 0; // Consecutive air nodes above a fractal node
+ s16 search_start = 0; // No terrain search start
+
+ // If terrain present, don't start search below terrain or water level
+ if (noise_seabed) {
+ s16 seabed_level = NoisePerlin2D(&noise_seabed->np, p.X, p.Y, seed);
+ search_start = MYMAX(search_start, MYMAX(seabed_level, water_level));
+ }
+
+ for (s16 y = search_start; y <= search_start + 4096; y++) {
+ if (getFractalAtPoint(p.X, y, p.Y)) {
+ // Fractal node
solid_below = true;
air_count = 0;
- } else if (solid_below) { // Air above solid node
+ } else if (solid_below) {
+ // Air above fractal node
air_count++;
- // 3 to account for snowblock dust
+ // 3 and -2 to account for biome dust nodes
if (air_count == 3)
return y - 2;
}
@@ -185,10 +200,11 @@ void MapgenFractal::makeChunk(BlockMakeData *data)
data->blockpos_requested.Y <= data->blockpos_max.Y &&
data->blockpos_requested.Z <= data->blockpos_max.Z);
+ //TimeTaker t("makeChunk");
+
this->generating = true;
- this->vm = data->vmanip;
+ this->vm = data->vmanip;
this->ndef = data->nodedef;
- //TimeTaker t("makeChunk");
v3s16 blockpos_min = data->blockpos_min;
v3s16 blockpos_max = data->blockpos_max;
@@ -199,7 +215,7 @@ void MapgenFractal::makeChunk(BlockMakeData *data)
blockseed = getBlockSeed2(full_node_min, seed);
- // Generate base terrain, mountains, and ridges with initial heightmaps
+ // Generate fractal and optional terrain
s16 stone_surface_max_y = generateTerrain();
// Create heightmap
@@ -211,16 +227,16 @@ void MapgenFractal::makeChunk(BlockMakeData *data)
generateBiomes();
}
+ // Generate tunnels and randomwalk caves
if (flags & MG_CAVES) {
- // Generate tunnels
generateCavesNoiseIntersection(stone_surface_max_y);
- // Generate large randomwalk caves
generateCavesRandomWalk(stone_surface_max_y, large_cave_depth);
}
// Generate the registered ores
m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max);
+ // Generate dungeons
if ((flags & MG_DUNGEONS) && full_node_min.Y >= dungeon_ymin &&
full_node_max.Y <= dungeon_ymax)
generateDungeons(stone_surface_max_y);
@@ -233,18 +249,18 @@ void MapgenFractal::makeChunk(BlockMakeData *data)
if (flags & MG_BIOMES)
dustTopNodes();
- //printf("makeChunk: %dms\n", t.stop());
-
- updateLiquid(&data->transforming_liquid, full_node_min, full_node_max);
+ // Update liquids
+ if (spflags & MGFRACTAL_TERRAIN)
+ updateLiquid(&data->transforming_liquid, full_node_min, full_node_max);
+ // Calculate lighting
if (flags & MG_LIGHT)
calcLighting(node_min - v3s16(0, 1, 0), node_max + v3s16(0, 1, 0),
full_node_min, full_node_max);
- //setLighting(node_min - v3s16(1, 0, 1) * MAP_BLOCKSIZE,
- // node_max + v3s16(1, 0, 1) * MAP_BLOCKSIZE, 0xFF);
-
this->generating = false;
+
+ //printf("makeChunk: %lums\n", t.stop());
}
@@ -387,24 +403,29 @@ s16 MapgenFractal::generateTerrain()
s16 stone_surface_max_y = -MAX_MAP_GENERATION_LIMIT;
u32 index2d = 0;
- noise_seabed->perlinMap2D(node_min.X, node_min.Z);
+ if (noise_seabed)
+ noise_seabed->perlinMap2D(node_min.X, node_min.Z);
for (s16 z = node_min.Z; z <= node_max.Z; z++) {
for (s16 y = node_min.Y - 1; y <= node_max.Y + 1; y++) {
u32 vi = vm->m_area.index(node_min.X, y, z);
for (s16 x = node_min.X; x <= node_max.X; x++, vi++, index2d++) {
- if (vm->m_data[vi].getContent() == CONTENT_IGNORE) {
- s16 seabed_height = noise_seabed->result[index2d];
-
- if (y <= seabed_height || getFractalAtPoint(x, y, z)) {
- vm->m_data[vi] = n_stone;
- if (y > stone_surface_max_y)
- stone_surface_max_y = y;
- } else if (y <= water_level) {
- vm->m_data[vi] = n_water;
- } else {
- vm->m_data[vi] = n_air;
- }
+ if (vm->m_data[vi].getContent() != CONTENT_IGNORE)
+ continue;
+
+ s16 seabed_height = -MAX_MAP_GENERATION_LIMIT;
+ if (noise_seabed)
+ seabed_height = noise_seabed->result[index2d];
+
+ if (((spflags & MGFRACTAL_TERRAIN) && y <= seabed_height) ||
+ getFractalAtPoint(x, y, z)) {
+ vm->m_data[vi] = n_stone;
+ if (y > stone_surface_max_y)
+ stone_surface_max_y = y;
+ } else if ((spflags & MGFRACTAL_TERRAIN) && y <= water_level) {
+ vm->m_data[vi] = n_water;
+ } else {
+ vm->m_data[vi] = n_air;
}
}
index2d -= ystride;
diff --git a/src/mapgen/mapgen_fractal.h b/src/mapgen/mapgen_fractal.h
index 5a1948b9a..82622d4d9 100644
--- a/src/mapgen/mapgen_fractal.h
+++ b/src/mapgen/mapgen_fractal.h
@@ -1,7 +1,7 @@
/*
Minetest
-Copyright (C) 2015-2018 paramat
-Copyright (C) 2015-2018 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
+Copyright (C) 2015-2019 paramat
+Copyright (C) 2015-2016 kwolekr, Ryan Kwolek
Fractal formulas from http://www.bugman123.com/Hypercomplex/index.html
by Paul Nylander, and from http://www.fractalforums.com, thank you.
@@ -25,13 +25,17 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "mapgen.h"
+///////////// Mapgen Fractal flags
+#define MGFRACTAL_TERRAIN 0x01
+
class BiomeManager;
extern FlagDesc flagdesc_mapgen_fractal[];
+
struct MapgenFractalParams : public MapgenParams
{
- u32 spflags = 0;
+ u32 spflags = MGFRACTAL_TERRAIN;
float cave_width = 0.09f;
s16 large_cave_depth = -33;
s16 lava_depth = -256;
@@ -51,6 +55,7 @@ struct MapgenFractalParams : public MapgenParams
NoiseParams np_filler_depth;
NoiseParams np_cave1;
NoiseParams np_cave2;
+ NoiseParams np_dungeons;
MapgenFractalParams();
~MapgenFractalParams() = default;
@@ -59,10 +64,11 @@ struct MapgenFractalParams : public MapgenParams
void writeParams(Settings *settings) const;
};
+
class MapgenFractal : public MapgenBasic
{
public:
- MapgenFractal(int mapgenid, MapgenFractalParams *params, EmergeManager *emerge);
+ MapgenFractal(MapgenFractalParams *params, EmergeManager *emerge);
~MapgenFractal();
virtual MapgenType getType() const { return MAPGEN_FRACTAL; }
@@ -88,5 +94,5 @@ private:
float julia_y;
float julia_z;
float julia_w;
- Noise *noise_seabed;
+ Noise *noise_seabed = nullptr;
};
diff --git a/src/mapgen/mapgen_singlenode.cpp b/src/mapgen/mapgen_singlenode.cpp
index 76f7e6e8e..b64524e1c 100644
--- a/src/mapgen/mapgen_singlenode.cpp
+++ b/src/mapgen/mapgen_singlenode.cpp
@@ -29,9 +29,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "emerge.h"
-MapgenSinglenode::MapgenSinglenode(int mapgenid,
- MapgenParams *params, EmergeManager *emerge)
- : Mapgen(mapgenid, params, emerge)
+MapgenSinglenode::MapgenSinglenode(MapgenParams *params, EmergeManager *emerge)
+ : Mapgen(MAPGEN_SINGLENODE, params, emerge)
{
const NodeDefManager *ndef = emerge->ndef;
diff --git a/src/mapgen/mapgen_singlenode.h b/src/mapgen/mapgen_singlenode.h
index ebfb3c729..c21089eda 100644
--- a/src/mapgen/mapgen_singlenode.h
+++ b/src/mapgen/mapgen_singlenode.h
@@ -38,7 +38,7 @@ public:
content_t c_node;
u8 set_light;
- MapgenSinglenode(int mapgenid, MapgenParams *params, EmergeManager *emerge);
+ MapgenSinglenode(MapgenParams *params, EmergeManager *emerge);
~MapgenSinglenode() = default;
virtual MapgenType getType() const { return MAPGEN_SINGLENODE; }
diff --git a/src/mapgen/mapgen_v5.cpp b/src/mapgen/mapgen_v5.cpp
index c5be727b9..bf99fd335 100644
--- a/src/mapgen/mapgen_v5.cpp
+++ b/src/mapgen/mapgen_v5.cpp
@@ -45,8 +45,8 @@ FlagDesc flagdesc_mapgen_v5[] = {
};
-MapgenV5::MapgenV5(int mapgenid, MapgenV5Params *params, EmergeManager *emerge)
- : MapgenBasic(mapgenid, params, emerge)
+MapgenV5::MapgenV5(MapgenV5Params *params, EmergeManager *emerge)
+ : MapgenBasic(MAPGEN_V5, params, emerge)
{
spflags = params->spflags;
cave_width = params->cave_width;
@@ -67,9 +67,10 @@ MapgenV5::MapgenV5(int mapgenid, MapgenV5Params *params, EmergeManager *emerge)
// 1-up 1-down overgeneration
noise_ground = new Noise(&params->np_ground, seed, csize.X, csize.Y + 2, csize.Z);
// 1 down overgeneration
- MapgenBasic::np_cave1 = params->np_cave1;
- MapgenBasic::np_cave2 = params->np_cave2;
- MapgenBasic::np_cavern = params->np_cavern;
+ MapgenBasic::np_cave1 = params->np_cave1;
+ MapgenBasic::np_cave2 = params->np_cave2;
+ MapgenBasic::np_cavern = params->np_cavern;
+ MapgenBasic::np_dungeons = params->np_dungeons;
}
@@ -83,13 +84,14 @@ MapgenV5::~MapgenV5()
MapgenV5Params::MapgenV5Params():
- np_filler_depth (0, 1, v3f(150, 150, 150), 261, 4, 0.7, 2.0),
- np_factor (0, 1, v3f(250, 250, 250), 920381, 3, 0.45, 2.0),
- np_height (0, 10, v3f(250, 250, 250), 84174, 4, 0.5, 2.0),
- np_ground (0, 40, v3f(80, 80, 80), 983240, 4, 0.55, 2.0, NOISE_FLAG_EASED),
- np_cave1 (0, 12, v3f(61, 61, 61), 52534, 3, 0.5, 2.0),
- np_cave2 (0, 12, v3f(67, 67, 67), 10325, 3, 0.5, 2.0),
- np_cavern (0, 1, v3f(384, 128, 384), 723, 5, 0.63, 2.0)
+ np_filler_depth (0, 1, v3f(150, 150, 150), 261, 4, 0.7, 2.0),
+ np_factor (0, 1, v3f(250, 250, 250), 920381, 3, 0.45, 2.0),
+ np_height (0, 10, v3f(250, 250, 250), 84174, 4, 0.5, 2.0),
+ np_ground (0, 40, v3f(80, 80, 80), 983240, 4, 0.55, 2.0, NOISE_FLAG_EASED),
+ np_cave1 (0, 12, v3f(61, 61, 61), 52534, 3, 0.5, 2.0),
+ np_cave2 (0, 12, v3f(67, 67, 67), 10325, 3, 0.5, 2.0),
+ np_cavern (0, 1, v3f(384, 128, 384), 723, 5, 0.63, 2.0),
+ np_dungeons (0.9, 0.5, v3f(500, 500, 500), 0, 2, 0.8, 2.0)
{
}
@@ -113,6 +115,7 @@ void MapgenV5Params::readParams(const Settings *settings)
settings->getNoiseParams("mgv5_np_cave1", np_cave1);
settings->getNoiseParams("mgv5_np_cave2", np_cave2);
settings->getNoiseParams("mgv5_np_cavern", np_cavern);
+ settings->getNoiseParams("mgv5_np_dungeons", np_dungeons);
}
@@ -135,6 +138,7 @@ void MapgenV5Params::writeParams(Settings *settings) const
settings->setNoiseParams("mgv5_np_cave1", np_cave1);
settings->setNoiseParams("mgv5_np_cave2", np_cave2);
settings->setNoiseParams("mgv5_np_cavern", np_cavern);
+ settings->setNoiseParams("mgv5_np_dungeons", np_dungeons);
}
diff --git a/src/mapgen/mapgen_v5.h b/src/mapgen/mapgen_v5.h
index a1b56a070..1a3b6d3c3 100644
--- a/src/mapgen/mapgen_v5.h
+++ b/src/mapgen/mapgen_v5.h
@@ -48,6 +48,7 @@ struct MapgenV5Params : public MapgenParams
NoiseParams np_cave1;
NoiseParams np_cave2;
NoiseParams np_cavern;
+ NoiseParams np_dungeons;
MapgenV5Params();
~MapgenV5Params() = default;
@@ -59,7 +60,7 @@ struct MapgenV5Params : public MapgenParams
class MapgenV5 : public MapgenBasic
{
public:
- MapgenV5(int mapgenid, MapgenV5Params *params, EmergeManager *emerge);
+ MapgenV5(MapgenV5Params *params, EmergeManager *emerge);
~MapgenV5();
virtual MapgenType getType() const { return MAPGEN_V5; }
diff --git a/src/mapgen/mapgen_v6.cpp b/src/mapgen/mapgen_v6.cpp
index fdfebe575..4e876fc53 100644
--- a/src/mapgen/mapgen_v6.cpp
+++ b/src/mapgen/mapgen_v6.cpp
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/
+#include <cmath>
#include "mapgen.h"
#include "voxel.h"
#include "noise.h"
@@ -55,11 +56,11 @@ FlagDesc flagdesc_mapgen_v6[] = {
/////////////////////////////////////////////////////////////////////////////
-MapgenV6::MapgenV6(int mapgenid, MapgenV6Params *params, EmergeManager *emerge)
- : Mapgen(mapgenid, params, emerge)
+MapgenV6::MapgenV6(MapgenV6Params *params, EmergeManager *emerge)
+ : Mapgen(MAPGEN_V6, params, emerge)
{
m_emerge = emerge;
- ystride = csize.X; //////fix this
+ ystride = csize.X;
heightmap = new s16[csize.X * csize.Z];
@@ -74,6 +75,8 @@ MapgenV6::MapgenV6(int mapgenid, MapgenV6Params *params, EmergeManager *emerge)
np_trees = &params->np_trees;
np_apple_trees = &params->np_apple_trees;
+ np_dungeons = NoiseParams(0.9, 0.5, v3f(500.0, 500.0, 500.0), 0, 2, 0.8, 2.0);
+
//// Create noise objects
noise_terrain_base = new Noise(&params->np_terrain_base, seed, csize.X, csize.Y);
noise_terrain_higher = new Noise(&params->np_terrain_higher, seed, csize.X, csize.Y);
@@ -535,7 +538,7 @@ void MapgenV6::makeChunk(BlockMakeData *data)
updateHeightmap(node_min, node_max);
const s16 max_spread_amount = MAP_BLOCKSIZE;
- // Limit dirt flow area by 1 because mud is flown into neighbors.
+ // Limit dirt flow area by 1 because mud is flowed into neighbors
s16 mudflow_minpos = -max_spread_amount + 1;
s16 mudflow_maxpos = central_area_size.X + max_spread_amount - 2;
@@ -561,48 +564,54 @@ void MapgenV6::makeChunk(BlockMakeData *data)
// Add dungeons
if ((flags & MG_DUNGEONS) && stone_surface_max_y >= node_min.Y &&
full_node_min.Y >= dungeon_ymin && full_node_max.Y <= dungeon_ymax) {
- DungeonParams dp;
-
- dp.seed = seed;
- dp.only_in_ground = true;
- dp.corridor_len_min = 1;
- dp.corridor_len_max = 13;
- dp.rooms_min = 2;
- dp.rooms_max = 16;
-
- dp.np_density
- = NoiseParams(0.9, 0.5, v3f(500.0, 500.0, 500.0), 0, 2, 0.8, 2.0);
- dp.np_alt_wall
- = NoiseParams(-0.4, 1.0, v3f(40.0, 40.0, 40.0), 32474, 6, 1.1, 2.0);
-
- if (getBiome(0, v2s16(node_min.X, node_min.Z)) == BT_DESERT) {
- dp.c_wall = c_desert_stone;
- dp.c_alt_wall = CONTENT_IGNORE;
- dp.c_stair = c_stair_desert_stone;
-
- dp.diagonal_dirs = true;
- dp.holesize = v3s16(2, 3, 2);
- dp.room_size_min = v3s16(6, 9, 6);
- dp.room_size_max = v3s16(10, 11, 10);
- dp.room_size_large_min = v3s16(10, 13, 10);
- dp.room_size_large_max = v3s16(18, 21, 18);
- dp.notifytype = GENNOTIFY_TEMPLE;
- } else {
- dp.c_wall = c_cobble;
- dp.c_alt_wall = c_mossycobble;
- dp.c_stair = c_stair_cobble;
-
- dp.diagonal_dirs = false;
- dp.holesize = v3s16(1, 2, 1);
- dp.room_size_min = v3s16(4, 4, 4);
- dp.room_size_max = v3s16(8, 6, 8);
- dp.room_size_large_min = v3s16(8, 8, 8);
- dp.room_size_large_max = v3s16(16, 16, 16);
- dp.notifytype = GENNOTIFY_DUNGEON;
- }
+ u16 num_dungeons = std::fmax(std::floor(
+ NoisePerlin3D(&np_dungeons, node_min.X, node_min.Y, node_min.Z, seed)), 0.0f);
+
+ if (num_dungeons >= 1) {
+ PseudoRandom ps(blockseed + 4713);
+
+ DungeonParams dp;
+
+ dp.seed = seed;
+ dp.num_dungeons = num_dungeons;
+ dp.only_in_ground = true;
+ dp.corridor_len_min = 1;
+ dp.corridor_len_max = 13;
+ dp.num_rooms = ps.range(2, 16);
+ dp.large_room_chance = (ps.range(1, 4) == 1) ? 1 : 0;
+
+ dp.np_alt_wall
+ = NoiseParams(-0.4, 1.0, v3f(40.0, 40.0, 40.0), 32474, 6, 1.1, 2.0);
+
+ if (getBiome(0, v2s16(node_min.X, node_min.Z)) == BT_DESERT) {
+ dp.c_wall = c_desert_stone;
+ dp.c_alt_wall = CONTENT_IGNORE;
+ dp.c_stair = c_stair_desert_stone;
+
+ dp.diagonal_dirs = true;
+ dp.holesize = v3s16(2, 3, 2);
+ dp.room_size_min = v3s16(6, 9, 6);
+ dp.room_size_max = v3s16(10, 11, 10);
+ dp.room_size_large_min = v3s16(10, 13, 10);
+ dp.room_size_large_max = v3s16(18, 21, 18);
+ dp.notifytype = GENNOTIFY_TEMPLE;
+ } else {
+ dp.c_wall = c_cobble;
+ dp.c_alt_wall = c_mossycobble;
+ dp.c_stair = c_stair_cobble;
+
+ dp.diagonal_dirs = false;
+ dp.holesize = v3s16(1, 2, 1);
+ dp.room_size_min = v3s16(4, 4, 4);
+ dp.room_size_max = v3s16(8, 6, 8);
+ dp.room_size_large_min = v3s16(8, 8, 8);
+ dp.room_size_large_max = v3s16(16, 16, 16);
+ dp.notifytype = GENNOTIFY_DUNGEON;
+ }
- DungeonGen dgen(ndef, &gennotify, &dp);
- dgen.generate(vm, blockseed, full_node_min, full_node_max);
+ DungeonGen dgen(ndef, &gennotify, &dp);
+ dgen.generate(vm, blockseed, full_node_min, full_node_max);
+ }
}
// Add top and bottom side of water to transforming_liquid queue
@@ -764,128 +773,113 @@ void MapgenV6::addMud()
void MapgenV6::flowMud(s16 &mudflow_minpos, s16 &mudflow_maxpos)
{
- // 340ms @cs=8
- //TimeTaker timer1("flow mud");
-
- // Iterate a few times
- for (s16 k = 0; k < 3; k++) {
+ const v3s16 &em = vm->m_area.getExtent();
+ static const v3s16 dirs4[4] = {
+ v3s16(0, 0, 1), // Back
+ v3s16(1, 0, 0), // Right
+ v3s16(0, 0, -1), // Front
+ v3s16(-1, 0, 0), // Left
+ };
+
+ // Iterate twice
+ for (s16 k = 0; k < 2; k++) {
for (s16 z = mudflow_minpos; z <= mudflow_maxpos; z++)
for (s16 x = mudflow_minpos; x <= mudflow_maxpos; x++) {
- // Invert coordinates every 2nd iteration
- if (k % 2 == 0) {
- x = mudflow_maxpos - (x - mudflow_minpos);
- z = mudflow_maxpos - (z - mudflow_minpos);
- }
+ // Node column position
+ v2s16 p2d;
+ // Invert coordinates on second iteration to process columns in
+ // opposite order, to avoid a directional bias.
+ if (k == 1)
+ p2d = v2s16(node_max.X, node_max.Z) - v2s16(x, z);
+ else
+ p2d = v2s16(node_min.X, node_min.Z) + v2s16(x, z);
- // Node position in 2d
- v2s16 p2d = v2s16(node_min.X, node_min.Z) + v2s16(x, z);
-
- const v3s16 &em = vm->m_area.getExtent();
- u32 i = vm->m_area.index(p2d.X, node_max.Y, p2d.Y);
s16 y = node_max.Y;
while (y >= node_min.Y) {
+ for (;; y--) {
+ u32 i = vm->m_area.index(p2d.X, y, p2d.Y);
+ MapNode *n = nullptr;
+
+ // Find next mud node in mapchunk column
+ for (; y >= node_min.Y; y--) {
+ n = &vm->m_data[i];
+ if (n->getContent() == c_dirt ||
+ n->getContent() == c_dirt_with_grass ||
+ n->getContent() == c_gravel)
+ break;
- for (;; y--) {
- MapNode *n = NULL;
- // Find mud
- for (; y >= node_min.Y; y--) {
- n = &vm->m_data[i];
- if (n->getContent() == c_dirt ||
- n->getContent() == c_dirt_with_grass ||
- n->getContent() == c_gravel)
+ VoxelArea::add_y(em, i, -1);
+ }
+ if (y < node_min.Y)
+ // No mud found in mapchunk column, process the next column
break;
- VoxelArea::add_y(em, i, -1);
- }
-
- // Stop if out of area
- //if(vmanip.m_area.contains(i) == false)
- if (y < node_min.Y)
- break;
-
- if (n->getContent() == c_dirt ||
- n->getContent() == c_dirt_with_grass) {
- // Make it exactly mud
- n->setContent(c_dirt);
-
- // Don't flow it if the stuff under it is not mud
- {
+ if (n->getContent() == c_dirt || n->getContent() == c_dirt_with_grass) {
+ // Convert dirt_with_grass to dirt
+ n->setContent(c_dirt);
+ // Don't flow mud if the stuff under it is not mud,
+ // to leave at least 1 node of mud.
u32 i2 = i;
VoxelArea::add_y(em, i2, -1);
- // Cancel if out of area
- if (!vm->m_area.contains(i2))
- continue;
MapNode *n2 = &vm->m_data[i2];
if (n2->getContent() != c_dirt &&
n2->getContent() != c_dirt_with_grass)
+ // Find next mud node in column
continue;
}
- }
- static const v3s16 dirs4[4] = {
- v3s16(0, 0, 1), // back
- v3s16(1, 0, 0), // right
- v3s16(0, 0, -1), // front
- v3s16(-1, 0, 0), // left
- };
-
- // Check that upper is walkable. Cancel
- // dropping if upper keeps it in place.
- u32 i3 = i;
- VoxelArea::add_y(em, i3, 1);
- MapNode *n3 = NULL;
-
- if (vm->m_area.contains(i3)) {
- n3 = &vm->m_data[i3];
+ // Check if node above is walkable. If so, cancel
+ // flowing as if node above keeps it in place.
+ u32 i3 = i;
+ VoxelArea::add_y(em, i3, 1);
+ MapNode *n3 = &vm->m_data[i3];
if (ndef->get(*n3).walkable)
+ // Find next mud node in column
continue;
- }
- // Drop mud on side
- for (const v3s16 &dirp : dirs4) {
- u32 i2 = i;
- // Move to side
- VoxelArea::add_p(em, i2, dirp);
- // Fail if out of area
- if (!vm->m_area.contains(i2))
- continue;
- // Check that side is air
- MapNode *n2 = &vm->m_data[i2];
- if (ndef->get(*n2).walkable)
- continue;
- // Check that under side is air
- VoxelArea::add_y(em, i2, -1);
- if (!vm->m_area.contains(i2))
- continue;
- n2 = &vm->m_data[i2];
- if (ndef->get(*n2).walkable)
- continue;
- // Loop further down until not air
- bool dropped_to_unknown = false;
- do {
+ // Drop mud on one side
+ for (const v3s16 &dirp : dirs4) {
+ u32 i2 = i;
+ // Move to side
+ VoxelArea::add_p(em, i2, dirp);
+ // Check that side is air
+ MapNode *n2 = &vm->m_data[i2];
+ if (ndef->get(*n2).walkable)
+ continue;
+
+ // Check that under side is air
VoxelArea::add_y(em, i2, -1);
n2 = &vm->m_data[i2];
- // if out of known area
- if (!vm->m_area.contains(i2) ||
- n2->getContent() == CONTENT_IGNORE) {
- dropped_to_unknown = true;
- break;
- }
- } while (!ndef->get(*n2).walkable);
- // Loop one up so that we're in air
- VoxelArea::add_y(em, i2, 1);
-
- // Move mud to new place. Outside mapchunk remove
- // any decorations above removed or placed mud.
- if (!dropped_to_unknown)
- moveMud(i, i2, i3, p2d, em);
+ if (ndef->get(*n2).walkable)
+ continue;
- // Done
- break;
+ // Loop further down until not air
+ s16 y2 = y - 1; // y of i2
+ bool dropped_to_unknown = false;
+ do {
+ y2--;
+ VoxelArea::add_y(em, i2, -1);
+ n2 = &vm->m_data[i2];
+ // If out of area or in ungenerated world
+ if (y2 < full_node_min.Y || n2->getContent() == CONTENT_IGNORE) {
+ dropped_to_unknown = true;
+ break;
+ }
+ } while (!ndef->get(*n2).walkable);
+
+ if (!dropped_to_unknown) {
+ // Move up one so that we're in air
+ VoxelArea::add_y(em, i2, 1);
+ // Move mud to new place, and if outside mapchunk remove
+ // any decorations above removed or placed mud.
+ moveMud(i, i2, i3, p2d, em);
+ }
+ // Done, find next mud node in column
+ break;
+ }
}
}
- }
}
}
}
diff --git a/src/mapgen/mapgen_v6.h b/src/mapgen/mapgen_v6.h
index 056281f2f..7d5229559 100644
--- a/src/mapgen/mapgen_v6.h
+++ b/src/mapgen/mapgen_v6.h
@@ -108,6 +108,8 @@ public:
NoiseParams *np_trees;
NoiseParams *np_apple_trees;
+ NoiseParams np_dungeons;
+
float freq_desert;
float freq_beach;
s16 dungeon_ymin;
@@ -132,7 +134,7 @@ public:
content_t c_stair_cobble;
content_t c_stair_desert_stone;
- MapgenV6(int mapgenid, MapgenV6Params *params, EmergeManager *emerge);
+ MapgenV6(MapgenV6Params *params, EmergeManager *emerge);
~MapgenV6();
virtual MapgenType getType() const { return MAPGEN_V6; }
diff --git a/src/mapgen/mapgen_v7.cpp b/src/mapgen/mapgen_v7.cpp
index 1354bf256..c9568760f 100644
--- a/src/mapgen/mapgen_v7.cpp
+++ b/src/mapgen/mapgen_v7.cpp
@@ -52,8 +52,8 @@ FlagDesc flagdesc_mapgen_v7[] = {
////////////////////////////////////////////////////////////////////////////////
-MapgenV7::MapgenV7(int mapgenid, MapgenV7Params *params, EmergeManager *emerge)
- : MapgenBasic(mapgenid, params, emerge)
+MapgenV7::MapgenV7(MapgenV7Params *params, EmergeManager *emerge)
+ : MapgenBasic(MAPGEN_V7, params, emerge)
{
spflags = params->spflags;
mount_zero_level = params->mount_zero_level;
@@ -113,9 +113,10 @@ MapgenV7::MapgenV7(int mapgenid, MapgenV7Params *params, EmergeManager *emerge)
new Noise(&params->np_mountain, seed, csize.X, csize.Y + 2, csize.Z);
// 3D noise, 1 down overgeneration
- MapgenBasic::np_cave1 = params->np_cave1;
- MapgenBasic::np_cave2 = params->np_cave2;
- MapgenBasic::np_cavern = params->np_cavern;
+ MapgenBasic::np_cave1 = params->np_cave1;
+ MapgenBasic::np_cave2 = params->np_cave2;
+ MapgenBasic::np_cavern = params->np_cavern;
+ MapgenBasic::np_dungeons = params->np_dungeons;
}
@@ -159,7 +160,8 @@ MapgenV7Params::MapgenV7Params():
np_ridge (0.0, 1.0, v3f(100, 100, 100), 6467, 4, 0.75, 2.0),
np_cavern (0.0, 1.0, v3f(384, 128, 384), 723, 5, 0.63, 2.0),
np_cave1 (0.0, 12.0, v3f(61, 61, 61), 52534, 3, 0.5, 2.0),
- np_cave2 (0.0, 12.0, v3f(67, 67, 67), 10325, 3, 0.5, 2.0)
+ np_cave2 (0.0, 12.0, v3f(67, 67, 67), 10325, 3, 0.5, 2.0),
+ np_dungeons (0.9, 0.5, v3f(500, 500, 500), 0, 2, 0.8, 2.0)
{
}
@@ -196,6 +198,7 @@ void MapgenV7Params::readParams(const Settings *settings)
settings->getNoiseParams("mgv7_np_cavern", np_cavern);
settings->getNoiseParams("mgv7_np_cave1", np_cave1);
settings->getNoiseParams("mgv7_np_cave2", np_cave2);
+ settings->getNoiseParams("mgv7_np_dungeons", np_dungeons);
}
@@ -231,6 +234,7 @@ void MapgenV7Params::writeParams(Settings *settings) const
settings->setNoiseParams("mgv7_np_cavern", np_cavern);
settings->setNoiseParams("mgv7_np_cave1", np_cave1);
settings->setNoiseParams("mgv7_np_cave2", np_cave2);
+ settings->setNoiseParams("mgv7_np_dungeons", np_dungeons);
}
diff --git a/src/mapgen/mapgen_v7.h b/src/mapgen/mapgen_v7.h
index b55c80d3a..50039b16a 100644
--- a/src/mapgen/mapgen_v7.h
+++ b/src/mapgen/mapgen_v7.h
@@ -66,6 +66,7 @@ struct MapgenV7Params : public MapgenParams {
NoiseParams np_cavern;
NoiseParams np_cave1;
NoiseParams np_cave2;
+ NoiseParams np_dungeons;
MapgenV7Params();
~MapgenV7Params() = default;
@@ -77,7 +78,7 @@ struct MapgenV7Params : public MapgenParams {
class MapgenV7 : public MapgenBasic {
public:
- MapgenV7(int mapgenid, MapgenV7Params *params, EmergeManager *emerge);
+ MapgenV7(MapgenV7Params *params, EmergeManager *emerge);
~MapgenV7();
virtual MapgenType getType() const { return MAPGEN_V7; }
diff --git a/src/mapgen/mapgen_valleys.cpp b/src/mapgen/mapgen_valleys.cpp
index 5f9267875..d0b36f29b 100644
--- a/src/mapgen/mapgen_valleys.cpp
+++ b/src/mapgen/mapgen_valleys.cpp
@@ -1,7 +1,7 @@
/*
Minetest
-Copyright (C) 2016-2018 Duane Robertson <duane@duanerobertson.com>
-Copyright (C) 2016-2018 paramat
+Copyright (C) 2016-2019 Duane Robertson <duane@duanerobertson.com>
+Copyright (C) 2016-2019 paramat
Based on Valleys Mapgen by Gael de Sailly
(https://forum.minetest.net/viewtopic.php?f=9&t=11430)
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+
#include "mapgen.h"
#include "voxel.h"
#include "noise.h"
@@ -53,18 +54,12 @@ FlagDesc flagdesc_mapgen_valleys[] = {
};
-////////////////////////////////////////////////////////////////////////////////
-
-
-MapgenValleys::MapgenValleys(int mapgenid, MapgenValleysParams *params,
- EmergeManager *emerge)
- : MapgenBasic(mapgenid, params, emerge)
+MapgenValleys::MapgenValleys(MapgenValleysParams *params, EmergeManager *emerge)
+ : MapgenBasic(MAPGEN_VALLEYS, params, emerge)
{
// NOTE: MapgenValleys has a hard dependency on BiomeGenOriginal
m_bgen = (BiomeGenOriginal *)biomegen;
- BiomeParamsOriginal *bp = (BiomeParamsOriginal *)params->bparams;
-
spflags = params->spflags;
altitude_chill = params->altitude_chill;
river_depth_bed = params->river_depth + 1.0f;
@@ -92,11 +87,10 @@ MapgenValleys::MapgenValleys(int mapgenid, MapgenValleysParams *params,
noise_inter_valley_fill = new Noise(&params->np_inter_valley_fill,
seed, csize.X, csize.Y + 2, csize.Z);
// 1-down overgeneraion
- MapgenBasic::np_cave1 = params->np_cave1;
- MapgenBasic::np_cave2 = params->np_cave2;
- MapgenBasic::np_cavern = params->np_cavern;
-
- humidity_adjust = bp->np_humidity.offset - 50.0f;
+ MapgenBasic::np_cave1 = params->np_cave1;
+ MapgenBasic::np_cave2 = params->np_cave2;
+ MapgenBasic::np_cavern = params->np_cavern;
+ MapgenBasic::np_dungeons = params->np_dungeons;
}
@@ -122,7 +116,8 @@ MapgenValleysParams::MapgenValleysParams():
np_valley_profile (0.6, 0.50, v3f(512, 512, 512), 777, 1, 1.0, 2.0),
np_cave1 (0.0, 12.0, v3f(61, 61, 61), 52534, 3, 0.5, 2.0),
np_cave2 (0.0, 12.0, v3f(67, 67, 67), 10325, 3, 0.5, 2.0),
- np_cavern (0.0, 1.0, v3f(768, 256, 768), 59033, 6, 0.63, 2.0)
+ np_cavern (0.0, 1.0, v3f(768, 256, 768), 59033, 6, 0.63, 2.0),
+ np_dungeons (0.9, 0.5, v3f(500, 500, 500), 0, 2, 0.8, 2.0)
{
}
@@ -153,6 +148,7 @@ void MapgenValleysParams::readParams(const Settings *settings)
settings->getNoiseParams("mgvalleys_np_cave1", np_cave1);
settings->getNoiseParams("mgvalleys_np_cave2", np_cave2);
settings->getNoiseParams("mgvalleys_np_cavern", np_cavern);
+ settings->getNoiseParams("mgvalleys_np_dungeons", np_dungeons);
}
@@ -182,12 +178,10 @@ void MapgenValleysParams::writeParams(Settings *settings) const
settings->setNoiseParams("mgvalleys_np_cave1", np_cave1);
settings->setNoiseParams("mgvalleys_np_cave2", np_cave2);
settings->setNoiseParams("mgvalleys_np_cavern", np_cavern);
+ settings->setNoiseParams("mgvalleys_np_dungeons", np_dungeons);
}
-////////////////////////////////////////////////////////////////////////////////
-
-
void MapgenValleys::makeChunk(BlockMakeData *data)
{
// Pre-conditions
@@ -220,19 +214,16 @@ void MapgenValleys::makeChunk(BlockMakeData *data)
// biome-related noises.
m_bgen->calcBiomeNoise(node_min);
- // Generate noise maps and base terrain height.
- // Modify heat and humidity maps.
- calculateNoise();
-
- // Generate base terrain with initial heightmaps
+ // Generate terrain
s16 stone_surface_max_y = generateTerrain();
- // Recalculate heightmap
+ // Create heightmap
updateHeightmap(node_min, node_max);
// Place biome-specific nodes and build biomemap
- if (flags & MG_BIOMES)
+ if (flags & MG_BIOMES) {
generateBiomes();
+ }
// Generate tunnels, caverns and large randomwalk caves
if (flags & MG_CAVES) {
@@ -281,244 +272,151 @@ void MapgenValleys::makeChunk(BlockMakeData *data)
}
-void MapgenValleys::calculateNoise()
-{
- int x = node_min.X;
- int y = node_min.Y - 1;
- int z = node_min.Z;
-
- noise_inter_valley_slope->perlinMap2D(x, z);
- noise_rivers->perlinMap2D(x, z);
- noise_terrain_height->perlinMap2D(x, z);
- noise_valley_depth->perlinMap2D(x, z);
- noise_valley_profile->perlinMap2D(x, z);
-
- noise_inter_valley_fill->perlinMap3D(x, y, z);
-
- float heat_offset = 0.0f;
- float humidity_scale = 1.0f;
- // Altitude chill tends to reduce the average heat.
- if (spflags & MGVALLEYS_ALT_CHILL)
- heat_offset = 5.0f;
- // River humidity tends to increase the humidity range.
- if (spflags & MGVALLEYS_HUMID_RIVERS)
- humidity_scale = 0.8f;
-
- for (s32 index = 0; index < csize.X * csize.Z; index++) {
- m_bgen->heatmap[index] += heat_offset;
- m_bgen->humidmap[index] *= humidity_scale;
- }
-
- TerrainNoise tn;
-
- u32 index = 0;
- for (tn.z = node_min.Z; tn.z <= node_max.Z; tn.z++)
- for (tn.x = node_min.X; tn.x <= node_max.X; tn.x++, index++) {
- // The parameters that we actually need to generate terrain are passed
- // by address (and the return value).
- tn.terrain_height = noise_terrain_height->result[index];
- // River noise is replaced with base terrain, which is basically the
- // height of the water table.
- tn.rivers = &noise_rivers->result[index];
- // Valley depth noise is replaced with the valley number that represents
- // the height of terrain over rivers and is used to determine how close
- // a river is for humidity calculation.
- tn.valley = &noise_valley_depth->result[index];
- tn.valley_profile = noise_valley_profile->result[index];
- // Slope noise is replaced by the calculated slope which is used to get
- // terrain height in the slow method, to create sharper mountains.
- tn.slope = &noise_inter_valley_slope->result[index];
- tn.inter_valley_fill = noise_inter_valley_fill->result[index];
-
- // This is the actual terrain height.
- float mount = terrainLevelFromNoise(&tn);
- noise_terrain_height->result[index] = mount;
- }
-}
-
-
-float MapgenValleys::terrainLevelFromNoise(TerrainNoise *tn)
-{
- // The square function changes the behaviour of this noise: very often
- // small, and sometimes very high.
- float valley_d = MYSQUARE(*tn->valley);
-
- // valley_d is here because terrain is generally higher where valleys are
- // deep (mountains). base represents the height of the rivers, most of the
- // surface is above.
- float base = tn->terrain_height + valley_d;
-
- // "river" represents the distance from the river
- float river = std::fabs(*tn->rivers) - river_size_factor;
-
- // Use the curve of the function 1-exp(-(x/a)^2) to model valleys.
- // "valley" represents the height of the terrain, from the rivers.
- float tv = std::fmax(river / tn->valley_profile, 0.0f);
- *tn->valley = valley_d * (1.0f - std::exp(-MYSQUARE(tv)));
-
- // Approximate height of the terrain at this point
- float mount = base + *tn->valley;
-
- *tn->slope *= *tn->valley;
-
- // Base ground is returned as rivers since it's basically the water table.
- *tn->rivers = base;
-
- // Rivers are placed where "river" is negative, so where the original noise
- // value is close to zero.
- if (river < 0.0f) {
- // Use the the function -sqrt(1-x^2) which models a circle
- float tr = river / river_size_factor + 1.0f;
- float depth = (river_depth_bed *
- std::sqrt(std::fmax(0.0f, 1.0f - MYSQUARE(tr))));
-
- // base - depth : height of the bottom of the river
- // water_level - 3 : don't make rivers below 3 nodes under the surface.
- // We use three because that's as low as the swamp biomes go.
- // There is no logical equivalent to this using rangelim.
- mount =
- std::fmin(std::fmax(base - depth, (float)(water_level - 3)), mount);
-
- // Slope has no influence on rivers
- *tn->slope = 0.0f;
- }
-
- return mount;
-}
-
-
-// This avoids duplicating the code in terrainLevelFromNoise, adding only the
-// final step of terrain generation without a noise map.
-
-float MapgenValleys::adjustedTerrainLevelFromNoise(TerrainNoise *tn)
-{
- float mount = terrainLevelFromNoise(tn);
- float result = mount;
- s16 y_start = myround(mount);
- float fill =
- NoisePerlin3D(&noise_inter_valley_fill->np, tn->x, y_start, tn->z, seed);
- bool is_ground = fill * *tn->slope >= y_start - mount;
- s16 search_direction = is_ground ? 1 : -1;
-
- for (s16 i = 1; i <= 1000; i++) {
- s16 y = y_start + i * search_direction;
- fill =
- NoisePerlin3D(&noise_inter_valley_fill->np, tn->x, y, tn->z, seed);
-
- bool was_ground = is_ground;
- is_ground = fill * *tn->slope >= y - mount;
- if (is_ground)
- result = y;
- if (is_ground != was_ground)
- break;
- }
-
- return result;
-}
-
-
int MapgenValleys::getSpawnLevelAtPoint(v2s16 p)
{
- // Check if in a river
- float rivers = NoisePerlin2D(&noise_rivers->np, p.X, p.Y, seed);
- if (std::fabs(rivers) < river_size_factor)
- return MAX_MAP_GENERATION_LIMIT; // Unsuitable spawn point
-
- s16 level_at_point = terrainLevelAtPoint(p.X, p.Y);
- if (level_at_point <= water_level ||
- level_at_point > water_level + 16)
- return MAX_MAP_GENERATION_LIMIT; // Unsuitable spawn point
-
- // +1 to account for biome dust that can be 1 node deep
- return level_at_point + 1;
-}
-
-
-float MapgenValleys::terrainLevelAtPoint(s16 x, s16 z)
-{
- TerrainNoise tn;
-
- float rivers = NoisePerlin2D(&noise_rivers->np, x, z, seed);
- float valley = NoisePerlin2D(&noise_valley_depth->np, x, z, seed);
- float inter_valley_slope =
- NoisePerlin2D(&noise_inter_valley_slope->np, x, z, seed);
-
- tn.x = x;
- tn.z = z;
- tn.terrain_height = NoisePerlin2D(&noise_terrain_height->np, x, z, seed);
- tn.rivers = &rivers;
- tn.valley = &valley;
- tn.valley_profile = NoisePerlin2D(&noise_valley_profile->np, x, z, seed);
- tn.slope = &inter_valley_slope;
- tn.inter_valley_fill = 0.0f;
-
- return adjustedTerrainLevelFromNoise(&tn);
+ // Check if in a river channel
+ float n_rivers = NoisePerlin2D(&noise_rivers->np, p.X, p.Y, seed);
+ if (std::fabs(n_rivers) <= river_size_factor)
+ // Unsuitable spawn point
+ return MAX_MAP_GENERATION_LIMIT;
+
+ float n_slope = NoisePerlin2D(&noise_inter_valley_slope->np, p.X, p.Y, seed);
+ float n_terrain_height = NoisePerlin2D(&noise_terrain_height->np, p.X, p.Y, seed);
+ float n_valley = NoisePerlin2D(&noise_valley_depth->np, p.X, p.Y, seed);
+ float n_valley_profile = NoisePerlin2D(&noise_valley_profile->np, p.X, p.Y, seed);
+
+ float valley_d = n_valley * n_valley;
+ float base = n_terrain_height + valley_d;
+ float river = std::fabs(n_rivers) - river_size_factor;
+ float tv = std::fmax(river / n_valley_profile, 0.0f);
+ float valley_h = valley_d * (1.0f - std::exp(-tv * tv));
+ float surface_y = base + valley_h;
+ float slope = n_slope * valley_h;
+ float river_y = base - 1.0f;
+
+ // Raising the maximum spawn level above 'water_level + 16' is necessary for custom
+ // parameters that set average terrain level much higher than water_level.
+ s16 max_spawn_y = std::fmax(
+ noise_terrain_height->np.offset +
+ noise_valley_depth->np.offset * noise_valley_depth->np.offset,
+ water_level + 16);
+
+ // Starting spawn search at max_spawn_y + 128 ensures 128 nodes of open
+ // space above spawn position. Avoids spawning in possibly sealed voids.
+ for (s16 y = max_spawn_y + 128; y >= water_level; y--) {
+ float n_fill = NoisePerlin3D(&noise_inter_valley_fill->np, p.X, y, p.Y, seed);
+ float surface_delta = (float)y - surface_y;
+ float density = slope * n_fill - surface_delta;
+
+ if (density > 0.0f) { // If solid
+ // Sometimes surface level is below river water level in places that are not
+ // river channels.
+ if (y < water_level || y > max_spawn_y || y < (s16)river_y)
+ // Unsuitable spawn point
+ return MAX_MAP_GENERATION_LIMIT;
+
+ // y + 2 because y is surface and due to biome 'dust' nodes.
+ return y + 2;
+ }
+ }
+ // Unsuitable spawn position, no ground found
+ return MAX_MAP_GENERATION_LIMIT;
}
int MapgenValleys::generateTerrain()
{
- // Raising this reduces the rate of evaporation
- static const float evaporation = 300.0f;
- static const float humidity_dropoff = 4.0f;
- // Constant to convert altitude chill to heat
- static const float alt_to_heat = 20.0f;
- // Humidity reduction by altitude
- static const float alt_to_humid = 10.0f;
-
MapNode n_air(CONTENT_AIR);
MapNode n_river_water(c_river_water_source);
MapNode n_stone(c_stone);
MapNode n_water(c_water_source);
+ noise_inter_valley_slope->perlinMap2D(node_min.X, node_min.Z);
+ noise_rivers->perlinMap2D(node_min.X, node_min.Z);
+ noise_terrain_height->perlinMap2D(node_min.X, node_min.Z);
+ noise_valley_depth->perlinMap2D(node_min.X, node_min.Z);
+ noise_valley_profile->perlinMap2D(node_min.X, node_min.Z);
+
+ noise_inter_valley_fill->perlinMap3D(node_min.X, node_min.Y - 1, node_min.Z);
+
const v3s16 &em = vm->m_area.getExtent();
s16 surface_max_y = -MAX_MAP_GENERATION_LIMIT;
u32 index_2d = 0;
for (s16 z = node_min.Z; z <= node_max.Z; z++)
for (s16 x = node_min.X; x <= node_max.X; x++, index_2d++) {
- float river_y = noise_rivers->result[index_2d];
- float surface_y = noise_terrain_height->result[index_2d];
- float slope = noise_inter_valley_slope->result[index_2d];
- float t_heat = m_bgen->heatmap[index_2d];
-
- heightmap[index_2d] = -MAX_MAP_GENERATION_LIMIT;
-
- if (surface_y > surface_max_y)
- surface_max_y = std::ceil(surface_y);
+ float n_slope = noise_inter_valley_slope->result[index_2d];
+ float n_rivers = noise_rivers->result[index_2d];
+ float n_terrain_height = noise_terrain_height->result[index_2d];
+ float n_valley = noise_valley_depth->result[index_2d];
+ float n_valley_profile = noise_valley_profile->result[index_2d];
+
+ float valley_d = n_valley * n_valley;
+ // 'base' represents the level of the river banks
+ float base = n_terrain_height + valley_d;
+ // 'river' represents the distance from the river edge
+ float river = std::fabs(n_rivers) - river_size_factor;
+ // Use the curve of the function 1-exp(-(x/a)^2) to model valleys.
+ // 'valley_h' represents the height of the terrain, from the rivers.
+ float tv = std::fmax(river / n_valley_profile, 0.0f);
+ float valley_h = valley_d * (1.0f - std::exp(-tv * tv));
+ // Approximate height of the terrain
+ float surface_y = base + valley_h;
+ float slope = n_slope * valley_h;
+ // River water surface is 1 node below river banks
+ float river_y = base - 1.0f;
+
+ // Rivers are placed where 'river' is negative
+ if (river < 0.0f) {
+ // Use the the function -sqrt(1-x^2) which models a circle
+ float tr = river / river_size_factor + 1.0f;
+ float depth = (river_depth_bed *
+ std::sqrt(std::fmax(0.0f, 1.0f - tr * tr)));
+ // There is no logical equivalent to this using rangelim
+ surface_y = std::fmin(
+ std::fmax(base - depth, (float)(water_level - 3)),
+ surface_y);
+ slope = 0.0f;
+ }
// Optionally vary river depth according to heat and humidity
if (spflags & MGVALLEYS_VARY_RIVER_DEPTH) {
- float heat = ((spflags & MGVALLEYS_ALT_CHILL) &&
- (surface_y > 0.0f || river_y > 0.0f)) ?
- t_heat - alt_to_heat *
- std::fmax(surface_y, river_y) / altitude_chill :
+ float t_heat = m_bgen->heatmap[index_2d];
+ float heat = (spflags & MGVALLEYS_ALT_CHILL) ?
+ // Match heat value calculated below in
+ // 'Optionally decrease heat with altitude'.
+ // In rivers, 'ground height ignoring riverbeds' is 'base'.
+ // As this only affects river water we can assume y > water_level.
+ t_heat + 5.0f - (base - water_level) * 20.0f / altitude_chill :
t_heat;
float delta = m_bgen->humidmap[index_2d] - 50.0f;
if (delta < 0.0f) {
- float t_evap = (heat - 32.0f) / evaporation;
+ float t_evap = (heat - 32.0f) / 300.0f;
river_y += delta * std::fmax(t_evap, 0.08f);
}
}
+ // Highest solid node in column
+ s16 column_max_y = surface_y;
u32 index_3d = (z - node_min.Z) * zstride_1u1d + (x - node_min.X);
u32 index_data = vm->m_area.index(x, node_min.Y - 1, z);
for (s16 y = node_min.Y - 1; y <= node_max.Y + 1; y++) {
if (vm->m_data[index_data].getContent() == CONTENT_IGNORE) {
- float fill = noise_inter_valley_fill->result[index_3d];
+ float n_fill = noise_inter_valley_fill->result[index_3d];
float surface_delta = (float)y - surface_y;
- bool river = y < river_y - 1;
+ // Density = density noise + density gradient
+ float density = slope * n_fill - surface_delta;
- if (slope * fill > surface_delta) {
+ if (density > 0.0f) {
vm->m_data[index_data] = n_stone; // Stone
- if (y > heightmap[index_2d])
- heightmap[index_2d] = y;
if (y > surface_max_y)
surface_max_y = y;
+ if (y > column_max_y)
+ column_max_y = y;
} else if (y <= water_level) {
vm->m_data[index_data] = n_water; // Water
- } else if (river) {
+ } else if (y <= (s16)river_y) {
vm->m_data[index_data] = n_river_water; // River water
} else {
vm->m_data[index_data] = n_air; // Air
@@ -529,26 +427,13 @@ int MapgenValleys::generateTerrain()
index_3d += ystride;
}
- if (heightmap[index_2d] == -MAX_MAP_GENERATION_LIMIT) {
- s16 surface_y_int = myround(surface_y);
-
- if (surface_y_int > node_max.Y + 1 ||
- surface_y_int < node_min.Y - 1) {
- // If surface_y is outside the chunk, it's good enough
- heightmap[index_2d] = surface_y_int;
- } else {
- // If the ground is outside of this chunk, but surface_y is
- // within the chunk, give a value outside.
- heightmap[index_2d] = node_min.Y - 2;
- }
- }
-
// Optionally increase humidity around rivers
if (spflags & MGVALLEYS_HUMID_RIVERS) {
+ // Compensate to avoid increasing average humidity
+ m_bgen->humidmap[index_2d] *= 0.8f;
// Ground height ignoring riverbeds
- float t_alt = std::fmax(noise_rivers->result[index_2d],
- (float)heightmap[index_2d]);
- float water_depth = (t_alt - river_y) / humidity_dropoff;
+ float t_alt = std::fmax(base, (float)column_max_y);
+ float water_depth = (t_alt - base) / 4.0f;
m_bgen->humidmap[index_2d] *=
1.0f + std::pow(0.5f, std::fmax(water_depth, 1.0f));
}
@@ -556,21 +441,23 @@ int MapgenValleys::generateTerrain()
// Optionally decrease humidity with altitude
if (spflags & MGVALLEYS_ALT_DRY) {
// Ground height ignoring riverbeds
- float t_alt = std::fmax(noise_rivers->result[index_2d],
- (float)heightmap[index_2d]);
- if (t_alt > 0.0f)
+ float t_alt = std::fmax(base, (float)column_max_y);
+ // Only decrease above water_level
+ if (t_alt > water_level)
m_bgen->humidmap[index_2d] -=
- alt_to_humid * t_alt / altitude_chill;
+ (t_alt - water_level) * 10.0f / altitude_chill;
}
// Optionally decrease heat with altitude
if (spflags & MGVALLEYS_ALT_CHILL) {
+ // Compensate to avoid reducing the average heat
+ m_bgen->heatmap[index_2d] += 5.0f;
// Ground height ignoring riverbeds
- float t_alt = std::fmax(noise_rivers->result[index_2d],
- (float)heightmap[index_2d]);
- if (t_alt > 0.0f)
+ float t_alt = std::fmax(base, (float)column_max_y);
+ // Only decrease above water_level
+ if (t_alt > water_level)
m_bgen->heatmap[index_2d] -=
- alt_to_heat * t_alt / altitude_chill;
+ (t_alt - water_level) * 20.0f / altitude_chill;
}
}
diff --git a/src/mapgen/mapgen_valleys.h b/src/mapgen/mapgen_valleys.h
index 8bde7a622..ab80dc5c9 100644
--- a/src/mapgen/mapgen_valleys.h
+++ b/src/mapgen/mapgen_valleys.h
@@ -1,11 +1,11 @@
/*
Minetest
-Copyright (C) 2016-2018 Duane Robertson <duane@duanerobertson.com>
-Copyright (C) 2016-2018 paramat
+Copyright (C) 2016-2019 Duane Robertson <duane@duanerobertson.com>
+Copyright (C) 2016-2019 paramat
Based on Valleys Mapgen by Gael de Sailly
(https://forum.minetest.net/viewtopic.php?f=9&t=11430)
-and mapgen_v7 by kwolekr and paramat.
+and mapgen_v7, mapgen_flat by kwolekr and paramat.
Licensing changed by permission of Gael de Sailly.
@@ -24,20 +24,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
+
#pragma once
#include "mapgen.h"
-/////////////////// Mapgen Valleys flags
#define MGVALLEYS_ALT_CHILL 0x01
#define MGVALLEYS_HUMID_RIVERS 0x02
#define MGVALLEYS_VARY_RIVER_DEPTH 0x04
#define MGVALLEYS_ALT_DRY 0x08
-// Feed only one variable into these
-#define MYSQUARE(x) (x) * (x)
-#define MYCUBE(x) (x) * (x) * (x)
-
class BiomeManager;
class BiomeGenOriginal;
@@ -71,6 +67,7 @@ struct MapgenValleysParams : public MapgenParams {
NoiseParams np_cave1;
NoiseParams np_cave2;
NoiseParams np_cavern;
+ NoiseParams np_dungeons;
MapgenValleysParams();
~MapgenValleysParams() = default;
@@ -79,21 +76,11 @@ struct MapgenValleysParams : public MapgenParams {
void writeParams(Settings *settings) const;
};
-struct TerrainNoise {
- s16 x;
- s16 z;
- float terrain_height;
- float *rivers;
- float *valley;
- float valley_profile;
- float *slope;
- float inter_valley_fill;
-};
class MapgenValleys : public MapgenBasic {
public:
- MapgenValleys(int mapgenid, MapgenValleysParams *params,
+ MapgenValleys(MapgenValleysParams *params,
EmergeManager *emerge);
~MapgenValleys();
@@ -106,7 +93,6 @@ private:
BiomeGenOriginal *m_bgen;
float altitude_chill;
- float humidity_adjust;
float river_depth_bed;
float river_size_factor;
@@ -121,9 +107,5 @@ private:
Noise *noise_valley_depth;
Noise *noise_valley_profile;
- float terrainLevelAtPoint(s16 x, s16 z);
- void calculateNoise();
virtual int generateTerrain();
- float terrainLevelFromNoise(TerrainNoise *tn);
- float adjustedTerrainLevelFromNoise(TerrainNoise *tn);
};
diff --git a/src/mapgen/mg_biome.cpp b/src/mapgen/mg_biome.cpp
index 7f717011c..345bc8c6a 100644
--- a/src/mapgen/mg_biome.cpp
+++ b/src/mapgen/mg_biome.cpp
@@ -63,6 +63,7 @@ BiomeManager::BiomeManager(Server *server) :
b->m_nodenames.emplace_back("mapgen_stone");
b->m_nodenames.emplace_back("ignore");
b->m_nodenames.emplace_back("ignore");
+ b->m_nnlistsizes.push_back(1);
b->m_nodenames.emplace_back("ignore");
b->m_nodenames.emplace_back("ignore");
b->m_nodenames.emplace_back("ignore");
@@ -330,7 +331,7 @@ void Biome::resolveNodeNames()
getIdFromNrBacklog(&c_river_water, "mapgen_river_water_source", CONTENT_AIR, false);
getIdFromNrBacklog(&c_riverbed, "mapgen_stone", CONTENT_AIR, false);
getIdFromNrBacklog(&c_dust, "ignore", CONTENT_IGNORE, false);
- getIdFromNrBacklog(&c_cave_liquid, "ignore", CONTENT_IGNORE, false);
+ getIdsFromNrBacklog(&c_cave_liquid);
getIdFromNrBacklog(&c_dungeon, "ignore", CONTENT_IGNORE, false);
getIdFromNrBacklog(&c_dungeon_alt, "ignore", CONTENT_IGNORE, false);
getIdFromNrBacklog(&c_dungeon_stair, "ignore", CONTENT_IGNORE, false);
diff --git a/src/mapgen/mg_biome.h b/src/mapgen/mg_biome.h
index 1f60f7bac..ee148adbc 100644
--- a/src/mapgen/mg_biome.h
+++ b/src/mapgen/mg_biome.h
@@ -52,7 +52,7 @@ public:
content_t c_river_water;
content_t c_riverbed;
content_t c_dust;
- content_t c_cave_liquid;
+ std::vector<content_t> c_cave_liquid;
content_t c_dungeon;
content_t c_dungeon_alt;
content_t c_dungeon_stair;
diff --git a/src/mapgen/mg_schematic.cpp b/src/mapgen/mg_schematic.cpp
index 36f1dd76b..c1acbfd9d 100644
--- a/src/mapgen/mg_schematic.cpp
+++ b/src/mapgen/mg_schematic.cpp
@@ -246,7 +246,7 @@ void Schematic::placeOnMap(ServerMap *map, v3s16 p, u32 flags,
for (it = modified_blocks.begin(); it != modified_blocks.end(); ++it)
event.modified_blocks.insert(it->first);
- map->dispatchEvent(&event);
+ map->dispatchEvent(event);
}
diff --git a/src/mapgen/treegen.cpp b/src/mapgen/treegen.cpp
index 4c351fcef..0d8af2851 100644
--- a/src/mapgen/treegen.cpp
+++ b/src/mapgen/treegen.cpp
@@ -135,7 +135,7 @@ treegen::error spawn_ltree(ServerEnvironment *env, v3s16 p0,
event.type = MEET_OTHER;
for (auto &modified_block : modified_blocks)
event.modified_blocks.insert(modified_block.first);
- map->dispatchEvent(&event);
+ map->dispatchEvent(event);
return SUCCESS;
}
diff --git a/src/mapnode.cpp b/src/mapnode.cpp
index 3b19160e1..557b376c3 100644
--- a/src/mapnode.cpp
+++ b/src/mapnode.cpp
@@ -44,18 +44,6 @@ static const u8 rot_to_wallmounted[] = {
MapNode
*/
-// Create directly from a nodename
-// If name is unknown, sets CONTENT_IGNORE
-MapNode::MapNode(const NodeDefManager *ndef, const std::string &name,
- u8 a_param1, u8 a_param2)
-{
- content_t id = CONTENT_IGNORE;
- ndef->getId(name, id);
- param0 = id;
- param1 = a_param1;
- param2 = a_param2;
-}
-
void MapNode::getColor(const ContentFeatures &f, video::SColor *color) const
{
if (f.palette) {
@@ -524,7 +512,7 @@ static inline void getNeighborConnectingFace(
const v3s16 &p, const NodeDefManager *nodedef,
Map *map, MapNode n, u8 bitmask, u8 *neighbors)
{
- MapNode n2 = map->getNodeNoEx(p);
+ MapNode n2 = map->getNode(p);
if (nodedef->nodeboxConnects(n, n2, bitmask))
*neighbors |= bitmask;
}
diff --git a/src/mapnode.h b/src/mapnode.h
index 6e48bce8c..7a3d30ddc 100644
--- a/src/mapnode.h
+++ b/src/mapnode.h
@@ -145,11 +145,6 @@ struct MapNode
param2(a_param2)
{ }
- // Create directly from a nodename
- // If name is unknown, sets CONTENT_IGNORE
- MapNode(const NodeDefManager *ndef, const std::string &name,
- u8 a_param1=0, u8 a_param2=0);
-
bool operator==(const MapNode &other) const noexcept
{
return (param0 == other.param0
diff --git a/src/network/clientopcodes.cpp b/src/network/clientopcodes.cpp
index 7f3ab50ed..498583df9 100644
--- a/src/network/clientopcodes.cpp
+++ b/src/network/clientopcodes.cpp
@@ -67,7 +67,7 @@ const ToClientCommandHandler toClientCommandTable[TOCLIENT_NUM_MSG_TYPES] =
null_command_handler,
{ "TOCLIENT_TIME_OF_DAY", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_TimeOfDay }, // 0x29
{ "TOCLIENT_CSM_RESTRICTION_FLAGS", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_CSMRestrictionFlags }, // 0x2A
- null_command_handler,
+ { "TOCLIENT_PLAYER_SPEED", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_PlayerSpeed }, // 0x2B
null_command_handler,
null_command_handler,
null_command_handler,
@@ -78,7 +78,7 @@ const ToClientCommandHandler toClientCommandTable[TOCLIENT_NUM_MSG_TYPES] =
{ "TOCLIENT_HP", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_HP }, // 0x33
{ "TOCLIENT_MOVE_PLAYER", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_MovePlayer }, // 0x34
{ "TOCLIENT_ACCESS_DENIED_LEGACY", TOCLIENT_STATE_NOT_CONNECTED, &Client::handleCommand_AccessDenied }, // 0x35
- null_command_handler,
+ { "TOCLIENT_FOV", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_Fov }, // 0x36
{ "TOCLIENT_DEATHSCREEN", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_DeathScreen }, // 0x37
{ "TOCLIENT_MEDIA", TOCLIENT_STATE_CONNECTED, &Client::handleCommand_Media }, // 0x38
null_command_handler,
@@ -151,9 +151,9 @@ const ServerCommandFactory serverCommandFactoryTable[TOSERVER_NUM_MSG_TYPES] =
null_command_factory, // 0x14
null_command_factory, // 0x15
null_command_factory, // 0x16
- { "TOSERVER_MODCHANNEL_JOIN", 0, true }, // 0x17
- { "TOSERVER_MODCHANNEL_LEAVE", 0, true }, // 0x18
- { "TOSERVER_MODCHANNEL_MSG", 0, true }, // 0x19
+ { "TOSERVER_MODCHANNEL_JOIN", 0, true }, // 0x17
+ { "TOSERVER_MODCHANNEL_LEAVE", 0, true }, // 0x18
+ { "TOSERVER_MODCHANNEL_MSG", 0, true }, // 0x19
null_command_factory, // 0x1a
null_command_factory, // 0x1b
null_command_factory, // 0x1c
diff --git a/src/network/clientpackethandler.cpp b/src/network/clientpackethandler.cpp
index 2f5deae2a..b6e9defb0 100644
--- a/src/network/clientpackethandler.cpp
+++ b/src/network/clientpackethandler.cpp
@@ -333,7 +333,7 @@ void Client::handleCommand_Inventory(NetworkPacket* pkt)
player->inventory.deSerialize(is);
- m_inventory_updated = true;
+ m_update_wielded_item = true;
delete m_inventory_from_server;
m_inventory_from_server = new Inventory(player->inventory);
@@ -415,7 +415,7 @@ void Client::handleCommand_ChatMessage(NetworkPacket *pkt)
chatMessage->type = (ChatMessageType) message_type;
// @TODO send this to CSM using ChatMessage object
- if (moddingEnabled() && m_script->on_receiving_message(
+ if (modsLoaded() && m_script->on_receiving_message(
wide_to_utf8(chatMessage->message))) {
// Message was consumed by CSM and should not be handled by client
delete chatMessage;
@@ -463,6 +463,10 @@ void Client::handleCommand_ActiveObjectRemoveAdd(NetworkPacket* pkt)
infostream << "handleCommand_ActiveObjectRemoveAdd: " << e.what()
<< ". The packet is unreliable, ignoring" << std::endl;
}
+
+ // m_activeobjects_received is false before the first
+ // TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD packet is received
+ m_activeobjects_received = true;
}
void Client::handleCommand_ActiveObjectMessages(NetworkPacket* pkt)
@@ -519,22 +523,30 @@ void Client::handleCommand_Movement(NetworkPacket* pkt)
player->movement_gravity = g * BS;
}
-void Client::handleCommand_HP(NetworkPacket* pkt)
+void Client::handleCommand_Fov(NetworkPacket *pkt)
{
+ f32 fov;
+ bool is_multiplier;
+ *pkt >> fov >> is_multiplier;
LocalPlayer *player = m_env.getLocalPlayer();
+ player->setFov({ fov, is_multiplier });
+}
+
+void Client::handleCommand_HP(NetworkPacket *pkt)
+{
+ LocalPlayer *player = m_env.getLocalPlayer();
assert(player != NULL);
- u16 oldhp = player->hp;
+ u16 oldhp = player->hp;
u16 hp;
*pkt >> hp;
player->hp = hp;
- if (moddingEnabled()) {
+ if (modsLoaded())
m_script->on_hp_modification(hp);
- }
if (hp < oldhp) {
// Add to ClientEvent queue
@@ -900,7 +912,7 @@ void Client::handleCommand_DetachedInventory(NetworkPacket* pkt)
u16 ignore;
*pkt >> ignore; // this used to be the length of the following string, ignore it
- std::string contents = pkt->getRemainingString();
+ std::string contents(pkt->getRemainingString(), pkt->getRemainingBytes());
std::istringstream is(contents, std::ios::binary);
inv->deSerialize(is);
}
@@ -1383,6 +1395,17 @@ void Client::handleCommand_CSMRestrictionFlags(NetworkPacket *pkt)
loadMods();
}
+void Client::handleCommand_PlayerSpeed(NetworkPacket *pkt)
+{
+ v3f added_vel;
+
+ *pkt >> added_vel;
+
+ LocalPlayer *player = m_env.getLocalPlayer();
+ assert(player != NULL);
+ player->addVelocity(added_vel);
+}
+
/*
* Mod channels
*/
diff --git a/src/network/connection.cpp b/src/network/connection.cpp
index 28084c921..0bc13a2f0 100644
--- a/src/network/connection.cpp
+++ b/src/network/connection.cpp
@@ -56,7 +56,7 @@ std::mutex log_message_mutex;
#define PING_TIMEOUT 5.0
-BufferedPacket makePacket(Address &address, SharedBuffer<u8> data,
+BufferedPacket makePacket(Address &address, const SharedBuffer<u8> &data,
u32 protocol_id, session_t sender_peer_id, u8 channel)
{
u32 packet_size = data.getSize() + BASE_HEADER_SIZE;
@@ -126,7 +126,7 @@ void makeSplitPacket(const SharedBuffer<u8> &data, u32 chunksize_max, u16 seqnum
}
}
-void makeAutoSplitPacket(SharedBuffer<u8> data, u32 chunksize_max,
+void makeAutoSplitPacket(const SharedBuffer<u8> &data, u32 chunksize_max,
u16 &split_seqnum, std::list<SharedBuffer<u8>> *list)
{
u32 original_header_size = 1;
@@ -140,7 +140,7 @@ void makeAutoSplitPacket(SharedBuffer<u8> data, u32 chunksize_max,
list->push_back(makeOriginalPacket(data));
}
-SharedBuffer<u8> makeReliablePacket(SharedBuffer<u8> data, u16 seqnum)
+SharedBuffer<u8> makeReliablePacket(const SharedBuffer<u8> &data, u16 seqnum)
{
u32 header_size = 3;
u32 packet_size = data.getSize() + header_size;
@@ -169,6 +169,7 @@ void ReliablePacketBuffer::print()
index++;
}
}
+
bool ReliablePacketBuffer::empty()
{
MutexAutoLock listlock(m_list_mutex);
@@ -177,12 +178,8 @@ bool ReliablePacketBuffer::empty()
u32 ReliablePacketBuffer::size()
{
- return m_list_size;
-}
-
-bool ReliablePacketBuffer::containsPacket(u16 seqnum)
-{
- return !(findPacket(seqnum) == m_list.end());
+ MutexAutoLock listlock(m_list_mutex);
+ return m_list.size();
}
RPBSearchResult ReliablePacketBuffer::findPacket(u16 seqnum)
@@ -191,24 +188,24 @@ RPBSearchResult ReliablePacketBuffer::findPacket(u16 seqnum)
for(; i != m_list.end(); ++i)
{
u16 s = readU16(&(i->data[BASE_HEADER_SIZE+1]));
- /*dout_con<<"findPacket(): finding seqnum="<<seqnum
- <<", comparing to s="<<s<<std::endl;*/
if (s == seqnum)
break;
}
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;
- BufferedPacket p = *m_list.begin();
- result = readU16(&p.data[BASE_HEADER_SIZE+1]);
+ const BufferedPacket &p = *m_list.begin();
+ result = readU16(&p.data[BASE_HEADER_SIZE + 1]);
return true;
}
@@ -219,16 +216,16 @@ BufferedPacket ReliablePacketBuffer::popFirst()
throw NotFoundException("Buffer is empty");
BufferedPacket p = *m_list.begin();
m_list.erase(m_list.begin());
- --m_list_size;
- if (m_list_size == 0) {
+ 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.begin()->data[BASE_HEADER_SIZE + 1]);
}
return p;
}
+
BufferedPacket ReliablePacketBuffer::popSeqnum(u16 seqnum)
{
MutexAutoLock listlock(m_list_mutex);
@@ -249,15 +246,17 @@ BufferedPacket ReliablePacketBuffer::popSeqnum(u16 seqnum)
}
m_list.erase(r);
- --m_list_size;
- if (m_list_size == 0)
- { m_oldest_non_answered_ack = 0; }
- else
- { m_oldest_non_answered_ack = readU16(&(*m_list.begin()).data[BASE_HEADER_SIZE+1]); }
+ 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]);
+ }
return p;
}
-void ReliablePacketBuffer::insert(BufferedPacket &p,u16 next_expected)
+
+void ReliablePacketBuffer::insert(BufferedPacket &p, u16 next_expected)
{
MutexAutoLock listlock(m_list_mutex);
if (p.data.getSize() < BASE_HEADER_SIZE + 3) {
@@ -284,8 +283,7 @@ void ReliablePacketBuffer::insert(BufferedPacket &p,u16 next_expected)
return;
}
- ++m_list_size;
- sanity_check(m_list_size <= SEQNUM_MAX+1); // FIXME: Handle the error?
+ sanity_check(m_list.size() <= SEQNUM_MAX); // FIXME: Handle the error?
// Find the right place for the packet and insert it there
// If list is empty, just add it
@@ -322,6 +320,8 @@ void ReliablePacketBuffer::insert(BufferedPacket &p,u16 next_expected)
}
if (s == seqnum) {
+ /* nothing to do this seems to be a resent packet */
+ /* for paranoia reason data should be compared */
if (
(readU16(&(i->data[BASE_HEADER_SIZE+1])) != seqnum) ||
(i->data.getSize() != p.data.getSize()) ||
@@ -340,16 +340,11 @@ void ReliablePacketBuffer::insert(BufferedPacket &p,u16 next_expected)
p.address.serializeString().c_str());
throw IncomingDataCorruption("duplicated packet isn't same as original one");
}
-
- /* nothing to do this seems to be a resent packet */
- /* for paranoia reason data should be compared */
- --m_list_size;
}
/* insert or push back */
else if (i != m_list.end()) {
m_list.insert(i, p);
- }
- else {
+ } else {
m_list.push_back(p);
}
@@ -385,6 +380,48 @@ std::list<BufferedPacket> ReliablePacketBuffer::getTimedOuts(float timeout,
}
/*
+ IncomingSplitPacket
+*/
+
+bool IncomingSplitPacket::insert(u32 chunk_num, SharedBuffer<u8> &chunkdata)
+{
+ sanity_check(chunk_num < chunk_count);
+
+ // If chunk already exists, ignore it.
+ // Sometimes two identical packets may arrive when there is network
+ // lag and the server re-sends stuff.
+ if (chunks.find(chunk_num) != chunks.end())
+ return false;
+
+ // Set chunk data in buffer
+ chunks[chunk_num] = chunkdata;
+
+ return true;
+}
+
+SharedBuffer<u8> IncomingSplitPacket::reassemble()
+{
+ sanity_check(allReceived());
+
+ // Calculate total size
+ u32 totalsize = 0;
+ for (const auto &chunk : chunks)
+ totalsize += chunk.second.getSize();
+
+ SharedBuffer<u8> fulldata(totalsize);
+
+ // Copy chunks to data buffer
+ u32 start = 0;
+ for (u32 chunk_i = 0; chunk_i < chunk_count; chunk_i++) {
+ const SharedBuffer<u8> &buf = chunks[chunk_i];
+ memcpy(&fulldata[start], *buf, buf.getSize());
+ start += buf.getSize();
+ }
+
+ return fulldata;
+}
+
+/*
IncomingSplitBuffer
*/
@@ -395,10 +432,7 @@ IncomingSplitBuffer::~IncomingSplitBuffer()
delete i.second;
}
}
-/*
- This will throw a GotSplitPacketException when a full
- split packet is constructed.
-*/
+
SharedBuffer<u8> IncomingSplitBuffer::insert(const BufferedPacket &p, bool reliable)
{
MutexAutoLock listlock(m_map_mutex);
@@ -417,57 +451,45 @@ SharedBuffer<u8> IncomingSplitBuffer::insert(const BufferedPacket &p, bool relia
<< std::endl;
return SharedBuffer<u8>();
}
+ if (chunk_num >= chunk_count) {
+ errorstream << "IncomingSplitBuffer::insert(): chunk_num=" << chunk_num
+ << " >= chunk_count=" << chunk_count << std::endl;
+ return SharedBuffer<u8>();
+ }
// Add if doesn't exist
+ IncomingSplitPacket *sp;
if (m_buf.find(seqnum) == m_buf.end()) {
- m_buf[seqnum] = new IncomingSplitPacket(chunk_count, reliable);
+ sp = new IncomingSplitPacket(chunk_count, reliable);
+ m_buf[seqnum] = sp;
+ } else {
+ sp = m_buf[seqnum];
}
- IncomingSplitPacket *sp = m_buf[seqnum];
-
- if (chunk_count != sp->chunk_count)
- LOG(derr_con<<"Connection: WARNING: chunk_count="<<chunk_count
- <<" != sp->chunk_count="<<sp->chunk_count
- <<std::endl);
+ if (chunk_count != sp->chunk_count) {
+ errorstream << "IncomingSplitBuffer::insert(): chunk_count="
+ << chunk_count << " != sp->chunk_count=" << sp->chunk_count
+ << std::endl;
+ return SharedBuffer<u8>();
+ }
if (reliable != sp->reliable)
LOG(derr_con<<"Connection: WARNING: reliable="<<reliable
<<" != sp->reliable="<<sp->reliable
<<std::endl);
- // If chunk already exists, ignore it.
- // Sometimes two identical packets may arrive when there is network
- // lag and the server re-sends stuff.
- if (sp->chunks.find(chunk_num) != sp->chunks.end())
- return SharedBuffer<u8>();
-
// Cut chunk data out of packet
u32 chunkdatasize = p.data.getSize() - headersize;
SharedBuffer<u8> chunkdata(chunkdatasize);
memcpy(*chunkdata, &(p.data[headersize]), chunkdatasize);
- // Set chunk data in buffer
- sp->chunks[chunk_num] = chunkdata;
+ if (!sp->insert(chunk_num, chunkdata))
+ return SharedBuffer<u8>();
// If not all chunks are received, return empty buffer
if (!sp->allReceived())
return SharedBuffer<u8>();
- // Calculate total size
- u32 totalsize = 0;
- for (const auto &chunk : sp->chunks) {
- totalsize += chunk.second.getSize();
- }
-
- SharedBuffer<u8> fulldata(totalsize);
-
- // Copy chunks to data buffer
- u32 start = 0;
- for (u32 chunk_i=0; chunk_i<sp->chunk_count; chunk_i++) {
- const SharedBuffer<u8> &buf = sp->chunks[chunk_i];
- u16 buf_chunkdatasize = buf.getSize();
- memcpy(&fulldata[start], *buf, buf_chunkdatasize);
- start += buf_chunkdatasize;
- }
+ SharedBuffer<u8> fulldata = sp->reassemble();
// Remove sp from buffer
m_buf.erase(seqnum);
@@ -475,6 +497,7 @@ SharedBuffer<u8> IncomingSplitBuffer::insert(const BufferedPacket &p, bool relia
return fulldata;
}
+
void IncomingSplitBuffer::removeUnreliableTimedOuts(float dtime, float timeout)
{
std::deque<u16> remove_queue;
@@ -849,8 +872,8 @@ void Peer::RTTStatistics(float rtt, const std::string &profiler_id,
jitter * (1/num_samples);
if (!profiler_id.empty()) {
- g_profiler->graphAdd(profiler_id + "_rtt", rtt);
- g_profiler->graphAdd(profiler_id + "_jitter", jitter);
+ g_profiler->graphAdd(profiler_id + " RTT [ms]", rtt * 1000.f);
+ g_profiler->graphAdd(profiler_id + " jitter [ms]", jitter * 1000.f);
}
}
/* save values required for next loop */
diff --git a/src/network/connection.h b/src/network/connection.h
index 346c7f886..057bd39f6 100644
--- a/src/network/connection.h
+++ b/src/network/connection.h
@@ -103,16 +103,16 @@ struct BufferedPacket
};
// This adds the base headers to the data and makes a packet out of it
-BufferedPacket makePacket(Address &address, SharedBuffer<u8> data,
+BufferedPacket makePacket(Address &address, const SharedBuffer<u8> &data,
u32 protocol_id, session_t sender_peer_id, u8 channel);
// Depending on size, make a TYPE_ORIGINAL or TYPE_SPLIT packet
// Increments split_seqnum if a split packet is made
-void makeAutoSplitPacket(SharedBuffer<u8> data, u32 chunksize_max,
+void makeAutoSplitPacket(const SharedBuffer<u8> &data, u32 chunksize_max,
u16 &split_seqnum, std::list<SharedBuffer<u8>> *list);
// Add the TYPE_RELIABLE header to the data
-SharedBuffer<u8> makeReliablePacket(SharedBuffer<u8> data, u16 seqnum);
+SharedBuffer<u8> makeReliablePacket(const SharedBuffer<u8> &data, u16 seqnum);
struct IncomingSplitPacket
{
@@ -121,16 +121,20 @@ struct IncomingSplitPacket
IncomingSplitPacket() = delete;
- // Key is chunk number, value is data without headers
- std::map<u16, SharedBuffer<u8>> chunks;
- u32 chunk_count;
float time = 0.0f; // Seconds from adding
- bool reliable = false; // If true, isn't deleted on timeout
+ u32 chunk_count;
+ bool reliable; // If true, isn't deleted on timeout
bool allReceived() const
{
return (chunks.size() == chunk_count);
}
+ bool insert(u32 chunk_num, SharedBuffer<u8> &chunkdata);
+ SharedBuffer<u8> reassemble();
+
+private:
+ // Key is chunk number, value is data without headers
+ std::map<u16, SharedBuffer<u8>> chunks;
};
/*
@@ -240,7 +244,7 @@ public:
BufferedPacket popFirst();
BufferedPacket popSeqnum(u16 seqnum);
- void insert(BufferedPacket &p,u16 next_expected);
+ void insert(BufferedPacket &p, u16 next_expected);
void incrementTimeouts(float dtime);
std::list<BufferedPacket> getTimedOuts(float timeout,
@@ -248,16 +252,14 @@ public:
void print();
bool empty();
- bool containsPacket(u16 seqnum);
RPBSearchResult notFound();
u32 size();
private:
- RPBSearchResult findPacket(u16 seqnum);
+ RPBSearchResult findPacket(u16 seqnum); // does not perform locking
std::list<BufferedPacket> m_list;
- u32 m_list_size = 0;
u16 m_oldest_non_answered_ack;
diff --git a/src/network/connectionthreads.cpp b/src/network/connectionthreads.cpp
index 63a9064e7..f8b58c025 100644
--- a/src/network/connectionthreads.cpp
+++ b/src/network/connectionthreads.cpp
@@ -327,7 +327,7 @@ void ConnectionSendThread::sendAsPacketReliable(BufferedPacket &p, Channel *chan
}
bool ConnectionSendThread::rawSendAsPacket(session_t peer_id, u8 channelnum,
- SharedBuffer<u8> data, bool reliable)
+ const SharedBuffer<u8> &data, bool reliable)
{
PeerHelper peer = m_connection->getPeerNoEx(peer_id);
if (!peer) {
@@ -575,7 +575,7 @@ void ConnectionSendThread::disconnect_peer(session_t peer_id)
}
void ConnectionSendThread::send(session_t peer_id, u8 channelnum,
- SharedBuffer<u8> data)
+ const SharedBuffer<u8> &data)
{
assert(channelnum < CHANNEL_COUNT); // Pre-condition
@@ -615,7 +615,7 @@ void ConnectionSendThread::sendReliable(ConnectionCommand &c)
peer->PutReliableSendCommand(c, m_max_packet_size);
}
-void ConnectionSendThread::sendToAll(u8 channelnum, SharedBuffer<u8> data)
+void ConnectionSendThread::sendToAll(u8 channelnum, const SharedBuffer<u8> &data)
{
std::list<session_t> peerids = m_connection->getPeerIDs();
@@ -776,7 +776,7 @@ void ConnectionSendThread::sendPackets(float dtime)
}
void ConnectionSendThread::sendAsPacket(session_t peer_id, u8 channelnum,
- SharedBuffer<u8> data, bool ack)
+ const SharedBuffer<u8> &data, bool ack)
{
OutgoingPacket packet(peer_id, channelnum, data, false, ack);
m_outgoing_queue.push(packet);
@@ -1086,7 +1086,7 @@ bool ConnectionReceiveThread::checkIncomingBuffers(Channel *channel,
}
SharedBuffer<u8> ConnectionReceiveThread::processPacket(Channel *channel,
- SharedBuffer<u8> packetdata, session_t peer_id, u8 channelnum, bool reliable)
+ const SharedBuffer<u8> &packetdata, session_t peer_id, u8 channelnum, bool reliable)
{
PeerHelper peer = m_connection->getPeerNoEx(peer_id);
@@ -1125,7 +1125,7 @@ const ConnectionReceiveThread::PacketTypeHandler
};
SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Control(Channel *channel,
- SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum, bool reliable)
+ const SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum, bool reliable)
{
if (packetdata.getSize() < 2)
throw InvalidIncomingDataException("packetdata.getSize() < 2");
@@ -1224,7 +1224,7 @@ SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Control(Channel *chan
}
SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Original(Channel *channel,
- SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum, bool reliable)
+ const SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum, bool reliable)
{
if (packetdata.getSize() <= ORIGINAL_HEADER_SIZE)
throw InvalidIncomingDataException
@@ -1238,7 +1238,7 @@ SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Original(Channel *cha
}
SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Split(Channel *channel,
- SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum, bool reliable)
+ const SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum, bool reliable)
{
Address peer_address;
@@ -1269,7 +1269,7 @@ SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Split(Channel *channe
}
SharedBuffer<u8> ConnectionReceiveThread::handlePacketType_Reliable(Channel *channel,
- SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum, bool reliable)
+ const SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum, bool reliable)
{
assert(channel != NULL);
diff --git a/src/network/connectionthreads.h b/src/network/connectionthreads.h
index ddac4ae20..da4ea92f5 100644
--- a/src/network/connectionthreads.h
+++ b/src/network/connectionthreads.h
@@ -52,8 +52,8 @@ public:
private:
void runTimeouts(float dtime);
void rawSend(const BufferedPacket &packet);
- bool rawSendAsPacket(session_t peer_id, u8 channelnum, SharedBuffer<u8> data,
- bool reliable);
+ bool rawSendAsPacket(session_t peer_id, u8 channelnum,
+ const SharedBuffer<u8> &data, bool reliable);
void processReliableCommand(ConnectionCommand &c);
void processNonReliableCommand(ConnectionCommand &c);
@@ -61,14 +61,14 @@ private:
void connect(Address address);
void disconnect();
void disconnect_peer(session_t peer_id);
- void send(session_t peer_id, u8 channelnum, SharedBuffer<u8> data);
+ void send(session_t peer_id, u8 channelnum, const SharedBuffer<u8> &data);
void sendReliable(ConnectionCommand &c);
- void sendToAll(u8 channelnum, SharedBuffer<u8> data);
+ void sendToAll(u8 channelnum, const SharedBuffer<u8> &data);
void sendToAllReliable(ConnectionCommand &c);
void sendPackets(float dtime);
- void sendAsPacket(session_t peer_id, u8 channelnum, SharedBuffer<u8> data,
+ void sendAsPacket(session_t peer_id, u8 channelnum, const SharedBuffer<u8> &data,
bool ack = false);
void sendAsPacketReliable(BufferedPacket &p, Channel *channel);
@@ -119,26 +119,27 @@ private:
channelnum: channel on which the packet was sent
reliable: true if recursing into a reliable packet
*/
- SharedBuffer<u8> processPacket(Channel *channel, SharedBuffer<u8> packetdata,
- session_t peer_id, u8 channelnum, bool reliable);
+ SharedBuffer<u8> processPacket(Channel *channel,
+ const SharedBuffer<u8> &packetdata, session_t peer_id,
+ u8 channelnum, bool reliable);
SharedBuffer<u8> handlePacketType_Control(Channel *channel,
- SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum,
+ const SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum,
bool reliable);
SharedBuffer<u8> handlePacketType_Original(Channel *channel,
- SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum,
+ const SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum,
bool reliable);
SharedBuffer<u8> handlePacketType_Split(Channel *channel,
- SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum,
+ const SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum,
bool reliable);
SharedBuffer<u8> handlePacketType_Reliable(Channel *channel,
- SharedBuffer<u8> packetdata, Peer *peer, u8 channelnum,
+ const SharedBuffer<u8> &packetdata, Peer *peer, u8 channelnum,
bool reliable);
struct PacketTypeHandler
{
SharedBuffer<u8> (ConnectionReceiveThread::*handler)(Channel *channel,
- SharedBuffer<u8> packet, Peer *peer, u8 channelnum,
+ const SharedBuffer<u8> &packet, Peer *peer, u8 channelnum,
bool reliable);
};
diff --git a/src/network/networkprotocol.h b/src/network/networkprotocol.h
index 85436068f..5a13c1353 100644
--- a/src/network/networkprotocol.h
+++ b/src/network/networkprotocol.h
@@ -194,9 +194,15 @@ with this program; if not, write to the Free Software Foundation, Inc.,
New network float format
ContentFeatures version 13
Add full Euler rotations instead of just yaw
+ Add TOCLIENT_PLAYER_SPEED
+ PROTOCOL VERSION 38:
+ Incremental inventory sending mode
+ Unknown inventory serialization fields no longer throw an error
+ Mod-specific formspec version
+ Player FOV override API
*/
-#define LATEST_PROTOCOL_VERSION 37
+#define LATEST_PROTOCOL_VERSION 38
#define LATEST_PROTOCOL_VERSION_STRING TOSTRING(LATEST_PROTOCOL_VERSION)
// Server's supported network protocol range
@@ -215,8 +221,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define PASSWORD_SIZE 28 // Maximum password length. Allows for
// base64-encoded SHA-1 (27+\0).
-#define FORMSPEC_API_VERSION 1
-#define FORMSPEC_VERSION_STRING "formspec_version[" TOSTRING(FORMSPEC_API_VERSION) "]"
+/*
+ Changes by FORMSPEC_API_VERSION:
+
+ FORMSPEC VERSION 1:
+ (too much)
+ FORMSPEC VERSION 2:
+ Forced real coordinates
+ background[]: 9-slice scaling parameters
+*/
+#define FORMSPEC_API_VERSION 2
#define TEXTURENAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-"
@@ -295,6 +309,11 @@ enum ToClientCommand
u32 CSMRestrictionFlags byteflag
*/
+ TOCLIENT_PLAYER_SPEED = 0x2B,
+ /*
+ v3f added_vel
+ */
+
// (oops, there is some gap here)
TOCLIENT_CHAT_MESSAGE = 0x2F,
@@ -352,7 +371,13 @@ enum ToClientCommand
wstring reason
*/
- TOCLIENT_PLAYERITEM = 0x36, // Obsolete
+ TOCLIENT_FOV = 0x36,
+ /*
+ Sends an FOV override/multiplier to client.
+
+ float fov
+ bool is_multiplier
+ */
TOCLIENT_DEATHSCREEN = 0x37,
/*
@@ -954,10 +979,20 @@ enum CSMRestrictionFlags : u64 {
// When those are complete, this should return to only being a restriction on the
// loading of client mods.
CSM_RF_LOAD_CLIENT_MODS = 0x00000001, // Don't load client-provided mods or 'builtin'
- CSM_RF_CHAT_MESSAGES = 0x00000002, // Disable chat message sending from CSM
- CSM_RF_READ_ITEMDEFS = 0x00000004, // Disable itemdef lookups
- CSM_RF_READ_NODEDEFS = 0x00000008, // Disable nodedef lookups
- CSM_RF_LOOKUP_NODES = 0x00000010, // Limit node lookups
- CSM_RF_READ_PLAYERINFO = 0x00000020, // Disable player info lookups
+ CSM_RF_CHAT_MESSAGES = 0x00000002, // Disable chat message sending from CSM
+ CSM_RF_READ_ITEMDEFS = 0x00000004, // Disable itemdef lookups
+ CSM_RF_READ_NODEDEFS = 0x00000008, // Disable nodedef lookups
+ CSM_RF_LOOKUP_NODES = 0x00000010, // Limit node lookups
+ CSM_RF_READ_PLAYERINFO = 0x00000020, // Disable player info lookups
CSM_RF_ALL = 0xFFFFFFFF,
};
+
+enum InteractAction : u8
+{
+ INTERACT_START_DIGGING, // 0: start digging (from undersurface) or use
+ INTERACT_STOP_DIGGING, // 1: stop digging (all parameters ignored)
+ INTERACT_DIGGING_COMPLETED, // 2: digging completed
+ INTERACT_PLACE, // 3: place block or item (to abovesurface)
+ INTERACT_USE, // 4: use item
+ INTERACT_ACTIVATE // 5: rightclick air ("activate")
+};
diff --git a/src/network/peerhandler.h b/src/network/peerhandler.h
index 208ab801e..da65483ef 100644
--- a/src/network/peerhandler.h
+++ b/src/network/peerhandler.h
@@ -24,7 +24,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
namespace con
{
-typedef enum {
+typedef enum
+{
MIN_RTT,
MAX_RTT,
AVG_RTT,
diff --git a/src/network/serveropcodes.cpp b/src/network/serveropcodes.cpp
index 013b549c6..8c8d49955 100644
--- a/src/network/serveropcodes.cpp
+++ b/src/network/serveropcodes.cpp
@@ -104,9 +104,9 @@ const ToServerCommandHandler toServerCommandTable[TOSERVER_NUM_MSG_TYPES] =
null_command_handler, // 0x4d
null_command_handler, // 0x4e
null_command_handler, // 0x4f
- { "TOSERVER_FIRST_SRP", TOSERVER_STATE_NOT_CONNECTED, &Server::handleCommand_FirstSrp }, // 0x50
- { "TOSERVER_SRP_BYTES_A", TOSERVER_STATE_NOT_CONNECTED, &Server::handleCommand_SrpBytesA }, // 0x51
- { "TOSERVER_SRP_BYTES_M", TOSERVER_STATE_NOT_CONNECTED, &Server::handleCommand_SrpBytesM }, // 0x52
+ { "TOSERVER_FIRST_SRP", TOSERVER_STATE_NOT_CONNECTED, &Server::handleCommand_FirstSrp }, // 0x50
+ { "TOSERVER_SRP_BYTES_A", TOSERVER_STATE_NOT_CONNECTED, &Server::handleCommand_SrpBytesA }, // 0x51
+ { "TOSERVER_SRP_BYTES_M", TOSERVER_STATE_NOT_CONNECTED, &Server::handleCommand_SrpBytesM }, // 0x52
};
const static ClientCommandFactory null_command_factory = { "TOCLIENT_NULL", 0, false };
@@ -115,51 +115,51 @@ const ClientCommandFactory clientCommandFactoryTable[TOCLIENT_NUM_MSG_TYPES] =
{
null_command_factory, // 0x00
null_command_factory, // 0x01
- { "TOCLIENT_HELLO", 0, true }, // 0x02
- { "TOCLIENT_AUTH_ACCEPT", 0, true }, // 0x03
- { "TOCLIENT_ACCEPT_SUDO_MODE", 0, true }, // 0x04
- { "TOCLIENT_DENY_SUDO_MODE", 0, true }, // 0x05
+ { "TOCLIENT_HELLO", 0, true }, // 0x02
+ { "TOCLIENT_AUTH_ACCEPT", 0, true }, // 0x03
+ { "TOCLIENT_ACCEPT_SUDO_MODE", 0, true }, // 0x04
+ { "TOCLIENT_DENY_SUDO_MODE", 0, true }, // 0x05
null_command_factory, // 0x06
null_command_factory, // 0x07
null_command_factory, // 0x08
null_command_factory, // 0x09
- { "TOCLIENT_ACCESS_DENIED", 0, true }, // 0x0A
+ { "TOCLIENT_ACCESS_DENIED", 0, true }, // 0x0A
null_command_factory, // 0x0B
null_command_factory, // 0x0C
null_command_factory, // 0x0D
null_command_factory, // 0x0E
null_command_factory, // 0x0F
- { "TOCLIENT_INIT", 0, true }, // 0x10
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
+ { "TOCLIENT_INIT", 0, true }, // 0x10
+ null_command_factory, // 0x11
+ null_command_factory, // 0x12
+ null_command_factory, // 0x13
+ null_command_factory, // 0x14
+ null_command_factory, // 0x15
+ null_command_factory, // 0x16
+ null_command_factory, // 0x17
+ null_command_factory, // 0x18
+ null_command_factory, // 0x19
+ null_command_factory, // 0x1A
+ null_command_factory, // 0x1B
+ null_command_factory, // 0x1C
+ null_command_factory, // 0x1D
+ null_command_factory, // 0x1E
+ null_command_factory, // 0x1F
{ "TOCLIENT_BLOCKDATA", 2, true }, // 0x20
{ "TOCLIENT_ADDNODE", 0, true }, // 0x21
{ "TOCLIENT_REMOVENODE", 0, true }, // 0x22
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
+ null_command_factory, // 0x23
+ null_command_factory, // 0x24
+ null_command_factory, // 0x25
+ null_command_factory, // 0x26
{ "TOCLIENT_INVENTORY", 0, true }, // 0x27
- null_command_factory,
+ null_command_factory, // 0x28
{ "TOCLIENT_TIME_OF_DAY", 0, true }, // 0x29
{ "TOCLIENT_CSM_RESTRICTION_FLAGS", 0, true }, // 0x2A
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
+ { "TOCLIENT_PLAYER_SPEED", 0, true }, // 0x2B
+ null_command_factory, // 0x2C
+ null_command_factory, // 0x2D
+ null_command_factory, // 0x2E
{ "TOCLIENT_CHAT_MESSAGE", 0, true }, // 0x2F
null_command_factory, // 0x30
{ "TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD", 0, true }, // 0x31
@@ -167,15 +167,15 @@ const ClientCommandFactory clientCommandFactoryTable[TOCLIENT_NUM_MSG_TYPES] =
{ "TOCLIENT_HP", 0, true }, // 0x33
{ "TOCLIENT_MOVE_PLAYER", 0, true }, // 0x34
{ "TOCLIENT_ACCESS_DENIED_LEGACY", 0, true }, // 0x35
- null_command_factory, // 0x36
+ { "TOCLIENT_FOV", 0, true }, // 0x36
{ "TOCLIENT_DEATHSCREEN", 0, true }, // 0x37
{ "TOCLIENT_MEDIA", 2, true }, // 0x38
null_command_factory, // 0x39
- { "TOCLIENT_NODEDEF", 0, true }, // 0x3a
- null_command_factory, // 0x3b
- { "TOCLIENT_ANNOUNCE_MEDIA", 0, true }, // 0x3c
- { "TOCLIENT_ITEMDEF", 0, true }, // 0x3d
- null_command_factory,
+ { "TOCLIENT_NODEDEF", 0, true }, // 0x3A
+ null_command_factory, // 0x3B
+ { "TOCLIENT_ANNOUNCE_MEDIA", 0, true }, // 0x3C
+ { "TOCLIENT_ITEMDEF", 0, true }, // 0x3D
+ null_command_factory, // 0x3E
{ "TOCLIENT_PLAY_SOUND", 0, true }, // 0x3f
{ "TOCLIENT_STOP_SOUND", 0, true }, // 0x40
{ "TOCLIENT_PRIVILEGES", 0, true }, // 0x41
@@ -203,12 +203,12 @@ const ClientCommandFactory clientCommandFactoryTable[TOCLIENT_NUM_MSG_TYPES] =
{ "TOCLIENT_MODCHANNEL_MSG", 0, true }, // 0x57
{ "TOCLIENT_MODCHANNEL_SIGNAL", 0, true }, // 0x58
{ "TOCLIENT_NODEMETA_CHANGED", 0, true }, // 0x59
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
- null_command_factory,
+ null_command_factory, // 0x5A
+ null_command_factory, // 0x5B
+ null_command_factory, // 0x5C
+ null_command_factory, // 0x5D
+ null_command_factory, // 0x5E
+ null_command_factory, // 0x5F
{ "TOSERVER_SRP_BYTES_S_B", 0, true }, // 0x60
{ "TOCLIENT_FORMSPEC_PREPEND", 0, true }, // 0x61
};
diff --git a/src/network/serverpackethandler.cpp b/src/network/serverpackethandler.cpp
index 6f17d666a..d8fbeebd5 100644
--- a/src/network/serverpackethandler.cpp
+++ b/src/network/serverpackethandler.cpp
@@ -298,9 +298,6 @@ void Server::handleCommand_Init2(NetworkPacket* pkt)
infostream << "Server: Sending content to "
<< getPlayerName(pkt->getPeerId()) << std::endl;
- // Send player movement settings
- SendMovement(pkt->getPeerId());
-
// Send item definitions
SendItemDef(pkt->getPeerId(), m_itemdef, protocol_version);
@@ -312,8 +309,20 @@ void Server::handleCommand_Init2(NetworkPacket* pkt)
// Send media announcement
sendMediaAnnouncement(pkt->getPeerId(), lang);
+ RemoteClient *client = getClient(pkt->getPeerId(), CS_InitDone);
+
+ // Send active objects
+ {
+ PlayerSAO *sao = getPlayerSAO(pkt->getPeerId());
+ if (client && sao)
+ SendActiveObjectRemoveAdd(client, sao);
+ }
+
// Send detached inventories
- sendDetachedInventories(pkt->getPeerId());
+ sendDetachedInventories(pkt->getPeerId(), false);
+
+ // Send player movement settings
+ SendMovement(pkt->getPeerId());
// Send time of day
u16 time = m_env->getTimeOfDay();
@@ -323,11 +332,10 @@ void Server::handleCommand_Init2(NetworkPacket* pkt)
SendCSMRestrictionFlags(pkt->getPeerId());
// Warnings about protocol version can be issued here
- if (getClient(pkt->getPeerId())->net_proto_version < LATEST_PROTOCOL_VERSION) {
+ if (client->net_proto_version < LATEST_PROTOCOL_VERSION) {
SendChatMessage(pkt->getPeerId(), ChatMessage(CHATMESSAGE_TYPE_SYSTEM,
- L"# Server: WARNING: YOUR CLIENT'S VERSION MAY NOT BE FULLY COMPATIBLE "
- L"WITH THIS SERVER!"));
-
+ L"# Server: WARNING: YOUR CLIENT'S VERSION MAY NOT BE FULLY COMPATIBLE "
+ L"WITH THIS SERVER!"));
}
}
@@ -386,6 +394,9 @@ void Server::handleCommand_ClientReady(NetworkPacket* pkt)
peer_id, major_ver, minor_ver, patch_ver,
full_ver);
+ if (pkt->getRemainingBytes() >= 2)
+ *pkt >> playersao->getPlayer()->formspec_version;
+
const std::vector<std::string> &players = m_clients.getPlayerNames();
NetworkPacket list_pkt(TOCLIENT_UPDATE_PLAYER_LIST, 0, peer_id);
list_pkt << (u8) PLAYER_LIST_INIT << (u16) players.size();
@@ -608,10 +619,9 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt)
ma->from_inv.applyCurrentPlayer(player->getName());
ma->to_inv.applyCurrentPlayer(player->getName());
- setInventoryModified(ma->from_inv, false);
- if (ma->from_inv != ma->to_inv) {
- setInventoryModified(ma->to_inv, false);
- }
+ setInventoryModified(ma->from_inv);
+ if (ma->from_inv != ma->to_inv)
+ setInventoryModified(ma->to_inv);
bool from_inv_is_current_player =
(ma->from_inv.type == InventoryLocation::PLAYER) &&
@@ -676,7 +686,7 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt)
da->from_inv.applyCurrentPlayer(player->getName());
- setInventoryModified(da->from_inv, false);
+ setInventoryModified(da->from_inv);
/*
Disable dropping items out of craftpreview
@@ -712,7 +722,7 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt)
ca->craft_inv.applyCurrentPlayer(player->getName());
- setInventoryModified(ca->craft_inv, false);
+ setInventoryModified(ca->craft_inv);
//bool craft_inv_is_current_player =
// (ca->craft_inv.type == InventoryLocation::PLAYER) &&
@@ -731,8 +741,6 @@ void Server::handleCommand_InventoryAction(NetworkPacket* pkt)
a->apply(this, playersao, this);
// Eat the action
delete a;
-
- SendInventory(playersao);
}
void Server::handleCommand_ChatMessage(NetworkPacket* pkt)
@@ -799,7 +807,7 @@ void Server::handleCommand_Damage(NetworkPacket* pkt)
return;
}
- if (g_settings->getBool("enable_damage")) {
+ if (!playersao->isImmortal()) {
if (playersao->isDead()) {
verbosestream << "Server::ProcessData(): Info: "
"Ignoring damage as player " << player->getName()
@@ -923,7 +931,7 @@ void Server::handleCommand_PlayerItem(NetworkPacket* pkt)
*pkt >> item;
- playersao->setWieldIndex(item);
+ playersao->getPlayer()->setWieldIndex(item);
}
void Server::handleCommand_Respawn(NetworkPacket* pkt)
@@ -952,22 +960,12 @@ void Server::handleCommand_Respawn(NetworkPacket* pkt)
// the previous addition has been successfully removed
}
-bool Server::checkInteractDistance(RemotePlayer *player, const f32 d, const std::string what)
+bool Server::checkInteractDistance(RemotePlayer *player, const f32 d, const std::string &what)
{
- PlayerSAO *playersao = player->getPlayerSAO();
- const InventoryList *hlist = playersao->getInventory()->getList("hand");
- const ItemDefinition &playeritem_def =
- playersao->getWieldedItem().getDefinition(m_itemdef);
- const ItemDefinition &hand_def =
- hlist ? hlist->getItem(0).getDefinition(m_itemdef) : m_itemdef->get("");
-
- float max_d = BS * playeritem_def.range;
- float max_d_hand = BS * hand_def.range;
-
- if (max_d < 0 && max_d_hand >= 0)
- max_d = max_d_hand;
- else if (max_d < 0)
- max_d = BS * 4.0f;
+ ItemStack selected_item, hand_item;
+ player->getWieldedItem(&selected_item, &hand_item);
+ f32 max_d = BS * getToolRange(selected_item.getDefinition(m_itemdef),
+ hand_item.getDefinition(m_itemdef));
// Cube diagonal * 1.5 for maximal supported node extents:
// sqrt(3) * 1.5 ≅ 2.6
@@ -978,13 +976,13 @@ bool Server::checkInteractDistance(RemotePlayer *player, const f32 d, const std:
<< "d=" << d <<", max_d=" << max_d
<< ". ignoring." << std::endl;
// Call callbacks
- m_script->on_cheat(playersao, "interacted_too_far");
+ m_script->on_cheat(player->getPlayerSAO(), "interacted_too_far");
return false;
}
return true;
}
-void Server::handleCommand_Interact(NetworkPacket* pkt)
+void Server::handleCommand_Interact(NetworkPacket *pkt)
{
/*
[0] u16 command
@@ -993,18 +991,14 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
[5] u32 length of the next item (plen)
[9] serialized PointedThing
[9 + plen] player position information
- actions:
- 0: start digging (from undersurface) or use
- 1: stop digging (all parameters ignored)
- 2: digging completed
- 3: place block or item (to abovesurface)
- 4: use item
- 5: rightclick air ("activate")
*/
- u8 action;
+
+ InteractAction action;
u16 item_i;
- *pkt >> action;
+
+ *pkt >> (u8 &)action;
*pkt >> item_i;
+
std::istringstream tmp_is(pkt->readLongString(), std::ios::binary);
PointedThing pointed;
pointed.deSerialize(tmp_is);
@@ -1050,7 +1044,7 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
v3f player_pos = playersao->getLastGoodPosition();
// Update wielded item
- playersao->setWieldIndex(item_i);
+ playersao->getPlayer()->setWieldIndex(item_i);
// Get pointed to node (undefined if not POINTEDTYPE_NODE)
v3s16 p_under = pointed.node_undersurface;
@@ -1083,18 +1077,18 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
Make sure the player is allowed to do it
*/
if (!checkPriv(player->getName(), "interact")) {
- actionstream<<player->getName()<<" attempted to interact with "
- <<pointed.dump()<<" without 'interact' privilege"
- <<std::endl;
+ actionstream << player->getName() << " attempted to interact with " <<
+ pointed.dump() << " without 'interact' privilege" << std::endl;
+
// Re-send block to revert change on client-side
RemoteClient *client = getClient(pkt->getPeerId());
// Digging completed -> under
- if (action == 2) {
+ if (action == INTERACT_DIGGING_COMPLETED) {
v3s16 blockpos = getNodeBlockPos(floatToInt(pointed_pos_under, BS));
client->SetBlockNotSent(blockpos);
}
// Placement -> above
- else if (action == 3) {
+ else if (action == INTERACT_PLACE) {
v3s16 blockpos = getNodeBlockPos(floatToInt(pointed_pos_above, BS));
client->SetBlockNotSent(blockpos);
}
@@ -1108,10 +1102,10 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
static thread_local const bool enable_anticheat =
!g_settings->getBool("disable_anticheat");
- if ((action == 0 || action == 2 || action == 3 || action == 4) &&
+ if ((action == INTERACT_START_DIGGING || action == INTERACT_DIGGING_COMPLETED ||
+ action == INTERACT_PLACE || action == INTERACT_USE) &&
enable_anticheat && !isSingleplayer()) {
- float d = playersao->getEyePosition()
- .getDistanceFrom(pointed_pos_under);
+ float d = playersao->getEyePosition().getDistanceFrom(pointed_pos_under);
if (!checkInteractDistance(player, d, pointed.dump())) {
// Re-send block to revert change on client-side
@@ -1131,12 +1125,12 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
/*
0: start digging or punch object
*/
- if (action == 0) {
+ if (action == INTERACT_START_DIGGING) {
if (pointed.type == POINTEDTHING_NODE) {
MapNode n(CONTENT_IGNORE);
bool pos_ok;
- n = m_env->getMap().getNodeNoEx(p_under, &pos_ok);
+ n = m_env->getMap().getNode(p_under, &pos_ok);
if (!pos_ok) {
infostream << "Server: Not punching: Node not found."
<< " Adding block to emerge queue."
@@ -1156,13 +1150,10 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
if (pointed_object->isGone())
return;
- actionstream<<player->getName()<<" punches object "
- <<pointed.object_id<<": "
- <<pointed_object->getDescription()<<std::endl;
-
- ItemStack punchitem = playersao->getWieldedItemOrHand();
+ ItemStack selected_item, hand_item;
+ ItemStack tool_item = playersao->getWieldedItem(&selected_item, &hand_item);
ToolCapabilities toolcap =
- punchitem.getToolCapabilities(m_itemdef);
+ tool_item.getToolCapabilities(m_itemdef);
v3f dir = (pointed_object->getBasePosition() -
(playersao->getBasePosition() + playersao->getEyeOffset())
).normalize();
@@ -1172,9 +1163,13 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
u16 src_original_hp = pointed_object->getHP();
u16 dst_origin_hp = playersao->getHP();
- pointed_object->punch(dir, &toolcap, playersao,
+ u16 wear = pointed_object->punch(dir, &toolcap, playersao,
time_from_last_punch);
+ bool changed = selected_item.addWear(wear, m_itemdef);
+ if (changed)
+ playersao->setWieldedItem(selected_item);
+
// If the object is a player and its HP changed
if (src_original_hp != pointed_object->getHP() &&
pointed_object->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
@@ -1188,22 +1183,22 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, pointed_object));
}
- } // action == 0
+ } // action == INTERACT_START_DIGGING
/*
1: stop digging
*/
- else if (action == 1) {
- } // action == 1
+ else if (action == INTERACT_STOP_DIGGING) {
+ } // action == INTERACT_STOP_DIGGING
/*
2: Digging completed
*/
- else if (action == 2) {
+ else if (action == INTERACT_DIGGING_COMPLETED) {
// Only digging of nodes
if (pointed.type == POINTEDTHING_NODE) {
bool pos_ok;
- MapNode n = m_env->getMap().getNodeNoEx(p_under, &pos_ok);
+ MapNode n = m_env->getMap().getNode(p_under, &pos_ok);
if (!pos_ok) {
infostream << "Server: Not finishing digging: Node not found."
<< " Adding block to emerge queue."
@@ -1228,22 +1223,19 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
// Call callbacks
m_script->on_cheat(playersao, "finished_unknown_dig");
}
+
// Get player's wielded item
- ItemStack playeritem = playersao->getWieldedItemOrHand();
- ToolCapabilities playeritem_toolcap =
- playeritem.getToolCapabilities(m_itemdef);
+ // See also: Game::handleDigging
+ ItemStack selected_item, hand_item;
+ playersao->getPlayer()->getWieldedItem(&selected_item, &hand_item);
+
// Get diggability and expected digging time
DigParams params = getDigParams(m_nodedef->get(n).groups,
- &playeritem_toolcap);
+ &selected_item.getToolCapabilities(m_itemdef));
// If can't dig, try hand
if (!params.diggable) {
- InventoryList *hlist = playersao->getInventory()->getList("hand");
- const ToolCapabilities *tp = hlist
- ? &hlist->getItem(0).getToolCapabilities(m_itemdef)
- : m_itemdef->get("").tool_capabilities;
-
- if (tp)
- params = getDigParams(m_nodedef->get(n).groups, tp);
+ params = getDigParams(m_nodedef->get(n).groups,
+ &hand_item.getToolCapabilities(m_itemdef));
}
// If can't dig, ignore dig
if (!params.diggable) {
@@ -1290,7 +1282,7 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
v3s16 blockpos = getNodeBlockPos(floatToInt(pointed_pos_under, BS));
RemoteClient *client = getClient(pkt->getPeerId());
// Send unusual result (that is, node not being removed)
- if (m_env->getMap().getNodeNoEx(p_under).getContent() != CONTENT_AIR) {
+ if (m_env->getMap().getNode(p_under).getContent() != CONTENT_AIR) {
// Re-send block to revert change on client-side
client->SetBlockNotSent(blockpos);
}
@@ -1298,17 +1290,18 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
client->ResendBlockIfOnWire(blockpos);
}
}
- } // action == 2
+ } // action == INTERACT_DIGGING_COMPLETED
/*
3: place block or right-click object
*/
- else if (action == 3) {
- ItemStack item = playersao->getWieldedItem();
+ else if (action == INTERACT_PLACE) {
+ ItemStack selected_item;
+ playersao->getWieldedItem(&selected_item, nullptr);
// Reset build time counter
if (pointed.type == POINTEDTHING_NODE &&
- item.getDefinition(m_itemdef).type == ITEM_NODE)
+ selected_item.getDefinition(m_itemdef).type == ITEM_NODE)
getClient(pkt->getPeerId())->m_time_from_building = 0.0;
if (pointed.type == POINTEDTHING_OBJECT) {
@@ -1324,14 +1317,13 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
// Do stuff
pointed_object->rightClick(playersao);
- }
- else if (m_script->item_OnPlace(
- item, playersao, pointed)) {
+ } else if (m_script->item_OnPlace(
+ selected_item, playersao, pointed)) {
// Placement was handled in lua
// Apply returned ItemStack
- if (playersao->setWieldedItem(item)) {
- SendInventory(playersao);
+ if (playersao->setWieldedItem(selected_item)) {
+ SendInventory(playersao, true);
}
}
@@ -1340,7 +1332,7 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
RemoteClient *client = getClient(pkt->getPeerId());
v3s16 blockpos = getNodeBlockPos(floatToInt(pointed_pos_above, BS));
v3s16 blockpos2 = getNodeBlockPos(floatToInt(pointed_pos_under, BS));
- if (!item.getDefinition(m_itemdef).node_placement_prediction.empty()) {
+ if (!selected_item.getDefinition(m_itemdef).node_placement_prediction.empty()) {
client->SetBlockNotSent(blockpos);
if (blockpos2 != blockpos) {
client->SetBlockNotSent(blockpos2);
@@ -1352,43 +1344,45 @@ void Server::handleCommand_Interact(NetworkPacket* pkt)
client->ResendBlockIfOnWire(blockpos2);
}
}
- } // action == 3
+ } // action == INTERACT_PLACE
/*
4: use
*/
- else if (action == 4) {
- ItemStack item = playersao->getWieldedItem();
+ else if (action == INTERACT_USE) {
+ ItemStack selected_item;
+ playersao->getWieldedItem(&selected_item, nullptr);
- actionstream << player->getName() << " uses " << item.name
+ actionstream << player->getName() << " uses " << selected_item.name
<< ", pointing at " << pointed.dump() << std::endl;
if (m_script->item_OnUse(
- item, playersao, pointed)) {
+ selected_item, playersao, pointed)) {
// Apply returned ItemStack
- if (playersao->setWieldedItem(item)) {
- SendInventory(playersao);
+ if (playersao->setWieldedItem(selected_item)) {
+ SendInventory(playersao, true);
}
}
- } // action == 4
+ } // action == INTERACT_USE
/*
5: rightclick air
*/
- else if (action == 5) {
- ItemStack item = playersao->getWieldedItem();
+ else if (action == INTERACT_ACTIVATE) {
+ ItemStack selected_item;
+ playersao->getWieldedItem(&selected_item, nullptr);
actionstream << player->getName() << " activates "
- << item.name << std::endl;
+ << selected_item.name << std::endl;
if (m_script->item_OnSecondaryUse(
- item, playersao)) {
- if( playersao->setWieldedItem(item)) {
- SendInventory(playersao);
+ selected_item, playersao)) {
+ if (playersao->setWieldedItem(selected_item)) {
+ SendInventory(playersao, true);
}
}
- }
+ } // action == INTERACT_ACTIVATE
/*
diff --git a/src/nodedef.cpp b/src/nodedef.cpp
index 03a163bd3..977a4533d 100644
--- a/src/nodedef.cpp
+++ b/src/nodedef.cpp
@@ -798,6 +798,8 @@ void ContentFeatures::updateTextures(ITextureSource *tsrc, IShaderSource *shdsrc
material_type = TILE_MATERIAL_WAVING_PLANTS;
else if (waving == 2)
material_type = TILE_MATERIAL_WAVING_LEAVES;
+ else if (waving == 3)
+ material_type = TILE_MATERIAL_WAVING_LIQUID_BASIC;
break;
case NDT_TORCHLIKE:
case NDT_SIGNLIKE:
@@ -815,8 +817,14 @@ void ContentFeatures::updateTextures(ITextureSource *tsrc, IShaderSource *shdsrc
correctAlpha(tdef, 6);
correctAlpha(tdef_overlay, 6);
correctAlpha(tdef_spec, CF_SPECIAL_COUNT);
- material_type = (alpha == 255) ?
- TILE_MATERIAL_LIQUID_OPAQUE : TILE_MATERIAL_LIQUID_TRANSPARENT;
+
+ if (waving == 3) {
+ material_type = (alpha == 255) ? TILE_MATERIAL_WAVING_LIQUID_OPAQUE :
+ TILE_MATERIAL_WAVING_LIQUID_TRANSPARENT;
+ } else {
+ material_type = (alpha == 255) ? TILE_MATERIAL_LIQUID_OPAQUE :
+ TILE_MATERIAL_LIQUID_TRANSPARENT;
+ }
}
u32 tile_shader = shdsrc->getShader("nodes_shader", material_type, drawtype);
@@ -1194,6 +1202,26 @@ inline void NodeDefManager::fixSelectionBoxIntUnion()
}
+void NodeDefManager::eraseIdFromGroups(content_t id)
+{
+ // For all groups in m_group_to_items...
+ for (auto iter_groups = m_group_to_items.begin();
+ iter_groups != m_group_to_items.end();) {
+ // Get the group items vector.
+ std::vector<content_t> &items = iter_groups->second;
+
+ // Remove any occurence of the id in the group items vector.
+ items.erase(std::remove(items.begin(), items.end(), id), items.end());
+
+ // If group is empty, erase its vector from the map.
+ if (items.empty())
+ iter_groups = m_group_to_items.erase(iter_groups);
+ else
+ ++iter_groups;
+ }
+}
+
+
// IWritableNodeDefManager
content_t NodeDefManager::set(const std::string &name, const ContentFeatures &def)
{
@@ -1214,19 +1242,24 @@ content_t NodeDefManager::set(const std::string &name, const ContentFeatures &de
assert(id != CONTENT_IGNORE);
addNameIdMapping(id, name);
}
+
+ // If there is already ContentFeatures registered for this id, clear old groups
+ if (id < m_content_features.size())
+ eraseIdFromGroups(id);
+
m_content_features[id] = def;
verbosestream << "NodeDefManager: registering content id \"" << id
<< "\": name=\"" << def.name << "\""<<std::endl;
getNodeBoxUnion(def.selection_box, def, &m_selection_box_union);
fixSelectionBoxIntUnion();
+
// Add this content to the list of all groups it belongs to
- // FIXME: This should remove a node from groups it no longer
- // belongs to when a node is re-registered
for (const auto &group : def.groups) {
const std::string &group_name = group.first;
m_group_to_items[group_name].push_back(id);
}
+
return id;
}
@@ -1252,18 +1285,7 @@ void NodeDefManager::removeNode(const std::string &name)
m_name_id_mapping_with_aliases.erase(name);
}
- // Erase node content from all groups it belongs to
- for (std::unordered_map<std::string, std::vector<content_t>>::iterator iter_groups =
- m_group_to_items.begin(); iter_groups != m_group_to_items.end();) {
- std::vector<content_t> &items = iter_groups->second;
- items.erase(std::remove(items.begin(), items.end(), id), items.end());
-
- // Check if group is empty
- if (items.empty())
- m_group_to_items.erase(iter_groups++);
- else
- ++iter_groups;
- }
+ eraseIdFromGroups(id);
}
@@ -1292,8 +1314,11 @@ void NodeDefManager::applyTextureOverrides(const std::string &override_filepath)
int line_c = 0;
while (std::getline(infile, line)) {
line_c++;
- if (trim(line).empty())
+ // Also trim '\r' on DOS-style files
+ line = trim(line);
+ if (line.empty())
continue;
+
std::vector<std::string> splitted = str_split(line, ' ');
if (splitted.size() != 3) {
errorstream << override_filepath
diff --git a/src/nodedef.h b/src/nodedef.h
index 60d91f8d9..1a12aae93 100644
--- a/src/nodedef.h
+++ b/src/nodedef.h
@@ -669,6 +669,14 @@ private:
void addNameIdMapping(content_t i, std::string name);
/*!
+ * Removes a content ID from all groups.
+ * Erases content IDs from vectors in \ref m_group_to_items and
+ * removes empty vectors.
+ * @param id Content ID
+ */
+ void eraseIdFromGroups(content_t id);
+
+ /*!
* Recalculates m_selection_box_int_union based on
* m_selection_box_union.
*/
diff --git a/src/pathfinder.cpp b/src/pathfinder.cpp
index 8f6033813..48e951477 100644
--- a/src/pathfinder.cpp
+++ b/src/pathfinder.cpp
@@ -498,8 +498,8 @@ void GridNodeContainer::initNode(v3s16 ipos, PathGridnode *p_node)
v3s16 realpos = m_pathf->getRealPos(ipos);
- MapNode current = m_pathf->m_env->getMap().getNodeNoEx(realpos);
- MapNode below = m_pathf->m_env->getMap().getNodeNoEx(realpos + v3s16(0, -1, 0));
+ MapNode current = m_pathf->m_env->getMap().getNode(realpos);
+ MapNode below = m_pathf->m_env->getMap().getNode(realpos + v3s16(0, -1, 0));
if ((current.param0 == CONTENT_IGNORE) ||
@@ -769,7 +769,7 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
return retval;
}
- MapNode node_at_pos2 = m_env->getMap().getNodeNoEx(pos2);
+ MapNode node_at_pos2 = m_env->getMap().getNode(pos2);
//did we get information about node?
if (node_at_pos2.param0 == CONTENT_IGNORE ) {
@@ -780,7 +780,7 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
if (!ndef->get(node_at_pos2).walkable) {
MapNode node_below_pos2 =
- m_env->getMap().getNodeNoEx(pos2 + v3s16(0, -1, 0));
+ m_env->getMap().getNode(pos2 + v3s16(0, -1, 0));
//did we get information about node?
if (node_below_pos2.param0 == CONTENT_IGNORE ) {
@@ -798,13 +798,13 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
}
else {
v3s16 testpos = pos2 - v3s16(0, -1, 0);
- MapNode node_at_pos = m_env->getMap().getNodeNoEx(testpos);
+ MapNode node_at_pos = m_env->getMap().getNode(testpos);
while ((node_at_pos.param0 != CONTENT_IGNORE) &&
(!ndef->get(node_at_pos).walkable) &&
(testpos.Y > m_limits.MinEdge.Y)) {
testpos += v3s16(0, -1, 0);
- node_at_pos = m_env->getMap().getNodeNoEx(testpos);
+ node_at_pos = m_env->getMap().getNode(testpos);
}
//did we find surface?
@@ -832,13 +832,13 @@ PathCost Pathfinder::calcCost(v3s16 pos, v3s16 dir)
}
else {
v3s16 testpos = pos2;
- MapNode node_at_pos = m_env->getMap().getNodeNoEx(testpos);
+ MapNode node_at_pos = m_env->getMap().getNode(testpos);
while ((node_at_pos.param0 != CONTENT_IGNORE) &&
(ndef->get(node_at_pos).walkable) &&
(testpos.Y < m_limits.MaxEdge.Y)) {
testpos += v3s16(0, 1, 0);
- node_at_pos = m_env->getMap().getNodeNoEx(testpos);
+ node_at_pos = m_env->getMap().getNode(testpos);
}
//did we find surface?
diff --git a/src/player.cpp b/src/player.cpp
index 9beeab74e..d3ba5c2c2 100644
--- a/src/player.cpp
+++ b/src/player.cpp
@@ -90,6 +90,29 @@ Player::~Player()
clearHud();
}
+void Player::setWieldIndex(u16 index)
+{
+ const InventoryList *mlist = inventory.getList("main");
+ m_wield_index = MYMIN(index, mlist ? mlist->getSize() : 0);
+}
+
+ItemStack &Player::getWieldedItem(ItemStack *selected, ItemStack *hand) const
+{
+ assert(selected);
+
+ const InventoryList *mlist = inventory.getList("main"); // TODO: Make this generic
+ const InventoryList *hlist = inventory.getList("hand");
+
+ if (mlist && m_wield_index < mlist->getSize())
+ *selected = mlist->getItem(m_wield_index);
+
+ if (hand && hlist)
+ *hand = hlist->getItem(0);
+
+ // Return effective tool item
+ return (hand && selected->name.empty()) ? *hand : *selected;
+}
+
u32 Player::addHud(HudElement *toadd)
{
MutexAutoLock lock(m_mutex);
diff --git a/src/player.h b/src/player.h
index 05b6fcbb5..de7f427e9 100644
--- a/src/player.h
+++ b/src/player.h
@@ -32,6 +32,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#define PLAYERNAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_"
#define PLAYERNAME_ALLOWED_CHARS_USER_EXPL "'a' to 'z', 'A' to 'Z', '0' to '9', '-', '_'"
+struct PlayerFovSpec
+{
+ f32 fov;
+ bool is_multiplier;
+};
+
struct PlayerControl
{
PlayerControl() = default;
@@ -173,6 +179,21 @@ public:
PlayerSettings &getPlayerSettings() { return m_player_settings; }
static void settingsChangedCallback(const std::string &name, void *data);
+ // Returns non-empty `selected` ItemStack. `hand` is a fallback, if specified
+ ItemStack &getWieldedItem(ItemStack *selected, ItemStack *hand) const;
+ void setWieldIndex(u16 index);
+ u16 getWieldIndex() const { return m_wield_index; }
+
+ void setFov(const PlayerFovSpec &spec)
+ {
+ m_fov_spec = spec;
+ }
+
+ const PlayerFovSpec &getFov() const
+ {
+ return m_fov_spec;
+ }
+
u32 keyPressed = 0;
HudElement* getHud(u32 id);
@@ -182,9 +203,12 @@ public:
u32 hud_flags;
s32 hud_hotbar_itemcount;
+
protected:
char m_name[PLAYERNAME_SIZE];
v3f m_speed;
+ u16 m_wield_index = 0;
+ PlayerFovSpec m_fov_spec = { 0.0f, false };
std::vector<HudElement *> hud;
private:
diff --git a/src/profiler.cpp b/src/profiler.cpp
index f8d4fc181..be8be591e 100644
--- a/src/profiler.cpp
+++ b/src/profiler.cpp
@@ -18,6 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/
#include "profiler.h"
+#include "porting.h"
static Profiler main_profiler;
Profiler *g_profiler = &main_profiler;
@@ -26,8 +27,9 @@ ScopeProfiler::ScopeProfiler(
m_profiler(profiler),
m_name(name), m_type(type)
{
+ m_name.append(" [ms]");
if (m_profiler)
- m_timer = new TimeTaker(m_name);
+ m_timer = new TimeTaker(m_name, nullptr, PRECISION_MILLI);
}
ScopeProfiler::~ScopeProfiler()
@@ -52,3 +54,129 @@ ScopeProfiler::~ScopeProfiler()
}
delete m_timer;
}
+
+Profiler::Profiler()
+{
+ m_start_time = porting::getTimeMs();
+}
+
+void Profiler::add(const std::string &name, float value)
+{
+ MutexAutoLock lock(m_mutex);
+ {
+ /* No average shall have been used; mark add used as -2 */
+ std::map<std::string, int>::iterator n = m_avgcounts.find(name);
+ if (n == m_avgcounts.end()) {
+ m_avgcounts[name] = -2;
+ } else {
+ if (n->second == -1)
+ n->second = -2;
+ assert(n->second == -2);
+ }
+ }
+ {
+ std::map<std::string, float>::iterator n = m_data.find(name);
+ if (n == m_data.end())
+ m_data[name] = value;
+ else
+ n->second += value;
+ }
+}
+
+void Profiler::avg(const std::string &name, float value)
+{
+ MutexAutoLock lock(m_mutex);
+ int &count = m_avgcounts[name];
+
+ assert(count != -2);
+ count = MYMAX(count, 0) + 1;
+ m_data[name] += value;
+}
+
+void Profiler::clear()
+{
+ MutexAutoLock lock(m_mutex);
+ for (auto &it : m_data) {
+ it.second = 0;
+ }
+ m_avgcounts.clear();
+ m_start_time = porting::getTimeMs();
+}
+
+float Profiler::getValue(const std::string &name) const
+{
+ auto numerator = m_data.find(name);
+ if (numerator == m_data.end())
+ return 0.f;
+
+ auto denominator = m_avgcounts.find(name);
+ if (denominator != m_avgcounts.end()) {
+ if (denominator->second >= 1)
+ return numerator->second / denominator->second;
+ }
+
+ return numerator->second;
+}
+
+int Profiler::getAvgCount(const std::string &name) const
+{
+ auto n = m_avgcounts.find(name);
+
+ if (n != m_avgcounts.end() && n->second >= 1)
+ return n->second;
+
+ return 1;
+}
+
+u64 Profiler::getElapsedMs() const
+{
+ return porting::getTimeMs() - m_start_time;
+}
+
+int Profiler::print(std::ostream &o, u32 page, u32 pagecount)
+{
+ GraphValues values;
+ getPage(values, page, pagecount);
+ char num_buf[50];
+
+ for (const auto &i : values) {
+ o << " " << i.first << " ";
+ if (i.second == 0) {
+ o << std::endl;
+ continue;
+ }
+
+ s32 space = 44 - i.first.size();
+ for (s32 j = 0; j < space; j++) {
+ if ((j & 1) && j < space - 1)
+ o << ".";
+ else
+ o << " ";
+ }
+ porting::mt_snprintf(num_buf, sizeof(num_buf), "% 4ix % 3g",
+ getAvgCount(i.first), i.second);
+ o << num_buf << std::endl;
+ }
+ return values.size();
+}
+
+void Profiler::getPage(GraphValues &o, u32 page, u32 pagecount)
+{
+ MutexAutoLock lock(m_mutex);
+
+ u32 minindex, maxindex;
+ paging(m_data.size(), page, pagecount, minindex, maxindex);
+
+ for (const auto &i : m_data) {
+ if (maxindex == 0)
+ break;
+ maxindex--;
+
+ if (minindex != 0) {
+ minindex--;
+ continue;
+ }
+
+ o[i.first] = i.second / getAvgCount(i.first);
+ }
+}
diff --git a/src/profiler.h b/src/profiler.h
index 6704afd51..b4a0657f9 100644
--- a/src/profiler.h
+++ b/src/profiler.h
@@ -29,8 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "util/timetaker.h"
#include "util/numeric.h" // paging()
-#define MAX_PROFILER_TEXT_ROWS 20
-
// Global profiler
class Profiler;
extern Profiler *g_profiler;
@@ -42,109 +40,22 @@ extern Profiler *g_profiler;
class Profiler
{
public:
- Profiler() = default;
+ Profiler();
- void add(const std::string &name, float value)
- {
- MutexAutoLock lock(m_mutex);
- {
- /* No average shall have been used; mark add used as -2 */
- std::map<std::string, int>::iterator n = m_avgcounts.find(name);
- if(n == m_avgcounts.end())
- m_avgcounts[name] = -2;
- else{
- if(n->second == -1)
- n->second = -2;
- assert(n->second == -2);
- }
- }
- {
- std::map<std::string, float>::iterator n = m_data.find(name);
- if(n == m_data.end())
- m_data[name] = value;
- else
- n->second += value;
- }
- }
+ void add(const std::string &name, float value);
+ void avg(const std::string &name, float value);
+ void clear();
- void avg(const std::string &name, float value)
- {
- MutexAutoLock lock(m_mutex);
- int &count = m_avgcounts[name];
+ float getValue(const std::string &name) const;
+ int getAvgCount(const std::string &name) const;
+ u64 getElapsedMs() const;
- assert(count != -2);
- count = MYMAX(count, 0) + 1;
- m_data[name] += value;
- }
-
- void clear()
- {
- MutexAutoLock lock(m_mutex);
- for (auto &it : m_data) {
- it.second = 0;
- }
- m_avgcounts.clear();
- }
-
- void print(std::ostream &o)
- {
- printPage(o, 1, 1);
- }
-
- float getValue(const std::string &name) const
- {
- std::map<std::string, float>::const_iterator numerator = m_data.find(name);
- if (numerator == m_data.end())
- return 0.f;
-
- std::map<std::string, int>::const_iterator denominator = m_avgcounts.find(name);
- if (denominator != m_avgcounts.end()){
- if (denominator->second >= 1)
- return numerator->second / denominator->second;
- }
-
- return numerator->second;
- }
-
- void printPage(std::ostream &o, u32 page, u32 pagecount)
- {
- MutexAutoLock lock(m_mutex);
+ typedef std::map<std::string, float> GraphValues;
- u32 minindex, maxindex;
- paging(m_data.size(), page, pagecount, minindex, maxindex);
-
- for (std::map<std::string, float>::const_iterator i = m_data.begin();
- i != m_data.end(); ++i) {
- if (maxindex == 0)
- break;
- maxindex--;
-
- if (minindex != 0) {
- minindex--;
- continue;
- }
-
- int avgcount = 1;
- std::map<std::string, int>::const_iterator n = m_avgcounts.find(i->first);
- if (n != m_avgcounts.end()) {
- if(n->second >= 1)
- avgcount = n->second;
- }
- o << " " << i->first << ": ";
- s32 clampsize = 40;
- s32 space = clampsize - i->first.size();
- for(s32 j = 0; j < space; j++) {
- if (j % 2 == 0 && j < space - 1)
- o << "-";
- else
- o << " ";
- }
- o << (i->second / avgcount);
- o << std::endl;
- }
- }
+ // Returns the line count
+ int print(std::ostream &o, u32 page = 1, u32 pagecount = 1);
+ void getPage(GraphValues &o, u32 page, u32 pagecount);
- typedef std::map<std::string, float> GraphValues;
void graphAdd(const std::string &id, float value)
{
@@ -175,6 +86,7 @@ private:
std::map<std::string, float> m_data;
std::map<std::string, int> m_avgcounts;
std::map<std::string, float> m_graphvalues;
+ u64 m_start_time;
};
enum ScopeProfilerType{
diff --git a/src/remoteplayer.h b/src/remoteplayer.h
index ea118e604..831bfe956 100644
--- a/src/remoteplayer.h
+++ b/src/remoteplayer.h
@@ -110,12 +110,7 @@ public:
bool checkModified() const { return m_dirty || inventory.checkModified(); }
- void setModified(const bool x)
- {
- m_dirty = x;
- if (!x)
- inventory.setModified(x);
- }
+ inline void setModified(const bool x) { m_dirty = x; }
void setLocalAnimations(v2s32 frames[4], float frame_speed)
{
@@ -135,6 +130,9 @@ public:
u16 protocol_version = 0;
+ // v1 for clients older than 5.1.0-dev
+ u16 formspec_version = 1;
+
session_t getPeerId() const { return m_peer_id; }
void setPeerId(session_t peer_id) { m_peer_id = peer_id; }
diff --git a/src/rollback_interface.cpp b/src/rollback_interface.cpp
index 3ac15544c..c00206e98 100644
--- a/src/rollback_interface.cpp
+++ b/src/rollback_interface.cpp
@@ -37,7 +37,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
RollbackNode::RollbackNode(Map *map, v3s16 p, IGameDef *gamedef)
{
const NodeDefManager *ndef = gamedef->ndef();
- MapNode n = map->getNodeNoEx(p);
+ MapNode n = map->getNode(p);
name = ndef->get(n).name;
param1 = n.param1;
param2 = n.param2;
@@ -132,14 +132,19 @@ bool RollbackAction::applyRevert(Map *map, InventoryManager *imgr, IGameDef *gam
// Make sure position is loaded from disk
map->emergeBlock(getContainerPos(p, MAP_BLOCKSIZE), false);
// Check current node
- MapNode current_node = map->getNodeNoEx(p);
+ MapNode current_node = map->getNode(p);
std::string current_name = ndef->get(current_node).name;
// If current node not the new node, it's bad
if (current_name != n_new.name) {
return false;
}
// Create rollback node
- MapNode n(ndef, n_old.name, n_old.param1, n_old.param2);
+ content_t id = CONTENT_IGNORE;
+ if (!ndef->getId(n_old.name, id)) {
+ // The old node is not registered
+ return false;
+ }
+ MapNode n(id, n_old.param1, n_old.param2);
// Set rollback node
try {
if (!map->addNodeWithEvent(p, n)) {
@@ -171,7 +176,7 @@ bool RollbackAction::applyRevert(Map *map, InventoryManager *imgr, IGameDef *gam
MapEditEvent event;
event.type = MEET_BLOCK_NODE_METADATA_CHANGED;
event.p = p;
- map->dispatchEvent(&event);
+ map->dispatchEvent(event);
} catch (InvalidPositionException &e) {
infostream << "RollbackAction::applyRevert(): "
<< "InvalidPositionException: " << e.what()
@@ -203,7 +208,7 @@ bool RollbackAction::applyRevert(Map *map, InventoryManager *imgr, IGameDef *gam
<< inventory_location << std::endl;
return false;
}
-
+
// If item was added, take away item, otherwise add removed item
if (inventory_add) {
// Silently ignore different current item
diff --git a/src/script/common/c_content.cpp b/src/script/common/c_content.cpp
index 793485e25..cb0253c32 100644
--- a/src/script/common/c_content.cpp
+++ b/src/script/common/c_content.cpp
@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "common/c_types.h"
#include "nodedef.h"
#include "object_properties.h"
+#include "content_sao.h"
#include "cpp_api/s_node.h"
#include "lua_api/l_object.h"
#include "lua_api/l_item.h"
@@ -163,11 +164,7 @@ void push_item_definition_full(lua_State *L, const ItemDefinition &i)
lua_pushboolean(L, i.liquids_pointable);
lua_setfield(L, -2, "liquids_pointable");
if (i.type == ITEM_TOOL) {
- push_tool_capabilities(L, ToolCapabilities(
- i.tool_capabilities->full_punch_interval,
- i.tool_capabilities->max_drop_level,
- i.tool_capabilities->groupcaps,
- i.tool_capabilities->damageGroups));
+ push_tool_capabilities(L, *i.tool_capabilities);
lua_setfield(L, -2, "tool_capabilities");
}
push_groups(L, i.groups);
@@ -182,7 +179,7 @@ void push_item_definition_full(lua_State *L, const ItemDefinition &i)
/******************************************************************************/
void read_object_properties(lua_State *L, int index,
- ObjectProperties *prop, IItemDefManager *idef)
+ ServerActiveObject *sao, ObjectProperties *prop, IItemDefManager *idef)
{
if(index < 0)
index = lua_gettop(L) + 1 + index;
@@ -190,10 +187,24 @@ void read_object_properties(lua_State *L, int index,
return;
int hp_max = 0;
- if (getintfield(L, -1, "hp_max", hp_max))
+ if (getintfield(L, -1, "hp_max", hp_max)) {
prop->hp_max = (u16)rangelim(hp_max, 0, U16_MAX);
- getintfield(L, -1, "breath_max", prop->breath_max);
+ if (prop->hp_max < sao->getHP()) {
+ PlayerHPChangeReason reason(PlayerHPChangeReason::SET_HP);
+ sao->setHP(prop->hp_max, reason);
+ if (sao->getType() == ACTIVEOBJECT_TYPE_PLAYER)
+ sao->getEnv()->getGameDef()->SendPlayerHPOrDie((PlayerSAO *)sao, reason);
+ }
+ }
+
+ if (getintfield(L, -1, "breath_max", prop->breath_max)) {
+ if (sao->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
+ PlayerSAO *player = (PlayerSAO *)sao;
+ if (prop->breath_max < player->getBreath())
+ player->setBreath(prop->breath_max);
+ }
+ }
getboolfield(L, -1, "physical", prop->physical);
getboolfield(L, -1, "collide_with_objects", prop->collideWithObjects);
@@ -1093,7 +1104,7 @@ MapNode readnode(lua_State *L, int index, const NodeDefManager *ndef)
lua_getfield(L, index, "name");
if (!lua_isstring(L, -1))
throw LuaError("Node name is not set or is not a string!");
- const char *name = lua_tostring(L, -1);
+ std::string name = lua_tostring(L, -1);
lua_pop(L, 1);
u8 param1 = 0;
@@ -1108,7 +1119,11 @@ MapNode readnode(lua_State *L, int index, const NodeDefManager *ndef)
param2 = lua_tonumber(L, -1);
lua_pop(L, 1);
- return {ndef, name, param1, param2};
+ content_t id = CONTENT_IGNORE;
+ if (!ndef->getId(name, id))
+ throw LuaError("\"" + name + "\" is not a registered node!");
+
+ return {id, param1, param2};
}
/******************************************************************************/
@@ -1234,7 +1249,8 @@ void push_tool_capabilities(lua_State *L,
{
lua_newtable(L);
setfloatfield(L, -1, "full_punch_interval", toolcap.full_punch_interval);
- setintfield(L, -1, "max_drop_level", toolcap.max_drop_level);
+ setintfield(L, -1, "max_drop_level", toolcap.max_drop_level);
+ setintfield(L, -1, "punch_attack_uses", toolcap.punch_attack_uses);
// Create groupcaps table
lua_newtable(L);
// For each groupcap
@@ -1356,6 +1372,7 @@ ToolCapabilities read_tool_capabilities(
ToolCapabilities toolcap;
getfloatfield(L, table, "full_punch_interval", toolcap.full_punch_interval);
getintfield(L, table, "max_drop_level", toolcap.max_drop_level);
+ getintfield(L, table, "punch_attack_uses", toolcap.punch_attack_uses);
lua_getfield(L, table, "groupcaps");
if(lua_istable(L, -1)){
int table_groupcaps = lua_gettop(L);
@@ -1510,13 +1527,15 @@ void read_groups(lua_State *L, int index, ItemGroupList &result)
return;
result.clear();
lua_pushnil(L);
- if(index < 0)
+ if (index < 0)
index -= 1;
- while(lua_next(L, index) != 0){
+ while (lua_next(L, index) != 0) {
// key at index -2 and value at index -1
std::string name = luaL_checkstring(L, -2);
int rating = luaL_checkinteger(L, -1);
- result[name] = rating;
+ // zero rating indicates not in the group
+ if (rating != 0)
+ result[name] = rating;
// removes value, keeps key for next iteration
lua_pop(L, 1);
}
diff --git a/src/script/common/c_content.h b/src/script/common/c_content.h
index f3a653682..9e755682f 100644
--- a/src/script/common/c_content.h
+++ b/src/script/common/c_content.h
@@ -62,6 +62,7 @@ struct HitParams;
struct EnumString;
struct NoiseParams;
class Schematic;
+class ServerActiveObject;
ContentFeatures read_content_features (lua_State *L, int index);
@@ -107,6 +108,7 @@ void push_item_definition_full (lua_State *L,
const ItemDefinition &i);
void read_object_properties (lua_State *L, int index,
+ ServerActiveObject *sao,
ObjectProperties *prop,
IItemDefManager *idef);
void push_object_properties (lua_State *L,
diff --git a/src/script/common/c_converter.cpp b/src/script/common/c_converter.cpp
index dfd3f5cea..b9d6f0494 100644
--- a/src/script/common/c_converter.cpp
+++ b/src/script/common/c_converter.cpp
@@ -540,9 +540,9 @@ v3s16 getv3s16field_default(lua_State *L, int table,
}
void setstringfield(lua_State *L, int table,
- const char *fieldname, const char *value)
+ const char *fieldname, const std::string &value)
{
- lua_pushstring(L, value);
+ lua_pushlstring(L, value.c_str(), value.length());
if(table < 0)
table -= 1;
lua_setfield(L, table, fieldname);
diff --git a/src/script/common/c_converter.h b/src/script/common/c_converter.h
index 87bc35ac6..f84494c8d 100644
--- a/src/script/common/c_converter.h
+++ b/src/script/common/c_converter.h
@@ -91,7 +91,7 @@ std::string checkstringfield(lua_State *L, int table,
const char *fieldname);
void setstringfield(lua_State *L, int table,
- const char *fieldname, const char *value);
+ const char *fieldname, const std::string &value);
void setintfield(lua_State *L, int table,
const char *fieldname, int value);
void setfloatfield(lua_State *L, int table,
diff --git a/src/script/common/helper.cpp b/src/script/common/helper.cpp
index 59bde57ab..f53a2b7e8 100644
--- a/src/script/common/helper.cpp
+++ b/src/script/common/helper.cpp
@@ -107,9 +107,10 @@ template <> v2f LuaHelper::readParam(lua_State *L, int index)
template <> std::string LuaHelper::readParam(lua_State *L, int index)
{
+ size_t length;
std::string result;
- const char *str = luaL_checkstring(L, index);
- result.append(str);
+ const char *str = luaL_checklstring(L, index, &length);
+ result.assign(str, length);
return result;
}
diff --git a/src/script/cpp_api/s_base.cpp b/src/script/cpp_api/s_base.cpp
index a8ed902dd..caa335d76 100644
--- a/src/script/cpp_api/s_base.cpp
+++ b/src/script/cpp_api/s_base.cpp
@@ -232,6 +232,13 @@ void ScriptApiBase::loadModFromMemory(const std::string &mod_name)
void ScriptApiBase::runCallbacksRaw(int nargs,
RunCallbacksMode mode, const char *fxn)
{
+#ifndef SERVER
+ // Hard fail for bad guarded callbacks
+ // Only run callbacks when the scripting enviroment is loaded
+ FATAL_ERROR_IF(m_type == ScriptingType::Client &&
+ !getClient()->modsLoaded(), fxn);
+#endif
+
#ifdef SCRIPTAPI_LOCK_DEBUG
assert(m_lock_recursion_count > 0);
#endif
@@ -404,6 +411,10 @@ void ScriptApiBase::pushPlayerHPChangeReason(lua_State *L, const PlayerHPChangeR
objectrefGetOrCreate(L, reason.object);
lua_setfield(L, -2, "object");
}
+ if (!reason.node.empty()) {
+ lua_pushstring(L, reason.node.c_str());
+ lua_setfield(L, -2, "node");
+ }
}
Server* ScriptApiBase::getServer()
diff --git a/src/script/cpp_api/s_entity.cpp b/src/script/cpp_api/s_entity.cpp
index 8af9f9bf6..26c7e8cd4 100644
--- a/src/script/cpp_api/s_entity.cpp
+++ b/src/script/cpp_api/s_entity.cpp
@@ -157,7 +157,7 @@ std::string ScriptApiEntity::luaentity_GetStaticdata(u16 id)
}
void ScriptApiEntity::luaentity_GetProperties(u16 id,
- ObjectProperties *prop)
+ ServerActiveObject *self, ObjectProperties *prop)
{
SCRIPTAPI_PRECHECKHEADER
@@ -170,11 +170,11 @@ void ScriptApiEntity::luaentity_GetProperties(u16 id,
prop->hp_max = 10;
// Deprecated: read object properties directly
- read_object_properties(L, -1, prop, getServer()->idef());
+ read_object_properties(L, -1, self, prop, getServer()->idef());
// Read initial_properties
lua_getfield(L, -1, "initial_properties");
- read_object_properties(L, -1, prop, getServer()->idef());
+ read_object_properties(L, -1, self, prop, getServer()->idef());
lua_pop(L, 1);
}
diff --git a/src/script/cpp_api/s_entity.h b/src/script/cpp_api/s_entity.h
index 966c2745e..cc08c46e8 100644
--- a/src/script/cpp_api/s_entity.h
+++ b/src/script/cpp_api/s_entity.h
@@ -35,7 +35,7 @@ public:
void luaentity_Remove(u16 id);
std::string luaentity_GetStaticdata(u16 id);
void luaentity_GetProperties(u16 id,
- ObjectProperties *prop);
+ ServerActiveObject *self, ObjectProperties *prop);
void luaentity_Step(u16 id, float dtime);
bool luaentity_Punch(u16 id,
ServerActiveObject *puncher, float time_from_last_punch,
diff --git a/src/script/cpp_api/s_env.cpp b/src/script/cpp_api/s_env.cpp
index f8cef98b7..ab3b5fe46 100644
--- a/src/script/cpp_api/s_env.cpp
+++ b/src/script/cpp_api/s_env.cpp
@@ -151,6 +151,10 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
bool simple_catch_up = true;
getboolfield(L, current_abm, "catch_up", simple_catch_up);
+ lua_getfield(L, current_abm, "action");
+ luaL_checktype(L, current_abm + 1, LUA_TFUNCTION);
+ lua_pop(L, 1);
+
LuaABM *abm = new LuaABM(L, id, trigger_contents, required_neighbors,
trigger_interval, trigger_chance, simple_catch_up);
@@ -200,6 +204,10 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
bool run_at_every_load = getboolfield_default(L, current_lbm,
"run_at_every_load", false);
+ lua_getfield(L, current_lbm, "action");
+ luaL_checktype(L, current_lbm + 1, LUA_TFUNCTION);
+ lua_pop(L, 1);
+
LuaLBM *lbm = new LuaLBM(L, id, trigger_contents, name,
run_at_every_load);
diff --git a/src/script/cpp_api/s_node.cpp b/src/script/cpp_api/s_node.cpp
index 719f53a6b..d93a4c3ad 100644
--- a/src/script/cpp_api/s_node.cpp
+++ b/src/script/cpp_api/s_node.cpp
@@ -246,7 +246,7 @@ void ScriptApiNode::node_on_receive_fields(v3s16 p,
const NodeDefManager *ndef = getServer()->ndef();
// If node doesn't exist, we don't know what callback to call
- MapNode node = getEnv()->getMap().getNodeNoEx(p);
+ MapNode node = getEnv()->getMap().getNode(p);
if (node.getContent() == CONTENT_IGNORE)
return;
diff --git a/src/script/cpp_api/s_nodemeta.cpp b/src/script/cpp_api/s_nodemeta.cpp
index b49bb8170..c081e9fc4 100644
--- a/src/script/cpp_api/s_nodemeta.cpp
+++ b/src/script/cpp_api/s_nodemeta.cpp
@@ -38,7 +38,7 @@ int ScriptApiNodemeta::nodemeta_inventory_AllowMove(
const NodeDefManager *ndef = getServer()->ndef();
// If node doesn't exist, we don't know what callback to call
- MapNode node = getEnv()->getMap().getNodeNoEx(ma.to_inv.p);
+ MapNode node = getEnv()->getMap().getNode(ma.to_inv.p);
if (node.getContent() == CONTENT_IGNORE)
return 0;
@@ -76,7 +76,7 @@ int ScriptApiNodemeta::nodemeta_inventory_AllowPut(
const NodeDefManager *ndef = getServer()->ndef();
// If node doesn't exist, we don't know what callback to call
- MapNode node = getEnv()->getMap().getNodeNoEx(ma.to_inv.p);
+ MapNode node = getEnv()->getMap().getNode(ma.to_inv.p);
if (node.getContent() == CONTENT_IGNORE)
return 0;
@@ -112,7 +112,7 @@ int ScriptApiNodemeta::nodemeta_inventory_AllowTake(
const NodeDefManager *ndef = getServer()->ndef();
// If node doesn't exist, we don't know what callback to call
- MapNode node = getEnv()->getMap().getNodeNoEx(ma.from_inv.p);
+ MapNode node = getEnv()->getMap().getNode(ma.from_inv.p);
if (node.getContent() == CONTENT_IGNORE)
return 0;
@@ -148,7 +148,7 @@ void ScriptApiNodemeta::nodemeta_inventory_OnMove(
const NodeDefManager *ndef = getServer()->ndef();
// If node doesn't exist, we don't know what callback to call
- MapNode node = getEnv()->getMap().getNodeNoEx(ma.from_inv.p);
+ MapNode node = getEnv()->getMap().getNode(ma.from_inv.p);
if (node.getContent() == CONTENT_IGNORE)
return;
@@ -181,7 +181,7 @@ void ScriptApiNodemeta::nodemeta_inventory_OnPut(
const NodeDefManager *ndef = getServer()->ndef();
// If node doesn't exist, we don't know what callback to call
- MapNode node = getEnv()->getMap().getNodeNoEx(ma.to_inv.p);
+ MapNode node = getEnv()->getMap().getNode(ma.to_inv.p);
if (node.getContent() == CONTENT_IGNORE)
return;
@@ -212,7 +212,7 @@ void ScriptApiNodemeta::nodemeta_inventory_OnTake(
const NodeDefManager *ndef = getServer()->ndef();
// If node doesn't exist, we don't know what callback to call
- MapNode node = getEnv()->getMap().getNodeNoEx(ma.from_inv.p);
+ MapNode node = getEnv()->getMap().getNode(ma.from_inv.p);
if (node.getContent() == CONTENT_IGNORE)
return;
diff --git a/src/script/cpp_api/s_security.cpp b/src/script/cpp_api/s_security.cpp
index e9067a54c..b90b3aa2c 100644
--- a/src/script/cpp_api/s_security.cpp
+++ b/src/script/cpp_api/s_security.cpp
@@ -113,7 +113,6 @@ void ScriptApiSecurity::initializeSecurity()
"setupvalue",
"setmetatable",
"upvalueid",
- "upvaluejoin",
"sethook",
"debug",
"setlocal",
@@ -244,6 +243,7 @@ void ScriptApiSecurity::initializeSecurityClient()
"rawset",
"select",
"setfenv",
+ // getmetatable can be used to escape the sandbox
"setmetatable",
"tonumber",
"tostring",
@@ -265,6 +265,7 @@ void ScriptApiSecurity::initializeSecurityClient()
};
static const char *debug_whitelist[] = {
"getinfo",
+ "traceback"
};
#if USE_LUAJIT
diff --git a/src/script/cpp_api/s_server.cpp b/src/script/cpp_api/s_server.cpp
index 3b461a2a3..1ce2f9d45 100644
--- a/src/script/cpp_api/s_server.cpp
+++ b/src/script/cpp_api/s_server.cpp
@@ -168,3 +168,25 @@ void ScriptApiServer::on_shutdown()
runCallbacks(0, RUN_CALLBACKS_MODE_FIRST);
}
+std::string ScriptApiServer::formatChatMessage(const std::string &name,
+ const std::string &message)
+{
+ SCRIPTAPI_PRECHECKHEADER
+
+ // Push function onto stack
+ lua_getglobal(L, "core");
+ lua_getfield(L, -1, "format_chat_message");
+
+ // Push arguments onto stack
+ lua_pushstring(L, name.c_str());
+ lua_pushstring(L, message.c_str());
+
+ // Actually call the function
+ lua_call(L, 2, 1);
+
+ // Fetch return value
+ std::string ret = lua_tostring(L, -1);
+ lua_pop(L, 1);
+
+ return ret;
+}
diff --git a/src/script/cpp_api/s_server.h b/src/script/cpp_api/s_server.h
index 769939d3f..a4cede84d 100644
--- a/src/script/cpp_api/s_server.h
+++ b/src/script/cpp_api/s_server.h
@@ -36,14 +36,18 @@ public:
// Calls on_shutdown handlers
void on_shutdown();
+ // Calls core.format_chat_message
+ std::string formatChatMessage(const std::string &name,
+ const std::string &message);
+
/* auth */
bool getAuth(const std::string &playername,
- std::string *dst_password,
- std::set<std::string> *dst_privs);
+ std::string *dst_password,
+ std::set<std::string> *dst_privs);
void createAuth(const std::string &playername,
- const std::string &password);
+ const std::string &password);
bool setPassword(const std::string &playername,
- const std::string &password);
+ const std::string &password);
private:
void getAuthHandler();
void readPrivileges(int index, std::set<std::string> &result);
diff --git a/src/script/lua_api/l_areastore.cpp b/src/script/lua_api/l_areastore.cpp
index d53d74aa8..908c766b0 100644
--- a/src/script/lua_api/l_areastore.cpp
+++ b/src/script/lua_api/l_areastore.cpp
@@ -185,6 +185,7 @@ int LuaAreaStore::l_insert_area(lua_State *L)
if (lua_isnumber(L, 5))
a.id = lua_tonumber(L, 5);
+ // Insert & assign a new ID if necessary
if (!ast->insertArea(&a))
return 0;
diff --git a/src/script/lua_api/l_camera.cpp b/src/script/lua_api/l_camera.cpp
index 462006777..80071b3b8 100644
--- a/src/script/lua_api/l_camera.cpp
+++ b/src/script/lua_api/l_camera.cpp
@@ -31,19 +31,24 @@ LuaCamera::LuaCamera(Camera *m) : m_camera(m)
void LuaCamera::create(lua_State *L, Camera *m)
{
+ lua_getglobal(L, "core");
+ luaL_checktype(L, -1, LUA_TTABLE);
+ int objectstable = lua_gettop(L);
+ lua_getfield(L, -1, "camera");
+
+ // Duplication check
+ if (lua_type(L, -1) == LUA_TUSERDATA) {
+ lua_pop(L, 1);
+ return;
+ }
+
LuaCamera *o = new LuaCamera(m);
*(void **)(lua_newuserdata(L, sizeof(void *))) = o;
luaL_getmetatable(L, className);
lua_setmetatable(L, -2);
- int camera_object = lua_gettop(L);
-
- lua_getglobal(L, "core");
- luaL_checktype(L, -1, LUA_TTABLE);
- int coretable = lua_gettop(L);
-
- lua_pushvalue(L, camera_object);
- lua_setfield(L, coretable, "camera");
+ lua_pushvalue(L, lua_gettop(L));
+ lua_setfield(L, objectstable, "camera");
}
int LuaCamera::l_set_camera_mode(lua_State *L)
diff --git a/src/script/lua_api/l_client.cpp b/src/script/lua_api/l_client.cpp
index 6d9d832b7..6345fc75f 100644
--- a/src/script/lua_api/l_client.cpp
+++ b/src/script/lua_api/l_client.cpp
@@ -210,17 +210,13 @@ int ModApiClient::l_get_language(lua_State *L)
int ModApiClient::l_get_wielded_item(lua_State *L)
{
Client *client = getClient(L);
+ LocalPlayer *player = client->getEnv().getLocalPlayer();
+ if (!player)
+ return 0;
- Inventory local_inventory(client->idef());
- client->getLocalInventory(local_inventory);
-
- InventoryList *mlist = local_inventory.getList("main");
-
- if (mlist && client->getPlayerItem() < mlist->getSize()) {
- LuaItemStack::create(L, mlist->getItem(client->getPlayerItem()));
- } else {
- LuaItemStack::create(L, ItemStack());
- }
+ ItemStack selected_item;
+ player->getWieldedItem(&selected_item, nullptr);
+ LuaItemStack::create(L, selected_item);
return 1;
}
diff --git a/src/script/lua_api/l_craft.cpp b/src/script/lua_api/l_craft.cpp
index 0899b945e..18622ee00 100644
--- a/src/script/lua_api/l_craft.cpp
+++ b/src/script/lua_api/l_craft.cpp
@@ -294,7 +294,7 @@ int ModApiCraft::l_clear_craft(lua_State *L)
std::string type = getstringfield_default(L, table, "type", "shaped");
CraftOutput c_output(output, 0);
if (!output.empty()) {
- if (craftdef->clearCraftRecipesByOutput(c_output, getServer(L))) {
+ if (craftdef->clearCraftsByOutput(c_output, getServer(L))) {
lua_pushboolean(L, true);
return 1;
}
@@ -351,7 +351,13 @@ int ModApiCraft::l_clear_craft(lua_State *L)
throw LuaError("Unknown crafting definition type: \"" + type + "\"");
}
- if (!craftdef->clearCraftRecipesByInput(method, width, recipe, getServer(L))) {
+ std::vector<ItemStack> items;
+ items.reserve(recipe.size());
+ for (const auto &item : recipe)
+ items.emplace_back(item, 1, 0, getServer(L)->idef());
+ CraftInput input(method, width, items);
+
+ if (!craftdef->clearCraftsByInput(input, getServer(L))) {
warningstream << "No craft recipe matches input" << std::endl;
lua_pushboolean(L, false);
return 1;
diff --git a/src/script/lua_api/l_env.cpp b/src/script/lua_api/l_env.cpp
index 711bd3fdd..a56b1cb0b 100644
--- a/src/script/lua_api/l_env.cpp
+++ b/src/script/lua_api/l_env.cpp
@@ -350,7 +350,7 @@ int ModApiEnvMod::l_get_node(lua_State *L)
// pos
v3s16 pos = read_v3s16(L, 1);
// Do it
- MapNode n = env->getMap().getNodeNoEx(pos);
+ MapNode n = env->getMap().getNode(pos);
// Return node
pushnode(L, n, env->getGameDef()->ndef());
return 1;
@@ -366,7 +366,7 @@ int ModApiEnvMod::l_get_node_or_nil(lua_State *L)
v3s16 pos = read_v3s16(L, 1);
// Do it
bool pos_ok;
- MapNode n = env->getMap().getNodeNoEx(pos, &pos_ok);
+ MapNode n = env->getMap().getNode(pos, &pos_ok);
if (pos_ok) {
// Return node
pushnode(L, n, env->getGameDef()->ndef());
@@ -392,7 +392,7 @@ int ModApiEnvMod::l_get_node_light(lua_State *L)
u32 dnr = time_to_daynight_ratio(time_of_day, true);
bool is_position_ok;
- MapNode n = env->getMap().getNodeNoEx(pos, &is_position_ok);
+ MapNode n = env->getMap().getNode(pos, &is_position_ok);
if (is_position_ok) {
const NodeDefManager *ndef = env->getGameDef()->ndef();
lua_pushinteger(L, n.getLightBlend(dnr, ndef));
@@ -417,7 +417,7 @@ int ModApiEnvMod::l_place_node(lua_State *L)
MapNode n = readnode(L, 2, ndef);
// Don't attempt to load non-loaded area as of now
- MapNode n_old = env->getMap().getNodeNoEx(pos);
+ MapNode n_old = env->getMap().getNode(pos);
if(n_old.getContent() == CONTENT_IGNORE){
lua_pushboolean(L, false);
return 1;
@@ -446,7 +446,7 @@ int ModApiEnvMod::l_dig_node(lua_State *L)
v3s16 pos = read_v3s16(L, 1);
// Don't attempt to load non-loaded area as of now
- MapNode n = env->getMap().getNodeNoEx(pos);
+ MapNode n = env->getMap().getNode(pos);
if(n.getContent() == CONTENT_IGNORE){
lua_pushboolean(L, false);
return 1;
@@ -469,7 +469,7 @@ int ModApiEnvMod::l_punch_node(lua_State *L)
v3s16 pos = read_v3s16(L, 1);
// Don't attempt to load non-loaded area as of now
- MapNode n = env->getMap().getNodeNoEx(pos);
+ MapNode n = env->getMap().getNode(pos);
if(n.getContent() == CONTENT_IGNORE){
lua_pushboolean(L, false);
return 1;
@@ -491,7 +491,7 @@ int ModApiEnvMod::l_get_node_max_level(lua_State *L)
}
v3s16 pos = read_v3s16(L, 1);
- MapNode n = env->getMap().getNodeNoEx(pos);
+ MapNode n = env->getMap().getNode(pos);
lua_pushnumber(L, n.getMaxLevel(env->getGameDef()->ndef()));
return 1;
}
@@ -506,7 +506,7 @@ int ModApiEnvMod::l_get_node_level(lua_State *L)
}
v3s16 pos = read_v3s16(L, 1);
- MapNode n = env->getMap().getNodeNoEx(pos);
+ MapNode n = env->getMap().getNode(pos);
lua_pushnumber(L, n.getLevel(env->getGameDef()->ndef()));
return 1;
}
@@ -522,7 +522,7 @@ int ModApiEnvMod::l_set_node_level(lua_State *L)
u8 level = 1;
if(lua_isnumber(L, 2))
level = lua_tonumber(L, 2);
- MapNode n = env->getMap().getNodeNoEx(pos);
+ MapNode n = env->getMap().getNode(pos);
lua_pushnumber(L, n.setLevel(env->getGameDef()->ndef(), level));
env->setNode(pos, n);
return 1;
@@ -539,7 +539,7 @@ int ModApiEnvMod::l_add_node_level(lua_State *L)
u8 level = 1;
if(lua_isnumber(L, 2))
level = lua_tonumber(L, 2);
- MapNode n = env->getMap().getNodeNoEx(pos);
+ MapNode n = env->getMap().getNode(pos);
lua_pushnumber(L, n.addLevel(env->getGameDef()->ndef(), level));
env->setNode(pos, n);
return 1;
@@ -780,7 +780,7 @@ int ModApiEnvMod::l_find_node_near(lua_State *L)
std::vector<v3s16> list = FacePositionCache::getFacePositions(d);
for (const v3s16 &i : list) {
v3s16 p = pos + i;
- content_t c = env->getMap().getNodeNoEx(p).getContent();
+ content_t c = env->getMap().getNode(p).getContent();
if (CONTAINS(filter, c)) {
push_v3s16(L, p);
return 1;
@@ -832,7 +832,7 @@ int ModApiEnvMod::l_find_nodes_in_area(lua_State *L)
for (s16 y = minp.Y; y <= maxp.Y; y++)
for (s16 z = minp.Z; z <= maxp.Z; z++) {
v3s16 p(x, y, z);
- content_t c = env->getMap().getNodeNoEx(p).getContent();
+ content_t c = env->getMap().getNode(p).getContent();
std::vector<content_t>::iterator it = std::find(filter.begin(), filter.end(), c);
if (it != filter.end()) {
@@ -898,10 +898,10 @@ int ModApiEnvMod::l_find_nodes_in_area_under_air(lua_State *L)
for (s16 z = minp.Z; z <= maxp.Z; z++) {
s16 y = minp.Y;
v3s16 p(x, y, z);
- content_t c = env->getMap().getNodeNoEx(p).getContent();
+ content_t c = env->getMap().getNode(p).getContent();
for (; y <= maxp.Y; y++) {
v3s16 psurf(x, y + 1, z);
- content_t csurf = env->getMap().getNodeNoEx(psurf).getContent();
+ content_t csurf = env->getMap().getNode(psurf).getContent();
if (c != CONTENT_AIR && csurf == CONTENT_AIR &&
CONTAINS(filter, c)) {
push_v3s16(L, v3s16(x, y, z));
@@ -1035,7 +1035,7 @@ int ModApiEnvMod::l_fix_light(lua_State *L)
for (auto &modified_block : modified_blocks)
event.modified_blocks.insert(modified_block.first);
- map.dispatchEvent(&event);
+ map.dispatchEvent(event);
}
lua_pushboolean(L, success);
@@ -1144,7 +1144,7 @@ int ModApiEnvMod::l_delete_area(lua_State *L)
}
}
- map.dispatchEvent(&event);
+ map.dispatchEvent(event);
lua_pushboolean(L, success);
return 1;
}
diff --git a/src/script/lua_api/l_http.cpp b/src/script/lua_api/l_http.cpp
index ac261cd60..2ff651cb5 100644
--- a/src/script/lua_api/l_http.cpp
+++ b/src/script/lua_api/l_http.cpp
@@ -53,9 +53,8 @@ void ModApiHttp::read_http_fetch_request(lua_State *L, HTTPFetchRequest &req)
lua_getfield(L, 1, "post_data");
if (lua_istable(L, 2)) {
lua_pushnil(L);
- while (lua_next(L, 2) != 0)
- {
- req.post_fields[luaL_checkstring(L, -2)] = luaL_checkstring(L, -1);
+ while (lua_next(L, 2) != 0) {
+ req.post_fields[readParam<std::string>(L, -2)] = readParam<std::string>(L, -1);
lua_pop(L, 1);
}
} else if (lua_isstring(L, 2)) {
@@ -66,10 +65,8 @@ void ModApiHttp::read_http_fetch_request(lua_State *L, HTTPFetchRequest &req)
lua_getfield(L, 1, "extra_headers");
if (lua_istable(L, 2)) {
lua_pushnil(L);
- while (lua_next(L, 2) != 0)
- {
- const char *header = luaL_checkstring(L, -1);
- req.extra_headers.emplace_back(header);
+ while (lua_next(L, 2) != 0) {
+ req.extra_headers.emplace_back(readParam<std::string>(L, -1));
lua_pop(L, 1);
}
}
@@ -83,7 +80,7 @@ void ModApiHttp::push_http_fetch_result(lua_State *L, HTTPFetchResult &res, bool
setboolfield(L, -1, "timeout", res.timeout);
setboolfield(L, -1, "completed", completed);
setintfield(L, -1, "code", res.response_code);
- setstringfield(L, -1, "data", res.data.c_str());
+ setstringfield(L, -1, "data", res.data);
}
// http_api.fetch_async(HTTPRequest definition)
@@ -94,7 +91,7 @@ int ModApiHttp::l_http_fetch_async(lua_State *L)
HTTPFetchRequest req;
read_http_fetch_request(L, req);
- actionstream << "Mod performs HTTP request with URL " << req.url << std::endl;
+ infostream << "Mod performs HTTP request with URL " << req.url << std::endl;
httpfetch_async(req);
// Convert handle to hex string since lua can't handle 64-bit integers
diff --git a/src/script/lua_api/l_item.cpp b/src/script/lua_api/l_item.cpp
index e41d23fd1..f9708b560 100644
--- a/src/script/lua_api/l_item.cpp
+++ b/src/script/lua_api/l_item.cpp
@@ -175,6 +175,16 @@ int LuaItemStack::l_set_metadata(lua_State *L)
return 1;
}
+// get_description(self)
+int LuaItemStack::l_get_description(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ LuaItemStack *o = checkobject(L, 1);
+ std::string desc = o->m_stack.getDescription(getGameDef(L)->idef());
+ lua_pushstring(L, desc.c_str());
+ return 1;
+}
+
// clear(self) -> true
int LuaItemStack::l_clear(lua_State *L)
{
@@ -470,6 +480,7 @@ const luaL_Reg LuaItemStack::methods[] = {
luamethod(LuaItemStack, get_meta),
luamethod(LuaItemStack, get_metadata),
luamethod(LuaItemStack, set_metadata),
+ luamethod(LuaItemStack, get_description),
luamethod(LuaItemStack, clear),
luamethod(LuaItemStack, replace),
luamethod(LuaItemStack, to_string),
diff --git a/src/script/lua_api/l_item.h b/src/script/lua_api/l_item.h
index 5ff715b2a..6fab58045 100644
--- a/src/script/lua_api/l_item.h
+++ b/src/script/lua_api/l_item.h
@@ -66,6 +66,9 @@ private:
// set_metadata(self, string)
static int l_set_metadata(lua_State *L);
+ // get_description(self)
+ static int l_get_description(lua_State *L);
+
// clear(self) -> true
static int l_clear(lua_State *L);
diff --git a/src/script/lua_api/l_localplayer.cpp b/src/script/lua_api/l_localplayer.cpp
index 7444d0e88..3e14e48e4 100644
--- a/src/script/lua_api/l_localplayer.cpp
+++ b/src/script/lua_api/l_localplayer.cpp
@@ -30,20 +30,24 @@ LuaLocalPlayer::LuaLocalPlayer(LocalPlayer *m) : m_localplayer(m)
void LuaLocalPlayer::create(lua_State *L, LocalPlayer *m)
{
+ lua_getglobal(L, "core");
+ luaL_checktype(L, -1, LUA_TTABLE);
+ int objectstable = lua_gettop(L);
+ lua_getfield(L, -1, "localplayer");
+
+ // Duplication check
+ if (lua_type(L, -1) == LUA_TUSERDATA) {
+ lua_pop(L, 1);
+ return;
+ }
+
LuaLocalPlayer *o = new LuaLocalPlayer(m);
*(void **)(lua_newuserdata(L, sizeof(void *))) = o;
luaL_getmetatable(L, className);
lua_setmetatable(L, -2);
- // Keep localplayer object stack id
- int localplayer_object = lua_gettop(L);
-
- lua_getglobal(L, "core");
- luaL_checktype(L, -1, LUA_TTABLE);
- int coretable = lua_gettop(L);
-
- lua_pushvalue(L, localplayer_object);
- lua_setfield(L, coretable, "localplayer");
+ lua_pushvalue(L, lua_gettop(L));
+ lua_setfield(L, objectstable, "localplayer");
}
int LuaLocalPlayer::l_get_velocity(lua_State *L)
diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp
index 2557f448a..76db7ed13 100644
--- a/src/script/lua_api/l_mainmenu.cpp
+++ b/src/script/lua_api/l_mainmenu.cpp
@@ -107,6 +107,21 @@ int ModApiMainMenu::l_update_formspec(lua_State *L)
}
/******************************************************************************/
+int ModApiMainMenu::l_set_formspec_prepend(lua_State *L)
+{
+ GUIEngine *engine = getGuiEngine(L);
+ sanity_check(engine != NULL);
+
+ if (engine->m_startgame)
+ return 0;
+
+ std::string formspec(luaL_checkstring(L, 1));
+ engine->setFormspecPrepend(formspec);
+
+ return 0;
+}
+
+/******************************************************************************/
int ModApiMainMenu::l_start(lua_State *L)
{
GUIEngine* engine = getGuiEngine(L);
@@ -867,6 +882,16 @@ bool ModApiMainMenu::mayModifyPath(const std::string &path)
return false;
}
+
+/******************************************************************************/
+int ModApiMainMenu::l_may_modify_path(lua_State *L)
+{
+ const char *target = luaL_checkstring(L, 1);
+ std::string absolute_destination = fs::RemoveRelativePathComponents(target);
+ lua_pushboolean(L, ModApiMainMenu::mayModifyPath(absolute_destination));
+ return 1;
+}
+
/******************************************************************************/
int ModApiMainMenu::l_show_path_select_dialog(lua_State *L)
{
@@ -1031,6 +1056,7 @@ int ModApiMainMenu::l_do_async_callback(lua_State *L)
void ModApiMainMenu::Initialize(lua_State *L, int top)
{
API_FCT(update_formspec);
+ API_FCT(set_formspec_prepend);
API_FCT(set_clouds);
API_FCT(get_textlist_index);
API_FCT(get_table_index);
@@ -1057,6 +1083,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top)
API_FCT(delete_dir);
API_FCT(copy_dir);
API_FCT(extract_zip);
+ API_FCT(may_modify_path);
API_FCT(get_mainmenu_path);
API_FCT(show_path_select_dialog);
API_FCT(download_file);
@@ -1086,6 +1113,7 @@ void ModApiMainMenu::InitializeAsync(lua_State *L, int top)
API_FCT(delete_dir);
API_FCT(copy_dir);
//API_FCT(extract_zip); //TODO remove dependency to GuiEngine
+ API_FCT(may_modify_path);
API_FCT(download_file);
//API_FCT(gettext); (gettext lib isn't threadsafe)
}
diff --git a/src/script/lua_api/l_mainmenu.h b/src/script/lua_api/l_mainmenu.h
index 4a664359a..b2ca49320 100644
--- a/src/script/lua_api/l_mainmenu.h
+++ b/src/script/lua_api/l_mainmenu.h
@@ -104,6 +104,8 @@ private:
static int l_update_formspec(lua_State *L);
+ static int l_set_formspec_prepend(lua_State *L);
+
static int l_get_screen_info(lua_State *L);
//filesystem
@@ -130,6 +132,8 @@ private:
static int l_extract_zip(lua_State *L);
+ static int l_may_modify_path(lua_State *L);
+
static int l_download_file(lua_State *L);
static int l_get_video_drivers(lua_State *L);
diff --git a/src/script/lua_api/l_mapgen.cpp b/src/script/lua_api/l_mapgen.cpp
index 92ed4377e..2e0cba8dd 100644
--- a/src/script/lua_api/l_mapgen.cpp
+++ b/src/script/lua_api/l_mapgen.cpp
@@ -405,7 +405,16 @@ Biome *read_biome_def(lua_State *L, int index, const NodeDefManager *ndef)
nn.push_back(getstringfield_default(L, index, "node_river_water", ""));
nn.push_back(getstringfield_default(L, index, "node_riverbed", ""));
nn.push_back(getstringfield_default(L, index, "node_dust", ""));
- nn.push_back(getstringfield_default(L, index, "node_cave_liquid", ""));
+
+ size_t nnames = getstringlistfield(L, index, "node_cave_liquid", &nn);
+ // If no cave liquids defined, set list to "ignore" to trigger old hardcoded
+ // cave liquid behaviour.
+ if (nnames == 0) {
+ nn.emplace_back("ignore");
+ nnames = 1;
+ }
+ b->m_nnlistsizes.push_back(nnames);
+
nn.push_back(getstringfield_default(L, index, "node_dungeon", ""));
nn.push_back(getstringfield_default(L, index, "node_dungeon_alt", ""));
nn.push_back(getstringfield_default(L, index, "node_dungeon_stair", ""));
@@ -1745,6 +1754,83 @@ int ModApiMapgen::l_serialize_schematic(lua_State *L)
return 1;
}
+// read_schematic(schematic, options={...})
+int ModApiMapgen::l_read_schematic(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+
+ SchematicManager *schemmgr = getServer(L)->getEmergeManager()->schemmgr;
+
+ //// Read options
+ std::string write_yslice = getstringfield_default(L, 2, "write_yslice_prob", "all");
+
+ //// Get schematic
+ bool was_loaded = false;
+ Schematic *schem = (Schematic *)get_objdef(L, 1, schemmgr);
+ if (!schem) {
+ schem = load_schematic(L, 1, NULL, NULL);
+ was_loaded = true;
+ }
+ if (!schem) {
+ errorstream << "read_schematic: failed to get schematic" << std::endl;
+ return 0;
+ }
+ lua_pop(L, 2);
+
+ //// Create the Lua table
+ u32 numnodes = schem->size.X * schem->size.Y * schem->size.Z;
+ const std::vector<std::string> &names = schem->m_nodenames;
+
+ lua_createtable(L, 0, (write_yslice == "none") ? 2 : 3);
+
+ // Create the size field
+ push_v3s16(L, schem->size);
+ lua_setfield(L, 1, "size");
+
+ // Create the yslice_prob field
+ if (write_yslice != "none") {
+ lua_createtable(L, schem->size.Y, 0);
+ for (u16 y = 0; y != schem->size.Y; ++y) {
+ u8 probability = schem->slice_probs[y] & MTSCHEM_PROB_MASK;
+ if (probability < MTSCHEM_PROB_ALWAYS || write_yslice != "low") {
+ lua_createtable(L, 0, 2);
+ lua_pushinteger(L, y);
+ lua_setfield(L, 3, "ypos");
+ lua_pushinteger(L, probability * 2);
+ lua_setfield(L, 3, "prob");
+ lua_rawseti(L, 2, y + 1);
+ }
+ }
+ lua_setfield(L, 1, "yslice_prob");
+ }
+
+ // Create the data field
+ lua_createtable(L, numnodes, 0); // data table
+ for (u32 i = 0; i < numnodes; ++i) {
+ MapNode node = schem->schemdata[i];
+ u8 probability = node.param1 & MTSCHEM_PROB_MASK;
+ bool force_place = node.param1 & MTSCHEM_FORCE_PLACE;
+ lua_createtable(L, 0, force_place ? 4 : 3);
+ lua_pushstring(L, names[schem->schemdata[i].getContent()].c_str());
+ lua_setfield(L, 3, "name");
+ lua_pushinteger(L, probability * 2);
+ lua_setfield(L, 3, "prob");
+ lua_pushinteger(L, node.param2);
+ lua_setfield(L, 3, "param2");
+ if (force_place) {
+ lua_pushboolean(L, 1);
+ lua_setfield(L, 3, "force_place");
+ }
+ lua_rawseti(L, 2, i + 1);
+ }
+ lua_setfield(L, 1, "data");
+
+ if (was_loaded)
+ delete schem;
+
+ return 1;
+}
+
void ModApiMapgen::Initialize(lua_State *L, int top)
{
@@ -1784,4 +1870,5 @@ void ModApiMapgen::Initialize(lua_State *L, int top)
API_FCT(place_schematic);
API_FCT(place_schematic_on_vmanip);
API_FCT(serialize_schematic);
+ API_FCT(read_schematic);
}
diff --git a/src/script/lua_api/l_mapgen.h b/src/script/lua_api/l_mapgen.h
index 1339791f3..4a6a9ccf4 100644
--- a/src/script/lua_api/l_mapgen.h
+++ b/src/script/lua_api/l_mapgen.h
@@ -131,6 +131,9 @@ private:
// serialize_schematic(schematic, format, options={...})
static int l_serialize_schematic(lua_State *L);
+ // read_schematic(schematic, options={...})
+ static int l_read_schematic(lua_State *L);
+
public:
static void Initialize(lua_State *L, int top);
diff --git a/src/script/lua_api/l_nodemeta.cpp b/src/script/lua_api/l_nodemeta.cpp
index 22fc61782..229ce73db 100644
--- a/src/script/lua_api/l_nodemeta.cpp
+++ b/src/script/lua_api/l_nodemeta.cpp
@@ -68,7 +68,7 @@ void NodeMetaRef::reportMetadataChange(const std::string *name)
event.type = MEET_BLOCK_NODE_METADATA_CHANGED;
event.p = m_p;
event.is_private_change = name && meta && meta->isPrivate(*name);
- m_env->getMap().dispatchEvent(&event);
+ m_env->getMap().dispatchEvent(event);
}
// Exported functions
diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp
index b3ed39c7c..efdb345c9 100644
--- a/src/script/lua_api/l_object.cpp
+++ b/src/script/lua_api/l_object.cpp
@@ -170,8 +170,8 @@ int ObjectRef::l_punch(lua_State *L)
ObjectRef *puncher_ref = checkobject(L, 2);
ServerActiveObject *co = getobject(ref);
ServerActiveObject *puncher = getobject(puncher_ref);
- if (co == NULL) return 0;
- if (puncher == NULL) return 0;
+ if (!co || !puncher)
+ return 0;
v3f dir;
if (lua_type(L, 5) != LUA_TTABLE)
dir = co->getBasePosition() - puncher->getBasePosition();
@@ -187,12 +187,14 @@ int ObjectRef::l_punch(lua_State *L)
u16 dst_origin_hp = puncher->getHP();
// Do it
- co->punch(dir, &toolcap, puncher, time_from_last_punch);
+ u16 wear = co->punch(dir, &toolcap, puncher, time_from_last_punch);
+ lua_pushnumber(L, wear);
// If the punched is a player, and its HP changed
if (src_original_hp != co->getHP() &&
co->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
- getServer(L)->SendPlayerHPOrDie((PlayerSAO *)co, PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, puncher));
+ getServer(L)->SendPlayerHPOrDie((PlayerSAO *)co,
+ PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, puncher));
}
// If the puncher is a player, and its HP changed
@@ -201,7 +203,7 @@ int ObjectRef::l_punch(lua_State *L)
getServer(L)->SendPlayerHPOrDie((PlayerSAO *)puncher,
PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, co));
}
- return 0;
+ return 1;
}
// right_click(self, clicker); clicker = an another ObjectRef
@@ -307,8 +309,9 @@ int ObjectRef::l_get_wield_list(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL) return 0;
- // Do it
+ if (!co)
+ return 0;
+
lua_pushstring(L, co->getWieldList().c_str());
return 1;
}
@@ -319,8 +322,9 @@ int ObjectRef::l_get_wield_index(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL) return 0;
- // Do it
+ if (!co)
+ return 0;
+
lua_pushinteger(L, co->getWieldIndex() + 1);
return 1;
}
@@ -331,13 +335,15 @@ int ObjectRef::l_get_wielded_item(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL) {
+ if (!co) {
// Empty ItemStack
LuaItemStack::create(L, ItemStack());
return 1;
}
- // Do it
- LuaItemStack::create(L, co->getWieldedItem());
+
+ ItemStack selected_item;
+ co->getWieldedItem(&selected_item, nullptr);
+ LuaItemStack::create(L, selected_item);
return 1;
}
@@ -352,7 +358,7 @@ int ObjectRef::l_set_wielded_item(lua_State *L)
ItemStack item = read_item(L, 2, getServer(L)->idef());
bool success = co->setWieldedItem(item);
if (success && co->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
- getServer(L)->SendInventory(((PlayerSAO*)co));
+ getServer(L)->SendInventory((PlayerSAO *)co, true);
}
lua_pushboolean(L, success);
return 1;
@@ -583,6 +589,24 @@ int ObjectRef::l_get_eye_offset(lua_State *L)
return 2;
}
+// send_mapblock(self, pos)
+int ObjectRef::l_send_mapblock(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+
+ RemotePlayer *player = getplayer(ref);
+ if (!player)
+ return 0;
+ v3s16 p = read_v3s16(L, 2);
+
+ session_t peer_id = player->getPeerId();
+ bool r = getServer(L)->SendBlock(peer_id, p);
+
+ lua_pushboolean(L, r);
+ return 1;
+}
+
// set_animation_frame_speed(self, frame_speed)
int ObjectRef::l_set_animation_frame_speed(lua_State *L)
{
@@ -731,17 +755,14 @@ int ObjectRef::l_set_properties(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL) return 0;
+ if (!co)
+ return 0;
+
ObjectProperties *prop = co->accessObjectProperties();
if (!prop)
return 0;
- read_object_properties(L, 2, prop, getServer(L)->idef());
- if (prop->hp_max < co->getHP()) {
- PlayerHPChangeReason reason(PlayerHPChangeReason::SET_HP);
- co->setHP(prop->hp_max, reason);
- if (co->getType() == ACTIVEOBJECT_TYPE_PLAYER)
- getServer(L)->SendPlayerHPOrDie((PlayerSAO *)co, reason);
- }
+
+ read_object_properties(L, 2, co, prop, getServer(L)->idef());
co->notifyObjectPropertiesModified();
return 0;
}
@@ -1074,6 +1095,27 @@ int ObjectRef::l_get_player_velocity(lua_State *L)
return 1;
}
+// add_player_velocity(self, {x=num, y=num, z=num})
+int ObjectRef::l_add_player_velocity(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ v3f vel = checkFloatPos(L, 2);
+
+ RemotePlayer *player = getplayer(ref);
+ PlayerSAO *co = getplayersao(ref);
+ if (!player || !co)
+ return 0;
+
+ session_t peer_id = player->getPeerId();
+ if (peer_id == PEER_ID_INEXISTENT)
+ return 0;
+ // Do it
+ co->setMaxSpeedOverride(vel);
+ getServer(L)->SendPlayerSpeed(peer_id, vel);
+ return 0;
+}
+
// get_look_dir(self)
int ObjectRef::l_get_look_dir(lua_State *L)
{
@@ -1210,6 +1252,37 @@ int ObjectRef::l_set_look_yaw(lua_State *L)
return 1;
}
+// set_fov(self, degrees[, is_multiplier])
+int ObjectRef::l_set_fov(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ RemotePlayer *player = getplayer(ref);
+ if (!player)
+ return 0;
+
+ player->setFov({ static_cast<f32>(luaL_checknumber(L, 2)), readParam<bool>(L, 3) });
+ getServer(L)->SendPlayerFov(player->getPeerId());
+
+ return 0;
+}
+
+// get_fov(self)
+int ObjectRef::l_get_fov(lua_State *L)
+{
+ NO_MAP_LOCK_REQUIRED;
+ ObjectRef *ref = checkobject(L, 1);
+ RemotePlayer *player = getplayer(ref);
+ if (!player)
+ return 0;
+
+ PlayerFovSpec fov_spec = player->getFov();
+ lua_pushnumber(L, fov_spec.fov);
+ lua_pushboolean(L, fov_spec.is_multiplier);
+
+ return 2;
+}
+
// set_breath(self, breath)
int ObjectRef::l_set_breath(lua_State *L)
{
@@ -1239,6 +1312,9 @@ int ObjectRef::l_get_breath(lua_State *L)
// set_attribute(self, attribute, value)
int ObjectRef::l_set_attribute(lua_State *L)
{
+ log_deprecated(L,
+ "Deprecated call to set_attribute, use MetaDataRef methods instead.");
+
ObjectRef *ref = checkobject(L, 1);
PlayerSAO* co = getplayersao(ref);
if (co == NULL)
@@ -1257,6 +1333,9 @@ int ObjectRef::l_set_attribute(lua_State *L)
// get_attribute(self, attribute)
int ObjectRef::l_get_attribute(lua_State *L)
{
+ log_deprecated(L,
+ "Deprecated call to get_attribute, use MetaDataRef methods instead.");
+
ObjectRef *ref = checkobject(L, 1);
PlayerSAO* co = getplayersao(ref);
if (co == NULL)
@@ -1907,6 +1986,7 @@ luaL_Reg ObjectRef::methods[] = {
luamethod(ObjectRef, is_player_connected),
luamethod(ObjectRef, get_player_name),
luamethod(ObjectRef, get_player_velocity),
+ luamethod(ObjectRef, add_player_velocity),
luamethod(ObjectRef, get_look_dir),
luamethod(ObjectRef, get_look_pitch),
luamethod(ObjectRef, get_look_yaw),
@@ -1916,6 +1996,8 @@ luaL_Reg ObjectRef::methods[] = {
luamethod(ObjectRef, set_look_vertical),
luamethod(ObjectRef, set_look_yaw),
luamethod(ObjectRef, set_look_pitch),
+ luamethod(ObjectRef, get_fov),
+ luamethod(ObjectRef, set_fov),
luamethod(ObjectRef, get_breath),
luamethod(ObjectRef, set_breath),
luamethod(ObjectRef, get_attribute),
@@ -1951,5 +2033,6 @@ luaL_Reg ObjectRef::methods[] = {
luamethod(ObjectRef, get_local_animation),
luamethod(ObjectRef, set_eye_offset),
luamethod(ObjectRef, get_eye_offset),
+ luamethod(ObjectRef, send_mapblock),
{0,0}
};
diff --git a/src/script/lua_api/l_object.h b/src/script/lua_api/l_object.h
index c7d963d87..e817e1d33 100644
--- a/src/script/lua_api/l_object.h
+++ b/src/script/lua_api/l_object.h
@@ -212,6 +212,12 @@ private:
// get_player_velocity(self)
static int l_get_player_velocity(lua_State *L);
+ // add_player_velocity(self, {x=num, y=num, z=num})
+ static int l_add_player_velocity(lua_State *L);
+
+ // get_fov(self)
+ static int l_get_fov(lua_State *L);
+
// get_look_dir(self)
static int l_get_look_dir(lua_State *L);
@@ -229,6 +235,9 @@ private:
// get_look_yaw2(self)
static int l_get_look_horizontal(lua_State *L);
+ // set_fov(self, degrees, is_multiplier)
+ static int l_set_fov(lua_State *L);
+
// set_look_vertical(self, radians)
static int l_set_look_vertical(lua_State *L);
@@ -351,4 +360,6 @@ private:
// get_nametag_attributes(self)
static int l_get_nametag_attributes(lua_State *L);
+ // send_mapblock(pos)
+ static int l_send_mapblock(lua_State *L);
};
diff --git a/src/script/lua_api/l_server.cpp b/src/script/lua_api/l_server.cpp
index 6017a5475..7c083e652 100644
--- a/src/script/lua_api/l_server.cpp
+++ b/src/script/lua_api/l_server.cpp
@@ -233,6 +233,10 @@ int ModApiServer::l_get_player_information(lua_State *L)
lua_pushnumber(L, prot_vers);
lua_settable(L, table);
+ lua_pushstring(L, "formspec_version");
+ lua_pushnumber(L, player->formspec_version);
+ lua_settable(L, table);
+
#ifndef NDEBUG
lua_pushstring(L,"serialization_version");
lua_pushnumber(L, ser_vers);
diff --git a/src/script/lua_api/l_vmanip.cpp b/src/script/lua_api/l_vmanip.cpp
index c92983bd3..fd73d21d1 100644
--- a/src/script/lua_api/l_vmanip.cpp
+++ b/src/script/lua_api/l_vmanip.cpp
@@ -126,7 +126,7 @@ int LuaVoxelManip::l_write_to_map(lua_State *L)
for (const auto &modified_block : o->modified_blocks)
event.modified_blocks.insert(modified_block.first);
- map->dispatchEvent(&event);
+ map->dispatchEvent(event);
o->modified_blocks.clear();
return 0;
diff --git a/src/script/scripting_client.cpp b/src/script/scripting_client.cpp
index 86e5f2874..c3e0ca373 100644
--- a/src/script/scripting_client.cpp
+++ b/src/script/scripting_client.cpp
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "lua_api/l_client.h"
#include "lua_api/l_env.h"
#include "lua_api/l_item.h"
+#include "lua_api/l_itemstackmeta.h"
#include "lua_api/l_minimap.h"
#include "lua_api/l_modchannels.h"
#include "lua_api/l_particles_local.h"
@@ -67,6 +68,7 @@ ClientScripting::ClientScripting(Client *client):
void ClientScripting::InitializeModApi(lua_State *L, int top)
{
LuaItemStack::Register(L);
+ ItemStackMetaRef::Register(L);
StorageRef::Register(L);
LuaMinimap::Register(L);
NodeMetaRef::RegisterClient(L);
@@ -84,8 +86,7 @@ void ClientScripting::InitializeModApi(lua_State *L, int top)
void ClientScripting::on_client_ready(LocalPlayer *localplayer)
{
- lua_State *L = getStack();
- LuaLocalPlayer::create(L, localplayer);
+ LuaLocalPlayer::create(getStack(), localplayer);
}
void ClientScripting::on_camera_ready(Camera *camera)
diff --git a/src/serialization.cpp b/src/serialization.cpp
index ac6fc0db2..36ddb467c 100644
--- a/src/serialization.cpp
+++ b/src/serialization.cpp
@@ -20,9 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "serialization.h"
#include "util/serialize.h"
-#if defined(_WIN32) && !defined(WIN32_NO_ZLIB_WINAPI)
- #define ZLIB_WINAPI
-#endif
+
#include "zlib.h"
/* report a zlib or i/o error */
diff --git a/src/server.cpp b/src/server.cpp
index 172bb4744..4aa8375c8 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -220,6 +220,7 @@ Server::Server(
m_itemdef(createItemDefManager()),
m_nodedef(createNodeDefManager()),
m_craftdef(createCraftDefManager()),
+ m_thread(new ServerThread(this)),
m_uptime(0),
m_clients(m_con),
m_admin_chat(iface),
@@ -305,6 +306,11 @@ Server::~Server()
for (auto &detached_inventory : m_detached_inventories) {
delete detached_inventory.second;
}
+
+ while (!m_unsent_map_edit_queue.empty()) {
+ delete m_unsent_map_edit_queue.front();
+ m_unsent_map_edit_queue.pop();
+ }
}
void Server::init()
@@ -321,9 +327,6 @@ void Server::init()
if (!loadGameConfAndInitWorld(m_path_world, m_gamespec))
throw ServerError("Failed to initialize world");
- // Create server thread
- m_thread = new ServerThread(this);
-
// Create emerge manager
m_emerge = new EmergeManager(this);
@@ -472,7 +475,6 @@ void Server::step(float dtime)
void Server::AsyncRunStep(bool initial_step)
{
- g_profiler->add("Server::AsyncRunStep (num)", 1);
float dtime;
{
@@ -488,10 +490,7 @@ void Server::AsyncRunStep(bool initial_step)
if((dtime < 0.001) && !initial_step)
return;
- g_profiler->add("Server::AsyncRunStep with dtime (num)", 1);
-
- //infostream<<"Server steps "<<dtime<<std::endl;
- //infostream<<"Server::AsyncRunStep(): dtime="<<dtime<<std::endl;
+ ScopeProfiler sp(g_profiler, "Server::AsyncRunStep()", SPT_AVG);
{
MutexAutoLock lock1(m_step_dtime_mutex);
@@ -537,8 +536,6 @@ void Server::AsyncRunStep(bool initial_step)
}
m_env->reportMaxLagEstimate(max_lag);
// Step environment
- ScopeProfiler sp(g_profiler, "SEnv step");
- ScopeProfiler sp2(g_profiler, "SEnv step avg", SPT_AVG);
m_env->step(dtime);
}
@@ -628,124 +625,27 @@ void Server::AsyncRunStep(bool initial_step)
m_clients.lock();
const RemoteClientMap &clients = m_clients.getClientList();
- ScopeProfiler sp(g_profiler, "Server: checking added and deleted objs");
-
- // Radius inside which objects are active
- static thread_local const s16 radius =
- g_settings->getS16("active_object_send_range_blocks") * MAP_BLOCKSIZE;
-
- // Radius inside which players are active
- static thread_local const bool is_transfer_limited =
- g_settings->exists("unlimited_player_transfer_distance") &&
- !g_settings->getBool("unlimited_player_transfer_distance");
- static thread_local const s16 player_transfer_dist =
- g_settings->getS16("player_transfer_distance") * MAP_BLOCKSIZE;
- s16 player_radius = player_transfer_dist;
- if (player_radius == 0 && is_transfer_limited)
- player_radius = radius;
+ ScopeProfiler sp(g_profiler, "Server: update objects within range");
for (const auto &client_it : clients) {
RemoteClient *client = client_it.second;
- // If definitions and textures have not been sent, don't
- // send objects either
if (client->getState() < CS_DefinitionsSent)
continue;
- RemotePlayer *player = m_env->getPlayer(client->peer_id);
- if (!player) {
- // This can happen if the client timeouts somehow
+ // This can happen if the client times out somehow
+ if (!m_env->getPlayer(client->peer_id))
continue;
- }
- PlayerSAO *playersao = player->getPlayerSAO();
+ PlayerSAO *playersao = getPlayerSAO(client->peer_id);
if (!playersao)
continue;
- s16 my_radius = MYMIN(radius, playersao->getWantedRange() * MAP_BLOCKSIZE);
- if (my_radius <= 0) my_radius = radius;
- //infostream << "Server: Active Radius " << my_radius << std::endl;
-
- std::queue<u16> removed_objects;
- std::queue<u16> added_objects;
- m_env->getRemovedActiveObjects(playersao, my_radius, player_radius,
- client->m_known_objects, removed_objects);
- m_env->getAddedActiveObjects(playersao, my_radius, player_radius,
- client->m_known_objects, added_objects);
-
- // Ignore if nothing happened
- if (removed_objects.empty() && added_objects.empty()) {
- continue;
- }
-
- std::string data_buffer;
-
- char buf[4];
-
- // Handle removed objects
- writeU16((u8*)buf, removed_objects.size());
- data_buffer.append(buf, 2);
- while (!removed_objects.empty()) {
- // Get object
- u16 id = removed_objects.front();
- ServerActiveObject* obj = m_env->getActiveObject(id);
-
- // Add to data buffer for sending
- writeU16((u8*)buf, id);
- data_buffer.append(buf, 2);
-
- // Remove from known objects
- client->m_known_objects.erase(id);
-
- if(obj && obj->m_known_by_count > 0)
- obj->m_known_by_count--;
- removed_objects.pop();
- }
-
- // Handle added objects
- writeU16((u8*)buf, added_objects.size());
- data_buffer.append(buf, 2);
- while (!added_objects.empty()) {
- // Get object
- u16 id = added_objects.front();
- ServerActiveObject* obj = m_env->getActiveObject(id);
-
- // Get object type
- u8 type = ACTIVEOBJECT_TYPE_INVALID;
- if (!obj)
- warningstream << FUNCTION_NAME << ": NULL object" << std::endl;
- else
- type = obj->getSendType();
-
- // Add to data buffer for sending
- writeU16((u8*)buf, id);
- data_buffer.append(buf, 2);
- writeU8((u8*)buf, type);
- data_buffer.append(buf, 1);
-
- if(obj)
- data_buffer.append(serializeLongString(
- obj->getClientInitializationData(client->net_proto_version)));
- else
- data_buffer.append(serializeLongString(""));
-
- // Add to known objects
- client->m_known_objects.insert(id);
-
- if(obj)
- obj->m_known_by_count++;
-
- added_objects.pop();
- }
-
- u32 pktSize = SendActiveObjectRemoveAdd(client->peer_id, data_buffer);
- verbosestream << "Server: Sent object remove/add: "
- << removed_objects.size() << " removed, "
- << added_objects.size() << " added, "
- << "packet size is " << pktSize << std::endl;
+ SendActiveObjectRemoveAdd(client, playersao);
}
m_clients.unlock();
+ // Save mod storages if modified
m_mod_storage_save_timer -= dtime;
if (m_mod_storage_save_timer <= 0.0f) {
infostream << "Saving registered mod storages." << std::endl;
@@ -764,7 +664,7 @@ void Server::AsyncRunStep(bool initial_step)
*/
{
MutexAutoLock envlock(m_env_mutex);
- ScopeProfiler sp(g_profiler, "Server: sending object messages");
+ ScopeProfiler sp(g_profiler, "Server: send SAO messages");
// Key = object id
// Value = data sent by object
@@ -794,19 +694,33 @@ void Server::AsyncRunStep(bool initial_step)
// Route data to every client
for (const auto &client_it : clients) {
RemoteClient *client = client_it.second;
+ PlayerSAO *player = getPlayerSAO(client->peer_id);
std::string reliable_data;
std::string unreliable_data;
// Go through all objects in message buffer
for (const auto &buffered_message : buffered_messages) {
- // If object is not known by client, skip it
+ // If object does not exist or is not known by client, skip it
u16 id = buffered_message.first;
- if (client->m_known_objects.find(id) == client->m_known_objects.end())
+ ServerActiveObject *sao = m_env->getActiveObject(id);
+ if (!sao || client->m_known_objects.find(id) == client->m_known_objects.end())
continue;
// Get message list of object
std::vector<ActiveObjectMessage>* list = buffered_message.second;
// Go through every message
for (const ActiveObjectMessage &aom : *list) {
+ // Send position updates to players who do not see the attachment
+ if (aom.datastring[0] == GENERIC_CMD_UPDATE_POSITION) {
+ if (sao->getId() == player->getId())
+ continue;
+
+ // Do not send position updates for attached players
+ // as long the parent is known to the client
+ ServerActiveObject *parent = sao->getParent();
+ if (parent && client->m_known_objects.find(parent->getId()) !=
+ client->m_known_objects.end())
+ continue;
+ }
// Compose the full new data with header
std::string new_data;
// Add object id
@@ -974,7 +888,7 @@ void Server::AsyncRunStep(bool initial_step)
counter = 0.0;
MutexAutoLock lock(m_env_mutex);
- ScopeProfiler sp(g_profiler, "Server: saving stuff");
+ ScopeProfiler sp(g_profiler, "Server: map saving (sum)");
// Save ban file
if (m_banmanager->isModified()) {
@@ -1065,7 +979,7 @@ PlayerSAO* Server::StageTwoClientInit(session_t peer_id)
SendPlayerInventoryFormspec(peer_id);
// Send inventory
- SendInventory(playersao);
+ SendInventory(playersao, false);
// Send HP or death screen
if (playersao->isDead())
@@ -1097,9 +1011,9 @@ PlayerSAO* Server::StageTwoClientInit(session_t peer_id)
return playersao;
}
-inline void Server::handleCommand(NetworkPacket* pkt)
+inline void Server::handleCommand(NetworkPacket *pkt)
{
- const ToServerCommandHandler& opHandle = toServerCommandTable[pkt->getCommand()];
+ const ToServerCommandHandler &opHandle = toServerCommandTable[pkt->getCommand()];
(this->*opHandle.handler)(pkt);
}
@@ -1108,7 +1022,7 @@ void Server::ProcessData(NetworkPacket *pkt)
// Environment is locked first.
MutexAutoLock envlock(m_env_mutex);
- ScopeProfiler sp(g_profiler, "Server::ProcessData");
+ ScopeProfiler sp(g_profiler, "Server: Process network packet (sum)");
u32 peer_id = pkt->getPeerId();
try {
@@ -1195,12 +1109,12 @@ void Server::setTimeOfDay(u32 time)
m_time_of_day_send_timer = 0;
}
-void Server::onMapEditEvent(MapEditEvent *event)
+void Server::onMapEditEvent(const MapEditEvent &event)
{
- if (m_ignore_map_edit_events_area.contains(event->getArea()))
+ if (m_ignore_map_edit_events_area.contains(event.getArea()))
return;
- MapEditEvent *e = event->clone();
- m_unsent_map_edit_queue.push(e);
+
+ m_unsent_map_edit_queue.push(new MapEditEvent(event));
}
Inventory* Server::getInventory(const InventoryLocation &loc)
@@ -1242,26 +1156,22 @@ Inventory* Server::getInventory(const InventoryLocation &loc)
return NULL;
}
-void Server::setInventoryModified(const InventoryLocation &loc, bool playerSend)
+void Server::setInventoryModified(const InventoryLocation &loc)
{
switch(loc.type){
case InventoryLocation::UNDEFINED:
break;
case InventoryLocation::PLAYER:
{
- if (!playerSend)
- return;
RemotePlayer *player = m_env->getPlayer(loc.name.c_str());
if (!player)
return;
- PlayerSAO *playersao = player->getPlayerSAO();
- if(!playersao)
- return;
-
- SendInventory(playersao);
+ player->setModified(true);
+ player->inventory.setModified(true);
+ // Updates are sent in ServerEnvironment::step()
}
break;
case InventoryLocation::NODEMETA:
@@ -1269,12 +1179,12 @@ void Server::setInventoryModified(const InventoryLocation &loc, bool playerSend)
MapEditEvent event;
event.type = MEET_BLOCK_NODE_METADATA_CHANGED;
event.p = loc.p;
- m_env->getMap().dispatchEvent(&event);
+ m_env->getMap().dispatchEvent(event);
}
break;
case InventoryLocation::DETACHED:
{
- sendDetachedInventory(loc.name,PEER_ID_INEXISTENT);
+ // Updates are sent in ServerEnvironment::step()
}
break;
default:
@@ -1428,10 +1338,10 @@ void Server::SendMovement(session_t peer_id)
void Server::SendPlayerHPOrDie(PlayerSAO *playersao, const PlayerHPChangeReason &reason)
{
- if (!g_settings->getBool("enable_damage"))
+ if (playersao->isImmortal())
return;
- session_t peer_id = playersao->getPeerID();
+ session_t peer_id = playersao->getPeerID();
bool is_alive = playersao->getHP() > 0;
if (is_alive)
@@ -1535,21 +1445,27 @@ void Server::SendNodeDef(session_t peer_id,
Non-static send methods
*/
-void Server::SendInventory(PlayerSAO* playerSAO)
+void Server::SendInventory(PlayerSAO *sao, bool incremental)
{
- UpdateCrafting(playerSAO->getPlayer());
+ RemotePlayer *player = sao->getPlayer();
+
+ // Do not send new format to old clients
+ incremental &= player->protocol_version >= 38;
+
+ UpdateCrafting(player);
/*
Serialize it
*/
- NetworkPacket pkt(TOCLIENT_INVENTORY, 0, playerSAO->getPeerID());
-
- std::ostringstream os;
- playerSAO->getInventory()->serialize(os);
+ NetworkPacket pkt(TOCLIENT_INVENTORY, 0, sao->getPeerID());
- std::string s = os.str();
+ std::ostringstream os(std::ios::binary);
+ sao->getInventory()->serialize(os, incremental);
+ sao->getInventory()->setModified(false);
+ player->setModified(true);
+ const std::string &s = os.str();
pkt.putRawString(s.c_str(), s.size());
Send(&pkt);
}
@@ -1573,9 +1489,9 @@ void Server::SendChatMessage(session_t peer_id, const ChatMessage &message)
}
void Server::SendShowFormspecMessage(session_t peer_id, const std::string &formspec,
- const std::string &formname)
+ const std::string &formname)
{
- NetworkPacket pkt(TOCLIENT_SHOW_FORMSPEC, 0 , peer_id);
+ NetworkPacket pkt(TOCLIENT_SHOW_FORMSPEC, 0, peer_id);
if (formspec.empty()){
//the client should close the formspec
//but make sure there wasn't another one open in meantime
@@ -1586,7 +1502,7 @@ void Server::SendShowFormspecMessage(session_t peer_id, const std::string &forms
pkt.putLongString("");
} else {
m_formspec_state_data[peer_id] = formname;
- pkt.putLongString(FORMSPEC_VERSION_STRING + formspec);
+ pkt.putLongString(formspec);
}
pkt << formname;
@@ -1868,6 +1784,16 @@ void Server::SendMovePlayer(session_t peer_id)
Send(&pkt);
}
+void Server::SendPlayerFov(session_t peer_id)
+{
+ NetworkPacket pkt(TOCLIENT_FOV, 4 + 1, peer_id);
+
+ PlayerFovSpec fov_spec = m_env->getPlayer(peer_id)->getFov();
+ pkt << fov_spec.fov << fov_spec.is_multiplier;
+
+ Send(&pkt);
+}
+
void Server::SendLocalPlayerAnimations(session_t peer_id, v2s32 animation_frames[4],
f32 animation_speed)
{
@@ -1915,7 +1841,8 @@ void Server::SendPlayerInventoryFormspec(session_t peer_id)
return;
NetworkPacket pkt(TOCLIENT_INVENTORY_FORMSPEC, 0, peer_id);
- pkt.putLongString(FORMSPEC_VERSION_STRING + player->inventory_formspec);
+ pkt.putLongString(player->inventory_formspec);
+
Send(&pkt);
}
@@ -1927,16 +1854,107 @@ void Server::SendPlayerFormspecPrepend(session_t peer_id)
return;
NetworkPacket pkt(TOCLIENT_FORMSPEC_PREPEND, 0, peer_id);
- pkt << FORMSPEC_VERSION_STRING + player->formspec_prepend;
+ pkt << player->formspec_prepend;
Send(&pkt);
}
-u32 Server::SendActiveObjectRemoveAdd(session_t peer_id, const std::string &datas)
+void Server::SendActiveObjectRemoveAdd(RemoteClient *client, PlayerSAO *playersao)
{
- NetworkPacket pkt(TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD, datas.size(), peer_id);
- pkt.putRawString(datas.c_str(), datas.size());
+ // Radius inside which objects are active
+ static thread_local const s16 radius =
+ g_settings->getS16("active_object_send_range_blocks") * MAP_BLOCKSIZE;
+
+ // Radius inside which players are active
+ static thread_local const bool is_transfer_limited =
+ g_settings->exists("unlimited_player_transfer_distance") &&
+ !g_settings->getBool("unlimited_player_transfer_distance");
+
+ static thread_local const s16 player_transfer_dist =
+ g_settings->getS16("player_transfer_distance") * MAP_BLOCKSIZE;
+
+ s16 player_radius = player_transfer_dist == 0 && is_transfer_limited ?
+ radius : player_transfer_dist;
+
+ s16 my_radius = MYMIN(radius, playersao->getWantedRange() * MAP_BLOCKSIZE);
+ if (my_radius <= 0)
+ my_radius = radius;
+
+ std::queue<u16> removed_objects, added_objects;
+ m_env->getRemovedActiveObjects(playersao, my_radius, player_radius,
+ client->m_known_objects, removed_objects);
+ m_env->getAddedActiveObjects(playersao, my_radius, player_radius,
+ client->m_known_objects, added_objects);
+
+ int removed_count = removed_objects.size();
+ int added_count = added_objects.size();
+
+ if (removed_objects.empty() && added_objects.empty())
+ return;
+
+ char buf[4];
+ std::string data;
+
+ // Handle removed objects
+ writeU16((u8*)buf, removed_objects.size());
+ data.append(buf, 2);
+ while (!removed_objects.empty()) {
+ // Get object
+ u16 id = removed_objects.front();
+ ServerActiveObject* obj = m_env->getActiveObject(id);
+
+ // Add to data buffer for sending
+ writeU16((u8*)buf, id);
+ data.append(buf, 2);
+
+ // Remove from known objects
+ client->m_known_objects.erase(id);
+
+ if (obj && obj->m_known_by_count > 0)
+ obj->m_known_by_count--;
+
+ removed_objects.pop();
+ }
+
+ // Handle added objects
+ writeU16((u8*)buf, added_objects.size());
+ data.append(buf, 2);
+ while (!added_objects.empty()) {
+ // Get object
+ u16 id = added_objects.front();
+ ServerActiveObject *obj = m_env->getActiveObject(id);
+ added_objects.pop();
+
+ if (!obj) {
+ warningstream << FUNCTION_NAME << ": NULL object id="
+ << (int)id << std::endl;
+ continue;
+ }
+
+ // Get object type
+ u8 type = obj->getSendType();
+
+ // Add to data buffer for sending
+ writeU16((u8*)buf, id);
+ data.append(buf, 2);
+ writeU8((u8*)buf, type);
+ data.append(buf, 1);
+
+ data.append(serializeLongString(
+ obj->getClientInitializationData(client->net_proto_version)));
+
+ // Add to known objects
+ client->m_known_objects.insert(id);
+
+ obj->m_known_by_count++;
+ }
+
+ NetworkPacket pkt(TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD, data.size(), client->peer_id);
+ pkt.putRawString(data.c_str(), data.size());
Send(&pkt);
- return pkt.getSize();
+
+ verbosestream << "Server::SendActiveObjectRemoveAdd: "
+ << removed_count << " removed, " << added_count << " added, "
+ << "packet size is " << pkt.getSize() << std::endl;
}
void Server::SendActiveObjectMessages(session_t peer_id, const std::string &datas,
@@ -1960,6 +1978,13 @@ void Server::SendCSMRestrictionFlags(session_t peer_id)
Send(&pkt);
}
+void Server::SendPlayerSpeed(session_t peer_id, const v3f &added_vel)
+{
+ NetworkPacket pkt(TOCLIENT_PLAYER_SPEED, 0, peer_id);
+ pkt << added_vel;
+ Send(&pkt);
+}
+
s32 Server::playSound(const SimpleSoundSpec &spec,
const ServerSoundParams &params)
{
@@ -2253,14 +2278,12 @@ void Server::SendBlocks(float dtime)
MutexAutoLock envlock(m_env_mutex);
//TODO check if one big lock could be faster then multiple small ones
- ScopeProfiler sp(g_profiler, "Server: sel and send blocks to clients");
-
std::vector<PrioritySortedBlockTransfer> queue;
u32 total_sending = 0;
{
- ScopeProfiler sp2(g_profiler, "Server: selecting blocks for sending");
+ ScopeProfiler sp2(g_profiler, "Server::SendBlocks(): Collect list");
std::vector<session_t> clients = m_clients.getClientIDs();
@@ -2289,16 +2312,16 @@ void Server::SendBlocks(float dtime)
u32 max_blocks_to_send = (m_env->getPlayerCount() + g_settings->getU32("max_users")) *
g_settings->getU32("max_simultaneous_block_sends_per_client") / 4 + 1;
+ ScopeProfiler sp(g_profiler, "Server::SendBlocks(): Send to clients");
+ Map &map = m_env->getMap();
+
for (const PrioritySortedBlockTransfer &block_to_send : queue) {
if (total_sending >= max_blocks_to_send)
break;
- MapBlock *block = nullptr;
- try {
- block = m_env->getMap().getBlockNoCreate(block_to_send.pos);
- } catch (const InvalidPositionException &e) {
+ MapBlock *block = map.getBlockNoCreateNoEx(block_to_send.pos);
+ if (!block)
continue;
- }
RemoteClient *client = m_clients.lockedGetClientNoEx(block_to_send.peer_id,
CS_Active);
@@ -2314,6 +2337,25 @@ void Server::SendBlocks(float dtime)
m_clients.unlock();
}
+bool Server::SendBlock(session_t peer_id, const v3s16 &blockpos)
+{
+ MapBlock *block = m_env->getMap().getBlockNoCreateNoEx(blockpos);
+ if (!block)
+ return false;
+
+ m_clients.lock();
+ RemoteClient *client = m_clients.lockedGetClientNoEx(peer_id, CS_Active);
+ if (!client || client->isBlockSent(blockpos)) {
+ m_clients.unlock();
+ return false;
+ }
+ SendBlockNoLock(peer_id, block, client->serialization_version,
+ client->net_proto_version);
+ m_clients.unlock();
+
+ return true;
+}
+
void Server::fillMediaCache()
{
infostream<<"Server: Calculating media file checksums"<<std::endl;
@@ -2555,6 +2597,9 @@ void Server::sendDetachedInventory(const std::string &name, session_t peer_id)
player_it->second.empty()) {
// OK. Send to everyone
} else {
+ if (!m_env)
+ return; // Mods are not done loading
+
RemotePlayer *p = m_env->getPlayer(player_it->second.c_str());
if (!p)
return; // Player is offline
@@ -2576,8 +2621,9 @@ 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);
+ inv_it->second->setModified(false);
- std::string os_str = os.str();
+ const std::string &os_str = os.str();
pkt << static_cast<u16>(os_str.size()); // HACK: to keep compatibility with 5.0.0 clients
pkt.putRawString(os_str);
}
@@ -2588,11 +2634,16 @@ void Server::sendDetachedInventory(const std::string &name, session_t peer_id)
Send(&pkt);
}
-void Server::sendDetachedInventories(session_t peer_id)
+void Server::sendDetachedInventories(session_t peer_id, bool incremental)
{
for (const auto &detached_inventory : m_detached_inventories) {
const std::string &name = detached_inventory.first;
- //Inventory *inv = i->second;
+ if (incremental) {
+ Inventory *inv = detached_inventory.second;
+ if (!inv || !inv->checkModified())
+ continue;
+ }
+
sendDetachedInventory(name, peer_id);
}
}
@@ -2803,6 +2854,11 @@ void Server::UpdateCrafting(RemotePlayer *player)
if (!clist || clist->getSize() == 0)
return;
+ if (!clist->checkModified()) {
+ verbosestream << "Skip Server::UpdateCrafting(): list unmodified" << std::endl;
+ return;
+ }
+
// Get a preview for crafting
ItemStack preview;
InventoryLocation loc;
@@ -2843,28 +2899,28 @@ std::wstring Server::handleChat(const std::string &name, const std::wstring &wna
{
// If something goes wrong, this player is to blame
RollbackScopeActor rollback_scope(m_rollback,
- std::string("player:") + name);
+ std::string("player:") + name);
if (g_settings->getBool("strip_color_codes"))
wmessage = unescape_enriched(wmessage);
if (player) {
switch (player->canSendChatMessage()) {
- case RPLAYER_CHATRESULT_FLOODING: {
- std::wstringstream ws;
- ws << L"You cannot send more messages. You are limited to "
- << g_settings->getFloat("chat_message_limit_per_10sec")
- << L" messages per 10 seconds.";
- return ws.str();
- }
- case RPLAYER_CHATRESULT_KICK:
- DenyAccess_Legacy(player->getPeerId(),
- L"You have been kicked due to message flooding.");
- return L"";
- case RPLAYER_CHATRESULT_OK:
- break;
- default:
- FATAL_ERROR("Unhandled chat filtering result found.");
+ case RPLAYER_CHATRESULT_FLOODING: {
+ std::wstringstream ws;
+ ws << L"You cannot send more messages. You are limited to "
+ << g_settings->getFloat("chat_message_limit_per_10sec")
+ << L" messages per 10 seconds.";
+ return ws.str();
+ }
+ case RPLAYER_CHATRESULT_KICK:
+ DenyAccess_Legacy(player->getPeerId(),
+ L"You have been kicked due to message flooding.");
+ return L"";
+ case RPLAYER_CHATRESULT_OK:
+ break;
+ default:
+ FATAL_ERROR("Unhandled chat filtering result found.");
}
}
@@ -2892,10 +2948,8 @@ std::wstring Server::handleChat(const std::string &name, const std::wstring &wna
line += L"-!- You don't have permission to shout.";
broadcast_line = false;
} else {
- line += L"<";
- line += wname;
- line += L"> ";
- line += wmessage;
+ line += narrow_to_wide(m_script->formatChatMessage(name,
+ wide_to_narrow(wmessage)));
}
/*
@@ -3187,7 +3241,7 @@ bool Server::hudSetHotbarItemcount(RemotePlayer *player, s32 hotbar_itemcount)
return true;
}
-void Server::hudSetHotbarImage(RemotePlayer *player, std::string name)
+void Server::hudSetHotbarImage(RemotePlayer *player, const std::string &name)
{
if (!player)
return;
@@ -3196,7 +3250,7 @@ void Server::hudSetHotbarImage(RemotePlayer *player, std::string name)
SendHUDSetParam(player->getPeerId(), HUD_PARAM_HOTBAR_IMAGE, name);
}
-void Server::hudSetHotbarSelectedImage(RemotePlayer *player, std::string name)
+void Server::hudSetHotbarSelectedImage(RemotePlayer *player, const std::string &name)
{
if (!player)
return;
@@ -3352,7 +3406,9 @@ Inventory* Server::createDetachedInventory(const std::string &name, const std::s
Inventory *inv = new Inventory(m_itemdef);
sanity_check(inv);
m_detached_inventories[name] = inv;
- m_detached_inventories_player[name] = player;
+ if (!player.empty())
+ m_detached_inventories_player[name] = player;
+
//TODO find a better way to do this
sendDetachedInventory(name,PEER_ID_INEXISTENT);
return inv;
@@ -3367,6 +3423,9 @@ bool Server::removeDetachedInventory(const std::string &name)
delete inv_it->second;
m_detached_inventories.erase(inv_it);
+ if (!m_env) // Mods are not done loading
+ return true;
+
const auto &player_it = m_detached_inventories_player.find(name);
if (player_it != m_detached_inventories_player.end()) {
RemotePlayer *player = m_env->getPlayer(player_it->second.c_str());
@@ -3492,52 +3551,71 @@ v3f Server::findSpawnPos()
{
ServerMap &map = m_env->getServerMap();
v3f nodeposf;
- if (g_settings->getV3FNoEx("static_spawnpoint", nodeposf)) {
+ if (g_settings->getV3FNoEx("static_spawnpoint", nodeposf))
return nodeposf * BS;
- }
bool is_good = false;
// Limit spawn range to mapgen edges (determined by 'mapgen_limit')
s32 range_max = map.getMapgenParams()->getSpawnRangeMax();
// Try to find a good place a few times
- for(s32 i = 0; i < 4000 && !is_good; i++) {
+ for (s32 i = 0; i < 4000 && !is_good; i++) {
s32 range = MYMIN(1 + i, range_max);
// We're going to try to throw the player to this position
v2s16 nodepos2d = v2s16(
-range + (myrand() % (range * 2)),
-range + (myrand() % (range * 2)));
-
// Get spawn level at point
s16 spawn_level = m_emerge->getSpawnLevelAtPoint(nodepos2d);
- // Continue if MAX_MAP_GENERATION_LIMIT was returned by
- // the mapgen to signify an unsuitable spawn position
- if (spawn_level == MAX_MAP_GENERATION_LIMIT)
+ // Continue if MAX_MAP_GENERATION_LIMIT was returned by the mapgen to
+ // signify an unsuitable spawn position, or if outside limits.
+ if (spawn_level >= MAX_MAP_GENERATION_LIMIT ||
+ spawn_level <= -MAX_MAP_GENERATION_LIMIT)
continue;
v3s16 nodepos(nodepos2d.X, spawn_level, nodepos2d.Y);
-
+ // Consecutive empty nodes
s32 air_count = 0;
- for (s32 i = 0; i < 10; i++) {
+
+ // Search upwards from 'spawn level' for 2 consecutive empty nodes, to
+ // avoid obstructions in already-generated mapblocks.
+ // In ungenerated mapblocks consisting of 'ignore' nodes, there will be
+ // no obstructions, but mapgen decorations are generated after spawn so
+ // the player may end up inside one.
+ for (s32 i = 0; i < 8; i++) {
v3s16 blockpos = getNodeBlockPos(nodepos);
map.emergeBlock(blockpos, true);
- content_t c = map.getNodeNoEx(nodepos).getContent();
- if (c == CONTENT_AIR || c == CONTENT_IGNORE) {
+ content_t c = map.getNode(nodepos).getContent();
+
+ // In generated mapblocks allow spawn in all 'airlike' drawtype nodes.
+ // In ungenerated mapblocks allow spawn in 'ignore' nodes.
+ if (m_nodedef->get(c).drawtype == NDT_AIRLIKE || c == CONTENT_IGNORE) {
air_count++;
if (air_count >= 2) {
+ // Spawn in lower empty node
+ nodepos.Y--;
nodeposf = intToFloat(nodepos, BS);
// Don't spawn the player outside map boundaries
if (objectpos_over_limit(nodeposf))
- continue;
+ // Exit this loop, positions above are probably over limit
+ break;
+
+ // Good position found, cause an exit from main loop
is_good = true;
break;
}
+ } else {
+ air_count = 0;
}
nodepos.Y++;
}
}
- return nodeposf;
+ if (is_good)
+ return nodeposf;
+
+ // No suitable spawn point found, return fallback 0,0,0
+ return v3f(0.0f, 0.0f, 0.0f);
}
void Server::requestShutdown(const std::string &msg, bool reconnect, float delay)
@@ -3653,10 +3731,7 @@ void dedicated_server_loop(Server &server, bool &kill)
for(;;) {
// This is kind of a hack but can be done like this
// because server.step() is very light
- {
- ScopeProfiler sp(g_profiler, "dedicated server sleep");
- sleep_ms((int)(steplen*1000.0));
- }
+ sleep_ms((int)(steplen*1000.0));
server.step(steplen);
if (server.isShutdownRequested() || kill)
diff --git a/src/server.h b/src/server.h
index 0a3e48072..d61840871 100644
--- a/src/server.h
+++ b/src/server.h
@@ -189,13 +189,13 @@ public:
This is accessed by the map, which is inside the environment,
so it shouldn't be a problem.
*/
- void onMapEditEvent(MapEditEvent *event);
+ void onMapEditEvent(const MapEditEvent &event);
/*
Shall be called with the environment and the connection locked.
*/
Inventory* getInventory(const InventoryLocation &loc);
- void setInventoryModified(const InventoryLocation &loc, bool playerSend = true);
+ void setInventoryModified(const InventoryLocation &loc);
// Connection must be locked when called
std::wstring getStatusString();
@@ -296,8 +296,8 @@ public:
bool hudChange(RemotePlayer *player, u32 id, HudElementStat stat, void *value);
bool hudSetFlags(RemotePlayer *player, u32 flags, u32 mask);
bool hudSetHotbarItemcount(RemotePlayer *player, s32 hotbar_itemcount);
- void hudSetHotbarImage(RemotePlayer *player, std::string name);
- void hudSetHotbarSelectedImage(RemotePlayer *player, std::string name);
+ void hudSetHotbarImage(RemotePlayer *player, const std::string &name);
+ void hudSetHotbarSelectedImage(RemotePlayer *player, const std::string &name);
Address getPeerAddress(session_t peer_id);
@@ -333,8 +333,12 @@ public:
void SendPlayerHPOrDie(PlayerSAO *player, const PlayerHPChangeReason &reason);
void SendPlayerBreath(PlayerSAO *sao);
- void SendInventory(PlayerSAO* playerSAO);
+ void SendInventory(PlayerSAO *playerSAO, bool incremental);
void SendMovePlayer(session_t peer_id);
+ void SendPlayerSpeed(session_t peer_id, const v3f &added_vel);
+ void SendPlayerFov(session_t peer_id);
+
+ void sendDetachedInventories(session_t peer_id, bool incremental);
virtual bool registerModStorage(ModMetadata *storage);
virtual void unregisterModStorage(const std::string &name);
@@ -344,6 +348,9 @@ public:
bool sendModChannelMessage(const std::string &channel, const std::string &message);
ModChannel *getModChannel(const std::string &channel);
+ // Send block to specific player only
+ bool SendBlock(session_t peer_id, const v3s16 &blockpos);
+
// Bind address
Address m_bind_addr;
@@ -439,7 +446,6 @@ private:
const std::vector<std::string> &tosend);
void sendDetachedInventory(const std::string &name, session_t peer_id);
- void sendDetachedInventories(session_t peer_id);
// Adds a ParticleSpawner on peer with peer_id (PEER_ID_INEXISTENT == all)
void SendAddParticleSpawner(session_t peer_id, u16 protocol_version,
@@ -464,7 +470,7 @@ private:
bool vertical, const std::string &texture,
const struct TileAnimationParams &animation, u8 glow);
- u32 SendActiveObjectRemoveAdd(session_t peer_id, const std::string &datas);
+ void SendActiveObjectRemoveAdd(RemoteClient *client, PlayerSAO *playersao);
void SendActiveObjectMessages(session_t peer_id, const std::string &datas,
bool reliable = true);
void SendCSMRestrictionFlags(session_t peer_id);
@@ -477,7 +483,7 @@ private:
void RespawnPlayer(session_t peer_id);
void DeleteClient(session_t peer_id, ClientDeletionReason reason);
void UpdateCrafting(RemotePlayer *player);
- bool checkInteractDistance(RemotePlayer *player, const f32 d, const std::string what);
+ bool checkInteractDistance(RemotePlayer *player, const f32 d, const std::string &what);
void handleChatInterfaceEvent(ChatEvent *evt);
@@ -510,7 +516,6 @@ private:
/*
Variables
*/
-
// World directory
std::string m_path_world;
// Subgame specification
@@ -570,7 +575,6 @@ private:
/*
Threads
*/
-
// A buffer for time steps
// step() increments and AsyncRunStep() run by m_thread reads it.
float m_step_dtime = 0.0f;
@@ -585,14 +589,14 @@ private:
/*
Time related stuff
*/
-
// Timer for sending time of day over network
float m_time_of_day_send_timer = 0.0f;
// Uptime of server in seconds
MutexedVariable<double> m_uptime;
+
/*
- Client interface
- */
+ Client interface
+ */
ClientInterface m_clients;
/*
diff --git a/src/server/activeobjectmgr.cpp b/src/server/activeobjectmgr.cpp
index 56febd76e..984ae7794 100644
--- a/src/server/activeobjectmgr.cpp
+++ b/src/server/activeobjectmgr.cpp
@@ -44,8 +44,7 @@ void ActiveObjectMgr::clear(const std::function<bool(ServerActiveObject *, u16)>
void ActiveObjectMgr::step(
float dtime, const std::function<void(ServerActiveObject *)> &f)
{
- g_profiler->avg("Server::ActiveObjectMgr: num of objects",
- m_active_objects.size());
+ g_profiler->avg("ActiveObjectMgr: SAO count [#]", m_active_objects.size());
for (auto &ao_it : m_active_objects) {
f(ao_it.second);
}
@@ -115,11 +114,12 @@ void ActiveObjectMgr::removeObject(u16 id)
void ActiveObjectMgr::getObjectsInsideRadius(
const v3f &pos, float radius, std::vector<u16> &result)
{
+ float r2 = radius * radius;
for (auto &activeObject : m_active_objects) {
ServerActiveObject *obj = activeObject.second;
u16 id = activeObject.first;
const v3f &objectpos = obj->getBasePosition();
- if (objectpos.getDistanceFrom(pos) > radius)
+ if (objectpos.getDistanceFromSQ(pos) > r2)
continue;
result.push_back(id);
}
diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp
index 0a83c4a38..333d32ff5 100644
--- a/src/serverenvironment.cpp
+++ b/src/serverenvironment.cpp
@@ -384,6 +384,9 @@ void ActiveBlockList::update(std::vector<PlayerSAO*> &active_players,
ServerEnvironment
*/
+// Random device to seed pseudo random generators.
+static std::random_device seed;
+
ServerEnvironment::ServerEnvironment(ServerMap *map,
ServerScripting *scriptIface, Server *server,
const std::string &path_world):
@@ -391,7 +394,8 @@ ServerEnvironment::ServerEnvironment(ServerMap *map,
m_map(map),
m_script(scriptIface),
m_server(server),
- m_path_world(path_world)
+ m_path_world(path_world),
+ m_rgen(seed())
{
// Determine which database backend to use
std::string conf_path = path_world + DIR_DELIM + "world.mt";
@@ -546,7 +550,7 @@ bool ServerEnvironment::line_of_sight(v3f pos1, v3f pos2, v3s16 *p)
// Iterate trough nodes on the line
voxalgo::VoxelLineIterator iterator(pos1 / BS, (pos2 - pos1) / BS);
do {
- MapNode n = getMap().getNodeNoEx(iterator.m_current_node_pos);
+ MapNode n = getMap().getNode(iterator.m_current_node_pos);
// Return non-air
if (n.param0 != CONTENT_AIR) {
@@ -910,7 +914,7 @@ public:
c = n.getContent();
} else {
// otherwise consult the map
- MapNode n = map->getNodeNoEx(p1 + block->getPosRelative());
+ MapNode n = map->getNode(p1 + block->getPosRelative());
c = n.getContent();
}
if (CONTAINS(aabm.required_neighbors, c))
@@ -1004,7 +1008,7 @@ void ServerEnvironment::addLoadingBlockModifierDef(LoadingBlockModifierDef *lbm)
bool ServerEnvironment::setNode(v3s16 p, const MapNode &n)
{
const NodeDefManager *ndef = m_server->ndef();
- MapNode n_old = m_map->getNodeNoEx(p);
+ MapNode n_old = m_map->getNode(p);
const ContentFeatures &cf_old = ndef->get(n_old);
@@ -1037,7 +1041,7 @@ bool ServerEnvironment::setNode(v3s16 p, const MapNode &n)
bool ServerEnvironment::removeNode(v3s16 p)
{
const NodeDefManager *ndef = m_server->ndef();
- MapNode n_old = m_map->getNodeNoEx(p);
+ MapNode n_old = m_map->getNode(p);
// Call destructor
if (ndef->get(n_old).has_on_destruct)
@@ -1196,6 +1200,7 @@ void ServerEnvironment::clearObjects(ClearObjectsMode mode)
void ServerEnvironment::step(float dtime)
{
+ ScopeProfiler sp2(g_profiler, "ServerEnv::step()", SPT_AVG);
/* Step time of day */
stepTimeOfDay(dtime);
@@ -1220,7 +1225,7 @@ void ServerEnvironment::step(float dtime)
Handle players
*/
{
- ScopeProfiler sp(g_profiler, "SEnv: handle players avg", SPT_AVG);
+ ScopeProfiler sp(g_profiler, "ServerEnv: move players", SPT_AVG);
for (RemotePlayer *player : m_players) {
// Ignore disconnected players
if (player->getPeerId() == PEER_ID_INEXISTENT)
@@ -1235,7 +1240,7 @@ void ServerEnvironment::step(float dtime)
Manage active block list
*/
if (m_active_blocks_management_interval.step(dtime, m_cache_active_block_mgmt_interval)) {
- ScopeProfiler sp(g_profiler, "SEnv: manage act. block list avg per interval", SPT_AVG);
+ ScopeProfiler sp(g_profiler, "ServerEnv: update active blocks", SPT_AVG);
/*
Get player block positions
*/
@@ -1301,7 +1306,7 @@ void ServerEnvironment::step(float dtime)
Mess around in active blocks
*/
if (m_active_blocks_nodemetadata_interval.step(dtime, m_cache_nodetimer_interval)) {
- ScopeProfiler sp(g_profiler, "SEnv: mess in act. blocks avg per interval", SPT_AVG);
+ ScopeProfiler sp(g_profiler, "ServerEnv: Run node timers", SPT_AVG);
float dtime = m_cache_nodetimer_interval;
@@ -1338,47 +1343,56 @@ void ServerEnvironment::step(float dtime)
}
}
- if (m_active_block_modifier_interval.step(dtime, m_cache_abm_interval))
- do { // breakable
- if (m_active_block_interval_overload_skip > 0) {
- ScopeProfiler sp(g_profiler, "SEnv: ABM overload skips");
- m_active_block_interval_overload_skip--;
- break;
- }
- ScopeProfiler sp(g_profiler, "SEnv: modify in blocks avg per interval", SPT_AVG);
- TimeTaker timer("modify in active blocks per interval");
-
- // Initialize handling of ActiveBlockModifiers
- ABMHandler abmhandler(m_abms, m_cache_abm_interval, this, true);
-
- int blocks_scanned = 0;
- int abms_run = 0;
- int blocks_cached = 0;
- for (const v3s16 &p : m_active_blocks.m_abm_list) {
- MapBlock *block = m_map->getBlockNoCreateNoEx(p);
- if (!block)
- continue;
+ if (m_active_block_modifier_interval.step(dtime, m_cache_abm_interval)) {
+ ScopeProfiler sp(g_profiler, "SEnv: modify in blocks avg per interval", SPT_AVG);
+ TimeTaker timer("modify in active blocks per interval");
- // Set current time as timestamp
- block->setTimestampNoChangedFlag(m_game_time);
+ // Initialize handling of ActiveBlockModifiers
+ ABMHandler abmhandler(m_abms, m_cache_abm_interval, this, true);
- /* Handle ActiveBlockModifiers */
- abmhandler.apply(block, blocks_scanned, abms_run, blocks_cached);
- }
- g_profiler->avg("SEnv: active blocks", m_active_blocks.m_abm_list.size());
- g_profiler->avg("SEnv: active blocks cached", blocks_cached);
- g_profiler->avg("SEnv: active blocks scanned for ABMs", blocks_scanned);
- g_profiler->avg("SEnv: ABMs run", abms_run);
+ int blocks_scanned = 0;
+ int abms_run = 0;
+ int blocks_cached = 0;
+
+ std::vector<v3s16> output(m_active_blocks.m_abm_list.size());
+
+ // Shuffle the active blocks so that each block gets an equal chance
+ // of having its ABMs run.
+ std::copy(m_active_blocks.m_abm_list.begin(), m_active_blocks.m_abm_list.end(), output.begin());
+ std::shuffle(output.begin(), output.end(), m_rgen);
+
+ int i = 0;
+ // The time budget for ABMs is 20%.
+ u32 max_time_ms = m_cache_abm_interval * 1000 / 5;
+ for (const v3s16 &p : output) {
+ MapBlock *block = m_map->getBlockNoCreateNoEx(p);
+ if (!block)
+ continue;
+
+ i++;
+
+ // Set current time as timestamp
+ block->setTimestampNoChangedFlag(m_game_time);
+
+ /* Handle ActiveBlockModifiers */
+ abmhandler.apply(block, blocks_scanned, abms_run, blocks_cached);
+
+ u32 time_ms = timer.getTimerTime();
- u32 time_ms = timer.stop(true);
- u32 max_time_ms = 200;
if (time_ms > max_time_ms) {
- warningstream<<"active block modifiers took "
- <<time_ms<<"ms (longer than "
- <<max_time_ms<<"ms)"<<std::endl;
- m_active_block_interval_overload_skip = (time_ms / max_time_ms) + 1;
+ warningstream << "active block modifiers took "
+ << time_ms << "ms (processed " << i << " of "
+ << output.size() << " active blocks)" << std::endl;
+ break;
}
- }while(0);
+ }
+ g_profiler->avg("ServerEnv: active blocks", m_active_blocks.m_abm_list.size());
+ g_profiler->avg("ServerEnv: active blocks cached", blocks_cached);
+ g_profiler->avg("ServerEnv: active blocks scanned for ABMs", blocks_scanned);
+ g_profiler->avg("ServerEnv: ABMs run", abms_run);
+
+ timer.stop(true);
+ }
/*
Step script environment (run global on_step())
@@ -1389,7 +1403,7 @@ void ServerEnvironment::step(float dtime)
Step active objects
*/
{
- ScopeProfiler sp(g_profiler, "SEnv: step act. objs avg", SPT_AVG);
+ ScopeProfiler sp(g_profiler, "ServerEnv: Run SAO::step()", SPT_AVG);
// This helps the objects to send data at the same time
bool send_recommended = false;
@@ -1418,7 +1432,6 @@ void ServerEnvironment::step(float dtime)
Manage active objects
*/
if (m_object_management_interval.step(dtime, 0.5)) {
- ScopeProfiler sp(g_profiler, "SEnv: remove removed objs avg /.5s", SPT_AVG);
removeRemovedObjects();
}
@@ -1441,6 +1454,19 @@ void ServerEnvironment::step(float dtime)
++i;
}
}
+
+ // Send outdated player inventories
+ for (RemotePlayer *player : m_players) {
+ if (player->getPeerId() == PEER_ID_INEXISTENT)
+ continue;
+
+ PlayerSAO *sao = player->getPlayerSAO();
+ if (sao && player->inventory.checkModified())
+ m_server->SendInventory(sao, true);
+ }
+
+ // Send outdated detached inventories
+ m_server->sendDetachedInventories(PEER_ID_INEXISTENT, true);
}
u32 ServerEnvironment::addParticleSpawner(float exptime)
@@ -1673,6 +1699,8 @@ u16 ServerEnvironment::addActiveObjectRaw(ServerActiveObject *object,
*/
void ServerEnvironment::removeRemovedObjects()
{
+ ScopeProfiler sp(g_profiler, "ServerEnvironment::removeRemovedObjects()", SPT_AVG);
+
auto clear_cb = [this] (ServerActiveObject *obj, u16 id) {
// This shouldn't happen but check it
if (!obj) {
diff --git a/src/serverenvironment.h b/src/serverenvironment.h
index 77adcf627..cc4ecd797 100644
--- a/src/serverenvironment.h
+++ b/src/serverenvironment.h
@@ -26,6 +26,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "server/activeobjectmgr.h"
#include "util/numeric.h"
#include <set>
+#include <random>
class IGameDef;
class ServerMap;
@@ -446,7 +447,6 @@ private:
IntervalLimiter m_active_blocks_management_interval;
IntervalLimiter m_active_block_modifier_interval;
IntervalLimiter m_active_blocks_nodemetadata_interval;
- int m_active_block_interval_overload_skip = 0;
// Time from the beginning of the game in seconds.
// Incremented in step().
u32 m_game_time = 0;
@@ -470,6 +470,9 @@ private:
PlayerDatabase *m_player_database = nullptr;
AuthDatabase *m_auth_database = nullptr;
+ // Pseudo random generator for shuffling, etc.
+ std::mt19937 m_rgen;
+
// Particles
IntervalLimiter m_particle_management_interval;
std::unordered_map<u32, float> m_particle_spawners;
diff --git a/src/serverobject.cpp b/src/serverobject.cpp
index 4eebc0da4..1ed33f66b 100644
--- a/src/serverobject.cpp
+++ b/src/serverobject.cpp
@@ -68,25 +68,16 @@ float ServerActiveObject::getMinimumSavedMovement()
return 2.0*BS;
}
-ItemStack ServerActiveObject::getWieldedItem() const
+ItemStack ServerActiveObject::getWieldedItem(ItemStack *selected, ItemStack *hand) const
{
- const Inventory *inv = getInventory();
- if(inv)
- {
- const InventoryList *list = inv->getList(getWieldList());
- if(list && (getWieldIndex() < (s32)list->getSize()))
- return list->getItem(getWieldIndex());
- }
+ *selected = ItemStack();
+ if (hand)
+ *hand = ItemStack();
+
return ItemStack();
}
bool ServerActiveObject::setWieldedItem(const ItemStack &item)
{
- if(Inventory *inv = getInventory()) {
- if (InventoryList *list = inv->getList(getWieldList())) {
- list->changeItem(getWieldIndex(), item);
- return true;
- }
- }
return false;
}
diff --git a/src/serverobject.h b/src/serverobject.h
index 4a9430107..48689fcb4 100644
--- a/src/serverobject.h
+++ b/src/serverobject.h
@@ -133,10 +133,10 @@ public:
{return true;}
// Returns tool wear
- virtual int punch(v3f dir,
- const ToolCapabilities *toolcap=NULL,
- ServerActiveObject *puncher=NULL,
- float time_from_last_punch=1000000)
+ virtual u16 punch(v3f dir,
+ const ToolCapabilities *toolcap = nullptr,
+ ServerActiveObject *puncher = nullptr,
+ float time_from_last_punch = 1000000.0f)
{ return 0; }
virtual void rightClick(ServerActiveObject *clicker)
{}
@@ -147,7 +147,7 @@ public:
virtual void setArmorGroups(const ItemGroupList &armor_groups)
{}
- virtual const ItemGroupList &getArmorGroups()
+ virtual const ItemGroupList &getArmorGroups() const
{ static ItemGroupList rv; return rv; }
virtual void setPhysicsOverride(float physics_override_speed, float physics_override_jump, float physics_override_gravity)
{}
@@ -161,17 +161,7 @@ public:
{}
virtual void getBonePosition(const std::string &bone, v3f *position, v3f *lotation)
{}
- virtual void setAttachment(int parent_id, const std::string &bone, v3f position, v3f rotation)
- {}
- virtual void getAttachment(int *parent_id, std::string *bone, v3f *position, v3f *rotation)
- {}
- virtual void clearChildAttachments() {}
- virtual void clearParentAttachment() {}
- virtual void addAttachmentChild(int child_id)
- {}
- virtual void removeAttachmentChild(int child_id)
- {}
- virtual const std::unordered_set<int> &getAttachmentChildIds()
+ virtual const std::unordered_set<int> &getAttachmentChildIds() const
{ static std::unordered_set<int> rv; return rv; }
virtual ServerActiveObject *getParent() const { return nullptr; }
virtual ObjectProperties* accessObjectProperties()
@@ -180,9 +170,7 @@ public:
{}
// Inventory and wielded item
- virtual Inventory* getInventory()
- { return NULL; }
- virtual const Inventory* getInventory() const
+ virtual Inventory *getInventory() const
{ return NULL; }
virtual InventoryLocation getInventoryLocation() const
{ return InventoryLocation(); }
@@ -190,9 +178,10 @@ public:
{}
virtual std::string getWieldList() const
{ return ""; }
- virtual int getWieldIndex() const
+ virtual u16 getWieldIndex() const
{ return 0; }
- virtual ItemStack getWieldedItem() const;
+ virtual ItemStack getWieldedItem(ItemStack *selected,
+ ItemStack *hand = nullptr) const;
virtual bool setWieldedItem(const ItemStack &item);
inline void attachParticleSpawner(u32 id)
{
diff --git a/src/settings.cpp b/src/settings.cpp
index 66c17e12d..c1fe41fa3 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -69,7 +69,9 @@ Settings & Settings::operator = (const Settings &other)
bool Settings::checkNameValid(const std::string &name)
{
bool valid = name.find_first_of("=\"{}#") == std::string::npos;
- if (valid) valid = trim(name) == name;
+ if (valid)
+ valid = std::find_if(name.begin(), name.end(), ::isspace) == name.end();
+
if (!valid) {
errorstream << "Invalid setting name \"" << name << "\""
<< std::endl;
@@ -906,17 +908,20 @@ bool Settings::setNoiseParams(const std::string &name,
bool Settings::remove(const std::string &name)
{
- MutexAutoLock lock(m_mutex);
+ // Lock as short as possible, unlock before doCallbacks()
+ m_mutex.lock();
SettingEntries::iterator it = m_settings.find(name);
if (it != m_settings.end()) {
delete it->second.group;
m_settings.erase(it);
+ m_mutex.unlock();
doCallbacks(name);
return true;
}
+ m_mutex.unlock();
return false;
}
diff --git a/src/settings_translation_file.cpp b/src/settings_translation_file.cpp
index 9cc5c0f0e..eea045ae3 100644
--- a/src/settings_translation_file.cpp
+++ b/src/settings_translation_file.cpp
@@ -231,7 +231,7 @@ fake_function() {
gettext("FSAA");
gettext("Experimental option, might cause visible spaces between blocks\nwhen set to higher number than 0.");
gettext("Undersampling");
- gettext("Undersampling is similar to using lower screen resolution, but it applies\nto the game world only, keeping the GUI intact.\nIt should give significant performance boost at the cost of less detailed image.");
+ gettext("Undersampling is similar to using a lower screen resolution, but it applies\nto the game world only, keeping the GUI intact.\nIt should give a significant performance boost at the cost of less detailed image.\nHigher values result in a less detailed image.");
gettext("Shaders");
gettext("Shaders");
gettext("Shaders allow advanced visual effects and may increase performance on some video\ncards.\nThis only works with the OpenGL video backend.");
@@ -265,9 +265,9 @@ fake_function() {
gettext("Waving Nodes");
gettext("Waving water");
gettext("Set to true enables waving water.\nRequires shaders to be enabled.");
- gettext("Waving water height");
- gettext("Waving water length");
- gettext("Waving water speed");
+ gettext("Waving water wave height");
+ gettext("Waving water wavelength");
+ gettext("Waving water wave speed");
gettext("Waving leaves");
gettext("Set to true enables waving leaves.\nRequires shaders to be enabled.");
gettext("Waving plants");
@@ -283,8 +283,8 @@ fake_function() {
gettext("Open the pause menu when the window's focus is lost. Does not pause if a formspec is\nopen.");
gettext("Viewing range");
gettext("View distance in nodes.");
- gettext("Near plane");
- gettext("Camera near plane distance in nodes, between 0 and 0.5\nMost users will not need to change this.\nIncreasing can reduce artifacting on weaker GPUs.\n0.1 = Default, 0.25 = Good value for weaker tablets.");
+ gettext("Near clipping plane");
+ gettext("Camera 'near clipping plane' distance in nodes, between 0 and 0.5.\nMost users will not need to change this.\nIncreasing can reduce artifacting on weaker GPUs.\n0.1 = Default, 0.25 = Good value for weaker tablets.");
gettext("Screen width");
gettext("Width component of the initial window size.");
gettext("Screen height");
@@ -524,6 +524,8 @@ fake_function() {
gettext("If enabled, disable cheat prevention in multiplayer.");
gettext("Rollback recording");
gettext("If enabled, actions are recorded for rollback.\nThis option is only read when server starts.");
+ gettext("Chat message format");
+ gettext("Format of player chat messages. The following strings are valid placeholders:\n@name, @message, @timestamp (optional)");
gettext("Shutdown message");
gettext("A message to be displayed to all clients when the server shuts down.");
gettext("Crash message");
@@ -554,17 +556,29 @@ fake_function() {
gettext("Kick players who sent more than X messages per 10 seconds.");
gettext("Physics");
gettext("Default acceleration");
+ gettext("Horizontal and vertical acceleration on ground or when climbing,\nin nodes per second per second.");
gettext("Acceleration in air");
+ gettext("Horizontal acceleration in air when jumping or falling,\nin nodes per second per second.");
gettext("Fast mode acceleration");
+ gettext("Horizontal and vertical acceleration in fast mode,\nin nodes per second per second.");
gettext("Walking speed");
+ gettext("Walking and flying speed, in nodes per second.");
gettext("Sneaking speed");
+ gettext("Sneaking speed, in nodes per second.");
gettext("Fast mode speed");
+ gettext("Walking, flying and climbing speed in fast mode, in nodes per second.");
gettext("Climbing speed");
+ gettext("Vertical climbing speed, in nodes per second.");
gettext("Jumping speed");
+ gettext("Initial vertical speed when jumping, in nodes per second.");
gettext("Liquid fluidity");
+ gettext("Decrease this to increase liquid resistence to movement.");
gettext("Liquid fluidity smoothing");
- gettext("Liquid sinking speed");
+ gettext("Maximum liquid resistence. Controls deceleration when entering liquid at\nhigh speed.");
+ gettext("Liquid sinking");
+ gettext("Controls sinking speed in liquid.");
gettext("Gravity");
+ gettext("Acceleration of gravity, in nodes per second per second.");
gettext("Advanced");
gettext("Deprecated Lua API handling");
gettext("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).");
@@ -638,6 +652,8 @@ fake_function() {
gettext("Set the language. Leave empty to use the system language.\nA restart is required after changing this.");
gettext("Debug log level");
gettext("Level of logging to be written to debug.txt:\n- <nothing> (no logging)\n- none (messages with no level)\n- error\n- warning\n- action\n- info\n- verbose");
+ gettext("Debug log file size threshold");
+ gettext("If the file size of debug.txt exceeds the number of megabytes specified in\nthis setting when it is opened, the file is moved to debug.txt.1,\ndeleting an older debug.txt.1 if it exists.\ndebug.txt is only moved if this setting is positive.");
gettext("IPv6");
gettext("IPv6 support.");
gettext("Advanced");
@@ -657,7 +673,7 @@ fake_function() {
gettext("Print the engine's profiling data in regular intervals (in seconds).\n0 = disable. Useful for developers.");
gettext("Mapgen");
gettext("Mapgen name");
- gettext("Name of map generator to be used when creating a new world.\nCreating a world in the main menu will override this.\nCurrent stable mapgens:\nv5, v6, v7 (except floatlands), singlenode.\n'stable' means the terrain shape in an existing world will not be changed\nin the future. Note that biomes are defined by games and may still change.");
+ gettext("Name of map generator to be used when creating a new world.\nCreating a world in the main menu will override this.\nCurrent mapgens in a highly unstable state:\n- The optional floatlands of v7 (disabled by default).");
gettext("Water level");
gettext("Water surface level of the world.");
gettext("Max block generate distance");
@@ -666,8 +682,6 @@ fake_function() {
gettext("Limit of map generation, in nodes, in all 6 directions from (0, 0, 0).\nOnly mapchunks completely within the mapgen limit are generated.\nValue is stored per-world.");
gettext("Mapgen flags");
gettext("Global map generation attributes.\nIn Mapgen v6 the 'decorations' flag controls all decorations except trees\nand junglegrass, in all other mapgens this flag controls all decorations.");
- gettext("Projecting dungeons");
- gettext("Whether dungeons occasionally project from the terrain.");
gettext("Biome API temperature and humidity noise parameters");
gettext("Heat noise");
gettext("Temperature variation for biomes.");
@@ -685,7 +699,7 @@ fake_function() {
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
gettext("Lava depth");
- gettext("Y of upper limit of lava in large caves.");
+ gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
gettext("Cavern limit");
gettext("Y-level of cavern upper limit.");
gettext("Cavern taper");
@@ -711,11 +725,13 @@ fake_function() {
gettext("3D noise defining giant caverns.");
gettext("Ground noise");
gettext("3D noise defining terrain.");
+ gettext("Dungeon noise");
+ gettext("3D noise that determines number of dungeons per mapchunk.");
gettext("Mapgen V6");
gettext("Mapgen V6 specific flags");
- gettext("Map generation attributes specific to Mapgen v6.\nThe 'snowbiomes' flag enables the new 5 biome system.\nWhen the new biome system is enabled jungles are automatically enabled and\nthe 'jungles' flag is ignored.");
+ gettext("Map generation attributes specific to Mapgen v6.\nThe 'snowbiomes' flag enables the new 5 biome system.\nWhen the 'snowbiomes' flag is enabled jungles are automatically enabled and\nthe 'jungles' flag is ignored.");
gettext("Desert noise threshold");
- gettext("Deserts occur when np_biome exceeds this value.\nWhen the new biome system is enabled, this is ignored.");
+ gettext("Deserts occur when np_biome exceeds this value.\nWhen the 'snowbiomes' flag is enabled, this is ignored.");
gettext("Beach noise threshold");
gettext("Sandy beaches occur when np_beach exceeds this value.");
gettext("Dungeon minimum Y");
@@ -755,7 +771,7 @@ fake_function() {
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
gettext("Lava depth");
- gettext("Y of upper limit of lava in large caves.");
+ gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
gettext("Floatland mountain density");
gettext("Controls the density of mountain-type floatlands.\nIs a noise offset added to the 'mgv7_np_mountain' noise value.");
gettext("Floatland mountain height");
@@ -805,17 +821,25 @@ fake_function() {
gettext("First of two 3D noises that together define tunnels.");
gettext("Cave2 noise");
gettext("Second of two 3D noises that together define tunnels.");
+ gettext("Dungeon noise");
+ gettext("3D noise that determines number of dungeons per mapchunk.");
gettext("Mapgen Carpathian");
gettext("Mapgen Carpathian specific flags");
gettext("Map generation attributes specific to Mapgen Carpathian.");
gettext("Base ground level");
gettext("Defines the base ground level.");
+ gettext("River channel width");
+ gettext("Defines the width of the river channel.");
+ gettext("River channel depth");
+ gettext("Defines the depth of the river channel.");
+ gettext("River valley width");
+ gettext("Defines the width of the river valley.");
gettext("Cave width");
gettext("Controls width of tunnels, a smaller value creates wider tunnels.");
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
gettext("Lava depth");
- gettext("Y of upper limit of lava in large caves.");
+ gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
gettext("Cavern limit");
gettext("Y-level of cavern upper limit.");
gettext("Cavern taper");
@@ -849,6 +873,8 @@ fake_function() {
gettext("2D noise that controls the shape/size of ridged mountains.");
gettext("Step mountain size noise");
gettext("2D noise that controls the shape/size of step mountains.");
+ gettext("River noise");
+ gettext("2D noise that locates the river valleys and channels.");
gettext("Mountain variation noise");
gettext("3D noise for mountain overhangs, cliffs, etc. Usually small variations.");
gettext("Cave1 noise");
@@ -857,6 +883,8 @@ fake_function() {
gettext("Second of two 3D noises that together define tunnels.");
gettext("Cavern noise");
gettext("3D noise defining giant caverns.");
+ gettext("Dungeon noise");
+ gettext("3D noise that determines number of dungeons per mapchunk.");
gettext("Mapgen Flat");
gettext("Mapgen Flat specific flags");
gettext("Map generation attributes specific to Mapgen flat.\nOccasional lakes and hills can be added to the flat world.");
@@ -865,7 +893,7 @@ fake_function() {
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
gettext("Lava depth");
- gettext("Y of upper limit of lava in large caves.");
+ gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
gettext("Cave width");
gettext("Controls width of tunnels, a smaller value creates wider tunnels.");
gettext("Lake threshold");
@@ -889,13 +917,17 @@ fake_function() {
gettext("First of two 3D noises that together define tunnels.");
gettext("Cave2 noise");
gettext("Second of two 3D noises that together define tunnels.");
+ gettext("Dungeon noise");
+ gettext("3D noise that determines number of dungeons per mapchunk.");
gettext("Mapgen Fractal");
+ gettext("Mapgen Fractal specific flags");
+ gettext("Map generation attributes specific to Mapgen flat.\n'terrain' enables the generation of non-fractal terrain:\nocean, islands and underground.");
gettext("Cave width");
gettext("Controls width of tunnels, a smaller value creates wider tunnels.");
gettext("Large cave depth");
gettext("Y of upper limit of large caves.");
gettext("Lava depth");
- gettext("Y of upper limit of lava in large caves.");
+ gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
gettext("Dungeon minimum Y");
gettext("Lower Y limit of dungeons.");
gettext("Dungeon maximum Y");
@@ -927,6 +959,8 @@ fake_function() {
gettext("First of two 3D noises that together define tunnels.");
gettext("Cave2 noise");
gettext("Second of two 3D noises that together define tunnels.");
+ gettext("Dungeon noise");
+ gettext("3D noise that determines number of dungeons per mapchunk.");
gettext("Mapgen Valleys");
gettext("Mapgen Valleys specific flags");
gettext("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\nto become shallower and occasionally dry.\n'altitude_dry': Reduces humidity with altitude.");
@@ -935,7 +969,7 @@ fake_function() {
gettext("Large cave depth");
gettext("Depth below which you'll find large caves.");
gettext("Lava depth");
- gettext("Y of upper limit of lava in large caves.");
+ gettext("Deprecated, define and locate cave liquids using biome definitions instead.\nY of upper limit of lava in large caves.");
gettext("Cavern upper limit");
gettext("Depth below which you'll find giant caverns.");
gettext("Cavern taper");
@@ -973,6 +1007,8 @@ fake_function() {
gettext("Amplifies the valleys.");
gettext("Valley slope");
gettext("Slope and fill work together to modify the heights.");
+ gettext("Dungeon noise");
+ gettext("3D noise that determines number of dungeons per mapchunk.");
gettext("Advanced");
gettext("Chunk size");
gettext("Size of mapchunks generated by mapgen, stated in mapblocks (16 nodes).\nWARNING!: There is no benefit, and there are several dangers, in\nincreasing this value above 5.\nReducing this value increases cave and dungeon density.\nAltering this value is for special usage, leaving it unchanged is\nrecommended.");
@@ -985,7 +1021,7 @@ fake_function() {
gettext("Limit of emerge queues to generate");
gettext("Maximum number of blocks to be queued that are to be generated.\nSet to blank for an appropriate amount to be chosen automatically.");
gettext("Number of emerge threads");
- gettext("Number of emerge threads to use.\nEmpty or 0 value:\n- Automatic selection. The number of emerge threads will be\n- 'number of processors - 2', with a lower limit of 1.\nAny other value:\n- Specifies the number of emerge threads, with a lower limit of 1.\nWarning: Increasing the number of emerge threads increases engine mapgen\nspeed, but this may harm game performance by interfering with other\nprocesses, especially in singleplayer and/or when running Lua code in\n'on_generated'.\nFor many users the optimum setting may be '1'.");
+ gettext("Number of emerge threads to use.\nWARNING: 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\nstrongly recommended this value is set to the default '1'.\nValue 0:\n- Automatic selection. The number of emerge threads will be\n- 'number of processors - 2', with a lower limit of 1.\nAny other value:\n- Specifies the number of emerge threads, with a lower limit of 1.\nWARNING: Increasing the number of emerge threads increases engine mapgen\nspeed, but this may harm game performance by interfering with other\nprocesses, especially in singleplayer and/or when running Lua code in\n'on_generated'. For many users the optimum setting may be '1'.");
gettext("Online Content Repository");
gettext("ContentDB URL");
gettext("The URL for the content repository");
diff --git a/src/staticobject.cpp b/src/staticobject.cpp
index b331ac2f2..bebca12ec 100644
--- a/src/staticobject.cpp
+++ b/src/staticobject.cpp
@@ -77,6 +77,15 @@ void StaticObjectList::serialize(std::ostream &os)
}
void StaticObjectList::deSerialize(std::istream &is)
{
+ if (m_active.size()) {
+ errorstream << "StaticObjectList::deSerialize(): "
+ << "deserializing objects while " << m_active.size()
+ << " active objects already exist (not cleared). "
+ << m_stored.size() << " stored objects _were_ cleared"
+ << std::endl;
+ }
+ m_stored.clear();
+
// version
u8 version = readU8(is);
// count
diff --git a/src/tool.cpp b/src/tool.cpp
index becb574b0..d911c518f 100644
--- a/src/tool.cpp
+++ b/src/tool.cpp
@@ -18,6 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/
#include "tool.h"
+#include "itemdef.h"
#include "itemgroup.h"
#include "log.h"
#include "inventory.h"
@@ -55,7 +56,10 @@ void ToolGroupCap::fromJson(const Json::Value &json)
void ToolCapabilities::serialize(std::ostream &os, u16 protocol_version) const
{
- writeU8(os, 4); // protocol_version >= 37
+ if (protocol_version >= 38)
+ writeU8(os, 5);
+ else
+ writeU8(os, 4); // proto == 37
writeF32(os, full_punch_interval);
writeS16(os, max_drop_level);
writeU32(os, groupcaps.size());
@@ -78,6 +82,9 @@ void ToolCapabilities::serialize(std::ostream &os, u16 protocol_version) const
os << serializeString(damageGroup.first);
writeS16(os, damageGroup.second);
}
+
+ if (protocol_version >= 38)
+ writeU16(os, rangelim(punch_attack_uses, 0, U16_MAX));
}
void ToolCapabilities::deSerialize(std::istream &is)
@@ -110,6 +117,9 @@ void ToolCapabilities::deSerialize(std::istream &is)
s16 rating = readS16(is);
damageGroups[name] = rating;
}
+
+ if (version >= 5)
+ punch_attack_uses = readU16(is);
}
void ToolCapabilities::serializeJson(std::ostream &os) const
@@ -117,6 +127,7 @@ void ToolCapabilities::serializeJson(std::ostream &os) const
Json::Value root;
root["full_punch_interval"] = full_punch_interval;
root["max_drop_level"] = max_drop_level;
+ root["punch_attack_uses"] = punch_attack_uses;
Json::Value groupcaps_object;
for (auto groupcap : groupcaps) {
@@ -143,6 +154,8 @@ void ToolCapabilities::deserializeJson(std::istream &is)
full_punch_interval = root["full_punch_interval"].asFloat();
if (root["max_drop_level"].isInt())
max_drop_level = root["max_drop_level"].asInt();
+ if (root["punch_attack_uses"].isInt())
+ punch_attack_uses = root["punch_attack_uses"].asInt();
Json::Value &groupcaps_object = root["groupcaps"];
if (groupcaps_object.isObject()) {
@@ -172,14 +185,16 @@ void ToolCapabilities::deserializeJson(std::istream &is)
DigParams getDigParams(const ItemGroupList &groups,
const ToolCapabilities *tp)
{
- // Group dig_immediate has fixed time and no wear
- switch (itemgroup_get(groups, "dig_immediate")) {
- case 2:
- return DigParams(true, 0.5, 0, "dig_immediate");
- case 3:
- return DigParams(true, 0, 0, "dig_immediate");
- default:
- break;
+ // Group dig_immediate defaults to fixed time and no wear
+ if (tp->groupcaps.find("dig_immediate") == tp->groupcaps.cend()) {
+ switch (itemgroup_get(groups, "dig_immediate")) {
+ case 2:
+ return DigParams(true, 0.5, 0, "dig_immediate");
+ case 3:
+ return DigParams(true, 0, 0, "dig_immediate");
+ default:
+ break;
+ }
}
// Values to be returned (with a bit of conversion)
@@ -224,16 +239,20 @@ HitParams getHitParams(const ItemGroupList &armor_groups,
const ToolCapabilities *tp, float time_from_last_punch)
{
s16 damage = 0;
- float full_punch_interval = tp->full_punch_interval;
+ float result_wear = 0.0f;
+ float punch_interval_multiplier =
+ rangelim(time_from_last_punch / tp->full_punch_interval, 0.0f, 1.0f);
for (const auto &damageGroup : tp->damageGroups) {
s16 armor = itemgroup_get(armor_groups, damageGroup.first);
- damage += damageGroup.second
- * rangelim(time_from_last_punch / full_punch_interval, 0.0, 1.0)
- * armor / 100.0;
+ damage += damageGroup.second * punch_interval_multiplier * armor / 100.0;
}
- return {damage, 0};
+ if (tp->punch_attack_uses > 0)
+ result_wear = 1.0f / tp->punch_attack_uses * punch_interval_multiplier;
+
+ u16 wear_i = U16_MAX * result_wear;
+ return {damage, wear_i};
}
HitParams getHitParams(const ItemGroupList &armor_groups,
@@ -275,4 +294,16 @@ PunchDamageResult getPunchDamage(
return result;
}
+f32 getToolRange(const ItemDefinition &def_selected, const ItemDefinition &def_hand)
+{
+ float max_d = def_selected.range;
+ float max_d_hand = def_hand.range;
+
+ if (max_d < 0 && max_d_hand >= 0)
+ max_d = max_d_hand;
+ else if (max_d < 0)
+ max_d = 4.0f;
+
+ return max_d;
+}
diff --git a/src/tool.h b/src/tool.h
index 00fae4881..59dd501f5 100644
--- a/src/tool.h
+++ b/src/tool.h
@@ -25,6 +25,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "itemgroup.h"
#include <json/json.h>
+struct ItemDefinition;
+
struct ToolGroupCap
{
std::unordered_map<int, float> times;
@@ -58,17 +60,20 @@ struct ToolCapabilities
int max_drop_level;
ToolGCMap groupcaps;
DamageGroup damageGroups;
+ int punch_attack_uses;
ToolCapabilities(
- float full_punch_interval_=1.4,
- int max_drop_level_=1,
+ float full_punch_interval_ = 1.4f,
+ int max_drop_level_ = 1,
const ToolGCMap &groupcaps_ = ToolGCMap(),
- const DamageGroup &damageGroups_ = DamageGroup()
+ const DamageGroup &damageGroups_ = DamageGroup(),
+ int punch_attack_uses_ = 0
):
full_punch_interval(full_punch_interval_),
max_drop_level(max_drop_level_),
groupcaps(groupcaps_),
- damageGroups(damageGroups_)
+ damageGroups(damageGroups_),
+ punch_attack_uses(punch_attack_uses_)
{}
void serialize(std::ostream &os, u16 version) const;
@@ -101,9 +106,9 @@ DigParams getDigParams(const ItemGroupList &groups,
struct HitParams
{
s16 hp;
- s16 wear;
+ u16 wear;
- HitParams(s16 hp_=0, s16 wear_=0):
+ HitParams(s16 hp_ = 0, u16 wear_ = 0):
hp(hp_),
wear(wear_)
{}
@@ -132,3 +137,5 @@ PunchDamageResult getPunchDamage(
const ItemStack *punchitem,
float time_from_last_punch
);
+
+f32 getToolRange(const ItemDefinition &def_selected, const ItemDefinition &def_hand);
diff --git a/src/translation.cpp b/src/translation.cpp
index 7ddd95591..d17467ce7 100644
--- a/src/translation.cpp
+++ b/src/translation.cpp
@@ -149,6 +149,8 @@ void Translations::loadTranslation(const std::string &data)
<< wide_to_utf8(oword1) << "\"" << std::endl;
}
- m_translations[textdomain + L"|" + oword1] = oword2;
+ std::wstring translation_index = textdomain + L"|";
+ translation_index.append(oword1);
+ m_translations[translation_index] = oword2;
}
}
diff --git a/src/unittest/CMakeLists.txt b/src/unittest/CMakeLists.txt
index 71aa1fa56..82f9a4a13 100644
--- a/src/unittest/CMakeLists.txt
+++ b/src/unittest/CMakeLists.txt
@@ -10,6 +10,7 @@ set (UNITTEST_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/test_connection.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test_filepath.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test_inventory.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/test_irrptr.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test_map_settings_manager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test_mapnode.cpp
${CMAKE_CURRENT_SOURCE_DIR}/test_modchannels.cpp
diff --git a/src/unittest/test.cpp b/src/unittest/test.cpp
index 3ac8ffb19..a783ccd32 100644
--- a/src/unittest/test.cpp
+++ b/src/unittest/test.cpp
@@ -650,12 +650,12 @@ struct TestMapSector: public TestBase
// Create one with no heightmaps
ServerMapSector sector(&parent, v2s16(1,1));
- UASSERT(sector.getBlockNoCreateNoEx(0) == 0);
- UASSERT(sector.getBlockNoCreateNoEx(1) == 0);
+ UASSERT(sector.getBlockNoCreateNoEx(0) == nullptr);
+ UASSERT(sector.getBlockNoCreateNoEx(1) == nullptr);
MapBlock * bref = sector.createBlankBlock(-2);
- UASSERT(sector.getBlockNoCreateNoEx(0) == 0);
+ UASSERT(sector.getBlockNoCreateNoEx(0) == nullptr);
UASSERT(sector.getBlockNoCreateNoEx(-2) == bref);
//TODO: Check for AlreadyExistsException
diff --git a/src/unittest/test_areastore.cpp b/src/unittest/test_areastore.cpp
index 62d446f5c..691cd69d2 100644
--- a/src/unittest/test_areastore.cpp
+++ b/src/unittest/test_areastore.cpp
@@ -128,11 +128,11 @@ void TestAreaStore::testSerialization()
VectorAreaStore store;
Area a(v3s16(-1, 0, 1), v3s16(0, 1, 2));
- a.data = "Area A";
+ a.data = "Area AA";
store.insertArea(&a);
Area b(v3s16(123, 456, 789), v3s16(32000, 100, 10));
- b.data = "Area B";
+ b.data = "Area BB";
store.insertArea(&b);
std::ostringstream os;
@@ -143,20 +143,31 @@ void TestAreaStore::testSerialization()
"\x00\x02" // Count
"\xFF\xFF\x00\x00\x00\x01" // Area A min edge
"\x00\x00\x00\x01\x00\x02" // Area A max edge
- "\x00\x06" // Area A data length
- "Area A" // Area A data
+ "\x00\x07" // Area A data length
+ "Area AA" // Area A data
"\x00\x7B\x00\x64\x00\x0A" // Area B min edge (last two swapped with max edge for sorting)
"\x7D\x00\x01\xC8\x03\x15" // Area B max edge (^)
- "\x00\x06" // Area B data length
- "Area B", // Area B data
+ "\x00\x07" // Area B data length
+ "Area BB" // Area B data
+ "\x00\x00\x00\x00" // ID A = 0
+ "\x00\x00\x00\x01", // ID B = 1
1 + 2 +
- 6 + 6 + 2 + 6 +
- 6 + 6 + 2 + 6);
- UASSERTEQ(std::string, str, str_wanted);
+ (6 + 6 + 2 + 7) * 2 + // min/max edge, length, data
+ 2 * 4); // Area IDs
+
+ UASSERTEQ(const std::string &, str, str_wanted);
std::istringstream is(str);
store.deserialize(is);
- UASSERTEQ(size_t, store.size(), 4); // deserialize() doesn't clear the store
+ // deserialize() doesn't clear the store
+ // But existing IDs are overridden
+ UASSERTEQ(size_t, store.size(), 2);
+
+ Area c(v3s16(33, -2, -6), v3s16(4, 77, -76));
+ c.data = "Area CC";
+ store.insertArea(&c);
+
+ UASSERTEQ(u32, c.id, 2);
}
diff --git a/src/unittest/test_inventory.cpp b/src/unittest/test_inventory.cpp
index 1a783afae..5f71636c4 100644
--- a/src/unittest/test_inventory.cpp
+++ b/src/unittest/test_inventory.cpp
@@ -33,8 +33,9 @@ public:
void testSerializeDeserialize(IItemDefManager *idef);
- static const char *serialized_inventory;
- static const char *serialized_inventory_2;
+ static const char *serialized_inventory_in;
+ static const char *serialized_inventory_out;
+ static const char *serialized_inventory_inc;
};
static TestInventory g_test_instance;
@@ -49,7 +50,7 @@ void TestInventory::runTests(IGameDef *gamedef)
void TestInventory::testSerializeDeserialize(IItemDefManager *idef)
{
Inventory inv(idef);
- std::istringstream is(serialized_inventory, std::ios::binary);
+ std::istringstream is(serialized_inventory_in, std::ios::binary);
inv.deSerialize(is);
UASSERT(inv.getList("0"));
@@ -62,82 +63,64 @@ void TestInventory::testSerializeDeserialize(IItemDefManager *idef)
inv.getList("main")->setWidth(5);
std::ostringstream inv_os(std::ios::binary);
- inv.serialize(inv_os);
- UASSERTEQ(std::string, inv_os.str(), serialized_inventory_2);
+ inv.serialize(inv_os, false);
+ UASSERTEQ(std::string, inv_os.str(), serialized_inventory_out);
+
+ inv.setModified(false);
+ inv_os.str("");
+ inv_os.clear();
+ inv.serialize(inv_os, true);
+ UASSERTEQ(std::string, inv_os.str(), serialized_inventory_inc);
+
+ ItemStack leftover = inv.getList("main")->takeItem(7, 99 - 12);
+ ItemStack wanted = ItemStack("default:dirt", 99 - 12, 0, idef);
+ UASSERT(leftover == wanted);
+ leftover = inv.getList("main")->getItem(7);
+ wanted.count = 12;
+ UASSERT(leftover == wanted);
}
-const char *TestInventory::serialized_inventory =
- "List 0 32\n"
+const char *TestInventory::serialized_inventory_in =
+ "List 0 10\n"
"Width 3\n"
"Empty\n"
"Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
"Item default:cobble 61\n"
"Empty\n"
"Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
"Item default:dirt 71\n"
"Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
"Item default:dirt 99\n"
"Item default:cobble 38\n"
"Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
+ "EndInventoryList\n"
+ "List abc 1\n"
+ "Item default:stick 3\n"
+ "Width 0\n"
"EndInventoryList\n"
"EndInventory\n";
-const char *TestInventory::serialized_inventory_2 =
- "List main 32\n"
+const char *TestInventory::serialized_inventory_out =
+ "List main 10\n"
"Width 5\n"
"Empty\n"
"Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
"Item default:cobble 61\n"
"Empty\n"
"Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
"Item default:dirt 71\n"
"Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
"Item default:dirt 99\n"
"Item default:cobble 38\n"
"Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
- "Empty\n"
"EndInventoryList\n"
+ "List abc 1\n"
+ "Width 0\n"
+ "Item default:stick 3\n"
+ "EndInventoryList\n"
+ "EndInventory\n";
+
+const char *TestInventory::serialized_inventory_inc =
+ "KeepList main\n"
+ "KeepList abc\n"
"EndInventory\n";
diff --git a/src/unittest/test_irrptr.cpp b/src/unittest/test_irrptr.cpp
new file mode 100644
index 000000000..aa857ff46
--- /dev/null
+++ b/src/unittest/test_irrptr.cpp
@@ -0,0 +1,131 @@
+/*
+Minetest
+Copyright (C) 2018 numzero, Lobachevskiy Vitaliy <numzer0@yandex.ru>
+
+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.
+*/
+
+#include "test.h"
+
+#include "exceptions.h"
+#include "irr_ptr.h"
+
+class TestIrrPtr : public TestBase
+{
+public:
+ TestIrrPtr() { TestManager::registerTestModule(this); }
+ const char *getName() { return "TestIrrPtr"; }
+
+ void runTests(IGameDef *gamedef);
+
+ void testRefCounting();
+ void testSelfAssignment();
+ void testNullHandling();
+};
+
+static TestIrrPtr g_test_instance;
+
+void TestIrrPtr::runTests(IGameDef *gamedef)
+{
+ TEST(testRefCounting);
+ TEST(testSelfAssignment);
+ TEST(testNullHandling);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+#define UASSERT_REFERENCE_COUNT(object, value, info) \
+ UTEST((object)->getReferenceCount() == value, \
+ info "Reference count is %d instead of " #value, \
+ (object)->getReferenceCount())
+
+void TestIrrPtr::testRefCounting()
+{
+ IReferenceCounted *obj = new IReferenceCounted(); // RC=1
+ obj->grab();
+ UASSERT_REFERENCE_COUNT(obj, 2, "Pre-condition failed: ");
+ {
+ irr_ptr<IReferenceCounted> p1{obj}; // move semantics
+ UASSERT(p1.get() == obj);
+ UASSERT_REFERENCE_COUNT(obj, 2, );
+
+ irr_ptr<IReferenceCounted> p2{p1}; // copy ctor
+ UASSERT(p1.get() == obj);
+ UASSERT(p2.get() == obj);
+ UASSERT_REFERENCE_COUNT(obj, 3, );
+
+ irr_ptr<IReferenceCounted> p3{std::move(p1)}; // move ctor
+ UASSERT(p1.get() == nullptr);
+ UASSERT(p3.get() == obj);
+ UASSERT_REFERENCE_COUNT(obj, 3, );
+
+ p1 = std::move(p2); // move assignment
+ UASSERT(p1.get() == obj);
+ UASSERT(p2.get() == nullptr);
+ UASSERT_REFERENCE_COUNT(obj, 3, );
+
+ p2 = p3; // copy assignment
+ UASSERT(p2.get() == obj);
+ UASSERT(p3.get() == obj);
+ UASSERT_REFERENCE_COUNT(obj, 4, );
+
+ p1.release();
+ UASSERT(p1.get() == nullptr);
+ UASSERT_REFERENCE_COUNT(obj, 4, );
+ }
+ UASSERT_REFERENCE_COUNT(obj, 2, );
+ obj->drop();
+ UTEST(obj->drop(), "Dropping failed: reference count is %d",
+ obj->getReferenceCount());
+}
+
+void TestIrrPtr::testSelfAssignment()
+{
+ irr_ptr<IReferenceCounted> p1{new IReferenceCounted()};
+ UASSERT(p1);
+ UASSERT_REFERENCE_COUNT(p1, 1, );
+ p1 = p1;
+ UASSERT(p1);
+ UASSERT_REFERENCE_COUNT(p1, 1, );
+ p1 = std::move(p1);
+ UASSERT(p1);
+ UASSERT_REFERENCE_COUNT(p1, 1, );
+}
+
+void TestIrrPtr::testNullHandling()
+{
+ // In the case of an error, it will probably crash with SEGV.
+ // Nevertheless, UASSERTs are used to catch possible corner cases.
+ irr_ptr<IReferenceCounted> p1{new IReferenceCounted()};
+ UASSERT(p1);
+ irr_ptr<IReferenceCounted> p2;
+ UASSERT(!p2);
+ irr_ptr<IReferenceCounted> p3{p2};
+ UASSERT(!p2);
+ UASSERT(!p3);
+ irr_ptr<IReferenceCounted> p4{std::move(p2)};
+ UASSERT(!p2);
+ UASSERT(!p4);
+ p2 = p2;
+ UASSERT(!p2);
+ p2 = std::move(p2);
+ UASSERT(!p2);
+ p3 = p2;
+ UASSERT(!p2);
+ UASSERT(!p3);
+ p3 = std::move(p2);
+ UASSERT(!p2);
+ UASSERT(!p3);
+}
diff --git a/src/unittest/test_servermodmanager.cpp b/src/unittest/test_servermodmanager.cpp
index 72ac7c6bf..0757323f4 100644
--- a/src/unittest/test_servermodmanager.cpp
+++ b/src/unittest/test_servermodmanager.cpp
@@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "test.h"
#include <algorithm>
#include "server/mods.h"
+#include "settings.h"
#include "test_config.h"
class TestServerModManager : public TestBase
@@ -85,6 +86,10 @@ void TestServerModManager::runTests(IGameDef *gamedef)
void TestServerModManager::testCreation()
{
+ std::string path = std::string(TEST_WORLDDIR) + DIR_DELIM + "world.mt";
+ Settings world_config;
+ world_config.set("gameid", "minimal");
+ UASSERTEQ(bool, world_config.updateConfigFile(path.c_str()), true);
ServerModManager sm(TEST_WORLDDIR);
}
diff --git a/src/unittest/test_world/do_not_remove.txt b/src/unittest/test_world/do_not_remove.txt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/unittest/test_world/do_not_remove.txt
diff --git a/src/unittest/test_world/world.mt b/src/unittest/test_world/world.mt
deleted file mode 100644
index ab9b5413a..000000000
--- a/src/unittest/test_world/world.mt
+++ /dev/null
@@ -1 +0,0 @@
-gameid = minimal
diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt
index bf208693b..199d3aeaa 100644
--- a/src/util/CMakeLists.txt
+++ b/src/util/CMakeLists.txt
@@ -7,6 +7,7 @@ set(UTIL_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/ieee_float.cpp
${CMAKE_CURRENT_SOURCE_DIR}/numeric.cpp
${CMAKE_CURRENT_SOURCE_DIR}/pointedthing.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/quicktune.cpp
${CMAKE_CURRENT_SOURCE_DIR}/serialize.cpp
${CMAKE_CURRENT_SOURCE_DIR}/sha1.cpp
${CMAKE_CURRENT_SOURCE_DIR}/sha256.c
@@ -14,4 +15,3 @@ set(UTIL_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/srp.cpp
${CMAKE_CURRENT_SOURCE_DIR}/timetaker.cpp
PARENT_SCOPE)
-
diff --git a/src/util/areastore.cpp b/src/util/areastore.cpp
index 50d237bba..cea526336 100644
--- a/src/util/areastore.cpp
+++ b/src/util/areastore.cpp
@@ -64,6 +64,11 @@ const Area *AreaStore::getArea(u32 id) const
void AreaStore::serialize(std::ostream &os) const
{
+ // WARNING:
+ // Before 5.1.0-dev: version != 0 throws SerializationError
+ // After 5.1.0-dev: version >= 5 throws SerializationError
+ // Forwards-compatibility is assumed before version 5.
+
writeU8(os, 0); // Serialisation version
// TODO: Compression?
@@ -75,27 +80,41 @@ void AreaStore::serialize(std::ostream &os) const
writeU16(os, a.data.size());
os.write(a.data.data(), a.data.size());
}
+
+ // Serialize IDs
+ for (const auto &it : areas_map)
+ writeU32(os, it.second.id);
}
void AreaStore::deserialize(std::istream &is)
{
u8 ver = readU8(is);
- if (ver != 0)
+ // Assume forwards-compatibility before version 5
+ if (ver >= 5)
throw SerializationError("Unknown AreaStore "
"serialization version!");
u16 num_areas = readU16(is);
+ std::vector<Area> areas;
for (u32 i = 0; i < num_areas; ++i) {
- Area a;
+ 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);
- insertArea(&a);
+ areas.emplace_back(a);
delete [] data;
}
+
+ bool read_ids = is.good(); // EOF for old formats
+
+ for (auto &area : areas) {
+ if (read_ids)
+ area.id = readU32(is);
+ insertArea(&area);
+ }
}
void AreaStore::invalidateCache()
@@ -105,6 +124,19 @@ void AreaStore::invalidateCache()
}
}
+u32 AreaStore::getNextId() const
+{
+ u32 free_id = 0;
+ for (const auto &area : areas_map) {
+ if (area.first > free_id)
+ return free_id; // Found gap
+
+ free_id = area.first + 1;
+ }
+ // End of map
+ return free_id;
+}
+
void AreaStore::setCacheParams(bool enabled, u8 block_radius, size_t limit)
{
m_cache_enabled = enabled;
diff --git a/src/util/areastore.h b/src/util/areastore.h
index 24840210e..150a043db 100644
--- a/src/util/areastore.h
+++ b/src/util/areastore.h
@@ -37,15 +37,15 @@ with this program; if not, write to the Free Software Foundation, Inc.,
struct Area {
- Area() = default;
+ Area(u32 area_id) : id(area_id) {}
- Area(const v3s16 &mine, const v3s16 &maxe) :
- minedge(mine), maxedge(maxe)
+ Area(const v3s16 &mine, const v3s16 &maxe, u32 area_id = U32_MAX) :
+ id(area_id), minedge(mine), maxedge(maxe)
{
sortBoxVerticies(minedge, maxedge);
}
- u32 id = U32_MAX;
+ u32 id;
v3s16 minedge, maxedge;
std::string data;
};
@@ -109,7 +109,7 @@ protected:
virtual void getAreasForPosImpl(std::vector<Area *> *result, v3s16 pos) = 0;
/// Returns the next area ID and increments it.
- u32 getNextId() { return m_next_id++; }
+ u32 getNextId() const;
// Note: This can't be an unordered_map, since all
// references would be invalidated on rehash.
@@ -125,8 +125,6 @@ private:
/// If you modify this, call invalidateCache()
u8 m_cacheblock_radius = 64;
LRUCache<v3s16, std::vector<Area *> > m_res_cache;
-
- u32 m_next_id = 0;
};
diff --git a/src/util/hex.h b/src/util/hex.h
index df22539a5..708f33024 100644
--- a/src/util/hex.h
+++ b/src/util/hex.h
@@ -26,6 +26,8 @@ static const char hex_chars[] = "0123456789abcdef";
static inline std::string hex_encode(const char *data, unsigned int data_size)
{
std::string ret;
+ ret.reserve(data_size * 2);
+
char buf2[3];
buf2[2] = '\0';
diff --git a/src/quicktune.cpp b/src/util/quicktune.cpp
index 37d4933de..37d4933de 100644
--- a/src/quicktune.cpp
+++ b/src/util/quicktune.cpp
diff --git a/src/quicktune.h b/src/util/quicktune.h
index 1943d19c2..1943d19c2 100644
--- a/src/quicktune.h
+++ b/src/util/quicktune.h
diff --git a/src/quicktune_shortcutter.h b/src/util/quicktune_shortcutter.h
index 70a7b70b3..70a7b70b3 100644
--- a/src/quicktune_shortcutter.h
+++ b/src/util/quicktune_shortcutter.h
diff --git a/src/voxelalgorithms.cpp b/src/voxelalgorithms.cpp
index 1f3abf1be..62fd68890 100644
--- a/src/voxelalgorithms.cpp
+++ b/src/voxelalgorithms.cpp
@@ -529,7 +529,7 @@ void update_lighting_nodes(Map *map,
for (const v3s16 &neighbor_dir : neighbor_dirs) {
v3s16 p2 = p + neighbor_dir;
bool is_valid;
- MapNode n2 = map->getNodeNoEx(p2, &is_valid);
+ MapNode n2 = map->getNode(p2, &is_valid);
if (is_valid) {
u8 spread = n2.getLight(bank, ndef);
// If it is sure that the neighbor won't be
@@ -566,7 +566,7 @@ void update_lighting_nodes(Map *map,
MapNode n2;
- n2 = map->getNodeNoEx(n2pos, &is_valid_position);
+ n2 = map->getNode(n2pos, &is_valid_position);
if (!is_valid_position)
break;
@@ -598,7 +598,7 @@ void update_lighting_nodes(Map *map,
MapNode n2;
- n2 = map->getNodeNoEx(n2pos, &is_valid_position);
+ n2 = map->getNode(n2pos, &is_valid_position);
if (!is_valid_position)
break;
@@ -668,7 +668,7 @@ bool is_light_locally_correct(Map *map, const NodeDefManager *ndef,
LightBank bank, v3s16 pos)
{
bool is_valid_position;
- MapNode n = map->getNodeNoEx(pos, &is_valid_position);
+ MapNode n = map->getNode(pos, &is_valid_position);
const ContentFeatures &f = ndef->get(n);
if (f.param_type != CPT_LIGHT) {
return true;
@@ -677,7 +677,7 @@ bool is_light_locally_correct(Map *map, const NodeDefManager *ndef,
assert(f.light_source <= LIGHT_MAX);
u8 brightest_neighbor = f.light_source + 1;
for (const v3s16 &neighbor_dir : neighbor_dirs) {
- MapNode n2 = map->getNodeNoEx(pos + neighbor_dir,
+ MapNode n2 = map->getNode(pos + neighbor_dir,
&is_valid_position);
u8 light2 = n2.getLight(bank, ndef);
if (brightest_neighbor < light2) {
diff --git a/textures/base/pack/player.png b/textures/base/pack/player.png
new file mode 100644
index 000000000..6d61c4342
--- /dev/null
+++ b/textures/base/pack/player.png
Binary files differ
diff --git a/textures/base/pack/player_back.png b/textures/base/pack/player_back.png
new file mode 100644
index 000000000..5e9ef0542
--- /dev/null
+++ b/textures/base/pack/player_back.png
Binary files differ
diff --git a/util/buildbot/buildwin32.sh b/util/buildbot/buildwin32.sh
index 1478bc926..a57aa7f3c 100755
--- a/util/buildbot/buildwin32.sh
+++ b/util/buildbot/buildwin32.sh
@@ -1,6 +1,13 @@
#!/bin/bash
set -e
+CORE_GIT=https://github.com/minetest/minetest
+CORE_BRANCH=master
+CORE_NAME=minetest
+GAME_GIT=https://github.com/minetest/minetest_game
+GAME_BRANCH=master
+GAME_NAME=minetest_game
+
dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
if [ $# -ne 1 ]; then
echo "Usage: $0 <build directory>"
@@ -12,16 +19,27 @@ builddir="$( cd "$builddir" && pwd )"
packagedir=$builddir/packages
libdir=$builddir/libs
-toolchain_file=$dir/toolchain_mingw.cmake
+# Test which win32 compiler is present
+which i586-mingw32msvc-windres > /dev/null 2>&1 && toolchain_file=$dir/toolchain_i586-mingw32msvc.cmake
+which i686-w64-mingw32-windres > /dev/null 2>&1 && toolchain_file=$dir/toolchain_i646-w64-mingw32.cmake
+
+if [ -z "$toolchain_file" ]
+then
+ echo "Unable to determine which mingw32 compiler to use"
+ exit 1
+else
+ echo "Using $toolchain_file"
+fi
+
irrlicht_version=1.8.4
ogg_version=1.3.2
vorbis_version=1.3.5
-curl_version=7.54.0
+curl_version=7.65.3
gettext_version=0.19.8.1
-freetype_version=2.8
-sqlite3_version=3.19.2
+freetype_version=2.9.1
+sqlite3_version=3.27.2
luajit_version=2.1.0-beta3
-leveldb_version=1.19
+leveldb_version=1.20
zlib_version=1.2.11
mkdir -p $packagedir
@@ -70,22 +88,22 @@ cd $libdir
# Get minetest
cd $builddir
if [ ! "x$EXISTING_MINETEST_DIR" = "x" ]; then
- ln -s $EXISTING_MINETEST_DIR minetest
+ ln -s $EXISTING_MINETEST_DIR $CORE_NAME
else
- [ -d minetest ] && (cd minetest && git pull) || (git clone https://github.com/minetest/minetest)
+ [ -d $CORE_NAME ] && (cd $CORE_NAME && git pull) || (git clone -b $CORE_BRANCH $CORE_GIT)
fi
-cd minetest
+cd $CORE_NAME
git_hash=$(git rev-parse --short HEAD)
# Get minetest_game
cd games
if [ "x$NO_MINETEST_GAME" = "x" ]; then
- [ -d minetest_game ] && (cd minetest_game && git pull) || (git clone https://github.com/minetest/minetest_game)
+ [ -d $GAME_NAME ] && (cd $GAME_NAME && git pull) || (git clone -b $GAME_BRANCH $GAME_GIT)
fi
cd ../..
# Build the thing
-cd minetest
+cd $CORE_NAME
[ -d _build ] && rm -Rf _build/
mkdir _build
cd _build
@@ -149,7 +167,7 @@ cmake .. \
-DLEVELDB_LIBRARY=$libdir/leveldb/lib/libleveldb.dll.a \
-DLEVELDB_DLL=$libdir/leveldb/bin/libleveldb.dll
-make -j2
+make -j$(nproc)
[ "x$NO_PACKAGE" = "x" ] && make package
diff --git a/util/buildbot/buildwin64.sh b/util/buildbot/buildwin64.sh
index 81fbf43fa..92715fa64 100755
--- a/util/buildbot/buildwin64.sh
+++ b/util/buildbot/buildwin64.sh
@@ -1,6 +1,13 @@
#!/bin/bash
set -e
+CORE_GIT=https://github.com/minetest/minetest
+CORE_BRANCH=master
+CORE_NAME=minetest
+GAME_GIT=https://github.com/minetest/minetest_game
+GAME_BRANCH=master
+GAME_NAME=minetest_game
+
dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
if [ $# -ne 1 ]; then
echo "Usage: $0 <build directory>"
@@ -12,16 +19,16 @@ builddir="$( cd "$builddir" && pwd )"
packagedir=$builddir/packages
libdir=$builddir/libs
-toolchain_file=$dir/toolchain_mingw64.cmake
+toolchain_file=$dir/toolchain_x86_64-w64-mingw32.cmake
irrlicht_version=1.8.4
ogg_version=1.3.2
vorbis_version=1.3.5
-curl_version=7.54.0
+curl_version=7.65.3
gettext_version=0.19.8.1
-freetype_version=2.8
-sqlite3_version=3.19.2
+freetype_version=2.9.1
+sqlite3_version=3.27.2
luajit_version=2.1.0-beta3
-leveldb_version=1.19
+leveldb_version=1.20
zlib_version=1.2.11
mkdir -p $packagedir
@@ -71,22 +78,22 @@ cd $libdir
# Get minetest
cd $builddir
if [ ! "x$EXISTING_MINETEST_DIR" = "x" ]; then
- ln -s $EXISTING_MINETEST_DIR minetest
+ ln -s $EXISTING_MINETEST_DIR $CORE_NAME
else
- [ -d minetest ] && (cd minetest && git pull) || (git clone https://github.com/minetest/minetest)
+ [ -d $CORE_NAME ] && (cd $CORE_NAME && git pull) || (git clone -b $CORE_BRANCH $CORE_GIT)
fi
-cd minetest
+cd $CORE_NAME
git_hash=$(git rev-parse --short HEAD)
# Get minetest_game
cd games
if [ "x$NO_MINETEST_GAME" = "x" ]; then
- [ -d minetest_game ] && (cd minetest_game && git pull) || (git clone https://github.com/minetest/minetest_game)
+ [ -d $GAME_NAME ] && (cd $GAME_NAME && git pull) || (git clone -b $GAME_BRANCH $GAME_GIT)
fi
cd ../..
# Build the thing
-cd minetest
+cd $CORE_NAME
[ -d _build ] && rm -Rf _build/
mkdir _build
cd _build
@@ -150,7 +157,7 @@ cmake .. \
-DLEVELDB_LIBRARY=$libdir/leveldb/lib/libleveldb.dll.a \
-DLEVELDB_DLL=$libdir/leveldb/bin/libleveldb.dll
-make -j2
+make -j$(nproc)
[ "x$NO_PACKAGE" = "x" ] && make package
diff --git a/util/buildbot/toolchain_mingw.cmake b/util/buildbot/toolchain_i586-mingw32msvc.cmake
index 0eeefb84d..0eeefb84d 100644
--- a/util/buildbot/toolchain_mingw.cmake
+++ b/util/buildbot/toolchain_i586-mingw32msvc.cmake
diff --git a/util/buildbot/toolchain_i646-w64-mingw32.cmake b/util/buildbot/toolchain_i646-w64-mingw32.cmake
new file mode 100644
index 000000000..015baa210
--- /dev/null
+++ b/util/buildbot/toolchain_i646-w64-mingw32.cmake
@@ -0,0 +1,17 @@
+# name of the target operating system
+SET(CMAKE_SYSTEM_NAME Windows)
+
+# which compilers to use for C and C++
+SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
+SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
+SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
+
+# here is the target environment located
+SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32)
+
+# adjust the default behaviour of the FIND_XXX() commands:
+# search headers and libraries in the target environment, search
+# programs in the host environment
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
diff --git a/util/buildbot/toolchain_mingw64.cmake b/util/buildbot/toolchain_x86_64-w64-mingw32.cmake
index 9a7ed82d8..9a7ed82d8 100644
--- a/util/buildbot/toolchain_mingw64.cmake
+++ b/util/buildbot/toolchain_x86_64-w64-mingw32.cmake
diff --git a/util/travis/before_install.sh b/util/travis/before_install.sh
index 19c40ef90..fe9243583 100755
--- a/util/travis/before_install.sh
+++ b/util/travis/before_install.sh
@@ -4,14 +4,14 @@ echo "Preparing for $TRAVIS_COMMIT_RANGE"
. util/travis/common.sh
-if [[ "${LINT}" == "1" ]]; then
+if [[ ! -z "${CLANG_FORMAT}" ]]; then
exit 0
fi
needs_compile || exit 0
-if [[ $PLATFORM == "Unix" ]] || [[ $CLANG_TIDY == "1" ]]; then
- if [[ $TRAVIS_OS_NAME == "linux" ]] || [[ $CLANG_TIDY == "1" ]]; then
+if [[ $PLATFORM == "Unix" ]] || [[ ! -z "${CLANG_TIDY}" ]]; then
+ if [[ $TRAVIS_OS_NAME == "linux" ]] || [[ ! -z "${CLANG_TIDY}" ]]; then
install_linux_deps
else
install_macosx_deps
@@ -20,9 +20,7 @@ elif [[ $PLATFORM == "Win32" ]]; then
sudo apt-get update
sudo apt-get install p7zip-full
wget http://minetest.kitsunemimi.pw/mingw-w64-i686_7.1.1_ubuntu14.04.7z -O mingw.7z
- sed -e "s|%PREFIX%|i686-w64-mingw32|" \
- -e "s|%ROOTPATH%|/usr/i686-w64-mingw32|" \
- < util/travis/toolchain_mingw.cmake.in > util/buildbot/toolchain_mingw.cmake
+ # buildwin32.sh detects the installed toolchain automatically
sudo 7z x -y -o/usr mingw.7z
elif [[ $PLATFORM == "Win64" ]]; then
sudo apt-get update
diff --git a/util/travis/clang-format-whitelist.txt b/util/travis/clang-format-whitelist.txt
index e196daf73..0b36dcd57 100644
--- a/util/travis/clang-format-whitelist.txt
+++ b/util/travis/clang-format-whitelist.txt
@@ -155,6 +155,8 @@ src/genericobject.cpp
src/genericobject.h
src/gettext.cpp
src/gettext.h
+src/gui/guiButton.cpp
+src/gui/guiButton.h
src/gui/guiChatConsole.cpp
src/gui/guiChatConsole.h
src/gui/guiConfirmRegistration.cpp
@@ -169,6 +171,9 @@ src/gui/guiMainMenu.h
src/gui/guiPasswordChange.cpp
src/gui/guiPathSelectMenu.cpp
src/gui/guiPathSelectMenu.h
+src/gui/guiScrollBar.cpp
+src/gui/guiSkin.cpp
+src/gui/guiSkin.h
src/gui/guiTable.cpp
src/gui/guiTable.h
src/gui/guiVolumeChange.cpp
@@ -213,14 +218,14 @@ src/mapgen/cavegen.cpp
src/mapgen/cavegen.h
src/mapgen/dungeongen.cpp
src/mapgen/dungeongen.h
+src/mapgen/mapgen.cpp
+src/mapgen/mapgen.h
src/mapgen/mapgen_carpathian.cpp
src/mapgen/mapgen_carpathian.h
-src/mapgen/mapgen.cpp
src/mapgen/mapgen_flat.cpp
src/mapgen/mapgen_flat.h
src/mapgen/mapgen_fractal.cpp
src/mapgen/mapgen_fractal.h
-src/mapgen/mapgen.h
src/mapgen/mapgen_singlenode.cpp
src/mapgen/mapgen_singlenode.h
src/mapgen/mapgen_v5.cpp
@@ -291,9 +296,6 @@ src/porting_android.h
src/porting.cpp
src/porting.h
src/profiler.h
-src/quicktune.cpp
-src/quicktune.h
-src/quicktune_shortcutter.h
src/raycast.cpp
src/raycast.h
src/reflowscan.cpp
@@ -459,6 +461,9 @@ src/util/numeric.h
src/util/pointedthing.cpp
src/util/pointedthing.h
src/util/pointer.h
+src/util/quicktune.h
+src/util/quicktune_shortcutter.h
+src/util/quicktune.cpp
src/util/serialize.cpp
src/util/serialize.h
src/util/sha1.cpp
diff --git a/util/travis/clangtidy.sh b/util/travis/clangtidy.sh
index 7ed555693..5b00115c8 100755
--- a/util/travis/clangtidy.sh
+++ b/util/travis/clangtidy.sh
@@ -3,9 +3,7 @@
needs_compile || exit 0
-if hash clang-tidy-5.0 2>/dev/null; then
- CLANG_TIDY=clang-tidy-5.0
-else
+if [ -z "${CLANG_TIDY}" ]; then
CLANG_TIDY=clang-tidy
fi
diff --git a/util/travis/common.sh b/util/travis/common.sh
index 949540967..b4406866e 100644
--- a/util/travis/common.sh
+++ b/util/travis/common.sh
@@ -7,15 +7,15 @@ set_linux_compiler_env() {
elif [[ "${COMPILER}" == "gcc-6" ]]; then
export CC=gcc-6
export CXX=g++-6
- elif [[ "${COMPILER}" == "gcc-7" ]]; then
- export CC=gcc-7
- export CXX=g++-7
+ elif [[ "${COMPILER}" == "gcc-8" ]]; then
+ export CC=gcc-8
+ export CXX=g++-8
elif [[ "${COMPILER}" == "clang-3.6" ]]; then
export CC=clang-3.6
export CXX=clang++-3.6
- elif [[ "${COMPILER}" == "clang-5.0" ]]; then
- export CC=clang-5.0
- export CXX=clang++-5.0
+ elif [[ "${COMPILER}" == "clang-7" ]]; then
+ export CC=clang-7
+ export CXX=clang++-7
fi
}
diff --git a/util/travis/lint.sh b/util/travis/lint.sh
index 887e621f5..b3027c689 100644
--- a/util/travis/lint.sh
+++ b/util/travis/lint.sh
@@ -1,9 +1,7 @@
#! /bin/bash
function perform_lint() {
echo "Performing LINT..."
- if hash clang-format-5.0 2>/dev/null; then
- CLANG_FORMAT=clang-format-5.0
- else
+ if [ -z "${CLANG_FORMAT}" ]; then
CLANG_FORMAT=clang-format
fi
echo "LINT: Using binary $CLANG_FORMAT"
diff --git a/util/travis/script.sh b/util/travis/script.sh
index 32e8d2e36..19aa2fdf7 100755
--- a/util/travis/script.sh
+++ b/util/travis/script.sh
@@ -4,7 +4,7 @@
needs_compile || exit 0
-if [[ "$LINT" == "1" ]]; then
+if [[ ! -z "${CLANG_FORMAT}" ]]; then
# Lint and exit CI
perform_lint
exit 0